#======= THIS IS THE JARGON FILE, VERSION 4.0.0, 24 JUL 1996 =======# (continued 3)
Reading edition
:console jockey: /n./ See {terminal junkie}.
:content-free: /adj./ [by analogy with techspeak `context-free'] Used of a message that adds nothing to the recipient's knowledge. Though this adjective is sometimes applied to {flamage}, it more usually connotes derision for communication styles that exalt form over substance or are centered on concerns irrelevant to the subject ostensibly at hand. Perhaps most used with reference to speeches by company presidents and other professional manipulators. "Content-free? Uh… that's anything printed on glossy paper." (See also {four-color glossies}.) "He gave a talk on the implications of electronic networks for postmodernism and the fin-de-siecle aesthetic. It was content-free."
:control-C: /vi./ 1. "Stop whatever you are doing." From the interrupt character used on many operating systems to abort a running program. Considered silly. 2. /interj./ Among BSD Unix hackers, the canonical humorous response to "Give me a break!"
:control-O: /vi./ "Stop talking." From the character used on some operating systems to abort output but allow the program to keep on running. Generally means that you are not interested in hearing anything more from that person, at least on that topic; a standard response to someone who is flaming. Considered silly. Compare {control-S}.
:control-Q: /vi./ "Resume." From the ASCII DC1 or {XON} character (the pronunciation /X-on/ is therefore also used), used to undo a previous {control-S}.
:control-S: /vi./ "Stop talking for a second." From the ASCII DC3 or XOFF character (the pronunciation /X-of/ is therefore also used). Control-S differs from {control-O} in that the person is asked to stop talking (perhaps because you are on the phone) but will be allowed to continue when you're ready to listen to him — as opposed to control-O, which has more of the meaning of "Shut up." Considered silly.
:Conway's Law: /prov./ The rule that the organization of the software and the organization of the software team will be congruent; originally stated as "If you have four groups working on a compiler, you'll get a 4-pass compiler".
The law was named after Melvin Conway, an early proto-hacker who wrote an assembler for the Burroughs 220 called SAVE. (The name `SAVE' didn't stand for anything; it was just that you lost fewer card decks and listings because they all had SAVE written on them.)
There is also Tom Cheatham's amendment of Conway's Law: "If a group of N persons implements a COBOL compiler, there will be N-1 passes. Someone in the group has to be the manager."
:cookbook: /n./ [from amateur electronics and radio] A book of small code segments that the reader can use to do various {magic} things in programs. One current example is the "{{PostScript}} Language Tutorial and Cookbook" by Adobe Systems, Inc (Addison-Wesley, ISBN 0-201-10179-3), also known as the {Blue Book} which has recipes for things like wrapping text around arbitrary curves and making 3D fonts. Cookbooks, slavishly followed, can lead one into {voodoo programming}, but are useful for hackers trying to {monkey up} small programs in unknown languages. This function is analogous to the role of phrasebooks in human languages.
:cooked mode: /n./ [Unix, by opposition from {raw mode}] The normal character-input mode, with interrupts enabled and with erase, kill and other special-character interpretations performed directly by the tty driver. Oppose {raw mode}, {rare mode}. This term is techspeak under Unix but jargon elsewhere; other operating systems often have similar mode distinctions, and the raw/rare/cooked way of describing them has spread widely along with the C language and other Unix exports. Most generally, `cooked mode' may refer to any mode of a system that does extensive preprocessing before presenting data to a program.
:cookie: /n./ A handle, transaction ID, or other token of agreement between cooperating programs. "I give him a packet, he gives me back a cookie." The claim check you get from a dry-cleaning shop is a perfect mundane example of a cookie; the only thing it's useful for is to relate a later transaction to this one (so you get the same clothes back). Compare {magic cookie}; see also {fortune cookie}.
:cookie bear: /n. obs./ Original term, pre-Sesame-Street, for what is now universally called a {cookie monster}. A correspondent observes "In those days, hackers were actually getting their yucks from…sit down now…Andy Williams. Yes, *that* Andy Williams. Seems he had a rather hip (by the standards of the day) TV variety show. One of the best parts of the show was the recurring `cookie bear' sketch. In these sketches, a guy in a bear suit tried all sorts of tricks to get a cookie out of Williams. The sketches would always end with Williams shrieking (and I don't mean figuratively), `No cookies! Not now, not ever…NEVER!!!' And the bear would fall down. Great stuff."
:cookie file: /n./ A collection of {fortune cookie}s in a format that facilitates retrieval by a fortune program. There are several different cookie files in public distribution, and site admins often assemble their own from various sources including this lexicon.
:cookie jar: /n./ An area of memory set aside for storing {cookie}s. Most commonly heard in the Atari ST community; many useful ST programs record their presence by storing a distinctive {magic number} in the jar. Programs can inquire after the presence or otherwise of other programs by searching the contents of the jar.
:cookie monster: /n./ [from the children's TV program "Sesame Street"] Any of a family of early (1970s) hacks reported on {{TOPS-10}}, {{ITS}}, {{Multics}}, and elsewhere that would lock up either the victim's terminal (on a time-sharing machine) or the {{console}} (on a batch {mainframe}), repeatedly demanding "I WANT A COOKIE". The required responses ranged in complexity from "COOKIE" through "HAVE A COOKIE" and upward. Folklorist Jan Brunvand (see {FOAF}) has described these programs as urban legends (implying they probably never existed) but they existed, all right, in several different versions. See also {wabbit}. Interestingly, the term `cookie monster' appears to be a {retcon}; the original term was {cookie bear}.
:copious free time: /n./ [Apple; orig. fr. the intro to Tom Lehrer's song "It Makes A Fellow Proud To Be A Soldier"] 1. [used ironically to indicate the speaker's lack of the quantity in question] A mythical schedule slot for accomplishing tasks held to be unlikely or impossible. Sometimes used to indicate that the speaker is interested in accomplishing the task, but believes that the opportunity will not arise. "I'll implement the automatic layout stuff in my copious free time." 2. [Archly] Time reserved for bogus or otherwise idiotic tasks, such as implementation of {chrome}, or the stroking of {suit}s. "I'll get back to him on that feature in my copious free time."
:copper: /n./ Conventional electron-carrying network cable with a core conductor of copper — or aluminum! Opposed to {light pipe} or, say, a short-range microwave link.
:copy protection: /n./ A class of methods for preventing incompetent pirates from stealing software and legitimate customers from using it. Considered silly.
:copybroke: /kop'ee-brohk/ /adj./ 1. [play on `copyright'] Used to describe an instance of a copy-protected program that has been `broken'; that is, a copy with the copy-protection scheme disabled. Syn. {copywronged}. 2. Copy-protected software which is unusable because of some bit-rot or bug that has confused the anti-piracy check. See also {copy protection}.
:copyleft: /kop'ee-left/ /n./ [play on `copyright'] 1. The copyright notice (`General Public License') carried by {GNU} {EMACS} and other Free Software Foundation software, granting reuse and reproduction rights to all comers (but see also {General Public Virus}). 2. By extension, any copyright notice intended to achieve similar aims.
:copywronged: /kop'ee-rongd/ /adj./ [play on `copyright'] Syn. for {copybroke}.
:core: /n./ Main storage or RAM. Dates from the days of ferrite-core memory; now archaic as techspeak most places outside IBM, but also still used in the Unix community and by old-time hackers or those who would sound like them. Some derived idioms are quite current; `in core', for example, means `in memory' (as opposed to `on disk'), and both {core dump} and the `core image' or `core file' produced by one are terms in favor. Some varieties of Commonwealth hackish prefer {store}.
:core cancer: /n./ A process that exhibits a slow but inexorable resource {leak} — like a cancer, it kills by crowding out productive `tissue'.
:core dump: /n./ [common {Iron Age} jargon, preserved by Unix] 1. [techspeak] A copy of the contents of {core}, produced when a process is aborted by certain kinds of internal error. 2. By extension, used for humans passing out, vomiting, or registering extreme shock. "He dumped core. All over the floor. What a mess." "He heard about X and dumped core." 3. Occasionally used for a human rambling on pointlessly at great length; esp. in apology: "Sorry, I dumped core on you". 4. A recapitulation of knowledge (compare {bits}, sense 1). Hence, spewing all one knows about a topic (syn. {brain dump}), esp. in a lecture or answer to an exam question. "Short, concise answers are better than core dumps" (from the instructions to an exam at Columbia). See {core}.
:core leak: /n./ Syn. {memory leak}.
:Core Wars: /n./ A game between `assembler' programs in a simulated machine, where the objective is to kill your opponent's program by overwriting it. Popularized by A. K. Dewdney's column in "Scientific American" magazine, this was actually devised by Victor Vyssotsky, Robert Morris Sr., and Dennis Ritchie in the early 1960s (their original game was called `Darwin' and ran on a PDP-1 at Bell Labs). See {core}.
:corge: /korj/ /n./ [originally, the name of a cat] Yet another {metasyntactic variable}, invented by Mike Gallaher and propagated by the {GOSMACS} documentation. See {grault}.
:cosmic rays: /n./ Notionally, the cause of {bit rot}. However, this is a semi-independent usage that may be invoked as a humorous way to {handwave} away any minor {randomness} that doesn't seem worth the bother of investigating. "Hey, Eric — I just got a burst of garbage on my {tube}, where did that come from?" "Cosmic rays, I guess." Compare {sunspots}, {phase of the moon}. The British seem to prefer the usage `cosmic showers'; `alpha particles' is also heard, because stray alpha particles passing through a memory chip can cause single-bit errors (this becomes increasingly more likely as memory sizes and densities increase).
Factual note: Alpha particles cause bit rot, cosmic rays do not (except occasionally in spaceborne computers). Intel could not explain random bit drops in their early chips, and one hypothesis was cosmic rays. So they created the World's Largest Lead Safe, using 25 tons of the stuff, and used two identical boards for testing. One was placed in the safe, one outside. The hypothesis was that if cosmic rays were causing the bit drops, they should see a statistically significant difference between the error rates on the two boards. They did not observe such a difference. Further investigation demonstrated conclusively that the bit drops were due to alpha particle emissions from thorium (and to a much lesser degree uranium) in the encapsulation material. Since it is impossible to eliminate these radioactives (they are uniformly distributed through the earth's crust, with the statistically insignificant exception of uranium lodes) it became obvious that one has to design memories to withstand these hits.
:cough and die: /v./ Syn. {barf}. Connotes that the program is throwing its hands up by design rather than because of a bug or oversight. "The parser saw a control-A in its input where it was looking for a printable, so it coughed and died." Compare {die}, {die horribly}, {scream and die}.
:cowboy: /n./ [Sun, from William Gibson's {cyberpunk} SF] Synonym for {hacker}. It is reported that at Sun this word is often said with reverence.
:CP/M:: /C-P-M/ /n./ [Control Program/Monitor; later {retcon}ned to Control Program for Microcomputers] An early microcomputer {OS} written by hacker Gary Kildall for 8080- and Z80-based machines, very popular in the late 1970s but virtually wiped out by MS-DOS after the release of the IBM PC in 1981. Legend has it that Kildall's company blew its chance to write the OS for the IBM PC because Kildall decided to spend a day IBM's reps wanted to meet with him enjoying the perfect flying weather in his private plane. Many of CP/M's features and conventions strongly resemble those of early {DEC} operating systems such as {{TOPS-10}}, OS/8, RSTS, and RSX-11. See {{MS-DOS}}, {operating system}.
:CPU Wars: /C-P-U worz/ /n./ A 1979 large-format comic by Chas Andres chronicling the attempts of the brainwashed androids of IPM (Impossible to Program Machines) to conquer and destroy the peaceful denizens of HEC (Human Engineered Computers). This rather transparent allegory featured many references to {ADVENT} and the immortal line "Eat flaming death, minicomputer mongrels!" (uttered, of course, by an IPM stormtrooper). It is alleged that the author subsequently received a letter of appreciation on IBM company stationery from the head of IBM's Thomas J. Watson Research Laboratories (then, as now, one of the few islands of true hackerdom in the IBM archipelago). The lower loop of the B in the IBM logo, it is said, had been carefully whited out. See {eat flaming death}.
:crack root: /v./ To defeat the security system of a Unix machine and gain {root} privileges thereby; see {cracking}.
:cracker: /n./ One who breaks security on a system. Coined ca. 1985 by hackers in defense against journalistic misuse of {hacker} (q.v., sense 8). An earlier attempt to establish `worm' in this sense around 1981—82 on Usenet was largely a failure.
Use of both these neologisms reflects a strong revulsion against the theft and vandalism perpetrated by cracking rings. While it is expected that any real hacker will have done some playful cracking and knows many of the basic techniques, anyone past {larval stage} is expected to have outgrown the desire to do so except for immediate, benign, practical reasons (for example, if it's necessary to get around some security in order to get some work done).
Thus, there is far less overlap between hackerdom and crackerdom than the {mundane} reader misled by sensationalistic journalism might expect. Crackers tend to gather in small, tight-knit, very secretive groups that have little overlap with the huge, open poly-culture this lexicon describes; though crackers often like to describe *themselves* as hackers, most true hackers consider them a separate and lower form of life.
Ethical considerations aside, hackers figure that anyone who can't imagine a more interesting way to play with their computers than breaking into someone else's has to be pretty {losing}. Some other reasons crackers are looked down on are discussed in the entries on {cracking} and {phreaking}. See also {samurai}, {dark-side hacker}, and {hacker ethic}. For a portrait of the typical teenage cracker, see {warez d00dz}.
:cracking: /n./ The act of breaking into a computer system; what a {cracker} does. Contrary to widespread myth, this does not usually involve some mysterious leap of hackerly brilliance, but rather persistence and the dogged repetition of a handful of fairly well-known tricks that exploit common weaknesses in the security of target systems. Accordingly, most crackers are only mediocre hackers.
:crank: /vt./ [from automotive slang] Verb used to describe the performance of a machine, especially sustained performance. "This box cranks (or, cranks at) about 6 megaflops, with a burst mode of twice that on vectorized operations."
:CrApTeX: /krap'tekh/ /n./ [University of York, England] Term of abuse used to describe TeX and LaTeX when they don't work (when used by TeXhackers), or all the time (by everyone else). The non-TeX-enthusiasts generally dislike it because it is more verbose than other formatters (e.g. {{troff}}) and because (particularly if the standard Computer Modern fonts are used) it generates vast output files. See {religious issues}, {{TeX}}.
:crash: 1. /n./ A sudden, usually drastic failure. Most often said of the {system} (q.v., sense 1), esp. of magnetic disk drives (the term originally described what happens when the air gap of a hard disk collapses). "Three {luser}s lost their files in last night's disk crash." A disk crash that involves the read/write heads dropping onto the surface of the disks and scraping off the oxide may also be referred to as a `head crash', whereas the term `system crash' usually, though not always, implies that the operating system or other software was at fault. 2. /v./ To fail suddenly. "Has the system just crashed?" "Something crashed the OS!" See {down}. Also used transitively to indicate the cause of the crash (usually a person or a program, or both). "Those idiots playing {SPACEWAR} crashed the system." 3. /vi./ Sometimes said of people hitting the sack after a long {hacking run}; see {gronk out}.
:crash and burn: /vi.,n./ A spectacular crash, in the mode of the conclusion of the car-chase scene in the movie "Bullitt" and many subsequent imitators (compare {die horribly}). Sun-3 monitors losing the flyback transformer and lightning strikes on VAX-11/780 backplanes are notable crash and burn generators. The construction `crash-and-burn machine' is reported for a computer used exclusively for alpha or {beta} testing, or reproducing bugs (i.e., not for development). The implication is that it wouldn't be such a disaster if that machine crashed, since only the testers would be inconvenienced.
:crawling horror: /n./ Ancient crufty hardware or software that is kept obstinately alive by forces beyond the control of the hackers at a site. Like {dusty deck} or {gonkulator}, but connotes that the thing described is not just an irritation but an active menace to health and sanity. "Mostly we code new stuff in C, but they pay us to maintain one big FORTRAN II application from nineteen-sixty-X that's a real crawling horror…." Compare {WOMBAT}.
:cray: /kray/ /n./ 1. (properly, capitalized) One of the line of supercomputers designed by Cray Research. 2. Any supercomputer at all. 3. The {canonical} {number-crunching} machine.
The term is actually the lowercased last name of Seymour Cray, a noted computer architect and co-founder of the company. Numerous vivid legends surround him, some true and some admittedly invented by Cray Research brass to shape their corporate culture and image.
:cray instability: /n./ 1. A shortcoming of a program or algorithm that manifests itself only when a large problem is being run on a powerful machine (see {cray}). Generally more subtle than bugs that can be detected in smaller problems running on a workstation or mini. 2. More specifically, a shortcoming of algorithms which are well behaved when run on gentle floating point hardware (such as IEEE-standard or DEC) but which break down badly when exposed to a Cray's unique `rounding' rules.
:crayola: /kray-oh'l*/ /n./ A super-mini or -micro computer that provides some reasonable percentage of supercomputer performance for an unreasonably low price. Might also be a {killer micro}.
:crayola books: /n./ The {rainbow series} of National Computer Security Center (NCSC) computer security standards (see {Orange Book}). Usage: humorous and/or disparaging.
:crayon: /n./ 1. Someone who works on Cray supercomputers. More specifically, it implies a programmer, probably of the CDC ilk, probably male, and almost certainly wearing a tie (irrespective of gender). Systems types who have a Unix background tend not to be described as crayons. 2. A {computron} (sense 2) that participates only in {number-crunching}. 3. A unit of computational power equal to that of a single Cray-1. There is a standard joke about this usage that derives from an old Crayola crayon promotional gimmick: When you buy 64 crayons you get a free sharpener.
:creationism: /n./ The (false) belief that large, innovative software designs can be completely specified in advance and then painlessly magicked out of the void by the normal efforts of a team of normally talented programmers. In fact, experience has shown repeatedly that good designs arise only from evolutionary, exploratory interaction between one (or at most a small handful of) exceptionally able designer(s) and an active user population —- and that the first try at a big new idea is always wrong. Unfortunately, because these truths don't fit the planning models beloved of {management}, they are generally ignored.
:creep: /v./ To advance, grow, or multiply inexorably. In hackish usage this verb has overtones of menace and silliness, evoking the creeping horrors of low-budget monster movies.
:creeping elegance: /n./ Describes a tendency for parts of a design to become {elegant} past the point of diminishing return, something which often happens at the expense of the less interesting parts of the design, the schedule, and other things deemed important in the {Real World}. See also {creeping featurism}, {second-system effect}, {tense}.
:creeping featurism: /kree'ping fee'chr-izm/ /n./ 1. Describes a systematic tendency to load more {chrome} and {feature}s onto systems at the expense of whatever elegance they may have possessed when originally designed. See also {feeping creaturism}. "You know, the main problem with {BSD} Unix has always been creeping featurism." 2. More generally, the tendency for anything complicated to become even more complicated because people keep saying "Gee, it would be even better if it had this feature too". (See {feature}.) The result is usually a patchwork because it grew one ad-hoc step at a time, rather than being planned. Planning is a lot of work, but it's easy to add just one extra little feature to help someone … and then another … and another…. When creeping featurism gets out of hand, it's like a cancer. Usually this term is used to describe computer programs, but it could also be said of the federal government, the IRS 1040 form, and new cars. A similar phenomenon sometimes afflicts conscious redesigns; see {second-system effect}. See also {creeping elegance}.
:creeping featuritis: /kree'ping fee'-chr-i:`t*s/ /n./ Variant of {creeping featurism}, with its own spoonerization: `feeping creaturitis'. Some people like to reserve this form for the disease as it actually manifests in software or hardware, as opposed to the lurking general tendency in designers' minds. (After all, -ism means `condition' or `pursuit of', whereas -itis usually means `inflammation of'.)
:cretin: /kret'in/ or /kree'tn/ /n./ Congenital {loser}; an obnoxious person; someone who can't do anything right. It has been observed that many American hackers tend to favor the British pronunciation /kret'in/ over standard American /kree'tn/; it is thought this may be due to the insidious phonetic influence of Monty Python's Flying Circus.
:cretinous: /kret'n-*s/ or /kreet'n-*s/ /adj./ Wrong; stupid; non-functional; very poorly designed. Also used pejoratively of people. See {dread high-bit disease} for an example. Approximate synonyms: {bletcherous}, {bagbiting} {losing}, {brain-damaged}.
:crippleware: /n./ 1. Software that has some important functionality deliberately removed, so as to entice potential users to pay for a working version. 2. [Cambridge] Variety of {guiltware} that exhorts you to donate to some charity (compare {careware}, {nagware}). 3. Hardware deliberately crippled, which can be upgraded to a more expensive model by a trivial change (e.g., cutting a jumper).
An excellent example of crippleware (sense 3) is Intel's 486SX chip, which is a standard 486DX chip with the co-processor dyked out (in some early versions it was present but disabled). To upgrade, you buy a complete 486DX chip with *working* co-processor (its identity thinly veiled by a different pinout) and plug it into the board's expansion socket. It then disables the SX, which becomes a fancy power sink. Don't you love Intel?
:critical mass: /n./ In physics, the minimum amount of fissionable material required to sustain a chain reaction. Of a software product, describes a condition of the software such that fixing one bug introduces one plus {epsilon} bugs. (This malady has many causes: {creeping featurism}, ports to too many disparate environments, poor initial design, etc.) When software achieves critical mass, it can never be fixed; it can only be discarded and rewritten.
:crlf: /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ /n./ (often capitalized as `CRLF') A carriage return (CR, ASCII 0001101) followed by a line feed (LF, ASCII 0001010). More loosely, whatever it takes to get you from the end of one line of text to the beginning of the next line. See {newline}, {terpri}. Under {{Unix}} influence this usage has become less common (Unix uses a bare line feed as its `CRLF').
:crock: /n./ [from the American scatologism `crock of shit'] 1. An awkward feature or programming technique that ought to be made cleaner. For example, using small integers to represent error codes without the program interpreting them to the user (as in, for example, Unix `make(1)', which returns code 139 for a process that dies due to {segfault}). 2. A technique that works acceptably, but which is quite prone to failure if disturbed in the least. For example, a too-clever programmer might write an assembler which mapped instruction mnemonics to numeric opcodes algorithmically, a trick which depends far too intimately on the particular bit patterns of the opcodes. (For another example of programming with a dependence on actual opcode values, see {The Story of Mel, a Real Programmer} in Appendix A.) Many crocks have a tightly woven, almost completely unmodifiable structure. See {kluge}, {brittle}. The adjectives `crockish' and `crocky', and the nouns `crockishness' and `crockitude', are also used.
:cross-post: [Usenet] /vi./ To post a single article simultaneously to several newsgroups. Distinguished from posting the article repeatedly, once to each newsgroup, which causes people to see it multiple times (which is very bad form). Gratuitous cross-posting without a Followup-To line directing responses to a single followup group is frowned upon, as it tends to cause {followup} articles to go to inappropriate newsgroups when people respond to only one part of the original posting.
:crudware: /kruhd'weir/ /n./ Pejorative term for the hundreds of megabytes of low-quality {freeware} circulated by user's groups and BBS systems in the micro-hobbyist world. "Yet *another* set of disk catalog utilities for {{MS-DOS}}? What crudware!"
:cruft: /kruhft/ [back-formation from {crufty}] 1. /n./ An unpleasant substance. The dust that gathers under your bed is cruft; the TMRC Dictionary correctly noted that attacking it with a broom only produces more. 2. /n./ The results of shoddy construction. 3. /vt./ [from `hand cruft', pun on `hand craft'] To write assembler code for something normally (and better) done by a compiler (see {hand-hacking}). 4. /n./ Excess; superfluous junk; used esp. of redundant or superseded code. 5. [University of Wisconsin] /n./ Cruft is to hackers as gaggle is to geese; that is, at UW one properly says "a cruft of hackers".
:cruft together: /vt./ (also `cruft up') To throw together something ugly but temporarily workable. Like /vt./ {kluge up}, but more pejorative. "There isn't any program now to reverse all the lines of a file, but I can probably cruft one together in about 10 minutes." See {hack together}, {hack up}, {kluge up}, {crufty}.
:cruftsmanship: /kruhfts'm*n-ship / /n./ [from {cruft}] The antithesis of craftsmanship.
:crufty: /kruhf'tee/ /adj./ [origin unknown; poss. from `crusty' or `cruddy'] 1. Poorly built, possibly over-complex. The {canonical} example is "This is standard old crufty {DEC} software". In fact, one fanciful theory of the origin of `crufty' holds that was originally a mutation of `crusty' applied to DEC software so old that the `s' characters were tall and skinny, looking more like `f' characters. 2. Unpleasant, especially to the touch, often with encrusted junk. Like spilled coffee smeared with peanut butter and catsup. 3. Generally unpleasant. 4. (sometimes spelled `cruftie') /n./ A small crufty object (see {frob}); often one that doesn't fit well into the scheme of things. "A LISP property list is a good place to store crufties (or, collectively, {random} cruft)."
This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building; it's said to have been the physics department's radar lab during WWII. To this day (early 1993) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.
:crumb: /n./ Two binary digits; a {quad}. Larger than a {bit}, smaller than a {nybble}. Considered silly. Syn. {tayste}. General discussion of such terms is under {nybble}.
:crunch: 1. /vi./ To process, usually in a time-consuming or complicated way. Connotes an essentially trivial operation that is nonetheless painful to perform. The pain may be due to the triviality's being embedded in a loop from 1 to 1,000,000,000. "FORTRAN programs do mostly {number-crunching}." 2. /vt./ To reduce the size of a file by a complicated scheme that produces bit configurations completely unrelated to the original data, such as by a Huffman code. (The file ends up looking something like a paper document would if somebody crunched the paper into a wad.) Since such compression usually takes more computations than simpler methods such as run-length encoding, the term is doubly appropriate. (This meaning is usually used in the construction `file crunch(ing)' to distinguish it from {number-crunching}.) See {compress}. 3. /n./ The character `#'. Used at XEROX and CMU, among other places. See {{ASCII}}. 4. /vt./ To squeeze program source into a minimum-size representation that will still compile or execute. The term came into being specifically for a famous program on the BBC micro that crunched BASIC source in order to make it run more quickly (it was a wholly interpretive BASIC, so the number of characters mattered). {Obfuscated C Contest} entries are often crunched; see the first example under that entry.
:cruncha cruncha cruncha: /kruhn'ch* kruhn'ch* kruhn'ch*/ /interj./ An encouragement sometimes muttered to a machine bogged down in a serious {grovel}. Also describes a notional sound made by groveling hardware. See {wugga wugga}, {grind} (sense 3).
:cryppie: /krip'ee/ /n./ A cryptographer. One who hacks or implements cryptographic software or hardware.
:CTSS: /C-T-S-S/ /n./ Compatible Time-Sharing System. An early (1963) experiment in the design of interactive time-sharing operating systems, ancestral to {{Multics}}, {{Unix}}, and {{ITS}}. The name {{ITS}} (Incompatible Time-sharing System) was a hack on CTSS, meant both as a joke and to express some basic differences in philosophy about the way I/O services should be presented to user programs.
:CTY: /sit'ee/ or /C-T-Y/ /n./ [MIT] The terminal physically associated with a computer's system {{console}}. The term is a contraction of `Console {tty}', that is, `Console TeleTYpe'. This {{ITS}}- and {{TOPS-10}}-associated term has become less common, as most Unix hackers simply refer to the CTY as `the console'.
:cube: /n./ 1. [short for `cubicle'] A module in the open-plan offices used at many programming shops. "I've got the manuals in my cube." 2. A NeXT machine (which resembles a matte-black cube).
:cubing: /vi./ [parallel with `tubing'] 1. Hacking on an IPSC (Intel Personal SuperComputer) hypercube. "Louella's gone cubing *again*!!" 2. Hacking Rubik's Cube or related puzzles, either physically or mathematically. 3. An indescribable form of self-torture (see sense 1 or 2).
:cursor dipped in X: /n./ There are a couple of metaphors in English of the form `pen dipped in X' (perhaps the most common values of X are `acid', `bile', and `vitriol'). These map over neatly to this hackish usage (the cursor being what moves, leaving letters behind, when one is composing on-line). "Talk about a {nastygram}! He must've had his cursor dipped in acid when he wrote that one!"
:cuspy: /kuhs'pee/ /adj./ [WPI: from the {DEC} abbreviation CUSP, for `Commonly Used System Program', i.e., a utility program used by many people] 1. (of a program) Well-written. 2. Functionally excellent. A program that performs well and interfaces well to users is cuspy. See {rude}. 3. [NYU] Said of an attractive woman, especially one regarded as available. Implies a certain curvaceousness.
:cut a tape: /vi./ To write a software or document distribution on magnetic tape for shipment. Has nothing to do with physically cutting the medium! Early versions of this lexicon claimed that one never analogously speaks of `cutting a disk', but this has since been reported as live usage. Related slang usages are mainstream business's `cut a check', the recording industry's `cut a record', and the military's `cut an order'.
All of these usages reflect physical processes in obsolete recording and duplication technologies. The first stage in manufacturing an old-style vinyl record involved cutting grooves in a stamping die with a precision lathe. More mundanely, the dominant technology for mass duplication of paper documents in pre-photocopying days involved "cutting a stencil", punching away portions of the wax overlay on a silk screen. More directly, paper tape with holes punched in it was an important early storage medium.
:cybercrud: /si:'ber-kruhd/ /n./ 1. [coined by Ted Nelson] Obfuscatory tech-talk. Verbiage with a high {MEGO} factor. The computer equivalent of bureaucratese. 2. Incomprehensible stuff embedded in email. First there were the "Received" headers that show how mail flows through systems, then MIME (Multi-purpose Internet Mail Extensions) headers and part boundaries, and now huge blocks of hex for PEM (Privacy Enhanced Mail) or PGP (Pretty Good Privacy) digital signatures and certificates of authenticity. This stuff all services a purpose and good user interfaces should hide it, but all too often users are forced to wade through it.
:cyberpunk: /si:'ber-puhnk/ /n.,adj./ [orig. by SF writer Bruce Bethke and/or editor Gardner Dozois] A subgenre of SF launched in 1982 by William Gibson's epoch-making novel "Neuromancer" (though its roots go back through Vernor Vinge's "True Names" (see the {Bibliography} in Appendix C) to John Brunner's 1975 novel "The Shockwave Rider"). Gibson's near-total ignorance of computers and the present-day hacker culture enabled him to speculate about the role of computers and hackers in the future in ways hackers have since found both irritatingly na"ive and tremendously stimulating. Gibson's work was widely imitated, in particular by the short-lived but innovative "Max Headroom" TV series. See {cyberspace}, {ice}, {jack in}, {go flatline}.
Since 1990 or so, popular culture has included a movement or fashion trend that calls itself `cyberpunk', associated especially with the rave/techno subculture. Hackers have mixed feelings about this. On the one hand, self-described cyberpunks too often seem to be shallow trendoids in black leather who have substituted enthusiastic blathering about technology for actually learning and *doing* it. Attitude is no substitute for competence. On the other hand, at least cyberpunks are excited about the right things and properly respectful of hacking talent in those who have it. The general consensus is to tolerate them politely in hopes that they'll attract people who grow into being true hackers.
:cyberspace: /si:'br-spays`/ /n./ 1. Notional `information-space' loaded with visual cues and navigable with brain-computer interfaces called `cyberspace decks'; a characteristic prop of {cyberpunk} SF. Serious efforts to construct {virtual reality} interfaces modeled explicitly on Gibsonian cyberspace are under way, using more conventional devices such as glove sensors and binocular TV headsets. Few hackers are prepared to deny outright the possibility of a cyberspace someday evolving out of the network (see {network, the}). 2. The Internet or {Matrix} (sense #2) as a whole, considered as a crude cyberspace (sense 1). Although this usage became widely popular in the mainstream press during 1994 when the Internet exploded into public awareness, it is strongly deprecated among hackers because the Internet does not meet the high, SF-inspired standards they have for true cyberspace technology. Thus, this use of the term usually tags a {wannabee} or outsider. 3. Occasionally, the metaphoric location of the mind of a person in {hack mode}. Some hackers report experiencing strong eidetic imagery when in hack mode; interestingly, independent reports from multiple sources suggest that there are common features to the experience. In particular, the dominant colors of this subjective `cyberspace' are often gray and silver, and the imagery often involves constellations of marching dots, elaborate shifting patterns of lines and angles, or moire patterns.
:cycle: 1. /n./ The basic unit of computation. What every hacker wants more of (noted hacker Bill Gosper describes himself as a "cycle junkie"). One can describe an instruction as taking so many `clock cycles'. Often the computer can access its memory once on every clock cycle, and so one speaks also of `memory cycles'. These are technical meanings of {cycle}. The jargon meaning comes from the observation that there are only so many cycles per second, and when you are sharing a computer the cycles get divided up among the users. The more cycles the computer spends working on your program rather than someone else's, the faster your program will run. That's why every hacker wants more cycles: so he can spend less time waiting for the computer to respond. 2. By extension, a notional unit of *human* thought power, emphasizing that lots of things compete for the typical hacker's think time. "I refused to get involved with the Rubik's Cube back when it was big. Knew I'd burn too many cycles on it if I let myself." 3. /vt./ Syn. {bounce} (sense 4), {120 reset}; from the phrase `cycle power'. "Cycle the machine again, that serial port's still hung."
:cycle crunch: /n./ A situation wherein the number of people trying to use a computer simultaneously has reached the point where no one can get enough cycles because they are spread too thin and the system has probably begun to {thrash}. This scenario is an inevitable result of Parkinson's Law applied to timesharing. Usually the only solution is to buy more computer. Happily, this has rapidly become easier since the mid-1980s, so much so that the very term `cycle crunch' now has a faintly archaic flavor; most hackers now use workstations or personal computers as opposed to traditional timesharing systems.
: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."
:cycle of reincarnation: /n./ [coined in a paper by T. H. Myer and I.E. Sutherland "On the Design of Display Processors", Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward more computing power as it does its job, then somebody notices that it is inefficient to support two asymmetrical processors in the architecture and folds the function back into the main CPU, at which point the cycle begins again.
Several iterations of this cycle have been observed in graphics-processor design, and at least one or two in communications and floating-point processors. Also known as `the Wheel of Life', `the Wheel of Samsara', and other variations of the basic Hindu/Buddhist theological idea. See also {blitter}, {bit bang}.
:cycle server: /n./ A powerful machine that exists primarily for running large compute-, disk-, or memory-intensive jobs. Implies that interactive tasks such as editing are done on other machines on the network, such as workstations.
: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 cypherpunks-request@toad.com coordinating work on public-key encryption freeware, privacy, and digital cash. See also {tentacle}.
= D = =====
:D. C. Power Lab: /n./ The former site of {{SAIL}}. Hackers thought this was very funny because the obvious connection to electrical engineering was nonexistent — the lab was named for a Donald C. Power. Compare {Marginal Hacks}.
:daemon: /day'mn/ or /dee'mn/ /n./ [from the mythological meaning, later rationalized as the acronym `Disk And Execution MONitor'] A program that is not invoked explicitly, but lies dormant waiting for some condition(s) to occur. The idea is that the perpetrator of the condition need not be aware that a daemon is lurking (though often a program will commit an action only because it knows that it will implicitly invoke a daemon). For example, under {{ITS}} writing a file on the {LPT} spooler's directory would invoke the spooling daemon, which would then print the file. The advantage is that programs wanting (in this example) files printed need neither compete for access to nor understand any idiosyncrasies of the {LPT}. They simply enter their implicit requests and let the daemon decide what to do with them. Daemons are usually spawned automatically by the system, and may either live forever or be regenerated at intervals.
Daemon and {demon} are often used interchangeably, but seem to have distinct connotations. The term `daemon' was introduced to computing by {CTSS} people (who pronounced it /dee'mon/) and used it to refer to what ITS called a {dragon}. Although the meaning and the pronunciation have drifted, we think this glossary reflects current (1996) usage.
:daemon book: /n./ "The Design and Implementation of the 4.3BSD UNIX Operating System", by Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, and John S. Quarterman (Addison-Wesley Publishers, 1989, ISBN 0-201-06196-1) — the standard reference book on the internals of {BSD} Unix. So called because the cover has a picture depicting a little devil (a visual play on {daemon}) in sneakers, holding a pitchfork (referring to one of the characteristic features of Unix, the `fork(2)' system call). Also known as the {Devil Book}.
:dahmum: /dah'mum/ /n./ [Usenet] The material of which protracted {flame war}s, especially those about operating systems, is composed. Homeomorphic to {spam}. The term `dahmum' is derived from the name of a militant {OS/2} advocate, and originated when an extensively crossposted OS/2-versus-{Linux} debate was fed through {Dissociated Press}.
:dangling pointer: /n./ A reference that doesn't actually lead anywhere (in C and some other languages, a pointer that doesn't actually point at anything valid). Usually this happens because it formerly pointed to something that has moved or disappeared. Used as jargon in a generalization of its techspeak meaning; for example, a local phone number for a person who has since moved to the other coast is a dangling pointer. Compare {dead link}.
:dark-side hacker: /n./ A criminal or malicious hacker; a {cracker}. From George Lucas's Darth Vader, "seduced by the dark side of the Force". The implication that hackers form a sort of elite of technological Jedi Knights is intended. Oppose {samurai}.
:Datamation: /day`t*-may'sh*n/ /n./ A magazine that many hackers assume all {suit}s read. Used to question an unbelieved quote, as in "Did you read that in `Datamation?'" (But see below; this slur may be dated by the time you read this.) It used to publish something hackishly funny every once in a while, like the original paper on {COME FROM} in 1973, and Ed Post's "Real Programmers Don't Use Pascal" ten years later, but for a long time after that it was much more exclusively {suit}-oriented and boring. Following a change of editorship in 1994, Datamation is trying for more of the technical content and irreverent humor that marked its early days.
Datamation now has a WWW page at http://www.datamation.com worth visiting for its selection of computer humor, including "Real Programmers Don't Use Pascal" and the `Bastard Operator From Hell' stories by Simon Travaglia (see {BOFH}).
:DAU: /dow/ [German FidoNet] /n./ German acronym for D"ummster Anzunehmender User (stupidest imaginable user). From the engineering-slang GAU for Gr"osster 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}.
:day mode: /n./ See {phase} (sense 1). Used of people only.
:dd: /dee-dee/ /vt./ [Unix: from IBM {JCL}] Equivalent to {cat} or {BLT}. Originally the name of a Unix copy command with special options suitable for block-oriented devices; it was often used in heavy-handed system maintenance, as in "Let's `dd' the root partition onto a tape, then use the boot PROM to load it back on to a new disk". The Unix `dd(1)' was designed with a weird, distinctly non-Unixy keyword option syntax reminiscent of IBM System/360 JCL (which had an elaborate DD `Dataset Definition' specification for I/O devices); though the command filled a need, the interface design was clearly a prank. The jargon usage is now very rare outside Unix sites and now nearly obsolete even there, as `dd(1)' has been {deprecated} for a long time (though it has no exact replacement). The term has been displaced by {BLT} or simple English `copy'.
:DDT: /D-D-T/ /n./ 1. Generic term for a program that assists in debugging other programs by showing individual machine instructions in a readable symbolic form and letting the user change them. In this sense the term DDT is now archaic, having been widely displaced by `debugger' or names of individual programs like `adb', `sdb', `dbx', or `gdb'. 2. [ITS] Under MIT's fabled {{ITS}} operating system, DDT (running under the alias HACTRN, a six-letterism for `Hack Translator') was also used as the {shell} or top level command language used to execute other programs. 3. Any one of several specific DDTs (sense 1) supported on early {DEC} hardware. The DEC PDP-10 Reference Handbook (1969) contained a footnote on the first page of the documentation for DDT that illuminates the origin of the term:
Historical footnote: DDT was developed at MIT for the PDP-1 computer in 1961. At that time DDT stood for "DEC Debugging Tape". Since then, the idea of an on-line debugging program has propagated throughout the computer industry. DDT programs are now available for all DEC computers. Since media other than tape are now frequently used, the more descriptive name "Dynamic Debugging Technique" has been adopted, retaining the DDT abbreviation. Confusion between DDT-10 and another well known pesticide, dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal since each attacks a different, and apparently mutually exclusive, class of bugs.
(The `tape' referred to was, incidentally, not magnetic but paper.) Sadly, this quotation was removed from later editions of the handbook after the {suit}s took over and DEC became much more `businesslike'.
The history above is known to many old-time hackers. But there's more: Peter Samson, compiler of the original {TMRC} lexicon, reports that he named `DDT' after a similar tool on the TX-0 computer, the direct ancestor of the PDP-1 built at MIT's Lincoln Lab in 1957. The debugger on that ground-breaking machine (the first transistorized computer) rejoiced in the name FLIT (FLexowriter Interrogation Tape).
:de-rezz: /dee-rez'/ [from `de-resolve' via the movie "Tron"] (also `derez') 1. /vi./ To disappear or dissolve; the image that goes with it is of an object breaking up into raster lines and static and then dissolving. Occasionally used of a person who seems to have suddenly `fuzzed out' mentally rather than physically. Usage: extremely silly, also rare. This verb was actually invented as *fictional* hacker jargon, and adopted in a spirit of irony by real hackers years after the fact. 2. /vt./ The Macintosh resource decompiler. On a Macintosh, many program structures (including the code itself) are managed in small segments of the program file known as `resources'; `Rez' and `DeRez' are a pair of utilities for compiling and decompiling resource files. Thus, decompiling a resource is `derezzing'. Usage: very common.
:dead: /adj./ 1. Non-functional; {down}; {crash}ed. Especially used of hardware. 2. At XEROX PARC, software that is working but not undergoing continued development and support. 3. Useless; inaccessible. Antonym: `live'. Compare {dead code}.
:dead code: /n./ Routines that can never be accessed because all calls to them have been removed, or code that cannot be reached because it is guarded by a control structure that provably must always transfer control somewhere else. The presence of dead code may reveal either logical errors due to alterations in the program or significant changes in the assumptions and environment of the program (see also {software rot}); a good compiler should report dead code so a maintainer can think about what it means. (Sometimes it simply means that an *extremely* defensive programmer has inserted {can't happen} tests which really can't happen — yet.) Syn. {grunge}. See also {dead}, and {The Story of Mel, a Real Programmer}.
:dead link: /n./ [WWW] 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}.
:DEADBEEF: /ded-beef/ /n./ The hexadecimal word-fill pattern for freshly allocated memory (decimal -21524111) under a number of IBM environments, including the RS/6000. Some modern debugging tools deliberately fill freed memory with this value as a way of converting {heisenbug}s into {Bohr bug}s. As in "Your program is DEADBEEF" (meaning gone, aborted, flushed from memory); if you start from an odd half-word boundary, of course, you have BEEFDEAD. See also the anecdote under {fool}.
:deadlock: /n./ 1. [techspeak] A situation wherein two or more processes are unable to proceed because each is waiting for one of the others to do something. A common example is a program communicating to a server, which may find itself waiting for output from the server before sending anything more to it, while the server is similarly waiting for more input from the controlling program before outputting anything. (It is reported that this particular flavor of deadlock is sometimes called a `starvation deadlock', though the term `starvation' is more properly used for situations where a program can never run simply because it never gets high enough priority. Another common flavor is `constipation', in which each process is trying to send stuff to the other but all buffers are full because nobody is reading anything.) See {deadly embrace}. 2. Also used of deadlock-like interactions between humans, as when two people meet in a narrow corridor, and each tries to be polite by moving aside to let the other pass, but they end up swaying from side to side without making any progress because they always move the same way at the same time.
:deadly embrace: /n./ Same as {deadlock}, though usually used only when exactly two processes are involved. This is the more popular term in Europe, while {deadlock} predominates in the United States.
:death code: /n./ A routine whose job is to set everything in the computer — registers, memory, flags, everything — to zero, including that portion of memory where it is running; its last act is to stomp on its own "store zero" instruction. Death code isn't very useful, but writing it is an interesting hacking challenge on architectures where the instruction set makes it possible, such as the PDP-8 (it has also been done on the DG Nova).
Perhaps the ultimate death code is on the TI 990 series, where all registers are actually in RAM, and the instruction "store immediate 0" has the opcode "0". The PC will immediately wrap around core as many times as it can until a user hits HALT. Any empty memory location is death code. Worse, the manufacturer recommended use of this instruction in startup code (which would be in ROM and therefore survive).
:Death Square: /n./ The corporate logo of Novell, the people who acquired USL after AT&T let go of it (Novell eventually sold the Unix group to SCO). Coined by analogy with {Death Star}, because many people believed Novell was bungling the lead in Unix systems exactly as AT&T did for many years.
:Death Star: /n./ [from the movie "Star Wars"] 1. The AT&T corporate logo, which appears on computers sold by AT&T and bears an uncanny resemblance to the Death Star in the movie. This usage is particularly common among partisans of {BSD} Unix, who tend to regard the AT&T versions as inferior and AT&T as a bad guy. Copies still circulate of a poster printed by Mt. Xinu showing a starscape with a space fighter labeled 4.2 BSD streaking away from a broken AT&T logo wreathed in flames. 2. AT&T's internal magazine, "Focus", uses `death star' to describe an incorrectly done AT&T logo in which the inner circle in the top left is dark instead of light — a frequent result of dark-on-light logo images.
:DEC:: /dek/ /n./ Commonly used abbreviation for Digital Equipment Corporation, now deprecated by DEC itself in favor of "Digital". 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 heavy debt to the PDP-11 instruction set, and every one of the major general-purpose microcomputer OSs so far (CP/M, MS-DOS, Unix, OS/2, Windows NT) was either genetically descended from a DEC OS, or incubated on DEC hardware, or both. Accordingly, DEC is still regarded with a certain wry affection even among many hackers too young to have grown up on DEC machines. The contrast with {IBM} is instructive.
[1996 update: DEC has gradually been reclaiming some of its old reputation among techies in the last five years. The success of the Alpha, an innovatively-designed and very high-performance {killer micro}, has helped a lot. So has DEC's newfound receptiveness to Unix and open systems in general. —ESR]
:dec: /dek/ /v./ Verbal (and only rarely written) shorthand for decrement, i.e. `decrease by one'. Especially used by assembly programmers, as many assembly languages have a `dec' mnemonic. Antonym: {inc}.
:DEC Wars: /n./ A 1983 {Usenet} posting by Alan Hastings and Steve Tarr spoofing the "Star Wars" movies in hackish terms. Some years later, ESR (disappointed by Hastings and Tarr's failure to exploit a great premise more thoroughly) posted a 3-times-longer complete rewrite called "Unix WARS"; the two are often confused.
:decay: /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.
:DEChead: /dek'hed/ /n./ 1. A {DEC} {field servoid}. Not flattering. 2. [from `deadhead'] A Grateful Dead fan working at DEC.
:deckle: /dek'l/ /n./ [from dec- and {nybble}; the original spelling seems to have been `decle'] Two {nickle}s; 10 bits. Reported among developers for Mattel's GI 1600 (the Intellivision games processor), a chip with 16-bit-wide RAM but 10-bit-wide ROM. See {nybble} for other such terms.
:DED: /D-E-D/ /n./ Dark-Emitting Diode (that is, a burned-out LED). Compare {SED}, {LER}, {write-only memory}. In the early 1970s both Signetics and Texas instruments released DED spec sheets as {AFJ}s (suggested uses included "as a power-off indicator").
:deep hack mode: /n./ See {hack mode}.
:deep magic: /n./ [poss. from C. S. Lewis's "Narnia" books] An awesomely arcane technique central to a program or system, esp. one neither generally published nor available to hackers at large (compare {black art}); one that could only have been composed by a true {wizard}. Compiler optimization techniques and many aspects of {OS} design used to be {deep magic}; many techniques in cryptography, signal processing, graphics, and AI still are. Compare {heavy wizardry}. Esp. found in comments of the form "Deep magic begins here…". Compare {voodoo programming}.
:deep space: /n./ 1. Describes the notional location of any program that has gone {off the trolley}. Esp. used of programs that just sit there silently grinding long after either failure or some output is expected. "Uh oh. I should have gotten a prompt ten seconds ago. The program's in deep space somewhere." Compare {buzz}, {catatonic}, {hyperspace}. 2. The metaphorical location of a human so dazed and/or confused or caught up in some esoteric form of {bogosity} that he or she no longer responds coherently to normal communication. Compare {page out}.
:defenestration: /n./ [from the traditional Czechoslovakian method of assassinating prime ministers, via SF fandom] 1. Proper karmic retribution for an incorrigible punster. "Oh, ghod, that was *awful*!" "Quick! Defenestrate him!" 2. The act of exiting a window system in order to get better response time from a full-screen program. This comes from the dictionary meaning of `defenestrate', which is to throw something out a window. 3. The act of discarding something under the assumption that it will improve matters. "I don't have any disk space left." "Well, why don't you defenestrate that 100 megs worth of old core dumps?" 4. Under a GUI, the act of dragging something out of a window (onto the screen). "Next, defenestrate the MugWump icon." 5. [proposed] The requirement to support a command-line interface. "It has to run on a VT100." "Curses! I've been defenestrated!"
:defined as: /adj./ In the role of, usually in an organization-chart sense. "Pete is currently defined as bug prioritizer." Compare {logical}.
:dehose: /dee-hohz/ /vt./ To clear a {hosed} condition.
:delint: /dee-lint/ /v. obs./ To modify code to remove problems detected when {lint}ing. Confusingly, this process is also referred to as `linting' code. This term is no longer in general use because ANSI C compilers typically issue compile-time warnings almost as detailed as lint warnings.
:delta: /n./ 1. [techspeak] A quantitative change, especially a small or incremental one (this use is general in physics and engineering). "I just doubled the speed of my program!" "What was the delta on program size?" "About 30 percent." (He doubled the speed of his program, but increased its size by only 30 percent.) 2. [Unix] A {diff}, especially a {diff} stored under the set of version-control tools called SCCS (Source Code Control System) or RCS (Revision Control System). 3. /n./ A small quantity, but not as small as {epsilon}. The jargon usage of {delta} and {epsilon} stems from the traditional use of these letters in mathematics for very small numerical quantities, particularly in `epsilon-delta' proofs in limit theory (as in the differential calculus). The term {delta} is often used, once {epsilon} has been mentioned, to mean a quantity that is slightly bigger than {epsilon} but still very small. "The cost isn't epsilon, but it's delta" means that the cost isn't totally negligible, but it is nevertheless very small. Common constructions include `within delta of —-', `within epsilon of —-': that is, `close to' and `even closer to'.
:demented: /adj./ Yet another term of disgust used to describe a program. The connotation in this case is that the program works as designed, but the design is bad. Said, for example, of a program that generates large numbers of meaningless error messages, implying that it is on the brink of imminent collapse. Compare {wonky}, {bozotic}.
:demigod: /n./ A hacker with years of experience, a 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}), Linus Torvalds (inventor of Linux), and most recently James Gosling (inventor of Java). In their hearts of hearts, most hackers dream of someday becoming demigods themselves, and more than one major software project has been driven to completion by the author's veiled hopes of apotheosis. See also {net.god}, {true-hacker}.
:demo: /de'moh/ [short for `demonstration'] 1. /v./ To demonstrate a product or prototype. A far more effective way of inducing bugs to manifest than any number of {test} runs, especially when important people are watching. 2. /n./ The act of demoing. "I've gotta give a demo of the drool-proof interface; how does it work again?" 3. /n./ Esp. as `demo version', can refer either to an early, barely-functional version of a program which can be used for demonstration purposes as long as the operator uses *exactly* the right commands and skirts its numerous bugs, deficiencies, and unimplemented portions, or to a special version of a program (frequently with some features crippled) which is distributed at little or no cost to the user for enticement purposes.
:demo mode: /n./ 1. [Sun] The state of being {heads down} in order to finish code in time for a {demo}, usually due yesterday. 2. A mode in which video games sit by themselves running through a portion of the game, also known as `attract mode'. Some serious {app}s have a demo mode they use as a screen saver, or may go through a demo mode on startup (for example, the Microsoft Windows opening screen — which lets you impress your neighbors without actually having to put up with {Microsloth Windows}).
:demon: /n./ 1. [MIT] A portion of a program that is not invoked explicitly, but that lies dormant waiting for some condition(s) to occur. See {daemon}. The distinction is that demons are usually processes within a program, while daemons are usually programs running on an operating system. 2. [outside MIT] Often used equivalently to {daemon} — especially in the {{Unix}} world, where the latter spelling and pronunciation is considered mildly archaic.
Demons in sense 1 are particularly common in AI programs. For example, a knowledge-manipulation program might implement inference rules as demons. Whenever a new piece of knowledge was added, various demons would activate (which demons depends on the particular piece of data) and would create additional pieces of knowledge by applying their respective inference rules to the original piece. These new pieces could in turn activate more demons as the inferences filtered down through chains of logic. Meanwhile, the main program could continue with whatever its primary task was.
:demon dialer: /n./ A program which repeatedly calls the same telephone number. Demon dialing may be benign (as when a number of communications programs contend for legitimate access to a {BBS} line) or malign (that is, used as a prank or denial-of-service attack). This term dates from the {blue box} days of the 1970s and early 1980s and is now semi-obsolescent among {phreaker}s; see {war dialer} for its contemporary progeny.
:depeditate: /dee-ped'*-tayt/ /n./ [by (faulty) analogy with `decapitate'] Humorously, to cut off the feet of. When one is using some computer-aided typesetting tools, careless placement of text blocks within a page or above a rule can result in chopped-off letter descenders. Such letters are said to have been depeditated.
:deprecated: /adj./ Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favor of a specified replacement. Deprecated features can, unfortunately, linger on for many years. This term appears with distressing frequency in standards documents when the committees writing the documents realize that large amounts of extant (and presumably happily working) code depend on the feature(s) that have passed out of favor. See also {dusty deck}.
:derf: /derf/ /v.,n./ [PLATO] The act of exploiting a terminal which someone else has absentmindedly left logged on, to use that person's account, especially to post articles intended to make an ass of the victim you're impersonating.
:deserves to lose: /adj./ Said of someone who willfully does the {Wrong Thing}; humorously, if one uses a feature known to be {marginal}. What is meant is that one deserves the consequences of one's {losing} actions. "Boy, anyone who tries to use {mess-dos} deserves to {lose}!" ({{ITS}} fans used to say the same thing of {{Unix}}; many still do.) See also {screw}, {chomp}, {bagbiter}.
:desk check: /n.,v./ To {grovel} over hardcopy of source code, mentally simulating the control flow; a method of catching bugs. No longer common practice in this age of on-screen editing, fast compiles, and sophisticated debuggers — though some maintain stoutly that it ought to be. Compare {eyeball search}, {vdiff}, {vgrep}.
:despew: /d*-spyoo'/ /v./ [Usenet] To automatically generate a large amount of garbage to the net, esp. from an automated posting program gone wild. See {ARMM}.
:Devil Book: /n./ See {daemon book}, the term preferred by its authors.
:dickless workstation: /n./ Extremely pejorative hackerism for `diskless workstation', a class of botches including the Sun 3/50 and other machines designed exclusively to network with an expensive central disk server. These combine all the disadvantages of time-sharing with all the disadvantages of distributed personal computers; typically, they cannot even {boot} themselves without help (in the form of some kind of {breath-of-life packet}) from the server.
:dictionary flame: /n./ [Usenet] An attempt to sidetrack a debate away from issues by insisting on meanings for key terms that presuppose a desired conclusion or smuggle in an implicit premise. A common tactic of people who prefer argument over definitions to disputes about reality. Compare {spelling flame}.
:diddle: 1. /vt./ To work with or modify in a not particularly serious manner. "I diddled a copy of {ADVENT} so it didn't double-space all the time." "Let's diddle this piece of code and see if the problem goes away." See {tweak} and {twiddle}. 2. /n./ The action or result of diddling. See also {tweak}, {twiddle}, {frob}.
:die: /v./ Syn. {crash}. Unlike {crash}, which is used primarily of hardware, this verb is used of both hardware and software. See also {go flatline}, {casters-up mode}.
:die horribly: /v./ The software equivalent of {crash and burn}, and the preferred emphatic form of {die}. "The converter choked on an FF in its input and died horribly".
:diff: /dif/ /n./ 1. A change listing, especially giving differences between (and additions to) source code or documents (the term is often used in the plural `diffs'). "Send me your diffs for the Jargon File!" Compare {vdiff}. 2. Specifically, such a listing produced by the `diff(1)' command, esp. when used as specification input to the `patch(1)' utility (which can actually perform the modifications; see {patch}). This is a common method of distributing patches and source updates in the Unix/C world. 3. /v./ To compare (whether or not by use of automated tools on machine-readable files); see also {vdiff}, {mod}.
:digit: /n./ An employee of Digital Equipment Corporation. See also {VAX}, {VMS}, {PDP-10}, {{TOPS-10}}, {DEChead}, {double DECkers}, {field circus}.
:dike: /vt./ To remove or disable a portion of something, as a wire from a computer or a subroutine from a program. A standard slogan is "When in doubt, dike it out". (The implication is that it is usually more effective to attack software problems by reducing complexity than by increasing it.) The word `dikes' is widely used among mechanics and engineers to mean `diagonal cutters', esp. the heavy-duty metal-cutting version, but may also refer to a kind of wire-cutters used by electronics techs. To `dike something out' means to use such cutters to remove something. Indeed, the TMRC Dictionary defined dike as "to attack with dikes". Among hackers this term has been metaphorically extended to informational objects such as sections of code.
: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 {rat dance}.
:ding: /n.,vi./ 1. Synonym for {feep}. Usage: rare among hackers, but commoner in the {Real World}. 2. `dinged': What happens when someone in authority gives you a minor bitching about something, esp. something trivial. "I was dinged for having a messy desk."
:dink: /dink/ /adj./ Said of a machine that has the {bitty box} nature; a machine too small to be worth bothering with —- sometimes the system you're currently forced to work on. First heard from an MIT hacker working on a CP/M system with 64K, in reference to any 6502 system, then from fans of 32-bit architectures about 16-bit machines. "GNUMACS will never work on that dink machine." Probably derived from mainstream `dinky', which isn't sufficiently pejorative. See {macdink}.
:dinosaur: /n./ 1. Any hardware requiring raised flooring and special power. Used especially of old minis and mainframes, in contrast with newer microprocessor-based machines. In a famous quote from the 1988 Unix EXPO, Bill Joy compared the liquid-cooled mainframe in the massive IBM display with a grazing dinosaur "with a truck outside pumping its bodily fluids through it". IBM was not amused. Compare {big iron}; see also {mainframe}. 2. [IBM] A very conservative user; a {zipperhead}.
:dinosaur pen: /n./ A traditional {mainframe} computer room complete with raised flooring, special power, its own ultra-heavy-duty air conditioning, and a side order of Halon fire extinguishers. See {boa}.
:dinosaurs mating: /n./ Said to occur when yet another {big iron} merger or buyout occurs; reflects a perception by hackers that these signal another stage in the long, slow dying of the {mainframe} industry. In its glory days of the 1960s, it was `IBM and the Seven Dwarves': Burroughs, Control Data, General Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR, Control Data, and Honeywell) for a while. Honeywell was bought out by Bull; Burroughs merged with Univac to form Unisys (in 1984 —- this was when the phrase `dinosaurs mating' was coined); and in 1991 AT&T absorbed NCR. More such earth-shaking unions of doomed giants seem inevitable.
:dirtball: /n./ [XEROX PARC] A small, perhaps struggling outsider; not in the major or even the minor leagues. For example, "Xerox is not a dirtball company".
[Outsiders often observe in the PARC culture an institutional arrogance which usage of this term exemplifies. The brilliance and scope of PARC's contributions to computer science have been such that this superior attitude is not much resented. —ESR]
:dirty power: /n./ Electrical mains voltage that is unfriendly to the delicate innards of computers. Spikes, {drop-outs}, average voltage significantly higher or lower than nominal, or just plain noise can all cause problems of varying subtlety and severity (these are collectively known as {power hit}s).
:disclaimer: /n./ [Usenet] Statement ritually appended to many Usenet postings (sometimes automatically, by the posting software) reiterating the fact (which should be obvious, but is easily forgotten) that the article reflects its author's opinions and not necessarily those of the organization running the machine through which the article entered the network.
:Discordianism: /dis-kor'di-*n-ism/ /n./ The veneration of {Eris}, a.k.a. Discordia; widely popular among hackers. Discordianism was popularized by Robert Shea and Robert Anton Wilson's novel "{Illuminatus!}" as a sort of self-subverting Dada-Zen for Westerners — it should on no account be taken seriously but is far more serious than most jokes. Consider, for example, the Fifth Commandment of the Pentabarf, from "Principia Discordia": "A Discordian is Prohibited of Believing What he Reads." Discordianism is usually connected with an elaborate conspiracy theory/joke involving millennia-long warfare between the anarcho-surrealist partisans of Eris and a malevolent, authoritarian secret society called the Illuminati. See {Religion} in Appendix B, {Church of the SubGenius}, and {ha ha only serious}.
:disk farm: /n./ (also {laundromat}) A large room or rooms filled with disk drives (esp. {washing machine}s).
:display hack: /n./ A program with the same approximate purpose as a kaleidoscope: to make pretty pictures. Famous display hacks include {munching squares}, {smoking clover}, the BSD Unix `rain(6)' program, `worms(6)' on miscellaneous Unixes, and the {X} `kaleid(1)' program. Display hacks can also be implemented without programming by creating text files containing numerous escape sequences for interpretation by a video terminal; one notable example displayed, on any VT100, a Christmas tree with twinkling lights and a toy train circling its base. The {hack value} of a display hack is proportional to the esthetic value of the images times the cleverness of the algorithm divided by the size of the code. Syn. {psychedelicware}.
:Dissociated Press: /n./ [play on `Associated Press'; perhaps inspired by a reference in the 1950 Bugs Bunny cartoon "What's Up, Doc?"] An algorithm for transforming any text into potentially humorous garbage even more efficiently than by passing it through a {marketroid}. The algorithm starts by printing any N consecutive words (or letters) in the text. Then at every step it searches for any random occurrence in the original text of the last N words (or letters) already printed and then prints the next word or letter. {EMACS} has a handy command for this. Here is a short example of word-based Dissociated Press applied to an earlier version of this Jargon File:
wart: /n./ A small, crocky {feature} that sticks out of an array (C has no checks for this). This is relatively benign and easy to spot if the phrase is bent so as to be not worth paying attention to the medium in question.
Here is a short example of letter-based Dissociated Press applied to the same source:
window sysIWYG: /n./ A bit was named aften /bee't*/ prefer to use the other guy's re, especially in every cast a chuckle on neithout getting into useful informash speech makes removing a featuring a move or usage actual abstractionsidered /interj./ Indeed spectace logic or problem!
A hackish idle pastime is to apply letter-based Dissociated Press to a random body of text and {vgrep} the output in hopes of finding an interesting new word. (In the preceding example, `window sysIWYG' and `informash' show some promise.) Iterated applications of Dissociated Press usually yield better results. Similar techniques called `travesty generators' have been employed with considerable satirical effect to the utterances of Usenet flamers; see {pseudo}.
:distribution: /n./ 1. A software source tree packaged for distribution; but see {kit}. 2. A vague term encompassing mailing lists and Usenet newsgroups (but not {BBS} {fora}); any topic-oriented message channel with multiple recipients. 3. An information-space domain (usually loosely correlated with geography) to which propagation of a Usenet message is restricted; a much-underutilized feature.
:disusered: /adj./ [Usenet] Said of a person whose account on a computer has been removed, esp. for cause rather than through normal attrition. "He got disusered when they found out he'd been cracking through the school's Internet access." The verbal form `disuser' is live but less common. Both usages probably derive from the DISUSER account status flag on VMS; setting it disables the account. Compare {star out}.
:do protocol: /vi./ [from network protocol programming] To perform an interaction with somebody or something that follows a clearly defined procedure. For example, "Let's do protocol with the check" at a restaurant means to ask for the check, calculate the tip and everybody's share, collect money from everybody, generate change as necessary, and pay the bill. See {protocol}.
:doc: /dok/ /n./ Common spoken and written shorthand for `documentation'. Often used in the plural `docs' and in the construction `doc file' (i.e., documentation available on-line).
:documentation:: /n./ The multiple kilograms of macerated, pounded, steamed, bleached, and pressed trees that accompany most modern software or hardware products (see also {tree-killer}). Hackers seldom read paper documentation and (too) often resist writing it; they prefer theirs to be terse and on-line. A common comment on this predilection is "You can't {grep} dead trees". See {drool-proof paper}, {verbiage}, {treeware}.
:dodgy: /adj./ Syn. with {flaky}. Preferred outside the U.S.
:dogcow: /dog'kow/ /n./ See {Moof}. The dogcow is a semi-legendary creature that lurks in the depths of the Macintosh Technical Notes Hypercard stack V3.1. The full story of the dogcow is told in technical note #31 (the particular dogcow illustrated is properly named `Clarus'). Option-shift-click will cause it to emit a characteristic `Moof!' or `!fooM' sound. *Getting* to tech note 31 is the hard part; to discover how to do that, one must needs examine the stack script with a hackerly eye. Clue: {rot13} is involved. A dogcow also appears if you choose `Page Setup…' with a LaserWriter selected and click on the `Options' button.
:dogpile: /v./ [Usenet: prob. fr. mainstream "puppy pile"] When many people post unfriendly responses in short order to a single posting, they are sometimes said to "dogpile" or "dogpile on" the person to whom they're responding. For example, when a religious missionary posts a simplistic appeal to alt.atheism, he can expect to be dogpiled.
:dogwash: /dog'wosh/ [From a quip in the `urgency' field of a very optional software change request, ca. 1982. It was something like "Urgency: Wash your dog first".] 1. /n./ A project of minimal priority, undertaken as an escape from more serious work. 2. /v./ To engage in such a project. Many games and much {freeware} get written this way.
:domainist: /doh-mayn'ist/ /adj./ 1. [USENET, by pointed analogy with "sexist", "racist", etc.] Someone who judges people by the domain of their email addresses; esp. someone who dismisses anyone who posts from a public internet provider. "What do you expect from an article posted from aol.com?" 2. Said of an {{Internet address}} (as opposed to a {bang path}) because the part to the right of the `@' specifies a nested series of `domains'; for example, esr@snark.thyrsus.com specifies the machine called snark in the subdomain called thyrsus within the top-level domain called com. See also {big-endian}, sense 2.
The meaning of this term has drifted. At one time sense 2 was primary. In elder days it was also used of a site, mailer, or routing program which knew how to handle domainist addresses; or of a person (esp. a site admin) who preferred domain addressing, supported a domainist mailer, or proselytized for domainist addressing and disdained {bang path}s. These senses are now (1996) obsolete, as effectively all sites have converted.
:Don't do that, then!: /imp./ [from an old doctor's office joke about a patient with a trivial complaint] Stock response to a user complaint. "When I type control-S, the whole system comes to a halt for thirty seconds." "Don't do that, then!" (or "So don't do that!"). Compare {RTFM}.
:dongle: /dong'gl/ /n./ 1. A security or {copy protection} device for commercial microcomputer programs consisting of a serialized EPROM and some drivers in a D-25 connector shell, which must be connected to an I/O port of the computer while the program is run. Programs that use a dongle query the port at startup and at programmed intervals thereafter, and terminate if it does not respond with the dongle's programmed validation code. Thus, users can make as many copies of the program as they want but must pay for each dongle. The idea was clever, but it was initially a failure, as users disliked tying up a serial port this way. Almost all dongles on the market today (1993) will pass data through the port and monitor for {magic} codes (and combinations of status lines) with minimal if any interference with devices further down the line — this innovation was necessary to allow daisy-chained dongles for multiple pieces of software. The devices are still not widely used, as the industry has moved away from copy-protection schemes in general. 2. By extension, any physical electronic key or transferable ID required for a program to function. Common variations on this theme have used parallel or even joystick ports. See {dongle-disk}.
[Note: in early 1992, advertising copy from Rainbow Technologies (a manufacturer of dongles) included a claim that the word derived from "Don Gall", allegedly the inventor of the device. The company's receptionist will cheerfully tell you that the story is a myth invented for the ad copy. Nevertheless, I expect it to haunt my life as a lexicographer for at least the next ten years. :-( —ESR]
:dongle-disk: /don'gl disk/ /n./ A special floppy disk that is required in order to perform some task. Some contain special coding that allows an application to identify it uniquely, others *are* special code that does something that normally-resident programs don't or can't. (For example, AT&T's "Unix PC" would only come up in {root mode} with a special boot disk.) Also called a `key disk'. See {dongle}.
:donuts: /n. obs./ A collective noun for any set of memory bits. This usage is extremely archaic and may no longer be live jargon; it dates from the days of ferrite-{core} memories in which each bit was implemented by a doughnut-shaped magnetic flip-flop.
:doorstop: /n./ Used to describe equipment that is non-functional and halfway expected to remain so, especially obsolete equipment kept around for political reasons or ostensibly as a backup. "When we get another Wyse-50 in here, that ADM 3 will turn into a doorstop." Compare {boat anchor}.
:dot file: [Unix] /n./ A file that is not visible by default to normal directory-browsing tools (on Unix, files named with a leading dot are, by convention, not normally presented in directory listings). Many programs define one or more dot files in which startup or configuration information may be optionally recorded; a user can customize the program's behavior by creating the appropriate file in the current or home directory. (Therefore, dot files tend to {creep} — with every nontrivial application program defining at least one, a user's home directory can be filled with scores of dot files, of course without the user's really being aware of it.) See also {profile} (sense 1), {rc file}.
:double bucky: /adj./ Using both the CTRL and META keys. "The command to burn all LEDs is double bucky F."
This term originated on the Stanford extended-ASCII keyboard, and was later taken up by users of the {space-cadet keyboard} at MIT. A typical MIT comment was that the Stanford {bucky bits} (control and meta shifting keys) were nice, but there weren't enough of them; you could type only 512 different characters on a Stanford keyboard. An obvious way to address this was simply to add more shifting keys, and this was eventually done; but a keyboard with that many shifting keys is hard on touch-typists, who don't like to move their hands away from the home position on the keyboard. It was half-seriously suggested that the extra shifting keys be implemented as pedals; typing on such a keyboard would be very much like playing a full pipe organ. This idea is mentioned in a parody of a very fine song by Jeffrey Moss called "Rubber Duckie", which was published in "The Sesame Street Songbook" (Simon and Schuster 1971, ISBN 0-671-21036-X). These lyrics were written on May 27, 1978, in celebration of the Stanford keyboard:
Double Bucky
Double bucky, you're the one! You make my keyboard lots of fun. Double bucky, an additional bit or two: (Vo-vo-de-o!) Control and meta, side by side, Augmented ASCII, nine bits wide! Double bucky! Half a thousand glyphs, plus a few! Oh, I sure wish that I Had a couple of Bits more! Perhaps a Set of pedals to Make the number of Bits four: Double double bucky! Double bucky, left and right OR'd together, outta sight! Double bucky, I'd like a whole word of Double bucky, I'm happy I heard of Double bucky, I'd like a whole word of you!
—- The Great Quux (with apologies to Jeffrey Moss)
[This, by the way, is an excellent example of computer {filk} —ESR] See also {meta bit}, {cokebottle}, and {quadruple bucky}.
:double DECkers: /n./ Used to describe married couples in which both partners work for Digital Equipment Corporation.
:doubled sig: [Usenet] /n./ A {sig block} that has been included twice in a {Usenet} article or, less commonly, in an electronic mail message. An article or message with a doubled sig can be caused by improperly configured software. More often, however, it reveals the author's lack of experience in electronic communication. See {B1FF}, {pseudo}.
:down: 1. /adj./ Not operating. "The up escalator is down" is considered a humorous thing to say (unless of course you were expecting to use it), and "The elevator is down" always means "The elevator isn't working" and never refers to what floor the elevator is on. With respect to computers, this term has passed into the mainstream; the extension to other kinds of machine is still confined to techies (e.g. boiler mechanics may speak of a boiler being down). 2. `go down' /vi./ To stop functioning; usually said of the {system}. The message from the {console} that every hacker hates to hear from the operator is "System going down in 5 minutes". 3. `take down', `bring down' /vt./ To deactivate purposely, usually for repair work or {PM}. "I'm taking the system down to work on that bug in the tape drive." Occasionally one hears the word `down' by itself used as a verb in this /vt./ sense. See {crash}; oppose {up}.
:download: /vt./ To transfer data or (esp.) code from a larger `host' system (esp. a {mainframe}) over a digital comm link to a smaller `client' system, esp. a microcomputer or specialized peripheral. Oppose {upload}.
However, note that ground-to-space communications has its own usage rule for this term. Space-to-earth transmission is always `down' and the reverse `up' regardless of the relative size of the computers involved. So far the in-space machines have invariably been smaller; thus the upload/download distinction has been reversed from its usual sense.
:DP: /D-P/ /n./ 1. Data Processing. Listed here because, according to hackers, use of the term marks one immediately as a {suit}. See {DPer}. 2. Common abbrev for {Dissociated Press}.
:DPB: /d*-pib'/ /vt./ [from the PDP-10 instruction set] To plop something down in the middle. Usage: silly. "DPB yourself into that couch there." The connotation would be that the couch is full except for one slot just big enough for one last person to sit in. DPB means `DePosit Byte', and was the name of a PDP-10 instruction that inserts some bits into the middle of some other bits. Hackish usage has been kept alive by the Common LISP function of the same name.
:DPer: /dee-pee-er/ /n./ Data Processor. Hackers are absolutely amazed that {suit}s use this term self-referentially. *Computers* process data, not people! See {DP}.
:dragon: /n./ [MIT] A program similar to a {daemon}, except that it is not invoked at all, but is instead used by the system to perform various secondary tasks. A typical example would be an accounting program, which keeps track of who is logged in, accumulates load-average statistics, etc. Under ITS, many terminals displayed a list of people logged in, where they were, what they were running, etc., along with some random picture (such as a unicorn, Snoopy, or the Enterprise), which was generated by the `name dragon'. Usage: rare outside MIT — under Unix and most other OSes this would be called a `background demon' or {daemon}. The best-known Unix example of a dragon is `cron(1)'. At SAIL, they called this sort of thing a `phantom'.
:Dragon Book: /n./ The classic text "Compilers: Principles, Techniques and Tools", by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6), so called because of the cover design featuring a dragon labeled `complexity of compiler design' and a knight bearing the lance `LALR parser generator' among his other trappings. This one is more specifically known as the `Red Dragon Book' (1986); an earlier edition, sans Sethi and titled "Principles Of Compiler Design" (Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN 0-201-00022-9), was the `Green Dragon Book' (1977). (Also `New Dragon Book', `Old Dragon Book'.) The horsed knight and the Green Dragon were warily eying each other at a distance; now the knight is typing (wearing gauntlets!) at a terminal showing a video-game representation of the Red Dragon's head while the rest of the beast extends back in normal space. See also {{book titles}}.
:drain: /v./ [IBM] Syn. for {flush} (sense 2). Has a connotation of finality about it; one speaks of draining a device before taking it offline.
:dread high-bit disease: /n./ A condition endemic to some now-obsolete computers and peripherals (including ASR-33 teletypes and PRIME minicomputers) that results in all characters having their high (0x80) bit forced on. This of course makes transporting files to other systems much more difficult, not to mention the problems these machines have talking with true 8-bit devices.
This term was originally used specifically of PRIME (a.k.a. PR1ME) minicomputers. Folklore has it that PRIME adopted the reversed-8-bit convention in order to save 25 cents per serial line per machine; PRIME old-timers, on the other hand, claim they inherited the disease from Honeywell via customer NASA's compatibility requirements and struggled heroically to cure it. Whoever was responsible, this probably qualifies as one of the most {cretinous} design tradeoffs ever made. See {meta bit}.
:DRECNET: /drek'net/ /n./ [from Yiddish/German `dreck', meaning filth] Deliberate distortion of DECNET, a networking protocol used in the {VMS} community. So called because DEC helped write the Ethernet specification and then (either stupidly or as a malignant customer-control tactic) violated that spec in the design of DRECNET in a way that made it incompatible. See also {connector conspiracy}.
:driver: /n./ 1. The {main loop} of an event-processing program; the code that gets commands and dispatches them for execution. 2. [techspeak] In `device driver', code designed to handle a particular peripheral device such as a magnetic disk or tape unit. 3. In the TeX world and the computerized typesetting world in general, a program that translates some device-independent or other common format to something a real device can actually understand.
:droid: /n./ [from `android', SF terminology for a humanoid robot of essentially biological (as opposed to mechanical/electronic) construction] A person (esp. a low-level bureaucrat or service-business employee) exhibiting most of the following characteristics: (a) naive trust in the wisdom of the parent organization or `the system'; (b) a blind-faith propensity to believe obvious nonsense emitted by authority figures (or computers!); (c) a rule-governed mentality, one unwilling or unable to look beyond the `letter of the law' in exceptional situations; (d) a paralyzing fear of official reprimand or worse if Procedures are not followed No Matter What; and (e) no interest in doing anything above or beyond the call of a very narrowly-interpreted duty, or in particular in fixing that which is broken; an "It's not my job, man" attitude.
Typical droid positions include supermarket checkout assistant and bank clerk; the syndrome is also endemic in low-level government employees. The implication is that the rules and official procedures constitute software that the droid is executing; problems arise when the software has not been properly debugged. The term `droid mentality' is also used to describe the mindset behind this behavior. Compare {suit}, {marketroid}; see {-oid}.
:drool-proof paper: /n./ Documentation that has been obsessively {dumbed down}, to the point where only a {cretin} could bear to read it, is said to have succumbed to the `drool-proof paper syndrome' or to have been `written on drool-proof paper'. For example, this is an actual quote from Apple's LaserWriter manual: "Do not expose your LaserWriter to open fire or flame."
:drop on the floor: /vt./ To react to an error condition by silently discarding messages or other valuable data. "The gateway ran out of memory, so it just started dropping packets on the floor." Also frequently used of faulty mail and netnews relay sites that lose messages. See also {black hole}, {bit bucket}.
:drop-ins: /n./ [prob. by analogy with {drop-outs}] Spurious characters appearing on a terminal or console as a result of line noise or a system malfunction of some sort. Esp. used when these are interspersed with one's own typed input. Compare {drop-outs}, sense 2.
:drop-outs: /n./ 1. A variety of `power glitch' (see {glitch}); momentary 0 voltage on the electrical mains. 2. Missing characters in typed input due to software malfunction or system saturation (one cause of such behavior under Unix when a bad connection to a modem swamps the processor with spurious character interrupts; see {screaming tty}). 3. Mental glitches; used as a way of describing those occasions when the mind just seems to shut down for a couple of beats. See {glitch}, {fried}.
:drugged: /adj./ (also `on drugs') 1. Conspicuously stupid, heading toward {brain-damaged}. Often accompanied by a pantomime of toking a joint. 2. Of hardware, very slow relative to normal performance.
:drum: adj, /n./ Ancient techspeak term referring to slow, cylindrical magnetic media that were once state-of-the-art storage devices. Under BSD Unix the disk partition used for swapping is still called `/dev/drum'; this has led to considerable humor and not a few straight-faced but utterly bogus `explanations' getting foisted on {newbie}s. See also "{The Story of Mel, a Real Programmer}" in Appendix A.
:drunk mouse syndrome: /n./ (also `mouse on drugs') A malady exhibited by the mouse pointing device of some computers. The typical symptom is for the mouse cursor on the screen to move in random directions and not in sync with the motion of the actual mouse. Can usually be corrected by unplugging the mouse and plugging it back again. Another recommended fix for optical mice is to rotate your mouse pad 90 degrees.
At Xerox PARC in the 1970s, most people kept a can of copier cleaner (isopropyl alcohol) at their desks. When the steel ball on the mouse had picked up enough {cruft} to be unreliable, the mouse was doused in cleaner, which restored it for a while. However, this operation left a fine residue that accelerated the accumulation of cruft, so the dousings became more and more frequent. Finally, the mouse was declared `alcoholic' and sent to the clinic to be dried out in a CFC ultrasonic bath.
:Duff's device: /n./ The most dramatic use yet seen of {fall through} in C, invented by Tom Duff when he was at Lucasfilm. Trying to {bum} all the instructions he could out of an inner loop that copied data serially onto an output port, he decided to unroll it. He then realized that the unrolled version could be implemented by *interlacing* the structures of a switch and a loop:
register n = (count + 7) / 8; /* count > 0 assumed */
switch (count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while (—n > 0); }
Shocking though it appears to all who encounter it for the first time, the device is actually perfectly valid, legal C. C's default {fall through} in case statements has long been its most controversial single feature; Duff observed that "This code forms some sort of argument in that debate, but I'm not sure whether it's for or against."
[For maximal obscurity, the outermost pair of braces above could be actually be removed — GLS]
:dumb terminal: /n./ A terminal that is one step above a {glass tty}, having a minimally addressable cursor but no on-screen editing or other features normally supported by a {smart terminal}. Once upon a time, when glass ttys were common and addressable cursors were something special, what is now called a dumb terminal could pass for a smart terminal.
:dumbass attack: /duhm'as *-tak'/ /n./ [Purdue] Notional cause of a novice's mistake made by the experienced, especially one made while running as {root} under Unix, e.g., typing `rm -r *' or `mkfs' on a mounted file system. Compare {adger}.
:dumbed down: /adj./ Simplified, with a strong connotation of *over*simplified. Often, a {marketroid} will insist that the interfaces and documentation of software be dumbed down after the designer has burned untold gallons of midnight oil making it smart. This creates friction. See {user-friendly}.
:dump: /n./ 1. An undigested and voluminous mass of information about a problem or the state of a system, especially one routed to the slowest available output device (compare {core dump}), and most especially one consisting of hex or octal {runes} describing the byte-by-byte state of memory, mass storage, or some file. In {elder days}, debugging was generally done by `groveling over' a dump (see {grovel}); increasing use of high-level languages and interactive debuggers has made such tedium uncommon, and the term `dump' now has a faintly archaic flavor. 2. A backup. This usage is typical only at large timesharing installations.
:dumpster diving: /dump'-ster di:'-ving/ /n./ 1. The practice of sifting refuse from an office or technical installation to extract confidential data, especially security-compromising information (`dumpster' is an Americanism for what is elsewhere called a `skip'). Back in AT&T's monopoly days, before paper shredders became common office equipment, phone phreaks (see {phreaking}) used to organize regular dumpster runs against phone company plants and offices. Discarded and damaged copies of AT&T internal manuals taught them much. The technique is still rumored to be a favorite of crackers operating against careless targets. 2. The practice of raiding the dumpsters behind buildings where producers and/or consumers of high-tech equipment are located, with the expectation (usually justified) of finding discarded but still-valuable equipment to be nursed back to health in some hacker's den. Experienced dumpster-divers not infrequently accumulate basements full of moldering (but still potentially useful) {cruft}.