Node:D. C. Power Lab, Next:, 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.


Node:daemon, Next:, 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:, 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:, 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 cross-posted OS/2-versus-Linux debate was fed through Dissociated Press.


Node:dancing frog, Next:, 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:, 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:, 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:, 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:, 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 accidents such as a core meltdown. See cretin, fool, loser and weasel.


Node:Dave the Resurrector, Next:, 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:, Previous:Dave the Resurrector, Up:= D =

day mode n.

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


Node:dd, Next:, 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:, 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:, 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:, 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:, 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:, 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:, 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:dead-tree version, Next:, Previous:dead link, Up:= D =

dead-tree version

[common] A paper version of an on-line document; one printed on dead trees. In this context, "dead trees" always refers to paper. See also tree-killer.


Node:DEADBEEF, Next:, Previous:dead-tree version, Up:= D =

DEADBEEF /ded-beef/ n.

The hexadecimal word-fill pattern for freshly allocated memory 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:, 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:, 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:, 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:, 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. [They were right --ESR]


Node:Death Star, Next:, 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:, 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:, 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:, 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:, 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:, 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:, Previous:DED, Up:= D =

deep hack mode n.

See hack mode.


Node:deep magic, Next:, 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:, Previous:deep magic, Up:= D =

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.


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

defenestration n.

[mythically from a traditional Czech assasination method, 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).


Node:defined as, Next:, Previous:defenestration, Up:= D =

defined as adj.

In the role of, usually in an organization-chart sense. "Pete is currently defined as bug prioritizer." Compare logical.


Node:deflicted, Next:, Previous:defined as, Up:= D =

deflicted

[portmanteau of "defective" and "afflicted"; common among PC repair technicians, and probably originated among hardware techs outside the hacker community proper] Term used of hardware that is broken due to poor design or shoddy manufacturing or (especially) both; less frequently used of software and rarely of people. This term is normally employed in a tone of weary contempt by technicians who have seen the specific failure in the trouble report before and are cynically confident they'll see it again.


Node:dehose, Next:, Previous:deflicted, Up:= D =

dehose /dee-hohz/ vt.

To clear a hosed condition.


Node:deletia, Next:, Previous:dehose, Up:= D =

deletia n. /d*-lee'sha/

[USENET; common] In an email reply, material omitted from the quote of the original. Usually written rather than spoken; often appears as a pseudo-tag or ellipsis in the body of the reply, as "[deletia]" or "<deletia>" or <snip>".


Node:deliminator, Next:, Previous:deletia, Up:= D =

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.


Node:delint, Next:, Previous:deliminator, Up:= D =

delint /dee-lint/ v. obs.

To modify code to remove problems detected when linting. 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.


Node:delta, Next:, Previous:delint, Up:= D =

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


Node:demented, Next:, Previous:delta, Up:= D =

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.


Node:demigod, Next:, Previous:demented, Up:= D =

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 (inventor of EMACS), Larry Wall (inventor of Perl), Linus Torvalds (inventor of Linux), and most recently James Gosling (inventor of Java, NeWS, and GOSMACS) and Guido van Rossum (inventor of Python). 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.


Node:demo, Next:, Previous:demigod, Up:= D =

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 demoeffects (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.


Node:demo mode, Next:, Previous:demo, Up:= D =

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 apps have a demo mode they use as a screen saver, or may go through a demo mode on startup (for example, the Microsoft Windows opening screen -- which lets you impress your neighbors without actually having to put up with Microsloth Windows).


Node:demoeffect, Next:, Previous:demo mode, Up:= D =

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


Node:demogroup, Next:, Previous:demoeffect, Up:= D =

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), sysops, 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]


Node:demon, Next:, Previous:demogroup, Up:= D =

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.


Node:demon dialer, Next:, Previous:demon, Up:= D =

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 phreakers; see war dialer for its contemporary progeny.


Node:demoparty, Next:, Previous:demon dialer, Up:= D =

demoparty n.

[demoscene] Aboveground descendant of the copyparty, with emphasis shifted away from software piracy and towards compos. 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.


