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 which 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, then a student of Stanford. It consisted of only about five categories.
Version 0.2 was mostly a spelling and bug fix.
Version 0.3 added a couple more 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 bug-fix 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 in order 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, some altered. The v3.x undergraduate weltanschaung has been supplanted by a more seasoned outlook.
[Click here to see Version 4.0!](https://github.com/telavivmakers/geek_code/blob/8903d925d6660d9afa661d6cb99f13976d95242f/README.md)
Version 4.5 was mostly bugfixes to make the current geek code internally consistent, and correct any older 3.x code that was lurking in the shadows.
# Welcome to The Geek Code Version 5.0
The code is no longer case-sensitive, and can now be written in UPPERCASE or lowercase. 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 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 will not match with you exactly, so choose that qualifier that most closely matches you.
Given a set of category/qualifier strings for any of the above (skip anything you dont want to answer/not relevant/classified/unknown/indeterminate/etc). A GEEK CODE BLOCK similar to the output created by PGP attempts to universalize how you will see the Geek Code around the net. Line breaks can be added if needed.
It's time to assemble your code for displaying to the world. Take the substrings and concatenate with a space between. When completed, it will look something like the following:
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+++@.
^ = 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)
? = 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 lack of knowledge, while the ! indicates stubborn refusal to participate.
For example, !M would be a person that just plain refuses to have anything to do with Macintosh, while M? 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).
The Geek, of course, doesn't believe any of that crap; on the internet, no one knows you're a dog, according to 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. 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.
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. Thus d+++:--- indicates extremely tall and thin.
There is a record of geeks that don't use computers. Unfortunately, they are all dead, having lived in an era of no computers. All modern geeks have some exposure to computers. If you don't know what a computer is, you need to go back into your shell.
Most geeks identify themselves by their use of computers and computer networks. In order to quantify your geekiness level on computers, consult the following (consider the term 'computers' synonymous with 'computer network'). This category represents "general" computer aptitude. Categories below will get into specifics.
C+ = 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'.
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.
List a series of languages and your facility/opinion thereupon, for example Lpy++/R+ would indicate high proficiency in python and above average knowledge of R.
Many geeks have abandoned the character-based computer altogether and moved over to the Macintosh. It in important to give notification of your Mac rating.
M-- = 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.
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 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 has seen the rise of the political geek. This phenomena 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++ = I give to liberal causes. I march for gay rights. I'm a card carrying member of the ACLU. Keep abortion safe and legal.
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.
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…
TT+++ = 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.
TT++ = 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.
TT+ = It's a damn fine TV show and is one of the only things good on television any more.
TT = It's just another TV show
TT- = 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.
TT-- = 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.
B++++ = 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.
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 kool 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.