Constructions on this term abound. They include `happy hacking'
(a farewell), `how's hacking?' (a friendly greeting among
hackers) and `hack, hack' (a fairly content-free but friendly
comment, often used as a temporary farewell). For more on this
totipotent term see "The Meaning of `Hack'". See
also neat hack, real hack.
Being yanked out of hack mode (see priority interrupt) may be
experienced as a physical shock, and the sensation of being in hack
mode is more than a little habituating. The intensity of this
experience is probably by itself sufficient explanation for the
existence of hackers, and explains why many resist being promoted
out of positions where they can code. See also cyberspace
(sense 2).
Some aspects of hackish etiquette will appear quite odd to an
observer unaware of the high value placed on hack mode. For
example, if someone appears at your door, it is perfectly okay to
hold up a hand (without turning one's eyes away from the screen) to
avoid being interrupted. One may read, type, and interact with the
computer for quite some time before further acknowledging the
other's presence (of course, he or she is reciprocally free to
leave without a word). The understanding is that you might be in
hack mode with a lot of delicate state (sense 2) in your
head, and you dare not swap that context out until you have
reached a good point to pause. See also juggling eggs.
The term `hacker' also tends to connote membership in the global
community defined by the net (see network, the and
Internet address). It also implies that the person described
is seen to subscribe to some version of the hacker ethic (see
hacker ethic, the.
It is better to be described as a hacker by others than to describe
oneself that way. Hackers consider themselves something of an
elite (a meritocracy based on ability), though one to which new
members are gladly welcome. There is thus a certain ego
satisfaction to be had in identifying yourself as a hacker (but if
you claim to be one and are not, you'll quickly be labeled
bogus). See also wannabee.
Sense 2 is more controversial: some people consider the act of
cracking itself to be unethical, like breaking and entering. But
the belief that `ethical' cracking excludes destruction at least
moderates the behavior of people who see themselves as `benign'
crackers (see also samurai). On this view, it may be one of
the highest forms of hackerly courtesy to (a) break into a system,
and then (b) explain to the sysop, preferably by email from a
superuser account, exactly how it was done and how the hole
can be plugged --- acting as an unpaid (and unsolicited) [tiger
team}.
The most reliable manifestation of either version of the hacker
ethic is that almost all hackers are actively willing to share
technical tricks, software, and (where possible) computing
resources with other hackers. Huge cooperative networks such as
USENET, FidoNet and Internet (see Internet address)
can function without central control because of this trait; they
both rely on and reinforce a sense of community that may be
hackerdom's most valuable intangible asset.
A well-known result in topology called the Brouwer Fixed-Point
Theorem states that any continuous transformation of a surface into
itself has at least one fixed point. Mathematically literate
hackers tend to associate the term `hairy' with the informal
version of this theorem; "You can't comb a hairy ball smooth."
The adjective `long-haired' is well-attested to have been in
slang use among scientists and engineers during the early 1950s; it
was equivalent to modern `hairy' senses 1 and 2, and was very
likely ancestral to the hackish use. In fact the noun
`long-hair' was at the time used to describe a person satisfying
sense 3. Both senses probably passed out of use when long hair
was adopted as a signature trait by the 1960s counterculture,
leaving hackish `hairy' as a sort of stunted mutant relic.
Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
than 2^18.
Item 46 (Rich Schroeppel): The most *probable* suit
distribution in bridge hands is 4-4-3-2, as compared to 4-3-3-3,
which is the most *evenly* distributed. This is because the
world likes to have unequal numbers: a thermodynamic effect saying
things will not be in the state of lowest energy, but in the state
of lowest disordered energy.
Item 81 (Rich Schroeppel): Count the magic squares of order 5
(that is, all the 5-by-5 arrangements of the numbers from 1 to 25
such that all rows, columns, and diagonals add up to the same
number). There are about 320 million, not counting those that
differ only by rotation and reflection.
Item 154 (Bill Gosper): The myth that any given programming
language is machine independent is easily exploded by computing the
sum of powers of 2. If the result loops with period = 1
with sign +, you are on a sign-magnitude machine. If the
result loops with period = 1 at -1, you are on a
twos-complement machine. If the result loops with period greater
than 1, including the beginning, you are on a ones-complement
machine. If the result loops with period greater than 1, not
including the beginning, your machine isn't binary --- the pattern
should tell you the base. If you run out of memory, you are on a
string or bignum system. If arithmetic overflow is a fatal error,
some fascist pig with a read-only mind is trying to enforce machine
independence. But the very ability to trap overflow is machine
dependent. By this strategy, consider the universe, or, more
precisely, algebra: Let X = the sum of many powers of 2 =
...111111 (base 2). Now add X to itself:
X + X = ...111110. Thus, 2X = X - 1, so
X = -1. Therefore algebra is run on a machine (the
universe) that is two's-complement.
Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
number such that if you represent it on the PDP-10 as both an
integer and a floating-point number, the bit patterns of the two
representations are identical.
Item 176 (Gosper): The "banana phenomenon" was encountered when
processing a character string by taking the last 3 letters typed
out, searching for a random occurrence of that sequence in the
text, taking the letter following that occurrence, typing it out,
and iterating. This ensures that every 4-letter string output
occurs in the original. The program typed BANANANANANANANA.... We
note an ambiguity in the phrase, "the Nth occurrence of." In one
sense, there are five 00's in 0000000000; in another, there are
nine. The editing program TECO finds five. Thus it finds only the
first ANA in BANANA, and is thus obligated to type N next. By
Murphy's Law, there is but one NAN, thus forcing A, and thus a
loop. An option to find overlapped instances would be useful,
although it would require backing up N - 1 characters before
seeking the next N-character string.
Note: This last item refers to a Dissociated Press
implementation. See also banana problem.
HAKMEM also contains some rather more complicated mathematical and
technical items, but these examples show some of its fun flavor.
If someone starts a sentence with "Clearly..." or
"Obviously..." or "It is self-evident that...", it is
a good bet he is about to handwave (alternatively, use of these
constructions in a sarcastic tone before a paraphrase of someone
else's argument suggests that it is a handwave). The theory behind
this term is that if you wave your hands at the right moment, the
listener may be sufficiently distracted to not notice that what you
have said is bogus. Failing that, if a listener does object,
you might try to dismiss the objection with a wave of your hand.
The use of this word is often accompanied by gestures: both hands
up, palms forward, swinging the hands in a vertical plane pivoting
at the elbows and/or shoulders (depending on the magnitude of the
handwave); alternatively, holding the forearms in one position
while rotating the hands at the wrist to make them flutter. In
context, the gestures alone can suffice as a remark; if a speaker
makes an outrageously unsupported assumption, you might simply wave
your hands in this way, as an accusation, far more eloquent than
words could express, that his logic is faulty.
Actually, neither term is etymologically pure. If we take
`binary' to be paradigmatic, the most etymologically correct
term for base 10, for example, is `denary', which comes from
`deni' (ten at a time, ten each), a Latin `distributive'
number; the corresponding term for base-16 would be something like
`sendenary'. `Decimal' is from an ordinal number; the
corresponding prefix for 6 would imply something like
`sextidecimal'. The `sexa-' prefix is Latin but incorrect in
this context, and `hexa-' is Greek. The word `octal' is
similarly incorrect; a correct form would be `octaval' (to go
with decimal), or `octonary' (to go with binary). If anyone ever
implements a base-3 computer, computer scientists will be faced
with the unprecedented dilemma of a choice between two
*correct* forms; both `ternary' and `trinary' have a
claim to this throne.
Once upon a time, a Cray that had been experiencing periodic
difficulties crashed, and it was announced to have been hosed.
It was discovered that the crash was due to the disconnection of
some coolant hoses. The problem was corrected, and users were then
assured that everything was OK because the system had been rehosed.
See also dehose.
1. Fascination with form-vs.-content jokes, paradoxes, and humor
having to do with confusion of metalevels (see meta). One way
to make a hacker laugh: hold a red index card in front of him/her
with "GREEN" written on it, or vice-versa (note, however, that
this is funny only the first time).
2. Elaborate deadpan parodies of large intellectual constructs,
such as specifications (see write-only memory), standards
documents, language descriptions (see INTERCAL), and even
entire scientific theories (see quantum bogodynamics,
computron).
3. Jokes that involve screwily precise reasoning from bizarre,
ludicrous, or just grossly counter-intuitive premises.
4. Fascination with puns and wordplay.
5. A fondness for apparently mindless humor with subversive
currents of intelligence in it --- for example, old Warner Brothers
and Rocky & Bullwinkle cartoons, the Marx brothers, the early
B-52s, and Monty Python's Flying Circus. Humor that combines this
trait with elements of high camp and slapstick is especially
favored.
6. References to the symbol-object antinomies and associated ideas
in Zen Buddhism and (less often) Taoism. See has the X nature,
Discordianism, zen, ha ha only serious, AI koans.
See also filk, retrocomputing, and Appendix B. If you
have an itchy feeling that all 6 of these traits are really aspects
of one thing that is incredibly difficult to talk about exactly,
you are (a) correct and (b) responding like a hacker. These traits
are also recognizable (though in a less marked form) throughout
"science-fiction fandom".