[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