Full Text Archive logoFull Text Archive — Books, poems, drama…

The New Hacker's Dictionary version 4.2.2 by Various editors

Part 10 out of 29

Adobe PDF icon
Download this document as a .pdf
File size: 1.8 MB
What's this? light bulb idea Many people prefer to read off-line or to print out text and read from the real printed page. Others want to carry documents around with them on their mobile phones and read while they are on the move. We have created .pdf files of all out documents to accommodate all these groups of people. We recommend that you download .pdfs onto your mobile phone when it is connected to a WiFi connection for reading off-line.

* [6390]heatseeker:
* [6391]heavy metal:
* [6392]heavy wizardry:
* [6393]heavyweight:
* [6394]heisenbug:
* [6395]Helen Keller mode:
* [6396]hello sailor!:
* [6397]hello wall!:
* [6398]hello world:
* [6399]hex:
* [6400]hexadecimal:
* [6401]hexit:
* [6402]HHOK:
* [6403]HHOS:
* [6404]hidden flag:
* [6405]high bit:
* [6406]high moby:
* [6407]highly:
* [6408]hing:
* [6409]hired gun:
* [6410]hirsute:
* [6411]HLL:
* [6412]hoarding:
* [6413]hobbit:
* [6414]hog:
* [6415]hole:
* [6416]hollised:
* [6417]holy wars:
* [6418]home box:
* [6419]home machine:
* [6420]home page:
* [6421]honey pot:
* [6422]hook:
* [6423]hop:
* [6424]hose:
* [6425]hosed:
* [6426]hot chat:
* [6427]hot spot:
* [6428]hotlink:
* [6429]house wizard:
* [6430]HP-SUX:
* [6431]HTH:
* [6432]huff:
* [6433]humma:
* [6434]hung:
* [6435]hungry puppy:
* [6436]hungus:
* [6437]hyperspace:
* [6438]hysterical reasons:

Node:h, Next:[6439]ha ha only serious, Previous:[6440]gweep,
Up:[6441]= H =


[from SF fandom] A method of `marking' common words, i.e., calling
attention to the fact that they are being used in a nonstandard,
ironic, or humorous way. Originated in the fannish catchphrase "Bheer
is the One True Ghod!" from decades ago. H-infix marking of `Ghod' and
other words spread into the 1960s counterculture via underground
comix, and into early hackerdom either from the counterculture or from
SF fandom (the three overlapped heavily at the time). More recently,
the h infix has become an expected feature of benchmark names
(Dhrystone, Rhealstone, etc.); this is probably patterning on the
original Whetstone (the name of a laboratory) but influenced by the
fannish/counterculture h infix.

Node:ha ha only serious, Next:[6442]hack, Previous:[6443]h, Up:[6444]=
H =

ha ha only serious

[from SF fandom, orig. as mutation of HHOK, `Ha Ha Only Kidding'] A
phrase (often seen abbreviated as HHOS) that aptly captures the flavor
of much hacker discourse. Applied especially to parodies, absurdities,
and ironic jokes that are both intended and perceived to contain a
possibly disquieting amount of truth, or truths that are constructed
on in-joke and self-parody. This lexicon contains many examples of
ha-ha-only-serious in both form and content. Indeed, the entirety of
hacker culture is often perceived as ha-ha-only-serious by hackers
themselves; to take it either too lightly or too seriously marks a
person as an outsider, a [6445]wannabee, or in [6446]larval stage. For
further enlightenment on this subject, consult any Zen master. See
also [6447]hacker humor, and [6448]AI koans.

Node:hack, Next:[6449]hack attack, Previous:[6450]ha ha only serious,
Up:[6451]= H =


[very common] 1. n. Originally, a quick job that produces what is
needed, but not well. 2. n. An incredibly good, and perhaps very
time-consuming, piece of work that produces exactly what is needed. 3.
vt. To bear emotionally or physically. "I can't hack this heat!" 4.
vt. To work on something (typically a program). In an immediate sense:
"What are you doing?" "I'm hacking TECO." In a general (time-extended)
sense: "What do you do around here?" "I hack TECO." More generally, "I
hack `foo'" is roughly equivalent to "`foo' is my major interest (or
project)". "I hack solid-state physics." See [6452]Hacking X for Y. 5.
vt. To pull a prank on. See sense 2 and [6453]hacker (sense 5). 6. vi.
To interact with a computer in a playful and exploratory rather than
goal-directed way. "Whatcha up to?" "Oh, just hacking." 7. n. Short
for [6454]hacker. 8. See [6455]nethack. 9. [MIT] v. To explore the
basements, roof ledges, and steam tunnels of a large, institutional
building, to the dismay of Physical Plant workers and (since this is
usually performed at educational institutions) the Campus Police. This
activity has been found to be eerily similar to playing adventure
games such as Dungeons and Dragons and [6456]Zork. See also

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
"[6458]The Meaning of Hack". See also [6459]neat hack, [6460]real

Node:hack attack, Next:[6461]hack mode, Previous:[6462]hack,
Up:[6463]= H =

hack attack n.

[poss. by analogy with `Big Mac Attack' from ads for the McDonald's
fast-food chain; the variant `big hack attack' is reported] Nearly
synonymous with [6464]hacking run, though the latter more strongly
implies an all-nighter.

Node:hack mode, Next:[6465]hack on, Previous:[6466]hack attack,
Up:[6467]= H =

hack mode n.

1. What one is in when hacking, of course. 2. More specifically, a
Zen-like state of total focus on The Problem that may be achieved when
one is hacking (this is why every good hacker is part mystic). Ability
to enter such concentration at will correlates strongly with
wizardliness; it is one of the most important skills learned during
[6468]larval stage. Sometimes amplified as `deep hack mode'.

Being yanked out of hack mode (see [6469]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 [6470]cyberspace (sense 2).

Some aspects of hacker 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 [6471]hack mode with a lot of delicate
[6472]state (sense 2) in your head, and you dare not [6473]swap that
context out until you have reached a good point to pause. See also
[6474]juggling eggs.

Node:hack on, Next:[6475]hack together, Previous:[6476]hack mode,
Up:[6477]= H =

hack on vt.

[very common] To [6478]hack; implies that the subject is some
pre-existing hunk of code that one is evolving, as opposed to
something one might [6479]hack up.

Node:hack together, Next:[6480]hack up, Previous:[6481]hack on,
Up:[6482]= H =

hack together vt.

[common] To throw something together so it will work. Unlike `kluge
together' or [6483]cruft together, this does not necessarily have
negative connotations.

Node:hack up, Next:[6484]hack value, Previous:[6485]hack together,
Up:[6486]= H =

hack up vt.

To [6487]hack, but generally implies that the result is a hack in
sense 1 (a quick hack). Contrast this with [6488]hack on. To `hack up
on' implies a [6489]quick-and-dirty modification to an existing
system. Contrast [6490]hacked up; compare [6491]kluge up, [6492]monkey
up, [6493]cruft together.

Node:hack value, Next:[6494]hacked off, Previous:[6495]hack up,
Up:[6496]= H =

hack value n.

Often adduced as the reason or motivation for expending effort toward
a seemingly useless goal, the point being that the accomplished goal
is a hack. For example, MacLISP had features for reading and printing
Roman numerals, which were installed purely for hack value. See
[6497]display hack for one method of computing hack value, but this
cannot really be explained, only experienced. As Louis Armstrong once
said when asked to explain jazz: "Man, if you gotta ask you'll never
know." (Feminists please note Fats Waller's explanation of rhythm:
"Lady, if you got to ask, you ain't got it.")

Node:hacked off, Next:[6498]hacked up, Previous:[6499]hack value,
Up:[6500]= H =

hacked off adj.

[analogous to `pissed off'] Said of system administrators who have
become annoyed, upset, or touchy owing to suspicions that their sites
have been or are going to be victimized by crackers, or used for
inappropriate, technically illegal, or even overtly criminal
activities. For example, having unreadable files in your home
directory called `worm', `lockpick', or `goroot' would probably be an
effective (as well as impressively obvious and stupid) way to get your
sysadmin hacked off at you.

It has been pointed out that there is precedent for this usage in U.S.
Navy slang, in which officers under discipline are sometimes said to
be "in hack" and one may speak of "hacking off the C.O.".

Node:hacked up, Next:[6501]hacker, Previous:[6502]hacked off,
Up:[6503]= H =

hacked up adj.

Sufficiently patched, kluged, and tweaked that the surgical scars are
beginning to crowd out normal tissue (compare [6504]critical mass).
Not all programs that are hacked become `hacked up'; if modifications
are done with some eye to coherence and continued maintainability, the
software may emerge better for the experience. Contrast [6505]hack up.

Node:hacker, Next:[6506]hacker ethic, Previous:[6507]hacked up,
Up:[6508]= H =

hacker n.

[originally, someone who makes furniture with an axe] 1. A person who
enjoys exploring the details of programmable systems and how to
stretch their capabilities, as opposed to most users, who prefer to
learn only the minimum necessary. 2. One who programs enthusiastically
(even obsessively) or who enjoys programming rather than just
theorizing about programming. 3. A person capable of appreciating
[6509]hack value. 4. A person who is good at programming quickly. 5.
An expert at a particular program, or one who frequently does work
using it or on it; as in `a Unix hacker'. (Definitions 1 through 5 are
correlated, and people who fit them congregate.) 6. An expert or
enthusiast of any kind. One might be an astronomy hacker, for example.
7. One who enjoys the intellectual challenge of creatively overcoming
or circumventing limitations. 8. [deprecated] A malicious meddler who
tries to discover sensitive information by poking around. Hence
`password hacker', `network hacker'. The correct term for this sense
is [6510]cracker.

The term `hacker' also tends to connote membership in the global
community defined by the net (see [6511]the network and [6512]Internet
address). For discussion of some of the basics of this culture, see
the [6513]How To Become A Hacker FAQ. It also implies that the person
described is seen to subscribe to some version of the hacker ethic
(see [6514]hacker ethic).

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 [6515]bogus). See also [6516]wannabee.

This term seems to have been first adopted as a badge in the 1960s by
the hacker culture surrounding TMRC and the MIT AI Lab. We have a
report that it was used in a sense close to this entry's by teenage
radio hams and electronics tinkerers in the mid-1950s.

Node:hacker ethic, Next:[6517]hacker humor, Previous:[6518]hacker,
Up:[6519]= H =

hacker ethic n.

1. The belief that information-sharing is a powerful positive good,
and that it is an ethical duty of hackers to share their expertise by
writing open-source and facilitating access to information and to
computing resources wherever possible. 2. The belief that
system-cracking for fun and exploration is ethically OK as long as the
cracker commits no theft, vandalism, or breach of confidentiality.

Both of these normative ethical principles are widely, but by no means
universally, accepted among hackers. Most hackers subscribe to the
hacker ethic in sense 1, and many act on it by writing and giving away
open-source software. A few go further and assert that all information
should be free and any proprietary control of it is bad; this is the
philosophy behind the [6520]GNU project.

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 [6521]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 [6522]superuser account,
exactly how it was done and how the hole can be plugged -- acting as
an unpaid (and unsolicited) [6523]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 [6524]Usenet, [6525]FidoNet
and Internet (see [6526]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.

Node:hacker humor, Next:[6527]Hackers (the movie),
Previous:[6528]hacker ethic, Up:[6529]= H =

hacker humor

A distinctive style of shared intellectual humor found among hackers,
having the following marked characteristics:

1. Fascination with form-vs.-content jokes, paradoxes, and humor
having to do with confusion of metalevels (see [6530]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 [6531]write-only memory), standards documents,
language descriptions (see [6532]INTERCAL), and even entire scientific
theories (see [6533]quantum bogodynamics, [6534]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 [6535]has the X nature,
[6536]Discordianism, [6537]zen, [6538]ha ha only serious, [6539]koan,
[6540]AI koans.

See also [6541]filk, [6542]retrocomputing, and the Portrait of J.
Random Hacker in [6543]Appendix B. If you have an itchy feeling that
all six 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 [6544]science-fiction

Node:Hackers (the movie), Next:[6545]hacking run,
Previous:[6546]hacker humor, Up:[6547]= H =

Hackers (the movie) n.

A notable bomb from 1995. Should have been titled "Crackers", because
cracking is what the movie was about. It's understandable that they
didn't however; titles redolent of snack food are probably a tough
sell in Hollywood.

Node:hacking run, Next:[6548]Hacking X for Y, Previous:[6549]Hackers
(the movie), Up:[6550]= H =

hacking run n.

[analogy with `bombing run' or `speed run'] A hack session extended
long outside normal working times, especially one longer than 12
hours. May cause you to `change phase the hard way' (see [6551]phase).

Node:Hacking X for Y, Next:[6552]Hackintosh, Previous:[6553]hacking
run, Up:[6554]= H =

Hacking X for Y n.

[ITS] Ritual phrasing of part of the information which ITS made
publicly available about each user. This information (the INQUIR
record) was a sort of form in which the user could fill out various
fields. On display, two of these fields were always combined into a
project description of the form "Hacking X for Y" (e.g., "Hacking
perceptrons for Minsky"). This form of description became traditional
and has since been carried over to other systems with more general
facilities for self-advertisement (such as Unix [6555]plan files).

Node:Hackintosh, Next:[6556]hackish, Previous:[6557]Hacking X for Y,
Up:[6558]= H =

Hackintosh n.

1. An Apple Lisa that has been hacked into emulating a Macintosh (also
called a `Mac XL'). 2. A Macintosh assembled from parts theoretically
belonging to different models in the line.

