[This document is also available as PDF,
DVI, and LaTeX.]
Employment
-
- Jun. 2012–Feb. 2015
-
PayPal, Boston, MA
Tech lead for the team that developed Campaign Manager, a Ruby on
Rails web application used by internal customers for managing offers
and ads for demand generation.
-
- Dec. 2011–May 2012
-
MCNA Dental, Fort Lauderdale, FL
Developed and maintained various features of DentalTrac, a Ruby on
Rails web application used by the entire company for managing dental
insurance claims, subscribers, and providers.
- Jun. 2009–Dec. 2011
-
Appleseed Software Consulting,
Somerville, MA
As an offsite contract consultant, implemented web applications for
clients using the Catalyst framework in Perl, along with MySQL,
Template Toolkit, FormFu, and jQuery.
- Jul. 2010–Sep. 2010
-
Art+Culture Editions,
New York, NY
As an offsite contract consultant, helped implement an e-commerce web
application with Ruby on Rails and Spree.
- 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.
- 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.
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.
Last modified: Thurs, June 13, 2018, 11:09 am UTC−4