= D =
=====

   :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/ n.  [from the mythological    meaning,
later rationalized as the acronym `Disk And Execution    MONitor'] 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 (1999) usage.

   :daemon 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); or    "The Design and
Implementation of the 4.4 BSD Operating    System" by Marshall Kirk
McKusick, Keith Bostic, Michael J. Karels    and John S. Quarterman
(Addison-Wesley Longman, 1996, SBN    0-201-54979-4) Either of the
standard reference books on the    internals of {BSD} Unix.  So called
because the covers have 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).
  Also known as the {Devil Book}.

   :dahmum: /dah'mum/ n.  [Usenet] The material of which    protracted
{flame war}s, especially those about operating    systems, is composed.
Homeomorphic to {spam}.  The term    `dahmum' is derived from the name
of a militant {OS/2}    advocate, and originated when an extensively
crossposted    OS/2-versus-{Linux} debate was fed through {Dissociated
 Press}.

   :dancing frog: n.  [Vancouver area] A problem that occurs    on a
computer that will not reappear while anyone else is watching.     From
the classic Warner Brothers cartoon "One Froggy    Evening", featuring
a dancing and singing Michigan J. Frog that    just croaks when anyone
else is around (now the WB network    mascot).

   :dangling pointer: n.  [common] 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.  Compare    {dead link}.

   :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 {suit}s read.  Used to question an unbelieved    quote, as
in "Did you read that in `Datamation?'" (But see    below; this slur
may be dated by the time you read this.) 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 for    a long time after that it was
much more exclusively    {suit}-oriented and boring.  Following a
change of editorship in    1994, Datamation is trying for more of the
technical content and    irreverent humor that marked its early days.

   Datamation now has a WWW page at `http://www.datamation.com'
worth visiting for its selection of computer humor, including    "Real
Programmers Don't Use Pascal" and the `Bastard Operator    From Hell'
stories by Simon Travaglia (see {BOFH}).

   :DAU: /dow/ [German FidoNet] n.  German acronym for    Du"mmster
Anzunehmender User (stupidest imaginable user).     From the
engineering-slang GAU for Gro"sster Anzunehmender    Unfall, worst
assumable 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}.

   :Dave the Resurrector: n.  [Usenet; also abbreviated DtR]    A
{cancelbot} that cancels cancels.  Dave the Resurrector    originated
when some {spam}-spewers decided to try to impede    spam-fighting by
wholesale cancellation of anti-spam coordination    messages in the
news.admin.net-abuse.usenet    newsgroup.

   :day mode: n.  See {phase} (sense 1).  Used of people only.

   :dd: /dee-dee/ vt.  [Unix: from IBM {JCL}] 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, a six-letterism for
`Hack Translator') 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 and CP/M.
The 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 {suit}s 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}; {crash}ed.     Especially
used of hardware.  2. At XEROX PARC, software that is    working but
not undergoing continued development and support.     3. Useless;
inaccessible.  Antonym: `live'.  Compare {dead    code}.

   :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}.  See also {dead}, and    {The Story of Mel}.

   :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 {dangling    pointer}, {link
rot}.

   :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 {heisenbug}s into {Bohr bug}s.  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 {fool}.

   :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 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 {Death Star},    because
