[This document is also available as PDF, DVI, and LATEX.]

Doug Orleans
882 Broadway #3R
Somerville, MA 02144

dougorleans@gmail.com
(978) 987-5084

Employment

Jun. 2009–present
Appleseed Software Consulting, Somerville, MA
Implemented web applications for clients using the Catalyst framework in Perl, along with MySQL, Template Toolkit, and FormFu.

Jan. 2005–Nov. 2007
Gensym Corporation, Burlington, MA
Member of the G2 Core development team. Maintained and added features to a 20-year-old codebase of over one million lines of Common Lisp. Designed and implemented client and server libraries for HTTP, SOAP, WSDL. Helped implement the G2 Graphical Language, based on WS-BPEL; developed automatic layout, XML import/export (using libxml2), and the compensation activity.

1996–2003
Research assistant, Northeastern University, Boston, MA
Member of Dr. Karl Lieberherr’s Demeter research team. Designed, implemented, and maintained DemeterJ, an extension to the Java language for adaptive programming (an early form of aspect-oriented programming). Later, took over development of DJ (Demeter in pure Java) and DAJ (Demeter for AspectJ) from MS student projects.

1992–1995
Software developer, Pure Software, Sunnyvale, CA
Member of the development team for Purify, a memory corruption and leak detection tool for C/C++ programs in Solaris. Worked on the reporting back-end, GUI, and common library code for Purify, PureLink, and PureCoverage products. (Pure Software merged with Rational Software in 1995, which is now part of IBM.)

Education

1995–2005
Ph.D. Computer Science, Northeastern University, Boston, MA
Designed and implemented the Socrates programming language (embedded in PLT Scheme), which unifies and generalizes object-oriented and aspect-oriented programming language mechanisms for separation of concerns using predicate dispatching and open classes.

1988–1992
B.A. Computer Science, University of California, Berkeley, CA
Member of the eXperimental Computing Facility (XCF). Re-implemented the Berkeley Logo interpreter as an explicit-control evaluator rather than a meta-circular evaluator.

Other Projects

2009–2010
Chugchanga-L Poll
Designed and implemented an Ajax application in Python, hosted on Google App Engine, to allow members of Chugchanga-L (a music discussion mailing list) to vote for their favorite music releases of the year. It uses the MusicBrainz XML web service to canonicalize votes by matching them to releases in the MusicBrainz database.

2006–present
Volity Games Network
Helped implement the Volity platform for multi-player online board games. Implemented a Jabber-RPC library in Java, and helped develop Gamut, the standalone SVG client Java application. Implemented a server (“parlor”) for a board game of my own design, Pylon, in Python. Took over maintenance and development of the Volity web client.

Profiles

Last modified: Sunday, June 13th, 2010 8:06:27pm