Books: The New Hacker\'s Dictionary version 4.2.2
V >>
Various editors >> The New Hacker\'s Dictionary version 4.2.2
Pages:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37
* [7006]I didn't change anything!:
* [7007]I see no X here.:
* [7008]IANAL:
* [7009]IBM:
* [7010]IBM discount:
* [7011]ICBM address:
* [7012]ice:
* [7013]ID10T error:
* [7014]idempotent:
* [7015]IDP:
* [7016]If you want X you know where to find it.:
* [7017]ifdef out:
* [7018]IIRC:
* [7019]ill-behaved:
* [7020]IMHO:
* [7021]Imminent Death Of The Net Predicted!:
* [7022]in the extreme:
* [7023]inc:
* [7024]incantation:
* [7025]include:
* [7026]include war:
* [7027]indent style:
* [7028]index of X:
* [7029]infant mortality:
* [7030]infinite:
* [7031]infinite loop:
* [7032]Infinite-Monkey Theorem:
* [7033]infinity:
* [7034]inflate:
* [7035]Infocom:
* [7036]initgame:
* [7037]insanely great:
* [7038]installfest:
* [7039]INTERCAL:
* [7040]interesting:
* [7041]Internet:
* [7042]Internet address:
* [7043]Internet Death Penalty:
* [7044]Internet Exploder:
* [7045]Internet Exploiter:
* [7046]interrupt:
* [7047]interrupt list:
* [7048]interrupts locked out:
* [7049]intro:
* [7050]IRC:
* [7051]iron:
* [7052]Iron Age:
* [7053]iron box:
* [7054]ironmonger:
* [7055]ISO standard cup of tea:
* [7056]ISP:
* [7057]ITS:
* [7058]IWBNI:
* [7059]IYFEG:
_________________________________________________________________
Node:I didn't change anything!, Next:[7060]I see no X here.,
Previous:[7061]hysterical reasons, Up:[7062]= I =
I didn't change anything! interj.
An aggrieved cry often heard as bugs manifest during a regression
test. The [7063]canonical reply to this assertion is "Then it works
just the same as it did before, doesn't it?" See also [7064]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 [7065]hosed the code completely.
_________________________________________________________________
Node:I see no X here., Next:[7066]IANAL, Previous:[7067]I didn't
change anything!, Up:[7068]= I =
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 [7069]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.
_________________________________________________________________
Node:IANAL, Next:[7070]IBM, Previous:[7071]I see no X here.,
Up:[7072]= I =
IANAL //
[Usenet] Abbreviation, "I Am Not A Lawyer". Usually precedes legal
advice.
_________________________________________________________________
Node:IBM, Next:[7073]IBM discount, Previous:[7074]IANAL, Up:[7075]= I
=
IBM /I-B-M/
Inferior But Marketable; It's Better Manually; Insidious Black Magic;
It's Been Malfunctioning; Incontinent Bowel Movement; and a
near-[7076]infinite number of even less complimentary expansions,
including `International Business Machines'. See [7077]TLA. These
abbreviations illustrate the considerable antipathy most hackers long
felt toward the `industry leader' (see [7078]fear and loathing).
What galled hackers about most IBM machines above the PC level wasn't
so much that they were underpowered and overpriced (though that does
count against them), but that the designs are incredibly archaic,
[7079]crufty, and [7080]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. For many
years, before Microsoft, IBM was the company hackers loved to hate.
But everything changes. In the 1980s IBM had its own troubles with
Microsoft. In the late 1990s IBM re-invented itself as a services
company, began to release open-source software through its AlphaWorks
group, and began shipping [7081]Linux systems and building ties to the
Linux community. To the astonishment of all parties, IBM emerged as a
friend of the hacker community
This lexicon includes a number of entries attributed to `IBM'; these
derive from some rampantly unofficial jargon lists circulated within
IBM's own beleaguered hacker underground.
_________________________________________________________________
Node:IBM discount, Next:[7082]ICBM address, Previous:[7083]IBM,
Up:[7084]= I =
IBM discount n.
A price increase. Outside IBM, this derives from the common perception
that IBM products are generally overpriced (see [7085]clone); inside,
it is said to spring from a belief that large numbers of IBM employees
living in an area cause prices to rise.
_________________________________________________________________
Node:ICBM address, Next:[7086]ice, Previous:[7087]IBM discount,
Up:[7088]= I =
ICBM address n.
(Also `missile address') The form used to register a site with the
Usenet mapping project, back before the day of pervasive Internet,
included a blank for longitude and latitude, preferably to
seconds-of-arc accuracy. This was actually used for generating
geographically-correct maps of Usenet links on a plotter; however, it
became traditional to refer to this as one's `ICBM address' or
`missile address', and some people include it in their [7089]sig block
with that name. (A real missile address would include target
elevation.)
_________________________________________________________________
Node:ice, Next:[7090]ID10T error, Previous:[7091]ICBM address,
Up:[7092]= I =
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 1999, 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.
_________________________________________________________________
Node:ID10T error, Next:[7093]idempotent, Previous:[7094]ice,
Up:[7095]= I =
ID10T error /I-D-ten-T er'*r/
Synonym for [7096]PEBKAC, e.g. "The user is being an idiot".
Tech-support people passing a problem report to someone higher up the
food chain (and presumably better equipped to deal with idiots) may
ask the user to convey that there seems to be an I-D-ten-T error.
Users never twig.
_________________________________________________________________
Node:idempotent, Next:[7097]IDP, Previous:[7098]ID10T error,
Up:[7099]= I =
idempotent adj.
[from mathematical techspeak] Acting as if used only once, even if
used multiple times. This term is often used with respect to [7100]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.
_________________________________________________________________
Node:IDP, Next:[7101]If you want X you know where to find it.,
Previous:[7102]idempotent, Up:[7103]= I =
IDP /I-D-P/ v.,n.
[Usenet] Abbreviation for [7104]Internet Death Penalty. Common
(probably now more so than the full form), and frequently verbed.
Compare [7105]UDP.
_________________________________________________________________
Node:If you want X you know where to find it., Next:[7106]ifdef out,
Previous:[7107]IDP, Up:[7108]= I =
If you want X, you know where to find it.
There is a legend that Dennis Ritchie, inventor of [7109]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 [7110]baroque) one. The case
X = [7111]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 [7112]X).
_________________________________________________________________
Node:ifdef out, Next:[7113]IIRC, Previous:[7114]If you want X you know
where to find it., Up:[7115]= I =
ifdef out /if'def owt/ v.
Syn. for [7116]condition out, specific to [7117]C.
_________________________________________________________________
Node:IIRC, Next:[7118]ill-behaved, Previous:[7119]ifdef out,
Up:[7120]= I =
IIRC //
Common abbreviation for "If I Recall Correctly".
_________________________________________________________________
Node:ill-behaved, Next:[7121]IMHO, Previous:[7122]IIRC, Up:[7123]= I =
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 [7124]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 [7125]bare metal. Oppose
[7126]well-behaved, compare [7127]PC-ism. See [7128]mess-dos.
_________________________________________________________________
Node:IMHO, Next:[7129]Imminent Death Of The Net Predicted!,
Previous:[7130]ill-behaved, Up:[7131]= I =
IMHO // abbrev.
[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).
_________________________________________________________________
Node:Imminent Death Of The Net Predicted!, Next:[7132]in the extreme,
Previous:[7133]IMHO, Up:[7134]= I =
Imminent Death Of The Net Predicted! prov.
[Usenet] Since [7135]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 [7136]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 [7137]S/N ratio or the huge and steadily
increasing volume, or the possible loss of a key node or link, or the
potential for lawsuits when ignoramuses post copyrighted material,
etc., etc., etc.
_________________________________________________________________
Node:in the extreme, Next:[7138]inc, Previous:[7139]Imminent Death Of
The Net Predicted!, Up:[7140]= I =
in the extreme adj.
A preferred superlative suffix for many hackish terms. See, for
example, `obscure in the extreme' under [7141]obscure, and compare
[7142]highly.
_________________________________________________________________
Node:inc, Next:[7143]incantation, Previous:[7144]in the extreme,
Up:[7145]= I =
inc /ink/ v.
Verbal (and only rarely written) shorthand for increment, i.e.
`increase by one'. Especially used by assembly programmers, as many
assembly languages have an inc mnemonic. Antonym: dec (see [7146]DEC).
_________________________________________________________________
Node:incantation, Next:[7147]include, Previous:[7148]inc, Up:[7149]= I
=
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 that they must be learned from a [7150]wizard. "This
compiler normally locates initialized data in the data segment, but if
you [7151]mutter the right incantation they will be forced into text
space."
_________________________________________________________________
Node:include, Next:[7152]include war, Previous:[7153]incantation,
Up:[7154]= I =
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 discussion of
inclusion styles under "Hacker Writing Style". 2. [from [7155]C]
#include
has appeared in [7156]sig blocks to refer to a
notional `standard [7157]disclaimer file'.
_________________________________________________________________
Node:include war, Next:[7158]indent style, Previous:[7159]include,
Up:[7160]= I =
include war n.
Excessive multi-leveled inclusion within a discussion [7161]thread, a
practice that tends to annoy readers. In a forum with high-traffic
newsgroups, such as Usenet, this can lead to [7162]flames and the urge
to start a [7163]kill file.
_________________________________________________________________
Node:indent style, Next:[7164]index of X, Previous:[7165]include war,
Up:[7166]= I =
indent style n.
[C, C++, and Java programmers] The rules one uses to indent code in a
readable fashion. 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. They have been inherited by C++
and Java, which have C-like syntaxes. The significant variable is the
placement of { and } with respect to the statement(s) they enclose and
to 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 [7167]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. In C code, the body is
typically indented by eight spaces (or one tab) per level, as shown
here. Four spaces are occasionally seen in C, but in C++ and Java four
tends to be the rule rather than the exception.
if () {
}
`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. It is the only
style other than K&R in widespread use among Java programmers. Basic
indent per level shown here is eight spaces, but four (or sometimes
three) spaces are generally preferred by C++ and Java programmers.
if ()
{
}
`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 spaces are occasionally seen.
if ()
{
}
`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 ()
{
}
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 in C (the opening brace tends
to get lost against the right paren of the guard part in an if or
while, which is a [7168]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.
The Java Language Specification legislates not only the capitalization
of identifiers, but where nouns, adjectives, and verbs should be in
method, class, interface, and variable names (section 6.8). While the
specification stops short of also standardizing on a bracing style,
all source code originating from Sun Laboratories uses the K&R style.
This has set a precedent for Java programmers, which most follow.
Doubtless these issues will continue to be the subject of [7169]holy
wars.
_________________________________________________________________
Node:index of X, Next:[7170]infant mortality, Previous:[7171]indent
style, Up:[7172]= I =
index of X n.
See [7173]coefficient of X.
_________________________________________________________________
Node:infant mortality, Next:[7174]infinite, Previous:[7175]index of X,
Up:[7176]= I =
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 first use (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 [7177]bathtub curve, [7178]burn-in period.
_________________________________________________________________
Node:infinite, Next:[7179]infinite loop, Previous:[7180]infant
mortality, Up:[7181]= I =
infinite adj.
[common] 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
[7182]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 [7183]semi.
_________________________________________________________________
Node:infinite loop, Next:[7184]Infinite-Monkey Theorem,
Previous:[7185]infinite, Up:[7186]= I =
infinite loop n.
One that never terminates (that is, the machine [7187]spins or
[7188]buzzes forever and goes [7189]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!"
_________________________________________________________________
Node:Infinite-Monkey Theorem, Next:[7190]infinity,
Previous:[7191]infinite loop, Up:[7192]= I =
Infinite-Monkey Theorem n.
"If you put an [7193]infinite number of monkeys at typewriters,
eventually one will bash out the script for Hamlet." (One may also
hypothesize a small number of monkeys and a very long period of time.)
This theorem asserts nothing about the intelligence of the one
[7194]random monkey that eventually comes up with the script (and note
that the mob will also type out all the possible incorrect versions of
Hamlet). It may be referred to semi-seriously when justifying a
[7195]brute force method; the implication is that, with enough
resources thrown at it, any technical challenge becomes a
[7196]one-banana problem. This argument gets more respect since
[7197]Linux justified the [7198]bazaar mode of development.
This theorem was first popularized by the astronomer Sir Arthur
Eddington. It became part of the idiom of techies via the classic SF
short story "Inflexible Logic" by Russell Maloney, and many younger
hackers know it through a reference in Douglas Adams's "Hitchhiker's
Guide to the Galaxy". On 1 April 2000 the usage acquired its own
Internet standard, [7199]http://www.rfc-editor.org/rfc/rfc2795.txt
(Infinite Monkey Protocol Suite).
_________________________________________________________________
Node:infinity, Next:[7200]inflate, Previous:[7201]Infinite-Monkey
Theorem, Up:[7202]= I =
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.
_________________________________________________________________
Node:inflate, Next:[7203]Infocom, Previous:[7204]infinity, Up:[7205]=
I =
inflate vt.
To decompress or [7206]puff a file. Rare among Internet hackers, used
primarily by MS-DOS/Windows types.
_________________________________________________________________
Node:Infocom, Next:[7207]initgame, Previous:[7208]inflate, Up:[7209]=
I =
Infocom n.
A now-legendary games company, active from 1979 to 1989, that
commercialized the MDL parser technology used for [7210]Zork to
produce a line of text adventure games that remain favorites among
hackers. Infocom's games were intelligent, funny, witty, erudite,
irreverent, challenging, satirical, and most thoroughly hackish in
spirit. The physical game packages from Infocom are now prized
collector's items. After being acquired by Activision in 1989 they did
a few more "modern" (e.g. graphics-intensive) games which were less
successful than reissues of their classics.
The software, thankfully, is still extant; Infocom games were written
in a kind of P-code and distributed with a P-code interpreter core,
and not only freeware emulators for that interpreter but an actual
compiler as well have been written to permit the P-code to be run on
platforms the games never originally graced. In fact, new games
written in this P-code are still bering written. (Emulators that can
run Infocom game ZIPs, and new games, are available at
[7211]ftp://wuarchive.wustl.edu:/doc/misc/if-archive/infocom.)
_________________________________________________________________
Node:initgame, Next:[7212]insanely great, Previous:[7213]Infocom,
Up:[7214]= I =
initgame /in-it'gaym/ n.
[IRC] An [7215]IRC version of the trivia game "Botticelli", in which
one user changes his [7216]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 [7217]hing.
[1996 update: a recognizable version of the initgame has become a
staple of some radio talk shows in the U.S. We had it first! - ESR]
_________________________________________________________________
Node:insanely great, Next:[7218]installfest, Previous:[7219]initgame,
Up:[7220]= I =
insanely great adj.
[Mac community, from Steve Jobs; also BSD Unix people via Bill Joy]
Something so incredibly [7221]elegant that it is imaginable only to
someone possessing the most puissant of [7222]hacker-natures.
_________________________________________________________________
Node:installfest, Next:[7223]INTERCAL, Previous:[7224]insanely great,
Up:[7225]= I =
installfest
[Linux community since c.1998] Common portmanteau word for
"installation festival"; Linux user groups frequently run these.
Computer users are invited to bring their machines to have Linux
installed on their machines. The idea is to get them painlessly over
the biggest hump in migrating to Linux, which is initially installing
and configuring it for the user's machine.
_________________________________________________________________
Node:INTERCAL, Next:[7226]interesting, Previous:[7227]installfest,
Up:[7228]= I =
INTERCAL /in't*r-kal/ n.
[said by the authors to stand for `Compiler Language With No
Pronounceable Acronym'] A computer language designed by Don Woods and
James Lyons 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
Pages:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37