The Jargon File, Version 2.9.10, 01 Jul 1992

Part 23

Chapter 23 3,508 words Public domain Markdown

2. Elaborate deadpan parodies of large intellectual constructs, such as specifications (see {write-only memory}), standards documents, language descriptions (see {INTERCAL}), and even entire scientific theories (see {quantum bogodynamics}, {computron}).

3. Jokes that involve screwily precise reasoning from bizarre, ludicrous, or just grossly counter-intuitive premises.

4. Fascination with puns and wordplay.

5. A fondness for apparently mindless humor with subversive currents of intelligence in it --- for example, old Warner Brothers and Rocky & Bullwinkle cartoons, the Marx brothers, the early B-52s, and Monty Python's Flying Circus. Humor that combines this trait with elements of high camp and slapstick is especially favored.

6. References to the symbol-object antinomies and associated ideas in Zen Buddhism and (less often) Taoism. See {has the X nature}, {Discordianism}, {zen}, {ha ha only serious}, {AI koans}.

See also {filk}, {retrocomputing}, and {appendix B}. If you have an itchy feeling that all 6 of these traits are really aspects of one thing that is incredibly difficult to talk about exactly, you are (a) correct and (b) responding like a hacker. These traits are also recognizable (though in a less marked form) throughout {{science-fiction fandom}}.

:hung: [from `hung up'] adj. Equivalent to {wedged}, but more common at UNIX/C sites. Not generally used of people. Syn. with {locked up}, {wedged}; compare {hosed}. See also {hang}. A hung state is distinguished from {crash}ed or {down}, where the program or system is also unusable but because it is not running rather than because it is waiting for something. However, the recovery from both situations is often the same.

:hungry puppy: n. Syn. {slopsucker}.

:hungus: /huhng'g*s/ [perhaps related to slang `humongous'] adj. Large, unwieldy, usually unmanageable. "TCP is a hungus piece of code." "This is a hungus set of modifications."

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

= I = =====

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

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

:i14y: // n. Abbrev. for `interoperability', with the `14' replacing fourteen letters. Used in the {X} (windows) community. Refers to portability and compatibility of data formats (even binary ones) between different programs or implementations of the same program on different machines.

:i18n: // n. Abbrev. for `internationali{z,s}ation', with the 18 replacing 18 letters. Used in the {X} (windows) community.

:IBM: /I-B-M/ Inferior But Marketable; It's Better Manually; Insidious Black Magic; It's Been Malfunctioning; Incontinent Bowel Movement; and a near-{infinite} number of even less complimentary expansions, including `International Business Machines'. See {TLA}. These abbreviations illustrate the considerable antipathy most hackers have long felt toward the `industry leader' (see {fear and loathing}).

What galls hackers about most IBM machines above the PC level isn't so much that they are underpowered and overpriced (though that does count against them), but that the designs are incredibly archaic, {crufty}, and {elephantine} ... and you can't *fix* them --- source code is locked up tight, and programming tools are expensive, hard to find, and bletcherous to use once you've found them. With the release of the UNIX-based RIOS family this may have begun to change --- but then, we thought that when the PC-RT came out, too.

In the spirit of universal peace and brotherhood, this lexicon now includes a number of entries attributed to `IBM'; these derive from some rampantly unofficial jargon lists circulated within IBM's own beleaguered hacker underground.

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

:ICBM address: n. (Also `missile address') The form used to register a site with the USENET mapping project includes a blank for longitude and latitude, preferably to seconds-of-arc accuracy. This is actually used for generating geographically-correct maps of USENET links on a plotter; however, it has become traditional to refer to this as one's `ICBM address' or `missile address', and many people include it in their {sig block} with that name.

:ice: [coined by USENETter Tom Maddox, popularized by William Gibson's cyberpunk SF novels: a contrived acronym for `Intrusion Countermeasure Electronics'] Security software (in Gibson's novels, software that responds to intrusion by attempting to literally kill the intruder). Also, `icebreaker': a program designed for cracking security on a system. Neither term is in serious use yet as of mid-1991, but many hackers find the metaphor attractive, and each may develop a denotation in the future.

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

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

:ifdef out: /if'def owt/ v. Syn. for {condition out}, specific to {C}.

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

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

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

:in the extreme: adj. A preferred superlative suffix for many hackish terms. See, for example, `obscure in the extreme' under {obscure}, and compare {highly}.

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

:include: vt. [USENET] 1. To duplicate a portion (or whole) of another's message (typically with attribution to the source) in a reply or followup, for clarifying the context of one's response. See the the discussion of inclusion styles under "Hacker Writing Style". 2. [from {C}] `#include <disclaimer.h>' has appeared in {sig block}s to refer to a notional `standard {disclaimer} file'.

:include war: n. Excessive multi-leveled including within a discussion {thread}, a practice that tends to annoy readers. In a forum with high-traffic newsgroups, such as USENET, this can lead to {flame}s and the urge to start a {kill file}.

:indent style: [C programmers] n. The rules one uses to indent code in a readable fashion; a subject of {holy wars}. There are four major C indent styles, described below; all have the aim of making it easier for the reader to visually track the scope of control constructs. The significant variable is the placement of `{' and `}' with respect to the statement(s) they enclose and the guard or controlling statement (`if', `else', `for', `while', or `do') on the block, if any.

`K&R style' --- Named after Kernighan & Ritchie, because the examples in {K&R} are formatted this way. Also called `kernel style' because the UNIX kernel is written in it, and the `One True Brace Style' (abbrev. 1TBS) by its partisans. The basic indent shown here is eight spaces (or one tab) per level; four are occasionally seen, but are much less common.

if (cond) {

}

`Allman style' --- Named for Eric Allman, a Berkeley hacker who wrote a lot of the BSD utilities in it (it is sometimes called `BSD style'). Resembles normal indent style in Pascal and Algol. Basic indent per level shown here is eight spaces, but four is just as common (esp. in C++ code).

