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) {
<body>
}
`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)
{
<body>
}
`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)
{
<body>
}
`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)
{
<body>
}
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: