Tuesday, December 20, 2011

Nerd Humor - Naming Software Projects

There's a long tradition of using clever and humorous names for open source software projects. I've recently been introduced to a particularly striking example, and it's got me thinking about some of the funny language games played by open source software folks.

In the 1960s there was Basic Combined Programming Language (BCPL), commonly known as B. It gave way to a new language: C, which happened to be the next letter in BCPL. At this point, BCPL began to be referred to by the backronym "Before C Programming Language." Next, C was followed up not by P, but by C++, because the ++ operator is how you increment something in C. Then Microsoft gave us C sharp, which includes the musical notation roughly analogous to "increment by one", and kind of looks like two "++" operators. Har har.


In the 1980's, rms decided the world needed a truly free UNIX-like operating system.  He named his project GNU, which of course stood for "GNU's Not Unix", leading to much recursive acronym hilarity.  GNU's Hurd kernel stands for "Hird of Unix Replacing Daemons", and Hird stands for "Hurd of Interfaces Representing Depth." Oh my.


The first email client I ever used was Elm (ELectronic Mail), which I later abandoned for Pine (backronymed: Pine Is Not ELM).  Due to licensing restrictions, the University of Washington stopped development of Pine, and shifted their effort to an Apache Licensed version of Pine:  Alpine.  Plus, they're in the Northwest corner of the United States of America.  Lots of evergreen trees up there from what I understand.  Also mountains.  Trees on mountains, even.


I breifly experimented with some Instant Messaging server software called TwoCan.  I can't find their logo anymore, but it consisted of two cans and a string. Chat technology at its finest! Also, it reminds me a lot of Jeff Fry's avatar on the twitter.


The NoCat project is a wifi sharing scheme somewhat like a free/open version of what iPass offers. The project's logo makes it perfectly clear that there are no cats involved. They explain the name this way:

Albert Einstein, when asked to describe radio, replied:
"You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that thereis no cat."

The project that got me thinking about clever names and logos is the Linux Pacemaker component of the Linux-HA server clustering project. Pacemaker is an add-on to the heartbeat daemon. Get it? Their logo is a set of stylized rabbit ears, so they've got both the EKG/heartbeat thing, as well as the "set the pace for high performace" rabbit thing going on.  Clever stuff.

And then there's STONITH, pacemaker's awesome dual-active / split-brain remediation mechanism. STONITH stands for:
Shoot
The
Other
Node
In
The
Head
Shoot him in the head? Well, that should take care of any dual-active problems, all right! The implementation is just as dramatic as the name suggests: Basically, it boils down to each node in the cluster being logged into the other node's power strip. Misbehave and I'll cut your power!

Split-brain / dual-active detection and remediation is something with which we're familiar in the networking department.  I'm a little bit disappointed that we don't have anything as crazy / awesome as STONITH in our toolbox...
STONITH as imagined by Tim Serong

These were just a few examples off the top of my head. What funny / clever / layered meaning project names have I missed?

No comments:

Post a Comment