if (cond) {

}

`Whitesmiths style' --- popularized by the examples that came with Whitesmiths C, an early commercial C compiler. Basic indent per level shown here is eight spaces, but four is occasionally seen.

if (cond) {

}

`GNU style' --- Used throughout GNU EMACS and the Free Software Foundation code, and just about nowhere else. Indents are always four spaces per level, with `{' and `}' halfway between the outer and inner indent levels.

if (cond) {

}

Surveys have shown the Allman and Whitesmiths styles to be the most common, with about equal mind shares. K&R/1TBS used to be nearly universal, but is now much less common (the opening brace tends to get lost against the right paren of the guard part in an `if' or `while', which is a {Bad Thing}). Defenders of 1TBS argue that any putative gain in readability is less important than their style's relative economy with vertical space, which enables one to see more code on one's screen at once. Doubtless these issues will continue to be the subject of {holy wars}.

:index: n. See {coefficient of X}.

:infant mortality: n. It is common lore among hackers (and in the electronics industry at large; this term is possibly techspeak by now) that the chances of sudden hardware failure drop off exponentially with a machine's time since power-up (that is, until the relatively distant time at which enough mechanical wear in I/O devices and thermal-cycling stress in components has accumulated for the machine to start going senile). Up to half of all chip and wire failures happen within a new system's first few weeks; such failures are often referred to as `infant mortality' problems (or, occasionally, as `sudden infant death syndrome'). See {bathtub curve}, {burn-in period}.

:infinite: adj. Consisting of a large number of objects; extreme. Used very loosely as in: "This program produces infinite garbage." "He is an infinite loser." The word most likely to follow `infinite', though, is {hair} (it has been pointed out that fractals are an excellent example of infinite hair). These uses are abuses of the word's mathematical meaning. The term `semi-infinite', denoting an immoderately large amount of some resource, is also heard. "This compiler is taking a semi-infinite amount of time to optimize my program." See also {semi}.

:infinite loop: n. One that never terminates (that is, the machine {spin}s or {buzz}es forever and goes {catatonic}). There is a standard joke that has been made about each generation's exemplar of the ultra-fast machine: "The Cray-3 is so fast it can execute an infinite loop in under 2 seconds!"

:infinity: n. 1. The largest value that can be represented in a particular type of variable (register, memory location, data type, whatever). 2. `minus infinity': The smallest such value, not necessarily or even usually the simple negation of plus infinity. In N-bit twos-complement arithmetic, infinity is 2^(N-1) - 1 but minus infinity is - (2^(N-1)), not -(2^(N-1) - 1). Note also that this is different from "time T equals minus infinity", which is closer to a mathematician's usage of infinity.

:initgame: /in-it'gaym/ [IRC] n. An {IRC} version of the venerable trivia game "20 questions", in which one user changes his {nick} to the initials of a famous person or other named entity, and the others on the channel ask yes or no questions, with the one to guess the person getting to be "it" next. As a courtesy, the one picking the initials starts by providing a 4-letter hint of the form sex, nationality, life-status, reality-status. For example, MAAR means "Male, American, Alive, Real" (as opposed to "fictional"). Initgame can be surprisingly addictive. See also {hing}.

:insanely great: adj. [Mac community, from Steve Jobs; also BSD UNIX people via Bill Joy] Something so incredibly {elegant} that it is imaginable only to someone possessing the most puissant of {hacker}-natures.

:INTERCAL: /in't*r-kal/ [said by the authors to stand for `Compiler Language With No Pronounceable Acronym'] n. A computer language designed by Don Woods and James Lyon in 1972. INTERCAL is purposely different from all other computer languages in all ways but one; it is purely a written language, being totally unspeakable. An excerpt from the INTERCAL Reference Manual will make the style of the language clear:

