RFC 1178

Choosing a name for your computer

๐Ÿ“… published August 1990, from ietf

Choosing a Name for Your Computer ๐Ÿ’…

okay bestie, the title block is giving everything ๐ŸŽ€ this is RFC 1178, filed as FYI 5 in the Network Working Group. The author is D. Libes from the Integrated Systems Group/NIST, and it dropped in August 1990. It's an FYI doc, so it's info for the Internet community, not a standard ๐ŸŒˆ

Status of this Memo โœจ

This FYI RFC is a republication of a Communications of the ACM article on guidelines on what to do and what not to do when naming your computer [1]. This memo provides information for the Internet community. It does not specify any standard.

Distribution of this memo is unlimited ๐Ÿฆ‹

Abstract ๐ŸŒธ

okay so, we give our computers names so we can tell them apart. the tea is that choosing a bad name is just as easy as choosing a good one ๐Ÿ’€ this essay gives you guidelines for what makes a name good or bad.

Keywords: domain name system, naming conventions, computer administration, computer network management

Introduction ๐Ÿงš

the second you have more than one computer, you need a way to tell them apart ๐Ÿ’– like, you might tell your sysadmin, "Hey Ken. Goon is down!" ๐Ÿ˜ญ

computers need to tell each other apart too. so when you're mailing a coworker on another machine, you might type mail libes@goon ๐Ÿ’Œ

in both cases, "goon" points at one specific computer. how a human or a computer actually turns that name into the machine is not our problem here ๐Ÿ™ˆ this essay is only about picking a "good" name. (It is assumed that the reader has a basic understanding of the domain name system as described by [2].)

picking a good name now saves you from problems people keep tripping over again and again โœจ

here's what NOT to do ๐Ÿ’…

Don't overload other terms already in common use. ๐Ÿšซ

using a word with strong meaning in your current context is asking for confusion ๐Ÿ˜ตโ€๐Ÿ’ซ this is especially true in conversation, where punctuation isn't obvious and grammar is often off.

for example, a distributed database was built on top of several computers, and each one had a different name. one machine was named "up", since it was the only one that accepted updates. conversations went like this: "Is up down?" and "Boot the machine up." followed by "Which machine?" ๐Ÿ’€

it didn't take long to catch on and get used to this zaniness, but it was honestly annoying when your brain would stumble, and you'd have to stop and think about each word in a sentence. it's like, all of a sudden, English became a foreign language ๐ŸŒ

Don't choose a name after a project unique to that machine. ๐Ÿ› ๏ธ

a manufacturing project named a machine "shop" because it was going to control a bunch of machines on a shop floor. a while later, a new machine was acquired to help with some of the processing. obviously it couldn't be called "shop" too ๐Ÿ™ƒ in the end, both machines ended up doing more specific jobs, which meant more precise names were needed. a year later, five new machines were installed, and the original one was moved to an unrelated project. it is simply impossible to choose generic names that stay appropriate for very long ๐Ÿ˜ฉ

sure, they could've called the second one "shop2" and so on. but then you're really just distinguishing machines by their number. you might as well call them "1", "2", and "3" ๐Ÿคทโ€โ™€๏ธ the only time this kind of naming scheme makes sense is when you have a lot of machines and no reason for any human to tell them apart. for example, a master computer might control an array of one hundred computers. in that case, it makes sense to refer to them by their array indices ๐Ÿงฎ

computers aren't exactly like people, but their names kind of are. nobody expects to learn much about a person from their name ๐Ÿ’… just because a person is named "Don" doesn't mean he's the ruler of the world (despite what the "Choosing a Name for your Baby" books say) ๐Ÿ‘‘ honestly, names are just arbitrary tags. you can't tell what someone does for a living, what their hobbies are, or anything like that.

Don't use your own name. ๐Ÿ™…โ€โ™€๏ธ

even if a computer is sitting on your desk, it's a mistake to name it after yourself ๐Ÿ˜ค this is another case of overloading, where statements get ambiguous. does "give the disk drive to don" mean a person or a computer??

using your initials (or some other nickname) doesn't really fix it either ๐Ÿ™„ what happens if you get a different machine after a year? someone else gets stuck with "don", and you end up living with "jim". sure, the machines can be renamed, but that's extra work. plus, a program that used a special peripheral or database on "don" would start failing when it couldn't find it on the "new don" ๐Ÿ’€

it's especially tempting to name your first computer after yourself, but think about it. do you name any of your other possessions after yourself? no ๐Ÿ™ƒ your dog has its own name, and so do your kids. if you're the type who names your car and other objects, you definitely don't reuse your own name either. otherwise you'd have a ton of trouble telling them apart when you talk about them ๐Ÿš—

for the same reason, naming your computer the same thing as your car or another possession is a mistake too ๐Ÿ˜ญ

