Education
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
Experience
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.
- Sole designer and developer of novel system, Caja-CapTP (github.com/kpreid/caja-captp), a secure distributed object system written in JavaScript on the Caja platform using concepts and ported code from the E platform.
- 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.