Before joining VMware in January 2007, I was Assistant Professor in the Department of Computer and Information Science at the University of Pennsylvania in Philadelphia. My projects there included the Dynamic Instruction Stream Editor (DISE), Unrestricted Transactional Memory, and SMART C.
I was a graduate student in the Department of Computer Science and Engineering at the University of Washington in Seattle until 2001. I worked on languages and compilers for parallel computing, and designed (with a great team) the A-ZPL language and built its first compiler.
As an undergraduate at Cornell University, I worked with John Hopcroft and Daniela Rus on problems of information extraction.
Please see my research page for details and publications. My teaching page summarizes my teaching interests, experience, and accomplishments. My CV is also a fun read!
I'm not entirely sure where I'm "from." Over the years I've lived in many different places, including New York, Massachusetts, Pennsylvania, Vermont, North Carolina, New York (again), Washington state, Pennsylvania (again), and California. I hope to decelerate this rate of change. My places page has details about all these locales.
I used to have broad non-professional interests and hobbies. Now it's hard to find the time. I recall loving to play the guitar, sailing, reading, contemplating historiography, and knitting (yes, knitting). I hope to reintroduce myself to all of these (and other spicy diversions) in the near future.