version 5, by Simon Shine <http://shine.eu.org> 2011-12-22.
version 4, by Chris Allegretta <http://www.asty.org> 2006-12-29.
The Hacker Key is an abbreviated way to describe the properties of hackers: What kind of hacking they do, what kind of fiction they like, what their stance is on cryptography, languages and games. It strives to replace the more popularly known The Geek Code of the mid-1990s. In spite of intentions of the author, The Geek Code was never renewed to encompass the diversity of geek/nerd culture, and some of the memes it does mention are so old that much of our current Internet population can only have a historical perspective on them.
Unfortunately, The Hacker Key version 4 died some time in the year 2007. This version 5 is brushed up and mainly targets the diversity of culture, eliminates some americentrism while preserving the original aim of targeting mainly computer geeks (hackers, programmers) who share a stereotypical love for science fiction, languages, games and flame wars.
You can read the section on design choices and why The Geek Code ever needed replacement, or you can proceed to create the hacker key that uniquely describes you.
A Hacker Key consists of a set of categories, a score for each category, and possibly an elaboration on that category. Categories are lowercase abbreviations listed below as e.g. Software Hacking (sw), Hardware Hacking (hw) and Language Hacking (ln), and the score is a number between 1 and 9 that indicates your current, perceived level. Some categories may allow elaboration by specifying one or more uppercase letters.
A Hacker Key allows modifiers to further elaborate on a category. They work as follows:
Categories are non-mandatory, so leaving categories out is a way to express indifference or reluctance to answer. You may choose to omit categories to keep the size of your hacker key below 80 characters.
Available categories are:
v5 -- The current version of The Hacker Key.
sw -- Software Hacking 9 - My three-letter initials are notoriously known on the internet. 8 - I wrote most of my development tools and contributed to popular codebases. 7 - I wrote a shell/debugger/editor/compiler in 30 lines of code. 6 - I have a public software repository and someone even cloned my code once! 5 - My compilers have the latest versions. I memorize compile flags. 4 - I've patched code once or twice for personal use. Writing software isn't my thing. 3 - I don't hack software. Hacking implies tinkering, and I work structured! 2 - I don't hack software, but my screensaver has those green digits from The Matrix! 1 - I'm a manager or work in Human Resources. Hacking is illegal! hw -- Hardware Hacking 9 - My Silicon Valley venture taught me about the real world. 8 - My hardware designs were used in actual products. 7 - I rely on my own hardware. Complying with standards is a pastime. 6 - I've made several hardware drawings. I favour one set of instructions. 5 - I took a machine architecture course. I can build a pipelined processor. 4 - I build PCs regularly, sometimes even for sport. Friends rely on me. 3 - I've built a PC or two in my day. It's just easier to get them pre-made. 2 - People ask me what USB stands for. I know the answer, too. 1 - I wouldn't want to void my warranties. pr -- Programming 9 - My natural-language sentences typecheck in popular theorem provers. 8 - I have contributed to popular programming language development. 7 - I sometimes prototype my thoughts in my favourite formal language. 6 - I have a customized working environment, and I bookmark my documentation. 5 - I'm a programmer, not a hacker. 4 - I've written code, mostly because I had to. The result was decent. 3 - Comments!? If it was hard to write, it should be hard to read. 2 - I've written Hello World. My programs don't do that much. 1 - Programming? I've got a DVD, not a VCR! Indicate your preferred genre of hacking language Your favourite programming language may be functional, object-oriented, multi- paradigm and a web-based scripting-language, but why do you primarily use it? I - Imperative (C, Fortran, Pascal, Assembly) F - Functional (Standard ML, Haskell, Lisp, Scheme, Clojure) C - Concurrent (Erlang, Occam, Go, Orc) O - Object-oriented (C++, Obj-C, Java, C#) M - Multi-paradigm (Python, Scala, JavaScript) S - Scripting (PHP, Python, Ruby, Perl) W - Web-based (PHP, ASP, VB.NET, JavaScript) E - Esoteric (Brainfuck, Unlambda, Malbolge, Befunge) L - Logical (SQL, Prolog, Verilog) X - Hackish (TCL, Perl, Shell-script, LaTeX, Haxe) ck -- Cracking 9 - My botnets, zero-days or full-disclosures change the landscape. 8 - Black Hat - Script kiddies worship me. If the police know what I'm doing, they have nothing concrete on me. 7 - I write the 'sploits that all the script kids use. It's an intellectual challenge, and besides, I've got a regular job. 6 - Grey Hat - It really depends on who benefits from what I do. 5 - I try to break into systems occasionally. It's for educational purposes, that's it! 4 - White Hat - I study exploits because I'm the one who has to patch the systems when they get released. I subscribe to CERT. 3 - I've tried once or twice, but it felt wrong or uninteresting. 2 - I don't ever try to break into a computer, that's against the law! 1 - I barely know how to crack an egg!
edu -- Education What is your level of education? 9 - I am omniscient, you insensitive clod! 8 - Ph.D. 7 - Master 6 - Bachelor 5 - College or vocational training (non-academic) 4 - High School 3 - I stick to reading Wikipedia-articles. 2 - Elementary/Middle School 1 - I am uneducated. It's a coincidence that I found my way here! Modifiers: A - Auto-didact I - Incomplete ln -- Language Hacking 9 - I am J.R.R. Tolkien or Noam Chomsky. 8 - I've had my pet language used and studied by others. 7 - People who don't know me have used words I've coined. I've written my own artificial language. 6 - I've learned at least one artificial language, or I'm a linguist. 5 - I just picked some formal linguistics or phonetics along the way. 4 - I've coined a phrase or made up a new word or two. 3 - I'm a grammar nazi and strive to speak $LANG properly. 2 - I spell wrong, use unorthodox abbreviations and emoticons in my normal writing, but somehow my messages get through to my intended audience. 1 - I'm illiterate. (Alternatively: I'm a Slashdot editor!) ma -- Mathematics Indicate your mathematical proficiency. 9 - I won a million dollars once solving a hard problem. 8 - Category theory, topology, abstract algebra. I am a peer-reviewed scientist. 7 - I've got a BSc in mathematics. My friends think I am too abstract. 6 - Probability/Statistics. I'm a practical person. 5 - Linear Algebra. I think systematically but don't prove too many things. 4 - Calculus: Limits, functions, derivatives, integrals... that's about it. 3 - High School mathematics. I can isolate the X and solve quadratic equations. 2 - Elementary arithmetic. Anything beyond a simple calculator baffles me. 1 - I'm angry at numbers. There's like, too many of 'em and stuff.
os -- Operating Systems Your general interest in computer operating systems. 9 - My own operating system makes money, or is used in teaching. 8 - I wrote an entire operating system that nobody uses. 7 - I've participated in writing a common distribution for my system. 6 - I've manually configured large parts of my own system. 5 - I've signed up with local user groups or participated in meetings. 4 - I dual-boot two or more operating systems. Each has its purpose. 3 - I run a virtual machine with another operating system. I'm curious. 2 - I am quite happy with the system that I've always used. 1 - I don't know. I live inside a web browser. What is your preferred genre of operating systems? U -- Unix (Linux, BSDs, etc.) W -- Windows (XP, Vista, 7, etc.) M -- Mac OS (X, or earlier) O -- Old/Other (OS/2, Plan 9, or other) ed -- Text editor/IDE E - Emacs. Vi has two modes: One that beeps and one that destroys your text! P - Power User. My Notepad++/TextPad/etc. variant has loads of plugins. G - Generic graphical IDE (Eclipse, Anjuta, Visual Studio). I code by auto-completion. D - Default. You mean there are different editors? M - Minimalist. My editor can load files, save files and edit files. Tada! O - Old-school. I am too old-school for this war. I use ed, ee or similar. V - Vi(m). Operating an implicit state-machine is a very natural way of thinking. X - Other. cr -- Cryptography: Perfect privacy, or effective data mangling? 9 - My peer-reviewed encryption schemes pioneer future digital communication. 8 - As a principle, I refuse to send or store plaintext. I don't own a GSM phone. 7 - I contribute to privacy-enhancing services on the Internet (e.g. Tor). 6 - My key sizes, expiration dates and choices of algorithms comply with the most recent expert advice. I see it as my duty to propagate this wisdom. 5 - I sign all my emails. If your public key is available, I encrypt them, too! 4 - I have a public key, and I might even remember how to use it! 3 - I encrypt a portion of my harddrive for my most sensitive data. 2 - I endorse the idea, but find it too difficult to use in practice. 1 - Encryption is needless overhead. Users must have something to hide!
tv -- Television and tv-series In recent decades, an explosion has happened in the availability of tv-series. Of the tv-series that depict the stereotypical geek/nerd, there are ones that feature brainiac academics and ones that feature office grunts with it-skills. There are even several series with crime-fighting geeks. And the classical Star Trek vs. Star Wars vs. Babylon 5 is being shadowed by numerous tv-series that blend science fiction and fantasy. The Hacker Key as of version 5 does not support information about tv habits. Send me an email if you have an idea about how to support this. bo -- Books Some hackers read fiction, some stick to fact and others stick to hacking. What is your average consumption of fictive works? 9 - I read one book a day. I have library cards in three states. 8 - I consume at least a book or two a week. 7 - I find the time to read at least a book a month. 6 - I read the newspaper and the occasional recommended book. 5 - I enjoy reading, but I don't make the time very often. 4 - I read about books, and then I watch the filmatizations. 3 - I read every day. You mean besides documentation? Then no. 2 - I'm an avid reader of cartoons, commercials and food labels. 1 - I didn't actually read The Hacker Key. I just had someone tell me. ga -- Games 9 - I'm Peter Pan. 8 - My time is divided strictly into working, sleeping and playing. 7 - Not only do I play games, I invent games and people enjoy them. 6 - I rate games online and contribute with strategy guides. 5 - I spend several hours a day playing. 4 - I spend several hours a week playing. 3 - I play games at least once a week. 2 - I play games during social events. 1 - Games? Life is serious. C - Computer Games (MMOs, MUDs, FPS, etc.) L - Roleplaying (LARP, Pen & Paper, Theatre) B - Boardgames S - Sports D - Drinking games X - Game of Life is a game, right? Well, I'm a cellular automaton!
a -- Age a[0-9]+ - Current age Modifiers: I - Immortal ge -- Gender W - Woman M - Man I - Intersex T - Transgender Q - Queer s -- Sexuality Geeks have traditionally had problems with sex (by not getting any). But with geeks in all ages and in all stages of life, quantifying this may give an impression of where you are. 9 - I've worked with sex professionally. It's just like hacking. 8 - I've had real, live sex with more than one person. 7 - Not only have I had sex, I have noisy proof of my fertility! 6 - I was once referred to as 'easy'. 5 - I've had real, live sex. 4 - I've had sex. Oh! You mean with someone else? Then no. 3 - Not having sex by choice. 2 - Not having sex because I just can't get any. 1 - Not having sex because I have either no genitals or no sex drive. Modifiers: G - Homosexual S - Heterosexual T - Transsexual A - Bi-/Omni-/Pansexual C - Curious P - Pervert p -- Politics For version 5, determine the "Economic Left/Right" and the "Social Libertarian/ Authoritarian" scores on The Political Compass (www.politicalcompass.org), then round them off and use a forward slash for negative values. Separate the two values with a plus. For examaple, if my values are -4.20 and -5.10, the result would be p/4+/5. h -- Housing There's no place like $HOME. But where is that? 9 - I own a lair with a secret entrance. 8 - I live in a protected home. People do my bidding. 7 - I live in a place with one or more fellow geeks. 5 - I live in a place with people who don't understand my geekiness. 5 - I live in my own place. 4 - I live in my own place. It's a garage, however. 3 - I live at home. Well, my parents live here, too. 2 - I live at work / in school. Literally. 1 - I live on the street. Will code for food! et -- Etiquette Your general level of etiquette. This describes your ability to behave as expected in various social situations. For some geeks, this is surprisingly difficulty, and for others, studying 17th century code of conduct is a pastime. 9 - I am or have regular relations with royals / diplomats. 8 - I study 17th century code of conduct as a pastime. 7 - I have read authoritative books on contemporary etiquette. 6 - I know my way around cutlery. 5 - I introduce myself and others at appropriate times. 4 - I bow and smile for good measure. 3 - I sometimes wash my clothes. 2 - I know when not to burp or fart. 1 - My diagnosis exempts me from being polite. Modifiers: I - My knowledge of etiquette is based on Internet forums. R - My knowledge of etiquette is based on roleplaying. S - My knowledge of etiquette is based on sci-fi series.
For version 2, I would like to thank: Daniel Keep, Luke-Jr, Tony Lainson, and Cody Hatch for the overhaul of the Politics section.
For version 3, I would like to thank Jon Spriggs, Stephen E. Mynhier, Kyle Goetz, Neil Williams, Roie Marianer, Eric Davis, and Joey Harrison for their category or organization suggestions.
For version 4, I would like to thank Scott A Gallaher (w), Thomas
Jollans (ma and e), Jon Wickes (g), Matej Cizek and Fabio Emilio Costa (b),
Sandy Knight for O in (l) and (i), and especially Carlos Alberto Pinto
Peixoto Bastos Santos for the various suggestions for (l) and pointing me to
the Political Compass website for (p).
Copyright (c) 2003-2006 Chris Allegretta Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Changes are copyleft 2011 Simon Shine under the GNU FDL.