Subscribe to
Posts
Comments

On the Geek Code

Geek Books

I was reminded recently of the Geek Code.

This is quite old, but I have always thought it has a major deficiency:
any true geek would not use such a cumbersome code.
For anyone who has written a text editor in one line of APL, and a
dancing sig in four lines of perl, the ineligance of the geek code speaks
volumes.

For each attribute we are told to specify the extent of our geekiness by
modifying the attribute with +, or ++ or – or – -. However, this requires
two unicode characters (32 bits), or at least two ascii characters (16
bits) to represent something that can be expressed in just two bits.

As the attributes are all text based, we can used the unused bits of the
attribute and XOR the modifier bits to them. This needs some care, as we
don’t want to return any non printable characters, but a true geek code
would use just one byte of data for each attribute with modifiers.

Of course, quiche eaters would have none of this. A quiche eater would
probably want to structure the code something like this:

begin occupation_code
  attribute.x666.type = "Geek of Computer Science" ;
  attribute.x666.modifier = modifier_struct.values.positive ;
  attribute.x666.strength = 2
end occupation_code

(They would probably also write it in XML or provide a published schema under LDAP).

To accomodate both real geeks and quiche eaters, we could perhaps have a
compact but human readable code, where the modifier is written as an
integer, and also acts as a separator (as all modifiers are integers, and
all attributes are [a..z] or [A..Z]). This is similar to the scheme that works behind the scenes in the DNS. A scheme written by geeks and for geeks.

Thus we could have a Geek code that would look like this:

GCS3M2R5h7q9MMOUSE4PRES0i-1

    Leave a Reply