This is an automatically generated difference report including new, changed and deleted entries from the second edition of TNHD (Jargon File release 3.0.0) up to the present. Trivial tweaks (such as typo fixes and additions to the cross-reference structure that don't change the actual content of the entry) have been omitted. The entries are dumped in raw form with Texinfo makup; this at least provides some information on fonts. This report covers the following versions: 3.1.0 3.2.0 3.3.0 3.3.1 3.3.2 3.3.3 4.0.0. It was generated on Thu Jul 25 23:19:32 EDT 1996 Some statistics follow the change report. ******************** New and Changed entries ******************** *** Changed in 3.1.0, 3.2.0. *** :0: Numeric zero, as opposed to the letter `O' (the 15th letter of the English alphabet). In their unmodified forms they look a lot alike, and various kluges invented to make them visually distinct have compounded the confusion. If your zero is center-dotted and letter-O is not, or if letter-O looks almost rectangular but zero looks more like an American football stood on end (or the reverse), you're probably looking at a modern character display (though the dotted zero seems to have originated as an option on IBM 3270 controllers). If your zero is slashed but letter-O is not, you're probably looking at an old-style ASCII graphic set descended from the default typewheel on the venerable ASR-33 Teletype (Scandinavians, for whom Slashed-O is a letter, curse this arrangement). If letter-O has a slash across it and the zero does not, your display is tuned for a very old convention used at IBM and a few other early mainframe makers (Scandinavians curse *this* arrangement even more, because it means two of their letters collide). Some Burroughs/Unisys equipment displays a zero with a *reversed* slash. And yet another convention common on early line printers left zero unornamented but added a tail or hook to the letter-O so that it resembled an inverted Q or cursive capital letter-O (this was endorsed by a draft ANSI standard for how to draw ASCII characters, but the final standard changed the distinguisher to a tick-mark in the upper-left corner). Are we sufficiently confused yet? *** New in 3.1.0. *** :4.2: /for' poynt too'/ /n./ Without a prefix, this almost invariably refers to @{BSD@} Unix release 4.2. Note that it is an indication of cluelessness to say "version 4.2", and "release 4.2" is rare; the number stands on its own, or is used in the more explicit forms 4.2BSD or (less commonly) BSD 4.2. Similar remarks apply to "4.3", "4.4" and to earlier, less-widespread releases 4.1 and 2.9. *** New in 3.3.3. *** :: /n./ [Usenet: alt.folklore.urban and elsewhere] Commonly used as a placeholder for omitted text in a followup message (not copying the whole parent message is considered good form). Refers, of course, to the celebrated mutilation of John Bobbitt. *** Changed in 3.3.2. *** :@-party: /at'par`tee/ /n./ [from the @-sign in an Internet address] (alt. `@-sign party' /at'si:n par`tee/) A semi-closed party thrown for hackers at a science-fiction convention (esp. the annual World Science Fiction Convention or "Worldcon"); one must have a @{network address@} to get in, or at least be in company with someone who does. One of the most reliable opportunities for hackers to meet face to face with people who might otherwise be represented by mere phosphor dots on their screens. Compare @{boink@}. The first recorded @-party was held at the Westercon (a California SF convention) over the July 4th weekend in 1980. It is not clear exactly when the canonical @-party venue shifted to the Worldcon but it had certainly become established by Constellation in 1983. *** New in 3.2.0. *** :AFAIK: // /n./ [Usenet] Abbrev. for "As Far As I Know". *** New in 3.2.0. Changed in 3.3.1. *** :ANSI: /an'see/ 1. /n./ [techspeak] The American National Standards Institute. ANSI, along with the International Organization for Standards (ISO), standardized the C programming language (see @{K&R@}, @{Classic C@}), and promulgates many other important software standards. 2. /n./ [techspeak] A terminal may be said to be `ANSI' if it meets the ANSI X.364 standard for terminal control. Unfortunately, this standard was both over-complicated and too permissive. It has been retired and replaced by the ECMA-48 standard, which shares both flaws. 3. /n./ [BBS jargon] The set of screen-painting codes that most MS-DOS and Amiga computers accept. This comes from the ANSI.SYS device driver that must be loaded on an MS-DOS computer to view such codes. Unfortunately, neither DOS ANSI nor the BBS ANSIs derived from it exactly match the ANSI X.364 terminal standard. For example, the ESC-[1m code turns on the bold highlight on large machines, but in IBM PC/MS-DOS ANSI, it turns on `intense' (bright) colors. Also, in BBS-land, the term `ANSI' is often used to imply that a particular computer uses or can emulate the IBM high-half character set from MS-DOS. Particular use depends on context. Occasionally, the vanilla ASCII character set is used with the color codes, but on BBSs, ANSI and `IBM characters' tend to go together. *** Changed in 3.2.0. *** :AOS: 1. /aws/ (East Coast), /ay'os/ (West Coast) /vt. obs./ To increase the amount of something. "AOS the campfire." [based on a PDP-10 increment instruction] Usage: considered silly, and now obsolete. Now largely supplanted by @{bump@}. See @{SOS@}® 2. /n./ A @{@{Multics@}@}-derived OS supported at one time by Data General. This was pronounced /A-O-S/ or /A-os/. A spoof of the standard AOS system administrator's manual ("How to Load and Generate your AOS System") was created, issued a part number, and circulated as photocopy folklore; it was called "How to Goad and Levitate your CHAOS System". 3. /n./ Algebraic Operating System, in reference to those calculators which use infix instead of postfix (reverse Polish) notation. 4. A @{BSD@}-like operating system for the IBM RT. Historical note: AOS in sense 1 was the name of a @{PDP-10@} instruction that took any memory location in the computer and added 1 to it; AOS meant `Add One and do not Skip'. Why, you may ask, does the `S' stand for `do not Skip' rather than for `Skip'? Ah, here was a beloved piece of PDP-10 folklore. There were eight such instructions: AOSE added 1 and then skipped the next instruction if the result was Equal to zero; AOSG added 1 and then skipped if the result was Greater than 0; AOSN added 1 and then skipped if the result was Not 0; AOSA added 1 and then skipped Always; and so on. Just plain AOS didn't say when to skip, so it never skipped. For similar reasons, AOJ meant `Add One and do not Jump'. Even more bizarre, SKIP meant `do not SKIP'¡ If you wanted to skip the next instruction, you had to say `SKIPA'® Likewise, JUMP meant `do not JUMP'; the unconditional form was JUMPA® However, hackers never did this. By some quirk of the 10's design, the @{JRST@} (Jump and ReSTore flag with no flag specified) was actually faster and so was invariably used. Such were the perverse mysteries of assembler programming. *** Changed in 3.2.0, 4.0.0. *** :ASCII art: /n./ The fine art of drawing diagrams using the ASCII character set (mainly `|', `-', `/', `\', and `+'). Also known as `character graphics' or `ASCII graphics'; see also @{boxology@}. Here is a serious example: o----)||(--+--|<----+ +---------o + D O L )||( | | | C U A I )||( +-->|-+ | +-\/\/-+--o - T C N )||( | | | | P E )||( +-->|-+--)---+--)|--+-o U )||( | | | GND T o----)||(--+--|<----+----------+ A power supply consisting of a full wave rectifier circuit feeding a capacitor input filter circuit And here are some very silly examples: |\/\/\/| ____/| ___ |\_/| ___ | | \ o.O| ACK! / \_ |` '| _/ \ | | =(_)= THPHTH! / \/ \/ \ | (o)(o) U / \ C _) (__) \/\/\/\ _____ /\/\/\/ | ,___| (oo) \/ \/ | / \/-------\ U (__) /____\ || | \ /---V `v'- oo ) / \ ||---W|| * * |--| || |`. |_/\ //-o-\\ ____---=======---____ ====___\ /.. ..\ /___==== Klingons rule OK! // ---\__O__/--- \\ \_\ /_/ There is an important subgenre of ASCII art that puns on the standard character names in the fashion of a rebus. +--------------------------------------------------------+ | ^^^^^^^^^^^^ | | ^^^^^^^^^^^ ^^^^^^^^^ | | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ | | ^^^^^^^ B ^^^^^^^^^ | | ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ | +--------------------------------------------------------+ " A Bee in the Carrot Patch " Within humorous ASCII art, there is for some reason an entire flourishing subgenre of pictures of silly cows. Four of these are reproduced in the silly examples above, here are three more: (__) (__) (__) (\/) ($$) (**) /-------\/ /-------\/ /-------\/ / | 666 || / |=====|| / | || * ||----|| * ||----|| * ||----|| ~~ ~~ ~~ ~~ ~~ ~~ Satanic cow This cow is a Yuppie Cow in love Finally, here's a magnificent example of ASCII art depicting an Edwardian train station in Dunedin, New Zealand: .-. /___\ |___| |]_[| / I \ JL/ | \JL .-. i () | () i .-. |_| .^. /_\ LJ=======LJ /_\ .^. |_| ._/___\._./___\_._._._._.L_J_/.-. .-.\_L_J._._._._._/___\._./___\._._._ ., |-,-| ., L_J |_| [I] |_| L_J ., |-,-| ., ., JL |-O-| JL L_J%%%%%%%%%%%%%%%L_J JL |-O-| JL JL IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_ -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]- _/\_ ||\\_I_//|| _/\_ [_] []_/_L_J_\_[] [_] _/\_ ||\\_I_//|| _/\_ ||\ |__| ||=/_|_\=|| |__|_|_| _L_L_J_J_ |_|_|__| ||=/_|_\=|| |__| ||- |__| |||__|__||| |__[___]__--__===__--__[___]__| |||__|__||| |__| ||| IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_] \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_] ./ \.L_J/ \L_J./ L_JI I[]/ \[]I IL_J \.L_J/ \L_J./ \.L_J | |L_J| |L_J| L_J| |[]| |[]| |L_J |L_J| |L_J| |L_J |_____JL_JL___JL_JL____|-|| |[]| |[]| ||-|_____JL_JL___JL_JL_____JL_J There is a newsgroup, alt.ascii.art, devoted to this genre; however, see also @{warlording@}. *** New in 3.2.0. *** :Acme: /n./ The canonical supplier of bizarre, elaborate, and non-functional gadgetry - where Rube Goldberg and Heath Robinson shop. Describing some X as an "Acme X" either means "This is @{insanely great@}", or, more likely, "This looks @{insanely great@} on paper, but in practice it's really easy to shoot yourself in the foot with it." Compare @{pistol@}. This term, specially cherished by American hackers and explained here for the benefit of our overseas brethren, comes from the Warner Brothers' series of "Roadrunner" cartoons. In these cartoons, the famished Wile E. Coyote was forever attempting to catch up with, trap, and eat the Roadrunner. His attempts usually involved one or more high-technology Rube Goldberg devices - rocket jetpacks, catapults, magnetic traps, high-powered slingshots, etc. These were usually delivered in large cardboard boxes, labeled prominently with the Acme name. These devices invariably malfunctioned in violent and improbable ways. *** Changed in 3.2.0. *** :BASIC: /bay'-sic/ /n./ [acronym: Beginner's All-purpose Symbolic Instruction Code] A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which has since become the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." This is another case (like @{Pascal@}) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer (a) is very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year. [1995: Some languages called `BASIC' aren't quite this nasty any more, having acquired Pascal- and C-like procedures and control structures and shed their line numbers. --ESR] *** Changed in 3.2.0. *** :BLOB: 1. /n./ [acronym: Binary Large OBject] Used by database people to refer to any random large block of bits that needs to be stored in a database, such as a picture or sound file. The essential point about a BLOB is that it's an object that cannot be interpreted within the database itself. 2. /v./ To @{mailbomb@} someone by sending a BLOB to him/her; esp. used as a mild threat. "If that program crashes again, I'm going to BLOB the core dump to you." *** New in 3.3.2. *** :BOFH: // /n./ Acronym, Bastard Operator From Hell. A system administrator with absolutely no tolerance for @{luser@}s. "You say you need more filespace? Seems to me you have plenty left..." Many BOFHs (and others who would be BOFHs if they could get away with it) hang out in the newsgroup alt.sysadmin.recovery, although there has also been created a top-level newsgroup hierarchy (bofh.*) of their own. Several people have written stories about BOFHs. The set usually considered canonical is by Simon Travaglia and may be found at the Bastard Home Page, http://prime-mover.cc.waikato.ac.nz/Bastard.html. *** Changed in 3.1.0. *** :BSD: /B-S-D/ /n./ [abbreviation for `Berkeley Software Distribution'] a family of @{@{Unix@}@} versions for the @{DEC@} @{VAX@} and PDP-11 developed by Bill Joy and others at @{Berzerkeley@} starting around 1980, incorporating paged virtual memory, TCP/IP networking enhancements, and many other features. The BSD versions (4.1, 4.2, and 4.3) and the commercial versions derived from them (SunOS, ULTRIX, and Mt. Xinu) held the technical lead in the Unix world until AT&T's successful standardization efforts after about 1986, and are still widely popular. Note that BSD versions going back to 2.9 are often referred to by their version numbers, without the BSD prefix. See @{4.2@}, @{@{Unix@}@}, @{USG Unix@}® *** New in 4.0.0. *** :Black Screen of Death: n. [prob. related to the Floating Head of Death in a famous "Far Side" cartoon.] A failure mode of @{Microsloth Windows@}. On an attempt to launch a DOS box, a networked Windows system not uncommonly blanks the screen and locks up the PC so hard that it requires a cold @{boot@} to recover. This unhappy phenomenon is known as The Black Screen of Death. *** New in 3.3.2. *** :Black Thursday: n. February 8th, 1996 - the day of the signing into law of the @{CDA@}, so called by analogy with the catastrophic "Black Friday" in 1929 that began the Great Depression. *** New in 3.3.2. *** :BrokenWindows: /n./ Abusive hackerism for the @{crufty@} and @{elephantine@} @{X@} environment on Sun machines; properly called `OpenWindows'. *** Changed in 3.2.0. *** :C: /n./ 1. The third letter of the English alphabet. 2. ASCII 1000011. 3. The name of a programming language designed by Dennis Ritchie during the early 1970s and immediately used to reimplement @{@{Unix@}@}; so called because many features derived from an earlier compiler named `B' in commemoration of *its* parent, BCPL. (BCPL was in turn descended from an earlier Algol-derived language, CPL.) 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 also @{languages of choice@}, @{indent style@}. C is often described, with a mixture of fondness and disdain varying according to the speaker, as "a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language". *** New in 3.3.2. *** :C++: /C'-pluhs-pluhs/ /n./ Designed by Bjarne Stroustrup of AT&T Bell Labs as a successor to @{C@}. Now one of the @{languages of choice@}, although many hackers still grumble that it is the successor to either Algol 68 or @{Ada@} (depending on generation), and a prime example of @{second-system effect@}. Almost anything that can be done in any language can be done in C++, but it requires a @{language lawyer@} to know what is and what is not legal-- the design is *almost* too large to hold in even hackers' heads. Much of the @{cruft@} results from C++'s attempt to be backward compatible with C. Stroustrup himself has said in his retrospective book "The Design and Evolution of C++" (p. 207), "Within C++, there is a much smaller and cleaner language struggling to get out." [Many hackers would now add "Yes, and it's called Java" --ESR] *** New in 3.3.2. *** :CDA: /C-D-A/ The "Communications Decency Act" of 1996, passed on @{Black Thursday@} as section 502 of a major telecommunications reform bill. The CDA made it a federal crime in the USA to send a communication which is "obscene, lewd, lascivious, filthy, or indecent, with intent to annoy, abuse, threaten, or harass another person." It also threatens with imprisonment anyone who "knowingly" makes accessible to minors any message that "describes, in terms patently offensive as measured by contemporary community standards, sexual or excretory activities or organs". While the CDA was sold as a measure to protect minors from the putative evils of pornography, the repressive political aims of the bill were laid bare by the Hyde amendment, which intended to outlaw discussion of abortion on the Internet. To say that this direct attack on First Amendment free-speech rights was not well received on the Internet would be putting it mildly. A firestorm of protest followed, including a February 29th mass demonstration by thousands of netters who turned their @{home page@}s black for 48 hours. Several civil-rights groups and computing/telecommunications companies sought an immediate injunction to block enforcement of the CDA pending a constitutional challenge. This injunction was granted on the likelihood that plaintiffs would prevail on the merits of the case. At time of writing (Spring 1996), the fate of the CDA, and its effect on the Internet, is still unknown. See also @{Exon@}. To join the fight against the CDA (if it's still law) and other forms of Internet censorship, visit the Center for Democracy and Technology Home Page at http://www.cdt.org. *** Changed in 3.2.0. *** :COBOL: /koh'bol/ /n./ [COmmon Business-Oriented Language] (Synonymous with @{evil@}.) A weak, verbose, and flabby language used by @{card walloper@}s to do boring mindless things on @{dinosaur@} mainframes. Hackers believe that all COBOL programmers are @{suit@}s or @{code grinder@}s, and no self-respecting hacker will ever admit to having learned the language. Its very name is seldom uttered without ritual expressions of disgust or horror. One popular one is Edsger W. Dijkstra's famous observation that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." (from "Selected Writings on Computing: A Personal Perspective") See also @{fear and loathing@}, @{software rot@}. *** Changed in 3.1.0. *** :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@}. *** New in 3.3.0. *** :Camel Book: /n./ Universally recognized nickname for the book "Programming Perl", by Larry Wall and Randal L. Schwartz, O'Reilly Associates 1991, ISBN 0-937175-64-1. The definitive reference on @{Perl@}. *** New in 3.2.0. *** :Code of the Geeks: /n./ see @{geek code@}. *** Changed in 3.2.0. *** :Commonwealth Hackish:: /n./ Hacker jargon as spoken in English outside the U.S., esp. in the British Commonwealth. It is reported that Commonwealth speakers are more likely to pronounce truncations like `char' and `soc', etc., as spelled (/char/, /sok/), as opposed to American /keir/ and /sohsh/. Dots in @{newsgroup@} names (especially two-component names) tend to be pronounced more often (so soc.wibble is /sok dot wib'l/ rather than /sohsh wib'l/). The prefix @{meta@} may be pronounced /mee't*/; similarly, Greek letter beta is usually /bee't*/, zeta is usually /zee't*/, and so forth. Preferred @{metasyntactic variable@}s include @{blurgle@}, `eek', `ook', `frodo', and `bilbo'; @{wibble@}, `wobble', and in emergencies `wubble'; `flob', `banana', `tom', `dick', `harry', `wombat', `frog', @{fish@}, and so on and on (see @{foo@}, sense 4). Alternatives to verb doubling include suffixes `-o-rama', `frenzy' (as in feeding frenzy), and `city' (examples: "barf city!" "hack-o-rama!" "core dump frenzy!"). Finally, note that the American terms `parens', `brackets', and `braces' for (), [], and {} are uncommon; Commonwealth hackish prefers `brackets', `square brackets', and `curly brackets'. Also, the use of `pling' for @{bang@} is common outside the United States. See also @{attoparsec@}, @{calculator@}, @{chemist@}, @{console jockey@}, @{fish@}, @{go-faster stripes@}, @{grunge@}, @{hakspek@}, @{heavy metal@}, @{leaky heap@}, @{lord high fixer@}, @{loose bytes@}, @{muddie@}, @{nadger@}, @{noddy@}, @{psychedelicware@}, @{plingnet@}, @{raster blaster@}, @{RTBM@}, @{seggie@}, @{spod@}, @{sun lounge@}, @{terminal junkie@}, @{tick-list features@}, @{weeble@}, @{weasel@}, @{YABA@}, and notes or definitions under @{Bad Thing@}, @{barf@}, @{bogus@}, @{bum@}, @{chase pointers@}, @{cosmic rays@}, @{crippleware@}, @{crunch@}, @{dodgy@}, @{gonk@}, @{hamster@}, @{hardwarily@}, @{mess-dos@}, @{nybble@}, @{proglet@}, @{root@}, @{SEX@}, @{tweak@}, and @{xyzzy@}. *** Changed in 3.3.2. *** :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). *** Changed in 3.2.0. *** :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@}. *** Changed in 3.3.0, 3.3.1. *** :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] *** Changed in 3.3.0. *** :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@}). *** New in 3.1.0. Changed in 3.3.0. *** :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. *** Changed in 3.1.0. *** :Devil Book: /n./ See @{daemon book@}, the term preferred by its authors. *** New in 4.0.0. *** :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@}. *** Changed in 4.0.0. *** :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@}. *** Changed in 3.1.0. *** :El Camino Bignum: /el' k*-mee'noh big'nuhm/ /n./ The road mundanely called El Camino Real, running along San Francisco peninsula. It originally extended all the way down to Mexico City; many portions of the old road are still intact. Navigation on the San Francisco peninsula is usually done relative to El Camino Real, which defines @{logical@} north and south even though it isn't really north-south in many places. El Camino Real runs right past Stanford University and so is familiar to hackers. The Spanish word `real' (which has two syllables: /ray-ahl'/) means `royal'; El Camino Real is `the royal road'. In the FORTRAN language, a `real' quantity is a number typically precise to seven significant digits, and a `double precision' quantity is a larger floating-point number, precise to perhaps fourteen significant digits (other languages have similar `real' types). When a hacker from MIT visited Stanford in 1976, he remarked what a long road El Camino Real was. Making a pun on `real', he started calling it `El Camino Double Precision' -- but when the hacker was told that the road was hundreds of miles long, he renamed it `El Camino Bignum', and that name has stuck. (See @{bignum@}.) In recent years, the synonym `El Camino Virtual' has been reported as an alternate at IBM and Amdahl sites in the Valley. [GLS has since let slip that the unnamed hacker in this story was in fact he --ESR] *** New in 3.3.2. *** :Exon: /eks'on/ /excl./ A generic obscenity that quickly entered wide use on the Internet and Usenet after @{Black Thursday@}. From the last name of Senator James Exon (Democrat-Nevada), primary author of the @{CDA@}. *** Changed in 3.3.0. *** :FM: /F-M/ /n./ 1. *Not* `Frequency Modulation' but rather an abbreviation for `Fucking Manual', the back-formation from @{RTFM@}. Used to refer to the manual itself in the @{RTFM@}. "Have you seen the Networking FM lately?" 2. Abbreviation for "Fucking Magic", used in the sense of @{black magic@}. *** New in 3.3.0. *** :FRS: // /n./ Abbreviation for "Freely Redistributable Software" which entered general use on the Internet in 1995 after years of low-level confusion over what exactly to call software written to be passed around and shared (contending terms including @{freeware@}, @{shareware@}, and `sourceware' were never universally felt to be satisfactory for various subtle reasons). The first formal conference on freely redistributable software was held in Cambridge, Massachussetts, in February 1996 (sponsored by the Free Software Foundation). The conference organizers used the FRS abbreviation heavily in its calls for papers and other literature during 1995; this was probably critical in helping establish the term. *** New in 3.3.1. *** :FSF: /F-S-F/ /abbrev./ Common abbreviation (both spoken and written) for the name of the Free Software Foundation, a nonprofit educational association formed to support the @{GNU@} project. *** Changed in 4.0.0, 4.0.0. *** :FidoNet: /n./ A worldwide hobbyist network of personal computers which exchanges mail, discussion groups, and files. Founded in 1984 and originally consisting only of IBM PCs and compatibles, FidoNet now includes such diverse machines as Apple ][s, Ataris, Amigas, and Unix systems. FidoNet has grown rapidly and in early 1996 has approximately 38000 nodes. *** Changed in 3.3.2. *** :Finagle's Law: /n./ The generalized or `folk' version of @{Murphy's Law@}, fully named "Finagle's Law of Dynamic Negatives" and usually rendered "Anything that can go wrong, will". One variant favored among hackers is "The perversity of the Universe tends towards a maximum" (but see also @{Hanlon's Razor@}). The label `Finagle's Law' was popularized by SF author Larry Niven in several stories depicting a frontier culture of asteroid miners; this `Belter' culture professed a religion and/or running joke involving the worship of the dread god Finagle and his mad prophet Murphy. Some technical and scientific cultures (e.g., paleontologists) know it under the name `Sod's Law'; this usage may be more common in Great Britain. *** New in 3.2.0. *** :Full Monty, the: /n./ See @{monty@}, sense 2. *** New in 3.3.0. *** :GIFs at 11: [Fidonet] Fidonet alternative to @{film at 11@}, especially in echoes (Fidonet topic areas) where uuencoded GIFs are permitted. Other formats, especially JPEG and MPEG, may be referenced instead. *** Changed in 3.3.0, 3.3.2. *** :GOSMACS: /goz'maks/ /n./ [contraction of `Gosling EMACS'] The first @{EMACS@}-in-C implementation, predating but now largely eclipsed by @{GNUMACS@}® Originally freeware; a commercial version is now modestly popular as `UniPress EMACS'® The author, James Gosling, went on to invent @{NeWS@} and the programming language Java; the latter earned him @{demigod@} status. *** New in 3.1.0. *** :Genius From Mars Technique: /n./ [TMRC] A visionary quality which enables one to ignore the standard approach and come up with a totally unexpected new algorithm. An attack on a problem from an offbeat angle that no one has ever thought of before, but that in retrospect makes total sense. Compare @{grok@}, @{zen@}. *** Changed in 3.3.0. *** :Get a real computer!: /imp./ Typical hacker response to news that somebody is having trouble getting work done on a system that (a) is single-tasking, (b) has no hard disk, or (c) has an address space smaller than 16 megabytes. This is as of early 1996; note that the threshold for `real computer' rises with time. See @{bitty box@} and @{toy@}. *** New in 3.1.0. *** :Godwin's Law: /prov./ [Usenet] "As a Usenet discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one." There is a tradition in many groups that, once this occurs, that thread is over, and whoever mentioned the Nazis has automatically lost whatever argument was in progress. Godwin's Law thus practically guarantees the existence of an upper bound on thread length in those groups. *** Changed in 4.0.0. *** :Hanlon's Razor: /prov./ A corollary of @{Finagle's Law@}, similar to Occam's Razor, that reads "Never attribute to malice that which can be adequately explained by stupidity." The derivation of the Hanlon eponym is not definitely known, but a very similar remark ("You have attributed conditions to villainy that simply result from stupidity.") appears in "Logic of Empire", a 1941 story by Robert A. Heinlein, who calls it the `devil theory' of sociology. Heinlein's popularity in the hacker culture makes plausible the supposition that `Hanlon' is derived from `Heinlein' by phonetic corruption. A similar epigram has been attributed to William James, but Heinlein more probably got the idea from Alfred Korzybski and other practitioners of General Semantics. Quoted here because it seems to be a particular favorite of hackers, often showing up in @{sig block@}s, @{fortune cookie@} files and the login banners of BBS systems and commercial networks. This probably reflects the hacker's daily experience of environments created by well-intentioned but short-sighted people. Compare @{Sturgeon's Law@}. *** New in 3.3.0. *** :ISP: /I-S-P/ Common abbreviation for Internet Service Provider, a kind of company that barely existed before 1993. ISPs sell Internet access to the mass market. While the big nationwide commercial BBSs with Internet access (like America Online, CompuServe, GEnie, Netcom, etc.) are technically ISPs, the term is usually reserved for local or regional small providers (often run by hackers turned entrepreneurs) who resell Internet access cheaply without themselves being information providers or selling advertising. Compare @{NSP@}. *** New in 3.2.0. *** :Infocom: /n./ A now-legendary games company, active from 1979 to 1989, that commercialized the MDL parser technology used for @{Zork@} to produce a line of text adventure games that remain favorites among hackers. Infocom's games were intelligent, funny, witty, erudite, irreverent, challenging, satirical, and most thoroughly hackish in spirit. The physical game packages from Infocom are now prized collector's items. The software, thankfully, is still extant; Infocom games were written in a kind of P-code and distributed with a P-code interpreter core, and freeware emulators for that interpreter have been written to permit the P-code to be run on platforms the games never originally graced. *** New in 4.0.0. *** :Internet:: /n./ The mother of all networks. First incarnated beginning in 1969 as the ARPANET, a U.S. Department of Defense research testbed. Though it has been widely believed that the goal was to develop a network architecture for military command-and-control that could survive disruptions up to and including nuclear war, this is a myth; in fact, ARPANET was conceived from the start as a way to get most economical use out of then-scarce large-computer resources. As originally imagined, ARPANET's major use would have been to support what is now called remote login and more sophisticated forms of distributed computing, but the infant technology of electronic mail quickly grew to dominate actual usage. Universities, research labs and defense contractors early discovered the Internet's potential as a medium of communication between *humans* and linked up in steadily increasing numbers, connecting together a quirky mix of academics, techies, hippies, SF fans, hackers, and anarchists. The roots of this lexicon lie in those early years. Over the next quarter-century the Internet evolved in many ways. The typical machine/OS combination moved from DEC @{PDP-10@}s and @{PDP-20@}s, running @{TOPS-10@} and @{TOPS-20@}, to PDP-11s and VAXes and Suns running @{Unix@}, and in the 1990s to Unix on Intel microcomputers. The Internet's protocols grew more capable, most notably in the move from NCP/IP to @{TCP/IP@} in 1982 and the implementation of Domain Name Service in 1983. With TCP/IP and DNS in place. It was around this time that people began referring to the collection of interconnected networks with ARPANET at its core as "the Internet". The ARPANET had a fairly strict set of participation guidelines - connected institutions had to be involved with a DOD-related research project. By the mid-80s, many of the organizations clamoring to join didn't fit this profile. In 1986, the National Science Foundation built NSFnet to open up access to its five regional supercomputing centers; NSFnet became the backbone of the Internet, replacing the original ARPANET pipes (which were formally shut down in 1990). Between 1990 and late 1994 the pieces of NSFnet were sold to major telecommunications companies until the Internet backbone had gone completely commercial. That year, 1994, was also the year the mainstream culture discovered the Internet. Once again, the @{killer app@} was not the anticipated one - rather, what caught the public imagination was the hypertext and multimedia features of the World Wide Web. As of early 1996, the Internet has seen off its only serious challenger (the OSI protocol stack favored by European telecom monopolies) and is in the process of absorbing into itself many of of the proprietary networks built during the second wave of wide-area networking after 1980. It is now a commonplace even in mainstream media to predict that a globally-extended Internet will become the key unifying communications technology of the next century. See also @{network, the@} and @{Internet address@}. *** New in 3.1.0. Changed in 3.3.0, 3.3.1, 3.3.3. *** :Linux:: /lee'nuhks/ or /li'nuks/, *not* /li:'nuhks/ /n./ The free Unix workalike created by Linus Torvalds and friends starting about 1990 (the pronunciation /lee'nuhks/ is preferred because the name `Linus' has an /ee/ sound in Swedish). This may be the most remarkable hacker project in history -- an entire clone of Unix for 386, 486 and Pentium micros, distributed for free with sources over the net (ports to Alpha and Sparc-based machines are underway). This is what @{GNU@} aimed to be, but the Free Software Foundation has not (as of early 1996) produced the kernel to go with its Unix toolset (which Linux uses). Other, similar efforts like FreeBSD and NetBSD have been much less successful. The secret of Linux's success seems to be that Linus worked much harder early on to keep the development process open and recruit other hackers, creating a snowball effect. *** Changed in 4.0.0. *** :Lions Book: /n./ "Source Code and Commentary on Unix level 6", by John Lions. The two parts of this book contained (1) the entire source listing of the Unix Version 6 kernel, and (2) a commentary on the source discussing the algorithms. These were circulated internally at the University of New South Wales beginning 1976-77, and were, for years after, the *only* detailed kernel documentation available to anyone outside Bell Labs. Because Western Electric wished to maintain trade secret status on the kernel, the Lions Book was only supposed to be distributed to affiliates of source licensees. In spite of this, it soon spread by samizdat to a good many of the early Unix hackers. [1996 update: The Lions book lives again! It will finally see legal public print as ISBN 1-57398-013-7 from Peer-To-Peer Communications, with a forward by Dennis Ritchie.] *** Changed in 3.2.0. *** :Live Free Or Die!: /imp./ 1. The state motto of New Hampshire, which appears on that state's automobile license plates. 2. A slogan associated with Unix in the romantic days when Unix aficionados saw themselves as a tiny, beleaguered underground tilting against the windmills of industry. The "free" referred specifically to freedom from the @{fascist@} design philosophies and crufty misfeatures common on commercial operating systems. Armando Stettner, one of the early Unix developers, used to give out fake license plates bearing this motto under a large Unix, all in New Hampshire colors of green and white. These are now valued collector's items. Recently (1994) an inferior imitation of these has been put in circulation with a red corporate logo added. *** Changed in 3.1.0. *** :MFTL: /M-F-T-L/ [abbreviation: `My Favorite Toy Language'] 1. /adj./ Describes a talk on a programming language design that is heavy on the syntax (with lots of BNF), sometimes even talks about semantics (e.g., type systems), but rarely, if ever, has any content (see @{content-free@}). More broadly applied to talks -- even when the topic is not a programming language -- in which the subject matter is gone into in unnecessary and meticulous detail at the sacrifice of any conceptual content. "Well, it was a typical MFTL talk". 2. /n./ Describes a language about which the developers are passionate (often to the point of proselytic zeal) but no one else cares about. Applied to the language by those outside the originating group. "He cornered me about type resolution in his MFTL." The first great goal in the mind of the designer of an MFTL is usually to write a compiler for it, then bootstrap the design away from contamination by lesser languages by writing a compiler for it in itself. Thus, the standard put-down question at an MFTL talk is "Has it been used for anything besides its own compiler?" On the other hand, a language that cannot even be used to write its own compiler is beneath contempt. See @{break-even point@}. (On a related note, Doug McIlroy once proposed a test of the generality and utility of a language and the operating system under which it is compiled: "Is the output of a FORTRAN program acceptable as input to the FORTRAN compiler?" In other words, can you write programs that write programs? (See @{toolsmith@}.) Alarming numbers of (language, OS) pairs fail this test, particularly when the language is FORTRAN; aficionados are quick to point out that @{Unix@} (even using FORTRAN) passes it handily. That the test could ever be failed is only surprising to those who have had the good fortune to have worked only under modern systems which lack OS-supported and -imposed "file types".) *** Changed in 3.3.0, 3.3.3. *** :MUD: /muhd/ /n./ [acronym, Multi-User Dungeon; alt. Multi-User Dimension] 1. A class of @{virtual reality@} experiments accessible via the Internet. These are real-time chat forums with structure; they have multiple `locations' like an adventure game, and may include combat, traps, puzzles, magic, a simple economic system, and the capability for characters to build more structure onto the database that represents the existing world. 2. /vi./ To play a MUD. The acronym MUD is often lowercased and/or verbed; thus, one may speak of `going mudding', etc. Historically, MUDs (and their more recent progeny with names of MU- form) derive from a hack by Richard Bartle and Roy Trubshaw on the University of Essex's DEC-10 in the early 1980s; descendants of that game still exist today and are sometimes generically called BartleMUDs. There is a widespread myth (repeated, unfortunately, by earlier versions of this lexicon) that the name MUD was trademarked to the commercial MUD run by Bartle on British Telecom (the motto: "You haven't *lived* 'til you've *died* on MUD!"); however, this is false -- Richard Bartle explicitly placed `MUD' in the public domain in 1985. BT was upset at this, as they had already printed trademark claims on some maps and posters, which were released and created the myth. Students on the European academic networks quickly improved on the MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD)® Many of these had associated bulletin-board systems for social interaction. Because these had an image as `research' they often survived administrative hostility to BBSs in general. This, together with the fact that Usenet feeds were often spotty and difficult to get in the U.K., made the MUDs major foci of hackish social interaction there. AberMUD and other variants crossed the Atlantic around 1988 and quickly gained popularity in the U.S.; they became nuclei for large hacker communities with only loose ties to traditional hackerdom (some observers see parallels with the growth of Usenet in the early 1980s). The second wave of MUDs (TinyMUD and variants) tended to emphasize social interaction, puzzles, and cooperative world-building as opposed to combat and competition. By 1991, over 50% of MUD sites were of a third major variety, LPMUD, which synthesizes the combat/puzzle aspects of AberMUD and older systems with the extensibility of TinyMud. In 1996 the cutting edge of the technology is Pavel Curtis's MOO, even more extensible using a built-in object-oriented language. The trend toward greater programmability and flexibility will doubtless continue. The state of the art in MUD design is still moving very rapidly, with new simulation designs appearing (seemingly) every month. Around 1991 there was an unsuccessful movement to deprecate the term @{MUD@} itself, as newer designs exhibit an exploding variety of names corresponding to the different simulation styles being explored. It survived. See also @{bonk/oif@}, @{FOD@}, @{link-dead@}, @{mudhead@}, @{talk mode@}. *** Changed in 3.1.0, 3.2.0, 3.3.0. *** :Moof: /moof/ [Macintosh users] 1. /n./ The call of a semi-legendary creature, properly called the @{dogcow@}. (Some previous versions of this entry claimed, incorrectly, that Moof was the name of the *creature*.) 2. /adj./ Used to flag software that's a hack, something untested and on the edge. On one Apple CD-ROM, certain folders such as "Tools & Apps (Moof!)" and "Development Platforms (Moof!)", are so marked to indicate that they contain software not fully tested or sanctioned by the powers that be. When you open these folders you cross the boundary into hackerland. 3. /v./ On the Microsoft Network, the term `moof' has gained popularity as a verb meaning `to be suddenly disconnected by the system'. One might say "I got moofed". *** Changed in 3.3.0. *** :Moore's Law: /morz law/ /prov./ The observation that the logic density of silicon integrated circuits has closely followed the curve (bits per square inch) = 2^((t - 1962)) where t is time in years; that is, the amount of information storable on a given amount of silicon has roughly doubled every year since the technology was invented. This relation, first uttered in 1964 by semiconductor engineer Gordon Moore (who co-founded Intel four years later) held until the late 1970s, at which point the doubling period slowed to 18 months. It remained at that value through time of writing (late 1995). See also @{Parkinson's Law of Data@}. *** Changed in 3.1.0. *** :NMI: /N-M-I/ /n./ Non-Maskable Interrupt. An IRQ 7 on the PDP-11 or 680[01234]0; the NMI line on an 80[1234]86. In contrast with a @{priority interrupt@} (which might be ignored, although that is unlikely), an NMI is *never* ignored. Except, that is, on @{clone@} boxes, where NMI is often ignored on the motherboard because flaky hardware can generate many spurious ones. *** Changed in 4.0.0. *** :NP-: /N-P/ /pref./ Extremely. Used to modify adjectives describing a level or quality of difficulty; the connotation is often `more so than it should be' This is generalized from the computer-science terms `NP-hard' and `NP-complete'; NP-complete problems all seem to be very hard, but so far no one has found a good a priori reason that they should be. NP is the set of Nondeterministic-Polynomial algorithms, those that can be completed by a nondeterministic Turing machine in an amount of time that is a polynomial function of the size of the input; a solution for one NP-complete problem would solve all the others. "Coding a BitBlt implementation to perform correctly in every case is NP-annoying." *** New in 3.3.2. *** :NSP: /N-S-P/ /n./ Common abbreviation for `Network Service Provider', one of the big national or regional companies that maintains a portion of the Internet backbone and resells connectivity to @{ISP@}s. In 1996, major NSPs include ANS, MCI, UUNET, and Sprint. An Internet wholesaler. *** Changed in 3.3.2. *** :New Testament: /n./ [C programmers] The second edition of K&R's "The C Programming Language" (Prentice-Hall, 1988; ISBN 0-13-110362-8), describing ANSI Standard C® See @{K&R@}; this version is also called `K&R2'. *** Changed in 3.1.0. *** :Nominal Semidestructor: /n./ Soundalike slang for `National Semiconductor', found among other places in the Networking/2 networking sources. During the late 1970s to mid-1980s this company marketed a series of microprocessors including the NS16000 and NS32000 and several variants. At one point early in the great microprocessor race, the specs on these chips made them look like serious competition for the rising Intel 80x86 and Motorola 680x0 series. Unfortunately, the actual parts were notoriously flaky and never implemented the full instruction set promised in their literature, apparently because the company couldn't get any of the mask steppings to work as designed. They eventually sank without trace, joining the Zilog Z8000 and a few even more obscure also-rans in the graveyard of forgotten microprocessors. Compare @{HP-SUX@}, @{AIDX@}, @{buglix@}, @{Macintrash@}, @{Telerat@}, @{Open DeathTrap@}, @{ScumOS@}, @{sun-stools@}. *** New in 3.1.0. *** :OSU: /O-S-U/ /n. obs./ [TMRC] Acronym for Officially Sanctioned User; a user who is recognized as such by the computer authorities and allowed to use the computer above the objections of the security monitor. *** New in 3.2.0. *** :OTOH: // [USENET] On The Other Hand. *** New in 3.3.0. *** :Pangloss parity: /n./ [from Dr. Pangloss, the eternal optimist in Voltaire's "Candide"] In corporate DP shops, a common condition of severe but equally shared @{lossage@} resulting from the theory that as long as everyone in the organization has the exactly the *same* model of obsolete computer, everything will be fine. *** Changed in 3.1.0. *** :Perl: /perl/ /n./ [Practical Extraction and Report Language, a.k.a. Pathologically Eclectic Rubbish Lister] An interpreted language developed by Larry Wall (, author of `patch(1)' and `rn(1)') and distributed over Usenet. Superficially resembles @{awk@}, but is much hairier, including many facilities reminiscent of `sed(1)' and shells and a comprehensive Unix system-call interface. Unix sysadmins, who are almost always incorrigible hackers, increasingly consider it one of the @{languages of choice@}. Perl has been described, in a parody of a famous remark about `lex(1)', as the "Swiss-Army chainsaw" of Unix programming. See also @{Camel Book@}. *** New in 3.2.0. *** :RTS: /R-T-S/ /imp./ Acronym for `Read The Screen'. Mainly used by hackers in the microcomputer world. Refers to what one would like to tell the @{suit@} one is forced to explain an extremely simple application to. Particularly appropriate when the suit failed to notice the `Press any key to continue' prompt, and wishes to know `why won't it do anything'. Also seen as `RTFS' in especially deserving cases. *** Changed in 3.3.0. *** :Shub-Internet: /shuhb' in't*r-net/ /n./ [MUD: from H. P. Lovecraft's evil fictional deity Shub-Niggurath, the Black Goat with a Thousand Young] The harsh personification of the Internet, Beast of a Thousand Processes, Eater of Characters, Avatar of Line Noise, and Imp of Call Waiting; the hideous multi-tendriled entity formed of all the manifold connections of the net. A sect of MUDders worships Shub-Internet, sacrificing objects and praying for good connections. To no avail -- its purpose is malign and evil, and is the cause of all network slowdown. Often heard as in "Freela casts a tac nuke at Shub-Internet for slowing her down." (A forged response often follows along the lines of: "Shub-Internet gulps down the tac nuke and burps happily.") Also cursed by users of the Web, @{FTP@} and @{TELNET@} when the system slows down. The dread name of Shub-Internet is seldom spoken aloud, as it is said that repeating it three times will cause the being to wake, deep within its lair beneath the Pentagon. [January 1996: It develops that one of the computer administrators in the basement of the Pentagon read this entry and fell over laughing. As a result, you too can now poke Shub-Internet by @{ping@}ing shub-internet.ims.disa.mil. See also @{kremvax@}. - ESR] *** Changed in 3.3.2, 3.3.3. *** :T: /T/ 1. [from LISP terminology for `true'] Yes. Used in reply to a question (particularly one asked using @{The `-P' convention@}). In LISP, the constant T means `true', among other things. Some Lisp hackers use `T' and `NIL' instead of `Yes' and `No' almost reflexively. This sometimes causes misunderstandings. When a waiter or flight attendant asks whether a hacker wants coffee, he may absently respond `T', meaning that he wants coffee; but of course he will be brought a cup of tea instead. Fortunately, most hackers (particularly those who frequent Chinese restaurants) like tea at least as well as coffee -- so it is not that big a problem. 2. See @{time T@} (also @{since time T equals minus infinity@}). 3. [techspeak] In transaction-processing circles, an abbreviation for the noun `transaction'. 4. [Purdue] Alternate spelling of @{tee@}. 5. A dialect of @{LISP@} developed at Yale. (There is an intended allusion to NIL, "New Implementation of Lisp", another dialect of Lisp developed for the @{VAX@}) *** New in 3.2.0. Changed in 3.2.0, 3.3.2. *** :TCP/IP: /T'C-P I'P/ /n./ 1. [Transmission Control Protocol/Internet Protocol] The wide-area-networking protocol that makes the Internet work, and the only one most hackers can speak the name of without laughing or retching. Unlike such allegedly `standard' competitors such as X.25, DECnet, and the ISO 7-layer stack, TCP/IP evolved primarily by actually being *used*, rather than being handed down from on high by a vendor or a heavily-politicized standards committee. Consequently, it (a) works, (b) actually promotes cheap cross-platform connectivity, and (c) annoys the hell out of corporate and governmental empire-builders everywhere. Hackers value all three of these properties. See @{creationism@}. 2. [Amateur Packet Radio] Sometimes expanded as "The Crap Phil Is Pushing". The reference is to Phil Karn, KA9Q, and the context is an ongoing technical/political war between the majority of sites still running AX.25 and a growing minority of TCP/IP relays. *** Changed in 3.1.0. *** :TMRC: /tmerk'/ /n./ The Tech Model Railroad Club at MIT, one of the wellsprings of hacker culture. The 1959 "Dictionary of the TMRC Language" compiled by Peter Samson included several terms that became basics of the hackish vocabulary (see esp. @{foo@}, @{mung@}, and @{frob@}). By 1962, TMRC's legendary layout was already a marvel of complexity (and has grown in the thirty years since; all the features described here are still present). The control system alone featured about 1200 relays. There were @{scram switch@}es located at numerous places around the room that could be thwacked if something undesirable was about to occur, such as a train going full-bore at an obstruction. Another feature of the system was a digital clock on the dispatch board, which was itself something of a wonder in those bygone days before cheap LEDs and seven-segment displays. When someone hit a scram switch the clock stopped and the display was replaced with the word `FOO'; at TMRC the scram switches are therefore called `foo switches'. Steven Levy, in his book "Hackers" (see the @{Bibliography@} in Appendix C), gives a stimulating account of those early years. TMRC's Power and Signals group included most of the early PDP-1 hackers and the people who later became the core of the MIT AI Lab staff. Thirty years later that connection is still very much alive, and this lexicon accordingly includes a number of entries from a recent revision of the TMRC dictionary. *** New in 3.1.0. *** :Tinkerbell program: /n./ [Great Britain] A monitoring program used to scan incoming network calls and generate alerts when calls are received from particular sites, or when logins are attempted using certain IDs. Named after `Project Tinkerbell', an experimental phone-tapping program developed by British Telecom in the early 1980s. *** New in 3.1.0. *** :URL: /U-R-L/ or /erl/ /n./ Uniform Resource Locator, an address widget that identifies a document or resource on the World Wide Web. This entry is here primarily to record the fact that the term is commonly pronounced both /erl/, and /U-R-L/ (the latter predominates in more formal contexts). *** Changed in 3.1.0, 3.3.0. *** :UTSL: // /n./ [Unix] On-line acronym for `Use the Source, Luke' (a pun on Obi-Wan Kenobi's "Use the Force, Luke!" in "Star Wars") -- analogous to @{RTFS@} (sense 1), but more polite. This is a common way of suggesting that someone would be better off reading the source code that supports whatever feature is causing confusion, rather than making yet another futile pass through the manuals, or broadcasting questions on Usenet that haven't attracted @{wizard@}s to answer them. Once upon a time in @{elder days@}, everyone running Unix had source. After 1978, AT&T's policy tightened up, so this objurgation was in theory appropriately directed only at associates of some outfit with a Unix source license. In practice, bootlegs of Unix source code (made precisely for reference purposes) were so ubiquitous that one could utter it at almost anyone on the network without concern. Nowadays, free Unix clones have become widely enough distributed that anyone can read source legally. The most widely distributed is certainly Linux, with variants of the NET/2 and 4.4BSD distributions running second. Cheap commercial Unixes with source such as BSD/OS are accelerating this trend. *** Changed in 4.0.0. *** :UUCPNET: /n. obs./ The store-and-forward network consisting of all the world's connected Unix machines (and others running some clone of the UUCP (Unix-to-Unix CoPy) software). Any machine reachable only via a @{bang path@} is on UUCPNET® This term has been rendered obsolescent by the spread of cheap Internet connections in the 1990s; the few remaining UUCP links are essentially slow channels to the Internet rather than an autonomous network. See @{network address@}. *** Changed in 3.1.0, 3.3.3. *** :Unix:: /yoo'niks/ /n./ [In the authors' words, "A weak pun on Multics"; very early on it was `UNICS'] (also `UNIX') An interactive time-sharing system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a co-author of the system. The turning point in Unix's history came when it was reimplemented almost entirely in C during 1972-1974, making it the first source-portable OS® Unix subsequently underwent mutations and expansions at the hands of many different people, resulting in a uniquely flexible and developer-friendly environment. By 1991, Unix had become the most widely used multiuser general-purpose operating system in the world. Many people consider this the most important victory yet of hackerdom over industry opposition (but see @{Unix weenie@} and @{Unix conspiracy@} for an opposing point of view). See @{Version 7@}, @{BSD@}, @{USG Unix@}, @{Linux@}® Some people are confused over whether this word is appropriately `UNIX' or `Unix'; both forms are common, and used interchangeably. Dennis Ritchie says that the `UNIX' spelling originally happened in CACM's 1974 paper "The UNIX Time-Sharing System" because "we had a new typesetter and @{troff@} had just been invented and we were intoxicated by being able to produce small caps." Later, dmr tried to get the spelling changed to `Unix' in a couple of Bell Labs papers, on the grounds that the word is not acronymic. He failed, and eventually (his words) "wimped out" on the issue. So, while the trademark today is `UNIX', both capitalizations are grounded in ancient usage; the Jargon File uses `Unix' in deference to dmr's wishes. *** Changed in 4.0.0. *** :Unix conspiracy: /n./ [ITS] According to a conspiracy theory long popular among @{@{ITS@}@} and @{@{TOPS-20@}@} fans, Unix's growth is the result of a plot, hatched during the 1970s at Bell Labs, whose intent was to hobble AT&T's competitors by making them dependent upon a system whose future evolution was to be under AT&T's control. This would be accomplished by disseminating an operating system that is apparently inexpensive and easily portable, but also relatively unreliable and insecure (so as to require continuing upgrades from AT&T). This theory was lent a substantial impetus in 1984 by the paper referenced in the @{back door@} entry. In this view, Unix was designed to be one of the first computer viruses (see @{virus@}) -- but a virus spread to computers indirectly by people and market forces, rather than directly through disks and networks. Adherents of this `Unix virus' theory like to cite the fact that the well-known quotation "Unix is snake oil" was uttered by DEC president Kenneth Olsen shortly before DEC began actively promoting its own family of Unix workstations. (Olsen now claims to have been misquoted.) [If there was ever such a conspiracy, it got thoroughly out of the plotters' control after 1990. AT&T sold its UNIX operation to Novell around the same time @{Linux@} and other free-UNIX distributions were beginning to make noise. --ESR] *** Changed in 3.2.0, 3.3.0, 4.0.0. *** :Usenet: /yoos'net/ or /yooz'net/ /n./ [from `Users' Network'; the original spelling was USENET, but the mixed-case form is now widely preferred] A distributed @{bboard@} (bulletin board) system supported mainly by Unix machines. Originally implemented in 1979-1980 by Steve Bellovin, Jim Ellis, Tom Truscott, and Steve Daniel at Duke University, it has swiftly grown to become international in scope and is now probably the largest decentralized information utility in existence. As of early 1996, it hosts over 10,000 @{newsgroup@}s and an average of over 500 megabytes (the equivalent of several thousand paper pages) of new technical articles, news, discussion, chatter, and @{flamage@} every day. By the year the Internet hit the mainstream (1994) the original UUCP transport for Usenet was fading out of use (see @{UUCPNET@}) - almost all Usenet connections were over Internet links. A lot of newbies and journalists began to refer to "Internet newsgroups" as though Usenet was and always had been just another Internet service. This ignorance greatly annoys experienced Usenetters. *** New in 3.1.0. *** :V7: /V'sev'en/ /n./ See @{Version 7@}. *** Changed in 3.1.0, 3.3.0. *** :VAX: /vaks/ /n./ 1. [from Virtual Address eXtension] The most successful minicomputer design in industry history, possibly excepting its immediate ancestor, the PDP-11. Between its release in 1978 and its eclipse by @{killer micro@}s after about 1986, the VAX was probably the hacker's favorite machine of them all, esp. after the 1982 release of 4.2 BSD Unix (see @{BSD@})® Esp. noted for its large, assembler-programmer-friendly instruction set -- an asset that became a liability after the RISC revolution. 2. A major brand of vacuum cleaner in Britain. Cited here because its sales pitch, "Nothing sucks like a VAX!" became a sort of battle-cry of RISC partisans. It is even sometimes claimed that DEC actually entered a cross-licensing deal with the vacuum-Vax people that allowed them to market VAX computers in the U.K. in return for not challenging the vacuum cleaner trademark in the U.S® A rival brand actually pioneered the slogan: its original form was "Nothing sucks like Electrolux". It has apparently become a classic example (used in advertising textbooks) of the perils of not knowing the local idiom. But in 1996, the press manager of Electrolux AB, while confirming that the company used this slogan in the late 1960s, also tells us that their marketing people were fully aware of the possible double entendre and intended it to gain attention. And gain attention it did - the VAX-vacuum-cleaner people thought the slogan a sufficiently good idea to copy it. Several British hackers report that VAX's promotions used it in 1986-1987, and we have one report from a New Zealander that the infamous slogan surfaced there in TV ads for the product in 1992. *** Changed in 3.3.2. *** :WOMBAT: /wom'bat/ /adj./ [acronym: Waste Of Money, Brains, And Time] Applied to problems which are both profoundly @{uninteresting@} in themselves and unlikely to benefit anyone interesting even if solved. Often used in fanciful constructions such as `wrestling with a wombat'. See also @{crawling horror@}, @{SMOP@}® Also note the rather different usage as a metasyntactic variable in @{@{Commonwealth Hackish@}@}. Users of the PDP-11 database program DATATRIEVE adopted the wombat as their notional mascot; the program's help file responded to "HELP WOMBAT" with factual information about Real World wombats. *** Changed in 3.1.0. *** :Winchester:: /n./ Informal generic term for sealed-enclosure magnetic-disk drives in which the read-write head planes over the disk surface on an air cushion. There is a legend that the name arose because the original 1973 engineering prototype for what later became the IBM 3340 featured two 30-megabyte volumes; 30-30 became `Winchester' when somebody noticed the similarity to the common term for a famous Winchester rifle (in the latter, the first 30 referred to caliber and the second to the grain weight of the charge). Others claim, however, that Winchester was simply the laboratory in which the technology was developed. *** Changed in 3.1.0. *** :YAFIYGI: /yaf'ee-y*-gee/ /adj./ [coined in response to WYSIWYG] Describes the command-oriented ed/vi/nroff/TeX style of word processing or other user interface, the opposite of @{WYSIWYG@}. Stands for "You asked for it, you got it", because what you actually asked for is often not apparent until long after it is too late to do anything about it. Used to denote perversity ("Real Programmers use YAFIYGI tools...and *like* it!") or, less often, a necessary tradeoff ("Only a YAFIYGI tool can have full programmable flexibility in its interface."). This precise sense of "You asked for it, you got it" seems to have first appeared in Ed Post's classic parody "Real Programmers don't use Pascal" (see @{Real Programmer@}s); the acronym is a more recent invention. *** New in 3.1.0. *** :YMMV: // /cav./ Abbreviation for @{Your mileage may vary@} common on Usenet. *** Changed in 3.1.0, 3.3.3. *** :Yellow Book: /n./ The print version of this Jargon File; "The New Hacker's Dictionary" from MIT Press; The book includes essentially all the material the File, plus a Foreword by Guy L. Steele Jr. and a Preface by Eric S. Raymond. Most importantly, the book version is nicely typeset and includes almost all of the infamous Crunchly cartoons by the Great Quux, each attached to an appropriate entry. The first edition (1991, ISBN 0-262-68069-6) corresponded to the Jargon File version 2.9.6. The second edition (1993, ISBN 0-262-68079-3) corresponded to the Jargon File 3.0.0. The third (1996, ISBN 0-262-68092-0) will correspond to 4.0.0. *** New in 3.3.2. Changed in 3.3.3. *** :Zero-One-Infinity Rule: /prov./ "Allow none of @{foo@}, one of @{foo@}, or any number of @{foo@}." A rule of thumb for software design, which instructs one to not place @{random@} limits on the number of instances of a given entity (such as: windows in a window system, letters in an OS's filenames, etc.). Specifically, one should either disallow the entity entirely, allow exactly one instance (an "exception"), or allow as many as the user wants - address space and memory permitting. The logic behind this rule is that there are often situations where it makes clear sense to allow one of something instead of none. However, if one decides to go further and allow N (for N > 1), then why not N+1? And if N+1, then why not N+2, and so on? Once above 1, there's no excuse not to allow any N; hence, @{infinity@}. Many hackers recall in this connection Isaac Asimov's SF novel "The Gods Themselves" in which a character announces that the number 2 is impossible - if you're going to believe in more than one universe, you might as well believe in an infinite number of them. *** Changed in 3.2.0. *** :Zork: /zork/ /n./ The second of the great early experiments in computer fantasy gaming; see @{ADVENT@}® Originally written on MIT-DM during 1977-1979, later distributed with BSD Unix (as a patched, sourceless RT-11 FORTRAN binary; see @{retrocomputing@}) and commercialized as `The Zork Trilogy' by @{Infocom@}. The FORTRAN source was later rewritten for portability and released to Usenet under the name "Dungeon". Both FORTRAN "Dungeon" and translated C versions are available at many FTP sites. *** New in 3.1.0. *** :acolyte: /n. obs./ [TMRC] An @{OSU@} privileged enough to submit data and programs to a member of the @{priesthood@}. *** Changed in 3.2.0, 3.3.2. *** :adger: /aj'r/ /vt./ [UCLA mutant of @{nadger@}, poss. from the middle name of an infamous @{tenured graduate student@}] To make a bonehead move with consequences that could have been foreseen with even slight mental effort. E.g., "He started removing files and promptly adgered the whole project". Compare @{dumbass attack@}. *** Changed in 3.1.0. *** :alt: /awlt/ 1. /n./ The alt shift key on an IBM PC or @{clone@} keyboard; see @{bucky bits@}, sense 2 (though typical PC usage does not simply set the 0200 bit). 2. /n./ The `clover' or `Command' key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also @{feature key@}). Some Mac hackers, confusingly, reserve `alt' for the Option key (and it is so labeled on some Mac II keyboards). 3. /n.,obs/. [PDP-10; often capitalized to ALT] Alternate name for the ASCII ESC character (ASCII 0011011), after the keycap labeling on some older terminals; also `altmode' (/awlt'mohd/). This character was almost never pronounced `escape' on an ITS system, in @{TECO@}, or under TOPS-10 -- always alt, as in "Type alt alt to end a TECO command" or "alt-U onto the system" (for "log onto the [ITS] system"). This usage probably arose because alt is more convenient to say than `escape', especially when followed by another alt or a character (or another alt *and* a character, for that matter). 4. The alt hierarchy on Usenet, the tree of newsgroups created by users without a formal vote and approval procedure. There is a myth, not entirely implausible, that alt is acronymic for "anarchists, lunatics, and terrorists"; but in fact it is simply short for "alternative". *** Changed in 3.3.2. *** :automagically: /aw-toh-maj'i-klee/ /adv./ Automatically, but in a way that, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), the speaker doesn't feel like explaining to you. See @{magic@}. "The C-INTERCAL compiler generates C, then automagically invokes `cc(1)' to produce an executable." This term is quite old, going back at least to the mid-70s and probably much earlier. The word `automagic' occurred in advertising (for a shirt-ironing gadget) as far back as the late 1940s. *** Changed in 3.3.0. *** :avatar: /n./ Syn. 1. Among people working on virtual reality and @{cyberspace@} interfaces, an "avatar" is an icon or representation of a user in a shared virtual reality. The term is sometimes used on @{MUD@}s. 2. [CMU, Tektronix] @{root@}, @{superuser@}. There are quite a few Unix machines on which the name of the superuser account is `avatar' rather than `root'. This quirk was originated by a CMU hacker who disliked the term `superuser', and was propagated through an ex-CMU hacker at Tektronix. *** Changed in 3.1.0, 3.1.0, 3.3.0. *** :back door: /n./ A hole in the security of a system deliberately left in place by designers or maintainers. The motivation for such holes is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by field service technicians or the vendor's maintenance programmers. Syn. @{trap door@}; may also be called a `wormhole'. See also @{iron box@}, @{cracker@}, @{worm@}, @{logic bomb@}. Historically, back doors have often lurked in systems longer than anyone expected or planned, and a few have become widely known. Ken Thompson's 1983 Turing Award lecture to the ACM admitted the existence of a back door in early Unix versions that may have qualified as the most fiendishly clever security hack of all time. In this scheme, the C compiler contained code that would recognize when the `login' command was being recompiled and insert some code recognizing a password chosen by Thompson, giving him entry to the system whether or not an account had been created for him. Normally such a back door could be removed by removing it from the source code for the compiler and recompiling the compiler. But to recompile the compiler, you have to *use* the compiler -- so Thompson also arranged that the compiler would *recognize when it was compiling a version of itself*, and insert into the recompiled compiler the code to insert into the recompiled `login' the code to allow Thompson entry -- and, of course, the code to recognize itself and do the whole thing again the next time around! And having done this once, he was then able to recompile the compiler from the original sources; the hack perpetuated itself invisibly, leaving the back door in place and active but with no trace in the sources. The talk that suggested this truly moby hack was published as "Reflections on Trusting Trust", "Communications of the ACM 27", 8 (August 1984), pp. 761-763 (text available at http://www.acm.org/classics). Ken Thompson has since confirmed that this hack was implemented and that the Trojan Horse code did appear in the login binary of a Unix Support group machine. Ken says the crocked compiler was never distributed. Your editor has heard two separate reports that suggest that the crocked login did make it out of Bell Labs, notably to BBN, and that it enabled at least one late-night login across the network by someone using the login name `kt'. *** Changed in 3.3.0. *** :backbone site: /n./ A key Usenet and email site; one that processes a large amount of third-party traffic, especially if it is the home site of any of the regional coordinators for the Usenet maps. Notable backbone sites as of early 1993, when this sense of the term was beginning to pass out of general use due to wide availability of cheap Internet connections, included uunet and the mail machines at Rutgers University, UC Berkeley, @{DEC@}'s Western Research Laboratories, Ohio State University, and the University of Texas. Compare @{rib site@}, @{leaf site@}. [1996 update: This term is seldom heard any more. The UUCP network world that gave it meaning has nearly disappeared; everyone is on the Internet now and network traffic is distributed in very different patterns. --ESR] *** New in 3.2.0. *** :balloonian variable: /n./ [Commodore users; perh. a deliberate phonetic mangling of `boolean variable'?] Any variable that doesn't actually hold or control state, but must nevertheless be declared, checked, or set. A typical balloonian variable started out as a flag attached to some environment feature that either became obsolete or was planned but never implemented. Compatibility concerns (or politics attached to same) may require that such a flag be treated as though it were @{live@}. *** Changed in 3.1.0, 3.3.1, 3.3.1. *** :bamf: /bamf/ 1. [from X-Men comics; originally "bampf"] /interj./ Notional sound made by a person or object teleporting in or out of the hearer's vicinity. Often used in @{virtual reality@} (esp. @{MUD@}) electronic @{fora@} when a character wishes to make a dramatic entrance or exit. 2. The sound of magical transformation, used in virtual reality @{fora@} like MUDs. 3. In MUD circles, "bamf" is also used to refer to the act by which a MUD server sends a special notification to the MUD client to switch its connection to another server ("I'll set up the old site to just bamf people over to our new location."). 4. Used by MUDders on occasion in a more general sense related to sense 3, to refer to directing someone to another location or resource ("A user was asking about some technobabble so I bamfed them to http://www.ccil.org/jargon/jargon.html.") *** Changed in 3.1.0. *** :barfmail: /n./ Multiple @{bounce message@}s accumulating to the level of serious annoyance, or worse. The sort of thing that happens when an inter-network mail gateway goes down or wonky. *** Changed in 3.3.2. *** :beep: /n.,v./ Syn. @{feep@}. This term is techspeak under MS-DOS and OS/2, and seems to be generally preferred among micro hobbyists. *** Changed in 3.3.2. *** :beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ /n./ 1. Mostly working, but still under test; usu. used with `in': `in beta'. In the @{Real World@}, systems (hardware or software) software often go through two stages of release testing: Alpha (in-house) and Beta (out-house?). Beta releases are generally made to a group of lucky (or unlucky) trusted customers. 2. Anything that is new and experimental. "His girlfriend is in beta" means that he is still testing for compatibility and reserving judgment. 3. Flaky; dubious; suspect (since beta software is notoriously buggy). Historical note: More formally, to beta-test is to test a pre-release (potentially unreliable) version of a piece of software by making it available to selected (or self-selected) customers and users. This term derives from early 1960s terminology for product cycle checkpoints, first used at IBM but later standard throughout the industry. `Alpha Test' was the unit, module, or component test phase; `Beta Test' was initial system test. These themselves came from earlier A- and B-tests for hardware. The A-test was a feasibility and manufacturability evaluation done before any commitment to design and development. The B-test was a demonstration that the engineering model functioned as specified. The C-test (corresponding to today's beta) was the B-test performed on early samples of the production design. *** Changed in 3.1.0. *** :biff: /bif/ /vt./ To notify someone of incoming mail. From the BSD utility `biff(1)', which was in turn named after a friendly golden Labrador who used to chase frisbees in the halls at UCB while 4.2BSD was in development. There was a legend that it had a habit of barking whenever the mailman came, but the author of `biff' says this is not true. No relation to @{B1FF@}. *** Changed in 3.2.0, 3.3.1. *** :big-endian: /adj./ [From Swift's "Gulliver's Travels" via the famous paper "On Holy Wars and a Plea for Peace" by Danny Cohen, USC/ISI IEN 137, dated April 1, 1980] 1. Describes a computer architecture in which, within a given multi-byte numeric representation, the most significant byte has the lowest address (the word is stored `big-end-first'). Most processors, including the IBM 370 family, the @{PDP-10@}, the Motorola microprocessor families, and most of the various RISC designs current in late 1995, are big-endian. Big-endian byte order is also sometimes called `network order'. See @{little-endian@}, @{middle-endian@}, @{NUXI problem@}, @{swab@}. 2. An @{@{Internet address@}@} the wrong way round. Most of the world follows the Internet standard and writes email addresses starting with the name of the computer and ending up with the name of the country. In the U.K. the Joint Networking Team had decided to do it the other way round before the Internet domain standard was established. Most gateway sites have @{ad-hockery@} in their mailers to handle this, but can still be confused. In particular, the address me@uk.ac.bris.pys.as could be interpreted in JANET's big-endian way as one in the U.K. (domain uk) or in the standard little-endian way as one in the domain as (American Samoa) on the opposite side of the world. *** New in 3.2.0. *** :blammo: /v./ [Oxford Brookes University and alumni, UK] To forcibly remove someone from any interactive system, especially talker systems. The operators, who may remain hidden, may `blammo' a user who is misbehaving. Very similar to MIT @{gun@}; in fact, the `blammo-gun' is a notional device used to `blammo' someone. While in actual fact the only incarnation of the blammo-gun is the command used to forcibly eject a user, operators speak of different levels of blammo-gun fire; e.g., a blammo-gun to `stun' will temporarily remove someone, but a blammo-gun set to `maim' will stop someone coming back on for a while. *** New in 3.1.0. *** :blink: /vi.,n./ To use a navigator or off-line message reader to minimize time spent on-line to a commercial network service. As of late 1994, this term was said to be in wide use in the UK, but is rare or unknown in the US. *** Changed in 3.2.0. *** :blinkenlights: /blink'*n-li:tz/ /n./ Front-panel diagnostic lights on a computer, esp. a @{dinosaur@}. Derives from the last word of the famous blackletter-Gothic sign in mangled pseudo-German that once graced about half the computer rooms in the English-speaking world. One version ran in its entirety as follows: ACHTUNG¡ ALLES LOOKENSPEEPERS¡ Das computermachine ist nicht fuer gefingerpoken und mittengrabben. Ist easy schnappen der springenwerk, blowenfusen und poppencorken mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen. Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das pockets muss; relaxen und watchen das blinkenlichten. This silliness dates back at least as far as 1959 at Stanford University and had already gone international by the early 1960s, when it was reported at London University's ATLAS computing site. There are several variants of it in circulation, some of which actually do end with the word `blinkenlights'. In an amusing example of turnabout-is-fair-play, German hackers have developed their own versions of the blinkenlights poster in fractured English, one of which is reproduced here: ATTENTION This room is fullfilled mit special electronische equippment. Fingergrabbing and pressing the cnoeppkes from the computers is allowed for die experts only! So all the "lefthanders" stay away and do not disturben the brainstorming von here working intelligencies. Otherwise you will be out thrown and kicked anderswhere! Also: please keep still and only watchen astaunished the blinkenlights. See also @{geef@}. Old-time hackers sometimes get nostalgic for blinkenlights because they were so much more fun to look at than a blank panel. Sadly, very few computers still have them (the three LEDs on a PC keyboard certainly don't count). The obvious reasons (cost of wiring, cost of front-panel cutouts, almost nobody needs or wants to interpret machine-register states on the fly anymore) are only part of the story. Another part of it is that radio-frequency leakage from the lamp wiring was beginning to be a problem as far back as transistor machines. But the most fundamental fact is that there are very few signals slow enough to blink an LED these days! With slow CPUs, you could watch the bus register or instruction counter tick, but at 33/66/150MHz it's all a blur. *** Changed in 4.0.0. *** :block transfer computations: /n./ [from the television series "Dr. Who"] Computations so fiendishly subtle and complex that they could not be performed by machines. Used to refer to any task that should be expressible as an algorithm in theory, but isn't. (The Z80's LDIR instruction, "Computed Block Transfer with increment", may also be relevant) *** New in 3.2.0. Changed in 3.3.3. *** :blue box: /n./ 1. obs. Once upon a time, before all-digital switches made it possible for the phone companies to move them out of band, one could actually hear the switching tones used to route long-distance calls. Early @{phreaker@}s built devices called `blue boxes' that could reproduce these tones, which could be used to commandeer portions of the phone network. (This was not as hard as it may sound; one early phreak acquired the sobriquet `Captain Crunch' after he proved that he could generate switching tones with a plastic whistle pulled out of a box of Captain Crunch cereal!) There were other colors of box with more specialized phreaking uses; red boxes, black boxes, silver boxes, etc. 2. /n./ An @{IBM@} machine, especially a large (non-PC) one. *** New in 3.2.0. *** :bodysurf code: /n./ A program or segment of code written quickly in the heat of inspiration without the benefit of formal design or deep thought. Like its namesake sport, the result is too often a wipeout that leaves the programmer eating sand. *** Changed in 3.2.0. *** :bogon: /boh'gon/ /n./ [by analogy with proton/electron/neutron, but doubtless reinforced after 1980 by the similarity to Douglas Adams's `Vogons'; see the @{Bibliography@} in Appendix C and note that Arthur Dent actually mispronounces `Vogons' as `Bogons' at one point] 1. The elementary particle of bogosity (see @{quantum bogodynamics@}). For instance, "the Ethernet is emitting bogons again" means that it is broken or acting in an erratic or bogus fashion. 2. A query packet sent from a TCP/IP domain resolver to a root server, having the reply bit set instead of the query bit. 3. Any bogus or incorrectly formed packet sent on a network. 4. By synecdoche, used to refer to any bogus thing, as in "I'd like to go to lunch with you but I've got to go to the weekly staff bogon"® 5. A person who is bogus or who says bogus things. This was historically the original usage, but has been overtaken by its derivative senses 1-4. See also @{bogosity@}, @{bogus@}; compare @{psyton@}, @{fat electrons@}, @{magic smoke@}. The bogon has become the type case for a whole bestiary of nonce particle names, including the `clutron' or `cluon' (indivisible particle of cluefulness, obviously the antiparticle of the bogon) and the futon (elementary particle of @{randomness@}, or sometimes of lameness). These are not so much live usages in themselves as examples of a live meta-usage: that is, it has become a standard joke or linguistic maneuver to "explain" otherwise mysterious circumstances by inventing nonce particle names. And these imply nonce particle theories, with all their dignity or lack thereof (we might note parenthetically that this is a generalization from "(bogus particle) theories" to "bogus (particle theories)"!). Perhaps such particles are the modern-day equivalents of trolls and wood-nymphs as standard starting-points around which to construct explanatory myths. Of course, playing on an existing word (as in the `futon') yields additional flavor. Compare @{magic smoke@}. *** Changed in 3.3.0. *** :book titles:: There is a tradition in hackerdom of informally tagging important textbooks and standards documents with the dominant color of their covers or with some other conspicuous feature of the cover. Many of these are described in this lexicon under their own entries. See @{Aluminum Book@}, @{Blue Book@}, @{Camel Book@}, @{Cinderella Book@}, @{Devil Book@}, @{Dragon Book@}, @{Green Book@}, @{Orange Book@}, @{Pink-Shirt Book@}, @{Purple Book@}, @{Red Book@}, @{Silver Book@}, @{White Book@}, @{Wizard Book@}, @{Yellow Book@}, and @{bible@}; see also @{rainbow series@}. Since about 1983 this tradition has gotten a boost from the popular O'Reilly Associates line of technical books, which usually feature some kind of exotic animal on the cover. *** New in 3.3.0. *** :browser: /n./ A program specifically designed to help users view and navigate hypertext, on-line documentation, or a database. While this general sense has been present in jargon for a long time, the proliferation of browsers for the World Wide Web after 1992 has made it much more popular and provided a central or default meaning of the word previously lacking in hacker usage. Nowadays, if someone mentions using a `browser' without qualification, one may assume it is a Web browser. *** New in 3.3.0. *** :buffer chuck: /n./ Shorter and ruder syn. for @{buffer overflow@}. *** Changed in 3.1.0, 3.3.1. *** :bug: /n./ An unwanted and unintended property of a program or piece of hardware, esp. one that causes it to malfunction. Antonym of @{feature@}. Examples: "There's a bug in the editor: it writes things out backwards." "The system crashed because of a hardware bug." "Fred is a winner, but he has a few bugs" (i.e., Fred is a good guy, but he has a few personality problems). Historical note: Admiral Grace Hopper (an early computing pioneer better known for inventing @{COBOL@}) liked to tell a story in which a technician solved a @{glitch@} in the Harvard Mark II machine by pulling an actual insect out from between the contacts of one of its relays, and she subsequently promulgated @{bug@} in its hackish sense as a joke about the incident (though, as she was careful to admit, she was not there when it happened). For many years the logbook associated with the incident and the actual bug in question (a moth) sat in a display case at the Naval Surface Warfare Center (NSWC). The entire story, with a picture of the logbook and the moth taped into it, is recorded in the "Annals of the History of Computing", Vol. 3, No. 3 (July 1981), pp. 285-286. The text of the log entry (from September 9, 1947), reads "1545 Relay #70 Panel F (moth) in relay. First actual case of bug being found". This wording establishes that the term was already in use at the time in its current specific sense -- and Hopper herself reports that the term `bug' was regularly applied to problems in radar electronics during WWII. Indeed, the use of `bug' to mean an industrial defect was already established in Thomas Edison's time, and a more specific and rather modern use can be found in an electrical handbook from 1896 ("Hawkin's New Catechism of Electricity", Theo. Audel & Co.) which says: "The term `bug' is used to a limited extent to designate any fault or trouble in the connections or working of electric apparatus." It further notes that the term is "said to have originated in quadruplex telegraphy and have been transferred to all electric apparatus." The latter observation may explain a common folk etymology of the term; that it came from telephone company usage, in which "bugs in a telephone cable" were blamed for noisy lines. Though this derivation seems to be mistaken, it may well be a distorted memory of a joke first current among *telegraph* operators more than a century ago! Or perhaps not a joke. Historians of the field inform us that the term "bug" was regularly used in the early days of telegraphy to refer to a variety of semi-automatic telegraphy keyers that would send a string of dots if you held them down. In fact, the Vibroplex keyers (which were among the most common of this type) even had a graphic of a beetle on them! While the ability to send repeated dots automatically was very useful for professional morse code operators, these were also significantly trickier to use than the older manual keyers, and it could take some practice to ensure one didn't introduce extraneous dots into the code by holding the key down a fraction too long. In the hands of an inexperienced operator, a Vibroplex "bug" on the line could mean that a lot of garbled Morse would soon be coming your way. Actually, use of `bug' in the general sense of a disruptive event goes back to Shakespeare! In the first edition of Samuel Johnson's dictionary one meaning of `bug' is "A frightful object; a walking spectre"; this is traced to `bugbear', a Welsh term for a variety of mythological monster which (to complete the circle) has recently been reintroduced into the popular lexicon through fantasy role-playing games. In any case, in jargon the word almost never refers to insects. Here is a plausible conversation that never actually happened: "There is a bug in this ant farm!" "What do you mean? I don't see any ants in it." "That's the bug." A careful discussion of the etymological issues can be found in a paper by Fred R. Shapiro, 1987, "Entomology of the Computer Bug: History and Folklore", American Speech 62(4):376-378. [There has been a widespread myth that the original bug was moved to the Smithsonian, and an earlier version of this entry so asserted. A correspondent who thought to check discovered that the bug was not there. While investigating this in late 1990, your editor discovered that the NSWC still had the bug, but had unsuccessfully tried to get the Smithsonian to accept it -- and that the present curator of their History of American Technology Museum didn't know this and agreed that it would make a worthwhile exhibit. It was moved to the Smithsonian in mid-1991, but due to space and money constraints has not yet been exhibited. Thus, the process of investigating the original-computer-bug bug fixed it in an entirely unexpected way, by making the myth true! --ESR] *** New in 3.2.0. *** :bug-of-the-month club: /n./ [from "book-of-the-month club", a time-honored mail-order-marketing technique in the U.S.] A mythical club which users of `sendmail(1)' (the UNIX mail daemon) belong to; this was coined on the Usenet newsgroup comp.security.unix at a time when sendmail security holes, which allowed outside @{cracker@}s access to the system, were being uncovered at an alarming rate, forcing sysadmins to update very often. Also, more completely, `fatal security bug-of-the-month club'. *** Changed in 4.0.0. *** :bum: 1. /vt./ To make highly efficient, either in time or space, often at the expense of clarity. "I managed to bum three more instructions out of that code." "I spent half the night bumming the interrupt code." In 1996, this term and the practice it describes are semi-obsolete. In @{elder days@}, John McCarthy (inventor of @{LISP@}) used to compare some efficiency-obsessed hackers among his students to "ski bums"; thus, optimization became "program bumming", and eventually just "bumming". 2. To squeeze out excess; to remove something in order to improve whatever it was removed from (without changing function; this distinguishes the process from a @{featurectomy@}). 3. /n./ A small change to an algorithm, program, or hardware device to make it more efficient. "This hardware bum makes the jump instruction faster." Usage: now uncommon, largely superseded by /v./ @{tune@} (and /n./ @{tweak@}, @{hack@}), though none of these exactly capture sense 2® All these uses are rare in Commonwealth hackish, because in the parent dialects of English `bum' is a rude synonym for `buttocks'. *** Changed in 3.1.0. *** :casting the runes: /n./ What a @{guru@} does when you ask him or her to run a particular program and type at it because it never works for anyone else; esp. used when nobody can ever see what the guru is doing different from what J. Random Luser does. Compare @{incantation@}, @{runes@}, @{examining the entrails@}; also see the AI koan about Tom Knight in "@{AI Koans@}" (Appendix A)® A correspondent from England tells us that one of ICL's most talented systems designers used to be called out occasionally to service machines which the @{field circus@} had given up on. Since he knew the design inside out, he could often find faults simply by listening to a quick outline of the symptoms. He used to play on this by going to some site where the field circus had just spent the last two weeks solid trying to find a fault, and spreading a diagram of the system out on a table top. He'd then shake some chicken bones and cast them over the diagram, peer at the bones intently for a minute, and then tell them that a certain module needed replacing. The system would start working again immediately upon the replacement. *** Changed in 3.3.2. *** :cdr: /ku'dr/ or /kuh'dr/ /vt./ [from LISP] To skip past the first item from a list of things (generalized from the LISP operation on binary tree structures, which returns a list consisting of all but the first element of its argument). In the form `cdr down', to trace down a list of elements: "Shall we cdr down the agenda?" Usage: silly. See also @{loop through@}. Historical note: The instruction format of the IBM 704 that hosted the original LISP implementation featured two 15-bit fields called the `address' and `decrement' parts. The term `cdr' was originally `Contents of Decrement part of Register'. Similarly, `car' stood for `Contents of Address part of Register'. The cdr and car operations have since become bases for formation of compound metaphors in non-LISP contexts. GLS recalls, for example, a programming project in which strings were represented as linked lists; the get-character and skip-character operations were of course called CHAR and CHDR® *** Changed in 3.1.0, 3.2.0. *** :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 has also been called `chaff', `computer confetti', and `keypunch droppings'. This use may now be mainstream; it has been reported seen (1993) in directions for a card-based voting machine in California. Historical note: One correspondent believes `chad' (sense 2) derives from the Chadless keypunch (named for its inventor), which cut little u-shaped tabs in the card to make a hole when the tab folded back, rather than punching out a circle/rectangle; it was clear that if the Chadless keypunch didn't make them, then the stuff that other keypunches made had to be `chad'. There is a legend that the word was originally acronymic, standing for "Card Hole Aggregate Debris", but this has all the earmarks of a bogus folk etymology. *** Changed in 3.3.2. *** :channel: /n./ [IRC] The basic unit of discussion on @{IRC@}. Once one joins a channel, everything one types is read by others on that channel. Channels are named with strings that begin with a `#' sign and can have topic descriptions (which are generally irrelevant to the actual subject of discussion). Some notable channels are `#initgame', `#hottub', and `#report'. At times of international crisis, `#report' has hundreds of members, some of whom take turns listening to various news services and typing in summaries of the news, or in some cases, giving first-hand accounts of the action (e.g., Scud missile attacks in Tel Aviv during the Gulf War in 1991). *** New in 3.2.0. *** :chawmp: /n./ [University of Florida] 16 or 18 bits (half of a machine word). This term was used by FORTH hackers during the late 1970s/early 1980s; it is said to have been archaic then, and may now be obsolete. It was coined in revolt against the promiscuous use of `word' for anything between 16 and 32 bits; `word' has an additional special meaning for FORTH hacks that made the overloading intolerable. For similar reasons, /gaw'bl/ (spelled `gawble' or possibly `gawbul') was in use as a term for 32 or 48 bits (presumably a full machine word, but our sources are unclear on this). These terms are more easily understood if one thinks of them as faithful phonetic spellings of `chomp' and `gobble' pronounced in a Florida or other Southern U.S. dialect. For general discussion of similar terms, see @{nybble@}. *** New in 3.1.0. Changed in 3.3.2, 3.3.3. *** :choad: /chohd/ /n./ Synonym for `penis' used in alt.tasteless and popularized by the denizens thereof. They say: "We think maybe it's from Middle English but we're all too damned lazy to check the OED." [I'm not. It isn't. --ESR] This term is alleged to have been inherited through 1960s underground comics, and to have been recently sighted in the Beavis and Butthead cartoons. Speakers of the Hindi, Bengali and Gujarati languages have confirmed that `choad' is in fact an Indian vernacular word equivalent to `fuck'; it is therefore likely to have entered English slang via the British Raj. *** Changed in 3.1.0. *** :computer geek: /n./ 1. One who eats (computer) bugs for a living. One who fulfills all 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 vs. white-on-black usage of `nigger'. A computer geek may be either a fundamentally clueless individual or a proto-hacker in @{larval stage@}. Also called `turbo nerd', `turbo geek'. See also @{propeller head@}, @{clustergeeking@}, @{geek out@}, @{wannabee@}, @{terminal junkie@}, @{spod@}, @{weenie@}. 2. Some self-described computer geeks use this term in a positive sense and protest sense 1 (this seems to have been a post-1990 development). For one such argument, see http://samsara.circus.com/~omni/geek.html. *** Changed in 3.1.0. *** :condom: /n./ 1. The protective plastic bag that accompanies 3.5-inch microfloppy diskettes. Rarely, also used of (paper) disk envelopes. Unlike the write protect tab, the condom (when left on) not only impedes the practice of @{SEX@} but has also been shown to have a high failure rate as drive mechanisms attempt to access the disk -- and can even fatally frustrate insertion. 2. The protective cladding on a @{light pipe@}. 3. `keyboard condom': A flexible, transparent plastic cover for a keyboard, designed to provide some protection against dust and @{programming fluid@} without impeding typing. 4. `elephant condom': the plastic shipping bags used inside cardboard boxes to protect hardware in transit. 5. /n. obs./ A dummy directory `/usr/tmp/sh', created to foil the Great Worm by exploiting a portability bug in one of its parts. So named in the title of a comp.risks article by Gene Spafford during the Worm crisis, and again in the text of "The Internet Worm Program: An Analysis", Purdue Technical Report CSD-TR-823. See @{Great Worm, the@}. *** Changed in 3.3.0. *** :connector conspiracy: /n./ [probably came into prominence with the appearance of the KL-10 (one model of the @{PDP-10@}), none of whose connectors matched anything else] The tendency of manufacturers (or, by extension, programmers or purveyors of anything) to come up with new products that don't fit together with the old stuff, thereby making you buy either all new stuff or expensive interface devices. The KL-10 Massbus connector was actually *patented* by @{DEC@}, which reputedly refused to license the design and thus effectively locked third parties out of competition for the lucrative Massbus peripherals market. This policy is a source of never-ending frustration for the diehards who maintain older PDP-10 or VAX systems. Their CPUs work fine, but they are stuck with dying, obsolescent disk and tape drives with low capacity and high power requirements. (A closely related phenomenon, with a slightly different intent, is the habit manufacturers have of inventing new screw heads so that only Designated Persons, possessing the magic screwdrivers, can remove covers and make repairs or install options. A good 1990s example is the use of Torx screws for cable-TV set-top boxes. Older Apple Macintoshes took this one step further, requiring not only a hex wrench but a specialized case-cracking tool to open the box.) In these latter days of open-systems computing this term has fallen somewhat into disuse, to be replaced by the observation that "Standards are great! There are so many of them to choose from!" Compare @{backward combatability@}. *** Changed in 3.2.0. *** :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." *** Changed in 3.2.0. *** :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@}. *** Changed in 3.2.0. *** :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. *** Changed in 3.1.0. *** :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". *** Changed in 3.3.0, 3.3.2. *** :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. *** Changed in 3.2.0. *** :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@}. *** Changed in 3.3.2. *** :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. *** New in 3.1.0. *** :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@}. *** New in 3.1.0. *** :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@}. *** New in 3.2.0. *** :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@}. *** Changed in 3.1.0. *** :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@}. *** Changed in 3.1.0. *** :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@}. *** New in 3.3.0. *** :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@}. *** Changed in 3.3.0. *** :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!" *** Changed in 3.3.0. *** :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. *** Changed in 3.3.2. *** :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@}. *** New in 3.2.0. *** :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. *** New in 3.2.0. *** :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. *** Changed in 3.2.0. *** :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. *** Changed in 3.3.0, 3.3.2. *** :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. *** Changed in 3.3.2, 3.3.3. *** :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@}. *** Changed in 3.3.2. *** :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@}. *** Changed in 3.1.0. *** :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@}. *** New in 3.2.0. *** :elite: /adj./ Clueful. Plugged-in. One of the cognoscenti. Also used as a general positive adjective. This term is not actually hacker slang in the strict sense; it is used primarily by crackers and @{warez d00dz@}. Cracker usage is probably related to a 19200cps modem called the `Courier Elite' that was widely popular on pirate boards before the V.32bis standard. A true hacker would be more likely to use `wizardly'. Oppose @{lamer@}. *** Changed in 3.2.0, 3.3.0, 3.3.3. *** :email: /ee'mayl/ (also written `e-mail' and `E-mail') 1. /n./ Electronic mail automatically passed through computer networks and/or via modems over c