Archive for December, 2007

Code’s Worst Enemy

Monday, December 31st, 2007

Steve Yegge has put up an insightful post on some of the issues with dealing with a large code base. Definitely worth a read.

I say my opinion is hard-won because people don’t really talk much about code base size; it’s not widely recognized as a problem. In fact it’s widely recognized as a non-problem. This means that anyone sharing my minority opinion is considered a borderline lunatic, since what rational person would rant against a non-problem?

People in the industry are very excited about various ideas that nominally help you deal with large code bases, such as IDEs that can manipulate code as “algebraic structures”, and search indexes, and so on. These people tend to view code bases much the way construction workers view dirt: they want great big machines that can move the dirt this way and that. There’s conservation of dirt at work: you can’t compress dirt, not much, so their solution set consists of various ways of shoveling the dirt around. There are even programming interview questions, surely metaphorical, about how you might go about moving an entire mountain of dirt, one truck at a time.

Industry programmers are excited about solutions to a big non-problem. It’s just a mountain of dirt, and you just need big tools to move it around. The tools are exciting but the dirt is not.

The Compleat Gamer Geek’s Guide to Futurama

Monday, December 24th, 2007

Wired’s Game|Life blog has just finished a series of articles on Futurama. Check them out for another look behind the scenes.

This week on Game|Life, Wired magazine senior editor Chris Baker took us through the crazy videogame-obsessed brains of the creators of Futurama, the geekiest show on television.

In case you missed any of the in-depth reports on how Futurama and games have and will continue to intersect, here is the complete set of links. Please waste your entire Friday reading them! I will.

Related:

Upgrading From Vista to XP

Sunday, December 16th, 2007

One user has written a pretty funny post on their experiences with Vista, and “upgrading” to XP. Based on reports like these, I’m glad I skipped the Vista upgrade cycle altogether and went straight to XP.

In addition, I have noticed that when performing complex tasks such as viewing large images, or updating large spreadsheets, instead of the whole operating system locking down for several seconds, it now just locks down the application I am working on, allowing me to <gasp> Alt-Tab to another application and work on that. I am thrilled that Microsoft decided to add preemptive multitasking to their operating system, and for this reason alone I would strongly urge you to upgrade to XP.

Book: Beautiful Code

Friday, December 7th, 2007


Beautiful Code: Leading Programmers Explain How They Think
edited by Andy Oram & Greg Wilson.
O’Reilly, 2007.

Beautiful Code is a collection of essays by master programmers, each discussing a piece of code or software architecture that they find particularly beautiful or elegant. The essays cover a wide range of topics and some will really challenge your understanding, but readers who put in the effort will be rewarded. This is an invaluable resource filled with practical wisdom from gurus, and pretty much all of the code is taken from software in actual use. This book is a must-read for any programmer, and could one day be regarded as a classic text on programming.

Rating: 9/10

Links:

Modelling the Sierpinski Triangle with Polymer Clay

Thursday, December 6th, 2007

Evil Mad Scientist Laboratories has an ingenious how-to on creating a clay model of a fractal known as a Sierpinski triangle.

Iterations 1-4

One of our favorite shapes is the Sierpinski triangle. In one sense, a mere mathematical abstraction, on the other, a pattern that naturally emerges in real life from several different simple algorithms. On paper, one can play the Chaos Game to generate the shape (or cheat and just use the java applet).

You can also generate a Sierpinski triangle in what is perhaps a more obvious way: by exploiting its fractal self-similarity.