The Jargon File, Version 4.2.2, 20 Aug 2000

Chapter 18

Chapter 183,768 wordsPublic domain

cycle drought n.

A scarcity of cycles. It may be due to a cycle crunch, but it could also occur because part of the computer is temporarily not working, leaving fewer cycles to go around. "The high moby is down, so we're running with only half the usual amount of memory. There will be a cycle drought until it's fixed."

Node:cycle of reincarnation, Next:cycle server, Previous:cycle drought, Up:= C =

cycle of reincarnation n.

See wheel of reincarnation.

Node:cycle server, Next:cypherpunk, Previous:cycle of reincarnation, Up:= C =

cycle server n.

A powerful machine that exists primarily for running large compute-, disk-, or memory-intensive jobs (more formally called a `compute server'). Implies that interactive tasks such as editing are done on other machines on the network, such as workstations.

Node:cypherpunk, Next:C|N>K, Previous:cycle server, Up:= C =

cypherpunk n.

[from cyberpunk] Someone interested in the uses of encryption via electronic ciphers for enhancing personal privacy and guarding against tyranny by centralized, authoritarian power structures, especially government. There is an active cypherpunks mailing list at [email protected] coordinating work on public-key encryption freeware, privacy, and digital cash. See also tentacle.

Node:C|N>K, Next:D. C. Power Lab, Previous:cypherpunk, Up:= C =

C|N>K n.

[Usenet] Coffee through Nose to Keyboard; that is, "I laughed so hard I snarfed my coffee onto my keyboard.". Common on _alt.fan.pratchett_ and scary devil monastery; recognized elsewhere. The Acronymphomania FAQ on _alt.fan.pratchett_ recognizes variants such as T|N>K = `Tea through Nose to Keyboard' and C|N>S = `Coffee through Nose to Screen'.

Node:= D =, Next:= E =, Previous:= C =, Up:The Jargon Lexicon

= D =

D. C. Power Lab:

daemon:

daemon book:

dahmum:

dancing frog:

dangling pointer:

dark-side hacker:

Datamation:

DAU:

Dave the Resurrector:

day mode:

dd:

DDT:

de-rezz:

dead:

dead beef attack:

dead code:

dead link:

DEADBEEF:

deadlock:

deadly embrace:

death code:

Death Square:

Death Star:

DEC:

DEC:

DEC Wars:

decay:

deckle:

DED:

deep hack mode:

deep magic:

deep space:

defenestration:

defined as:

dehose:

deletia:

deliminator:

delint:

delta:

demented:

demigod:

demo:

demo mode:

demoeffect:

demogroup:

demon:

demon dialer:

demoparty:

demoscene:

dentro:

depeditate:

deprecated:

derf:

deserves to lose:

desk check:

despew:

Devil Book:

/dev/null:

dickless workstation:

dictionary flame:

diddle:

die:

die horribly:

diff:

digit:

dike:

Dilbert:

ding:

dink:

dinosaur:

dinosaur pen:

dinosaurs mating:

dirtball:

dirty power:

disclaimer:

Discordianism:

disk farm:

display hack:

dispress:

Dissociated Press:

distribution:

distro:

disusered:

do protocol:

doc:

documentation:

dodgy:

dogcow:

dogfood:

dogpile:

dogwash:

domainist:

Don't do that then!:

dongle:

dongle-disk:

donuts:

doorstop:

DoS attack:

dot file:

double bucky:

doubled sig:

down:

download:

DP:

DPB:

DPer:

Dr. Fred Mbogo:

dragon:

Dragon Book:

drain:

dread high-bit disease:

Dread Questionmark Disease:

DRECNET:

driver:

droid:

drone:

drool-proof paper:

drop on the floor:

drop-ins:

drop-outs:

drugged:

drum:

drunk mouse syndrome:

dub dub dub:

Duff's device:

dumb terminal:

dumbass attack:

dumbed down:

dump:

dumpster diving:

dup killer:

dup loop:

dusty deck:

DWIM:

dynner:

Node:D. C. Power Lab, Next:daemon, Previous:C|N>K, Up:= 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.

Node:daemon, Next:daemon book, Previous:D. C. Power Lab, Up:= D =

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; the prototype was a program called DAEMON that automatically made tape backups of the file system. Although the meaning and the pronunciation have drifted, we think this glossary reflects current (2000) usage.

Node:daemon book, Next:dahmum, Previous:daemon, Up:= D =

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.

Node:dahmum, Next:dancing frog, Previous:daemon book, Up:= D =

dahmum /dah'mum/ n.

[Usenet] The material of which protracted flame wars, 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.

Node:dancing frog, Next:dangling pointer, Previous:dahmum, Up:= D =

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

Node:dangling pointer, Next:dark-side hacker, Previous:dancing frog, Up:= D =

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.

Node:dark-side hacker, Next:Datamation, Previous:dangling pointer, Up:= D =

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.

Node:Datamation, Next:DAU, Previous:dark-side hacker, Up:= D =

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?'" (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).

Node:DAU, Next:Dave the Resurrector, Previous:Datamation, Up:= D =

DAU /dow/ n.

[German FidoNet] German acronym for Dümmster Anzunehmender User (stupidest imaginable user). From the engineering-slang GAU for Grö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.

Node:Dave the Resurrector, Next:day mode, Previous:DAU, Up:= D =

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.

Node:day mode, Next:dd, Previous:Dave the Resurrector, Up:= D =

day mode n.

See phase (sense 1). Used of people only.

Node:dd, Next:DDT, Previous:day mode, Up:= D =

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

Node:DDT, Next:de-rezz, Previous:dd, Up:= D =

DDT /D-D-T/ n.

[from the insecticide para-dichloro-diphenyl-trichloroethene] 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 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).

