eric@snark.thyrsus.com (Eric S. Raymond) (03/23/91)
Submitted-by: jargon@thyrsus.com
Archive-name: jargon/part09
---- Cut Here and feed the following to sh ----
#!/bin/sh
# this is jargon.09 (part 9 of jargon)
# do not concatenate these parts, unpack them in order with /bin/sh
# file jargon.ascii continued
#
if test ! -r _shar_seq_.tmp; then
echo 'Please unpack part 1 first!'
exit 1
fi
(read Scheck
if test "$Scheck" != 9; then
echo Please unpack part "$Scheck" next!
exit 1
else
exit 0
fi
) < _shar_seq_.tmp || exit 1
if test -f _shar_wnt_.tmp; then
sed 's/^X//' << 'SHAR_EOF' >> 'jargon.ascii' &&
X Recent versions are called `nethack'.
X
X Constructions on this term abound. They include: `happy
X hacking', a farewell; `how's hacking?', a friendly greeting
X among hackers; and `hack, hack', a fairly content-free but
X friendly comment, often used as a temporary farewell. For more on
X the meaning of hack see Appendix A. See also {neat hack},
X {real hack}.
X
Xhack attack: [poss. by analogy with `Big Mac Attack'; the variant
X `big hack attack' is reported] n. Nearly synonymous with
X {hacking run}, though the latter more strongly implies an
X all-nighter.
X
Xhack mode: n. 1. What one is in when hacking, of course. 2. More
X specifically, a Zen-like state of total focus on The Problem which
X may be achieved when one is hacking (this is why every good hacker
X is part mystic). Ability to enter such concentration at will
X correlates strongly with wizardliness; it is one of the most
X important skills learned during {larval stage}. Sometimes
X amplified as `deep hack mode'.
X
X Being yanked out of hack mode (see {priority interrupt}) may be
X experienced as a physical shock, and the sensation of being in it
X is more than a little habituating. The intensity of this
X experience is probably by itself sufficient explanation for the
X existence of hackers, and explains why many resist being promoted
X out of positions where they can code. See also {cyberspace}
X (sense #2).
X
X Some aspects of hackish etiquette will appear quite odd to an
X observer unaware of the high value placed on hack mode. For
X example, if someone appears at your door, it is perfectly okay to
X hold up a hand (without turning one's eyes away from the screen) to
X avoid being interrupted. One may read, type, and interact with the
X computer for quite some time before further acknowledging the
X other's presence (of course, he or she is reciprocally free to
X leave without a word). The understanding is that you might be in
X {hack mode} with a lot of delicate {state} (sense #2) in your
X head, and you dare not {swap} that context out until you have
X reached a good point to pause.
X
Xhack on: vt. To {hack}; implies that the subject is some
X pre-existing hunk of code that one is evolving, as opposed to
X something one might {hack up}.
X
Xhack together: vt. To throw something together so it will work.
X Unlike `kluge together' or {cruft together}, this does not
X necessarily have negative connotations.
X
Xhack up: vt. To {hack}, but generally implies that the result is
X a hack in sense #1 (a quick hack). Contrast this with {hack on}.
X To `hack up on' implies a {quick and dirty} modification to an
X existing system. Contrast {hacked up}; compare {kluge up},
X {monkey up}, {cruft together}.
X
Xhack value: n. Often adduced as the reason or motivation for
X expending effort toward a seemingly useless goal, the point being
X that the accomplished goal is a hack. For example, MacLISP had
X features for reading and printing Roman numerals, which were
X installed purely for hack value. This cannot be explained. As a
X great artist once said of jazz, if you hafta ask, you ain't never
X goin' to find out.
X
Xhack-and-slay: v. (also `hack-and-slash') 1. To play a {MUD}
X or go mudding, especially with the intention of {berserking} for
X pleasure. 2. To undertake an all-night programming/hacking
X session, interspersed with stints of mudding as a change of pace.
X This term arose on the British academic network amongst students
X who worked nights and logged onto Essex University's MUDs during
X public-access hours (2 am to 7 am). Usually more mudding than
X work was done in these sessions.
X
Xhacked off: [analogous with `pissed off'] adj. Said of system
X administrators who have become annoyed, upset, or touchy due to
X suspicions that their sites have been or are going to be victimized
X by crackers, or used for inappropriate, technically illegal, or
X even overtly criminal activities. For example, having unreadable
X files in your home directory called `worm', `lockpick', or `goroot'
X would probably be an effective (as well as impressively obvious and
X stupid) way to get your sysadmin hacked off at you.
X
Xhacked up: adj. Sufficiently patched, kluged, and tweaked that the
X surgical scars are beginning to crowd out normal tissue (compare
X {critical mass}). Note that not all programs which are hacked
X become `hacked up'; if modifications are done with some eye to
X coherence and continued maintainability, the software may emerge
X better for the experience. Contrast {hack up}.
X
Xhacker: [originally, someone who makes furniture with an axe] n.
X 1. A person who enjoys exploring the details of programmable
X systems and how to stretch their capabilities, as opposed to most
X users who prefer to learn only the minimum necessary. 2. One who
X programs enthusiastically (even obsessively), or who enjoys
X programming rather than just theorizing about programming. 3. A
X person capable of appreciating {hack value}. 4. A person who
X is good at programming quickly. 5. An expert at a particular
X program, or one who frequently does work using it or on it; as in
X `a UNIX hacker'. (Definitions 1 to 5 are correlated, and people
X who fit them congregate.) 6. An expert of any kind. One might
X be an astronomy hacker, for example. 7. One who enjoys the
X intellectual challenge of creatively overcoming or circumventing
X limitations. 8. (deprecated) A malicious meddler who tries to
X discover sensitive information by poking around. Hence
X `password hacker', `network hacker'. See {cracker}.
X
Xhacking run: [analogy with `bombing run' or `speed run'] n. A
X hack session extended long outside normal working times, especially
X one longer than 12 hours. May cause you to `change phase the hard
X way' (see {phase}).
X
XHacking X for Y: [ITS] n. The information ITS made publicly
X available about each user (the INQUIR record) was a sort of form in
X which the user could fill out fields. On display, two of these
X fields were combined into a project description of the form
X "Hacking X for Y" (e.g., `"Hacking perceptrons for
X Minsky"'). This form of description became traditional and has
X since been carried over to other systems with more general
X facilities for self-advertisement (such as UNIX {plan file}s).
X
XHackintosh: n. 1. An Apple Lisa that has been hacked into emulating a
X Macintosh (also called a `Mac XL'). 2. A Macintosh assembled
X from parts theoretically belonging to different models in the line.
X
Xhackish: /hak'ish/ adj. (also {hackishness} n.) 1. Said of
X something which is or involves a hack. 2. Of or pertaining to
X hackers or the hacker subculture. See also {true-hacker}. It is
X better to be described as hackish by others than to describe
X oneself that way. Hackers consider themselves something of an
X elite, though one to which new members are gladly welcome. It is a
X meritocracy based on ability. There is a certain self-satisfaction
X in identifying yourself as a hacker (but if you claim to be one and
X are not, you'll quickly be labelled {bogus}).
X
Xhackishness: n. The quality of being or involving a hack. See
X {hackitude}.
X
Xhackitude: n. Syn. {hackishness}; this word is considered silly.
X
Xhair: [back-formation from {hairy}] n. The complications that
X make something hairy. "Decoding {TECO} commands requires a
X certain amount of hair." Often seen in the phrase `infinite
X hair', which connotes extreme complexity. Also in `hairiferous'
X (tending to promote hair growth): "GNUMACS Elisp encourages lusers
X to write complex editing modes." "Yeah, it's pretty hairiferous
X all right." (or just: "Hair squared!")
X
Xhairy: adj. 1. Annoyingly complicated. "{DWIM} is incredibly
X hairy." 2. Incomprehensible. "{DWIM} is incredibly hairy."
X 3. Of people, high-powered, authoritative, rare, expert, and/or
X incomprehensible. Hard to explain except in context: "He knows
X this hairy lawyer who says there's nothing to worry about." See
X also {hirsute}.
X
XHAKMEM: /hak'mem/ n. MIT AI Memo 239 (February 1972). A legendary
X collection of neat mathematical and programming hacks contributed
X by many people at MIT and elsewhere. (The title of the memo really
X is "HAKMEM", which is a six-letterism for `hacks memo'.) Some of
X them are very useful techniques, powerful theorems, or interesting
X unsolved problems, but most fall into the category of mathematical
X and computer trivia. A sampling of the entries (with authors),
X slightly paraphrased:
X
X Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
X than 2 ^ 18.
X
X Item 46 (Rich Schroeppel): The most *probable* suit
X distribution in bridge hands is 4-4-3-2, as compared to 4-3-3-3,
X which is the most *evenly* distributed. This is because the
X world likes to have unequal numbers: a thermodynamic effect saying
X things will not be in the state of lowest energy, but in the state
X of lowest disordered energy.
X
X Item 81 (Rich Schroeppel): Count the magic squares of order 5
X (that is, all the 5-by-5 arrangements of the numbers from 1 to 25
X such that all rows, columns, and diagonals add up to the same
X number). There are about 320 million, not counting those that
X differ only by rotation and reflection.
X
X Item 154 (Gosper): The myth that any given programming language is
X machine independent is easily exploded by computing the sum of
X powers of 2. If the result loops with period = 1 with sign +, you
X are on a sign-magnitude machine. If the result loops with period =
X 1 at -1, you are on a twos-complement machine. If the
X result loops with period greater than 1, including the beginning,
X you are on a ones-complement machine. If the result loops with
X period greater than 1, not including the beginning, your machine
X isn't binary --- the pattern should tell you the base. If you run
X out of memory, you are on a string or bignum system. If arithmetic
X overflow is a fatal error, some fascist pig with a read-only mind
X is trying to enforce machine independence. But the very ability to
X trap overflow is machine dependent. By this strategy, consider the
X universe, or, more precisely, algebra: Let X = the sum of many
X powers of two = ...111111 Now add X to itself: X + X = ...111110
X Thus, 2X = X - 1, so X = -1. Therefore algebra is run on a machine
X (the universe) that is two's-complement.
X
X Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
X number such that if you represent it on the {PDP-10} as both an
X integer and a floating-point number, the bit patterns of the two
X representations are identical.
X
X Item 176 (Gosper): The "banana phenomenon" was encountered when
X processing a character string by taking the last 3 letters typed
X out, searching for a random occurrence of that sequence in the
X text, taking the letter following that occurrence, typing it out,
X and iterating. This ensures that every 4-letter string output
X occurs in the original. The program typed BANANANANANANANA.... We
X note an ambiguity in the phrase, "the Nth occurrence of." In one
X sense, there are five 00's in 0000000000; in another, there are
X nine. The editing program TECO finds five. Thus it finds only the
X first ANA in BANANA, and is thus obligated to type N next. By
X Murphy's Law, there is but one NAN, thus forcing A, and thus a
X loop. An option to find overlapped instances would be useful,
X although it would require backing up N-1 characters before seeking
X the next N character string.
X
X HAKMEM also contains some rather more complicated mathematical and
X technical items, but these examples show some of its fun flavor.
X
Xhakspek: /hak'speek/ n. Generally used term to describe a method of
X spelling to be found on many British academic bulletin boards and
X {talker system}s. Syllables and whole words in a sentence are
X replaced by single ASCII characters the names of which are
X phonetically similar or equivalent, whilst multiple letters are
X usually dropped. Hence, `for' becomes `4'; `two', `too', and `to'
X become `2'; `ck' becomes `k'. "Before I see you tomorrow"
X becomes "b4 i c u 2moro". First appeared in London about 1986,
X and was probably caused by the slow speed of available talker
X systems, which operated on archaic machines with outdated operating
X systems, and no standard methods of communication. Has become
X rarer nowadays. See also {talk mode}.
X
Xhamster: [Fairchild] n. A particularly slick little piece of code
X that does one thing well; a small, self-contained hack. The image
X is of a hamster happily spinning its exercise wheel.
X
Xhand-hacking: n. 1. The practice of translating {hot spot}s
X from an {HLL} into hand-tuned assembler, as opposed to trying to
X coerce the compiler into generating better code. Both the term and
X the practice are becoming uncommon. See {tune}, {bum}; syn.
X with v. {cruft}. 2. More generally, manual construction or
X patching of data sets that would normally be generated by a
X translation utility and interpreted by another program, and aren't
X really designed to be read or modified by humans.
X
Xhandshaking: n. Hardware or software activity designed to start or
X keep two machines or programs in synchronization as they {do
X protocol}. Often applied to human activity; thus, a hacker might
X watch two people in conversation nodding their heads to indicate
X that they've heard each others' points and say "Oh, they're
X handshaking!". See also {protocol}.
X
Xhandwave: [poss. from gestures characteristic of stage magicians]
X 1. v. To gloss over a complex point; to distract a listener; to
X support a (possibly actually valid) point with blatantly faulty
X logic. 2. n. The act of handwaving. "Boy, what a handwave!"
X
X If someone starts a sentence with "Clearly..." or
X "Obviously..." or "It is self-evident that...", it is
X a good bet he is about to handwave (alternatively, use of these
X constructions in a sarcastic tone before a paraphrase of someone
X else's argument suggests that it is a handwave). The theory behind
X this term is that if you wave your hands at the right moment, the
X listener may be sufficiently distracted to not notice that what you
X have said is {bogus}. Failing that, if a listener does object,
X you might try to dismiss the objection with a wave of your hand.
X
X The use of this word is often accompanied by gestures: both hands
X up, palms forward, swinging the hands in a vertical plane pivoting
X at the elbows and/or shoulders (depending on the magnitude of the
X handwave); alternatively, holding the forearms in one position
X while rotating the hands at the wrist to make them flutter. In
X context, the gestures alone can suffice as a remark; if a speaker
X makes an outrageously unsupported assumption, you might simply wave
X your hands in this way, as an accusation, far more eloquent than
X words could express, that his logic is faulty.
X
Xhang: v. 1. More commonly, to wait for an event that will never
X occur. "The system is hanging because it can't read from the
X crashed drive". See {wedged}, {hung}. 2. To wait for some
X event to occur; to hang around until something happens. "The
X program displays a menu and then hangs until you type a
X character." Compare {block}. 3. To attach a peripheral
X device, esp. in the construction `hang off'. "We're going to
X hang another tape drive off the file server". Implies a device
X attached with cables, rather than something that's strictly inside
X the machine's chassis.
X
XHanlon's Razor: prov. A corollary of {Murphy's Law} similar to
X Occam's Razor that reads "Never attribute to malice that which can
X be adequately explained by stupidity." The derivation of the
X common title Hanlon's Razor is unknown; a similar epigram has been
X attributed to William James. Quoted here because it seems to be a
X particular favorite of hackers, often showing up in {fortune
X cookie} files and the login banners of BBS systems and commercial
X networks. This probably reflects the hacker's daily experience of
X environments created by the well-intentioned but shortsighted.
X
Xhardcoded: adj. 1. Data inserted directly into a program, where
X it cannot be easily modified, as opposed to data in some
X {profile}, resource (see {de-rezz} sense #2), or environment
X variable that a {user} or hacker can easily modify. 2. In C,
X this is esp. applied to use of a literal instead of a
X `#define' macro (see {magic number}).
X
Xhardwarily: /hard-weir'i-lee/ adv. In a way pertaining to hardware.
X "The system is hardwarily unreliable." The adjective
X `hardwary' is *not* used. See {softwarily}.
X
Xhardwired: adj. 1. In software, syn. for {hardcoded}. 2. By
X extension, anything that is not modifiable, especially in the sense
X of customizable to one's particular needs or tastes.
X
Xhas the X nature: [seems to derive from Zen Buddhist koans of the
X form "Does an X have the Buddha-nature?"] adj. Common hacker
X construction for `is an X', used for humorous emphasis. "Anyone
X who can't even use a program with on-screen help embedded in it
X truly has the {loser} nature!"
X
Xhash bucket: n. A notional receptacle into which more than one
X thing accessed by the same key or short code might be dropped.
X This is used as techspeak with respect to code that uses actual
X hash functions; in jargon, it is used for human associative memory
X as well. Thus, two things "in the same hash bucket" may be
X confused with each other. Compare {hash collision}.
X
Xhash collision: [from the technical usage] n. (var. `hash
X clash') When used of people, signifies a confusion in associative
X memory or imagination, especially a persistent one (see
X {thinko}). True story: one of us [ESR] was once on the phone
X with a friend about to move out to Berkeley. When asked what he
X expected Berkeley to be like, the friend replied "Well, I have
X this mental picture of naked women throwing Molotov cocktails, but
X I think that's just a collision in my hash tables." Compare
X {hash bucket}.
X
XHCF: /aych-see-eff/ n. Mnemonic for `Halt and Catch Fire', any of
X several undocumented and semi-mythical machine instructions with
X destructive side-effects, supposedly included for test purposes on
X several well-known architectures going as far back as the IBM 360.
X The MC6800 microprocessor was the first for which the HCF opcode
X became widely known. This instruction caused the processor to
X {toggle} a subset of the bus lines as rapidly as it can; in some
X configurations this can actually cause lines to burn up.
X
Xheads down: [Sun] adj. Concentrating, usually so heavily and for so
X long that everything outside the focus area is missed. See also
X {hack mode} and {larval stage}, although it's not confined to
X fledgling hackers.
X
Xheartbeat: n. 1. The signal emitted by a Level 2 Ethernet
X transceiver at the end of every packet to show that the
X collision-detection circuit is still connected. 2. A periodic
X synchronization signal used by software or hardware, such as a bus
X clock or a periodic interrupt. 3. The `natural' oscillation
X frequency of a computer's clock crystal, before frequency division
X down to the machine's clock rate. 4. A signal emitted at regular
X intervals by software to demonstrate that it's still alive.
X Sometimes hardware is designed to reboot the machine if it stops
X hearing a heartbeat. See also {breath-of-life packet}.
X
Xheavy metal: [Cambridge] n. Syn. {big iron}.
X
Xheavy wizardry: n. Code or designs which trade on a particularly
X intimate knowledge or experience of a particular operating system
X or language or complex application interface. Distinguished from
X {deep magic}, which trades more on arcane *theoretical*
X knowledge. Writing device drivers is heavy wizardry; so is
X interfacing to {X} (sense #2) without a toolkit. Esp. found in
X comments similar to "Heavy wizardry begins here...". Compare
X {voodoo programming}.
X
Xheavyweight: adj. High-overhead; {baroque}; code-intensive;
X featureful, but costly. Esp. used of communication protocols,
X language designs, and any sort of implementation in which maximum
X generality and/or ease of implementation has been pushed at the
X expense of mundane considerations like speed, memory utilization,
X and start-up time. {EMACS} is a heavyweight editor; {X} is an
X `extremely' heavyweight window system. This term isn't
X pejorative, but one man's heavyweight is another's {elephantine}
X and a third's {monstrosity}. Oppose `lightweight'.
X
Xheisenbug: /hie'zen-buhg/ [from Heisenberg's Uncertainty Principle in
X quantum physics] n. A bug that disappears or alters its behavior
X when one attempts to probe or isolate it. Antonym of {Bohr bug}.
X In C, 9 out of 10 heisenbugs result from either {fandango on core}
X phenomena (esp. lossage related to corruption of the malloc
X {arena}) or errors that {smash the stack}.
X
XHelen Keller mode: n. State of a hardware or software system that
X is deaf, dumb, and blind, i.e. accepting no input and generating no
X output, usually due to an infinite loop or some other excursion
X into {deep space}. (Unfair to the real Helen Keller, whose
X success at learning speech was triumphant.) See also {go
X flatline}, {catatonic}.
X
Xhello, sailor!: interj. Occasional West Coast equivalent of
X {hello, world}; seems to have originated at SAIL, later
X associated with the game {Zork} (which also included "hello,
X aviator" and "hello, implementor"). Originally from the
X traditional hooker's greeting to a swabbie fresh off the boat, of
X course.
X
Xhello, wall!: excl. See {wall}.
X
Xhello, world: interj. 1. The canonical minimal test message in
X the C/UNIX universe. 2. Any of the minimal programs that emit
X this message. In folklore, the first program a C coder is supposed
X to write in a new environment is one that just prints "hello,
X world" to standard output (and indeed it is the first example
X program in {K&R}). Environments that generate an unreasonably
X large executable for this trivial test or which require a {hairy}
X compiler-linker invocation to generate it are considered to
X {lose} (see {X}). 2. Greeting uttered by a hacker making an
X entrance or requesting information from anyone present. "Hello,
X world! Is the {VAX} back up yet?"
X
Xhex: n. 1. Short for {{hexadecimal}}, base 16. 2. A six-pack
X of anything (compare {quad}, sense #2). Neither usage has
X anything to do with {magic} or {black art}, though the pun is
X appreciated and occasionally used by hackers. True story: as a
X joke, some hackers once offered some surplused ICs for sale to be
X worn as protective amulets against hostile magic. The chips were,
X of course, hex inverters.
X
Xhexadecimal:: n. Base 16. Coined in the early 1960s to replace
X earlier `sexadecimal', which was too racy and amusing for stuffy
X IBM, and later adopted by the rest of the industry.
X
X Actually, neither term is etymologically pure. If we take `binary'
X to be paradigmatic, the most etymologically correct term for
X base 10, for examples, is `denary' (compare `binary'), which
X comes from `deni' (ten at a time, ten each), a Latin `distributive'
X number; the corresponding term for base-16 would be something like
X `sendenary'. `Decimal' is from an ordinal number; the
X corresponding prefix for six would imply something like
X `sextidecimal'. The `sexa-' prefix is Latin but incorrect in this
X context and `hexa-' is Greek. The word `octal' is similarly
X incorrect; correct forms would be `octaval' (to go with decimal),
X or `octonary' (to go with binary). If anyone ever implements a
X base-3 computer, computer scientists will be faced with the
X unprecedented dilemma of a choice between two *correct* forms;
X both `ternary' and `trinary' have a claim to this throne.
X
Xhexit: /hek'sit/ n. A hexadecimal digit (0--9, and A--F or a--f).
X Used by people who claim that there are only *ten* digits,
X dammit; sixteen-fingered human beings are rather rare, regardless
X of what some keyboard designs might seem to imply (see
X {space-cadet keyboard}).
X
Xhidden flag: [scientific computation] n. An extra option added to a
X routine without changing the calling sequence. For example,
X instead of adding an explicit input variable to instruct a routine
X to give extra diagnostic output, the programmer might just add a
X test for some otherwise meaningless feature of the existing inputs,
X such as a negative mass. Liberal use of hidden flags can make a
X program very hard to debug and understand.
X
Xhigh bit: [from `high order bit'] n. 1. The most significant bit
X in a byte. 2. Also meaning most significant part of something
X other than a data byte, e.g. "Spare me the whole {saga}, just give
X me the high bit." See also {meta bit}, {dread high-bit disease}.
X
Xhigh moby: /hie mohb'ee/ n. The high half of a stock {PDP-10}'s
X address space; the other half was of course the low moby. This
X usage has been generalized in a way that has outlasted the
X {PDP-10}; for example, at the 1990 Washington D.C. Area Science
X Fiction Conclave (Disclave) when a miscommunication resulted in two
X separate wakes being held in commemoration of the shutdown of MIT's
X last {ITS} machines, the one on the upper floor was dubbed the
X high moby and the other the low moby. All parties involved
X {grok}ked this instantly. See {moby}.
X
Xhighly: [scientific computation] adv. The preferred modifier for
X overstating an understatement. As in: `highly nonoptimal', the
X worst possible way to do something; `highly nontrivial', either
X impossible or requiring a major research project; `highly
X nonlinear', completely erratic and unpredictable; `highly
X nontechnical', drivel written for {luser}s, oversimplified to the
X point of being misleading or incorrect (compare {drool-proof
X paper}). In other computing cultures, postfixing of {in the
X extreme} might be preferred.
X
Xhirsute: adj. Occasionally used humorously as a synonym for {hairy}.
X
XHLL: /aych-el-el/ n. [High-Level Language (as opposed to assembler)]
X Found primarily in email and news rather than speech. Rarely, the
X variants `VHLL' and `MLL' are found. VHLL = `Very-High-Level
X Language' and is used to describe a {bondage-and-discipline
X language} that the speaker happens to like; Prolog and Backus's FP
X are often called VHLLs. `MLL' = `Medium-Level Language' and is
X sometimes used half-jokingly to describe C, alluding to its
X `structured-assembler' image. See also {languages of choice}.
X
Xhobbit: n. 1. The High Order Bit of a byte; same as the {meta
X bit}. 2. The non-ITS name of vad@ai.mit.edu (*Hobbit*), master
X of lasers.
X
Xhog: n.,vt. Favored term to describe programs or hardware that seem
X to eat far more than their share of a system's resources, esp.
X those which noticeably degrade interactive response. *Not*
X used of programs that are simply extremely large or complex or
X which are merely painfully slow themselves (see {pig, run like
X a}). More often than not encountered in qualified forms, e.g.
X `memory hog', `core hog', `hog the processor', `hog
X the disk'. Example: "A controller that never gives up the I/O bus
X gets killed after the bus-hog timer expires."
X
Xholy wars: [from {USENET}, but may predate it] n. {flame war}s
X over {religious issues}. The paper by Danny Cohen that
X popularized the terms {big-endian} and {little-endian} in
X connection with the LSB-first/MSB-first controversy was entitled
X `On Holy Wars and a Plea for Peace'. Other perennial Holy
X Wars have included: {EMACS} vs. {vi}, my personal computer vs.
X everyone else's personal computer, {ITS} vs. {UNIX}, {UNIX}
X vs. {VMS}, {BSD} UNIX vs. {USG UNIX}, {C} vs. {{Pascal}},
X {C} vs. {LISP}, etc. ad nauseam. The characteristic that
X distinguishes {holy wars} from normal technical disputes is that
X most participants spend their time trying to pass off personal
X value choices and cultural attachments as objective technical
X evaluations. See also {theology}.
X
Xhome box: n. A hacker's personal machine, especially one he or she
X owns. "Yeah? Well, *my* home box runs a full 4.2BSD, so
X there!"
X
Xhook: n. A software or hardware feature included in order to
X simplify later additions or changes by a user. For example,
X a simple program that prints numbers might always print them in
X base ten, but a more flexible version would let a variable
X determine what base to use; setting the variable to 5 would make
X the program print numbers in base five. The variable is a simple
X hook. An even more flexible program might examine the variable
X and treat a value of 16 or less as the base to use, but treat any
X other number as the address of a user-supplied routine for printing
X a number. This is a {hairy} but powerful hook; one can then write a
X routine to print numbers as Roman numerals, say, or as Hebrew
X characters, and plug it into the program through the hook. Often
X the difference between a good program and a superb one is that the
X latter has useful hooks in judiciously chosen places. Both may do
X the original job about equally well, but the one with the hooks is
X much more flexible for future expansion of capabilities ({EMACS},
X for example, is *all* hooks). The term `user exit' is
X synonymous but much more formal and less hackish.
X
Xhop: n. One file transmission in a series required to get a file
X from point A to point B on a store-and-forward network. On such
X networks (including {UUCPNET} and {FidoNet}), the important
X inter-machine metric is the number of hops in the shortest path
X between them, rather than their geographical separation. See
X {bang path}.
X
Xhose: 1. vt. To make non-functional or greatly degraded in
X performance, as in "That big ray-tracing program really hoses the
X system." See {hosed}. 2. n. A narrow channel through which
X data flows under pressure. Generally denotes data paths that
X represent performance bottlenecks. 3. n. Cabling, especially
X thick Ethernet cable. This is sometimes called `bit hose' or
X `hosery' (play on `hosiery') or `etherhose'. See also
X {washing machine}.
X
Xhosed: adj. Same as {down}. Used primarily by UNIX hackers.
X Humorous: also implies a condition thought to be relatively easy to
X reverse. Probably derived from the Canadian slang `hoser'
X popularized by the Bob and Doug Mackenzie skits on SCTV. See
X {hose}. It is also widely used of people in the mainstream sense
X of `in an extremely unfortunate situation'.
X
X Once upon a time, a Cray which had been experiencing periodic
X difficulties crashed, and it was announced to have been hosed.
X It was discovered that the crash was due to the disconnection of
X some coolant hoses. The problem was corrected, and users were then
X assured that everything was OK because the system had been rehosed.
X
Xhot spot: n. 1. [primarily C/UNIX programmers, but spreading] It
X is received wisdom that in most programs, less than 10% of the code
X eats 90% of the execution time; if one were to graph instruction
X visits versus code addresses, one would typically see a few huge
X spikes amidst a lot of low-level noise. Such spikes are called
X `hot spots' and are good candidates for heavy optimization or
X {hand-hacking}. The term is especially used of tight loops and
X recursions in the code's central algorithm, as opposed to (say)
X initial set-up costs or large but infrequent I/O operations. See
X {tune}, {bum}, {hand-hacking}. 2. The active location of a
X cursor on a bit-map display. "Put the mouse's hot spot on the
X `ON' widget and click the left button." 3. In a massively
X parallel computer with shared memory, the one location that all ten
X thousand processors are trying to read or write at once (perhaps
X because they are all doing a {busy-wait} on the same lock).
X
Xhouse wizard: [prob. from ad-agency lingo, `house freak'] n. A
X hacker occupying a technical-specialist, R&D, or systems position
X at a commercial shop. A really effective house wizard can have
X influence out of all proportion to his/her ostensible rank and
X still not have to wear a suit. Used esp. of UNIX wizards. The
X term `house guru' is equivalent.
X
XHP-SUX: /aych pee suhx/ n. Unflattering hackerism for HP-UX,
X Hewlett-Packard's UNIX port. Features some truly unique bogosities
X in the filesystem internals and elsewhere that occasionally create
X portability problems. HP-UX is often referred to as "hockey-pux"
X inside HP, and one respondent claims that the proper pronunciation
X is /aych-pee ukkkhhhh/ as though one were spitting. Another such
X alternate spelling and pronunciation is "H-PUX" /aych-puhks/.
X Hackers at HP/Apollo (the former Apollo Computer that was swallowed
X by HP in 1989) have been heard to complain that Mr. Packard should
X have pushed to have his name first, if for no other reason than the
X greater eloquence of the resulting acronym. Compare {buglix}.
X See also {Telerat}, {sun-stools}, {terminak}.
X
Xhuff: v. To compress data using a Huffman code. Various programs
X that use such methods have been called `HUFF' or some variant
X thereof. Oppose {puff}. Compare {crunch}, {compress}.
X
Xhumma: excl. A filler word used on various `chat' and `talk'
X programs when you had nothing to say but felt that it was important
X to say something. The word apparently originated (at least with
X this definition) on the MECC Timeshare System (MTS, a now-defunct
X educational time-sharing system running in Minnesota during the
X 1970s and early '80s) but was later sighted on early UNIX systems.
X
XHumor, Hacker:: n. A distinctive style of shared intellectual humor
X found among hackers, having the following distinctive
X characteristics:
X
X 1) Fascination with form-vs.-content jokes, paradoxes, and humor
X having to do with confusion of metalevels (see {meta}). One way
X to make a hacker laugh: hold an red index card in front of him/her
X with "GREEN" written on it, or vice-versa (note, however, that
X this is only funny the first time).
X
X 2) Elaborate deadpan parodies of large intellectual constructs such
X as specifications (see {write-only memory}), standards documents,
X language descriptions (see {INTERCAL}), and even entire scientific
X theories (see {quantum bogodynamics}, {computron}).
X
X 3) Jokes that involve screwily precise reasoning from bizarre,
X ludicrous, or just grossly counter-intuitive premises.
X
X 4) Fascination with puns and wordplay.
X
X 5) A fondness for apparently mindless humor with subversive
X currents of intelligence in it, for example: old Warner Brothers
X and Rocky & Bullwinkle cartoons, The Marx Brothers, the early
X B-52s, and Monty Python's Flying Circus. Humor which combines this
X trait with elements of high camp and slapstick is especially
X favored.
X
X 6) References to the symbol-object antinomies and associated ideas
X in Zen Buddhism and (less often) Taoism. See {has the X nature},
X {Discordianism}, {zen}, {ha ha only serious}, {AI koans}.
X
X See also {filk}, {retrocomputing}, and Appendix B. If you have an
X itchy feeling that all six of these traits are really aspects of
X one thing that is incredibly difficult to talk about exactly, you
X are (a) correct and (b) responding like a hacker. These traits are
X also recognizable (though in a less marked form) throughout
X {{Science-Fiction Fandom}}.
X
Xhung: [from `hung up'] adj. Equivalent to {wedged}. but more
X common at UNIX/C sites. Not generally used of people. Syn. with
X {locked up}, {wedged}; compare {hosed}. See also {hang}.
X A hung state is distinguished from {crash}ed or {down}, where the
X program or system is also unusable but because it is not running
X rather than because it is waiting for something. However, the
X recovery from both situations is often the same.
X
Xhungry puppy: n. Syn. {slopsucker}.
X
Xhungus: /huhng'g*s/ [perhaps related to slang `humungous'] adj.
X Large, unwieldy, usually unmanageable. "TCP is a hungus piece of
X code." "This is a hungus set of modifications."
X
Xhyperspace: (hie'per-spays) n. A memory location that is *far*
X away from where the program counter should be pointing, often
X inaccessible because it is not even mapped in. "Another core
X dump... looks like the program jumped off to hyperspace
X somehow", (compare {jump off into never-never land}). This
X usage is from the SF notion of a spaceship jumping `into
X hyperspace', that is, taking a shortcut through higher-dimensional
X space --- in other words, bypassing this universe.
X
X= I =
X=====
X
XI didn't change anything!: interj. An aggrieved cry often heard as
X bugs manifest during a regression test. The {canonical} reply to
X this assertion is "Then it works just the same as it did before,
X doesn't it?" See also {one-line fix}. This is also heard from
X applications programmers trying to blame an obvious applications
X problem on an unrelated systems software change, for example a
X divide-by-zero fault after terminals were added to a network.
X Usually, their statement is found to be false. Upon close
X questioning, they will admit some major restructuring of the
X program that shouldn't have broken anything, in their opinion,
X but actually hosed the code completely.
X
Xi14y: // n. Abbrev. for `interoperability', which is an `i'
X followed by 14 letters followed by `y'. Used in the {X}
X community. Refers to portability and compatibility of data formats
X (even binary ones) between different programs or implementations of
X the same program on different machines.
X
Xi18n: // n. Abbrev. for `internationalization', which is
X an `i' followed by 18 letters followed by `n'. Used in the {X}
X community.
X
XIBM: /ie bee em/ Inferior But Marketable; It's Better Manually;
X Insidious Black Magic; It's Been Malfunctioning; Incontinent Bowel
X Movement; and a near-{infinite} number of even less complimentary
X expansions, including `International Business Machines'. See
X {TLA}. These abbreviations illustrate the considerable antipathy
X most hackers have long felt for the `industry leader' (see {fear
X and loathing}).
X
X What galls hackers about most IBM machines above the PC level isn't
X so much that they're underpowered and overpriced (though that does
X count against them), but that the designs are incredibly archaic,
X {crufty}, and {elephantine}...and you can't *fix* them
X --- source code is locked up tight and programming tools are
X expensive, hard to find, and bletcherous to use once you've found
X them. With the release of the UNIX-based RIOS family this may have
X begun to change --- but then, we thought that when the PC-RT came
X out, too.
X
X In the spirit of universal peace and brotherhood, this lexicon now
X includes a number of entries marked `IBM'; these derive from some
X rampantly unofficial jargon lists circulated within IBM's own
X beleaguered hacker underground.
X
XIBM discount: n. A price increase. Outside IBM, this derives from
X the common perception that IBM products are generally overpriced
X (see {clone}); inside, it is said to spring from a belief that
X large numbers of IBM employees living in an area cause prices to
X rise.
X
Xice: [coined by USENETter Tom Maddox, popularized by William
X Gibson's cyberpunk SF: acronym, `Intrusion Countermeasure
X Electronics'] Security software (in Gibson's novels, software that
X responds to intrusion by attempting to literally kill the
X intruder). Also, `icebreaker': a program designed for cracking
X security on a system. Neither term is in serious use yet as of
X mid-1991, but many hackers find the metaphor attractive and both
X terms may develop a denotation in the future.
X
Xill-behaved: adj. 1. [numerical analysis] Said of an algorithm or
X computational method that tends to blow up due to accumulated
X roundoff error or poor convergence properties. 2. Software which
X bypasses the defined {OS} interfaces to do things (like screen,
X keyboard, and disk I/O) itself, often in a way that depends on the
X hardware of the machine it is running on or which is nonportable or
X incompatible with other pieces of software. In the IBM PC/MS-DOS
X world, there is a folk theorem (nearly true) to the effect that
X (due to gross inadequacies and performance penalties in the OS
X interface) all interesting applications are ill-behaved. See also
X {bare metal}. Oppose {well-behaved}, compare {PC-ism}. See
X {mess-dos}.
X
XIMHO: // [from SF fandom via USENET; acronym for In My Humble
X Opinion] Example: "IMHO, mixed-case C names should be avoided, as
X mistyping something in the wrong case can cause hard-to-detect
X errors --- and they look too Pascalish anyhow." Also seen in
X variant forms such as IMNSHO (In My Not-So-Humble Opinion) and IMAO
X (In My Arrogant Opinion).
X
Xin the extreme: adj. A preferred superlative suffix for many hackish
X terms. See, for example, `obscure in the extreme' under {obscure},
X and compare {highly}.
X
Xincantation: n. Any particularly arbitrary or obscure command that
X must be muttered at a system to attain a desired result. Not used
X of passwords or other explicit security features. Especially used
X of tricks that are so poorly documented they must be learned from a
X {wizard}. E.g. "This compiler normally locates initialized data
X in the data segment, but if you {mutter} the right incantation they
X will be forced into text space".
X
Xinclude: vt. [USENET] 1. To duplicate a portion (or whole) of
X another's message (typically with attribution to the source) in a
X reply or followup, for clarifying the context of one's response.
X See the section on inclusion styles in the front matter.
X 2. Derived from C: `#include <disclaimer.h>' has appeared
X in {sig block}s to refer to a notional `standard disclaimer
X file'.
X
Xinclude war: n. Excessive multi-leveled including within a
X discussion {thread}, a practice which tends to annoy readers. In
X a forum with high-traffic newsgroups, such as USENET, this can lead
X to {flame}s and the urge to start a {kill file}.
X
Xindent style: [C programmers] n. The rules one uses to indent code
X in a readable fashion; a subject of {holy wars}. There are four
X major C indent styles, as described below; all have the aim of
X making it easier for the reader to visually track the scope of
X control constructs. The significant variable is the placement of
X `{' and `}' with respect to the statement(s) they
X enclose and the guard or controlling statement (`if',
X `else', `for', `while', or `do') on the block,
X if any.
X
X `K&R style' --- Named after Kernighan & Ritchie, because the
X examples in {K&R} are formatted this way. Also called `kernel
X style' because the UNIX kernel is written in it, and the `One True
X Brace Style', abbr. 1TBS, by its partisans. The basic indent shown
X here is 8 spaces (or 1 tab) per level; 4 or 2 is occasionally seen,
X but is much less common.
X
X if (cond) {
X <body>
X }
X
X `Allman style' --- Named for Eric Allman, a Berkeley hacker who
X wrote a lot of the BSD utilities in it (it is sometimes called
X `BSD style'). Resembles normal indent style in Pascal and
X Algol. Basic indent per level shown here is 8 spaces, but 4 is
X just as common (esp. in C++ code).
X
X if (cond)
X {
X <body>
X }
X
X `Whitesmiths style' --- popularized by the examples that came
X with Whitesmiths C, an early commercial C compiler. Basic indent
X per level shown here is 8 spaces, but 4 is occasionally seen.
X
X if (cond)
X {
X <body>
X }
X
X `GNU style' --- Used throughout GNU EMACS and the Free Software
X Foundation code, and just about nowhere else. Indents are always 4
X spaces per level, with `{' and `}' halfway between the
X outer and inner indent levels.
X
X if (cond)
X {
X <body>
X }
X
X Statistically, surveys have shown the Allman and Whitesmiths styles
X to be the most common, with about equal mind share. K&R/1TBS used
X to be nearly universal, but is now much less common (the opening
X brace tends to get lost against the right paren of the guard part
X in an `if' or `while', which is a {Bad Thing}).
X Defenders of 1TBS argue that any putative gain in readability is
X less important than their style's relative economy with vertical
X space, which enables one to see more code on one's screen at once.
X Doubtless these issues will continue to be the subjects of {holy
X wars}.
X
Xinfant mortality: n. It is common lore among hackers that the chances
X of sudden hardware failure drop off exponentially with a machine's
X time since power-up (that is, until the relatively distant time at
X which mechanical wear in I/O devices and thermal-cycling stress in
X components has accumulated enough for the machine to start going
X senile). Up to half of all chip-and-wire failures happen within a
X new system's first few weeks; such failures are often referred to
X as `infant mortality' problems (or, occasionally, as `sudden
X infant death syndrome'). See {bathtub curve}, {burn-in period}.
X
Xinfinite: adj. Consisting of a large number of objects; extreme.
X Used very loosely as in: "This program produces infinite
X garbage." "He is an infinite loser." The word most likely to
X follow `infinite', though, is {hair} (it has been pointerd out
X that fractals are an excellent example of infinite hair). These
X uses are abuses of the word's mathematical meaning. The term
X "semi-infinite" denoting an immoderately large amount of some
X resource is also heard. "This compiler is taking a semi-infinite
X amount of time to optimize my program." See also {semi}.
X
Xinfinity: n. 1. The largest value that can be represented in a
X particular type of variable (register, memory location, data type,
X whatever). 2. `minus infinity': The smallest such value, not
X necessarily or even usually the simple negation of plus infinity.
X In N-bit twos-complement arithmetic, infinity is `2 ^ (N-1) -
X 1' but minus infinity is `- (2 ^ (N-1))', not `-(2 ^
X (N-1) - 1)'. Note also that this is different from `time t
X equals minus infinity', which is closer to a mathematician's usage
X of infinity.
X
Xinsanely great: adj. [Mac community, from Steve Jobs; also BSD UNIX
X people via Bill Joy] Something so incredibly {elegant} that it is
X imaginable only to someone possessing the most puissant of
X {hacker}-natures.
X
XINTERCAL: /in't*r-kal/ [said by the authors to stand for
X `Compiler Language With No Pronounceable Acronym'] n. A
X computer language designed by Don Woods and James Lyon in 1972.
X INTERCAL is purposefully different from all other computer
X languages in all ways but one; it is purely a written language,
X being totally unspeakable. An excerpt from the INTERCAL Reference
X Manual will make the style of the language clear:
X
X "It is a well-known and oft-demonstrated fact that a person whose
X work is incomprehensible is held in high esteem. For example, if
X one were to state that the simplest way to store a value of 65536
X in a 32-bit INTERCAL variable is:
X
X DO :1 <- #0$#256
X
X any sensible programmer would say that that was absurd. Since this
X is indeed the simplest method, the programmer would be made to look
X foolish in front of his boss, who would of course have happened to
X turn up, as bosses are wont to do. The effect would be no less
X devastating for the programmer having been correct."
X
X INTERCAL has many other peculiar features designed to make it even
X more unspeakable. The Woods/Lyons implementation was actually used
X by many (well, at least several) people at Princeton. The language
X has been recently re-implemented as C-INTERCAL and is consequently
X enjoying an unprecedented level of unpopularity; there is even an
X alt.lang.intercal newsgroup devoted to the study and ...
X appreciation of the language on USENET.
X
Xinteresting: adj. In hacker parlance, this word is not simply
X synonymous with `intriguing', but has strong connotations of
X `annoying', or `difficult', or both. Hackers relish a challenge,
X and enjoy wringing all the irony possible out of the ancient
X Chinese curse "May you live in interesting times". Oppose
X {trivial}, {uninteresting}.
X
XInternet address:: [techspeak] n. 1. [techspeak] An absolute
X network address of the form foo@bar.baz, where foo is a user name,
X bar is a {sitename}, and baz is a `domain' name, possibly
X including periods itself. Contrasts with {bang path}; see also
X {network, the} and {network address}. All Internet machines
X and most UUCP sites can now resolve these addresses, thanks to a
X large amount of behind-the-scenes magic and PD software written
SHAR_EOF
true || echo 'restore of jargon.ascii failed'
fi
echo 'End of part 9, continue with part 10'
echo 10 > _shar_seq_.tmp
exit 0