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) {

<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:

The Jargon File, Version 2.9.10, 01 Jul 1992 · 第 11 / 21 题