Node:demoscene, Next:, Previous:demoparty, Up:= D =

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 in the beginning, usually containing colorful display hacks with greetings to other cracking groups. The demoscene was born among people who decided building these display hacks is more interesting than hacking - or anyway safer. Around 1990 there began to be very serious police pressure on cracking groups, including raids with SWAT teams crashing into bedrooms to confiscate computers. Whether in response to this or for esthetic reasons, crackers of that period began to build self-contained display hacks of considerable elaboration and beauty (within the culture such a hack is called a demo). As more of these demogroups emerged, they started to have compos 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 demosceners frown at this, but the majority think it's a good direction. Many demosceners 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/.


Node:dentro, Next:, Previous:demoscene, Up:= D =

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-purpose coinages like wedtro (some member of a group got married), invtro (invitation intro) etc. have also been sighted.


Node:depeditate, Next:, Previous:dentro, Up:= D =

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.


Node:deprecated, Next:, Previous:depeditate, Up:= D =

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.

[Usage note: don't confuse this word with `depreciate', or the verb form `deprecate' with `depreciated`. They are different words; see any dictionary for discussion.]


Node:derf, Next:, Previous:deprecated, Up:= D =

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. Compare baggy pantsing.


Node:deserves to lose, Next:, Previous:derf, Up:= D =

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.


Node:desk check, Next:, Previous:deserves to lose, Up:= D =

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.


Node:despew, Next:, Previous:desk check, Up:= D =

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.


Node:Devil Book, Next:, Previous:despew, Up:= D =

Devil Book n.

See daemon book, the term preferred by its authors.


Node:dickless workstation, Next:, Previous:Devil Book, Up:= D =

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.


Node:dictionary flame, Next:, Previous:dickless workstation, Up:= D =

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.


Node:diddle, Next:, Previous:dictionary flame, Up:= D =

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.


Node:die, Next:, Previous:diddle, Up:= D =

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.


Node:die horribly, Next:, Previous:die, Up:= D =

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


Node:diff, Next:, Previous:die horribly, Up:= D =

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.


Node:dike, Next:, Previous:diff, Up:= D =

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; it also refers 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.


Node:Dilbert, Next:, Previous:dike, Up:= D =

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.


Node:ding, Next:, Previous:Dilbert, Up:= D =

ding n.,vi.

1. Synonym for feep. Usage: rare among hackers, but more common 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."


Node:dink, Next:, Previous:ding, Up:= D =

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.


Node:dinosaur, Next:, Previous:dink, Up:= D =

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.


Node:dinosaur pen, Next:, Previous:dinosaur, Up:= D =

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.


Node:dinosaurs mating, Next:, Previous:dinosaur pen, Up:= D =

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 Dwarfs': 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 (but spat it back out a few years later). Control Data still exists but is no longer in the mainframe business. More such earth-shaking unions of doomed giants seem inevitable.


Node:dirtball, Next:, Previous:dinosaurs mating, Up:= D =

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]


Node:dirty power, Next:, Previous:dirtball, Up:= D =

dirty power n.

Electrical mains voltage that is unfriendly to the delicate innards of computers. Spikes, drop-outs, average voltage significantly higher or lower than nominal, or just plain noise can all cause problems of varying subtlety and severity (these are collectively known as power hits).


Node:disclaimer, Next:, Previous:dirty power, Up:= D =

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.


Node:Discordianism, Next:, Previous:disclaimer, Up:= D =

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.


Node:disemvowel, Next:, Previous:Discordianism, Up:= D =

disemvowel v.

[USENET: play on `disembowel'] Less common synonym for splat out.


Node:disk farm, Next:, Previous:disemvowel, Up:= D =

disk farm n.

A large room or rooms filled with disk drives (esp. washing machines).


Node:display hack, Next:, Previous:disk farm, Up:= D =

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.


Node:dispress, Next:, Previous:display hack, Up:= D =

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


Node:Dissociated Press, Next:, Previous:dispress, Up:= D =

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.


Node:distribution, Next:, Previous:Dissociated Press, Up:= D =

distribution n.

1. A software source tree packaged for distribution; but see kit. Since about 1996 unqualified use of this term often implies `Linux distribution'. The short form distro is often used for this sense. 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.


Node:distro, Next:, Previous:distribution, Up:= D =

distro n.

Synonym for distribution, sense 1.


Node:disusered, Next:, Previous:distro, Up:= D =

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.


Node:DMZ, Next:, Previous:disusered, Up:= D =

DMZ

[common] Literally, De-Militarized Zone. Figuratively, the portion of a private network that is visible through the network's firewalls (see firewall machine). Coined in the late 1990s as jargon, this term is now borderline techspeak.


Node:do protocol, Next:, Previous:DMZ, Up:= D =

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.


Node:doc, Next:, Previous:do protocol, Up:= D =

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


Node:documentation, Next:, Previous:doc, Up:= D =

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.


Node:dodgy, Next:, Previous:documentation, Up:= D =

dodgy adj.

Syn. with flaky. Preferred outside the U.S.


Node:dogcow, Next:, Previous:dodgy, Up:= D =

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. See http://developer.apple.com/products/techsupport/dogcow/tn31.html.


Node:dogfood, Next:, Previous:dogcow, Up:= D =

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). The practice is normal in the Linux community and elsewhere, but the term `dogfood' is seldom used as open-source betas tend to be quite tasty and nourishing. 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.


Node:dogpile, Next:, Previous:dogfood, Up:= D =

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. It has been suggested that this derives from U.S. football slang for a tackle involving three or more people; among hackers, it seems at least as likely to derive from an `autobiographical' Bugs Bunny cartoon in which a gang of attacking canines actually yells "Dogpile on the rabbit!".


Node:dogwash, Next:, Previous:dogpile, Up:= D =

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.


Node:domainist, Next:, Previous:dogwash, Up:= D =

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 paths. These senses are now (1996) obsolete, as effectively all sites have converted.


Node:Don't do that then!, Next:, Previous:domainist, Up:= D =

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.

Here's a classic example of "Don't do that then!" from Neal Stephenson's "In The Beginning Was The Command Line". A friend of his built a network with a load of Macs and a few high-powered database servers. He found that from time to time the whole network would lock up for no apparent reason. The problem was eventually tracked down to MacOS's cooperative multitasking: when a user held down the mouse button for too long, the network stack wouldn't get a chance to run...


Node:dongle, Next:, Previous:Don't do that then!, Up:= D =

dongle /dong'gl/ n.

1. [now obs.] A security or copy protection device for proprietary software 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. By 1993, dongles would typically 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. These devices have become rare 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. 3. An adaptor cable mating a special edge-type connector on a PCMCIA or on-board Ethernet card to a standard RJ45 Ethernet jack. This usage seems to have surfaced in 1999 and is now dominant. Laptop owners curse these things because they're notoriously easy to lose and the vendors commonly charge extortionate prices for replacements.

[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]


Node:dongle-disk, Next:, Previous:dongle, Up:= D =

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.


Node:donuts, Next:, Previous:dongle-disk, Up:= D =

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.


Node:doorstop, Next:, Previous:donuts, Up:= D =

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.


Node:DoS attack, Next:, Previous:doorstop, Up:= D =

DoS attack //

[Usenet,common; note that it's unrelated to `DOS' as name of an operating system] Abbreviation for Denial-Of-Service attack. This abbreviation is most often used of attempts to shut down newsgroups with floods of spam, or to flood network links with large amounts of traffic, or to flood network links with large amounts of traffic, often by abusing network broadcast addresses. Compare slashdot effect.


Node:dot file, Next:, Previous:DoS attack, Up:= D =

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.


Node:double bucky, Next:, Previous:dot file, Up:= D =

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.


Node:doubled sig, Next:, Previous:double bucky, Up:= D =

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.


Node:down, Next:, Previous:doubled sig, Up:= D =

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.


Node:download, Next:, Previous:down, Up:= D =

download vt.

To transfer data or (esp.) code from a far-away system (especially a larger `host' system) over a digital communications link to a nearby system (especially a smaller `client' system. Oppose upload.

Historical use of these terms was at one time associated with transfers from large timesharing machines to PCs or peripherals (download) and vice-versa (upload). The modern usage relative to the speaker (rather than as an indicator of the size and role of the machines) evolved as machine categories lost most of their former functional importance.


Node:DP, Next:, Previous:download, Up:= D =

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.


Node:DPer, Next:, Previous:DP, Up:= D =

DPer /dee-pee-er/ n.

Data Processor. Hackers are absolutely amazed that suits use this term self-referentially. Computers process data, not people! See DP.


Node:Dr. Fred Mbogo, Next:, Previous:DPer, Up:= D =

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. Interestingly enough, it turns out that under the rules for Swahili noun classes, `m-' is the characteristic prefix of "nouns referring to human beings". As such, "mbogo" is quite plausible as a Swahili coinage for a person having the nature of a bogon. Actually, "mbogo" is indeed a Ki-Swahili word referring to the African Cape Buffalo, Syncerus caffer. It is one of the "big five" dangerous African game animals, and many people with bush experience believe it to be the most dangerous of them. Compare Bloggs Family and J. Random Hacker; see also Fred Foobar and fred.


Node:dragon, Next:, Previous:Dr. Fred Mbogo, Up:= D =

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


Node:Dragon Book, Next:, Previous:dragon, Up:= D =

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.


Node:drain, Next:, Previous:Dragon Book, Up:= D =

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.


Node:dread high-bit disease, Next:, Previous:drain, Up:= D =

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.


Node:Dread Questionmark Disease, Next:, Previous:dread high-bit disease, Up:= D =

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


Node:DRECNET, Next:, Previous:Dread Questionmark Disease, Up:= D =

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.


Node:driver, Next:, Previous:DRECNET, Up:= D =

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.


Node:droid, Next:, Previous:driver, Up:= D =

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


Node:drone, Next:, Previous:droid, Up:= D =

drone n.

Ignorant sales or customer service personnel in computer or electronics superstores. Characterized by a lack of even superficial knowledge about the products they sell, yet possessed of the conviction that they are more competent than their hacker customers. Usage: "That video board probably sucks, it was recommended by a drone at Fry's" In the year 2000, their natural habitats include Fry's Electronics, Best Buy, and CompUSA.


Node:drool-proof paper, Next:, Previous:drone, Up:= D =

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." The SGI Indy manual included the line "[Do not] dangle the mouse by the cord or throw it at coworkers."


Node:drop on the floor, Next:, Previous:drool-proof paper, Up:= D =

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.


Node:drop-ins, Next:, Previous:drop on the floor, Up:= D =

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.


Node:drop-outs, Next:, Previous:drop-ins, Up:= D =

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.


Node:drugged, Next:, Previous:drop-outs, Up:= D =

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.


Node:drum, Next:, Previous:drugged, Up:= D =

drum adj, n.

Ancient techspeak term referring to slow, cylindrical magnetic media that were once state-of-the-art storage devices. Under some versions of BSD Unix the disk partition used for swapping is still called /dev/drum; this has led to considerable humor and not a few straight-faced but utterly bogus `explanations' getting foisted on newbies. See also "The Story of Mel" in Appendix A.


Node:drunk mouse syndrome, Next:, Previous:drum, Up:= D =

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.


Node:DSW, Next:, Previous:drunk mouse syndrome, Up:= D =

DSW n.

[alt.(sysadmin|tech-support).recovery; abbrev. for `Dick Size War'] A contest between two or more people boasting about who has the faster machine, keys on (either physical or cryptographic) keyring, greyer hair, or almost anything. Salvos in a DSW are typicaly humorous and playful, often self-mocking.


Node:dub dub dub, Next:, Previous:DSW, Up:= D =

dub dub dub

[common] Spoken-only shorthand for the "www" (double-u double-u double-u) in many web host names. Nothing to do with the style of reggae music called `dub'.


Node:Duff's device, Next:, Previous:dub dub dub, Up:= D =

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 actually be removed -- GLS]


Node:dumb terminal, Next:, Previous:Duff's device, Up:= D =

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.


Node:dumbass attack, Next:, Previous:dumb terminal, Up:= D =

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.


Node:dumbed down, Next:, Previous:dumbass attack, Up:= D =

dumbed down adj.

Simplified, with a strong connotation of oversimplified. 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.


Node:dump, Next:, Previous:dumbed down, Up:= D =

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.


Node:dumpster diving, Next:, Previous:dump, Up:= D =

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.


Node:dup killer, Next:, Previous:dumpster diving, Up:= D =

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.


Node:dup loop, Next:, Previous:dup killer, Up:= D =

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 killers ineffective. If such a duplicate message eventually reaches a system through which it has already passed (with the original identification information), all systems passed on the way back to that system are said to be involved in a dup loop.


Node:dusty deck, Next:, Previous:dup loop, Up:= D =

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.


Node:DWIM, Next:, Previous:dusty deck, Up:= D =

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.


Node:dynner, Next:, Previous:DWIM, Up:= D =

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.