Throughout the internet, you’ll find a slew of geeks who refer to their projects by “code name.” Realistically, this isn’t GI Joe, so there’s no real reason to need a code name for your projects, right? I’m here to argue that.
Since I’m involved in several web endeavors, there is always a lot of development code on my computers. When I start something like a firsttube.com redesign or something much larger, like an OSNews redesign, it doesn’t make sense to have a hundred folders called “osnewsv4” or somesuch littered about. I used to date the folders, but osnewsv4-tuesday doesn’t help. And something like osnewsv4-20071017 doesn’t help much either.
Now it gets even more complex: what if I build something and then decide to approach it differently? How will I know which folder is the one that contains relevant code? Enter codenames!
When I knew I was going to build a brand spankin’ new version of OSNews, I knew it would eventually be called version 4, so it made no sense to start calling the first code off my fingers “v4.” As it turns out, there were actually almost 10 versions of “OSNews version 4″ before we accepted a codebase. The first ones were much different in both look and feel and code. So, for my own organizational purposes, I use code names. All that matters is which code base eventually gets promoted to the “version 4” title.
So, here a list of the codenames I’ve used on my projects in the past, going back as far as I can remember:
I used to maintain an open source weblog called Flip, which later become Small Axe. Although Flip 2.0 may have had a codename, I can’t remember or find any reference to it. Flip 2.1 was called Lobster. Flip 2.2 was called Shark, although I never released that code, largely because before I finished it, I released Flip 3.0, Turtle. Flip 3.1 was to be called Jackrabbit, but again, I never released it. Flip 4.0 earned the codename Blueberry, but it was merged into the first release of Small Axe. We’ll get back to Small Axe in a minute. The nicknames of Flip were entirely random, they meant nothing, except that I wanted the 2.x and 3.x family to be animals, and for 4.x, a complete rewrite, I decided to use fruits. That never materialized.
A large part of why verison of Flip went entirely unreleased is because the app became big and tough to handle. As a result, I stripped out the core of it and released “Flip Lite,” which was called “Red Squirrel.” There was a running joke in college about a “blue raccoon,” so “red squirrel” was a silent tribute. When Flip Lite 2 came about, it was called “Rivet Boy.” Here’s why I called it “rivet boy”.
Small Axe Weblog took over where Flip left off – I really need to get around to updating it, since I’ve probably worked up to v 0.7 by now! – but the roadmap, along with the codenames, are listed here. They are codenamed after the japanese Iron Chefs and their popular guests.
firsttube.com itself had codenames, some of the time. firsttube.com 3 was “Milky”. 3.1 was Crossbow because it was built to be cross-platform. 3.2 was Scoop Face, because it was inspired by Scoop. 3.3 was “Semi-Scoop”, much for the same reasons. 3.3.1 was “Flip”, because it was the first version to use code from the Flip project. 4.0 was lazily called “Lobster” because it was running Flip 2.1. 5.0 was “Linkfarm”, because it was – for the few weeks it lived – a link farm. 6.0 may or may not have actually had a codename when I built it, but it was listed in one directory as, “Wikitube”, because it ran phpwiki software. I merged it and my weblog for version 7.0, which, along with 8.0, didn’t earn codenames. The recently released firsttube.com 9.0 was called “Chalkboard,” because at one point, I thought the header looked like a chalkboard. Obviously, it doesn’t anymore.
On to OSNews: Again, these codenames are mine and mine only, they are neither “official,” nor even known the rest of the staff, as it was only as I was developing code that I used the codenames. The now defunct OSNews Meta Blog is actually Small Axe, so it was in a folder called “Small Axe.” We renamed it “meta blog” literally days before making it live.
The OSNews Staff Blog used to be called ftblogroller, and I actually still have the very first working version on my company’s intranet test server. The funny thing is, I chronicled it long ago on firsttube.com. That was the engine of the OSNews Staff Blog. It also powers the OSGalaxy site, although there I refer to it as “Galaxy,” I never actually got around to packaging it.
Jobs.OSNews, an experiment that everyone liked but nobody used, was called Meadow, only because it was green.
OSNews v4 had a few codenames on my computer. “NEW” was one of them, as was “TCO,” which was an acronym for “three column OSNews.” The one that eventually earned the title version 4 was Blueprint, because I threw everything away and literally started from scratch. Even the queries that fetch data were rewritten to be most efficient.
Two projects in the words: “Timber” is the codename of a module that does OSNews native polling. Why Timber? A poll takes a tally, tally like tally ho, like timber ho!. I didn’t say they made sense or were funny, I just said I used them.
As you can see, having codenames can help a develper understand what code he’s looking at. It would not help me at all to see a folder called “firsttube.com-20060722” because I wouldn’t know what version of firsttube.com or whether the code was even used on the live site. But certainly, if I saw a subfolder in my osnews directory called “mcbragg,” I’d know it has relevent code. I think there’s something to be said for categorizing your code that way, plus, it’s kinda cool to have codenames. Yeah, I said it.