Kurt McKee

lessons learned in production


Hey there! This article was written in 2007.

It might not have aged well for any number of reasons, so keep that in mind when reading (or clicking outgoing links!).


Posted 24 October 2007 in renquist

I have been having a blast working on my feed software idea. I've been trying to apply good programming practices throughout, and although I have very little functional code, I do have some architectural code in place.

As an example, I've got some code in place for using the Decorator Pattern. Basically, a plugin can define new functionality and data structures that can be wrapped around feed items. Thus, while regular feed items contain information like "This article was posted on October 20th, 2007 by Kurt ", a decorator might add additional information: "...and is currently unread ". It looks like this will be mostly transparent to all of the other code (as it should be!), because later today I'm expecting to tinker with implementing the Factory Pattern. The Factory Pattern lets all of the rest of the code be ignorant of the existence of any decorators; the rest of the code just asks for a feed article, and any decorators will be automatically attached.

When I actually sat down to code for the first time, I came up with a name for the project: Renquist. You see, I had "True Lies" (1994) on in the background, and Arnold Schwarzenegger had just introduced himself to Tia Carrere as "Renquist. Harry Renquist." I figured, "Hey, if he can dance the tango with Tia Carrere and then blow up some stuff and shoot a bunch of people in the ensuing chase, Harry "Renquist" can do anything." And I'd like this software to be just as capable.