The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


D. C. Power Lab
=============== n. The former site of "SAIL". Hackers thought
this was very funny because the obvious connection to electrical
engineering was nonexistent --- the lab was named for a Donald C.
Power. Compare Marginal Hacks.
daemon
====== /day'mn/ or /dee'mn/ [from the mythological meaning,
later rationalized as the acronym `Disk And Execution MONitor'] n.
A program that is not invoked explicitly, but lies dormant waiting
for some condition(s) to occur. The idea is that the perpetrator
of the condition need not be aware that a daemon is lurking (though
often a program will commit an action only because it knows that it
will implicitly invoke a daemon). For example, under "ITS"
writing a file on the LPT spooler's directory would invoke the
spooling daemon, which would then print the file. The advantage is
that programs wanting (in this example) files printed need neither
compete for access to nor understand any idiosyncrasies of the
LPT. They simply enter their implicit requests and let the
daemon decide what to do with them. Daemons are usually spawned
automatically by the system, and may either live forever or be
regenerated at intervals.

Daemon and demon are often used interchangeably, but seem to
have distinct connotations. The term `daemon' was introduced to
computing by CTSS people (who pronounced it /dee'mon/) and
used it to refer to what ITS called a dragon. Although the
meaning and the pronunciation have drifted, we think this glossary
reflects current (1993) usage.

dangling pointer
================ n. A reference that doesn't actually lead
anywhere (in C and some other languages, a pointer that doesn't
actually point at anything valid). Usually this happens because it
formerly pointed to something that has moved or disappeared. Used
as jargon in a generalization of its techspeak meaning; for
example, a local phone number for a person who has since moved to
the other coast is a dangling pointer.
dark-side hacker
================ n. A criminal or malicious hacker; a
cracker. From George Lucas's Darth Vader, "seduced by the
dark side of the Force". The implication that hackers form a
sort of elite of technological Jedi Knights is intended. Oppose
samurai.
Datamation
========== /day`t*-may'sh*n/ n. A magazine that many hackers
assume all suits read. Used to question an unbelieved quote,
as in "Did you read that in "Datamation?"" It used to
publish something hackishly funny every once in a while, like the
original paper on COME FROM in 1973, and Ed Post's "Real
Programmers Don't Use Pascal" ten years later, but it has since
become much more exclusively suit-oriented and boring.
DAU
=== /dow/ [German Fidonet] n. German acronym for D"ummster
Anzunehmender User (stupidest imaginable user). From the
engineering-slang GAU for Gr"osster Anzunehmender Unfall, worst
foreseeable accident, esp. of a LNG tank farm plant or something
with similarly disastrous consequences. In popular German, GAU is
used only to refer to worst-case nuclear acidents such as a core
meltdown. See cretin, fool, loser and weasel.
day mode
======== n. See phase (sense 1). Used of people only.
dd
== /dee-dee/ [UNIX: from IBM JCL] vt. Equivalent to
cat or BLT. Originally the name of a UNIX copy command
with special options suitable for block-oriented devices; it was
often used in heavy-handed system maintenance, as in "Let's
`dd' the root partition onto a tape, then use the boot PROM to
load it back on to a new disk". The UNIX `dd(1)' was
designed with a weird, distinctly non-UNIXy keyword option syntax
reminiscent of IBM System/360 JCL (which had an elaborate DD
`Dataset Definition' specification for I/O devices); though the
command filled a need, the interface design was clearly a prank.
The jargon usage is now very rare outside UNIX sites and now nearly
obsolete even there, as `dd(1)' has been deprecated for a
long time (though it has no exact replacement). The term has been
displaced by BLT or simple English `copy'.
DDT
=== /D-D-T/ n. 1. Generic term for a program that assists in
debugging other programs by showing individual machine instructions
in a readable symbolic form and letting the user change them. In
this sense the term DDT is now archaic, having been widely
displaced by `debugger' or names of individual programs like
`adb', `sdb', `dbx', or `gdb'. 2. [ITS] Under
MIT's fabled "ITS" operating system, DDT (running under the alias
HACTRN) was also used as the shell or top level command
language used to execute other programs. 3. Any one of several
specific DDTs (sense 1) supported on early DEC hardware. The DEC
PDP-10 Reference Handbook (1969) contained a footnote on the first
page of the documentation for 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 suits took over and 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 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).

de-rezz
======= /dee-rez'/ [from `de-resolve' via the movie
"Tron"] (also `derez') 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.
dead
==== adj. 1. Non-functional; down; crashed. Especially
used of hardware. 2. At XEROX PARC, software that is working but
not undergoing continued development and support.
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 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 can't happen tests which really can't
happen --- yet.) Syn. grunge.
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. 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.
deadlock
======== n. 1. [techspeak] A situation wherein two or more
processes are unable to proceed 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 term `starvation' 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 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.
deadly embrace
============== n. Same as deadlock, though usually used only when
exactly two processes are involved. This is the more popular term in
Europe, while deadlock predominates in the United States.
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).

Death Star
========== [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 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.
DEC
=== n. Digital Equipment Corporation. Before the [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 TMRC. Subsequently, the PDP-6, PDP-10,
PDP-20, PDP-11 and 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 silicon got cheap. However, the
microprocessor design tradition owes a heavy 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) were either
genetically descended from a DEC OS, or incubated on DEC hardware,
or both. Accordingly, DEC is still regarded with a certain wry
affection even among many hackers too young to have grown up on DEC
machines. The contrast with IBM is instructive.
dec
=== /dek/ 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: inc.
DEC Wars
======== n. A 1983 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 "UNIX WARS"; the
two are often confused.
decay
===== [from nuclear physics] n.,vi. An automatic conversion which
is applied to most array-valued expressions in 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.
DEChead
======= /dek'hed/ n. 1. A DEC field servoid. Not flattering.
2. [from `deadhead'] A Grateful Dead fan working at DEC.
deckle
====== /dek'l/ [from dec- and nybble; the original
spelling seems to have been `decle'] n. Two 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.
DED
=== /D-E-D/ n. Dark-Emitting Diode (that is, a burned-out
LED). Compare SED, LER, write-only memory. In the
early 1970s both Signetics and Texas instruments released DED spec
sheets as AFJs (suggested uses included "as a power-off
indicator").
deep hack mode
============== n. See hack mode.
deep magic
========== [poss. from C. S. Lewis's "Narnia" books] n. An
awesomely arcane technique central to a program or system, esp. one
neither generally published nor available to hackers at large (compare
black art); one that could only have been composed by a true
wizard. Compiler optimization techniques and many aspects of
OS design used to be deep magic; many techniques in
cryptography, signal processing, graphics, and AI still are.
Compare heavy wizardry. Esp. found in comments of the form
"Deep magic begins here...". Compare voodoo programming.
deep space
========== n. 1. Describes the notional location of any program
that has gone off the trolley. Esp. used of programs that
just sit there silently grinding long after either failure or some
output is expected. "Uh oh. I should have gotten a prompt ten
seconds ago. The program's in deep space somewhere." Compare
buzz, catatonic, hyperspace. 2. The metaphorical
location of a human so dazed and/or confused or caught up in some
esoteric form of bogosity that he or she no longer responds
coherently to normal communication. Compare page out.
defenestration
============== [from the traditional Czechoslovakian method of
assassinating prime ministers, via SF fandom] n. 1. Proper karmic
retribution for an incorrigible punster. "Oh, ghod, that was
*awful*!" "Quick! Defenestrate him!" 2. The act of
exiting a window system in order to get better response time from a
full-screen program. This comes from the dictionary meaning of
`defenestrate', which is to throw something out a window. 3. The
act of discarding something under the assumption that it will
improve matters. "I don't have any disk space left." "Well,
why don't you defenestrate that 100 megs worth of old core dumps?"
4. [proposed] The requirement to support a command-line interface.
"It has to run on a VT100." "Curses! I've been
defenestrated!"
defined as
========== adj. In the role of, usually in an organization-chart
sense. "Pete is currently defined as bug prioritizer." Compare
logical.
dehose
====== /dee-hohz/ vt. To clear a hosed condition.
delint
====== /dee-lint/ v. To modify code to remove problems detected
when linting. Confusingly, this process is also referred to
as `linting' code.
delta
===== n. 1. [techspeak] A quantitative change, especially a small
or incremental one (this use is general in physics and
engineering). "I just doubled the speed of my program!" "What
was the delta on program size?" "About 30 percent." (He
doubled the speed of his program, but increased its size by only 30
percent.) 2. [UNIX] A diff, especially a diff stored
under the set of version-control tools called SCCS (Source Code
Control System) or RCS (Revision Control System). 3. n. A small
quantity, but not as small as epsilon. The jargon usage of
delta and epsilon stems from the traditional use of these
letters in mathematics for very small numerical quantities,
particularly in `epsilon-delta' proofs in limit theory (as in the
differential calculus). The term delta is often used, once
epsilon has been mentioned, to mean a quantity that is
slightly bigger than epsilon but still very small. "The cost
isn't epsilon, but it's delta" means that the cost isn't totally
negligible, but it is nevertheless very small. Common
constructions include `within delta of ---', `within epsilon of
---': that is, `close to' and `even closer to'.
demented
======== adj. Yet another term of disgust used to describe a
program. The connotation in this case is that the program works as
designed, but the design is bad. Said, for example, of a program
that generates large numbers of meaningless error messages,
implying that it is on the brink of imminent collapse. Compare
wonky, bozotic.
demigod
======= n. A hacker with years of experience, a national reputation,
and a major role in the development of at least one design, tool,
or game used by or known to more than half of the hacker community.
To qualify as a genuine demigod, the person must recognizably
identify with the hacker community and have helped shape it. Major
demigods include Ken Thompson and Dennis Ritchie (co-inventors of
"UNIX" and C) and Richard M. Stallman (inventor of
EMACS). In their hearts of hearts, most hackers dream of
someday becoming demigods themselves, and more than one major
software project has been driven to completion by the author's
veiled hopes of apotheosis. See also net.god, true-hacker.
demo
==== /de'moh/ [short for `demonstration'] 1. v. To
demonstrate a product or prototype. A far more effective way of
inducing bugs to manifest than any number of test runs,
especially when important people are watching. 2. n. The act of
demoing. "I've gotta give a demo of the drool-proof interface;
how does it work again?" 3. n. Esp. as `demo version', can
refer either to an early, barely-functional version of a program
which can be used for demonstration purposes as long as the
operator uses *exactly* the right commands and skirts its numerous
bugs, deficiencies, and unimplemented portions, or to a special
version of a program (frequently with some features crippled) which
is distributed at little or no cost to the user for enticement
purposes.
demo mode
========= [Sun] n. 1. The state of being heads down in order
to finish code in time for a demo, usually due yesterday.
2. A mode in which video games sit by themselves running through a
portion of the game, also known as `attract mode'. Some serious
apps have a demo mode they use as a screen saver, or may go
through a demo mode on startup (for example, the Microsoft Windows
opening screen --- which lets you impress your neighbors without
actually having to put up with Microsloth Windows).
demon
===== n. 1. [MIT] A portion of a program that is not invoked
explicitly, but that lies dormant waiting for some condition(s) to
occur. See daemon. The distinction is that demons are
usually processes within a program, while daemons are usually
programs running on an operating system. 2. [outside MIT] Often used
equivalently to daemon --- especially in the "UNIX" world,
where the latter spelling and pronunciation is considered mildly
archaic.

Demons in sense 1 are particularly common in AI programs. For
example, a knowledge-manipulation program might implement inference
rules as demons. Whenever a new piece of knowledge was added,
various demons would activate (which demons depends on the
particular piece of data) and would create additional pieces of
knowledge by applying their respective inference rules to the
original piece. These new pieces could in turn activate more
demons as the inferences filtered down through chains of logic.
Meanwhile, the main program could continue with whatever its
primary task was.

depeditate
========== /dee-ped'*-tayt/ [by (faulty) analogy with
`decapitate'] vt. Humorously, to cut off the feet of. When one is
using some computer-aided typesetting tools, careless placement of
text blocks within a page or above a rule can result in chopped-off
letter descenders. Such letters are said to have been depeditated.
deprecated
========== adj. Said of a program or feature that is considered
obsolescent and in the process of being phased out, usually in
favor of a specified replacement. Deprecated features can,
unfortunately, linger on for many years. This term appears with
distressing frequency in standards documents when the committees
writing the documents realize that large amounts of extant (and
presumably happily working) code depend on the feature(s) that have
passed out of favor. See also dusty deck.
deserves to lose
================ adj. Said of someone who willfully does the
Wrong Thing; humorously, if one uses a feature known to be
marginal. What is meant is that one deserves the consequences
of one's losing actions. "Boy, anyone who tries to use
mess-dos deserves to lose!" ("ITS" fans used to say
the same thing of "UNIX"; many still do.) See also screw,
chomp, bagbiter.
desk check
========== n.,v. To grovel over hardcopy of source code,
mentally simulating the control flow; a method of catching bugs.
No longer common practice in this age of on-screen editing, fast
compiles, and sophisticated debuggers --- though some maintain
stoutly that it ought to be. Compare eyeball search,
vdiff, vgrep.
despew
====== /d*-spyoo'/ [USENET] v. To automatically generate a
large amount of garbage to the net, esp. from an automated posting
program gone wild. See ARMM.
Devil Book
========== n. "The Design and Implementation of the 4.3BSD
UNIX Operating System", by Samuel J. Leffler, Marshall Kirk
McKusick, Michael J. Karels, and John S. Quarterman (Addison-Wesley
Publishers, 1989, ISBN 0-201-06196-1) --- the standard reference
book on the internals of BSD UNIX. So called because the
cover has a picture depicting a little devil (a visual play on
daemon) in sneakers, holding a pitchfork (referring to one of
the characteristic features of UNIX, the `fork(2)' system
call).
devo
==== /dee'voh/ [orig. in-house jargon at Symbolics] n. A person in a
development group. See also doco and mango.
dickless workstation
==================== n. Extremely pejorative hackerism for
`diskless workstation', a class of botches including the Sun 3/50
and other machines designed exclusively to network with an
expensive central disk server. These combine all the disadvantages
of time-sharing with all the disadvantages of distributed personal
computers; typically, they cannot even boot themselves without
help (in the form of some kind of breath-of-life packet) from
the server.
dictionary flame
================ [USENET] n. An attempt to sidetrack a debate
away from issues by insisting on meanings for key terms that
presuppose a desired conclusion or smuggle in an implicit premise.
A common tactic of people who prefer argument over definitions to
disputes about reality. Compare spelling flame.
diddle
====== 1. vt. To work with or modify in a not particularly
serious manner. "I diddled a copy of ADVENT so it didn't
double-space all the time." "Let's diddle this piece of code and
see if the problem goes away." See tweak and twiddle.
2. n. The action or result of diddling. See also tweak,
twiddle, frob.
die
=== v. Syn. crash. Unlike crash, which is used
primarily of hardware, this verb is used of both hardware and
software. See also go flatline, casters-up mode.
die horribly
============ v. The software equivalent of crash and burn,
and the preferred emphatic form of die. "The converter
choked on an FF in its input and died horribly".
diff
==== /dif/ n. 1. A change listing, especially giving
differences between (and additions to) source code or documents
(the term is often used in the plural `diffs'). "Send me your
diffs for the Jargon File!" Compare vdiff. 2. Specifically,
such a listing produced by the `diff(1)' command, esp. when
used as specification input to the `patch(1)' utility (which
can actually perform the modifications; see patch). This is a
common method of distributing patches and source updates in the
UNIX/C world. 3. v. To compare (whether or not by use of automated
tools on machine-readable files); see also vdiff,
mod.
digit
===== n. An employee of Digital Equipment Corporation. See also
VAX, VMS, PDP-10, "TOPS-10", DEChead, [double
DECkers}, field circus.
dike
==== vt. To remove or disable a portion of something, as a wire
from a computer or a subroutine from a program. A standard slogan
is "When in doubt, dike it out". (The implication is that it is
usually more effective to attack software problems by reducing
complexity than by increasing it.) The word `dikes' is widely
used among mechanics and engineers to mean `diagonal cutters',
esp. the heavy-duty metal-cutting version, but may also refer to a
kind of wire-cutters used by electronics techs. To `dike
something out' means to use such cutters to remove something.
Indeed, the TMRC Dictionary defined dike as "to attack with
dikes". Among hackers this term has been metaphorically extended
to informational objects such as sections of code.
ding
==== n.,vi. 1. Synonym for feep. Usage: rare among hackers,
but commoner in the Real World. 2. `dinged': What happens
when someone in authority gives you a minor bitching about
something, esp. something trivial. "I was dinged for having a
messy desk."
dink
==== /dink/ adj. Said of a machine that has the bitty box
nature; a machine too small to be worth bothering with ---
sometimes the system you're currently forced to work on. First
heard from an MIT hacker working on a CP/M system with 64K, in
reference to any 6502 system, then from fans of 32-bit
architectures about 16-bit machines. "GNUMACS will never work on
that dink machine." Probably derived from mainstream `dinky',
which isn't sufficiently pejorative. See macdink.
dinosaur
======== n. 1. Any hardware requiring raised flooring and special
power. Used especially of old minis and mainframes, in contrast
with newer microprocessor-based machines. In a famous quote from
the 1988 UNIX EXPO, Bill Joy compared the liquid-cooled mainframe
in the massive IBM display with a grazing dinosaur "with a truck
outside pumping its bodily fluids through it". IBM was not
amused. Compare big iron; see also mainframe. 2. [IBM]
A very conservative user; a zipperhead.
dinosaur pen
============ n. A traditional mainframe computer room complete with
raised flooring, special power, its own ultra-heavy-duty air
conditioning, and a side order of Halon fire extinguishers. See
boa.
dinosaurs mating
================ n. Said to occur when yet another big iron
merger or buyout occurs; reflects a perception by hackers that
these signal another stage in the long, slow dying of the
mainframe industry. In its glory days of the 1960s, it was
`IBM and the Seven Dwarves': Burroughs, Control Data, General
Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out
early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR,
Control Data, and Honeywell) for a while. Honeywell was bought out
by Bull; Burroughs merged with Univac to form Unisys (in 1984 ---
this was when the phrase `dinosaurs mating' was coined); and in
1991 AT&T absorbed NCR. More such earth-shaking unions of doomed
giants seem inevitable.
dirtball
======== [XEROX PARC] n. A small, perhaps struggling outsider;
not in the major or even the minor leagues. For example, "Xerox
is not a dirtball company".

[Outsiders often observe in the PARC culture an institutional
arrogance which usage of this term exemplifies. The brilliance and
scope of PARC's contributions to computer science have been such
that this superior attitude is not much resented. --- ESR]

dirty power
=========== n. Electrical mains voltage that is unfriendly to
the delicate innards of computers. Spikes, drop-outs, average
voltage significantly higher or lower than nominal, or just plain
noise can all cause problems of varying subtlety and severity
(these are collectively known as power hits).
disclaimer
========== n. [USENET] n. Statement ritually appended to many USENET
postings (sometimes automatically, by the posting software) reiterating
the fact (which should be obvious, but is easily forgotten) that the
article reflects its author's opinions and not necessarily those of
the organization running the machine through which the article
entered the network.
Discordianism
============= /dis-kor'di-*n-ism/ n. The veneration of
Eris, a.k.a. Discordia; widely popular among hackers.
Discordianism was popularized by Robert Shea and Robert Anton
Wilson's novel "Illuminatus!" as a sort of
self-subverting Dada-Zen for Westerners --- it should on no account
be taken seriously but is far more serious than most jokes.
Consider, for example, the Fifth Commandment of the Pentabarf, from
"Principia Discordia": "A Discordian is Prohibited of
Believing What he Reads." Discordianism is usually connected with
an elaborate conspiracy theory/joke involving millennia-long
warfare between the anarcho-surrealist partisans of Eris and a
malevolent, authoritarian secret society called the Illuminati.
See Religion under Appendix B, [Church of the
SubGenius}, and ha ha only serious.
disk farm
========= n. (also laundromat) A large room or rooms filled
with disk drives (esp. washing machines).
display hack
============ n. A program with the same approximate purpose as a
kaleidoscope: to make pretty pictures. Famous display hacks
include munching squares, smoking clover, the BSD UNIX
`rain(6)' program, `worms(6)' on miscellaneous UNIXes,
and the X `kaleid(1)' program. Display hacks can also be
implemented without programming by creating text files containing
numerous escape sequences for interpretation by a video terminal;
one notable example displayed, on any VT100, a Christmas tree with
twinkling lights and a toy train circling its base. The [hack
value} of a display hack is proportional to the esthetic value of
the images times the cleverness of the algorithm divided by the
size of the code. Syn. psychedelicware.
Dissociated Press
================= [play on `Associated Press'; perhaps inspired
by a reference in the 1949 Bugs Bunny cartoon "What's Up,
Doc?"] n. An algorithm for transforming any text into potentially
humorous garbage even more efficiently than by passing it through a
marketroid. The algorithm starts by printing any N
consecutive words (or letters) in the text. Then at every step it
searches for any random occurrence in the original text of the
last N words (or letters) already printed and then prints
the next word or letter. EMACS has a handy command for this.
Here is a short example of word-based Dissociated Press applied to
an earlier version of this Jargon File:

wart: n. A small, crocky feature that sticks out of
an array (C has no checks for this). This is relatively
benign and easy to spot if the phrase is bent so as to be
not worth paying attention to the medium in question.

Here is a short example of letter-based Dissociated Press applied
to the same source:

window sysIWYG: n. A bit was named aften /bee't*/ prefer
to use the other guy's re, especially in every cast a
chuckle on neithout getting into useful informash speech
makes removing a featuring a move or usage actual
abstractionsidered interj. Indeed spectace logic or problem!

A hackish idle pastime is to apply letter-based Dissociated Press
to a random body of text and vgrep the output in hopes of finding
an interesting new word. (In the preceding example, `window
sysIWYG' and `informash' show some promise.) Iterated applications
of Dissociated Press usually yield better results. Similar
techniques called `travesty generators' have been employed with
considerable satirical effect to the utterances of USENET flamers;
see pseudo.

distribution
============ n. 1. A software source tree packaged for
distribution; but see kit. 2. A vague term encompassing
mailing lists and USENET newsgroups (but not BBS fora); any
topic-oriented message channel with multiple recipients. 3. An
information-space domain (usually loosely correlated with
geography) to which propagation of a USENET message is restricted;
a much-underutilized feature.
disusered
========= adj. [USENET] Said of a person whose account on a computer
has been removed, esp. for cause rather than through normal
attrition. "He got disusered when they found out he'd been
cracking through the school's Internet access." The verbal form
`disuser' is live but less common. Both usages probably derive
from the DISUSER account status flag on VMS; setting it disables
the account.
do protocol
=========== [from network protocol programming] vi. To perform an
interaction with somebody or something that follows a clearly
defined procedure. For example, "Let's do protocol with the
check" at a restaurant means to ask for the check, calculate the
tip and everybody's share, collect money from everybody, generate
change as necessary, and pay the bill. See protocol.
doc
=== /dok/ n. Common spoken and written shorthand for
`documentation'. Often used in the plural `docs' and in the
construction `doc file' (i.e., documentation available on-line).
doco
==== /do'koh/ [orig. in-house jargon at Symbolics] n. A
documentation writer. See also devo and mango.
documentation
============= : n. The multiple kilograms of macerated, pounded,
steamed, bleached, and pressed trees that accompany most modern
software or hardware products (see also tree-killer). Hackers
seldom read paper documentation and (too) often resist writing it;
they prefer theirs to be terse and on-line. A common comment on
this predilection is "You can't grep dead trees". See
drool-proof paper, verbiage, treeware.
dodgy
===== adj. Syn. with flaky. Preferred outside the U.S.
dogcow
====== /dog'kow/ n. See Moof.
dogpile
======= [USENET: prob. fr. mainstream "puppy pile"] v. When
many people post unfriendly responses in short order to a single
posting, they are sometimes said to "dogpile" or "dogpile on"
the person to whom they're responding. For example, when a
religious missionary posts a simplistic appeal to alt.atheism,
he can expect to be dogpiled.
dogwash
======= /dog'wosh/ [From a quip in the `urgency' field of a very
optional software change request, ca. 1982. It was something like
"Urgency: Wash your dog first".] 1. n. A project of minimal
priority, undertaken as an escape from more serious work. 2. v.
To engage in such a project. Many games and much freeware get
written this way.
domainist
========= /doh-mayn'ist/ adj. 1. Said of an "[Internet
address}" (as opposed to a bang path) because the part to the
right of the `@' specifies a nested series of `domains';
for example, esr@snark.thyrsus.com specifies the machine
called snark in the subdomain called thyrsus within the
top-level domain called com. See also big-endian, sense
2. 2. Said of a site, mailer, or routing program which knows how
to handle domainist addresses. 3. Said of a person (esp. a site
admin) who prefers domain addressing, supports a domainist mailer,
or proselytizes for domainist addressing and disdains [bang
path}s. This term is now (1993) semi-obsolete, as most sites have
converted.
Don't do that, then!
==================== [from an old doctor's office joke about a
patient with a trivial complaint] Stock response to a user
complaint. "When I type control-S, the whole system comes to a
halt for thirty seconds." "Don't do that, then!" (or "So don't
do that!"). Compare RTFM.
dongle
====== /dong'gl/ n. 1. A security or copy protection
device for commercial microcomputer programs consisting of a
serialized EPROM and some drivers in a D-25 connector shell, which
must be connected to an I/O port of the computer while the program
is run. Programs that use a dongle query the port at startup and
at programmed intervals thereafter, and terminate if it does not
respond with the dongle's programmed validation code. Thus, users
can make as many copies of the program as they want but must pay
for each dongle. The idea was clever, but it was initially a
failure, as users disliked tying up a serial port this way. Almost
all dongles on the market today (1993) will pass data through the
port and monitor for magic codes (and combinations of status
lines) with minimal if any interference with devices further down
the line --- this innovation was necessary to allow daisy-chained
dongles for multiple pieces of software. The devices are still not
widely used, as the industry has moved away from copy-protection
schemes in general. 2. By extension, any physical electronic key
or transferable ID required for a program to function. Common
variations on this theme have used parallel or even joystick
ports. See dongle-disk.

[Note: in early 1992, advertising copy from Rainbow Technologies (a
manufacturer of dongles) included a claim that the word derived from
"Don Gall", allegedly the inventor of the device. The company's
receptionist will cheerfully tell you that the story is a myth
invented for the ad copy. Nevertheless, I expect it to haunt my
life as a lexicographer for at least the next ten years. --- ESR]

dongle-disk
=========== /don'gl disk/ n. A special floppy disk that is
required in order to perform some task. Some contain special
coding that allows an application to identify it uniquely, others
*are* special code that does something that normally-resident
programs don't or can't. (For example, AT&T's "Unix PC" would
only come up in root mode with a special boot disk.) Also
called a `key disk'. See dongle.
donuts
====== n.obs. A collective noun for any set of memory bits. This
usage is extremely archaic and may no longer be live jargon; it
dates from the days of ferrite-core memories in which each bit
was implemented by a doughnut-shaped magnetic flip-flop.
doorstop
======== n. Used to describe equipment that is non-functional and
halfway expected to remain so, especially obsolete equipment kept
around for political reasons or ostensibly as a backup. "When we
get another Wyse-50 in here, that ADM 3 will turn into a doorstop."
Compare boat anchor.
dot file
======== [UNIX] n. A file that is not visible by default to
normal directory-browsing tools (on UNIX, files named with a
leading dot are, by convention, not normally presented in directory
listings). Many programs define one or more dot files in which
startup or configuration information may be optionally recorded; a
user can customize the program's behavior by creating the
appropriate file in the current or home directory. (Therefore, dot
files tend to creep --- with every nontrivial application
program defining at least one, a user's home directory can be
filled with scores of dot files, of course without the user's
really being aware of it.) See also profile (sense 1), [rc
file}.
double bucky
============ adj. Using both the CTRL and META keys. "The
command to burn all LEDs is double bucky F."

This term originated on the Stanford extended-ASCII keyboard, and
was later taken up by users of the space-cadet keyboard at
MIT. A typical MIT comment was that the Stanford bucky bits
(control and meta shifting keys) were nice, but there weren't
enough of them; you could type only 512 different characters on a
Stanford keyboard. An obvious way to address this was simply to
add more shifting keys, and this was eventually done; but a
keyboard with that many shifting keys is hard on touch-typists, who
don't like to move their hands away from the home position on the
keyboard. It was half-seriously suggested that the extra shifting
keys be implemented as pedals; typing on such a keyboard would be
very much like playing a full pipe organ. This idea is mentioned
in a parody of a very fine song by Jeffrey Moss called
"Rubber Duckie", which was published in "The Sesame
Street Songbook" (Simon and Schuster 1971, ISBN 0-671-21036-X).
These lyrics were written on May 27, 1978, in celebration of the
Stanford keyboard:

Double Bucky

Double bucky, you're the one!
You make my keyboard lots of fun.
Double bucky, an additional bit or two:
(Vo-vo-de-o!)
Control and meta, side by side,
Augmented ASCII, nine bits wide!
Double bucky! Half a thousand glyphs, plus a few!
Oh,
I sure wish that I
Had a couple of
Bits more!
Perhaps a
Set of pedals to
Make the number of
Bits four:
Double double bucky!
Double bucky, left and right
OR'd together, outta sight!
Double bucky, I'd like a whole word of
Double bucky, I'm happy I heard of
Double bucky, I'd like a whole word of you!

--- The Great Quux (with apologies to Jeffrey Moss)

[This, by the way, is an excellent example of computer filk
--- ESR] See also meta bit, cokebottle, and [quadruple
bucky}.

double DECkers
============== n. Used to describe married couples in which both
partners work for Digital Equipment Corporation.
doubled sig
=========== [USENET] n. A sig block that has been included
twice in a USENET article or, less commonly, in an electronic
mail message. An article or message with a doubled sig can be
caused by improperly configured software. More often, however, it
reveals the author's lack of experience in electronic
communication. See BIFF, pseudo.
down
==== 1. adj. Not operating. "The up escalator is down" is
considered a humorous thing to say, and "The elevator is down"
always means "The elevator isn't working" and never refers to
what floor the elevator is on. With respect to computers, this
term has passed into the mainstream; the extension to other kinds
of machine is still hackish. 2. `go down' vi. To stop
functioning; usually said of the system. The message from the
console that every hacker hates to hear from the operator is
"System going down in 5 minutes". 3. `take down', `bring
down' vt. To deactivate purposely, usually for repair work or
PM. "I'm taking the system down to work on that bug in the
tape drive." Occasionally one hears the word `down' by itself
used as a verb in this vt. sense. See crash;
oppose up.
download
======== vt. To transfer data or (esp.) code from a larger `host'
system (esp. a mainframe) over a digital comm link to a smaller
`client' system, esp. a microcomputer or specialized peripheral.
Oppose upload.

However, note that ground-to-space communications has its own usage
rule for this term. Space-to-earth transmission is always `down'
and the reverse `up' regardless of the relative size of the
computers involved. So far the in-space machines have invariably
been smaller; thus the upload/download distinction has been
reversed from its usual sense.

DP
== /D-P/ n. 1. Data Processing. Listed here because,
according to hackers, use of the term marks one immediately as a
suit. See DPer. 2. Common abbrev for [Dissociated
Press}.
DPB
=== /d*-pib'/ [from the PDP-10 instruction set] vt. To plop
something down in the middle. Usage: silly. "DPB yourself into
that couch there." The connotation would be that the couch is
full except for one slot just big enough for one last person to sit
in. DPB means `DePosit Byte', and was the name of a PDP-10
instruction that inserts some bits into the middle of some other
bits. Hackish usage has been kept alive by the Common LISP function
of the same name.
DPer
==== /dee-pee-er/ n. Data Processor. Hackers are absolutely
amazed that suits use this term self-referentially.
*Computers* process data, not people! See DP.
dragon
====== n. [MIT] A program similar to a daemon, except that
it is not invoked at all, but is instead used by the system to
perform various secondary tasks. A typical example would be an
accounting program, which keeps track of who is logged in,
accumulates load-average statistics, etc. Under ITS, many
terminals displayed a list of people logged in, where they were,
what they were running, etc., along with some random picture (such
as a unicorn, Snoopy, or the Enterprise), which was generated by
the `name dragon'. Usage: rare outside MIT --- under UNIX and most
other OSes this would be called a `background demon' or
daemon. The best-known UNIX example of a dragon is
`cron(1)'. At SAIL, they called this sort of thing a
`phantom'.
Dragon Book
=========== n. The classic text "Compilers: Principles,
Techniques and Tools", by Alfred V. Aho, Ravi Sethi, and Jeffrey D.
Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6), so called because
of the cover design featuring a dragon labeled `complexity of
compiler design' and a knight bearing the lance `LALR parser
generator' among his other trappings. This one is more
specifically known as the `Red Dragon Book' (1986); an earlier
edition, sans Sethi and titled "Principles Of Compiler Design"
(Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN
0-201-00022-9), was the `Green Dragon Book' (1977). (Also `New
Dragon Book', `Old Dragon Book'.) The horsed knight and the
Green Dragon were warily eying each other at a distance; now the
knight is typing (wearing gauntlets!) at a terminal showing a
video-game representation of the Red Dragon's head while the rest
of the beast extends back in normal space. See also "[book
titles}".
drain
===== [IBM] v. Syn. for flush (sense 2). Has a connotation
of finality about it; one speaks of draining a device before taking
it offline.
dread high-bit disease
====================== n. A condition endemic to PRIME (a.k.a.
PR1ME) minicomputers that results in all the characters having
their high (0x80) bit ON rather than OFF. This of course makes
transporting files to other systems much more difficult, not to
mention talking to true 8-bit devices. Folklore had it that PRIME
adopted the reversed-8-bit convention in order to save 25 cents per
serial line per machine; PRIME old-timers, on the other hand, claim
they inherited the disease from Honeywell via customer NASA's
compatibility requirements and struggled heroically to cure it.
Whoever was responsible, this probably qualifies as one of the
most cretinous design tradeoffs ever made. See meta bit.
A few other machines have exhibited similar brain damage.
DRECNET
======= /drek'net/ [from Yiddish/German `dreck', meaning
filth] n. Deliberate distortion of DECNET, a networking protocol
used in the VMS community. So called because DEC helped write
the Ethernet specification and then (either stupidly or as a
malignant customer-control tactic) violated that spec in the design
of DRECNET in a way that made it incompatible. See also
connector conspiracy.
driver
====== n. 1. The main loop of an event-processing program;
the code that gets commands and dispatches them for execution.
2. [techspeak] In `device driver', code designed to handle a
particular peripheral device such as a magnetic disk or tape unit.
3. In the TeX world and the computerized typesetting world in
general, a program that translates some device-independent or other
common format to something a real device can actually
understand.
droid
===== [from `android', SF terminology for a humanoid robot of
essentially biological (as opposed to mechanical/electronic)
construction] n. A person (esp. a low-level bureaucrat or
service-business employee) exhibiting most of the following
characteristics: (a) naive trust in the wisdom of the parent
organization or `the system'; (b) a blind-faith propensity to
believe obvious nonsense emitted by authority figures (or
computers!); (c) a rule-governed mentality, one unwilling or unable
to look beyond the `letter of the law' in exceptional
situations; (d) a paralyzing fear of official reprimand or worse
if Procedures are not followed No Matter What; and (e) no interest
in doing anything above or beyond the call of a very
narrowly-interpreted duty, or in particular in fixing that which is
broken; an "It's not my job, man" attitude.

Typical droid positions include supermarket checkout assistant and
bank clerk; the syndrome is also endemic in low-level government
employees. The implication is that the rules and official
procedures constitute software that the droid is executing;
problems arise when the software has not been properly debugged.
The term `droid mentality' is also used to describe the mindset
behind this behavior. Compare suit, marketroid; see
-oid.

drool-proof paper
================= n. Documentation that has been obsessively [dumbed
down}, to the point where only a cretin could bear to read it, is
said to have succumbed to the `drool-proof paper syndrome' or to
have been `written on drool-proof paper'. For example, this is
an actual quote from Apple's LaserWriter manual: "Do not expose
your LaserWriter to open fire or flame."
drop on the floor
================= vt. To react to an error condition by silently
discarding messages or other valuable data. "The gateway
ran out of memory, so it just started dropping packets on the
floor." Also frequently used of faulty mail and netnews relay
sites that lose messages. See also black hole, bit bucket.
drop-ins
======== [prob. by analogy with drop-outs] n. Spurious
characters appearing on a terminal or console as a result of line
noise or a system malfunction of some sort. Esp. used when these
are interspersed with one's own typed input. Compare
drop-outs, sense 2.
drop-outs
========= n. 1. A variety of `power glitch' (see glitch);
momentary 0 voltage on the electrical mains. 2. Missing characters
in typed input due to software malfunction or system saturation
(one cause of such behavior under UNIX when a bad connection to a
modem swamps the processor with spurious character interrupts; see
screaming tty). 3. Mental glitches; used as a way of
describing those occasions when the mind just seems to shut down
for a couple of beats. See glitch, fried.
drugged
======= adj. (also `on drugs') 1. Conspicuously stupid,
heading toward brain-damaged. Often accompanied by a
pantomime of toking a joint (but see Appendix B). 2. Of hardware,
very slow relative to normal performance.
drum
==== adj, n. Ancient techspeak term referring to slow,
cylindrical magnetic media that were once state-of-the-art storage
devices. Under BSD UNIX the disk partition used for swapping is
still called `/dev/drum'; this has led to considerable humor
and not a few straight-faced but utterly bogus `explanations'
getting foisted on newbies. See also "[The Story of Mel, a
Real Programmer}" in Appendix A.
drunk mouse syndrome
==================== (also `mouse on drugs') n. A malady
exhibited by the mouse pointing device of some computers. The
typical symptom is for the mouse cursor on the screen to move in
random directions and not in sync with the motion of the actual
mouse. Can usually be corrected by unplugging the mouse and
plugging it back again. Another recommended fix for optical mice
is to rotate your mouse pad 90 degrees.

At Xerox PARC in the 1970s, most people kept a can of copier
cleaner (isopropyl alcohol) at their desks. When the steel ball on
the mouse had picked up enough cruft to be unreliable, the
mouse was doused in cleaner, which restored it for a while.
However, this operation left a fine residue that accelerated the
accumulation of cruft, so the dousings became more and more
frequent. Finally, the mouse was declared `alcoholic' and sent
to the clinic to be dried out in a CFC ultrasonic bath.

Duff's device
============= n. The most dramatic use yet seen of [fall
through} in C, invented by Tom Duff when he was at Lucasfilm.
Trying to bum all the instructions he could out of an inner
loop that copied data serially onto an output port, he decided to
unroll it. He then realized that the unrolled version could
be implemented by *interlacing* the structures of a switch and
a loop:

register n = (count + 7) / 8; /* count > 0 assumed */

switch (count % 8)
[
case 0: do [ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}

Shocking though it appears to all who encounter it for the first
time, the device is actually perfectly valid, legal C. C's default
fall through in case statements has long been its most
controversial single feature; Duff observed that "This code forms
some sort of argument in that debate, but I'm not sure whether it's
for or against."

[For maximal obscurity, the outermost pair of braces above could be
actually be removed --- GLS]

dumb terminal
============= n. A terminal that is one step above a glass tty,
having a minimally addressable cursor but no on-screen editing or
other features normally supported by a smart terminal. Once upon a
time, when glass ttys were common and addressable cursors were
something special, what is now called a dumb terminal could pass for
a smart terminal.
dumbass attack
============== /duhm'as *-tak'/ [Purdue] n. Notional cause of a
novice's mistake made by the experienced, especially one made while
running as root under UNIX, e.g., typing `rm -r *' or
`mkfs' on a mounted file system. Compare adger.
dumbed down
=========== adj. Simplified, with a strong connotation of
*over*simplified. Often, a marketroid will insist that
the interfaces and documentation of software be dumbed down after
the designer has burned untold gallons of midnight oil making it
smart. This creates friction. See user-friendly.
dump
==== n. 1. An undigested and voluminous mass of information about
a problem or the state of a system, especially one routed to the
slowest available output device (compare core dump), and most
especially one consisting of hex or octal runes describing the
byte-by-byte state of memory, mass storage, or some file. In
elder days, debugging was generally done by `groveling over'
a dump (see grovel); increasing use of high-level languages
and interactive debuggers has made such tedium uncommon, and the
term `dump' now has a faintly archaic flavor. 2. A backup. This
usage is typical only at large timesharing installations.
dumpster diving
=============== /dump'-ster di:'-ving/ n. 1. The practice of
sifting refuse from an office or technical installation to extract
confidential data, especially security-compromising information
(`dumpster' is an Americanism for what is elsewhere called a
`skip'). Back in AT&T's monopoly days, before paper shredders
became common office equipment, phone phreaks (see phreaking)
used to organize regular dumpster runs against phone company plants
and offices. Discarded and damaged copies of AT&T internal manuals
taught them much. The technique is still rumored to be a favorite
of crackers operating against careless targets. 2. The practice of
raiding the dumpsters behind buildings where producers and/or
consumers of high-tech equipment are located, with the expectation
(usually justified) of finding discarded but still-valuable
equipment to be nursed back to health in some hacker's den.
Experienced dumpster-divers not infrequently accumulate basements
full of moldering (but still potentially useful) cruft.
dup killer
========== /d[y]oop kill'r/ [FidoNet] n. Software that is
supposed to detect and delete duplicates of a message that may
have reached the FidoNet system via different routes.
dup loop
======== /d[y]oop loop/ (also `dupe loop') [FidoNet] n. An
infinite stream of duplicated, near-identical messages on a FidoNet
echo, the only difference being unique or mangled identification
information applied by a faulty or incorrectly configured system or
network gateway, thus rendering dup killers ineffective. If
such a duplicate message eventually reaches a system through which
it has already passed (with the original identification
information), all systems passed on the way back to that system are
said to be involved in a dup loop.
dusty deck
========== n. Old software (especially applications) which one is
obliged to remain compatible with, or to maintain (DP types
call this `legacy code', a term hackers consider smarmy and
excessively reverent). The term implies that the software in
question is a holdover from card-punch days. Used esp. when
referring to old scientific and number-crunching software,
much of which was written in FORTRAN and very poorly documented but
is believed to be too expensive to replace. See fossil;
compare crawling horror.
DWIM
==== /dwim/ [acronym, `Do What I Mean'] 1. adj. Able to guess,
sometimes even correctly, the result intended when bogus input was
provided. 2. n.,obs. The BBNLISP/INTERLISP function that attempted
to accomplish this feat by correcting many of the more common
errors. See hairy. 3. Occasionally, an interjection hurled
at a balky computer, esp. when one senses one might be tripping
over legalisms (see legalese).

Warren Teitelman originally wrote DWIM to fix his typos and
spelling errors, so it was somewhat idiosyncratic to his style, and
would often make hash of anyone else's typos if they were
stylistically different. Some victims of DWIM thus claimed that
the acronym stood for `Damn Warren's Infernal Machine!'.

In one notorious incident, Warren added a DWIM feature to the
command interpreter used at Xerox PARC. One day another hacker
there typed `delete *$' to free up some disk space. (The
editor there named backup files by appending `$' to the
original file name, so he was trying to delete any backup files
left over from old editing sessions.) It happened that there
weren't any editor backup files, so DWIM helpfully reported
`*$ not found, assuming you meant 'delete *'.' It then started
to delete all the files on the disk! The hacker managed to stop it
with a Vulcan nerve pinch after only a half dozen or so files
were lost.

The disgruntled victim later said he had been sorely tempted to go
to Warren's office, tie Warren down in his chair in front of his
workstation, and then type `delete *$' twice.

DWIM is often suggested in jest as a desired feature for a complex
program; it is also occasionally described as the single
instruction the ideal computer would have. Back when proofs of
program correctness were in vogue, there were also jokes about
`DWIMC' (Do What I Mean, Correctly). A related term, more often
seen as a verb, is DTRT (Do The Right Thing); see [Right
Thing}.

dynner
====== /din'r/ 32 bits, by analogy with nybble and
"byte". Usage: rare and extremely silly. See also playte,
tayste, crumb.