{ on programming and the internets }


by Louis Brandy

Mistakes we made when naming our computers

Sequential Numbers

When our company bought a bunch of rack mounted computers for heavy computation load, we had to choose names. We numbered them, sequentially. They were skinny and generated a far bit of heat, so we called them toasters. Toaster1, toaster2, and so on. The first, and maybe most important, problem with this naming convention is that machines get no identity. They have no soul. It’s difficult to distinguish them in your mind and you end up mixing them up constantly.

We were aware of this problem, but didn’t care. These weren’t going to be people’s personal machines. They didn’t need much of an identity. They all had NFS mounted drives and some local storage. The idea was these were computational workhorses and so a nice identity-less sequential numbering scheme would fit.

Here we are, a few years later, nearing our 20th rack mounted workhorse and this strategy has hit a second fault. When a computer dies, what do you do? Do you replace that number with a new computer, and thus break the “higher is newer and better” scheme, or do you leave that number permanently retired leaving gaps in the numbers? There’s really no good solution to this. We decided to retire their jersey number. Over time the sequential numbering ends up being a big mess.

Too Descriptive

When you get a new machine, sometimes it is tempting to describe what makes that machine special. We named our very first quad-core machine “quad”. We named our first octo-core “octo”. Very original, I know. This works great at first because that machine is special. But what happens when you get a second quad core? I named it cuatro. We had another machine that was the definition of squirrely. The BIOS did a crappy job of identifying the CPU cores, and we struggled to get the computer to benchmark at the level it should have been at. We named this machine “broken”. After replacing some of the hardware, broken works like a charm. It’s still named “broken”. When new people come and have to use “broken” for something, it doesn’t exactly inspire confidence.

I think we’ve learned this lesson.

Bad themes

By far the most common scheme for naming is choosing a theme. This is probably the best strategy, as well. Each machine has an identity, and you don’t suffer from “holes” (as you can safely “retire” names, as well). A good naming theme has a virtually inexhaustible list of easy-to-type (important) names. You can waste a tremendous amount of time finding one.

The big problem with themes is that you will eventually run out of good names. Early on we bought a bunch of very small form factor Shuttles for various purposes. We used them for their portability so you could hook up a camera to our software and have a computer doing the visual processing but remain relatively hidden. We needed a naming theme for our shuttles so we decided on Greek Gods. We’d never run out of Greek Gods. There was Zeus, Apollo, Hermes, and Aphrodite. This was, in retrospect, an awful naming scheme. Zeus, the king of the Gods, was some single core CPU with a gig of ram. He was almost useless. And who wants to type out Hephaestus?

In college, the computers at our lab were named after Simpson’s characters. That’s a great theme. The main server was named…. wait for it… Moe. Genius.

Our current solution: the themeless theme

We ended up abandoning most of our themes and have now settled into a good pattern. We name all our of machines with a really interesting word. That’s the only rule. We have spike, blizzard, sparky, and windex, and so on. This, I believe, is the best scheme of all. First, and most importantly, ever other machine we’ve already named fits into this scheme perfectly. It’s also fairly trivial to find new names and avoid paralysis. Every machine gets a unique identity, and finally we are certain we will never run out.

trackback

