*** HACKER KEY GUIDE ***

             *** Version 4 ( Remix Edition ) ***

Table of Contents:

About the Hacker Key Guide
Geek Code Pluses
Geek Code Minuses
Hacker Key Design Goals
Format of a Hacker Key Entry
Modifiers (Variables)
The Guide Itself
Displaying your Hacker Key
Blame
Feedback
License
History

About the Hacker Key Guide

The Hacker Key Guide was inspired by Robert Hayden's excellent
Geek Code which has been a long time hacker favorite.  However,
the Geek Code has not been updated in a long time, and although
the commercialization of the Internet has washed away much of
the old hacker environment (MUDs, BBSes, DOS...), we must
attempt to keep hacker traditions alive, by reimplementation if
needed.

Let's look at a sample Geek Code Block:

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s+: a- C++ US++++ 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------

The Geek Code does many things well:

 • It's VERY geeky.  Short text strings with + or - delimeters
   to show relative positions on an issue.
 • It's unique.  It's very easy to identify the geek code and
   it has been picked up by other groups looking for ways to
   identify themselves, showing its versatility.
 • It's very simple to determine which things a person is very
   passionate about.  In the above example, a quick glance
   shows the person seems to be a married, liberal, Unix
   loving geek who doesn't care for TV shows all that much.

However, there are also some problems with the GeekCode:

 • First and foremost, there is a lot of wasted space.  While
   it makes it very easy to determine a person is a master of
   something with 5 plus signs, it's plain wasteful.  The
   primary (and most logical) place to display one's geek code
   is in one's signature file.  Even today, netiquette still
   favors short signature files, and the average Geek Code is
   6 lines all by itself.  Geeks tend to follow netiquette
   when possible, so this leads to the very people targeted by
   the Geek Code not promoting it in their sigs!
 • The code is designed to resemble a PGP key block, but
   includes characters that are not valid in a PGP key, in
   particular, the minus (-) symbol and parentheses () are
   very commonly used.  Valid characters in a PGP key are
   [A-Za-z0-9], plus (+) and slash (/). There are no spaces in
   a normal key either.
 • It's not cryptic enough ;-)  This is jest, but it's almost
   TOO easy for one to determine a person's Geek Code at a
   glance, which sort of takes the secret-decoder-ring-type
   fun out of things.
 • The aforementioned problem with the Geek Code being out of
   date.

The Hacker Key Guide hopes to keep the good aspects of the Geek
Code and improve on some of the bad ones.
Design goals for the Hacker Key Guide are:

1. A normal key with a few extra category choices should fit
   on one 80 column line of text.  Ideally, it should fit with
   enough room for the Hacker Key URL to fit on the same line,
   to give people some shot at figuring out what the heck it
   is.
2. Ensure that the most commonly used symbols are valid PGP
   key symbols also.  For compatibility with the Geek Code we
   will use more symbols which aren't valid, but will make
   sure the most commonly used ones are.
3. Keep the Guide up to date.  I can only promise I will
   either keep the guide up to date or turn it over to someone
   who will.   Time will tell if I can keep that promise.

Format of a Hacker Key Entry

A Hacker Key is constructed as follows:

 • The category in question will be listed in all lower case
   (e.g. u is for Unix).
 • The number corresponding to your answer to the category
   (e.g. 7).  Rather than plus or minuses, a median score of 5
   is assigned for each category.  Extremely positive answers
   are higher than 5 (the normal maximum is 9), negative
   answers are lower then 5 (the normal minimum being 0).
 • Optional cagetory choices should be at the end, and should
   be in all upper case (e.g. SL for Solaris, Linux).
 • When proceeding to the next section, do not skip a space!

So for our example, the Unix category would be filled out as:
u7SL

Modifiers

