The Geek Code was developed in 1993 as a system of letters and symbols used by self-proclaimed "geeks" to provide information about their personality, appearance, interests, skills, and opinions to other geeks.
This code aims to offer a brief yet comprehensive depiction of one's self within the realm of geek culture. It covers key dimensions using a limited number of categories, which are further specified with qualifiers or quantifiers. The goal is to encode everything that defines a geek's individuality into a compact format that only other geeks can comprehend, which is thought to be an efficient approach within geek culture.
Robert A. Hayden, a student and later a graduate of Mankato State University, created and wrote Version 0.1 of the Geek Code, which only had about five categories. Version 0.2 focused on correcting spelling and bugs, while Version 0.3 added a few more categories.
The web links provided in this text are some of the earliest examples of the Geek Code still surviving on the internet. In the case that these websites disappear or stop loading, a backup of the old code has been created for posterity in this GitHub repository.
[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 2.0 was released a year after Version 1.0, and at least 75 additions were included in that version, representing the recommendations of dozens of people. This milestone also signifies the moment when the geek code had expanded to such an extent that it ultimately needed to undergo revision in order to maintain internal coherence.
Version 3.x, which was released on March 5, 1996, was a significant refinement over Version 2.x, aimed at eliminating many of the non-geeky categories to make room for more geeky traits. Some of the odd categories that were removed in 3.x included automobiles, nutrition, and even Barney.
The geekcode Linux package, which is presently accessible on Debian and Ubuntu, operates on Version 3.12. However, it is imperative to note that this Linux package solely comprises the rudimentary form of the Version 3 Geek Code and is bereft of support for crossovers and variables.
Version 5.0 eliminated case-sensitive categories and modified some letters and categories. The latest versions of the Geek Code are aimed at giving geeks a better platform to express their interests.
This updated edition has been revised by ChatGPT, who has improved the language for better comprehension, flow, and enriched vocabulary. Additionally, all spelling, grammar, and punctuation mistakes have been rectified.
Although the original content remains unaltered, we classify this as a fresh rendition, as the alterations made to the text were significant, and the modern AI approach taken to refine it is unique from previous versions.
The code is made up of alphanumeric identifiers that represent different categories and subcategories. Following these identifiers are qualifiers, represented by the symbols + and -, that indicate factors such as amount, size, or level of proficiency. These qualifiers can be stacked to provide more specific information, such as `H+++`, which indicates an individual with an extremely high level of skill in Hardware.
The broad categories that can be encoded are: Geek of, Wetware, Computers, Politics, Entertainment, and Lifestyle. Each category has its own subcategories, and you can provide as much or as little detail as you like. For example, `U++` indicates a person with a high level of interest or proficiency in Unix, while `ULDU++` indicates someone with a particular interest in Unix/Linux/Debian/Ubuntu. Additional subcategories can be indicated with a forward slash, such as `GCS/GM`, which indicates a Geek of Computer Science and Math.
Some categories may not be relevant to you, so you can ignore them. Also, some of the qualifiers may not be a perfect match for your level of proficiency or interest, so choose the qualifier that most closely reflects your abilities.
Once you have provided a set of category/qualifier strings for any of the above, it's time to assemble your code for display. Simply concatenate the substrings with a space between them. Your final code might look something like this:
When it comes to sharing code, using a long line can be unwieldy and difficult to read for the user. To improve the readability, it's advisable to incorporate line breaks in between certain categories. This approach can help create a rough box shape that makes the code more accessible and easier to follow.
| `_` | = | (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. |
In order for a person to commence coding, they must first identify themselves as a geek. This is achieved by beginning the code with a "G" which stands for "GEEK", followed by one or two letters that indicate the geek's profession or area of expertise. Geeks who possess multiple skill sets in various vocations should utilize a slash to distinguish each of their talents (e.g., GCS/MU/TW) and showcase their multifaceted abilities.
| `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. |
It is often said that first impressions are crucial and can never be undone. However, The Geek holds a different opinion. As per an ancient meme, "on the internet, it's impossible to distinguish a person from a dog". Despite that, this section provides an opportunity to disclose information about one's appearance, possibly for dating reasons or other trivial matters. Moreover, it enables us to kickstart with the basics, denoting age, beard, clothing, and dimensions using the abbreviations 'ABCD.'
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. Employ the following descriptions to indicate your age in Terran years, using a base 10 system, of course.
Facial hair has a significant presence in the geek community, serving as a means of expressing one's personal style and countercultural leanings. Although the concept of ["unix beards"](http://www.usenix.org.uk/content/unix_beards.html) may not apply to everyone, it still deserves recognition and inclusion in this category.
Thus `B_:++:+:++:_` means that geek has an average head of hair, with an impressive beard, thick brows, an equally impressive mustachio, and ordinary sideburns.
| `C++` | = | I have a tendency to opt for more traditional and formal attire, such as a sharp business suit, and on occasion, I may even wear a tie. |
| `C+` | = | Appropriate attire for leisure activities includes slacks and a button-up shirt, among other options. Jeans, tennis shoes, and t-shirts should be avoided. |
| `C` | = | My wardrobe bears a striking resemblance to those depicted in catalog advertisements. The pieces lack any unique characteristics, are uninteresting, and fail to convey a sense of purpose or individuality. |
| `C-` | = | My typical attire consists of jeans and a comfortable t-shirt. |
| `C--` | = | My t-shirts are not just ordinary pieces of clothing. They boast a stylish political message, making them all the more unique and fashionable. |
| `C---` | = | My punk fashion style can encompass a variety of elements such as distressed denim pants and tops, as well as body adornments like piercings and bold tattoos. |
| `Cpu` | = | I have a tendency to wear the exact same attire consistently, disregarding the type of event or activity I'm attending. This is mainly due to my forgetfulness in washing my garments in between wearings. |
People who are considered geeks come in a wide variety of forms. The initial portion indicates the vertical extent, while the latter represents the horizontal extent. The two parts are delimited by a colon.
It is a known fact that there existed a group of individuals who were classified as geeks, but surprisingly they did not use computers. However, their era was devoid of such technology, and unfortunately, they are all no longer alive.
In this day and age, it is expected that geeks have some level of familiarity with computers. If, for some reason, you have no idea what a computer is, it's high time you acquaint yourself with the technology.
For many geeks, their identity is closely tied to their proficiency in using computers and computer networks. To evaluate your level of geekiness when it comes to computers, consult the following guide. This first category will serve as a general indicator of your computer aptitude, while the subsequent categories delve into more specific areas.
| `CM++++` | = | I want to be the first in line to have the cutting-edge cybernetic interface implanted into my body. |
| `CM+++` | = | "Are you telling me that there's more to life than just being online? It's been weeks since I last logged out. I've been spending my time on StackOverflow, providing answers to various questions." |
| `CM++` | = | As someone who has embraced the digital age, computers are an integral component of my everyday life. I am adept at coding in at least one programming language and frequently refer to StackOverflow to resolve any technical queries that I encounter. |
| `CM+` | = | I find computers to be entertaining and fun to use. Furthermore, I possess enough knowledge that when prompted with the instruction 'press any key to continue', I need not scour the keyboard in search of a specific key labeled 'ANY'. |
| `CM` | = | Computers are a mere instrument, devoid of any intrinsic value. I resort to its employment solely when it is conducive to accomplishing my goals. |
| `CM-` | = | If I encounter anything that goes beyond the capabilities of my calculator, I am in serious trouble. |
Let us know the extent of your expertise by rating your level of "Windows geekiness". Feel free to include the versions of Windows you have had experience with, or are currently utilizing. To give an example, a rating of `MW11+++` indicates that you possess exceptional proficiency in using Windows 11.
| `MW++++` | = | As an expert in MS Windows programming, I have successfully crafted and compiled more than one executable file (.exe), installation package (.msi), or dynamic link library (.dll). My proficiency in this field is unparalleled, and I take pride in my ability to deliver top-notch results. |
| `MW+++` | = | I specialize in compiling code for Microsoft platforms. |
| `MW++` | = | I have utilized my knowledge of Windows REGEDIT to bypass security protocols and remedy a number of glitches on my personal computer. Some people think I'm a hacker. |
| `MW+` | = | My computer is an ultimate expression of my personal style, with customized sounds, wallpapers, and screen savers that bring the fun house to my desktop. I've even gone as far as installing an impressive array of a hundred fonts, though I've yet to find the perfect opportunity to use them. |
| `MW` | = | Although I utilize Windows solely for a particular reason such as playing games on Steam, I must admit that I do not necessarily enjoy its use. |
| `MW-` | = | I'm always have trouble installing MS Windows on my device, and frequently I face issues with one of my peripherals that does not function properly. |
| `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 appears that most tech enthusiasts prefer a Unix-based operating system. In order to showcase your proficiency with Unix, it is helpful to identify the specific Unix OS that you utilize. This can be done by incorporating a letter in your rating that denotes the brand. As an example, `UL++++` signifies that you are a system administrator operating on Linux.
| `U++++` | = | I am the sysadmin. I caution against attempting to breach the security of my computer. If you do, don't be shocked if the municipal works department receives an "unintentional" computer-generated request to commence construction on a new landfill on your property. |
| `U+++` | = | There's no need for me to crack into /etc/passwd since I've made a modification to su that eliminates the need for a prompt. As a result, the admin staff is unaware of my presence. |
| `U++` | = | I have managed to annoy the entire administration as a result of my constant utilization of all the CPU time and attempts to run programs that are beyond my authorized access. |
| `MC++` | = | As a highly skilled Mac expert, I possess a vast array of knowledge and capabilities. I am confident in my ability to outperform those individuals who specialize in other operating systems such as DOS or Unix. Even in cases where I may not have immediate expertise, I possess the skills and ingenuity necessary to create the software required to accomplish any task. |
| `MC+` | = | A Mac serves various purposes, and I frequently utilize it in my daily activities. |
| `MC` | = | Although I utilize a Mac, my feelings towards it are relatively ambivalent. |
| `MC-` | = | Macs are inferior. True technology enthusiasts only use a command line interface, or a character prompt, for their computing needs. |
| `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.
| `Lpy++` | = | I maintain and provide contributions to the Python code base. |
| `Lpy+` | = | As a devoted Python enthusiast, I consistently utilize this programming language in my work. I take pride in aligning my statements with the principles of "pythonic" coding. |
| `Lpy` | = | I am neutral towards Python; it is decent for certain purposes. |
| `Lpy-` | = | Python is a programming language for hobbiests |
| `Lpy--` | = | I hold a strong aversion towards python; it appears to be an unsightly deviation that only caters to those who are unable to comprehend the intricate capabilities of [C|Lisp|assembly]. |
How do you go about handling your data? And, once you have it, how do you effectively communicate it to others? Input/Output, consisting of two distinct sections separated by a colon, determines just how easily you are able to navigate and make sense of your data.
| `---` | = | Keep the data and code out of sight. I focus on creating an attractive graphical user interface for maximum impact. | The concept of 'user experience' holds no significance to me. In my view, users can be effectively studied and understood through 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). |
Version control systems are an essential tool for many programmers and technology enthusiasts. Please share which version control system you prefer and your corresponding username, allowing us to easily locate you.
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.
Where, in general, your political views on different social issues fall. The + and – ratings here roughly indicate left/right on the political spectrum.
Subcategories (give yourself a geek point if your first thought was 'actually, subsubcategories') As of v4 some new subcategories are added to the PS and PE categories.
| `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'.