Node:hackish, Next:[6559]hackishness, Previous:[6560]Hackintosh,
Up:[6561]= H =

hackish /hak'ish/ adj.

(also [6562]hackishness n.) 1. Said of something that is or involves a
hack. 2. Of or pertaining to hackers or the hacker subculture. See
also [6563]true-hacker.

Node:hackishness, Next:[6564]hackitude, Previous:[6565]hackish,
Up:[6566]= H =

hackishness n.

The quality of being or involving a hack. This term is considered
mildly silly. Syn. [6567]hackitude.

Node:hackitude, Next:[6568]hair, Previous:[6569]hackishness,
Up:[6570]= H =

hackitude n.

Syn. [6571]hackishness; this word is considered sillier.

Node:hair, Next:[6572]hairball, Previous:[6573]hackitude, Up:[6574]= H

hair n.

[back-formation from [6575]hairy] The complications that make
something hairy. "Decoding [6576]TECO commands requires a certain
amount of hair." Often seen in the phrase `infinite hair', which
connotes extreme complexity. Also in `hairiferous' (tending to promote
hair growth): "GNUMACS elisp encourages lusers to write complex
editing modes." "Yeah, it's pretty hairiferous all right." (or just:
"Hair squared!")

Node:hairball, Next:[6577]hairy, Previous:[6578]hair, Up:[6579]= H =

hairball n.

1. [Fidonet] A large batch of messages that a store-and-forward
network is failing to forward when it should. Often used in the phrase
"Fido coughed up a hairball today", meaning that the stuck messages
have just come unstuck, producing a flood of mail where there had
previously been drought. 2. An unmanageably huge mass of source code.
"JWZ thought the Mozilla effort bogged down because the code was a
huge hairball." 3. Any large amount of garbage coming out suddenly.
"Sendmail is coughing up a hairball, so expect some slowness accessing
the Internet."

Node:hairy, Next:[6580]HAKMEM, Previous:[6581]hairball, Up:[6582]= H =

hairy adj.

1. Annoyingly complicated. "[6583]DWIM is incredibly hairy." 2.
Incomprehensible. "[6584]DWIM is incredibly hairy." 3. Of people,
high-powered, authoritative, rare, expert, and/or incomprehensible.
Hard to explain except in context: "He knows this hairy lawyer who
says there's nothing to worry about." See also [6585]hirsute.

A well-known result in topology called the Brouwer Fixed-Point Theorem
states that any continuous transformation of a 2-sphere 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.

In British mainstream use, "hairy" means "dangerous", and
consequently, in British programming terms, "hairy" may be used to
denote complicated and/or incomprehensible code, but only if that
complexity or incomprehesiveness is also considered dangerous.

Node:HAKMEM, Next:[6586]hakspek, Previous:[6587]hairy, Up:[6588]= H =

HAKMEM /hak'mem/ n.

MIT AI Memo 239 (February 1972). A legendary collection of neat
mathematical and programming hacks contributed by many people at MIT
and elsewhere. (The title of the memo really is "HAKMEM", which is a
6-letterism for `hacks memo'.) Some of them are very useful
techniques, powerful theorems, or interesting unsolved problems, but
most fall into the category of mathematical and computer trivia. Here
is a sampling of the entries (with authors), slightly paraphrased:

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

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

Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
number such that if you represent it on the [6589]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 [6590]Dissociated Press
implementation. See also [6591]banana problem.