Don't use long names. ๐Ÿ“

this is hard to measure, but experience has shown that names longer than eight characters just annoy people ๐Ÿ˜’

most systems let you set up abbreviations, but why not pick a name you don't have to abbreviate in the first place? that way there's no chance of confusion โœจ

Avoid alternate spellings. โœ๏ธ

once we called a machine "czek" ๐Ÿ˜ญ in discussion, people kept thinking we meant a machine called "check". honestly, "czek" isn't even a word (although "Czech" is).

purposely incorrect (but cute) spellings also tend to annoy a big chunk of people ๐Ÿ™ˆ and people who learned English as a second language often doubt their own knowledge when they see a word they know spelled differently. ("I guess I've always been spelling "funxion" incorrectly. How embarrassing!")

you might be thinking, "this is all very silly... people who have to spell a name will learn it and that's that." it's true that some people will learn the spelling, but it will eventually cause problems somewhere ๐Ÿ’€

for example, one day a machine named "pythagoris" (sic) went haywire and started sending a massive number of messages to the site administrator's computer. the administrator wasn't a very good speller to begin with, and he'd never seen this machine before (someone else set it up and named it). but he had to deal with it, since it was clogging the network and bogging down his own machine, which was logging all the errors ๐Ÿ˜ฉ he had to look up the spelling every single time he needed to type "pythagoris". (He suspected there was an abbreviation, but he would have had to log into yet another computer (the local nameserver) to find out, and the network was too jammed to waste time doing that.)

Avoid domain names. ๐ŸŒ

for technical reasons, domain names should be avoided ๐Ÿ™…โ€โ™€๏ธ in particular, name resolution of non-absolute hostnames is problematic. resolvers check names against domains before checking them against hostnames. but we've seen mailers that refuse to treat single token names as domains. for example, say you mail to "libes@rutgers" from yale.edu. depending on the implementation, the mail might go to rutgers.edu or rutgers.yale.edu (assuming both exist) ๐Ÿ˜ต

Avoid domain-like names. ๐Ÿ›๏ธ

domain names are either organizational (e.g., cia.gov) or geographical (e.g., dallas.tx.us). using anything like these tends to imply some connection ๐Ÿ‘€ for example, the name "tahiti" sounds like you're located there. that's confusing if it's really somewhere else (e.g., "tahiti.cia.gov is located in Langley, Virginia? I thought it was the CIA's Tahiti office!"). and if it really is located there, the name implies it's the only computer there. if that isn't wrong now, it inevitably will be ๐Ÿ˜ญ

some organizational and geographical names work fine. these are exactly the ones that don't work well as domain names ๐Ÿงš amorphous names like rivers, mythological places, and other impossibilities are very suitable. ("earth" is not yet a domain name.) ๐ŸŒ

Don't use antagonistic or otherwise embarrassing names. ๐Ÿ˜ณ

words like "moron" or "twit" are fine names if nobody else is going to see them ๐Ÿ™Š but if you ever give someone a demo on your machine, they might get distracted by a nasty word on your screen. (Maybe their spouse called them that this morning.) why take the chance they'll be turned off by something totally irrelevant to your demo? ๐Ÿ’…

Don't use digits at the beginning of the name. ๐Ÿ”ข

lots of programs accept a numerical internet address as well as a name. unfortunately, some programs don't correctly tell the two apart, and they can get fooled by, for example, a string beginning with a decimal digit ๐Ÿ˜ฌ

names made up entirely of hexadecimal digits, such as "beef", are also problematic. they can be read as hexadecimal numbers as well as alphabetic strings ๐Ÿ“

Don't use non-alphanumeric characters in a name. ๐Ÿ”ฃ

your own computer might handle punctuation or control characters in a name, but most others don't ๐Ÿ™ƒ if you ever expect to connect your computer to a heterogeneous network, you can count on a variety of interpretations of non-alphanumeric characters. network conventions on this are surprisingly nonstandard ๐Ÿคฏ

Don't expect case to be preserved. ๐Ÿ”ก

upper and lowercase characters look the same to a great deal of internet software, often because it thinks it's doing you a favor ๐Ÿ’– it might feel right to capitalize a name the way you would in English, but convention says computer names should be all lowercase. (And it saves holding down the shift key.) โŒจ๏ธ

Now that we've heard what NOT to do, here are some suggestions on names that work well ๐ŸŒˆ

Use words/names that are rarely used. ๐Ÿ’Ž

a word like "typical" or "up" (see above) isn't computer jargon, but it's just too likely to come up in discussion and throw off your concentration while you figure out what it refers to ๐Ÿ˜ตโ€๐Ÿ’ซ instead, use words like "lurch" or "squire" that are unlikely to cause any confusion ๐Ÿ‘‘

