Archive for March, 2008

Herculean Development: How to develop BIG STUFF without the BIG MANPOWER

March 10, 2008 - 3:03 pm No Comments

When I was a kid, my mom always tried to feed me oatmeal. The brand of the concoction, to my six-year-old joy, was called Hercules. “Eat it — you’ll be strong like bear!” she said, and I obliged. Who doesn’t want to be like Hercules or a bear?

Big BearIn all their might, neither Hercules nor a big Bear could develop software. That doesn’t stop us from attributing their characteristics to styles of development. Big dynamic production website? Big, polished game? Sure! Throw twenty men at it and it’s no problem. But what if there’s only one man you can throw at a software project — your very own self? Will you be a Hercules of programming?

The one-man team is versatile. Without anyone telling you what to do and how to do it, you’re completely free to do what you want and do it the way you want it. And the way you want to do things is by cheating. Steal, lie, pillage — you’re Hercules, and no one can stop you. You’ll never match the manpower of big companies, so you’ll just have to steal code to get your way.

Open source makes it VERY CONVENIENT to steal. It’s even legal, completely ethical, but most importantly — encouraged! Take open source software, like Joomla: it’s a content management system that works out of the box without any configuration. You don’t even need to write a line of code to set up a basic dynamic website.

rail tracksI see many developers writing custom code when they don’t have to. It’s much easier to use an out of the box solution, then customize it, rather than writing EVERYTHING FROM SCRATCH! Before you write a single line of code in your next project: stop, drop, and roll. Break your site down into simple component parts. If you’re developing a video game in DirectX, look for libraries that manage the low level stuff (like Allegro that functions as a wrapper for OpenGL and DirectX). Then use the basic code and modify it to your needs. Development time will drop. Try looking for a “Rails” type of solution (Ruby on Rails, PHP on Trax and similar).

There is something to say about originality. In an essay on the English language, George Orwell remarked that idioms and phrases were regurgitated. There was no freshness, and language became stale and boring. In development, every line of code you don’t write is a line of originality that could have been revolutionary. It’s a scary future if all new code was simply a rehashing of old modules. It’s a fine line to walk between quick prototyping and prototypical code.

I guess it breaks down into one of those computer repair jokes.

Fast, Cheap, Quality: Pick two.

High Tech Recyclin’

March 4, 2008 - 6:38 pm 1 Comment

Green MapYou can tell a lot about a person by looking at his trash. Empty pizza boxes and beer cans? He likes to relax after work. Box from a new HDTV? He likes to watch movies.
I live in a small suburban town. There are pizza boxes in our trash. There are even more beer cans. We like to drive to school and work, and a pedestrian draws many a curious stare.

But the trash of many households is changing on a massive scale. Newspapers are bundled. Plastic bottles are in blue recycling bags. There is a garbage revolution going on in dumpsters!

But not enough people recycle. Our town has a youth commission — a group of students that are passionate about community service. This year the project was to encourage the town to recycle.

Any modern community activism program needs a digital component. Its just so much more convenient to sign a pledge online than to drive (and hypocritically pollute). The concept of the “Going Green” website is very interesting. Residents who sign a green pledge have their houses light up green (with google maps and geocoding). There’s also a very spiff “green meter” made using OpenFlashChart.

One piece of literature that was the basis of the project was “Community Based Social Marketing” by Doug McKenzie-Mohr. It’s an almost disturbing book that details marketing (which are borderline propaganda) tactics that are useful in coercing people to recycle. One of the concepts he discusses is conformity — when a resident sees the whole map littered with green houses, he feels that he’s the only one that isn’t recycling. The green meter is a very visual indicator of how many people (that aren’t you) are recycling. Were it for anything but recycling, these tactics would even seem a bit shady. But I guess shady works, because the site worked up 40 pledges during launch week.

Ironically, the web server that’s hosting the website today dumps around a ton of carbon dioxide into the atmosphere annually. Maybe the forty people that have signed the green pledge so far can redeem my recycling vows? Maybe not.

I guess I’m taking a shorter shower today.