many people believed Novell was bungling the lead in Unix    systems
exactly as AT&T did for many years.

   :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 {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:: /dek/ n.  1. 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}.  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 {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.  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 {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.

   :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
(http://www.tuxedo.org/~esr/writings/unixwars.hmtl);    the two are
often confused.

   :decay: n.,vi  [from nuclear physics] 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.

   :deckle: /dek'l/ n.  [from dec- and {nybble}; the original
spelling seems to have been `decle'] Two {nickle}s; 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 {nybble} for other such terms.

   :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 {AFJ}s (suggested uses included "as a power-off    indicator").

   :deep hack mode: n.  See {hack mode}.

   :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 {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: n.  [from the traditional Czechoslovakian    method
of assassinating prime ministers, via SF fandom] 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.
Under a GUI, the act of dragging something out of a window    (onto the
screen). "Next, defenestrate the MugWump icon."     5. The act of
completely removing Micro$oft Windows from a PC in    favor of a better
OS (typically Linux).

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

   :deliminator: /de-lim'-in-ay-t*r/ n.  [portmanteau,    delimiter +
eliminate]  A string or pattern used to delimit text into    fields,
but which is itself eliminated from the resulting list of    fields.
This jargon seems to have originated among Perl hackers in
connection with the Perl split() function; however, it has been
sighted in live use among Java and even Visual Basic programmers.

   :delint: /dee-lint/ v. obs.  To modify code to remove    problems
detected when {lint}ing.  Confusingly, this process is    also referred
to as `linting' code.  This term is no longer in    general use because
ANSI C compilers typically issue compile-time    warnings almost as
detailed as lint warnings.

   :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
malfunctioning 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}, {brain-damaged},    {bozotic}.

   :demigod: n.  A hacker with years of experience, a    world-wide
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}), Richard    M. Stallman, Larry Wall
(inventor of {Perl}) (inventor of    {EMACS}), Linus Torvalds (inventor
of Linux), and most recently    James Gosling (inventor of Java).  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.  4.
[{demoscene}] A sequence of    {demoeffect}s (usually) combined with
self-composed music and    hand-drawn ("pixelated") graphics. These
days (1997) usually    built to attend a {compo}. Often called
`eurodemos' outside    Europe, as most of the {demoscene} activity
seems to have gathered    in northern Europe and especially
Scandinavia.  See also    {intro}, {dentro}.

   :demo mode: n.  1. [Sun] 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
{app}s 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}).

   :demoeffect: n.  [{demoscene}] What among hackers is    called a
{display hack}. Classical effects include "plasma"    (colorful mess),
"keftales" (x*x+y*y and other similar    patterns, usually combined
with color-cycling), realtime fractals,    realtime 3d graphics, etc.
Historically, demo effects have cheated    as much as possible to gain
more speed and more complexity, using    low-precision math and masses
of assembler code and building    animation realtime are three common
tricks, but use of special    hardware to fake effects is a {Good
Thing} on the demoscene    (though this is becoming less common as
platforms like the Amiga    fade away).

   :demogroup: n.  [{demoscene}] A group of {demo}    (sense 4)
composers.  Job titles within a group include coders (the    ones who
write programs), graphicians (the ones who painstakingly    pixelate
the fine art), musicians (the music composers),    {sysop}s,
traders/swappers (the ones who do the trading and    other PR), and
organizers (in larger groups).  It is not uncommon    for one person to
do multiple jobs, but it has been observed that    good coders are
rarely good composers and vice versa. [How odd.     Musical talent
seems common among Internet/Unix hackers --ESR]

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

   :demon dialer: n.  A program which repeatedly calls the same
telephone number.  Demon dialing may be benign (as when a number of
communications programs contend for legitimate access to a {BBS}
line) or malign (that is, used as a prank or denial-of-service
attack).  This term dates from the {blue box} days of the 1970s    and
early 1980s and is now semi-obsolescent among {phreaker}s;    see {war
dialer} for its contemporary progeny.

   :demoparty: n.  [{demoscene}] Aboveground descendant of    the
{copyparty}, with emphasis shifted away from software piracy    and
towards {compo}s. Smaller demoparties, for 100 persons or    less, are
held quite often, sometimes even once a month, and    usually last for
one to two days. On the other end of the scale,    huge demo parties
are held once a year (and four of these have    grown very large and
occur annually - Assembly in Finland, The    Party in Denmark, The
Gathering in Norway, and NAID somewhere in    north America). These
parties usually last for three to five days,    have room for 3000-5000
people, and have a party network with    connection to the internet.

   :demoscene: /dem'oh-seen/  [also `demo scene'] A culture of
multimedia hackers located primarily in Scandinavia and northern
Europe. Demoscene folklore recounts that when old-time {warez    d00dz}
cracked some piece of software they often added an    advertisement of
in the beginning, usually containing colorful    {display hack}s with
greetings to other cracking groups.  The    demoscene was born among
people who decided building these display    hacks is more interesting
than hacking and began to build    self-contained display hacks of
considerable elaboration and beauty    (within the culture such a hack
is called a {demo}).  The split    seems to have happened at the end of
the 1980s.  As more of these    {demogroup}s emerged, they started to
have {compo}s at    copying parties (see {copyparty}), which later
evolved to    standalone events (see {demoparty}).  The demoscene has
retained    some traits from the {warez d00dz}, including their style of
  handles and group names and some of their jargon.

   Traditionally demos were written in assembly language, with lots of
 smart tricks, self-modifying code, undocumented op-codes and the
like.  Some time around 1995, people started coding demos in C, and
a couple of years after that, they also started using Java.

   Ten years on (in 1998-1999), the demoscene is changing as its
