This happens often enough that I feel I should hang the words above my doorway: “When all else fails, use Python instead.” Optional addition: “Like you should have in the first place.”

Around New Year’s, I wrote a little implementation of Conway’s Game of Life in jQuery. Why jQuery? For funsies. Unfortunately, after a few hours on a plane, the funsies went to a picnic, leaving me with manifest failure for poor decision-making skills. It’s not that javascript is incapable of building games; it’s just that it isn’t particularly well-suited to the task. Kind of like the way a spatula might not be the best tool for herding wild boar.

After learning that educational lesson, shaking my fists impotently, and returning to my lair to nurse my wounds, I decided it was time to approach the problem again. I won’t deny I was somewhat inspired by the recently-released online textbook Making Games with Python & Pygame. I had been eyeing the pygame library for a while (Python being one my favorite scripting languages), and this new resource offered a great opportunity to dive right in. Obviously, the imminent arrival of this term’s final exams played no part in the timing of this project.

Read More


Howdy. I’m in Russia. (Ok, not anymore, but I wrote most of this last week.)

I just wanted to get that out of the way, because I think it’s awesome and worthy of attention. Also, it explains why I haven’t been doing too much since around Christmas. I’ve been spending all my time between the opulent museums, palaces, & churches and hidden little corners of St. Petersburg. It’s fantastic and wonderful and I’m having the time of my life. I am not, however, accomplishing much on my computer.

That said, traveling is a mixed blessing when it comes to coding projects. Even though the art and history and architecture and LIFE of the city is distracting, I also spent a lot of time in planes and airports to get here. As it turns out, restricting oneself to 3x3x5 cube feet of space for 22 hours is pretty good incentive to write some programs — games, in this case — offline. Though I suppose Tetris would have been more appropriate given my destination, I used the journey to implement Conway’s Game of Life.

Read More