The New Hacker's Dictionary - Eric S. Raymond (e book reader online txt) 📗
- Author: Eric S. Raymond
- Performer: 0262680920
Book online «The New Hacker's Dictionary - Eric S. Raymond (e book reader online txt) 📗». Author Eric S. Raymond
DDT that illuminates the origin of the term:
Historical footnote: DDT was developed at MIT for the PDP-1
computer in 1961. At that time DDT stood for "DEC Debugging Tape".
Since then, the idea of an on-line debugging program has propagated
throughout the computer industry. DDT programs are now available
for all DEC computers. Since media other than tape are now
frequently used, the more descriptive name "Dynamic Debugging
Technique" has been adopted, retaining the DDT abbreviation.
Confusion between DDT-10 and another well known pesticide,
dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
since each attacks a different, and apparently mutually exclusive,
class of bugs.
(The `tape' referred to was, incidentally, not magnetic but paper.)
Sadly, this quotation was removed from later editions of the handbook
after the [3666]suits took over and [3667]DEC became much more
`businesslike'.
The history above is known to many old-time hackers. But there's more:
Peter Samson, compiler of the original [3668]TMRC lexicon, reports
that he named `DDT' after a similar tool on the TX-0 computer, the
direct ancestor of the PDP-1 built at MIT's Lincoln Lab in 1957. The
debugger on that ground-breaking machine (the first transistorized
computer) rejoiced in the name FLIT (FLexowriter Interrogation Tape).
Node:de-rezz, Next:[3669]dead, Previous:[3670]DDT, Up:[3671]= D =
de-rezz /dee-rez'/
[from de-resolve' via the movie "Tron"] (alsoderez') 1. vi. To
disappear or dissolve; the image that goes with it is of an object
breaking up into raster lines and static and then dissolving.
Occasionally used of a person who seems to have suddenly `fuzzed out'
mentally rather than physically. Usage: extremely silly, also rare.
This verb was actually invented as fictional hacker jargon, and
adopted in a spirit of irony by real hackers years after the fact. 2.
vt. The Macintosh resource decompiler. On a Macintosh, many program
structures (including the code itself) are managed in small segments
of the program file known as resources';Rez' and `DeRez' are a pair
of utilities for compiling and decompiling resource files. Thus,
decompiling a resource is `derezzing'. Usage: very common.
Node:dead, Next:[3672]dead beef attack, Previous:[3673]de-rezz,
Up:[3674]= D =
dead adj.
Non-functional; [3675]down; [3676]crashed. Especially used ofhardware. 2. At XEROX PARC, software that is working but not
undergoing continued development and support. 3. Useless;
inaccessible. Antonym: `live'. Compare [3677]dead code.
Node:dead beef attack, Next:[3678]dead code, Previous:[3679]dead,
Up:[3680]= D =
dead beef attack n.
[cypherpunks list, 1996] An attack on a public-key cryptosystem
consisting of publishing a key having the same ID as another key (thus
making it possible to spoof a user's identity if recipients aren't
careful about verifying keys). In PGP and GPG the key ID is the last
eight hex digits of (for RSA keys) the product of two primes. The
attack was demonstrated by creating a key whose ID was 0xdeadbeef (see
[3681]DEADBEEF).
Node:dead code, Next:[3682]dead link, Previous:[3683]dead beef attack,
Up:[3684]= D =
dead code n.
Routines that can never be accessed because all calls to them have
been removed, or code that cannot be reached because it is guarded by
a control structure that provably must always transfer control
somewhere else. The presence of dead code may reveal either logical
errors due to alterations in the program or significant changes in the
assumptions and environment of the program (see also [3685]software
rot); a good compiler should report dead code so a maintainer can
think about what it means. (Sometimes it simply means that an
extremely defensive programmer has inserted [3686]can't happen tests
which really can't happen -- yet.) Syn. [3687]grunge. See also
[3688]dead, and [3689]The Story of Mel.
Node:dead link, Next:[3690]DEADBEEF, Previous:[3691]dead code,
Up:[3692]= D =
dead link n.
[very common] A World-Wide-Web URL that no longer points to the
information it was written to reach. Usually this happens because the
document has been moved or deleted. Lots of dead links make a WWW page
frustrating and useless and are the #1 sign of poor page maintainance.
Compare [3693]dangling pointer, [3694]link rot.
Node:DEADBEEF, Next:[3695]deadlock, Previous:[3696]dead link,
Up:[3697]= D =
DEADBEEF /ded-beef/ n.
The hexadecimal word-fill pattern for freshly allocated memory
(decimal -21524111) under a number of IBM environments, including the
RS/6000. Some modern debugging tools deliberately fill freed memory
with this value as a way of converting [3698]heisenbugs into
[3699]Bohr bugs. As in "Your program is DEADBEEF" (meaning gone,
aborted, flushed from memory); if you start from an odd half-word
boundary, of course, you have BEEFDEAD. See also the anecdote under
[3700]fool and [3701]dead beef attack.
Node:deadlock, Next:[3702]deadly embrace, Previous:[3703]DEADBEEF,
Up:[3704]= D =
deadlock n.
[techspeak] A situation wherein two or more processes are unable toproceed because each is waiting for one of the others to do something.
A common example is a program communicating to a server, which may
find itself waiting for output from the server before sending anything
more to it, while the server is similarly waiting for more input from
the controlling program before outputting anything. (It is reported
that this particular flavor of deadlock is sometimes called a
starvation deadlock', though the termstarvation' is more properly
used for situations where a program can never run simply because it
never gets high enough priority. Another common flavor is
`constipation', in which each process is trying to send stuff to the
other but all buffers are full because nobody is reading anything.)
See [3705]deadly embrace. 2. Also used of deadlock-like interactions
between humans, as when two people meet in a narrow corridor, and each
tries to be polite by moving aside to let the other pass, but they end
up swaying from side to side without making any progress because they
always move the same way at the same time.
Node:deadly embrace, Next:[3706]death code, Previous:[3707]deadlock,
Up:[3708]= D =
deadly embrace n.
Same as [3709]deadlock, though usually used only when exactly two
processes are involved. This is the more popular term in Europe, while
[3710]deadlock predominates in the United States.
Node:death code, Next:[3711]Death Square, Previous:[3712]deadly
embrace, Up:[3713]= D =
death code n.
A routine whose job is to set everything in the computer -- registers,
memory, flags, everything -- to zero, including that portion of memory
where it is running; its last act is to stomp on its own "store zero"
instruction. Death code isn't very useful, but writing it is an
interesting hacking challenge on architectures where the instruction
set makes it possible, such as the PDP-8 (it has also been done on the
DG Nova).
Perhaps the ultimate death code is on the TI 990 series, where all
registers are actually in RAM, and the instruction "store immediate 0"
has the opcode "0". The PC will immediately wrap around core as many
times as it can until a user hits HALT. Any empty memory location is
death code. Worse, the manufacturer recommended use of this
instruction in startup code (which would be in ROM and therefore
survive).
Node:Death Square, Next:[3714]Death Star, Previous:[3715]death code,
Up:[3716]= D =
Death Square n.
The corporate logo of Novell, the people who acquired USL after AT&T
let go of it (Novell eventually sold the Unix group to SCO). Coined by
analogy with [3717]Death Star, because many people believed Novell was
bungling the lead in Unix systems exactly as AT&T did for many years.
Node:Death Star, Next:[3718]DEC, Previous:[3719]Death Square,
Up:[3720]= D =
Death Star n.
[from the movie "Star Wars"] 1. The AT&T corporate logo, which appears
on computers sold by AT&T and bears an uncanny resemblance to the
Death Star in the movie. This usage is particularly common among
partisans of [3721]BSD Unix, who tend to regard the AT&T versions as
inferior and AT&T as a bad guy. Copies still circulate of a poster
printed by Mt. Xinu showing a starscape with a space fighter labeled
4.2 BSD streaking away from a broken AT&T logo wreathed in flames. 2.
AT&T's internal magazine, "Focus", uses `death star' to describe an
incorrectly done AT&T logo in which the inner circle in the top left
is dark instead of light -- a frequent result of dark-on-light logo
images.
Node:DEC, Next:[3722]DEC Wars, Previous:[3723]Death Star, Up:[3724]= D
=
DEC /dek/ n.
v. Verbal (and only rarely written) shorthand for decrement, i.e.`decrease by one'. Especially used by assembly programmers, as many
assembly languages have a dec mnemonic. Antonym: [3725]inc. 2. n.
Commonly used abbreviation for Digital Equipment Corporation, later
deprecated by DEC itself in favor of "Digital" and now entirely
obsolete following the buyout by Compaq. Before the [3726]killer micro
revolution of the late 1980s, hackerdom was closely symbiotic with
DEC's pioneering timesharing machines. The first of the group of
cultures described by this lexicon nucleated around the PDP-1 (see
[3727]TMRC). Subsequently, the PDP-6, [3728]PDP-10, [3729]PDP-20,
PDP-11 and [3730]VAX were all foci of large and important hackerdoms,
and DEC machines long dominated the ARPANET and Internet machine
population. DEC was the technological leader of the minicomputer era
(roughly 1967 to 1987), but its failure to embrace microcomputers and
Unix early cost it heavily in profits and prestige after [3731]silicon
got cheap. Nevertheless, the microprocessor design tradition owes a
major debt to the PDP-11 instruction set, and every one of the major
general-purpose microcomputer OSs so far (CP/M, MS-DOS, Unix, OS/2,
Windows NT) was either genetically descended from a DEC OS, or
incubated on DEC hardware, or both. Accordingly, DEC was for many
years still regarded with a certain wry affection even among many
hackers too young to have grown up on DEC machines.
DEC reclaimed some of its old reputation among techies in the first
half of the 1990s. The success of the Alpha, an innovatively-designed
and very high-performance [3732]killer micro, helped a lot. So did
DEC's newfound receptiveness to Unix and open systems in general. When
Compaq acquired DEC at the end of 1998 there was some concern that
these gains would be lost along with the DEC nameplate, but the merged
company has so far turned out to be culturally dominated by the ex-DEC
side.
Node:DEC Wars, Next:[3733]decay, Previous:[3734]DEC, Up:[3735]= D =
DEC Wars n.
A 1983 [3736]Usenet posting by Alan Hastings and Steve Tarr spoofing
the "Star Wars" movies in hackish terms. Some years later, ESR
(disappointed by Hastings and Tarr's failure to exploit a great
premise more thoroughly) posted a 3-times-longer complete rewrite
called [3737]Unix WARS; the two are often confused.
Node:decay, Next:[3738]deckle, Previous:[3739]DEC Wars, Up:[3740]= D =
decay n.,vi
[from nuclear physics] An automatic conversion which is applied to
most array-valued expressions in [3741]C; they `decay into'
pointer-valued expressions pointing to the array's first element. This
term is borderline techspeak, but is not used in the official standard
for the language.
Node:deckle, Next:[3742]DED, Previous:[3743]decay, Up:[3744]= D =
deckle /dek'l/ n.
[from dec- and [3745]nybble; the original spelling seems to have been
`decle'] Two [3746]nickles; 10 bits. Reported among developers for
Mattel's GI 1600 (the Intellivision games processor), a chip with
16-bit-wide RAM but 10-bit-wide ROM. See [3747]nybble for other such
terms.
Node:DED, Next:[3748]deep hack mode, Previous:[3749]deckle, Up:[3750]=
D =
DED /D-E-D/ n.
Dark-Emitting Diode (that is, a burned-out LED). Compare [3751]SED,
[3752]LER, [3753]write-only memory. In the early 1970s both Signetics
and Texas instruments released DED spec sheets as [3754]AFJs
(suggested uses included "as a power-off indicator").
Node:deep hack mode, Next:[3755]deep magic, Previous:[3756]DED,
Up:[3757]= D =
deep hack mode n.
See [3758]hack mode.
Node:deep magic, Next:[3759]deep space, Previous:[3760]deep hack mode,
Up:[3761]= D =
deep magic n.
[poss. from C. S. Lewis's "Narnia" books] An awesomely arcane
technique central to a program or system, esp. one neither generally
published nor available to hackers at large (compare [3762]black art);
one that could only have been composed by a true [3763]wizard.
Compiler optimization techniques and many aspects of [3764]OS design
used to be [3765]deep magic; many techniques in cryptography, signal
processing, graphics, and AI still are. Compare [3766]heavy wizardry.
Esp. found in comments of the form "Deep magic begins here...".
Compare [3767]voodoo programming.
Node:deep space, Next:[3768]defenestration, Previous:[3769]deep magic,
Up:[3770]= D =
deep space n.
Describes the notional location of
Comments (0)