It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is:

DO :1 <- #0$#256

any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course have happened to turn up, as bosses are wont to do. The effect would be no less devastating for the programmer having been correct.

INTERCAL has many other peculiar features designed to make it even more unspeakable. The Woods-Lyons implementation was actually used by many (well, at least several) people at Princeton. The language has been recently reimplemented as C-INTERCAL and is consequently enjoying an unprecedented level of unpopularity; there is even an alt.lang.intercal newsgroup devoted to the study and ... appreciation of the language on USENET.

:interesting: adj. In hacker parlance, this word has strong connotations of `annoying', or `difficult', or both. Hackers relish a challenge, and enjoy wringing all the irony possible out of the ancient Chinese curse "May you live in interesting times". Oppose {trivial}, {uninteresting}.

:Internet address:: n. 1. [techspeak] An absolute network address of the form [email protected], where foo is a user name, bar is a {sitename}, and baz is a `domain' name, possibly including periods itself. Contrast with {bang path}; see also {network, the} and {network address}. All Internet machines and most UUCP sites can now resolve these addresses, thanks to a large amount of behind-the-scenes magic and PD software written since 1980 or so. See also {bang path}, {domainist}. 2. More loosely, any network address reachable through Internet; this includes {bang path} addresses and some internal corporate and government networks.

Reading Internet addresses is something of an art. Here are the four most important top-level functional Internet domains followed by a selection of geographical domains:

com commercial organizations edu educational institutions gov U.S. government civilian sites mil U.S. military sites

Note that most of the sites in the com and edu domains are in the U.S. or Canada.

us sites in the U.S. outside the functional domains su sites in the ex-Soviet Union (see {kremvax}). uk sites in the United Kingdom

Within the us domain, there are subdomains for the fifty states, each generally with a name identical to the state's postal abbreviation. Within the uk domain, there is an ac subdomain for academic sites and a co domain for commercial ones. Other top-level domains may be divided up in similar ways.

:interrupt: 1. [techspeak] n. On a computer, an event that interrupts normal processing and temporarily diverts flow-of-control through an "interrupt handler" routine. See also {trap}. 2. interj. A request for attention from a hacker. Often explicitly spoken. "Interrupt --- have you seen Joe recently?" See {priority interrupt}. 3. Under MS-DOS, the term `interrupt' is nearly synonymous with `system call', because the OS and BIOS routines are both called using the INT instruction (see {{interrupt list, the}}) and because programmers so often have to bypass the OS (going directly to a BIOS interrupt) to get reasonable performance.

:interrupt list, the:: [MS-DOS] n. The list of all known software interrupt calls (both documented and undocumented) for IBM PCs and compatibles, maintained and made available for free redistribution by Ralf Brown <[email protected]>. As of early 1991, it had grown to approximately a megabyte in length.

:interrupts locked out: adj. When someone is ignoring you. In a restaurant, after several fruitless attempts to get the waitress's attention, a hacker might well observe "She must have interrupts locked out". The synonym `interrupts disabled' is also common. Variations abound; "to have one's interrupt mask bit set" and "interrupts masked out" is also heard. See also {spl}.

:IRC: /I-R-C/ [Internet Relay Chat] n. A world-wide "party line" network that allows one to converse with others in real time. IRC is structured as a network of Internet servers, each of which accepts connections from client programs, one per user. The IRC community and the {USENET} and {MUD} communities overlap to some extent, including both hackers and regular folks who have discovered the wonders of computer networks. Some USENET jargon has been adopted on IRC, as have some conventions such as {emoticon}s. There is also a vigorous native jargon, represented in this lexicon by entries marked `[IRC]'. See also {talk mode}.

:iron: n. Hardware, especially older and larger hardware of {mainframe} class with big metal cabinets housing relatively low-density electronics (but the term is also used of modern supercomputers). Often in the phrase {big iron}. Oppose {silicon}. See also {dinosaur}.

:Iron Age: n. In the history of computing, 1961--1971 --- the formative era of commercial {mainframe} technology, when {big iron} {dinosaur}s ruled the earth. These began with the delivery of the first PDP-1, coincided with the dominance of ferrite {core}, and ended with the introduction of the first commercial microprocessor (the Intel 4004) in 1971. See also {Stone Age}; compare {elder days}.

:iron box: [UNIX/Internet] n. A special environment set up to trap a {cracker} logging in over remote connections long enough to be traced. May include a modified {shell} restricting the cracker's movements in unobvious ways, and `bait' files designed to keep him interested and logged on. See also {back door}, {firewall machine}, {Venus flytrap}, and Clifford Stoll's account in `{The Cuckoo's Egg}' of how he made and used one (see the Bibliography in appendix C). Compare {padded cell}.

:ironmonger: [IBM] n. Derogatory. A hardware specialist. Compare {sandbender}, {polygon pusher}.