Bachelor of Science in Computer Science, May 2012. GPA: 3.903
Clarkson University, Potsdam, NY
Associate of Science in Computer Science, May 2010. GPA: 4.00
Mohawk Valley Community College, Utica, NY
Software Engineering Intern, Google — Summer 2011
- Worked with the Caja (github.com/google/caja) team to refactor the HTML DOM sandbox component into unprivileged code, improving security and making way for future improvements to the system.
Software Engineering Intern, Google — Summer 2010
Worked with the Caja (github.com/google/caja) team to improve the experience of Caja container authors:
- Wrote documentation including an architecture overview and explanation of previously undocumented/underdocumented APIs.
- Wrote new libraries to present simpler APIs, reducing the needed knowledge of Caja runtime architecture.
- Developed a Caja tutorial/demo site (caja-corkboard.appspot.com) using Python and Google App Engine.
- Entire system written using the Test-Driven Development method.
Developer, E Platform (erights.org) — 2003-present
E is a programming language designed to facilitate the creation of robust, secure, distributed software using the object-capability architecture and communicating-event-loops concurrency.
- Improved language design.
- Developed E-on-CL, an E implementation in Common Lisp.
- Contributed to the standard E implementation in Java.
- Developed applications written in E, including a distributed virtual world prototype and a multi-user programming environment for teaching and experimentation.
- Work with related projects such as Tahoe-LAFS (allmydata.org) and Caja (https://github.com/google/caja/).
Sole developer, MudWalker (mudwalker.cubik.org) — 2002-2005
An open source, Mac OS X, network client application primarily for text-based virtual worlds.
- Designed modular message-passing architecture for multi-protocol and plugin support.
- Embedded Lua interpreter for user-written scripts.
- Objective-C/Cocoa programming.
Additional projects and interests:
- Developed several OpenGL-based Mac OS X screen savers.
- Contributions to the Steel Bank Common Lisp (www.sbcl.org) open source project.
- Sharing knowledge through informal teaching and assistance, online and offline.
- Interests in: 3D graphics programming; event-driven programming; user-interface, information, and graphic design.
Other experience & interests
Peer Tutor, MVCC — Spring 2009-Spring 2010
Other interests: Photography; electronics; mathematics.
HTML (and XHTML),
Java (and AWT/Swing),
- Also some experience with:
AVR and PIC microcontrollers,
Google App Engine,
Bourne shell script,
Visual Basic .NET,
- Version control: CVS, Subversion, Git, Darcs;
- IDEs: Xcode, Emacs, Eclipse
- Build systems: Ant, Make
- Principles/techniques: Functional and object-oriented program design; test-driven development.
- Operating systems:
Mac OS X (much use, basic administration, programming);
Unix/Linux (use, programming);
Windows (use, some programming);
Android (much use, programming).