You might think you're totally safe naming your machine jose because nobody in your group is called that ๐Ÿ™ˆ. But then you hire a Jose and suddenly you've got a whole problem ๐Ÿ’€. A name like sphinx is way less likely to clash with new hires ๐Ÿฆ‹.


Use theme names ๐ŸŒˆ

Naming groups of machines with a shared theme is super popular. It's giving communality ๐Ÿซถ and it shows off your depth of knowledge and imagination โœจ. The simplest version is colors, like red and blue. You can add personality with picks like aqua and crimson ๐Ÿ’….

Some sets are finite, though, like the seven dwarfs ๐Ÿงš. So when you order your first seven computers, just know you'll probably be getting more next year ๐Ÿ˜ญ. Colors will literally never run out ๐ŸŒˆ.

Some more suggestions: mythical places (e.g., Midgard, Styx, Paradise), mythical people (e.g., Procne, Tereus, Zeus), killers (e.g., Cain, Burr, Boleyn), babies (e.g., colt, puppy, tadpole, elver), collectives (e.g., passel, plague, bevy, covey), elements (e.g., helium, argon, zinc), flowers (e.g., tulip, peony, lilac, arbutus). Get the idea? ๐Ÿ’–


Use real words ๐Ÿ“–

Random strings are a no-go for the same reason they're so useful for passwords: they're hard to remember ๐Ÿ™ƒ. Use real words, bestie ๐Ÿ’œ.


Don't worry about reusing someone else's hostname ๐Ÿ‘‘

Okay so, super famous hostnames like sri-nic and uunet should be avoided, because people hear them in conversation and automatically treat them as full addresses even without a domain ๐Ÿ‘€. Everywhere else, your local domain is assumed to qualify single-part hostnames. It's kind of like how phone numbers get an area code when you dial from another area ๐Ÿ“ž.

So if you picked a reasonable name, you don't need to stress that somebody in another domain already grabbed it ๐Ÿ’…. A bottom-level domain only has so many hosts, so coming up with a name that's unique just within that domain is not hard at all ๐ŸŒธ.


There is always room for an exception ๐ŸŽ€

I don't think this one needs much explaining ๐Ÿ˜ญ. But real talk: if you later decide to rename a machine (to something sensible, like you should've picked in the first place), the pain is going to shock you ๐Ÿ’€. No matter how easy the manuals make it sound, lots of obscure software quietly piles up references to that computer using the now-ugly name, and all of it has to be found and changed ๐Ÿ™ˆ. People mailing you from other sites have to be told. And you'll have to remember that the labels on old backup media refer to different names now ๐Ÿ“ผ.

I could go on, but honestly it would be easier to just forget this guideline exists ๐Ÿซ .


Conclusion โœจ

Most people never get the chance to name more than one or two computers ๐Ÿฅบ, but site administrators end up naming a whole bunch of them. Picking a name wisely means both users and admins have an easier time remembering, discussing, and typing the names of their machines ๐Ÿ’–.

I tried to formalize some useful guidelines for naming computers, with plenty of examples so my points are obvious ๐Ÿ“. Having been both a user and a site administrator, a lot of these stories come from real experiences that I have zero desire to relive ๐Ÿ˜ฉ. Hopefully you'll dodge every pitfall I've talked about just by choosing your computer's name wisely ๐Ÿฆ‹โœจ.


Credits ๐Ÿซถ

Big thanks to the following people for suggesting some of these guidelines and joining the many discussions on computer naming: Ed Barkmeyer, Peter Brown, Chuck Hedrick, Ken Manheimer, and Scott Paisley ๐Ÿ’œ.

This essay first appeared in the Communications of the ACM, November, 1989, along with a Gary Larson cartoon reprinted with permission of United Press Syndicate ๐Ÿ„. The text is not subject to copyright, since it is work of the National Institute of Standards and Technology. However, the author, CACM, and NIST request that this credit appear with the article whenever it is reprinted ๐Ÿ™.


References ๐Ÿ“š

[1] Libes, D., "Choosing a Name for Your Computer", Communications of the ACM, Vol. 32, No. 11, Pg. 1289, November 1989.

[2] Mockapetris, P., "Domain Names - Concepts and Facilities", RFC 1034, USC/Information Sciences Institute, November 1987.


Security Considerations ๐Ÿ”’

Plot twist: security issues are not discussed in this memo ๐Ÿ™ˆ. Nothing about that in here, bestie ๐Ÿ”.


Author's Address ๐Ÿ’Œ

Don Libes

Integrated Systems Group

National Institute of Standards and Technology

Gaithersburg, MD 20899

Phone: (301) 975-3535

EMail: libes@cme.nist.gov

๐Ÿ“ฆ where this page comes from