The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗
- Author: Eric S. Raymond
- Performer: 0262680920
Book online «The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗». Author Eric S. Raymond
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.
[numerical analysis] Said of an algorithm or computational methodthat 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 anotional `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 () {
<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. 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 ()
{
<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 spaces are occasionally seen.
if ()
{ <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 ()
{
}
Surveys have shown the Allman and Whitesmiths styles to be
Comments (0)