original platforms (C64, Amiga, Spectrum, Atari ST, IBM PC under
DOS) die out and activity shifts towards Windows, Linux, and the
Internet.  While deeply underground in the past, demoscene is    trying
to get into the mainstream as accepted art form, and one    symptom of
this is the commercialization of bigger    demoparties. Older
demosceneers frown at this, but the majority think    it's a good
direction.  Many demosceneers end up working in the    computer game
industry.   Demoscene resource pages are available at
`http://www.oldskool.org/demos/explained/' and
`http://www.scene.org/'.

   :dentro: /den'troh/  [{demoscene}] Combination of    {demo} (sense
4) and {intro}. Other name mixings include    intmo, dentmo etc. and
are used usually when the authors are not    quite sure whether the
program is a {demo} or an {intro}.     Special purposes coinages like
wedtro (some member of a group got    married), invtro (invitation
intro) etc. have also been    sighted.

   :depeditate: /dee-ped'*-tayt/ n.  [by (faulty) analogy with
`decapitate'] 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}.

   :derf: /derf/ v.,n.  [PLATO] The act of exploiting a    terminal
which someone else has absentmindedly left logged on, to    use that
person's account, especially to post articles intended to    make an
ass of the victim you're impersonating.  It has been    alleged that
the term originated as a reversal of the name of the    gentleman who
most usually left himself vulnerable to it, who also    happened to be
the head of the department that handled PLATO at the    University of
Delaware.

   :deserves to lose: adj.  [common] 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'/ v.  [Usenet] To automatically generate    a
large amount of garbage to the net, esp. from an automated    posting
program gone wild.  See {ARMM}.

   :Devil Book: n.  See {daemon book}, the term preferred by    its
authors.

   :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: n.  [Usenet] 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.,obs.  An employee of Digital Equipment    Corporation.
See also {VAX}, {VMS}, {PDP-10},    {{TOPS-10}}, {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.

   :Dilbert:   n. Name and title character of a comic strip
nationally syndicated in the U.S. and enormously popular among
hackers.  Dilbert is an archetypical engineer-nerd who works at an
anonymous high-technology company; the strips present a lacerating
satire of insane working conditions and idiotic {management}
practices all too readily recognized by hackers.  Adams, who spent
nine years in {cube} 4S700R at Pacific Bell (not {DEC} as often
reported), often remarks that he has never been able to come up    with
a fictional management blunder that his correspondents didn't
quickly either report to have actually happened or top with a
similar but even more bizarre incident.  In 1996 Adams distilled    his
insights into the collective psychology of businesses into an    even
funnier book, "The Dilbert Principle" (HarperCollins,    ISBN
0-887-30787-6).  See also {pointy-haired}, {rat dance}.

   :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.
Control Data still exists but is no longer    in the mainframe
business.  More such earth-shaking unions    of doomed giants seem
inevitable.

   :dirtball: n.  [XEROX PARC] 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 hit}s).

   :disclaimer: n.  [Usenet] 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} in 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 machine}s).

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

   :dispress: vt.  [contraction of `Dissociated Press' due to
eight-character MS-DOS filenames] To apply the {Dissociated Press}
algorithm to a block of text. The resultant output is also referred to
 as a 'dispression'.

   :Dissociated Press: n.  [play on `Associated Press'; perhaps
inspired by a reference in the 1950 Bugs Bunny cartoon    "What's Up,
Doc?"] 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.
Compare {star out}.

   :do protocol: vi.  [from network protocol programming] 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).

   :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}.  The dogcow is a
semi-legendary creature that lurks in the depths of the Macintosh
Technical Notes Hypercard stack V3.1.  The full story of the dogcow
is told in technical note #31 (the particular dogcow illustrated is
properly named `Clarus').  Option-shift-click will cause it to emit
a characteristic `Moof!' or `!fooM' sound.  _Getting_ to tech    note
31 is the hard part; to discover how to do that, one must    needs
examine the stack script with a hackerly eye.  Clue:    {rot13} is
involved.  A dogcow also appears if you choose `Page    Setup...' with
a LaserWriter selected and click on the    `Options' button.  It also
lurks in other Mac printer drivers,    notably those for the
now-discontinued Style Writers.

   :dogfood: n.  [Microsoft, Netscape] Interim software used
internally for testing.  "To eat one's own dogfood" (from which    the
slang noun derives) means to use the software one is    developing, as
part of one's everyday development environment (the    phrase is used
outside Microsoft and Netscape, and the practice is    normal in the
Linux community and elsewhere).  The idea is that    developers who are
using their own software will quickly learn    what's missing or
broken.  Dogfood is typically not even of    {beta} quality.

   :dogpile: v.  [Usenet: prob. fr. mainstream "puppy pile"]    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. [Usenet, by pointed    analogy
with "sexist", "racist", etc.] Someone who judges    people by the
domain of their email addresses; esp. someone who    dismisses anyone
who posts from a public internet provider. "What    do you expect from
an article posted from aol.com?"  2. 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.

   The meaning of this term has drifted.  At one time sense 2 was
