This was my entry for the Alist Apart 10k app. Basically I wanted something that used the canvas element to run some animation, some sort of game aspect to it, and something with fonts - so I bashed this together over the weekend (probably about 4 hours).
I also tried to compress it down to enter in the js1k game but failed and ended up with this gist which is 1558 bytes (and I think may be broken!).
None the less, the big thing I discovered is that shadows on the canvas really don’t perform well, in IE9pre3 (with hardware acceleration on the 2D API), it dropped from 60fps (without shadows) to 5fps (with shadows). Not good.