HAKMEM also contains some rather more complicated mathematical and
technical items, but these examples show some of its fun flavor.

An HTML transcription of the entire document is available at

Node:hakspek, Next:[6593]Halloween Documents, Previous:[6594]HAKMEM,
Up:[6595]= H =

hakspek /hak'speek/ n.

A shorthand method of spelling found on many British academic bulletin
boards and [6596]talker systems. Syllables and whole words in a
sentence are replaced by single ASCII characters the names of which
are phonetically similar or equivalent, while multiple letters are
usually dropped. Hence, `for' becomes `4'; `two', `too', and `to'
become `2'; `ck' becomes `k'. "Before I see you tomorrow" becomes "b4
i c u 2moro". First appeared in London about 1986, and was probably
caused by the slowness of available talker systems, which operated on
archaic machines with outdated operating systems and no standard
methods of communication. Has become rarer since. See also [6597]talk

Node:Halloween Documents, Next:[6598]hammer, Previous:[6599]hakspek,
Up:[6600]= H =

Halloween Documents n.

A pair of Microsoft internal strategy memoranda leaked to ESR in late
1998 that confirmed everybody's paranoia about the current [6601]Evil
Empire. [6602]These documents praised the technical excellence of
[6603]Linux and outlined a counterstrategy of attempting to lock in
customers by "de-commoditizing" Internet protocols and services. They
were extensively cited on the Internet and in the press and proved so
embarrassing that Microsoft PR barely said a word in public for six
months afterwards.

Node:hammer, Next:[6604]hamster, Previous:[6605]Halloween Documents,
Up:[6606]= H =

hammer vt.

Commonwealth hackish syn. for [6607]bang on.

Node:hamster, Next:[6608]HAND, Previous:[6609]hammer, Up:[6610]= H =

hamster n.

1. [Fairchild] A particularly slick little piece of code that does one
thing well; a small, self-contained hack. The image is of a hamster
[6611]happily spinning its exercise wheel. 2. A tailless mouse; that
is, one with an infrared link to a receiver on the machine, as opposed
to the conventional cable. 3. [UK] Any item of hardware made by
Amstrad, a company famous for its cheap plastic PC-almost-compatibles.

Node:HAND, Next:[6612]hand cruft, Previous:[6613]hamster, Up:[6614]= H


[Usenet: very common] Abbreviation: Have A Nice Day. Typically used to
close a [6615]Usenet posting, but also used to informally close
emails; often preceded by [6616]HTH.

Node:hand cruft, Next:[6617]hand-hacking, Previous:[6618]HAND,
Up:[6619]= H =

hand cruft vt.