The most commonly used Geek Code "variables" seem to be
"ranges" (@ and ()) and "wannabe"  (>).  To follow Design Goal
#2, the following changes have been made for the Hackey Key:

 • / - To indicate a "range" answer, use the slash (/) key in
   your answer.  For the (@) freely ranging option, use a / at
   the end of your numerical answer, e.g. u5/.  To indicate a
   specific range in your answer, use the slash between your
   two answers, e.g. u5/7.
 • + - To indicate your "wannabe" rating, use the plus (+)
   symbol.  Yes it looks odd and (>) is a more intuitive
   character, but to not use a valid PGP key character when it
   is one of only two available non-alphanumeric characters
   would be a travesty.  For example, if you kind of like Unix
   but wished you were a guru, you would use u5+8.

The remainder of the symbols are compatible with the Geek
Code.   These are listed for compatibility with the Geek Code,
though they are very much optional and are invalid characters
in a PGP key anyway.  For completeness here they are:

 • $ - To indicate you do a certain type of hacking of related
   activity for a living, add a $ at the end, e.g. u9$
 • ? - State that you don't know anything about this
   category.   If this is the case however, why are you
   creating a Hacker Key?
 • ! - Staunch refusal to participate in the category.  This
   should normally accomplished with a 0 for a category, so it
   really should not be used.  In order to be consistent with
   the Geek Code, if you DO decide to use this character,
   please put it ONLY at the begining of a category and
   obviously do not enter a number value.

The Guide Itself


--- begin GUIDE
v - Version - Please include the current version as the first entry in
your Hacker Key.

The current Hacker Key version is v4.

Part I - What kind of hacker are you?

sw - Software Hacking

9 - I'm Bill Joy, Eric Raymond or JWZ.
8 - I am an uberhacker; I wrote my shell/debugger/editor/compiler in
   30 lines of code.  Other people use and love my hacks.
7 - Live to Hack, Hack to Live!
6 - There is nothing better than an elegant hack.
5 - Average, I've made a few software hacks in my day.
4 - I've hacked code once or twice, software isn't my thing.
3 - I don't hack software at all.  I'm a structured programmer!
2 - I'm not even a programmer, much less a hacker!
1 - I'm a manager and/or work at IBM.

Indicate your preferred hacking language

C - C(++)               P - Perl        Y - Python      U - Unix Shell
B - (Visual) Basic      J - Java        A - Ada         S - Assembler
L - Lisp                G - Prolog      M - Scheme      F - Fortran
H - PHP                 R - Ruby


hw - Hardware Hacking

9 - I am Steve Wozniak.
8 - I have my own eeprom burner in the basement.  I won't use what I
   didn't make myself.
7 - I have had my hardware designs used in actual products.
6 - I've toyed with a few hardware drawings, but never made my own hardware.
   I know PC hardware like the back of my hand.
5 - I built every PC in my home from the ground up.  Newegg knows me by
   my first name.
4 - I've built a PC or two in my day. It's just easier to get them pre-made.
3 - People ask me what USB stands for, I know a thing or two about hardware.
2 - I know how to put my computer together without a diagram.
1 - Dude!  You got a Dell!


ln - Language Hacking

9 - I am J.R.R. Tolkien.
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 am known for certain words or phrases, my friends use my linguistic
   creations regularly.
5 - I've coined a phrase or made up a new word or two.
4 - I'm a grammar nazi; people hate to talk to me because I correct them
   mid-sentence.
3 - I hate people who don't follow the basic rules of $LANG, which I
   strive to speak properly.
2 - I'm illiterate and/or can only speak IM: l8r sk8r!
1 - I am a Slashdot editor.


pr - Programming - Hey, some hackers think they're programmers ;-)

9 - I only program in ADA, and LOVE IT!
8 - I'm currently programming my IDE-brain connectivity link.
7 - I do a lot of programming, and spend a lot of time in my IDE of
choice.
6 - I'm definitely a programmer, not a hacker.  I like it basic, a text
editor and a compiler/debugger.
5 - I'm your average programmer, I prefer to think I'm a hacker
4 - I will sacrifice elegant design for performance or size
3 - Comments are for sissies!  If it was hard to write, it should be
hard to read.
2 - I can write hello world, but my programs don't do that much.
1 - I can't program at all.

