Jonathan Tang's Corner of the Web


Hello and welcome to my homepage!

I'm a computer programmer and occasional entrepreneur. I graduated from Amherst College in 2005 with a BA in CS. I'm currently living in Boston, MA, but looking to move out to Silicon Valley. My professional interests include programming language design, user interface design & programming, and AJAX webapps.

From January 2007 to June 2008, I cofounded GameClay, a webapp to make your own casual games online. It failed to get off the ground, but I learned some valuable lessons, many of which I've put up for public consumption. Before that, I worked at a financial software startup, writing their development environment and a trade verification webapp.

I like to play around with small programs and libraries in my spare time, and this website provides a home for them. Many of these libraries were written for GameClay and open-sourced upon its demise; some of the others are things I've had up on my Amherst webspace for ages that I've finally moved over to a proper home.



A local filesystem wrapper that's API-compatible with Justin Azoff's MogileFS Python client. Intended for use as a development aid or mock object for MogileFS deployments, or for websites that don't know yet if they'll get big yet want to be able to scale up quickly.


Simple hashtable implementation in JavaScript. Supports keys/values/items methods and keys that conflict with method names.


A library for normalizing keycodes across browsers. Based on the article "JavaScript Madness: Keyboard Events" by Jan Wolter.


A quick pure-JavaScript Tetris clone, done in a few hours for a Programming Reddit challenge.


JavaScript port of Paul Graham's Arc programming language. Based on arc0.tar.

JQuery UI Combobox

A combobox widget built upon the JQuery UI infrastructure.


Python port of JSDoc.