dinosaur As a born and bred, glasses-wearing child prodigy and nerd, my parents bringing home a soon-to-be obsolete Apple iiGS dinosaur that still sits in the family study. I spent countless hours forging the Oregon Trail and hunting Carmen Sandiego across the world, and making the most of the iiGS’s megabyte of memory, 5 1/4" floppy disk drive, and sixteen color monitor. The iiGS had a BASIC compiler hidden in its ProDOS guts, and I was thrilled to take control of the machine, writing my own scratchy versions of tic-tac-toe and Pong. Sure, I was no Brøderbund, but they were no six-year-old re-writing a program because he ran out of line numbers.

We kept the iiGS long after the ravages of time and Moore’s Law rendered it a footnote in the history of computing. Who needs a hard drive, anyway, we wondered? Or Prodigy? Society survived thousands of years without these inter-webs.

But upgrade we did, and the Performa didn’t have a magic keystroke to open programming environment. Also, I had discovered girls. Programming fell sharply on my list of priorities.

It was at Columbia when I rekindled my latent love of forcing computers to do tedious math. I had quite solid plans to study physics that went awry when it turned out that my brain and calculus don’t get along. I took Intro to Java to escape ordinary differential equations and linear algebra, and returned to teaching my computer tic-tac-toe and Pong.

Here are some experiments that I wrote and also some explication to help out other lost programmers struggling through similar algorithms. I know that I learned best by breaking down examples instead of muddling through pages of poorly-written API documentation. Please don’t copy my code and claim it as your own. Plaigarism makes Jesus cry.