Nathan’s blog about software development, design and the people behind it.

Carrier has Arrived!

Written on October 8th, 2008

I would like to dedicate a post to my computer scientist friend, Josh Carrier. It was his Birthday yesterday; happy birthday Josh!

His brand new blog over at is fantastic; it details his work on many interesting and geeky subjects, including but not limited to: Robots, Linux, Artificial Intelligence and of course, Java. I wouldn’t be surprised to see Josh complete a skynet equivalent in the future (..without the apocalyptic tendencies, of course).

Speaking of Java; Josh is quite obsessive about Java. As a computer language guy myself, I find this to be a good thing (what can I say, Java is awesome). Josh uses Java for many of his projects, one of which included solving a complex tetris cube using the awesome power of distributed computing.

The distributed computing project was born one evening after Josh and his roommate purchased one of the tetris cubes and attempted to solve it by hand. The tetris cube puzzle itself is quite complex; before you even crack open the package, it challenges you with a slogan like “9,839 solutions, we dare you to find one!”.

After many days of trying to solve the cube, Josh became inspired to build a distributed computing system to help. He went on to build a solving client, and a central server (which worked with the clients, collecting stats and managing workloads). Running these clients on any processing power he could spare, he also enlisted the help of a number of his willing colleagues, myself included.

Leveraging my new dual-core, I joined “the collective” (as Josh liked to call it). A number of days, and a few billion iterations later, the group of about a dozen computers, using Josh’s software, solved the tetris cube. Interestingly enough, it was my own AMD Athlon 64 X2 5000+ (absolutely shameless plug for AMD) which ended up finding the first solution to the puzzle. It was certainly a fun project to be involved with.

Congratulations to Josh on his new blog; I find it excellent how our humble network of geek blogs is gaining more momentum every day.

Posted in Java, People, Programming

Dryw Paulic, John Carmack, and Game Development

Written on September 11th, 2008

id Software logo

First I’d like to give a shout out to my colleague and longtime friend Dryw Paulic and his new blog over at I think it’s great how our humble network of geek blogs is growing.

Over the past few days I’ve been slowly returning to my roots as an active game developer. This move was triggered by a Flash game project I was contracted to work on recently.

I’ve always found the world of game development as fascinating. The field attracts many different kinds of people, including a wide variety of creative and innovative types.

One of my favorite people in the game industry is John Carmack. For those who do not know him, he is the founder of id Software and inventor of one of the greatest game series known to man: Quake. He shares many of my own design philosophies, such as elegance in simplicity and ease of understanding. One perfect example of this is his Quake III networking model (a must-read for anyone designing or currently producing a realtime networked game).

Earlier this week I was watching a number of Carmack’s keynotes on Google Video. This man is passionate about what he does and has a lot of great ideas. For the most part, I find his presentations and writing very applicable and entertaining from a game developer point of view; I wholeheartedly recommend checking them out if you are seasoned or aspiring game developer.

Here’s a clip from his QuakeCon 2006 Keynote:

Part 2, Part 3, Part 4, Part 5

Posted in Game Industry, People