The Jargon File


The Jargon File
Introduction
How Jargon Works
How to Use the Lexicon

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [^a-zA-Z]

Appendix A --- Appendix B --- Appendix C

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 prob. patterning on the original
   Whetstone (the name of a laboratory) but influenced by the
   fannish/counterculture h infix.

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 wannabee, or in larval_stage
   .  For further enlightenment on this subject, consult any Zen
   master.  See also Humor,_Hacker, and AI_koans.

hack

  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 Hacking_X_for_Y.  5. vt. To
   pull a prank on.  See sense 2 and 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 hacker.  8. See 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
   Zork.  See also vadding.

   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.

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 hacking_run,
   though the latter more strongly implies an all-nighter.

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 larval_stage.  Sometimes
   amplified as `deep hack mode'.

   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.

hack on

 vt.  To hack; implies that the subject is some
   pre-existing hunk of code that one is evolving, as opposed to
   something one might hack_up.

hack together

 vt.  To throw something together so it will
   work.  Unlike `kluge together' or cruft_together, this does
   not necessarily have negative connotations.

hack up

 vt.  To hack, but generally implies that the
   result is a hack in sense 1 (a quick hack).  Contrast this with
   hack_on.  To `hack up on' implies a quick-and-dirty
   modification to an existing system.  Contrast hacked_up;
   compare kluge_up, monkey_up, cruft_together.

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

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

hacked up

 adj.  Sufficiently patched, kluged, and tweaked
   that the surgical scars are beginning to crowd out normal tissue
   (compare 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 hack_up.

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 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 is cracker.

   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.

hacker ethic, the

 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 free software 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 free 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 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 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.

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

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

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.

hackish

 /hak'ish/ adj.  (also hackishness n.) 1. Said
   of something that is or involves a hack.  2. Of or pertaining to
   hackers or the hacker subculture.  See also true-hacker.

hackishness

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

hackitude

 n.  Syn. hackishness; this word is considered
   sillier.

hair

 n.  [back-formation from hairy] The complications
   that make something hairy.  "Decoding 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!")

hairball

 n.  [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.

hairy

 adj.  1. Annoyingly complicated.  "DWIM is
   incredibly hairy."  2. Incomprehensible.  "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 hirsute.

   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.

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

hakspek

 /hak'speek/ n.  A shorthand method of spelling
   found on many British academic bulletin boards and talker_system
   s.  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
   talk_mode.

hammer

 vt.  Commonwealth hackish syn. for bang_on.

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

hand cruft

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

hand-hacking

 n.  1. The practice of translating hot_spot
   s from an 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 tune,
   bum, by_hand; syn. with v. cruft.  2. 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.

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

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 warez_d00dz, crackers, weenies,
   spods, and other lower forms of network life; true hackers
   travel on their own reputations rather than invented legendry.
   Compare nick. 2. [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 snap (to snap a handle would defeat
   its purpose); see also aliasing_bug, dangling_pointer
   .

handshaking

 n.  Hardware or software activity designed to
   start or keep two machines or programs in synchronization as they
   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 protocol.

handwave

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

hang

 v.  1. To wait for an event that will never occur.
   "The system is hanging because it can't read from the crashed
   drive".  See wedged, 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 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.

Hanlon's Razor

 prov.  A corollary of 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 common title Hanlon's Razor is unknown; a similar
   epigram has been attributed to William James.  Quoted here because
   it seems to be a particular favorite of hackers, often showing up
   in sig_blocks, 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 Sturgeon's_Law
   .

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 a `o' here instead of a zero, the program
   will happily erase all your data."

haque

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

hard boot

 n.  See boot.

hardcoded

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

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

hardwired

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

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 loser nature!"  See also the_X_that_can_be_Y_is_not_the_true_X
   .

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

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

hat

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

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
   toggle a subset of the bus lines as rapidly as it could; in
   some configurations this could actually cause lines to burn up.

heads down

 [Sun] adj.  Concentrating, usually so heavily and
   for so long that everything outside the focus area is missed.  See
   also hack_mode and larval_stage, although this mode is
   hardly confined to fledgling hackers.

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 breath-of-life_packet.

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 lunatic_fringe).  A 1993
   example of a heatseeker is someone who, owning a 286 PC and Windows
   3.0, goes out and buys 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 the
   bugs in each release (n) and selling it to them as release (n+1).

heavy metal

 n.  [Cambridge] Syn. big_iron.

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 deep_magic, which trades more on arcane
   *theoretical* knowledge.  Writing device drivers is heavy
   wizardry; so is interfacing to X (sense 2) without a toolkit.
   Esp. found in source-code comments of the form "Heavy wizardry
   begins here".  Compare voodoo_programming.

