||Some or all of the formulas presented in this article have missing or incomplete descriptions of their variables, symbols or constants which may create ambiguity or prevent full interpretation. Please assist in recruiting an expert or improve this article yourself. See the talk page for details. (February 2011)|
||This article may require cleanup to meet Wikipedia's quality standards. (February 2011)|
The Geek Code 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 idea is that everything that makes a geek individual and different from all the other geeks in the world can be written down (encoded) in this very compact format. Then other geeks can read the geek code and work back from that to discover what the writer looks like, what interests they have, and so forth. This is deemed to be efficient in some sufficiently geeky manner.
Once created, geeks can use their geek codes anywhere they please. Previous places include emails, websites, letters, art, programming language comments, and even T-shirts. Nowadays, personal websites are the most common area, particularly "about me" sections.
The Geek Code was invented by Robert A. Hayden in 1993 and is defined at geekcode.com. This concept is used in many other occupations and groups such as goths (Goth Code) and even the Schlock Mercenary webcomic.
A few years before the Geek Code was published, similar codes existed for other purposes. The Natural Bears Classification System is a very similar code for the Bear community. Like the Geek Code, it generally uses a single letter for the attribute and + or − signs for the grade. It was inspired by the Yerkes spectral classification system for describing stars. Unlike the Geek Code, this spectral classification system uses classes, subclasses & peculiarities for categorization. These systems differ in their orthogonality, the Geek Code is very orthogonal in the computer science sense (may be projected onto basis vectors), where the Yerkes system is very orthogonal in the taxonomic sense (represent mutually exclusive classes).
In some parts of the net, it was once common practice to use a geek code as one's signature, though those times are now long past. One of the consequences of being so old in such a fast-moving field is that much of the geek code now looks rather dated. The World Wide Web is described as "relatively new and little understood" — while the latter may still be accurate, the former certainly isn't.
Hayden's own geek code is:
-----BEGIN GEEK CODE BLOCK-----
GED/J d-- s:++>: a-- C++(++++) ULU++ P+ L++ E---- W+(-) N+++ o+ K+++ w--- O- M+ V-- PS++>$ PE++>$ Y++ PGP++ t- 5+++ X++ R+++>$ TV+ b+ DI+++ D+++ G+++++ e++ h r-- y++**
------END GEEK CODE BLOCK------
Some revival attempts have been made since the Geek Code 3.12 became obsolete. See external links. The most faithful adaptation is the Geek Code 3.20 built end-of-2010 which aims at creating a permablock for all kind of geeks.
The Geek Code Block formatting, which is optional (though not in Robert Hayden's opinion), is a parody of the output produced by the encryption program PGP. Within the Geek Code Block there is a line specifying the version of Geek Code being used. The next line starts with the letter
G (for Geek) followed by the geek's occupation(s):
GMU for a geek of music, then the geek code proper begins. For geeks with multiple occupations, a slash or slashes are used:
GMD/TW, for instance, for a geek of medicine and technical writing. There are 28 occupations that can be represented. These are:
GB-- Geek of Business
GC-- Geek of Classics
GCA-- Geek of Commercial Arts
GCM-- Geek of Computer Management
GCS--Geek of Computer Science
GCC-- Geek of Communications
GE-- Geek of Engineering
GED-- Geek of Education
GFA-- Geek of Fine Arts
GG-- Geek of Government
GH-- Geek of Humanities
GIT-- Geek of Information Technology
GJ-- Geek of Jurisprudence (Law)
GLS-- Geek of Library Science
GL-- Geek of Literature
GMC-- Geek of Mass Communications
GM-- Geek of Math
GMD-- Geek of Medicine
GMU-- Geek of Music
GPA-- Geek of Performing Arts
GP-- Geek of Philosophy
GS-- Geek of Science (Physics, Chemistry, Biology, etc.)
GSS-- Geek of Social Science (Psychology, Sociology, etc.)
GTW-- Geek of Technical Writing
GO-- Geek of Other. Some types of geeks deviate from the normal geek activities. This is encouraged as true geeks come from all walks of life.
GU-- Geek of 'Undecided'. This is a popular vocation with incoming freshmen.
G!-- Geek of no qualifications. A rather miserable existence, you would think.
GAT-- Geek of All Trades. For those geeks that can do anything and everything. GAT usually precludes the use of other vocational descriptors.
There are a number of letters in the geek code, each of which represent a category. So, the lower-case letter
t represents Star Trek. The geek code's author has this to say about Star Trek:
- "Most geeks have an undeniable love for the Star Trek television show. Because geek is often synonymous with trekkie, it is important that all geeks list their Trek rating."
Meanwhile, the lower-case letter
r represents relationships. Geeks are less associated with relationships than they are with Star Trek, and the geek code says this about them:
- "While many geeks are highly successful at having relationships, a good many more are not. Give us the gritty details."
The geekcode website contains the complete list of categories, along with all the special syntax options. The choice of categories (from version 3 onwards) reflects what geeks consider important. Appearance takes up three categories, computers – thirteen, computer-related politics – two, general politics – two, computer-related interests – six, other interests – three, lifestyle and sex - four.
Category-specific modifiers 
Although some categories have special syntax, generally each category is followed by a series of
- signs showing how much the geek agrees or disagrees with the category. For example,
t+++ indicates a geek who thinks this about Star Trek:
- "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."
On the other hand, someone who puts
r--- in their geek code feels the following way about relationships:
- "I'm beginning to think that I'm a leper or something, the way people avoid me like the plague."
The meaning of each category can be changed in subtle or not-so-subtle ways using punctuation marks as modifiers. For example, an
@ after a category means that the geek's feelings on this category are not very rigid and can change with time, while a dollar sign implies the geek is in the enviable position of being paid for their work in this category.
Decoding a Geek Code 
Originally, geek codes were designed as a quick reference about a geek's preferences for use in .sig files on Usenet and email. Pete Williams wrote a program called ungeek.pl that automatically decoded a geek code into the English definitions. In late 1998, Bradley M. Kuhn made Williams' program available as a web service Joe Reiss made a similar page available in October 1999.
See also 
- Leet Speak
- New Speak
- The Natural Bears Classification System - A similar code for bear-like men which preceded the geek code by years
- Susan Leigh Star (1995), The cultures of computing, pp. 10–20
- VGR. "The Geek Code : online codec in English, French, Français ++ evolution 2010". Fecj.org. Retrieved 2013-03-12.
- Parker, Quintin (1997). "The Acorn Code – Geek Code Supplement". Archived from the original on 1997-07-13. Retrieved 2011-05-05. "The problem is, for us Acorn users, is that it asks you quantify all your opinions of UNIX and PC programs, whereas many of us wouldn't even touch them with a bargepole!"
- Robert Hayden. "geekcode.com". geekcode.com. Retrieved 2013-03-12.
- "The Geek Code Decoder Page". Ebb.org. Retrieved 2013-03-12.
- The site first appears in the Internet Archive on 7 December 1998 ("Geek Code Decoder history at the WayBack machine". The Internet Archive. 1998-12-07. Retrieved 2008-01-05.).
- Reference to the site first appears in the Internet Archive on 7 October 1999("Geek Code Decoder history at the WayBack machine". The Internet Archive. 1999-02-09. Retrieved 2008-01-05.).
- Robert Hayden's official Geek Code web site (presenting v3.12)
- Dane Jasper's presentation of the Geek Code v2.1
- Create your own Geek code
- Eri "Rei" Izawa's presentation of the Geek Code v1.0.1
- Dylan Northrup's The Geek Code Generator (web interface)
- Chris Gushue's Geek Code Generator (source code available; for various platforms)
- Randy LeJeune's Geek Code 2.1 Generator (source code available; tested on Linux, BSD, and Windows platforms)
- NMR's Geek Code 3.12 CODEC (source code available; only tested on DOS and Windows so far)
- Joe Reiss' Geek Decoder (translates geek code into English)
- Martin Mares' Geek Code Decoder (web interface; source code available; also translates the Furry Code)
- Greg Webster's OmniCode (a suggested replacement for the Geek Code)
- Chris Allegretta's Hacker Key Guide (unfortunately this one died out some time in the year 2007)
- Simon Shine's Hacker Key (ver. 5) Guide
- VGR's GeekCode 3.20 (online coder/decoder for Geek Code 3.12 (1996, Hayden) and Geek Code 3.20 (proposed evolution for 2010+, VGR) (bilingual EN, FR)