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. (A real missile address would include target altitude.)
:ice: /n./ [coined by Usenetter Tom Maddox, popularized by William Gibson's cyberpunk SF novels: a contrived acronym for `Intrusion Countermeasure Electronics'] Security software (in Gibson's novels, software that responds to intrusion by attempting to immobilize or even literally kill the intruder). Hence, `icebreaker': a program designed for cracking security on a system.
Neither term is in serious use yet as of early 1996, but many hackers find the metaphor attractive, and each may develop a denotation in the future. In the meantime, the speculative usage could be confused with `ICE', an acronym for "in-circuit emulator".
In ironic reference to the speculative usage, however, some hackers and computer scientists formed ICE (International Cryptographic Experiment) in 1994. ICE is a consortium to promote uniform international access to strong cryptography. ICE has a home page at http://www.tis.com/crypto/ice.html.
:idempotent: /adj./ [from mathematical techspeak] Acting as if used only once, even if used multiple times. 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 that 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/I, you know where to find it." Ever since, this has been hackish standard form for fending off requests to alter a new design to mimic some older (and, by implication, inferior and {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}.