primary.  In elder days it was also used of a site, mailer, or
routing program which knew how to handle domainist addresses; or of
a person (esp. a site admin) who preferred domain addressing,
supported a domainist mailer, or proselytized for domainist
addressing and disdained {bang path}s.  These senses are now    (1996)
obsolete, as effectively all sites have converted.

   :Don't do that then!: imp.  [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}.

   :DoS attack: //  [Usenet] Abbreviation for Denial-Of-Service
attack.  This abbreviation is most often used of attempts to shut
down newsgroups with floods of {spam}.

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

   :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
{B1FF}, {pseudo}.

   :down:  1. adj. Not operating.  "The up escalator is down"    is
considered a humorous thing to say (unless of course you were
expecting to use it), 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
confined to techies (e.g. boiler mechanics may speak of a    boiler
being down).  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'/ vt.  [from the PDP-10 instruction set] 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 {suit}s use this term self-referentially.     _Computers_
process data, not people!  See {DP}.

   :Dr. Fred Mbogo: /*m-boh'goh, dok'tr fred/ n.     [Stanford] The
archetypal man you don't want to see about a    problem, esp. an
incompetent professional; a shyster.  "Do you    know a good eye
doctor?"  "Sure, try Mbogo Eye Care and    Professional Dry Cleaning."
The name comes from synergy between    {bogus} and the original Dr.
Mbogo, a witch doctor who was Gomez    Addams' physician on the old
"Addams Family" TV show.     Compare {Bloggs Family} and {J. Random
Hacker}; see also    {Fred Foobar} and {fred}.

   :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: v.  [IBM] 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 some
now-obsolete computers and peripherals (including ASR-33 teletypes
and PRIME minicomputers) that results in all characters having    their
high (0x80) bit forced on.  This of course makes transporting    files
to other systems much more difficult, not to mention the    problems
these machines have talking with true 8-bit devices.

   This term was originally used specifically of PRIME (a.k.a.  PR1ME)
 minicomputers.  Folklore has 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}.

   :Dread Questionmark Disease:  n. The result of saving HTML    from
Microsoft Word or some other program that uses the nonstandard
Microsoft variant of Latin-1; the symptom is that various of those
nonstandard characters in positions 128-160 show up as
questionmarks.  The usual culprit is the misnamed `smart quotes'
feature in Microsoft Word.  For more details (and a program called
`demoroniser' that cleans up the mess) see
`http://www.fourmilab.ch/webtools/demoroniser/'.

   :DRECNET: /drek'net/ n.  [from Yiddish/German `dreck',    meaning
filth] 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: n.  [from `android', SF terminology for a humanoid    robot
of essentially biological (as opposed to    mechanical/electronic)
construction] 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}.

   In England there is equivalent mainstream slang; a `jobsworth' is
an obstructive, rule-following bureaucrat, often of the uniformed    or
suited variety.  Named for the habit of denying a reasonable    request
by sucking his teeth and saying "Oh no, guv, sorry I can't    help you:
that's more than my job's worth".

   :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: n.  [prob. by analogy with {drop-outs}]    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.  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 {newbie}s.  See also "{The Story of    Mel}" in Appendix A.

   :drunk mouse syndrome: n.  (also `mouse on drugs') 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." Duff has discussed the device in detail at
`http://www.lysator.liu.se/c/duffs-device.html'.  Note    that the
omission of postfix `++' from `*to' was    intentional (though
confusing).  Duff's device can be used to    implement memory copy, but
the original aim was to copy values    serially into a magic IO
register.

   [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'/ n.  [Purdue] 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/ n.  [FidoNet] 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') n.  [FidoNet]    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    killer}s 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}).  4. Of a    person, someone whose
directions are incomprehensible and vague,    but who nevertheless has
the expectation that you will solve the    problem using the specific
method he/she has in mind.

   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/ n.  32 bits, by analogy with {nybble} and
{{byte}}.  Usage: rare and extremely silly.  See also {playte},
{tayste}, {crumb}.  General discussion of such terms is under
{nybble}.

