The Geek Code, developed in 1993, is a series of letters and symbols used by self-described "geeks" to inform fellow geeks about their personality, appearance, interests, skills, and opinions.
The geek code attempts a concise description of your being in 'geek space', spanning key dimensions using a small set of categories and quantifying them with qualifiers ( or qualifying them with quantifiers, as you wish).
The idea is that everything that makes a geek individual can be encoded in a compact format that only other geeks can read. This is deemed to be efficient in some sufficiently geeky manner.
Version 0.1 was created and written by Robert A. Hayden, a student (and later graduate) of Mankato State University. It consisted of only about five categories.
[Click here to see Version 0.3 on the web!](https://www.cs.cmu.edu/afs/cs/user/scotts/ftp/bulgarians/geek-code.html "This is perhaps the oldest still surviving example of Geek Code on the web!")
Version 1.0 was released about 4 months after 0.3 on July 17, 1993 and added several more categories as well as the rules for cross-overs and variables. 1.0.1 was a bugfix released later that day.
[Click here to see Version 1.0.1 here!](http://www.textfiles.com/100/codegeek.txt)
Version 2.0 was released one year after version 1.0 on July 17, 1994. Version 2.0 and represents the recommendations of many dozens of people, and at least 75 additions were added in that version.
Version 2.1 was released one day later, and was mostly bugfixes to make Geek Code internally consistent with itself.
[Click here to see version 2.1 on the web!](http://www.aleph.se/Nada/nerdiness/geek2)
Version 3.x of Geek Code was released on March 5, 1996. It was a huge refinement over version 2.x! One of the main problems with 2.x was that it was too long, and much of its length was attributed to non-geek categories. One of the goals of 3.x is to eliminate many of the non-geeky and unimportant categories to make room for geeky traits. "More geek, less bullshit" was a good motto for this version. It removed some categories from 2.x that were just downright odd (like automobiles, nutrition, and **Barney**?)
Version 3.12 is the version used for the `geekcode` Linux package still available on Debian and Ubuntu. The Linux package only contains the basic version 3 Geek Code, and does not support crossovers and variables.
Version 4.x was released on GitHub on October 18, 2019. Some categories have been removed, others added, and some altered. The v3.x undergraduate weltanschauung has been supplanted by a more seasoned outlook.
The code no longer uses case-sensitive categories. To accomplish this, some categories and letters have been changed. Letter groupings are used so that there was no repetition of single letters among the categories.
Some categories were merged, and couple of new symbols were added. The header of the GEEK CODE BLOCK (which used to mimic the output of a GPG BLOCK) now merges both header and version in a single line.
In version 5.x, each category is designed to help uniquely identify a geek with less parallelism existing among categories. There are no categories that refer backwards to previously defined categories.
And there's never a need to define "sex" in three different ways!
In our own way, this version also adheres to the motto "more geek, less crap". And this has really enhanced the "seasoned outlook" that v4.x adopted in its code.
The code consists of a set of alphanumeric identifiers indicating the various categories (and subcategories), and qualifiers + and – following the identifiers indicating amount/size/level of proficiency/etc. These qualifiers can be stacked, e.g H+++ indicates a person of extremely skilled with hardware (the H indicating Hardware).
The broad categories encoded are: Geek of, Wetware, Computers, Politics, Entertainment, Lifestyle. Most have subcategories and you can answer at any level of detail desired, thus eg. U++ indicates someone highly interested/proficient in Unix, while ULDU++ indicates someone into Unix/Linux/Debian/Ubuntu (each additional step is a derivative of the previous step). Multiple subcategories can be indicated with a forward slash, e.g GCS/GM indicates a Geek of Computer Science and Math.
Some categories will be irrelevant, so ignore them. Some of the qualifiers may not match you exactly, so choose the qualifier that most closely matches you.
Given a set of category/qualifier strings for any of the above (skip anything you don't want to answer/not relevant/classified/unknown/indeterminate/etc).
It's time to assemble your code for displaying to the world. Take the substrings and concatenate them with a space between them. When completed, it will look something like the following:
A GEEK CODE BLOCK parodies the output created by PGP, and attempts to universalize how you will see the Geek Code around the net. Line breaks can be added if needed (but are not necessary).
| `_` | = | (Optional) indicates a baseline answer. _ is one step above -, and one step below +. Therefore, _ is never combined with + or -. For example, instead of leaving it blank/empty, a geek of average shape and size could write d_:_ to indicate they are at the baseline. |
| `@` | = | for this variable, said trait is not very rigid and may change with time or with individual interaction. For example, Geeks who happen to very much enjoy Star Trek: Picard as a whole, but aren't sure how they like the current season might list themselves as TSTpic+++@. |
| `()` | = | for indicating "cross-overs" or ranges. Geeks who go from C+ to C— depending on the situation (i.e. mostly "C+") could use C+(—). Note: @ is different from () in that () has finite limits within the category, while @ ranges all over. |
| `$` | = | Indicates that this particular category is done for a living. For example, UL+++$ indicates that the person utilizes Unix and gets paid for it. Quite a lucky geek, for sure. |
| `^` | = | Indicates that the geek has a degree or certificate in this area or field. For example, GCS^/GMU/GTW^ indicates that this is a Geek of Computer Science (with a degree in this field), a Geek of Music, and a Geek of Technical Writing (with a certificate in this field) |
| `>` | = | for 'wannabe' ratings. Indicating that while the geek is currently at one rating, they are striving to reach another. For example, UL+++>$ indicates a geek that is currently Linux savvy but wants to someday make money at it. |
| `?` | = | Unless stated otherwise within the specific category, the ? is placed after the category identifier and indicates that the geek has no knowledge about that specific category. |
| `!` | = | Placed BEFORE the category. Unless stated otherwise, indicates that the person refuses to participate in this category. This is unlike the ? variable as the ? indicates a lack of knowledge, while the ! indicates stubborn refusal to participate. For example, !MC would be a person that just plain refuses to have anything to do with Macintosh, while MC? would be a person that doesn't even know what Macintosh is. |
To start a code, a geek must declare himself or herself to be a geek. To do this, we start the code with a "G" to denote "GEEK", followed by one or two letters to denote the geek's occupation or field of study. Multi-talented geeks with more than one vocational training should denote their myriad of talents with a slash between each vocation (example: GCS/MU/TW).
| `GU` | = | Geek of 'Undecided'. This is a popular vocation with incoming freshmen. |
| `G!` | = | Geek of no qualifications nor interests; likely, cannot exist |
| `GAT` | = | Geek of All Trades. For those geeks that can do anything and everything. GAT usually precludes the use of other vocational descriptors. |
The Geek, of course, doesn't believe any of that crap; on the internet, no one knows you're a dog, according to an ancient meme. In any case, this section allows you to list something about what you look like, conceivably for dating purposes or such nonsense. Also it lets us start off with 'abcd' for age/beard/clothing/dimensions.
The only way to become a true geek is through practice and experience. To this end, your age becomes an important part of your geekiness. Use the qualifiers below to show your age (in Terran years). Base 10, wise guys.
As facial hair plays some sort of role in geek space, serving as an expression of style, countercultural proclivities, etc. and [unix beards](http://www.usenix.org.uk/content/unix_beards.html) being a thing we give it a category here despite its irrelevance to some fraction of the population.
Thus `B_:++:+:++:_` means that geek has an average head of hair, with an impressive beard, thick brows, an equally impressive mustachio, and ordinary sideburns.
Geeks come in many shapes and sizes. Shape code is divided into two parts delimited by a colon, the first indicating vertical, and the second horizontal extent.
Most geeks identify themselves by their use of computers and computer networks. To quantify your geekiness level on computers, consult the following (consider the term 'computers' synonymous with 'computer network'). This category represents "general" computer aptitude. The categories below will get into specifics.
| `CM++` | = | Computers are a large part of my existence. I code in at least one language. I have StackOverflow bookmarked so I can find answers to my programming questions. |
| `CM+` | = | Computers are fun and I enjoy using them. I also know that when it says 'press any key to continue', I don't have to look for a key labeled 'ANY'. |
| `CM` | = | Computers are a tool, nothing more. I use it when it serves my purpose. |
| `CM-` | = | Anything more complicated than my calculator and I'm screwed. |
| `CM--` | = | Where's the on switch? |
| `CM---` | = | Computer? Not interested. That's those machines with demons in them, right? |
| `MW++` | = | I have 'hacked' my Windows REGEDIT to unlock or fix various bugs on my machine. |
| `MW+` | = | I have installed my own custom sounds, wallpaper, and screen savers so my PC walks and talks like a fun house. I have a hundred fonts that I've installed but never used. |
| `MW` | = | I only use Windows for one specific purpose (like running Steam games), but I don't have to like it. |
| `MW-` | = | I'm still trying to install MS Windows and have at least one peripheral that never works right |
| `MW--` | = | MS Windows is a joke operating system. No one can find the error codes anymore, and even if they could no one can read hexadecimal to understand them! |
| `MW---` | = | Windows has set back the computing industry by at least 10 years. Bill Gates should be drawn, quartered, hung, shot, poisoned, disemboweled, and then REALLY hurt. |
It seems that a Unix-based operating system is the OS of choice among most geeks. In addition to telling us about your Unix abilities, you can also show which specific Unix OS you are using. To accomplish this, you include a letter showing the brand with your rating. For example: UL++++ would indicate a sysadmin running Linux.
| `U++++` | = | I am the sysadmin. If you try and crack my machine don't be surprised if the municipal works department gets an "accidental" computer-generated order to put start a new landfill on your front lawn or your quota is reduced to 4K. |
| `U+++` | = | I don't need to crack /etc/passwd because I just modified su so that it doesn't prompt me. The admin staff doesn't know I'm here. |
| `U++` | = | I've gotten the entire admin ticked off at me because I am always using all of the CPU time and trying to run programs that I don't have access to. |
| `MC` | = | I use a Mac, but I'm pretty indifferent about it. |
| `MC-` | = | Macs suck. All real geeks have a character prompt. |
| `MC--` | = | Macs do more than suck. They make a user stupid by allowing them to use the system without knowing what they are doing. Mac weenies have lower IQs than the fuzz in my navel. |
List a series of languages and your facility/opinion thereupon, for example, Lpy++/LR+ would indicate high proficiency in python and above-average knowledge of R.
How do you take your data? How do you present your data to others? Input/Output is a single entry with two sections delimited by a colon describing how user-friendly or not you are.
| `---` | = | Keep the dirty stuff under the hood, building a cool GUI is where its at | I couldn't care less about the 'user experience'; users can be approximated using Bayesian techniques |
Pretty Good Privacy (aka PGP) is a program available on many platforms that will encrypt files so that prying eyes (particularly governmental) can't look at them.
| `PGP+++` | = | I don't send or answer mail that is not encrypted, or at the very least signed. If you are reading this without decrypting it first, something is wrong. IT DIDN'T COME FROM ME! |
| `PGP++` | = | I have the most recent version and use it regularly |
| `PGP+` | = | "Finger me for my public key" |
| `PGP` | = | I've used it, but stopped long ago. |
| `PGP-` | = | I don't have anything to hide. |
| `PGP--` | = | I feel that the glory of the Internet is in the anarchic, trusting environment that so nurtures the exchange of information. Encryption just bogs that down. |
| `PGP---` | = | If you support encryption on the Internet, you must be a drug dealer or terrorist or something like that. |
| `PGP----` | = | Oh, here is something you all can use that is better (insert Clipper here). |
The last few years have seen the rise of the political geek. This phenomenon is little understood, but some theorize that it has come about because of the popular media's attempts to demonize the Internet and computer use in general, and the government's willingness to go along with it. Others propose that the aging geek population has simply started taking an interest in the world around them. Some support the "Sun Spot" theory. As of v4 some new subcategories are added to the PS and PE categories.
Where, in general, your political views on different social issues fall. The + and – ratings here roughly indicate left/right on the political spectrum.
| `PS+` | = | My whole concept of liberalism is that nobody has the right to tell anybody else what to do, on either side of the political fence. If you don't like it, turn the bloody channel. |
| `PS` | = | I really don't have an opinion; nobody's messing with my freedoms right now. |
| `PS-` | = | Label records! Keep dirty stuff off the TV and the Internet. |
Geeks love to play. No matter their age, all geeks enjoy playing. Of course, the object of this entertainment takes a myriad of different forms. What is it that pushes a geek to play? Is it simply a desire to relive their childhood? Or perhaps there is a piece of geeky genetic code that requires intellectual stimulation. Who knows, maybe it's a Freudian thing…
| `TST+++` | = | It's not just a TV show, it's a religion. I know all about warp field dynamics and the principles behind the transporter. I have memorized the TECH manual. I speak Klingon. I go to cons with Vulcan ears on. I have no life. |
| `TST++` | = | It's the best show around. I have all the episodes and the movies on tape and can quote entire scenes verbatim. I've built a few of the model kits too. But you'll never catch me at one of those conventions. Those people are kooks. |
| `TST-` | = | Maybe it is just me, but I have no idea what the big deal with Star Trek is. Perhaps I'm missing something but I just think it is bad drama. |
| `TST--` | = | Star Trek is just another Space Opera. William Shatner isn't an actor, he's a poser! And what's with this Jean-Luc Picard? A Frenchman with a British accent? Come on. Isn't Voyager just a rehash of Lost in Space? Has Sisko even breathed in the last two seasons? Come on. I'd only watch this show if my remote control broke. |
Role-playing games such as Dungeons & Dragons have long been a part of the traditional geek life. Because geeks often become so involved in their role-playing that they lose touch with reality, include one of the following role-playing codes.
| `RPG++` | = | There is no life outside the role of the die. I know all of the piddly rules of (chosen game). _MY_ own warped rules scare the rest of the players. |
| `BK++++` | = | I read a book a day. I have library cards in three states. I have discount cards from every major bookstore. I've ordered books from another country to get my Favorite Author Fix. |
| `BK+++` | = | I consume a few books a week as part of a staple diet. |
| `BK++` | = | I find the time to get through at least one new book a month. |
| `BK+` | = | I enjoy reading, but don't get the time very often. |
| `BK` | = | I read the newspaper and the occasional book. |
| `BK-` | = | I read when there is no other way to get the information. |
| `BK--` | = | I take in knowledge by osmosis |
| `BK---` | = | I did not actually READ the geek code, I just had someone tell me. |
Geeks, unlike the lower lifeforms known as nerds, have lives. They have things to do that are in the outside world. Of course, this is usually done with other geeks, but that's not the point. The point is, that geeks are not necessarily the outcasts society often believes they are. The fact is that society isn't cool enough to be included in our activities.
Geeks have traditionally had problems with sex (ie, they never have any). Because geeks are so wrapped up in their sexuality (or lack of sexuality), it is important that the geek be willing to quantify their sexual experiences.
Females may use 'X' in this category. Males may use 'Y'. Other genders may use 'Q'. Those who are non-binary or do not wish to disclose their gender can use 'Z'.