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