35 Responses to “Mistakes we made when naming our computers”

  1. September 21st, 2009 at 9:06 am

    Aaron Davies says:

    My favorite naming story of all time was someone who named six boxes, in three main/failover pairs of dev/qa/prod, after the quarks. Unfortunately, the requisite failure never occurred for her to say that up was down, but not to worry since down was up.

  2. September 21st, 2009 at 10:03 am

    Carlos Martins says:

    Nice tips indeed. :)
    Fortunately, for home use I’ve been able to keep that “dual”, “quad”, “i7″ nomeclature… Though I might use some of your tips now that I’m re purposing some older hardware for NAS/etc. duty.

  3. September 21st, 2009 at 11:13 am

    BUGabundo says:

    wont the “Identity” be overcome by the difficulty of location of the machines?

  4. September 21st, 2009 at 11:18 am

    Don says:

    At a company that I once worked for, the IT staff came up with a naming scheme based off of the Matrix movies, Morpheus, Trinity, Neo, etc. I once setup a network naming scheme based off of different models of Gundam but that ended up being too obscure for most. On my home network currently I’ve setup everything with names from Lord of Rings, my laptop is Gandalf, the file server is Elrond, etc.

  5. September 21st, 2009 at 11:20 am

    Aaron says:

    I don’t agree with a random word naming scheme. Naming a server after the role it performs is a much better solution, for example, web1, web2, etc is better than sparky and moe. I know exactly what role the server has simply by looking it’s host name and I’ll never run out of hostnames, either. Sure it lacks personality but when you’re racking up your 100th server in your 4th cabinet you’ll learn to appreciate a role based naming scheme.

  6. September 21st, 2009 at 11:23 am

    the Big S says:

    Famous Mathematicians and Computer Scientists with the rule that their names have to be simple. If I have the thought “I wonder how to spell that, let me look that up” I pick a different name.

  7. September 21st, 2009 at 11:40 am

    rpcutts says:

    We use names of beer at my workplace.
    No complaints about it. Names are quick and easy to come by, it relates to our industry and we have no sequential or identity problems.

  8. September 21st, 2009 at 11:44 am

    Joske says:

    I named my last batch of (desktop) machines after cocktails. People were fighting over who could have ’sexonthebeach’.

  9. September 21st, 2009 at 11:45 am

    Frankly Frank says:

    Machines develop their own personality independent of their names (“www130 is having problems again!”), and there’s nothing necessarily special about numbers. It’s convenient to use sequential numbering to ensure uniqueness. It’s a perceptual hurdle that needs to be overcome that sequential assignment means holes need to be filled in when a machine is retired. This is like obsessively renumbering the lines in your BASIC program so they are all equally spaced.

    One problem with things like pokemon characters is that not everyone knows how to pronounce or spell them, making talking about, documenting, or accessing them difficult. Or even worse you get someone new who is not familiar with your chosen naming scheme and none of it makes sense to them. Or you get people who are intimately familiar with pokemon and wonder why a firewall machine doesn’t have a pokemon name that has some kind of fire-related attack.

    I’ve also found that people become attached to names, which can be a problem when building a cluster where all the machines are supposed to be equivalent. If a machine has a problem, you can move people easily over to GENERICNAME12, but if you have to move people and services off of “wiggles”, they get attached and refer to that machine even if it’s been decommissioned and the services that were on it were moved elsewhere.

    Sometimes it’s just better to refer to the machine by the serial number or service code provided by the manufacturer: you don’t need to map names to service codes when the hardware inevitably needs support.

  10. September 21st, 2009 at 11:56 am

    Igor says:

    Three words: Harry Potter characters. There’s a huge list of all of them on Wikipedia, so you won’t run out and most are easy to spell and are memorable: hagrid, albus, weasly, etc. I also use some more descriptive names of things where I don’t anticipate repetition: my NSLU2 unit is called “slug” since I wouldn’t have a use for a second one.

  11. September 21st, 2009 at 12:13 pm

    John F. Miller says:

    @Igor,

    There are so many better fictional works with larger character sets. My personal suggestion is The Wheel of Time series by Robert Jordan. Many, many, many more names to choose from. :)

  12. September 21st, 2009 at 12:15 pm

    alex vasi says:

    RFC 1178 “Choosing a Name for Your Computer (http://tools.ietf.org/html/rfc1178)

    Stackoverflow question: http://serverfault.com/questions/45734/the-coolest-server-names

  13. September 21st, 2009 at 12:27 pm

    Steph says:

    I’ve generally tried to name the boxes after what they do. So for example, toolbox, devbox, qabox, etc.

    If there are conflicts, like say multiple qa boxes, then I would append a date. So qabox-010209, etc. At least this way you can know which boxes are older and need replacing. And if two boxes come online on the same day, just add a day. It doesn’t have to be perfect ;)

  14. September 21st, 2009 at 12:59 pm

    Bjorn says:

    I always go with the Dune theme: arakkis, harkonnen, atreides, corrino, feyd, leto etc.

  15. September 21st, 2009 at 1:20 pm

    kombinat says:

    I use a star wars theme, naming boxes after what they kind of represent.
    eg, Deathstar is my fileserver because it has big storage. Leia is my sexy Macbook. Jabba was my old p300 and TieX1 is my test box.

    A farily unlimited set of names that you can use descriptively :)

  16. September 21st, 2009 at 1:48 pm

    Rick says:

    I used to work for the bell system and they used a naming convention for most of their telephone plant equipment called CLLI (pronounced ’silly’, it stands for common language location identifier, if I recall correctly). It went like this: 4 letters for city, 2 letters for state, 2 letters for neighborhood or wire center, and 3 alphanumeric for function. So the first Vienna VA digital switch was designated FRFXVAVNDS0 – Fairfax, VA, Vienna, Digital Switch Zero. Not very fun, but very functional.

  17. September 21st, 2009 at 2:48 pm

    Niko says:

    Our company actually names computers after female colleagues. It’s a young company, average age is 27, students tend to roll in and move on when they finish their education. At first traditionally they picked the name of a girl at the front desk. Those got replaced more often than the servers so it was a steady supply of names. But as the company grew and more servers came in they just started picking random women from across the company usually trying to match the persons job description to the machines job description.

    Someone from communications would name a mail server, the front desk names the webserver, the repositories machine is named after a developer.

    It just kind of grew that way, they check if the women don’t mind, I gather most just think it’s funny. And it certainly puts a soul into a machine, at least in the eye of the beholders. ;)

  18. September 21st, 2009 at 2:52 pm

    bramz says:

    For me, there’s one rule: if you’re communicating with another developer, ITer, or in general, another person over phone, can you talk about some faulty machines without constantly spelling them or getting confused whether he’s talking about web165 or web166?

    Like in any good variable name style guide, names should differ in more than one character (redundancy in the communication channel improves fault tolerance and error checking) and should have easy spelling.

  19. September 21st, 2009 at 2:55 pm

    Ky Lam Ngo says:

    @Steph: however it’s a bit harded to type, no ?

  20. September 21st, 2009 at 3:11 pm

    moe says:

    I have run into a similar problem. I own just a couple of machines, but my main computer has anywhere from 3 to 6 different installations of operating systems on it. I have the hard drive partitioned to run Windows XP, Mac OS X, and a version of linux. Besides those I typically have ghost partitions of windows (and sometimes the others as well). What I mean by ghost is that I no longer use that install (for one reason or another) but still would like to have the data on that partition in the rare case I need it or a back-up fails.

    So anyway I have probably installed windows XP on this particular computer upward of 100 times in its lifetime (again for various reasons, both positive and negative). So every time I install windows its asks for a name (I disregard the organization name). So I too had to come up with all kinds of different names. Starting off I didn’t really have any criteria but I soon found just as the author did, picking names that are generally shorter and easier to spell is best. I have had a handful of themes. For a while I named my PC all different kinds of fruits, until eventually I decided that avocado was a terrible name for a PC. I have named my pc programming languages, python, perl, java, ect. That was fairly effective, except when I got confused looking for python programs. Recently I have switched to stripper names (provided that they are the short variety, not shaliquwquefwa variaty, -not kidding) like candy, sugar, violet, ect. I think its worked out pretty well so far.

    Interesting article, thanks.

  21. September 21st, 2009 at 3:48 pm

    Dan says:

    Last time I was going throguh this I started http://namingschemes.com to jot down my ideas, and it’s become quite popular.

  22. September 21st, 2009 at 3:51 pm

    mockidol says:

    I use greek/ roman gods for devices. For instance I’m currently on my main computer at home, Gaia. My flash drive currently plugged in is Hera. My DVD with backups of particuarlly important files is Proserpina. You get the idea.

  23. September 21st, 2009 at 3:59 pm

    Megalomania says:

    Our IT dept forces us to use completely soulless names that are a 12-letter combination of several things: the 2-letter country prefix, a 3-letter city designator, 3 letters that sort of describe the type of system, and some apparently random numbers. Did I mention that we have only about 3 offices worldwide and a few dozen employees? i.e. we aren’t a major telecom. Can only be described as anal.

  24. September 21st, 2009 at 4:03 pm

    Dan says:

    We used Crayola crayon colors at my CompSci lab in college. Red, blue, orange, etc were all really overloaded from people remoting in. I always went to fuschia and it compiled in a flash.

  25. September 21st, 2009 at 4:17 pm

    Dan Udey says:

    Whenever feasible, I try to name my machines after cities. After purchasing a white Macbook, I decided on ‘Reykjavik’ (the capital of Iceland). My unibody aluminium Macbook pro is named Penzance, after the birthplace of Humphrey Davy, the English chemist who gave aluminium its name.

    I once named a database server after Alexandria, the home of the great library, though my sails were somewhat deflated when a coworker said ‘But that library burnt down, right?’

    I find that this theme, while somewhat restricting when it comes to large machines, is fun for desktop machines and gives you a reason to do some arbitrary research.

  26. September 21st, 2009 at 4:39 pm

    Dave says:

    I name mine after different neighborhoods in Manhattan.

  27. September 21st, 2009 at 6:04 pm

    Will says:

    I’m a fan of Subatomic Particles myself (Proton, Neutron, Electron, Quark, Graviton, Gluon etc), but I remember my father telling me that the servers at Hollybush were named after the planets of the solar system (“That file’s on Mars, you want me to send it to Neptune for you?”)

  28. September 22nd, 2009 at 2:51 am

    P.Prabhu says:

    Hi

    Always look the Physical lables/namings on two angles Security and Convenience.

    SECURITY : No other peoples should be able to find servers roles by seeing names like Production , Testing etc OR Web , DB , Mail etc . Then it is easy for the attacker having physical access which to attack.

    CONVENIENCE : Easy to identify the Server when our own sysadmin have physical access to the data center.

    We name by the Rack Name , Location and Position. Like R1CA12 . This will help the remote engineers to understand this machine is in Rack 1 , California and 12th Machine.

  29. September 22nd, 2009 at 4:11 am

    Giorgio Sironi says:

    I use name from movies heroes: Marty (McFly), Indy, Tony (D’Amato)…

  30. September 22nd, 2009 at 6:39 am

    Joe Lock says:

    We used to name Windows boxes as ground based rocks – rock diamond, granite etc. The unix boxes were air based rocks – comet, asteroid etc. Worked very nicely..

  31. September 22nd, 2009 at 8:51 am

    Scott says:

    I’ve always been a fan of collective nouns: flock, drift, murder … its limitless!

  32. September 22nd, 2009 at 9:41 am

    Jay says:

    It started out with Firefly ladies: zoe, saffron, kaylee, and then river. From there we went to a river theme: jordan, amazon, and inlet.

  33. September 25th, 2009 at 7:50 am

    rouli says:

    I’m just surprised no one mentioned names that have a nice ring when you ping them.
    My first company had pong and floyd, and also elvis (ping elvis –> elvis is alive).

  34. September 25th, 2009 at 3:06 pm

    Gabe says:

    I give all my machines hyphenless GUIDs. The global uniqueness means there’s never any confusion.

    Some examples:

    “Hey Dan. Can you go run memtest on 9441d2694f3942c4b8657633b40aae05? Thanks.”

    “Drat. The patch didn’t take properly on a08c9b8fd7c94d45941f9565e3d74497,
    f958b7e6aaa94084b126ff8096411f0c, or 15c30e28a8604169af3061222ed5d477.”

    “e80d5547e36d47bea79097e258ebe498 isn’t responding on 22. Can you go check it out?”

    They’re make great identifiers!

  35. September 25th, 2009 at 8:16 pm

    Brandon says:

    At my university we have, among others that I can’t remember, a Simpsons lab, a Bob lab (with names like Barker, Hope, etc), a Bone lab, a River lab and the servers are seas.

Leave a Reply


Need a new job?