Indicate your programming methodology

O - Object Oriented     S - Structured          A - Aspect Oriented
U - Unified             R - Rational Unified    P - Procedural
F - Functional


ck - Cracking - The malicious act of hacking into systems that gets all
    the headlines; what non-technical people consider 'hacking'.

9 - I work for @Stake or write for 2600.
8 - I write the 'sploits that all the kiddies use.  I would be a
   professional black hat except for this economy.
7 - Black Hat - Cracking is old hat to me.  I only compromise a system
   if it looks like a challenge.  Script kiddies worship me.
6 - Grey Hat - Some of my cracking is for good, some is for evil.  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.  I stick to warez.
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!


ma - Mathematics - Mathematics plats a large part in computing, and
hence hacking.  Indicate your highest completed Math course.

9 - Advanced Calc/Theory
8 - Differential Equations
7 - Calc II
6 - Probability/Statistics
5 - Linear Algebra
4 - Calc I
3 - I finished HS Math and realized that was enough for me
2 - Still in secondary school/high school & doing just fine.
1 - I'm angry at numbers.  There's like, too many of 'em and stuff.


II.  OS Wars

u - Unix

9 - I am Ken Thompson.
8 - I am a guru.  Everyone asks me for help with their Unix
   machines. Unix is more than an OS, it's my religion!
7 - I use exclusively Unix on all my computers.  If it's not Unix, it's CRAP!
6 - I really like Unix; I've installed Linux once or twice but primarily
   use Windows or MacOS for my daily needs.
5 - Unix is okay, it's just a tool like any other.
4 - Mac OS X is as close to Unix as I like to get.
3 - I dislike Unix, it's too cryptic, and what's this shell crap!  The GUI
   is far superior!
2 - Unix is an abomination.  It's one of those dead OSes that doesn't realize
   it's dead yet.
1 - I am Bill Gates.

Insert your most (least) favorite *nix OSes:

L - Linux       I - Irix        A - AIX         S - (Open)Solaris
F - FreeBSD     N - NetBSD      O - OpenBSD     B - Other BSD
H - HP-UX       M - MacOS X     T - Tru64


w - Windows

9 - I work for Microsoft, they call me code monkey....well just monkey.
8 - I install every beta build of the newest Windows release I can
   get off the 'net.  I want to work at Microsoft.
7 - I've developed my own Windows programs, VB and .NET 0wn me.
6 - I really like Windows; I have my desktop theme and screensaver
   just they way I want them.
5 - Windows is OK, I'm pretty indifferent about it.
4 - When are they going to stop stealing other people's ideas and come up
   with something INNOVATIVE?  I still run it though, what else is there?
3 - I keep Windows on my hard drive only to test new hardware I buy.
   Linux rulez!
2 - I have totally annihilated Windows off my hard and haven't looked back!
1 - I've never actually run Windows, I am completely untainted!

Insert your favorite Windows OS(es):

D - MS-DOS/Windows 3.x  N - Windows NT          T - Windows 2000
W - Win95/98/Me         C - Windows CE/Mobile   X - Windows XP
U - Windows Server 2003                         V - Vista

Special modifiers
G - I use Windows machines but only with Cygwin installed


m - MacOS (X).  Let's face it kiddies, OS 9 is dead.

9 - I am Steve Jobs.
8 - I've written books about programming with Cocoa and Carbon.  See you
   at the WWDC!
7 - I love it!  The power of Unix and a slick aqua GUI are the
   height of computing. I've written the occasional app or two.
6 - I like the new MacOS.  Finally stability AND ease of use!
5 - MacOS X is okay.  A nice GUI front-end for a Unix OS.
4 - I don't like it.  There's not enough emphasis on the CLI.
3 - I hate it.  The GUI takes up half my RAM and it still locks up on me
   even though it's UNIX based!
