eric@snark.thyrsus.com (Eric S. Raymond) (11/29/90)
= C = C n. 1. The third letter of the Latin alphabet. 2. The name of a programming language designed by Dennis Ritchie during the early 1970s and first used to implement UNIX (q.v.). So called because many features derived from an earlier interpreter named 'B' in commemoration of *its* parent, BCPL; before Bjarne Stroustrup settled the question by designing C++, there was a humorous debate over whether C's successor should be named `D' or 'P'. C became immensely popular outside Bell Labs after about 1980 and is now the dominant language in systems and microcomputer applications programming. See LANGUAGES OF CHOICE. CAN v. To abort a job on a time-sharing system. Used esp. when the person doing the deed is an operator, as in CANNED FROM THE CONSOLE. Frequently used in an imperative sense, as in ``Can that print job, the LPT just popped a sprocket!''. Synonymous with GUN. CANONICAL adj. The usual or standard state or manner of something. This usage is actually not confined to hackers, and may be found throughout academia. A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use of jargon. Over his loud objections, we made a point of using jargon as much as possible in his presence, and eventually it began to sink in. Finally, in one conversation, he used the word ``canonical'' in jargon-like fashion without thinking. Steele: ``Aha! We've finally got you talking jargon too!'' Stallman: ``What did he say?'' Steele: ``He just used `canonical' in the canonical way.'' CASTERS UP MODE (cas'trz uhp mohd) [IBM] n. Yet another synonym for `broken' or `down'. CAT [from UNIX cat(1)] v. To spew an entire (notionally large) file to the screen or some other output sink without pause; by extension, to dump large amounts of data at an unprepared target or with no intention of browsing it carefully. Usage: considered silly. Rare outside UNIX sites. See also DD, BLT. CATATONIA n. A condition of suspended animation in which the system is in a wedged (CATATONIC) state. CDR (ku'dr) [from LISP] v. With ``down'', to trace down a list of elements. ``Shall we cdr down the agenda?'' Usage: silly. CELL-REPAIR MACHINES n. An often-discussed probable consequence of NANOTECHNOLOGY; NANOBOTS specifically programmed to repair tissue at the cellular level. Possible uses include reversing freezing damage from CRYONICS procedures and correction of mutagen-damaged DNA (including eradication of retrovirii and oncogenes). CHAD (chad) n. 1. The perforated edge strips on printer paper, after they have been separated from the printed portion. Also called SELVAGE and PERF. 2. obs. the confetti-like paper bits punched out of cards or paper tape; this was also called `chaff'. CHAIN [orig. from BASIC's CHAIN statement] v. When used of programming languages, refers to a statement that allows a parent executable to hand off execution to a child without going through the OS command interpreter. The state of the parent program is lost and there is no returning to it. Though this facility used to be common on memory-limited micros and is still widely supported for backward compatibility, the jargon usage is semi-obsolescent; in particular most UNIX programmers will think of this as an EXEC. Oppose the more modern SUBSHELL. CHAR (keir; [rarely] char or kar) n. Shorthand for `character'. Esp. used by C programmers, as `char' is C's typename for character data. CHASE POINTERS v. To go through multiple levels of indirection, as in traversing a linked list or graph structure. Used esp. by programmers in C, where explicit pointers are a very common data type. This is almost jargion in the strict sense, but remains slang when used of human networks. ``I'm chasing pointers. Bob said you could tell me who to talk to about...'' CHEMIST [Cambridge University] n. Someone who wastes CPU time on number-crunching when you'd far rather the CPU was doing something more productive, such as working out anagrams of your name or printing Snoopy calendars or running LIFE patterns. May or may not refer to someone who actually studies chemistry. CHERNOBYL PACKET (cher-no'b@l pa'k@t) n. An IP Ethergram with both source and destination Ether and IP address set as the respective broadcast address. So called because it induces NETWORK MELTDOWN. CHINESE RAVS (chie'neez ravs) [MIT] n. Pot-stickers. Kuo-teh. Gyoza. Oriental dumplings, especially when pan-fried rather than steamed. A favorite hacker appetizer. See ORIENTAL FOOD, STIR-FRIED RANDOM. CHOKE vi. To reject input, often ungracefully. ``I tried building X, but cpp choked on all those #define's.'' See BARF, GAG. CHOMP v. To lose; to chew on something of which more was bitten off than one can. Probably related to gnashing of teeth. See BAGBITER. A hand gesture commonly accompanies this, consisting of the four fingers held together as if in a mitten or hand puppet, and the fingers and thumb open and close rapidly to illustrate a biting action. The gesture alone means CHOMP CHOMP (see Verb Doubling). CHRISTMAS TREE PACKET n. A packet with every single option set for whatever protocol is in use. CHROME [from automotive slang via wargaming] n. Showy features added to attract users, but which contribute little or nothing to the power of a system. ``The 3D icons in Motif are just chrome!" Distinguished from BELLS AND WHISTLES by the fact that the latter are usually added to gratify developers' own desires for featurefulness. CHURCH OF THE SUB-GENIUS A mutant offshoot of DISCORDIANISM launched in 1981 as a spoof of fundamentalist Christianity by the ``Rev.'' Ivan Stang, a brilliant satirist with a gift for promotion. Popular among hackers as a rich source of bizarre imagery and references such as: ``Bob'' the divine drilling-equipment salesman, the Benevolent Space Xists and the Stark Fist of Removal. Much Sub-Genius theory is concerned with the acquisition of the mystical substance or quality of ``slack''. CLASSIC C (klas'ik see) [a play on `Classic Coke'] n. The C programming language as defined in the first edition of the book ``The C Programming Language'' by ``Brian W. Kernighan and Dennis M. Ritchie'' with some small additions. It is also known as ``K & R C.'' The name came into use during the standardisation process for C by the ANSI X3J11 committee. Also ``C CLASSIC''. This is sometimes generalized to ``X Classic'' where X = Star Trek (referring to the original TV series), or X = PC (referring to IBM's ISA-bus machines as opposed to the PS/2 series); this generalization is especially used of product series in which the newer versions are considered serious losers relative to the older ones. CLOCKS n. Processor logic cycles, so called because each generally corresponds to one clock pulse in the processor's timing. The relative execution times of instructions on a machine are usually discussed in `clocks' rather than absolute fractions of a second. CLONE n. 1. An exact duplicate, as in ``our product is a clone of their product.'' 2. A shoddy, spurious copy, as in ``their product is a clone of our product.'' 3. A PC-BUS/ISA or EISA-compatible 80x86 based microcomputer (in-context shorthand for ``PC clone"). 3. In the construction UNIX CLONE: An OS designed to deliver a UNIX-lookalike environment sans UNIX license fees, or with additional ``mission-critical'' features such as support for real-time programming. CLOSE n. Abbreviation for ``close (or right) parenthesis'', used when necessary to eliminate oral ambiguity. See OPEN. CLUSTERGEEKING (kluh'ster-gee`king) [CMU] n. An activity defined by spending more time at a computer cluster doing CS homework than most people spend breathing. COBOL FINGERS (koh'bol fing'grs) n. Reported from Sweden, a (hypothetical) disease one might get from programming in COBOL. The language requires extremely voluminous code. Programming too much in COBOL causes the fingers to wear down (by endless typing), until short stubs remain. This malformity is called COBOL FINGERS. ``I refuse to type in all that source code again, it will give me cobol fingers!" CODE GRINDER n. 1. A SUIT-wearing minion of the sort hired in legion strength by banks and insurance companies to implement payroll packages in RPG and other such unspeakable horrors. This is about as far from hackerdom as you can get and still touch a computer. Connotes pity. See REAL WORLD. 2. Used of or to a hacker, a really serious slur on the person's creative ability; connotes a design style characterized by primitive technique, rule-boundedness, and utter lack of imagination. CODE POLICE [by analogy with ``thought police"] n. A mythical team of Gestapo-like storm troopers that might burst into one's office and arrest one for violating style rules. May be used either ``seriously'' (to underline a claim that a particular style violation is dangerous) or (more often) ironically (to suggest that the practice under discussion is condemned mainly by anal-retentive weenies). CODEWALKER n. A program component that traverses other programs for a living. Compilers have codewalkers in their front ends; so do cross-reference generators and some database front-ends. As in ``This language extension would require a codewalker to implement.'' COKEBOTTLE (kohk'bot-l) n. Any very unusual character. MIT people used to complain about the ``control-meta-cokebottle'' commands at SAIL, and SAIL people complained right back about the ``altmode-altmode-cokebottle'' commands at MIT. Since the demise of the SPACE-CADET KEYBOARD this is no longer a serious usage, but may be invoked humorously to describe an (unspecified) weird or non-intuitive keystroke command. COME FROM n. A semi-mythical language construct dual to the `go to'; COME FROM <label> would cause the referenced label to act as a sort of trapdoor, so that if the program ever reached it control would quietly fall through to the statement following the COME FROM. COME FROM was first proposed in a Datamation article in 1973 that parodied the then-raging `structured programming' wars (see CONSIDERED HARMFUL). It was actually implemented for the first time seventeen years later, in C-INTERCAL (see INTERCAL, RETROCOMPUTING); knowledgeable observers are still reeling from shock. COMPRESS [UNIX] v. When used without a qualifier, generally refers to CRUNCHing of a file using a particular C implementation of Lempel-Ziv compression by James A. Woods et al and widely circulated via USENET. Use of CRUNCH (q.v.) itself in this sense is rare among UNIX hackers. COMPUTER GEEK n. One who eats [computer] bugs for a living. One who fulfills all of the dreariest negative stereotypes about hackers: an asocial, malodorous, pasty-faced monomaniac with all the personality of a cheese grater. Cannot be used by outsiders without implied insult to all hackers; compare black-on-black usage of ``nigger''. A computer geek may be either a fundamentally clueless individual or a true-hacker in LARVAL STAGE. Also called TURBO NERD, TURBO GEEK. See also CLUSTERGEEKING. COMPUTRON (kom-pyoo-tron) n. A notional unit of computing power combining instruction speed and storage capacity, dimensioned roughly in instructions-per-sec times megabytes-of-main-store times megabytes-of-mass-storage. ``That machine can't run GNU Emacs, it doesn't have enough computrons!'' This usage is usually found in metaphors that treat computing power as a fungible commodity good like a crop yield or diesel horsepower. See BITTY BOX, GET A REAL COMPUTER, TOY, CRANK. CONNECTOR CONSPIRACY [probably came into prominence with the appearance of the KL-10, none of whose connectors match anything else] n. The tendency of manufacturers (or, by extension, programmers or purveyors of anything) to come up with new products which don't fit together with the old stuff, thereby making you buy either all new stuff or expensive interface devices. CONS (kons) [from LISP] 1. v. To add a new element to a list. 2. CONS UP: v. To synthesize from smaller pieces: ``to cons up an example''. CONSIDERED HARMFUL adj. Edsger Dijkstra's infamous March 1968 CACM note, _Goto_Statement_Considered_Harmful_, fired the first salvo in the ``structured programming'' wars. In the years since then a number of both serious papers and parodies have borne titles of the form ``X considered Y'' in reference to it. The ``structured programming'' wars eventually blew over with the realization that both sides were wrong, but use of such titles has remained as a persistent minor in-joke. CONTENT-FREE adj. Ironic analogy with ``bug-free'', used of a message which adds nothing to the recipient's knowledge. Though this adjective is sometimes applied to FLAMAGE, it more usually connotes derision for comunication styles which exalt form over substance, or are centered on concerns irrelevant to the subject ostensibly at hand. ``Content-free? Uh...that's anything printed on glossy paper''. COOKIE MONSTER n. Any of a family of early (1970s) hacks reported on TOPS-10, ITS and elsewhere that would lock up either the victim's terminal (on a time-sharing machine) or the operator's 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. See also WABBIT. COPYLEFT (kop'ee-left) n. 1. The copyright notice carried by GNU EMACS and other Free Software Foundation software granting re-use and reproduction rights to all comers. 2. By extension, any copyright notice intended to achieve similar aims. CORE n. Main storage or DRAM. Dates from the days of ferrite-core memory; now archaic, but still used in the UNIX community and by old-time hackers or those who would sound like same. CORE DUMP n. [from UNIX] 1. Catastrophic program failure due to 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 ... and dumped core" CORE LEAK n. Syn. with 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. This was popularized by A.K. Dewdney's column in _Scientific_American_. It is rumored that the game is a civilized version of an amusement common on pre-MMU multitasking machines. CORGE (korj) n. Yet another meta-syntactic variable, invented by Mike Gallaher and propagated by the Gosmacs documentation. See GRAULT. CP/M (see-pee-em) [Control Program for Microcomputers] An early microcomputer OS written by hacker Gary Kildall for 8080 and Z-80 based machines, very popular in the late 1970s until virtually wiped out by MS-DOS after the release of the IBM PC in 1981 (legend has it that Kildall's company blew their chance to write the PC's OS because Kildall decided to spend the day IBM's reps wanted to meet with him enjoying the perfect flying weather in his private plane). Many of its features and conventions strongly resemble those of early DEC operating systems such as OS9, RSTS and RSX-11. See MS-DOS, OPERATING SYSTEM. CRACKER n. One who breaks security on a system. Coined c. 1985 by hackers in defense against journalistic misuse of HACKER, (q.v., definition #6). CRANK [from automotive slang] v. Verb used to describe the performance of a machine, especially sustained performance. ``This box cranks about 6 MegaFLOPS, with a burst mode of twice that on vectorized operations.'' CRASH 1. n. A sudden, usually drastic failure. Most often said of the system (q.v., definition #1), sometimes of magnetic disk drives. ``Three lusers lost their files in last night's disk crash.'' A disk crash which entails 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''. 2. v. To fail suddenly. ``Has the system just crashed?'' 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. Sometimes said of people hitting the sack after a long HACKING RUN, see GRONK OUT. CRASH AND BURN v.,n. A spectacular crash, in the mode of the conclusion of the car chase scene from Steve McQueen's ``Bullitt''. Sun-3 monitors losing the flyback transformer and lightning strikes on VAX-11/780 backplanes are notable crash and burn generators. CRAWLING HORROR n. Ancient crufty hardware or software that forces beyond the control of the hackers at a site refuse to let die. 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. One of the line of supercomputers designed by Cray Research. 2. Any supercomputer at all. CRAYON n. Someone who works on Cray supercomputers. More specifically implies a programmer, probably of the CDC ilk, probably male, and almost certainly wearing a tie (irrespective of gender). Unicos systems types who have a Unix background tend not to be described as crayons. CREEPING FEATURITIS (kree'ping fee-ch@r-ie't@s) n. Describes a systematic tendency to load more CHROME onto systems at the expense of whatever ELEGANCE they may have posessed when originally designed. See FEEPING CREATURITIS. ``You know, the main problem with BSD UNIX has always been creeping featuritis''. At MIT, this tends to be called CREEPING FEATUR*ISM* (and likewise, FEEPING CREATURISM). (After all, -ism means ``condition'' whereas -itis usually means ``inflammation of''...) CRETIN 1. n. Congenital LOSER (q.v.). 2. CRETINOUS: adj. See BLETCHEROUS and BAGBITING. Usage: somewhat ad hominem. CRIPPLEWARE n. SHAREWARE which has some important functionality deliberately removed, so as to entice potential users to pay for a working version. See also GUILTWARE. CRLF (ker'lif, sometimes krul'lif) n. A carriage return (CR) followed by a line feed (LF). See TERPRI. CROCK [from mainstream ``crock of shit"] n. 1. An awkward feature or programming technique that ought to be made cleaner. Example: Using small integers to represent error codes without the program interpreting them to the user (as in, for example, UNIX make(1)) is a crock. 2. Also, a technique that works acceptably but which is quite prone to failure if disturbed in the least, for example depending on the machine opcodes having particular bit patterns so that you can use instructions as data words too; a tightly woven, almost completely unmodifiable structure. CROSS-POST [USENET] To post an article to several newsgroups or topics. CRUDWARE 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!" CRUFTY (kruhf'tee) [from ``cruddy"] adj. 1. Poorly built, possibly overly complex. ``This is standard old crufty DEC software''. Hence CRUFT, n. shoddy construction. 2. Unpleasant, especially to the touch, often with encrusted junk. Like spilled coffee smeared with peanut butter and catsup. Hence CRUFT, n. disgusting mess. 3. Generally unpleasant. CRUFTY or CRUFTIE n. A small crufty object (see FROB); often one which doesn't fit well into the scheme of things. ``A LISP property list is a good place to store crufties (or, random cruft).'' [Note: Does CRUFT have anything to do with the Cruft Lab at Harvard? I don't know, though I was a Harvard student. - GLS] CRUFT TOGETHER, CRUFT UP (kruhft too-ge'thr, kruhft uhp) v. To throw together something ugly but temporarily workable. Like v. KLUGE, but more pejorative. See CRUFTY. CRUMB n. Two binary digits; a quad. Larger that a bit, smaller than a nibble. CRUNCH v. 1. To process, usually in a time-consuming or complicated way. Connotes an essentially trivial operation which is nonetheless painful to perform. The pain may be due to the triviality being imbedded in a loop from 1 to 1000000000. ``FORTRAN programs do mostly number crunching.'' 2. 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 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 counting repeated characters (such as spaces) the term is doubly appropriate. (This meaning is usually used in the construction ``file crunch(ing)'' to distinguish it from ``number crunch(ing)''.) See COMPRESS. 3. n. The character ``#''. Usage: used at Xerox and CMU, among other places. See ASCII. CRUNCHA CRUNCHA CRUNCHA (kruhn'chah kruhn'chah kruhn'chah) interj. An encouragement sometimes muttered to a machine bogged down in serious GROVELLING. Also describes a notional sound made by grovelling hardware. See WUGGA WUGGA. CRYONICS n. The practice of freezing oneself in hopes of being revived in the future by CELL-REPAIR MACHINES. A possible route to technological immortality already taken by 1990 by more than a handful of persons with terminal illnesses. CTSS (see-tee-ess-ess) n. Compatible Time-Sharing System. An early (1963) experiment in the design of interactive time-sharing operating systems. Cited here because it was ancestral to MULTICS, UNIX, and ITS (q.v.). CUBING [parallel with ``tubing"] v. 1. Hacking on an IPSC (Intel Personal SuperComputer) hypercube. ``Louella's gone cubing AGAIN!!'' 2. An indescribable form of self-torture (q.v. sense #1). CUSPY (kuhs'pee) [from the DEC acronym CUSP, for Commonly Used System Program, i.e., a utility program used by many people] [WPI] adj. 1. (of a program) Well-written. 2. Functionally excellent. A program which performs well and interfaces well to users is cuspy. See RUDE. CYBERPUNK (sie'ber-puhnk) [orig. by SF critic Gardner Dozois] n.,adj. A subgenre of SF launched in 1982 by William Gibson's epoch-making novel _Neuromancer_. 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 futures in ways hackers have since found both irritatingly naive and tremendously stimulating. Gibson's work was widely imitated, in particular by the short-lived but innovative ``Max Headroom'' TV series. See CYBERSPACE, ICE, GO FLATLINE. CYBERSPACE (sie'ber-spays) n. Notional ``information-space'' loaded with visual cues and navigable with brain-computer interfaces called ``cyberspace decks''; a characteristic prop of CYBERPUNK SF. At time of writing (1990) serious efforts to construct VIRTUAL REALITY interfaces modelled explicitly on CYBERSPACE are already under way, using more conventional devices such as glove sensors and binocular TV headsets. Few hackers are prepared to outright deny the possibility of a cyberspace someday evolving out of THE NETWORK. = D = DAEMON (day'mun, dee'mun) [archaic form of ``demon'', which has slightly different connotations (q.v.)] n. A program which is not invoked explicitly, but which lays 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, writing a file on the lpt spooler's directory will invoke the spooling daemon, which prints the file. The advantage is that programs which want (in this example) files printed need not compete for access to 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. Usage: DAEMON and DEMON (q.v.) are often used interchangeably, but seem to have distinct connotations. DAEMON was introduced to computing by CTSS people (who pronounced it dee'mon) and used it to refer to what is now called a DRAGON or PHANTOM (q.v.). The meaning and pronunciation have drifted, and we think this glossary reflects current usage. DAY MODE n. See PHASE (of people). DD (dee-dee) [from archaic UNIX dd(1)] v. Equivalent to CAT or BLT. Very rare outside UNIX sites and now nearly obsolescent even there, as dd(1) has been DEPRECATED for a long time. Replaced by BLT or simple English `copy'. DEADLOCK n. A situation wherein two or more processes are unable to proceed because each is waiting for another to do something. A common example is a program communicating to a PTY or STY, which may find itself waiting for output from the PTY/STY before sending anything more to it, while the PTY/STY is similarly waiting for more input from the controlling program before outputting anything. (This particular flavor of deadlock is called ``starvation''. Another common flavor is ``constipation'', where each process is trying to send stuff to the other, but all buffers are full because nobody is reading anything.) See DEADLY EMBRACE, RACE CONDITION. DEADLY EMBRACE n. Same as DEADLOCK (q.v.), though usually used only when exactly two processes are involved. DEADLY EMBRACE is the more popular term in Europe; DEADLOCK in the United States. DEATH STAR [from the movie _Star_Wars_] The AT&T corporate logo, which appears on computers sold by AT&T and bears an uncanny resemblence 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. DEFENESTRATION [from the traditional Czechoslovak method of assassinating prime ministers, via ESR and SF fandom] n. Proper karmic retribution for an incorrigible punster. ``Oh, ghod, that was *awful*!'' ``Quick! Defenestrate him!'' See also H INFIX. DEFINED AS adj. Currently in the role of, usually in an off-the-organization-chart sense. ``Pete is currently defined as bug prioritizer''. From the C language MACRO feature. DEEP SPACE adj. 1. Describes the ``location'' of any program which has gone OFF THE TROLLEY. Esp. used of programs which just sit there silently grinding long after either failure or some output is expected. 2. The metaphorical ``location'' of a human so dazed and/or confused or caught up in some esoteric form of BOGOSITY that he/she no longer responds coherently to normal communication. Compare PAGE OUT. 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. For example, a program that generates large numbers of meaningless error messages implying it is on the point of imminent collapse. DEMIGOD n. Hacker with years of experience, a national reputation, and a major role in the development of at least one design, tool or game used by or known to more than 50% of the hacker community. To qualify as a genuine demigod, the person must recognizably identify with the hacker community and have helped shape it. Major demigods include Ken Thompson and Dennis Ritchie (co-inventors of UNIX and C) and Richard M. Stallman (inventor of EMACS). In their hearts of hearts most hackers dream of someday becoming demigods themselves, and more than one major software project has been driven to completion by the author's veiled hopes of apotheosis. See also NET.GOD, TRUE-HACKER. DEMON n. 1. [MIT] A portion of a program which is not invoked explicitly, but which lays 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. Demons 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. 2. [outside MIT] Often used equivalently to DAEMON, especially in the UNIX world where the latter spelling and pronunciation is considered mildly archaic. DEPRECATED n. 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. DE-REZZ (dee rez) [from the movie TRON] v. 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 slang, and adopted in a spirit of irony by real hackers years after the fact. DEVO (dee'vo) [orig. in-house slang at Symbolics] n. A person in a development group. See also DOCO and MANGO. DICKLESS WORKSTATION n. Extremely pejorative hackerism for ``diskless workstation'', a class of botches including the Sun 3/50 and other machines designed exclusively to network with an expensive central disk server. These combine all the disadvantages of time-sharing with all the disadvantages of distributed personal computers. DIDDLE v. To work with 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. DIFFS n. 1. Differences, especially difference in source code or documents. Includes additions. ``Send me your diffs for the jargon file!'' 2. (often in the singular DIFF) the output from the diff(1) utility, esp. when used as specification input to the patch(1) utility (which can actually perform the mods). This is a common method of distributing patches and source updates in the UNIX/C world. DIKE [from ``diagonal cutters''] v. To remove a module or disable it. ``When in doubt, dike it out.'' DING (ding) n.,v. Synonym for FEEP (q.v.). Usage: rare among hackers, but commoner in THE REAL WORLD. DINOSAUR n. Any hardware requiring raised flooring and special power. Used especially of old minis and mainframes when contrasted with newer microprocessor-based machines. In a famous quote from the '88 UNIX EXPO, Bill Joy compared the 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. 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. DISCORDIANISM (dis-kor'di-uhn-ism) n. The veneration of ERIS, aka Discordia; widely popular among hackers. Popularized by Robert Anton Wilson's _Illuminatus!_ trilogy 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. Usually connected with an elaborate conspiracy theory/joke involving millenia-long warfare between the anarcho-surrealist partisans of Eris and a malevolent, authoritarian secret society called the Illuminati. See Appendix C and HA HA ONLY SERIOUS. 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 program. DOCO (do'ko) [orig. in-house slang at Symbolics] n. A documentation writer. See also DEVO and MANGO. DO PROTOCOL [from network protocol programming] v. 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 the waitress for the check, calculate the tip and everybody's share, generate change as necessary, and pay the bill. DOGWASH [From a quip in the ``urgency'' field of a very optional software change request, about 1982. It was something like, ``Urgency: Wash your dog first.''] v.,n. A project of minimal priority, undertaken as an escape from more serious work. Also, to engage in such a project. Many games and much FREEWARE gets written this way. DON'T DO THAT, THEN interj. 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.'' Compare RTFM. DONGLE (don-gl) n. 1. A security device for commercial microcomputer programs consisting of a serialized EPROM and some drivers in an RS-232 connector shell. Programs that use a dongle query the port at startup and programmed intervals thereafter, and terminate if it does not respond with the dongle's programmed validation code. Thus, users could make as many copies of the program as they want but must pay for each dongle. The idea was clever but initially a failure, as users disliked tying up a serial port this way. Most dongles on the market today (1990) will pass 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 trended away from copy-protection schemes in general. 2. By extension, any physical electronic key or transferable ID required for a program to function. See DONGLE-DISK. DONGLE-DISK (don'g@l disk) n. See DONGLE; a DONGLE-DISK is a floppy disk with some coding which allows an application to identify it uniquely. It can therefore be used as a DONGLE. Also called a ``key disk''. DOORSTOP n. Used to describe equipment that is non-functional and halfway expected to remain so, especially obsolescent equipment kept around for political reasons or ostensibly as a backup. ``When we get another Wyse-50 in here that ADM3 will turn into a doorstop.'' Compare BOAT ANCHOR. DOT FILE [UNIX] n. A file that is not visible to normal directory-browsing tools (on UNIX, files named beginning with a dot are invisible). DOWN 1. adj. Not working. ``The up escalator is down.'' 2. TAKE DOWN, BRING DOWN: v. To deactivate, usually for repair work. See UP. DOWNLOAD v. 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 device. Oppose UPLOAD. DRAGON n. [MIT] A program similar to a ``daemon'' (q.v.), 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 are, what they're running, etc. along with some random picture (such as a unicorn, Snoopy, or the Enterprise) which is generated by the ``NAME DRAGON''. See PHANTOM. Usage: rare outside MIT -- under UNIX and most other OSs this would be called a `background DEMON' or `DAEMON' (q.v). DRAGON BOOK, THE n. Aho, Sethi and Ullman's classic compilers text _Principles_Of_Compiler_Design_, so called because of the cover design depicting a knight slaying a dragon labelled ``compiler complexity''. DRAIN [IBM] v. Syn. for FLUSH (sense 4). DRECNET (drek'net) [fr. Yiddish `dreck'] n. Deliberate distortion of DECNET, a networking protocol used in the VMS community. So-called because DEC helped write the Ethernet specification, and then (either stupidly or as a malignant customer-control tactic) violated that spec in the design of DRECNET (among other things, they implemented the wrong HEARTBEAT speed). DROOL-PROOF PAPER n. Documentation which 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''. DROP ON THE FLOOR vt. To discard silently. Example: ``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. DRUGGED adj., also ON DRUGS. Conspicuously stupid, heading towards BRAIN DAMAGE. Often accompanied by a pantomime of toking a joint. DRUNK MOUSE SYNDROME n. A malady exhibited by the mouse pointing device of some workstations. The typical symptom is for the mouse cursor on the screen to move to random directions and not in sync with the moving of the actual mouse. Can usually be corrected by unplugging the mouse and plugging it back again. DUSTY DECKS [a holdover from card-punch days] n. Old software (especially applications) with which one is obliged to remain compatible. Used esp. when referring to old scientific and number-crunching software, much of which was written in FORTRAN and very poorly documented but would be too expensive to replace. See FOSSIL. DWIM (dwim) [Do What I Mean] 1. adj. Able to guess, sometimes even correctly, what result was intended when provided with bogus input. Often suggested in jest as a desired feature for a complex program. A related term, more often seen as a verb, is DTRT (Do The Right Thing). 2. n. The INTERLISP function that attempts to accomplish this feat by correcting many of the more common errors. See HAIRY. = E = EASTER EGG n. 1. A message hidden in the object code of a program as a joke, intended to be found by persons disassembling or browsing the code. 2. A message, graphic, or sound-effect emitted by a program (or, on a PC, the BIOS ROM) in response to some undocumented set of commands or keystrokes, intended as a joke or to display program credits. One well-known early easter egg found in a couple of OSs and TECO caused them to respond to the command `make love' with `not war?'. Many personal computers (other than the IBM PC) have much more elaborate eggs hidden in ROM, including lists of the developers' names, political exhortations, snatches of music, and (in one case) graphics images of the entire development team. EASTER EGGING [IBM] n. The act of replacing unrelated parts more or less at random in hopes that a malfunction will go away. Hackers consider this the normal operating mode of FIELD CIRCUS techs and do not love them for it. EARTHQUAKE [IBM] n. The ultimate REAL WORLD shock test for computer hardware. Hacker sources at IBM deny the rumor that the Bay Area quake of 1989 was initiated by the company to test QA at its California plants. EIGHTY-COLUMN MIND [IBM] n. The sort said to be employed by persons for whom the transition from card to tape was traumatic (nobody has dared tell them about disks yet). It is said that these people will be buried `9-EDGE-FORWARD-FACE-DOWN'. [These people are thought by most hackers to dominate IBM's customer base, and its thinking -- ESR.] ELEGANT [from mathematical usage] adj. Combining simplicity, power, and a certain ineffable grace of design. Higher praise than `clever', `winning' or even CUSPY. ELEPHANTINE adj. Used of programs or systems which are both conspicuous HOGs (due perhaps to poor design founded on BRUTE FORCE AND IGNORANCE) and exceedingly HAIRY in source form. An elephantine program may be functional and even friendly, but (like the old joke about being in bed with an elephant) it's tough to have around all the same, esp. a bitch to maintain. In extreme cases, hackers have been known to make trumpeting sounds or perform expressive zoomorphic mime at the mention of the offending program. Usage: semi-humorous. Compare ``has the elephant nature'' and the somewhat more pejorative MONSTROSITY. See also SECOND-SYSTEM SYNDROME. EMACS (ee'maks) [from Editing MACroS] n. The ne plus ultra of hacker editors, a program editor with an entire LISP interpreter inside it. Originally written by Richard Stallman in TECO at the MIT-AI lab, but the most widely used versions now run under UNIX. It includes facilities to run compilation subprocesses and send and receive mail; many hackers spend up to 80% of their tube time inside it. EMAIL (ee-mayl) v.,n. Electronic mail. Contrast SNAIL-MAIL. EMOTICON (ee-moh'ti-cahn) n. An ASCII glyph used to indicate an emotional state in email or news. Hundreds have been proposed, but only a few are in common use. These include: :-) Smiley face (indicates laughter) :-( Frowney face (indicates sadness, anger or upset) ;-) Half-smiley (ha ha only serious), aka winkey face. :-/ Wry face Of these, the first two are by far the most frequently encountered. Hyphenless forms of them are common on CompuServe, GEnie and BIX; see also BIXIE. On USENET, ``smiley'' is often used as a generic (synonym for emoticon) as well as specifically for the happy-face emoticon. EMPIRE n. Any of a family of military simulations derived from a game written by Peter Langston many years ago. There are 5 or 6 multi-player variants of varying degrees of sophistication, and one single-player version implemented for both UNIX and VMS which is even available as MS-DOS freeware. All are notoriously addictive. EOF (ee-oh-ef) [UNIX/C] n. End Of File. 1. Refers esp. to whatever pseudo-character value is returned by C's sequential input functions (and their equivalents in other environments) when the logical end of file has been reached (this was 0 under V6 UNIX, is -1 under V7 and all subsequent versions and all non-UNIX C library implementations). 2. Used by extension in non-computer contexts when a human is doing something that can be modelled as a sequential read and can't go further. ``Yeah, I looked for a list of 360 mnemonics to post as a joke, but I hit EOF pretty fast, all the library had was a JCL manual.'' EPOCH, THE [UNIX] n. Syn. for ERA. EPSILON [from standard mathematical notation for a small quantity] 1. n. A small quantity of anything. ``The cost is epsilon.'' 2. adj. Very small, negligible; less than marginal. ``We can get this feature for epsilon cost.'' 3. WITHIN EPSILON OF: Close enough to be indistinguishable for all practical purposes. ERA, THE [from UNIX] n. The time and date corresponding to zero in an operating system's clock and timestamp values. Under most UNIX versions, midnight of January 1st 1970. System time is measured in TICKS past the era. Syn. with EPOCH. See TICKS, WALL TIME. ERIC CONSPIRACY n. Notional group of mustachioed hackers named Eric first pinpointed as a sinister conspiracy by an infamous talk.bizarre posting c. 1986; this was doubtless influenced by the numerous `Eric' jokes in the Monty Python oeuvre. There do indeed seem to be considerably more mustachioed hacker-Erics than the frequency of these three traits can account for unless they are correlated in some arcane way. Well known examples include your editor [ESR], Eric Allman of BSD fame, and Erik Fair (coauthor of NNTP); your editor has heard from about fourteen others by email. ERIS (e'r@s) pn. The Greco-Roman goddess of Chaos, Discord, Confusion and Things You Know Not Of; aka Discordia. Not a very friendly deity in the Classical original, she was re-invented as a more benign personification of creative anarchy starting in 1959 by the adherents of DISCORDIANISM and has since been a semi-serious subject of veneration in several `fringe' cultures including hackerdom. See DISCORDIANISM, CHURCH OF THE SUB-GENIUS. ESSENTIALS n. Things necessary to maintain a productive and secure hacking environment. ``A jug of wine, a loaf of bread, a 20-megahertz 80386 box with 8 meg of core and a 300-megabyte disk supporting full UNIX with source and X windows and EMACS and UUCP to a friendly Internet site, and thou.'' EVIL adj. As used by hackers, implies that some system, program, person or institution is sufficiently mal-designed as to be not worth the bother of dealing with. Unlike the adjectives in the CRETINOUS/LOSING/BRAIN-DAMAGED series, EVIL does not imply incompetence or bad design, but rather a set of goals or design criteria fatally incompatible with the speaker's. This is more an esthetic and engineering judgement than a moral one in the mainstream sense. ``We thought about adding an SNA interface but decided it was too evil to deal with.'' ``TECO is neat, but it can be pretty evil if you're prone to typos.'' EXCL (eks'kl) n. Abbreviation for ``exclamation point''. See BANG, SHRIEK, WOW. EXE (ex'ee) An executable binary file. Some operating systems use the extension .EXE to mark such files. This usage is also found among UNIX programmers even though UNIX executables don't have any required extension. EXEC (eg'zek) [shortened from ``executive'' or ``execute''] v.,n. 1. [UNIX] Synonym for CHAIN, derives from the exec(2) call. 2. (obs) The command interpreter for an OS (see SHELL); term esp. used on mainframes, and prob. derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.