*** HACKER KEY GUIDE ***
*** Version 1 (Hooray) ***
Table of Contents:
About the Hacker Key Guide
Format of a Hacker Key Entry
The Guide Itself
Displaying your Hacker Key
Blame
Feedback
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:
- 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.
- 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.
- Kepe 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.
This is version 1 of the Hacker Key.
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
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
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 - Pre-calc
2 - I finished HS Math and realized that was enough for me
1 - I'm angry at numbers. There's like, too many of 'em and stuff.
Please send me your math category proposals/revised levels as I stopped
my math education at Calc II :-)
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 S - Solaris I - Irix A - AIX
B - *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 X - Windows XP
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!
R - Red Hat S - Slackware G - Gentoo L - Lycoris Y - Yoper
M - Mandrake D - Debian U - SuSE K - Knoppix O - Other
F - Linux from Scratch
III Life & Lifestyle
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
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.
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.
4 - High school diploma.
3 - Started high school but dropped out.
2 - Elementary/Middle school.
1 - 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 H - Xena/Hercules
L - LEXXX F - Farscape R - Red Dwarf X - The X Files
M - Monty Python
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:
H - HitchHiker's Guide I - Illuminati Trilogy T - Works of Tolkien
D - The New Hacker's Dictionary O - O'rielly technical books
p - Politics
9 - I am Pat Robertson
8 - Repeal those pesky anti-slavery and women's suffrage rules and let's
get back to the good ole days!
7 - Conservative - Trickle down theory and less government regulation!
6 - I'm a Republican. I miss the '80s.
5 - I'm a middle of the road person, conservative Democrat or liberal
Republican.
4 - I'm a Democrat. I miss the '90s.
3 - Liberal - more social programs, fewer tax cuts.
2 - Bigger government is better! Tax the rich, feed the poor!
1 - Socialism is the best form of government available.
0 - Anarchist
$ - Politician or Lobbyist - please stop reading now.
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, 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 H - Shooter
Console Categories:
C - "Classic" (i.e. dead) systems - Nintendo [S]NES, Sega
M - Modern systems (PS(2), XBOX, GameCube).
H - Handhelds (Gameboy) P - PC Gamer
--- 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 1
Hacker Key:
v1sw7CUPhw5ln6pr5ck4ma7u7LSIw0m5g/l7DRa27s5MRr3e6t5NLMb6TDp3en7g6M
hackerkey.com
Blame - Who's Responsible for This?
Credit/blame should rest with yours truly, Chris Allegretta <chrisa@asty.org>.
Additional inspiration, suggestions and feedback were given by Murray
Schwalbaum, <loser@e0f.org>.
Thanks also to Charles Mason, Jim Ault, Eric Tucker and Jason Burks for
their suggestions for version 0.
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 chrisa@asty.org.
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