[pun on `hand craft'] See [6620]cruft, sense 3.

Node:hand-hacking, Next:[6621]hand-roll, Previous:[6622]hand cruft,
Up:[6623]= H =

hand-hacking n.

1. [rare] The practice of translating [6624]hot spots from an
[6625]HLL into hand-tuned assembler, as opposed to trying to coerce
the compiler into generating better code. Both the term and the
practice are becoming uncommon. See [6626]tune, [6627]bum, [6628]by
hand; syn. with v. [6629]cruft. 2. [common] More generally, manual
construction or patching of data sets that would normally be generated
by a translation utility and interpreted by another program, and
aren't really designed to be read or modified by humans.

Node:hand-roll, Next:[6630]handle, Previous:[6631]hand-hacking,
Up:[6632]= H =

hand-roll v.

[from obs. mainstream slang `hand-rolled' in opposition to
`ready-made', referring to cigarettes] To perform a normally automated
software installation or configuration process [6633]by hand; implies
that the normal process failed due to bugs in the configurator or was
defeated by something exceptional in the local environment. "The worst
thing about being a gateway between four different nets is having to
hand-roll a new sendmail configuration every time any of them

Node:handle, Next:[6634]handshaking, Previous:[6635]hand-roll,
Up:[6636]= H =

handle n.

1. [from CB slang] An electronic pseudonym; a `nom de guerre' intended
to conceal the user's true identity. Network and BBS handles function
as the same sort of simultaneous concealment and display one finds on
Citizen's Band radio, from which the term was adopted. Use of
grandiose handles is characteristic of [6637]warez d00dz,
[6638]crackers, [6639]weenies, [6640]spods, and other lower forms of
network life; true hackers travel on their own reputations rather than
invented legendry. Compare [6641]nick, [6642]screen name. 2. A
[6643]magic cookie, often in the form of a numeric index into some
array somewhere, through which you can manipulate an object like a
file or window. The form `file handle' is especially common. 3. [Mac]
A pointer to a pointer to dynamically-allocated memory; the extra
level of indirection allows on-the-fly memory compaction (to cut down
on fragmentation) or aging out of unused resources, with minimal
impact on the (possibly multiple) parts of the larger program
containing references to the allocated memory. Compare [6644]snap (to
snap a handle would defeat its purpose); see also [6645]aliasing bug,
[6646]dangling pointer.

Node:handshaking, Next:[6647]handwave, Previous:[6648]handle,
Up:[6649]= H =

handshaking n.

[very common] Hardware or software activity designed to start or keep
two machines or programs in synchronization as they [6650]do protocol.
Often applied to human activity; thus, a hacker might watch two people
in conversation nodding their heads to indicate that they have heard
each others' points and say "Oh, they're handshaking!". See also

Node:handwave, Next:[6652]hang, Previous:[6653]handshaking, Up:[6654]=
H =


[poss. from gestures characteristic of stage magicians] 1. v. To gloss
over a complex point; to distract a listener; to support a (possibly
actually valid) point with blatantly faulty logic. 2. n. The act of
handwaving. "Boy, what a handwave!"

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 [6655]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.

Node:hang, Next:[6656]Hanlon's Razor, Previous:[6657]handwave,
Up:[6658]= H =

hang v.

1. [very common] To wait for an event that will never occur. "The
system is hanging because it can't read from the crashed drive". See
[6659]wedged, [6660]hung. 2. To wait for some event to occur; to hang
around until something happens. "The program displays a menu and then
hangs until you type a character." Compare [6661]block. 3. To attach a
peripheral device, esp. in the construction `hang off': "We're going
to hang another tape drive off the file server." Implies a device
attached with cables, rather than something that is strictly inside
the machine's chassis.

Node:Hanlon's Razor, Next:[6662]happily, Previous:[6663]hang,
Up:[6664]= H =

Hanlon's Razor prov.

A corollary of [6665]Finagle's Law, similar to Occam's Razor, that
reads "Never attribute to malice that which can be adequately
explained by stupidity." The derivation of the Hanlon eponym is not
definitely known, but a very similar remark ("You have attributed
conditions to villainy that simply result from stupidity.") appears in
"Logic of Empire", a classic 1941 SF story by Robert A. Heinlein, who
calls it the `devil theory' of sociology. Heinlein's popularity in the
hacker culture makes plausible the supposition that `Hanlon' is
derived from `Heinlein' by phonetic corruption. A similar epigram has
been attributed to William James, but Heinlein more probably got the
idea from Alfred Korzybski and other practitioners of General
Semantics. Quoted here because it seems to be a particular favorite of
hackers, often showing up in [6666]sig blocks, [6667]fortune cookie
files and the login banners of BBS systems and commercial networks.
This probably reflects the hacker's daily experience of environments
created by well-intentioned but short-sighted people. Compare
[6668]Sturgeon's Law, [6669]Ninety-Ninety Rule.

Node:happily, Next:[6670]haque, Previous:[6671]Hanlon's Razor,
Up:[6672]= H =

happily adv.

Of software, used to emphasize that a program is unaware of some
important fact about its environment, either because it has been
fooled into believing a lie, or because it doesn't care. The sense of
`happy' here is not that of elation, but rather that of blissful
ignorance. "The program continues to run, happily unaware that its
output is going to /dev/null." Also used to suggest that a program or
device would really rather be doing something destructive, and is
being given an opportunity to do so. "If you enter an O here instead
of a zero, the program will happily erase all your data." Neverheless,
use of this term implies a basically benign attitude towards the
program: It didn't mean any harm, it was just eager to do its job.
We'd like to be angry at it but we shouldn't, we should try to
understand it instead. The adjective "cheerfully" is often used in
exactly the same way.

Node:haque, Next:[6673]hard boot, Previous:[6674]happily, Up:[6675]= H

haque /hak/ n.

[Usenet] Variant spelling of [6676]hack, used only for the noun form
and connoting an [6677]elegant hack. that is a [6678]hack in sense 2.

Node:hard boot, Next:[6679]hardcoded, Previous:[6680]haque, Up:[6681]=
H =

hard boot n.

See [6682]boot.

Node:hardcoded, Next:[6683]hardwarily, Previous:[6684]hard boot,
Up:[6685]= H =

hardcoded adj.

1. [common] Said of data inserted directly into a program, where it
cannot be easily modified, as opposed to data in some [6686]profile,
resource (see [6687]de-rezz sense 2), or environment variable that a
[6688]user or hacker can easily modify. 2. In C, this is esp. applied
to use of a literal instead of a #define macro (see [6689]magic

Node:hardwarily, Next:[6690]hardwired, Previous:[6691]hardcoded,
Up:[6692]= H =

hardwarily /hard-weir'*-lee/ adv.

In a way pertaining to hardware. "The system is hardwarily
unreliable." The adjective `hardwary' is not traditionally used,
though it has recently been reported from the U.K. See

Node:hardwired, Next:[6694]has the X nature,
Previous:[6695]hardwarily, Up:[6696]= H =

hardwired adj.

1. In software, syn. for [6697]hardcoded. 2. By extension, anything
that is not modifiable, especially in the sense of customizable to
one's particular needs or tastes.

Node:has the X nature, Next:[6698]hash bucket,
Previous:[6699]hardwired, Up:[6700]= H =

has the X nature

[seems to derive from Zen Buddhist koans of the form "Does an X have
the Buddha-nature?"] adj. Common hacker construction for `is an X',
used for humorous emphasis. "Anyone who can't even use a program with
on-screen help embedded in it truly has the [6701]loser nature!" See
also [6702]the X that can be Y is not the true X. See also [6703]mu.

Node:hash bucket, Next:[6704]hash collision, Previous:[6705]has the X
nature, Up:[6706]= H =

hash bucket n.

A notional receptacle, a set of which might be used to apportion data
items for sorting or lookup purposes. When you look up a name in the
phone book (for example), you typically hash it by extracting its
first letter; the hash buckets are the alphabetically ordered letter
sections. This term is used as techspeak with respect to code that
uses actual hash functions; in jargon, it is used for human
associative memory as well. Thus, two things `in the same hash bucket'
are more difficult to discriminate, and may be confused. "If you hash
English words only by length, you get too many common grammar words in
the first couple of hash buckets." Compare [6707]hash collision.

Node:hash collision, Next:[6708]hat, Previous:[6709]hash bucket,
Up:[6710]= H =

hash collision n.

[from the techspeak] (var. `hash clash') When used of people,
signifies a confusion in associative memory or imagination, especially
a persistent one (see [6711]thinko). True story: One of us [ESR] was
once on the phone with a friend about to move out to Berkeley. When
asked what he expected Berkeley to be like, the friend replied: "Well,
I have this mental picture of naked women throwing Molotov cocktails,
but I think that's just a collision in my hash tables." Compare
[6712]hash bucket.

Node:hat, Next:[6713]HCF, Previous:[6714]hash collision, Up:[6715]= H

hat n.

Common (spoken) name for the circumflex (`^', ASCII 1011110)
character. See [6716]ASCII for other synonyms.

Node:HCF, Next:[6717]heads down, Previous:[6718]hat, Up:[6719]= H =

HCF /H-C-F/ n.

Mnemonic for `Halt and Catch Fire', any of several undocumented and
semi-mythical machine instructions with destructive side-effects,
supposedly included for test purposes on several well-known
architectures going as far back as the IBM 360. The MC6800
microprocessor was the first for which an HCF opcode became widely
known. This instruction caused the processor to [6720]toggle a subset
of the bus lines as rapidly as it could; in some configurations this
could actually cause lines to burn up. Compare [6721]killer poke.

Node:heads down, Next:[6722]heartbeat, Previous:[6723]HCF, Up:[6724]=
H =

heads down [Sun] adj.

Concentrating, usually so heavily and for so long that everything
outside the focus area is missed. See also [6725]hack mode and
[6726]larval stage, although this mode is hardly confined to fledgling

Node:heartbeat, Next:[6727]heatseeker, Previous:[6728]heads down,
Up:[6729]= H =

heartbeat n.

1. The signal emitted by a Level 2 Ethernet transceiver at the end of
every packet to show that the collision-detection circuit is still
connected. 2. A periodic synchronization signal used by software or
hardware, such as a bus clock or a periodic interrupt. 3. The
`natural' oscillation frequency of a computer's clock crystal, before
frequency division down to the machine's clock rate. 4. A signal
emitted at regular intervals by software to demonstrate that it is
still alive. Sometimes hardware is designed to reboot the machine if
it stops hearing a heartbeat. See also [6730]breath-of-life packet.

Node:heatseeker, Next:[6731]heavy metal, Previous:[6732]heartbeat,
Up:[6733]= H =

heatseeker n.

[IBM] A customer who can be relied upon to buy, without fail, the
latest version of an existing product (not quite the same as a member
of the [6734]lunatic fringe). A 1993 example of a heatseeker was
someone who, owning a 286 PC and Windows 3.0, went out and bought
Windows 3.1 (which offers no worthwhile benefits unless you have a
386). If all customers were heatseekers, vast amounts of money could
be made by just fixing some of the bugs in each release (n) and
selling it to them as release (n+1). Microsoft in fact seems to have
mastered this technique.

Node:heavy metal, Next:[6735]heavy wizardry,
Previous:[6736]heatseeker, Up:[6737]= H =

heavy metal n.

[Cambridge] Syn. [6738]big iron.

Node:heavy wizardry, Next:[6739]heavyweight, Previous:[6740]heavy
metal, Up:[6741]= H =

heavy wizardry n.

Code or designs that trade on a particularly intimate knowledge or
experience of a particular operating system or language or complex
application interface. Distinguished from [6742]deep magic, which
trades more on arcane theoretical knowledge. Writing device drivers is
heavy wizardry; so is interfacing to [6743]X (sense 2) without a
toolkit. Esp. found in source-code comments of the form "Heavy
wizardry begins here". Compare [6744]voodoo programming.

Node:heavyweight, Next:[6745]heisenbug, Previous:[6746]heavy wizardry,
Up:[6747]= H =

heavyweight adj.

[common] High-overhead; [6748]baroque; code-intensive; featureful, but
costly. Esp. used of communication protocols, language designs, and
any sort of implementation in which maximum generality and/or ease of
implementation has been pushed at the expense of mundane
considerations such as speed, memory utilization, and startup time.
[6749]EMACS is a heavyweight editor; [6750]X is an extremely
heavyweight window system. This term isn't pejorative, but one
hacker's heavyweight is another's [6751]elephantine and a third's
[6752]monstrosity. Oppose `lightweight'. Usage: now borders on
techspeak, especially in the compound `heavyweight process'.

Node:heisenbug, Next:[6753]Helen Keller mode,
Previous:[6754]heavyweight, Up:[6755]= H =

heisenbug /hi:'zen-buhg/ n.

[from Heisenberg's Uncertainty Principle in quantum physics] A bug
that disappears or alters its behavior when one attempts to probe or
isolate it. (This usage is not even particularly fanciful; the use of
a debugger sometimes alters a program's operating environment
significantly enough that buggy code, such as that which relies on the
values of uninitialized memory, behaves quite differently.) Antonym of
[6756]Bohr bug; see also [6757]mandelbug, [6758]schroedinbug. In C,
nine out of ten heisenbugs result from uninitialized auto variables,
[6759]fandango on core phenomena (esp. lossage related to corruption
of the malloc [6760]arena) or errors that [6761]smash the stack.

Node:Helen Keller mode, Next:[6762]hello sailor!,
Previous:[6763]heisenbug, Up:[6764]= H =

Helen Keller mode n.

1. State of a hardware or software system that is deaf, dumb, and
blind, i.e., accepting no input and generating no output, usually due
to an infinite loop or some other excursion into [6765]deep space.
(Unfair to the real Helen Keller, whose success at learning speech was
triumphant.) See also [6766]go flatline, [6767]catatonic. 2. On IBM
PCs under DOS, refers to a specific failure mode in which a screen
saver has kicked in over an [6768]ill-behaved application which
bypasses the very interrupts the screen saver watches for activity.
Your choices are to try to get from the program's current state
through a successful save-and-exit without being able to see what
you're doing, or to re-boot the machine. This isn't (strictly
speaking) a crash.

Node:hello sailor!, Next:[6769]hello wall!, Previous:[6770]Helen
Keller mode, Up:[6771]= H =

hello sailor! interj.

Occasional West Coast equivalent of [6772]hello world; seems to have
originated at SAIL, later associated with the game [6773]Zork (which
also included "hello, aviator" and "hello, implementor"). Originally
from the traditional hooker's greeting to a swabbie fresh off the
boat, of course. The standard response is "Nothing happens here."; of
all the Zork/Dungeon games, only in Infocom's Zork 3 is "Hello,
Sailor" actually useful (excluding the unique situation where
_knowing_ this fact is important in Dungeon...).

Node:hello wall!, Next:[6774]hello world, Previous:[6775]hello
sailor!, Up:[6776]= H =

hello, wall! excl.

See [6777]wall.

Node:hello world, Next:[6778]hex, Previous:[6779]hello wall!,
Up:[6780]= H =

hello world interj.

1. The canonical minimal test message in the C/Unix universe. 2. Any
of the minimal programs that emit this message. Traditionally, the
first program a C coder is supposed to write in a new environment is
one that just prints "hello, world" to standard output (and indeed it
is the first example program in [6781]K&R). Environments that generate
an unreasonably large executable for this trivial test or which
require a [6782]hairy compiler-linker invocation to generate it are
considered to [6783]lose (see [6784]X). 3. Greeting uttered by a
hacker making an entrance or requesting information from anyone
present. "Hello, world! Is the LAN back up yet?"

Node:hex, Next:[6785]hexadecimal, Previous:[6786]hello world,
Up:[6787]= H =

hex n.

1. Short for [6788]hexadecimal, base 16. 2. A 6-pack of anything
(compare [6789]quad, sense 2). Neither usage has anything to do with
[6790]magic or [6791]black art, though the pun is appreciated and
occasionally used by hackers. True story: As a joke, some hackers once
offered some surplus ICs for sale to be worn as protective amulets
against hostile magic. The chips were, of course, hex inverters.

Node:hexadecimal, Next:[6792]hexit, Previous:[6793]hex, Up:[6794]= H =

hexadecimal n.

Base 16. Coined in the early 1960s to replace earlier `sexadecimal',
which was too racy and amusing for stuffy IBM, and later adopted by
the rest of the industry.

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.

Node:hexit, Next:[6795]HHOK, Previous:[6796]hexadecimal, Up:[6797]= H

hexit /hek'sit/ n.

A hexadecimal digit (0-9, and A-F or a-f). Used by people who claim
that there are only ten digits, dammit; sixteen-fingered human beings
are rather rare, despite what some keyboard designs might seem to
imply (see [6798]space-cadet keyboard).

Node:HHOK, Next:[6799]HHOS, Previous:[6800]hexit, Up:[6801]= H =


See [6802]ha ha only serious.

Node:HHOS, Next:[6803]hidden flag, Previous:[6804]HHOK, Up:[6805]= H =


See [6806]ha ha only serious.

Node:hidden flag, Next:[6807]high bit, Previous:[6808]HHOS, Up:[6809]=
H =

hidden flag n.

[scientific computation] An extra option added to a routine without
changing the calling sequence. For example, instead of adding an
explicit input variable to instruct a routine to give extra diagnostic
output, the programmer might just add a test for some otherwise
meaningless feature of the existing inputs, such as a negative mass.
The use of hidden flags can make a program very hard to debug and
understand, but is all too common wherever programs are hacked on in a

Node:high bit, Next:[6810]high moby, Previous:[6811]hidden flag,
Up:[6812]= H =

high bit n.

[from `high-order bit'] 1. The most significant bit in a byte. 2.
[common] By extension, the most significant part of something other
than a data byte: "Spare me the whole [6813]saga, just give me the
high bit." See also [6814]meta bit, [6815]hobbit, [6816]dread high-bit
disease, and compare the mainstream slang `bottom line'.

Node:high moby, Next:[6817]highly, Previous:[6818]high bit, Up:[6819]=
H =

high moby /hi:' mohb'ee/ n.

The high half of a 512K [6820]PDP-10's physical address space; the
other half was of course the low moby. This usage has been generalized
in a way that has outlasted the [6821]PDP-10; for example, at the 1990
Washington D.C. Area Science Fiction Conclave (Disclave), when a
miscommunication resulted in two separate wakes being held in
commemoration of the shutdown of MIT's last [6822]ITS machines, the
one on the upper floor was dubbed the `high moby' and the other the
`low moby'. All parties involved [6823]grokked this instantly. See

Node:highly, Next:[6825]hing, Previous:[6826]high moby, Up:[6827]= H =

highly adv.

[scientific computation] The preferred modifier for overstating an
understatement. As in: `highly nonoptimal', the worst possible way to
do something; `highly nontrivial', either impossible or requiring a
major research project; `highly nonlinear', completely erratic and
unpredictable; `highly nontechnical', drivel written for [6828]lusers,
oversimplified to the point of being misleading or incorrect (compare
[6829]drool-proof paper). In other computing cultures, postfixing of
[6830]in the extreme might be preferred.

Node:hing, Next:[6831]hired gun, Previous:[6832]highly, Up:[6833]= H =

hing // n.

[IRC] Fortuitous typo for `hint', now in wide intentional use among
players of [6834]initgame. Compare [6835]newsfroup, [6836]filk.

Node:hired gun, Next:[6837]hirsute, Previous:[6838]hing, Up:[6839]= H

hired gun n.

A contract programmer, as opposed to a full-time staff member. All the
connotations of this term suggested by innumerable spaghetti Westerns
are intentional.

Node:hirsute, Next:[6840]HLL, Previous:[6841]hired gun, Up:[6842]= H =

hirsute adj.

Occasionally used humorously as a synonym for [6843]hairy.

Node:HLL, Next:[6844]hoarding, Previous:[6845]hirsute, Up:[6846]= H =

HLL /H-L-L/ n.

[High-Level Language (as opposed to assembler)] Found primarily in
email and news rather than speech. Rarely, the variants `VHLL' and
`MLL' are found. VHLL stands for `Very-High-Level Language' and is
used to describe a [6847]bondage-and-discipline language that the
speaker happens to like; Prolog and Backus's FP are often called
VHLLs. `MLL' stands for `Medium-Level Language' and is sometimes used
half-jokingly to describe [6848]C, alluding to its
`structured-assembler' image. See also [6849]languages of choice.

Node:hoarding, Next:[6850]hobbit, Previous:[6851]HLL, Up:[6852]= H =

hoarding n.

See [6853]software hoarding.

Node:hobbit, Next:[6854]hog, Previous:[6855]hoarding, Up:[6856]= H =

hobbit n.

1. [rare] The High Order BIT of a byte; same as the [6857]meta bit or
[6858]high bit. 2. The non-ITS name of [6859]vad@ai.mit.edu
(*Hobbit*), master of lasers.

Node:hog, Next:[6860]hole, Previous:[6861]hobbit, Up:[6862]= H =

hog n.,vt.

1. Favored term to describe programs or hardware that seem to eat far
more than their share of a system's resources, esp. those which
noticeably degrade interactive response. Not used of programs that are
simply extremely large or complex or that are merely painfully slow
themselves. More often than not encountered in qualified forms, e.g.,
`memory hog', `core hog', `hog the processor', `hog the disk'. "A
controller that never gives up the I/O bus gets killed after the
bus-hog timer expires." 2. Also said of people who use more than their
fair share of resources (particularly disk, where it seems that 10% of
the people use 90% of the disk, no matter how big the disk is or how
many people use it). Of course, once disk hogs fill up one filesystem,
they typically find some other new one to infect, claiming to the
sysadmin that they have an important new project to complete.

Node:hole, Next:[6863]hollised, Previous:[6864]hog, Up:[6865]= H =

hole n.

A region in an otherwise [6866]flat entity which is not actually
present. For example, some Unix filesystems can store large files with
holes so that unused regions of the file are never actually stored on
disk. (In techspeak, these are referred to as `sparse' files.) As
another example, the region of memory in IBM PCs reserved for
memory-mapped I/O devices which may not actually be present is called
`the I/O hole', since memory-management systems must skip over this
area when filling user requests for memory.

Node:hollised, Next:[6867]holy wars, Previous:[6868]hole, Up:[6869]= H

hollised /hol'ist/ adj.

[Usenet: sci.space] To be hollised is to have been ordered by one's
employer not to post any even remotely job-related material to Usenet
(or, by extension, to other Internet media). The original and most
notorious case of this involved one Ken Hollis, a Lockheed employee
and space-program enthusiast who posted publicly available material on
access to Space Shuttle launches to sci.space. He was gagged under
threat of being fired in 1994 at the behest of NASA public-relations
officers. The result was, of course, a huge publicity black eye for
NASA. Nevertheless several other NASA contractor employees were
subsequently hollised for similar activities. Use of this term carries
the strong connotation that the persons doing the gagging are
bureaucratic idiots blinded to their own best interests by territorial

Node:holy wars, Next:[6870]home box, Previous:[6871]hollised,
Up:[6872]= H =

holy wars n.

[from [6873]Usenet, but may predate it; common] n. [6874]flame wars
over [6875]religious issues. The paper by Danny Cohen that popularized
the terms [6876]big-endian and [6877]little-endian in connection with
the LSB-first/MSB-first controversy was entitled "On Holy Wars and a
Plea for Peace".

Great holy wars of the past have included [6878]ITS vs. [6879]Unix,
[6880]Unix vs. [6881]VMS, [6882]BSD Unix vs. [6883]USG Unix, [6884]C
vs. [6885]Pascal, [6886]C vs. FORTRAN, etc. In the year 2000, popular
favorites of the day are KDE vs, GNOME, vim vs. elvis, Linux vs.
[Free|Net|Open]BSD. Hardy perennials include [6887]EMACS vs. [6888]vi,
my personal computer vs. everyone else's personal computer, ad
nauseam. The characteristic that distinguishes holy wars from normal
technical disputes is that in a holy war most of the participants
spend their time trying to pass off personal value choices and
cultural attachments as objective technical evaluations. This happens
precisely because in a true holy war, the actual substantive
differences between the sides are relatively minor. See also

Node:home box, Next:[6890]home machine, Previous:[6891]holy wars,
Up:[6892]= H =

home box n.

A hacker's personal machine, especially one he or she owns. "Yeah?
Well, my home box runs a full 4.4 BSD, so there!"

Node:home machine, Next:[6893]home page, Previous:[6894]home box,
Up:[6895]= H =

home machine n.

1. Syn. [6896]home box. 2. The machine that receives your email. These
senses might be distinct, for example, for a hacker who owns one
computer at home, but reads email at work.

Node:home page, Next:[6897]honey pot, Previous:[6898]home machine,
Up:[6899]= H =

home page n.

1. One's personal billboard on the World Wide Web. The term `home
page' is perhaps a bit misleading because home directories and
physical homes in [6900]RL are private, but home pages are designed to
be very public. 2. By extension, a WWW repository for information and
links related to a project or organization. Compare [6901]home box.

Node:honey pot, Next:[6902]hook, Previous:[6903]home page, Up:[6904]=
H =

honey pot n.

A box designed to attract [6905]crackers so that they can be observed
in action. It is usually well isolated from the rest of the network,
but has extensive logging (usually network layer, on a different
machine). Different from an [6906]iron box in that it's purpose is to
attract, not merely observe. Sometimes, it is also a defensive network
security tactic - you set up an easy-to-crack box so that your real
servers don't get messed with. The concept was presented in Cheswick &
Bellovin's book "Firewalls and Internet Security".

Node:hook, Next:[6907]hop, Previous:[6908]honey pot, Up:[6909]= H =

hook n.

A software or hardware feature included in order to simplify later
additions or changes by a user. For example, a simple program that
prints numbers might always print them in base 10, but a more flexible
version would let a variable determine what base to use; setting the
variable to 5 would make the program print numbers in base 5. The
variable is a simple hook. An even more flexible program might examine
the variable and treat a value of 16 or less as the base to use, but
treat any other number as the address of a user-supplied routine for
printing a number. This is a [6910]hairy but powerful hook; one can
then write a routine to print numbers as Roman numerals, say, or as
Hebrew characters, and plug it into the program through the hook.
Often the difference between a good program and a superb one is that
the latter has useful hooks in judiciously chosen places. Both may do
the original job about equally well, but the one with the hooks is
much more flexible for future expansion of capabilities ([6911]EMACS,
for example, is all hooks). The term `user exit' is synonymous but
much more formal and less hackish.

Node:hop, Next:[6912]hose, Previous:[6913]hook, Up:[6914]= H =


1. n. [common] One file transmission in a series required to get a
file from point A to point B on a store-and-forward network. On such
networks (including [6915]UUCPNET and [6916]FidoNet), an important
inter-machine metric is the number of hops in the shortest path
between them, which can be more significant than their geographical
separation. See [6917]bang path. 2. v. [rare] To log in to a remote
machine, esp. via rlogin or telnet. "I'll hop over to foovax to FTP

Node:hose, Next:[6918]hosed, Previous:[6919]hop, Up:[6920]= H =


1. vt. [common] To make non-functional or greatly degraded in
performance. "That big ray-tracing program really hoses the system."
See [6921]hosed. 2. n. A narrow channel through which data flows under
pressure. Generally denotes data paths that represent performance
bottlenecks. 3. n. Cabling, especially thick Ethernet cable. This is
sometimes called `bit hose' or `hosery' (play on `hosiery') or
`etherhose'. See also [6922]washing machine.

Node:hosed, Next:[6923]hot chat, Previous:[6924]hose, Up:[6925]= H =

hosed adj.

Same as [6926]down. Used primarily by Unix hackers. Humorous: also
implies a condition thought to be relatively easy to reverse. Probably
derived from the Canadian slang `hoser' popularized by the Bob and
Doug Mackenzie skits on SCTV, but this usage predated SCTV by years in
hackerdom (it was certainly already live at CMU in the 1970s). See
[6927]hose. It is also widely used of people in the mainstream sense
of `in an extremely unfortunate situation'.

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

Node:hot chat, Next:[6929]hot spot, Previous:[6930]hosed, Up:[6931]= H

hot chat n.

Sexually explicit one-on-one chat. See [6932]teledildonics.

Node:hot spot, Next:[6933]hotlink, Previous:[6934]hot chat, Up:[6935]=
H =

hot spot n.

1. [primarily used by C/Unix programmers, but spreading] It is
received wisdom that in most programs, less than 10% of the code eats
90% of the execution time; if one were to graph instruction visits
versus code addresses, one would typically see a few huge spikes
amidst a lot of low-level noise. Such spikes are called `hot spots'
and are good candidates for heavy optimization or [6936]hand-hacking.
The term is especially used of tight loops and recursions in the
code's central algorithm, as opposed to (say) initial set-up costs or
large but infrequent I/O operations. See [6937]tune, [6938]bum,
[6939]hand-hacking. 2. The active location of a cursor on a bit-map
display. "Put the mouse's hot spot on the `ON' widget and click the
left button." 3. A screen region that is sensitive to mouse gestures,
which trigger some action. World Wide Web pages now provide the
[6940]canonical examples; WWW browsers present hypertext links as hot
spots which, when clicked on, point the browser at another document
(these are specifically called [6941]hotlinks). 4. In a massively
parallel computer with shared memory, the one location that all 10,000
processors are trying to read or write at once (perhaps because they
are all doing a [6942]busy-wait on the same lock). 5. More generally,
any place in a hardware design that turns into a performance
bottleneck due to resource contention.

Node:hotlink, Next:[6943]house wizard, Previous:[6944]hot spot,
Up:[6945]= H =

hotlink /hot'link/ n.

A [6946]hot spot on a World Wide Web page; an area, which, when
clicked or selected, chases a URL. Also spelled `hot link'. Use of
this term focuses on the link's role as an immediate part of your
display, as opposed to the timeless sense of logical connection
suggested by [6947]web pointer. Your screen shows hotlinks but your
document has web pointers, not (in normal usage) the other way around.

Node:house wizard, Next:[6948]HP-SUX, Previous:[6949]hotlink,
Up:[6950]= H =

house wizard n.

[prob. from ad-agency tradetalk, `house freak'] A hacker occupying a
technical-specialist, R&D, or systems position at a commercial shop. A
really effective house wizard can have influence out of all proportion
to his/her ostensible rank and still not have to wear a suit. Used
esp. of Unix wizards. The term `house guru' is equivalent.

Node:HP-SUX, Next:[6951]HTH, Previous:[6952]house wizard, Up:[6953]= H

HP-SUX /H-P suhks/ n.

Unflattering hackerism for HP-UX, Hewlett-Packard's Unix port, which
features some truly unique bogosities in the filesystem internals and
elsewhere (these occasionally create portability problems). HP-UX is
often referred to as `hockey-pux' inside HP, and one respondent claims
that the proper pronunciation is /H-P ukkkhhhh/ as though one were
about to spit. Another such alternate spelling and pronunciation is
"H-PUX" /H-puhks/. Hackers at HP/Apollo (the former Apollo Computers
which was swallowed by HP in 1989) have been heard to complain that
Mr. Packard should have pushed to have his name first, if for no other
reason than the greater eloquence of the resulting acronym. Compare
[6954]AIDX, [6955]buglix. See also [6956]Nominal Semidestructor,
[6957]Telerat, [6958]ScumOS, [6959]sun-stools, [6960]Slowlaris.

Node:HTH, Next:[6961]huff, Previous:[6962]HP-SUX, Up:[6963]= H =

HTH //

[Usenet: very common] Abbreviation: Hope This Helps (e.g. following a
response to a technical question). Often used just before [6964]HAND.
See also [6965]YHBT.

Node:huff, Next:[6966]humma, Previous:[6967]HTH, Up:[6968]= H =

huff v.

To compress data using a Huffman code. Various programs that use such
methods have been called `HUFF' or some variant thereof. Oppose
[6969]puff. Compare [6970]crunch, [6971]compress.

Node:humma, Next:[6972]hung, Previous:[6973]huff, Up:[6974]= H =

humma // excl.

A filler word used on various `chat' and `talk' programs when you had
nothing to say but felt that it was important to say something. The
word apparently originated (at least with this definition) on the MECC
Timeshare System (MTS, a now-defunct educational time-sharing system
running in Minnesota during the 1970s and the early 1980s) but was
later sighted on early Unix systems. Compare the U.K's [6975]wibble.

Node:hung, Next:[6976]hungry puppy, Previous:[6977]humma, Up:[6978]= H

hung adj.

[from `hung up'; common] Equivalent to [6979]wedged, but more common
at Unix/C sites. Not generally used of people. Syn. with [6980]locked
up, [6981]wedged; compare [6982]hosed. See also [6983]hang. A hung
state is distinguished from [6984]crashed or [6985]down, where the
program or system is also unusable but because it is not running
rather than because it is waiting for something. However, the recovery
from both situations is often the same. It is also distinguished from
the similar but more drastic state [6986]wedged - hung software can be
woken up with easy things like interrupt keys, but wedged will need a
kill -9 or even reboot.

Node:hungry puppy, Next:[6987]hungus, Previous:[6988]hung, Up:[6989]=
H =

hungry puppy n.

Syn. [6990]slopsucker.

Node:hungus, Next:[6991]hyperspace, Previous:[6992]hungry puppy,
Up:[6993]= H =

hungus /huhng'g*s/ adj.

[perhaps related to slang `humongous'] Large, unwieldy, usually
unmanageable. "TCP is a hungus piece of code." "This is a hungus set
of modifications." The [6994]Infocom text adventure game "Beyond Zork"
included two monsters called hunguses.

Node:hyperspace, Next:[6995]hysterical reasons, Previous:[6996]hungus,
Up:[6997]= H =

hyperspace /hi:'per-spays/ n.

A memory location that is far away from where the program counter
should be pointing, especially a place that is inaccessible because it
is not even mapped in by the virtual-memory system. "Another core dump
-- looks like the program jumped off to hyperspace somehow." (Compare
[6998]jump off into never-never land.) This usage is from the SF
notion of a spaceship jumping `into hyperspace', that is, taking a
shortcut through higher-dimensional space -- in other words, bypassing
this universe. The variant `east hyperspace' is recorded among CMU and
Bliss hackers.

Node:hysterical reasons, Next:[6999]I didn't change anything!,
Previous:[7000]hyperspace, Up:[7001]= H =

hysterical reasons n.

(also `hysterical raisins') A variant on the stock phrase "for
historical reasons", indicating specifically that something must be
done in some stupid way for backwards compatibility, and moreover that
the feature it must be compatible with was the result of a bad design
in the first place. "All IBM PC video adapters have to support MDA
text mode for hysterical reasons." Compare [7002]bug-for-bug

Node:= I =, Next:[7003]= J =, Previous:[7004]= H =, Up:[7005]The
Jargon Lexicon

= I =

* [7006]I didn't change anything!:
* [7007]I see no X here.:
* [7008]IANAL:
* [7009]IBM:
* [7010]IBM discount:
* [7011]ICBM address:
* [7012]ice:
* [7013]ID10T error:
* [7014]idempotent:
* [7015]IDP:
* [7016]If you want X you know where to find it.:
* [7017]ifdef out:
* [7018]IIRC:
* [7019]ill-behaved:
* [7020]IMHO:
* [7021]Imminent Death Of The Net Predicted!:
* [7022]in the extreme:
* [7023]inc:
* [7024]incantation:
* [7025]include:
* [7026]include war:
* [7027]indent style:
* [7028]index of X:
* [7029]infant mortality:
* [7030]infinite:
* [7031]infinite loop:
* [7032]Infinite-Monkey Theorem:
* [7033]infinity:
* [7034]inflate:
* [7035]Infocom:
* [7036]initgame:
* [7037]insanely great:
* [7038]installfest:
* [7039]INTERCAL:
* [7040]interesting:
* [7041]Internet:
* [7042]Internet address:
* [7043]Internet Death Penalty:
* [7044]Internet Exploder:
* [7045]Internet Exploiter:
* [7046]interrupt:
* [7047]interrupt list:
* [7048]interrupts locked out:
* [7049]intro:
* [7050]IRC:
* [7051]iron:
* [7052]Iron Age:
* [7053]iron box:
* [7054]ironmonger:
* [7055]ISO standard cup of tea:
* [7056]ISP:
* [7057]ITS:
* [7058]IWBNI:
* [7059]IYFEG:

Node:I didn't change anything!, Next:[7060]I see no X here.,
Previous:[7061]hysterical reasons, Up:[7062]= I =

I didn't change anything! interj.

An aggrieved cry often heard as bugs manifest during a regression
test. The [7063]canonical reply to this assertion is "Then it works
just the same as it did before, doesn't it?" See also [7064]one-line
fix. This is also heard from applications programmers trying to blame
an obvious applications problem on an unrelated systems software
change, for example a divide-by-0 fault after terminals were added to
a network. Usually, their statement is found to be false. Upon close
questioning, they will admit some major restructuring of the program
that shouldn't have broken anything, in their opinion, but which
actually [7065]hosed the code completely.

Node:I see no X here., Next:[7066]IANAL, Previous:[7067]I didn't
change anything!, Up:[7068]= I =

I see no X here.

Hackers (and the interactive computer games they write) traditionally
favor this slightly marked usage over other possible equivalents such
as "There's no X here!" or "X is missing." or "Where's the X?". This
goes back to the original PDP-10 [7069]ADVENT, which would respond in
this wise if you asked it to do something involving an object not
present at your location in the game.

Node:IANAL, Next:[7070]IBM, Previous:[7071]I see no X here.,
Up:[7072]= I =


[Usenet] Abbreviation, "I Am Not A Lawyer". Usually precedes legal

Node:IBM, Next:[7073]IBM discount, Previous:[7074]IANAL, Up:[7075]= I


Inferior But Marketable; It's Better Manually; Insidious Black Magic;
It's Been Malfunctioning; Incontinent Bowel Movement; and a
near-[7076]infinite number of even less complimentary expansions,
including `International Business Machines'. See [7077]TLA. These
abbreviations illustrate the considerable antipathy most hackers long
felt toward the `industry leader' (see [7078]fear and loathing).

What galled hackers about most IBM machines above the PC level wasn't
so much that they were underpowered and overpriced (though that does
count against them), but that the designs are incredibly archaic,
[7079]crufty, and [7080]elephantine ... and you can't fix them --
source code is locked up tight, and programming tools are expensive,
hard to find, and bletcherous to use once you've found them. For many
years, before Microsoft, IBM was the company hackers loved to hate.

But everything changes. In the 1980s IBM had its own troubles with
Microsoft. In the late 1990s IBM re-invented itself as a services
company, began to release open-source software through its AlphaWorks
group, and began shipping [7081]Linux systems and building ties to the
Linux community. To the astonishment of all parties, IBM emerged as a
friend of the hacker community

This lexicon includes a number of entries attributed to `IBM'; these
derive from some rampantly unofficial jargon lists circulated within
IBM's own beleaguered hacker underground.

Node:IBM discount, Next:[7082]ICBM address, Previous:[7083]IBM,
Up:[7084]= I =

IBM discount n.

A price increase. Outside IBM, this derives from the common perception
that IBM products are generally overpriced (see [7085]clone); inside,
it is said to spring from a belief that large numbers of IBM employees
living in an area cause prices to rise.

Node:ICBM address, Next:[7086]ice, Previous:[7087]IBM discount,
Up:[7088]= I =

ICBM address n.

(Also `missile address') The form used to register a site with the
Usenet mapping project, back before the day of pervasive Internet,
included a blank for longitude and latitude, preferably to
seconds-of-arc accuracy. This was actually used for generating
geographically-correct maps of Usenet links on a plotter; however, it
became traditional to refer to this as one's `ICBM address' or
`missile address', and some people include it in their [7089]sig block
with that name. (A real missile address would include target

Node:ice, Next:[7090]ID10T error, Previous:[7091]ICBM address,
Up:[7092]= I =

ice n.

[coined by Usenetter Tom Maddox, popularized by William Gibson's
cyberpunk SF novels: a contrived acronym for `Intrusion Countermeasure
Electronics'] Security software (in Gibson's novels, software that
responds to intrusion by attempting to immobilize or even literally
kill the intruder). Hence, `icebreaker': a program designed for
cracking security on a system.

Neither term is in serious use yet as of early 1999, but many hackers
find the metaphor attractive, and each may develop a denotation in the
future. In the meantime, the speculative usage could be confused with
`ICE', an acronym for "in-circuit emulator".

In ironic reference to the speculative usage, however, some hackers
and computer scientists formed ICE (International Cryptographic
Experiment) in 1994. ICE is a consortium to promote uniform
international access to strong cryptography.

Node:ID10T error, Next:[7093]idempotent, Previous:[7094]ice,
Up:[7095]= I =

ID10T error /I-D-ten-T er'*r/

Synonym for [7096]PEBKAC, e.g. "The user is being an idiot".
Tech-support people passing a problem report to someone higher up the
food chain (and presumably better equipped to deal with idiots) may
ask the user to convey that there seems to be an I-D-ten-T error.
Users never twig.

Node:idempotent, Next:[7097]IDP, Previous:[7098]ID10T error,
Up:[7099]= I =

idempotent adj.

[from mathematical techspeak] Acting as if used only once, even if
used multiple times. This term is often used with respect to [7100]C
header files, which contain common definitions and declarations to be
included by several source files. If a header file is ever included
twice during the same compilation (perhaps due to nested #include
files), compilation errors can result unless the header file has
protected itself against multiple inclusion; a header file so
protected is said to be idempotent. The term can also be used to
describe an initialization subroutine that is arranged to perform some
critical action exactly once, even if the routine is called several

Node:IDP, Next:[7101]If you want X you know where to find it.,
Previous:[7102]idempotent, Up:[7103]= I =

IDP /I-D-P/ v.,n.

[Usenet] Abbreviation for [7104]Internet Death Penalty. Common
(probably now more so than the full form), and frequently verbed.
Compare [7105]UDP.

Node:If you want X you know where to find it., Next:[7106]ifdef out,
Previous:[7107]IDP, Up:[7108]= I =

If you want X, you know where to find it.

There is a legend that Dennis Ritchie, inventor of [7109]C, once
responded to demands for features resembling those of what at the time
was a much more popular language by observing "If you want PL/I, you
know where to find it." Ever since, this has been hackish standard
form for fending off requests to alter a new design to mimic some
older (and, by implication, inferior and [7110]baroque) one. The case
X = [7111]Pascal manifests semi-regularly on Usenet's comp.lang.c
newsgroup. Indeed, the case X = X has been reported in discussions of
graphics software (see [7112]X).

Node:ifdef out, Next:[7113]IIRC, Previous:[7114]If you want X you know
where to find it., Up:[7115]= I =

ifdef out /if'def owt/ v.

Syn. for [7116]condition out, specific to [7117]C.

Node:IIRC, Next:[7118]ill-behaved, Previous:[7119]ifdef out,
Up:[7120]= I =


Common abbreviation for "If I Recall Correctly".

Node:ill-behaved, Next:[7121]IMHO, Previous:[7122]IIRC, Up:[7123]= I =

ill-behaved adj.

1. [numerical analysis] Said of an algorithm or computational method
that tends to blow up because of accumulated roundoff error or poor
convergence properties. 2. Software that bypasses the defined [7124]OS
interfaces to do things (like screen, keyboard, and disk I/O) itself,
often in a way that depends on the hardware of the machine it is
running on or which is nonportable or incompatible with other pieces
of software. In the IBM PC/MS-DOS world, there is a folk theorem
(nearly true) to the effect that (owing to gross inadequacies and
performance penalties in the OS interface) all interesting
applications are ill-behaved. See also [7125]bare metal. Oppose
[7126]well-behaved, compare [7127]PC-ism. See [7128]mess-dos.

Node:IMHO, Next:[7129]Imminent Death Of The Net Predicted!,
Previous:[7130]ill-behaved, Up:[7131]= I =

IMHO // abbrev.

[from SF fandom via Usenet; abbreviation for `In My Humble Opinion']
"IMHO, mixed-case C names should be avoided, as mistyping something in
the wrong case can cause hard-to-detect errors -- and they look too
Pascalish anyhow." Also seen in variant forms such as IMNSHO (In My
Not-So-Humble Opinion) and IMAO (In My Arrogant Opinion).

Node:Imminent Death Of The Net Predicted!, Next:[7132]in the extreme,
Previous:[7133]IMHO, Up:[7134]= I =

Imminent Death Of The Net Predicted! prov.

[Usenet] Since [7135]Usenet first got off the ground in 1980-81, it
has grown exponentially, approximately doubling in size every year. On
the other hand, most people feel the [7136]signal-to-noise ratio of
Usenet has dropped steadily. These trends led, as far back as
mid-1983, to predictions of the imminent collapse (or death) of the
net. Ten years and numerous doublings later, enough of these gloomy
prognostications have been confounded that the phrase "Imminent Death
Of The Net Predicted!" has become a running joke, hauled out any time
someone grumbles about the [7137]S/N ratio or the huge and steadily
increasing volume, or the possible loss of a key node or link, or the
potential for lawsuits when ignoramuses post copyrighted material,
etc., etc., etc.

Node:in the extreme, Next:[7138]inc, Previous:[7139]Imminent Death Of
The Net Predicted!, Up:[7140]= I =

in the extreme adj.

A preferred superlative suffix for many hackish terms. See, for
example, `obscure in the extreme' under [7141]obscure, and compare

Node:inc, Next:[7143]incantation, Previous:[7144]in the extreme,
Up:[7145]= I =

inc /ink/ v.

Verbal (and only rarely written) shorthand for increment, i.e.
`increase by one'. Especially used by assembly programmers, as many
assembly languages have an inc mnemonic. Antonym: dec (see [7146]DEC).

Node:incantation, Next:[7147]include, Previous:[7148]inc, Up:[7149]= I

incantation n.

Any particularly arbitrary or obscure command that one must mutter at
a system to attain a desired result. Not used of passwords or other
explicit security features. Especially used of tricks that are so
poorly documented that they must be learned from a [7150]wizard. "This
compiler normally locates initialized data in the data segment, but if
you [7151]mutter the right incantation they will be forced into text

Node:include, Next:[7152]include war, Previous:[7153]incantation,
Up:[7154]= I =

include vt.

[Usenet] 1. To duplicate a portion (or whole) of another's message
(typically with attribution to the source) in a reply or followup, for
clarifying the context of one's response. See the discussion of
inclusion styles under "Hacker Writing Style". 2. [from [7155]C]
#include has appeared in [7156]sig blocks to refer to a
notional `standard [7157]disclaimer file'.

Node:include war, Next:[7158]indent style, Previous:[7159]include,
Up:[7160]= I =

include war n.

Excessive multi-leveled inclusion within a discussion [7161]thread, a
practice that tends to annoy readers. In a forum with high-traffic
newsgroups, such as Usenet, this can lead to [7162]flames and the urge
to start a [7163]kill file.

Node:indent style, Next:[7164]index of X, Previous:[7165]include war,
Up:[7166]= I =

indent style n.

[C, C++, and Java programmers] The rules one uses to indent code in a
readable fashion. There are four major C indent styles, described
below; all have the aim of making it easier for the reader to visually
track the scope of control constructs. They have been inherited by C++
and Java, which have C-like syntaxes. The significant variable is the
placement of { and } with respect to the statement(s) they enclose and
to the guard or controlling statement (if, else, for, while, or do) on
the block, if any.

`K&R style' -- Named after Kernighan & Ritchie, because the examples

Book of the day: