Neologizer analyzes the structure of words in a given text and uses what it learns to make up new words. You may find a practical use for such neologizing (filler text, brand naming, etc.), but mostly it’s just fun.

Cipher Lesson
This is a simple, introductory programming lesson I designed for use with my daughter, who was about eight at the time. Each line is commented with a number corresponding to the steps outlined in the opening comment.

Key Painter
This is a fun little app I put together for Khan Academy that lets you paint with your mouse while selecting colors with your keyboard. Colors can be blended and adjusted in real time.

Phonological Features as Overlapping Elements
This is my contribution to Khan Academy’s linguistics section. Several methods of phonological analysis are illustrated in parallel, including my own system, which I developed while working on my master’s thesis.

My Dwitter feed hosts a variety of trippy canvas-based JavaScript animations, all 140 characters or less! (Don’t look here for good coding style though. It’s all about keeping under that character limit.)


This Practically Organic Language Learning Instrument is a command-line language acquisition simulator. The more input it receives, the better conversation it makes.