heavyweight

 adj.  High-overhead; 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.
   EMACS is a heavyweight editor; X is an *extremely*
   heavyweight window system.  This term isn't pejorative, but one
   hacker's heavyweight is another's elephantine and a third's
   monstrosity.  Oppose `lightweight'.  Usage: now borders on
   techspeak, especially in the compound `heavyweight process'.

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 Bohr_bug; see also mandelbug,
   schroedinbug.  In C, nine out of ten heisenbugs result from
   uninitialized auto variables, fandango_on_core phenomena
   (esp. lossage related to corruption of the malloc arena) or
   errors that smash_the_stack.

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 deep_space.  (Unfair to the real Helen Keller,
   whose success at learning speech was triumphant.)  See also go_flatline
   , catatonic.  2. On IBM PCs under DOS, refers to a
   specific failure mode in which a screen saver has kicked in over an
   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.

hello, sailor!

 interj.  Occasional West Coast equivalent of
   hello,_world; seems to have originated at SAIL, later
   associated with the game 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.

hello, wall!

 excl.  See wall.

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 K&R).  Environments that generate an
   unreasonably large executable for this trivial test or which
   require a hairy compiler-linker invocation to generate it are
   considered to lose (see X).  3. Greeting uttered by a
   hacker making an entrance or requesting information from anyone
   present.  "Hello, world!  Is the VAX back up yet?"

hex

 n.  1. Short for hexadecimal, base 16.  2. A 6-pack
   of anything (compare quad, sense 2).  Neither usage has
   anything to do with magic or 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.

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.

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

HHOK

  See ha_ha_only_serious.

HHOS

  See ha_ha_only_serious.

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

high bit

 n.  [from `high-order bit'] 1. The most
   significant bit in a byte.  2. By extension, the most significant
   part of something other than a data byte: "Spare me the whole
   saga, just give me the high bit."  See also meta_bit,
   hobbit, dread_high-bit_disease, and compare the
   mainstream slang `bottom line'.

high moby

 /hi:' mohb'ee/ n.  The high half of a 512K
   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 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 ITS machines, the one on the upper
   floor was dubbed the `high moby' and the other the `low moby'.
   All parties involved grokked this instantly.  See moby.

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 lusers, oversimplified to
   the point of being misleading or incorrect (compare drool-proof_paper
   ).  In other computing cultures, postfixing of in_the_extreme
    might be preferred.

hing

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

hirsute

 adj.  Occasionally used humorously as a synonym for
   hairy.

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
   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 C, alluding to its `structured-assembler' image.
   See also languages_of_choice.

hobbit

 n.  1. The High Order Bit of a byte; same as the
   meta_bit or high_bit.  2. The non-ITS name of
   vad@ai.mit.edu (*Hobbit*), master of lasers.

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 (see pig,_run_like_a
   ).  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.

hole

 n.  A region in an otherwise 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.

holy wars

  [from Usenet, but may predate it]
   n. flame_wars over religious_issues.  The paper by Danny
   Cohen that popularized the terms big-endian and
   little-endian in connection with the LSB-first/MSB-first
   controversy was entitled "On Holy Wars and a Plea for Peace".
   Other perennial Holy Wars have included EMACS vs. vi,
   my personal computer vs. everyone else's personal computer,
   ITS vs. UNIX, UNIX vs. VMS, BSD UNIX
   vs. USG_UNIX, C vs. Pascal, C vs.
   FORTRAN, etc., 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.  See also theology.

home box

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

home machine

 n.  1. Syn. 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.

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 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 (EMACS, for
   example, is *all* hooks).  The term `user exit' is
   synonymous but much more formal and less hackish.

hop

  1. n. 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 UUCPNET and 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 bang_path. 2. v. To log in
   to a remote machine, esp. via rlogin or telnet. "I'll hop over to
   foovax to FTP that."

hose

  1. vt. To make non-functional or greatly degraded in
   performance.  "That big ray-tracing program really hoses the
   system."  See 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
   washing_machine.

hosed

 adj.  Same as 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 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 dehose.

hot chat

 n.  Sexually explicit one-on-one chat.  See
   teledildonics.

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 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 tune, bum, 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 clicks, which trigger
   some action.  Hypertext help screens are an example, in which a hot
   spot exists in the vicinity of any word for which additional
   material is available.  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 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.

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.

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 AIDX, buglix.  See also
   Nominal_Semidestructor, Telerat, Open_DeathTrap,
   ScumOS, sun-stools.

huff

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

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

Humor, Hacker

: n.  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 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 A_Portrait_of_J._Random_Hacker
    in 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
   .

hung

 adj.  [from `hung up'] Equivalent to wedged, but
   more common at UNIX/C sites.  Not generally used of people.
   Syn. with locked_up, wedged; compare hosed.  See
   also hang.  A hung state is distinguished from crashed or
   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.

hungry puppy

 n.  Syn. slopsucker.

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

hyperspace

 /hi:'per-spays/ n.  A memory location that is
   *far* away from where the program counter should be pointing,
   often inaccessible because it is not even mapped in.  "Another
   core dump -- looks like the program jumped off to hyperspace
   somehow."  (Compare 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.

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 bug-for-bug_compatible.


The Jargon File
Introduction
How Jargon Works
How to Use the Lexicon

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [^a-zA-Z]

Appendix A --- Appendix B --- Appendix C