Node:de-rezz, Next:dead, Previous:DDT, Up:= D =

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.

Node:dead, Next:dead beef attack, Previous:de-rezz, Up:= D =

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. 3. Useless; inaccessible. Antonym: `live'. Compare dead code.

Node:dead beef attack, Next:dead code, Previous:dead, Up:= D =

dead beef attack n.

[cypherpunks list, 1996] An attack on a public-key cryptosystem consisting of publishing a key having the same ID as another key (thus making it possible to spoof a user's identity if recipients aren't careful about verifying keys). In PGP and GPG the key ID is the last eight hex digits of (for RSA keys) the product of two primes. The attack was demonstrated by creating a key whose ID was 0xdeadbeef (see DEADBEEF).

Node:dead code, Next:dead link, Previous:dead beef attack, Up:= D =

dead code n.

Routines that can never be accessed because all calls to them have been removed, or code that cannot be reached because it is guarded by a control structure that provably must always transfer control somewhere else. The presence of dead code may reveal either logical errors due to alterations in the program or significant changes in the assumptions and environment of the program (see also 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.

Node:dead link, Next:DEADBEEF, Previous:dead code, Up:= D =

dead link n.

[very common] A World-Wide-Web URL that no longer points to the information it was written to reach. Usually this happens because the document has been moved or deleted. Lots of dead links make a WWW page frustrating and useless and are the #1 sign of poor page maintainance. Compare dangling pointer, link rot.

Node:DEADBEEF, Next:deadlock, Previous:dead link, Up:= D =

DEADBEEF /ded-beef/ n.

The hexadecimal word-fill pattern for freshly allocated memory (decimal -21524111) under a number of IBM environments, including the RS/6000. Some modern debugging tools deliberately fill freed memory with this value as a way of converting heisenbugs into Bohr bugs. As in "Your program is DEADBEEF" (meaning gone, aborted, flushed from memory); if you start from an odd half-word boundary, of course, you have BEEFDEAD. See also the anecdote under fool and dead beef attack.

Node:deadlock, Next:deadly embrace, Previous:DEADBEEF, Up:= D =

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.

Node:deadly embrace, Next:death code, Previous:deadlock, Up:= D =

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.

Node:death code, Next:Death Square, Previous:deadly embrace, Up:= D =

death code n.

A routine whose job is to set everything in the computer -- registers, memory, flags, everything -- to zero, including that portion of memory where it is running; its last act is to stomp on its own "store zero" instruction. Death code isn't very useful, but writing it is an interesting hacking challenge on architectures where the instruction set makes it possible, such as the PDP-8 (it has also been done on the DG Nova).

Perhaps the ultimate death code is on the TI 990 series, where all registers are actually in RAM, and the instruction "store immediate 0" has the opcode "0". The PC will immediately wrap around core as many times as it can until a user hits HALT. Any empty memory location is death code. Worse, the manufacturer recommended use of this instruction in startup code (which would be in ROM and therefore survive).

Node:Death Square, Next:Death Star, Previous:death code, Up:= D =

Death Square n.

The corporate logo of Novell, the people who acquired USL after AT&T let go of it (Novell eventually sold the Unix group to SCO). Coined by analogy with Death Star, because many people believed Novell was bungling the lead in Unix systems exactly as AT&T did for many years.

Node:Death Star, Next:DEC, Previous:Death Square, Up:= D =

Death Star n.

[from the movie "Star Wars"] 1. The AT&T corporate logo, which appears on computers sold by AT&T and bears an uncanny resemblance to the Death Star in the movie. This usage is particularly common among partisans of BSD Unix, who tend to regard the AT&T versions as inferior and AT&T as a bad guy. Copies still circulate of a poster printed by Mt. Xinu showing a starscape with a space fighter labeled 4.2 BSD streaking away from a broken AT&T logo wreathed in flames. 2. AT&T's internal magazine, "Focus", uses `death star' to describe an incorrectly done AT&T logo in which the inner circle in the top left is dark instead of light -- a frequent result of dark-on-light logo images.

Node:DEC, Next:DEC Wars, Previous:Death Star, Up:= D =

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.

Node:DEC Wars, Next:decay, Previous:DEC, Up:= D =

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.

Node:decay, Next:deckle, Previous:DEC Wars, Up:= D =

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.

Node:deckle, Next:DED, Previous:decay, Up:= D =

deckle /dek'l/ n.

[from dec- and nybble; the original spelling seems to have been `decle'] 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. See nybble for other such terms.

Node:DED, Next:deep hack mode, Previous:deckle, Up:= D =

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").

Node:deep hack mode, Next:deep magic, Previous:DED, Up:= D =

deep hack mode n.

See hack mode.

Node:deep magic, Next:deep space, Previous:deep hack mode, Up:= D =

deep magic n.

[poss. from C. S. Lewis's "Narnia" books] An awesomely arcane technique central to a program or system, esp. one neither generally published nor available to hackers at large (compare 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.

Node:deep space, Next:defenestration, Previous:deep magic, Up:= D =

deep space n.