Coding Projects



While doing some research on William S. Burroughs for a short story, I came across this documentary on Brion Gysin’s Dreamachine, a sort of DIY flicker generator used for meditation with the potential to trigger hallucinations. So of course, I decided to make my own.


a still of an animated eye

I found myself wondering, What if instead of square pixels, we used the overlapping circles of the Flower of Life pattern? So I tried it. And it’s mesmerizing.

Making new animations is just a matter of dropping different images onto the page. It’ll work with any images of at least 78 by 75 pixels. Fine detail is lost, of course, but it’s a pretty cool effect, I’d say.


This is a work in progress. I have ideas for more variations, but for now it's sort of like Zen water painting with overlapping hexagons.


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.

Geometric Phoenician

This is a very simple, logical writing system I developed that corresponds to the original 22 sounds of the Phoenician (a.k.a. Old Hebrew, Proto-Sinaitic, etc.) alphabet. In my version, we have 20 consonants (with an implied neutral vowel) and two stand-alone vowels, so this is technically more of an abugida than a true alphabet. Anyhow, it looks cool as heck!

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

a screen shot of a key-painted character

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

a screen shot of the presentation

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.


a screen shot of a swirly animation

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.