2 - I despise MacOS X.  I miss "Classic" MacOS (<= 9).
1 - I despise MacOS X.  I miss the Apple ][.


l - Linux.  The free OS that changed computing.  For GNU/Free Software
   folk, use g/l (GNU/Linux) instead.

9 - I am Linus Torvalds or Alan Cox.
8 - I am an active kernel hacker/package maintainer.  If Linux didn't
   exist, I might have to leave my house once in a while!
7 - I'm a power user.  I've developed my own mini-distribution on a
   whim.  I can't count how many kernels I've compiled.
6 - I really like Linux.  I've tried a few distributions and am almost
   decided on one.  Windows sucks.
5 - Linux is okay.
4 - I don't like Linux.  It still relies too much on the command line.
3 - I hate Linux.  It's not really UNIX, it's a cheap knock off.  This
   whole open sores thing will never work!
2 - I despise Linux and its commie supporters.  Thank God there's a
   great company like Microsoft around and a great OS like Windows!
1 - I work for SCO.

Include your favorite distribution.  As any good zealot knows, there can
be only one!

A - Damn Small          D - Debian              E - (Open)SuSE
F - Fedora Core         G - Gentoo              I - (Lin|Free)spire
K - Knoppix (et al)     L - Linux From Scratch  M - Mandriva
P - Puppy               R - Red Hat             S - Slackware
U - Ubuntu (et al)      V - Vector

O - other distro of your choosing!  There are more distros than letters
and they come, go and merge faster than I can update.  So, here is
the syntax for adding your favorite:  Add your distro's name
immediately after the O and append a slash (/) character, example:
"lOgNewSense/" for those FSF-and-Ubuntu combo enthusiasts.  The O
modifier must be the LAST listed for this category to minimize confusion.


i - IDE/Text Editor environment

As everyone seem to have their own favorite text editor, numbers will
both show your IDE/integration interest as well as your fave environment.

9 - Xcode                       A - Anjuta              N - Notepad (sick)
8 - Visual Studio               C - Eclipse             P - Powerbuilder
7 - CodeWarrior                 D - Delphi              T - Textpad
6 - emacs                       E - ee
5 - pico/nano                   F - (v)FTE
4 - jove                        G - GNUstep
3 - jed                         H - HTE
2 - vi (and clones)             I - NEdit
1 - ed                          J - jEdit
0 - cat                         L - Idle

O - other IDE of your choosing!  Yes we've almomst run out of letters
for IDEs, so here is the syntax for adding your favorite editor or IDE:
Add your program immediately after the O and append a slash (/)
character, example: "iOBBEdit/" for those BBEdit fans out there, or
"iOdd/" for those true unix badasses (not).  The O modifier must be the
LAST listed for this category to minimize confusion.


III Life & Lifestyle - "work friendly" section

e - Education - Indicate your highest level.

9 - I'm omniscient, you insensitive clod!
8 - PhD.
7 - Master's Degree.
6 - Bachelor's Degree.
5 - Trade/Technical school/Associates
4 - Some college
3 - High school diploma.
2 - Curretly in secondary school.
1 - Elementary/Middle school.
0 - We don't need no education.


t - Television - most hackers do not watch much TV (that's time they could
   be hacking!) but for completeness it is included.

9 - I'm Max Headroom.
8 - I've long since given up other things like a job, talking to other
   people and leaving my house.  I have an IV and dialysis so I don't have
   to worry about pesky bodily functions.
7 - I watch TV religiously.  The television is never shut off on my house.
   I have a generator so I can watch TV even when there's a power outage!
6 - I watch a lot of TV.  I have a TiVo just so I can get every show
   of my favorite series!
5 - I watch TV a few hours a day, and have a few favorite shows.
4 - I watch TV once in awhile.  There's just not much good on anymore.
3 - TV is trash.  I'd rather read a book or go for a walk.
2 - TV is just the (Devil|Government|Big Business)'s tool of control!
   Throw out your TV!
1 - I'm Amish

Hacker TV Series:

T - Star Trek   N - TNG         D - DS9         V - Voyager     E - Enterprise
B - Babylon 5   S - Stargate SG1/Atlantis       H - Xena/Hercules
L - LEXXX       F - Farscape    R - Red Dwarf   X - The X Files
M - Monty Python                A - Adult Swim
G - Battlestar Galactica        W - Doctor Who


b - Books.  Great variation here, as some hackers are very avid readers,
   while others limit themselves to the web.

9 - I'm obsessed with reading.  I actually write my own
   short stories/poetry as well as reading books.
8 - I'm kind of a bookworm, I try to read a book a week/month.
7 - I read actual books, not only technical references.
6 - I pick up the odd book.  I know my way around the local Borders.
5 - I read books occasionally.  You mean besides O'Reilly books?  Oh, then no.
4 - I don't read books, the web is enough of a reading outlet for me.
3 - I haven't read a book since college.
2 - I haven't read a book since high school.
1 - I'm illiterate (See ln1).

Hacker Favorite Books and Authors:

A - Isaac Asimov                        D - The New Hacker's Dictionary
G - William Gibson                      H - HitchHiker's Guide
I - Illuminatus Trilogy                 L - C. S. Lewis
K - Philip K. Dick                      M - Man/texinfo pages
O - O'rielly technical books            P - Harry Potter series
R - Request for Comments (RFCs)         S - Neil Stephenson
T - J R R Tolkien


en - Encryption - The only real obstacle between your data and a
cracker, or is it?

9 - I have my own encryption algorithm named after me.
8 - I can crack Enigma in my head.
7 - I use GnuPG for all email and have many cryptographic filesystems on
   my hard drive.  If you want my data you're going to have to earn it!
6 - I use encryption frequently.  Want to sign my key?
5 - I like and use encryption.
4 - I don't use encryption.   I have nothing to hide.
3 - Encryption is needless overhead.  If you use it, you must have
   something to hide!
2 - Only terrorists use encryption.  The government should have back
   doors to all encryption mechanisms.
1 - Only the government should be able to use encryption to be able to
   keep its secrets safe!


g - Gaming.  Be it console or PC, video gaming is popular among some hackers.

9 - I am John Carmack.
8 - I've developed the occasional game.  People consider me to be a
   gaming guru.  People disconnect from servers when they see me log on.
7 - I play all the time, when I'm not hacking, eating or sleeping.
6 - I play often, I have a console or two and/or quite a few PC games.
5 - I'll pick up the occasional game.
4 - I used to play video games back in the 8-bit days, but not anymore.
3 - I don't like video games, that's time I could be hacking.
2 - I don't like video games, that's time I could be sleeping.
1 - I suck at video games.

Genre Categories:

R - Graphical RPG       A - Action/Adventure    S - Sports
Z - Puzzle              T - Text Based/MUD      O - Shooter
V - Massively Multiplayer games (how do you find time to hack??)
G - Realtime Strategy

Console Categories:

C - "Classic" (i.e. dead) systems - Nintendo [S]NES, Sega
M - Modern systems (PS2/3, XBOX (360), GameCube/Wii).
H - Handhelds (Gameboy/PSP)             P - PC Gamer


IV Life & Lifestyle - "work unfriendly" section - Yes people working at
evil megacorporations have been chastised for having these sections in
their hackerkeys, so we will move this section to the end.  Note that
ALL sections are OPTIONAL, but this one in particular you may want to
leave out.

a - Age.

[0-9][0-9] - Actual Age
[0-9]X - I only feel like updating my age once per decade!
F - 100+ (Old Fart)
I - Immortal
N - N/A, or None of your business


s - Sex - If we didn't have it, where would the babies come from?

9 - I'm Jenna Jameson.
8 - I'm a nympho.  If I don't have sex every 6 hours I get totally antsy.
7 - I've had more than my share of sex.  I'm a stud!
6 - I've had sex more than a few times.  Still out there in the dating
   scene so let's not get into numbers.
5 - I've had sex.  Next subject.
4 - I haven't had sex, not that I haven't had the opportunity but I'm
   saving myself.
3 - I haven't even gotten past second base.  Once my face clears up I'm
   gonna get some though!
2 - Sex is dirty!  Save it for someone you love!
1 - I'm a member of the clergy.  None for me, thanks.

0 - I'm a eunuch.
$ - I'm a prostitute.

M - Male        G - Gay/Lesbian         S - Single      T - Transvestite
F - Female      B - BiSexual            R - Married     D - BDSM
W - Swinger                             I - Involved (dating)


r - Religion.  Generally Hackers believe in something, even if it's just
   their favorite OS.  Others have an actual opinion about a Higher Power.

9 - I Am God, you foolish mortal!
8 - Pantheist - The Universe IS God.
7 - Pagan/Wiccan - I worship nature moreso than a deity.
6 - Polytheist - I believe in multiple Gods.
5 - Monothiest - There is only one God who exists.
4 - Theist - God exists and interacts with the world and His/Her/Its
   followers.
3 - Deist - God exists, but does not intervene in the world.
2 - Agnostic - Unsure of God's existence.
1 - Atheist - There is no God.


p - Politics

For version 4, use the ratings from the Political Compass
(www.politicalcompass.org) website.  Just list your "Economic
Left/Right" and "Social Libertarian/Authoritarian" scores with a slash
between them, or round up/down to the nearest whole number to save space
(preferred).  Yes, the (-) symbol is not valid PGP, but at least the
category is now somewhat useful.

If you only list one number in this category it will be assumed to be
the Social Libertarian/Authoritarian rating, as social issues tend to be
more important to hackers

Example (both categories): p-4.20/-5.10 or (preferably) p-4/-5
Example (social only): p6.10 or (preferably) p6
--- end GUIDE


Displaying your Hacker Key

Because its design, the Hacker Key should fit fairly
unobtrusively in your signature file.  As the Hackey Key Guide
is not very well known, if you could include a reference to the
web site it will help spread the word about the Guide.  Here is
a sample version 4 Hacker Key:

v4sw7CUPYhw5ln6pr5Pck4ma7u7Lw0m6g/
l7DUi5e6t5Ab6THen7g6Ma29s5r3p-4 hackerkey.com

Blame - Who's Responsible for This?

Credit/blame should rest with yours truly, Chris Allegretta <
[email protected]>.  Additional inspiration, suggestions and
feedback were given by Murray Schwalbaum, <[email protected]>.
Thanks also to Charles Mason, Jim Ault, Eric Tucker and Jason
Burks for their suggestions for version 0.

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).

Feedback - Please!

The Guide is still quite young, and I'm very interested in
hearing your opinions about what you like, don't like and think
the Guide needs or doesn't need.  Please don't suggest radical
changes to the structure itself of the code, as this is the one
area I'm fairly comfortable with.  Email your thoughts to
[email protected].

License

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".


History

 • v0 - Released 2003.11.29 - RFC release
 • v1 - Released 2004.02.08 - Added Programming and Math
   sections, added Swinger category to Sex, revamped Game
   categories
 • v2 - Released 2005.04.17 - Split section III into 'work
   friendly' and 'work unfriendly'. Re-wrote politics category
   as it was too US-politics-centric.
 • v3 - Released 2006.02.22 - Added: PHP and Ruby to sw, Dr
   Who and Battlestar Galactica to t, Idle and Anjuta to i,
   Involved to s, Windows Server 2003 and Vista to w. Changed:
   duplicate S for shooters to O in g.
 • v4 - Released 2006.12.29 - Added: Cygwin to w, MMO and RTS
   to g, many new entries to b. Changed: Reworked m and e for
   those hackers still in secondary school, completely
   revamped l (several distro letters changed and added) and
   added user-specified (O)ther category to l and i, dumped p
   categories in favor of Polical Compass website ratings.