Recent and Notable
In May 2008, I received the Most Influential Paper Award for a paper that appeared at the 1998 International Conference on Software Engineering (ICSE), along with my co-authors Nenad Medvidovic and Richard N. Taylor. The award recognizes the paper with the most influence on theory or practice during the 10 years since its publication. Our original 1998 paper is available here:
We were invited to write a retrospective paper and present a talk at the 2008 ICSE conference. The paper and talk are available here:
In 2009, we elaborated on some of the ideas in our retrospective paper. The paper is available here:
Background
I received my doctorate in the area of software engineering, as a member of the Software Research Group (now the Institute for Software Research) at UC Irvine's Bren School of Information and Computer Sciences. My research was in the areas of dynamic software architectures and decentralized software evolution.
Here is a picture of our software group at the time (aka "The Dream Team"):
Left-to-right, standing: Peyman Oreizy, Yuzo Kanomata, Clay Cover, Dick Taylor, David Rosenblum, Neno Medvidovic, Elisabetta DiNitto (visiting from Politecnico di Milano), Joe Feise, Michele Rousseau, Shilpa Shukla, Peter Kammer, Ed Kraemer, Michael Kantor, John Doe, and Rohit Khare.
Seated, L-to-R: David Hilbert, Debi Brodbeck, Jason Robbins, Jim Whitehead, and Aileen Broccardo.
Absent: Greg Bolcer, Roy Fielding, Kari Nies, and David Redmiles
Dissertation
My dissertation, Open Architecture Software: A Flexible Approach to Decentralized Software Evolution, describes a novel way of constructing software systems that are easy for other developers to change. The crux of the technique is to expose the architectural model of a software system (i.e., its component parts, their interconnections, and the implementation mapping) as an explicit and malleable part of the software package. My dissertation also describes a framework for comparing similar techniques, including APIs, plug-ins, open-source, and event-based systems.
My dissertation committee members were Richard N. Taylor (chair, UC Irvine), David S. Rosenblum (University College London), and David Notkin (University of Washington).
In 2008, Roy Fielding (of REST fame) gave a really nice keynote talk that mentioned my dissertation work in the context of open-source software. You can watch a recording of the talk (video + slides), titled "Open Architecture". Roy's 2008 talk at OSCON, Open Architecture at REST, also mentions my dissertation work (Roy's OSCON slides).
My dissertation is available in PDF (30mb), gzipped (3.5mb), and zipped (3.5mb).
Papers and Talks
Recent History
Currently, I am Partner at Launch21, a software consultancy based in Seattle, with Alex Hopmann.
Before that, I worked at Microsoft Corp. on Windows. While there, I worked on communication and collaboration features for Windows Explorer (the file system browser, not the Web browser) and as the technical lead for the networking stack of Microsoft Max, a peer-to-peer file sharing application.
Before that, I worked at Endeavors Technologies with Michael Gorlick, Greg Bolcer, Art Hitomi, Clay Cover, Peter Kammer, and many others. While there, I worked on a dynamically reconfigurable HTTP server for handheld and embedded devices and a peer-to-peer search engine.
Before that, I co-founded KnowNow
with Rohit Khare
and Adam Rifkin. I built
the first dozen or so proof-of-concept demos and the initial prototypes of the client
and server platforms.
When I'm not working, I tinker with personal projects. Recently, I've been helping my wife build a website devoted to traveling with kids.