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 common-carrier lines. Contrast @{snail-mail@}, @{paper-net@}, @{voice-net@}. See @{network address@}. 2. /vt./ To send electronic mail. Oddly enough, the word `emailed' is actually listed in the OED; it means "embossed (with a raised pattern) or perh. arranged in a net or open work". A use from 1480 is given. The word is probably derived from French `'emaill'e' (enameled) and related to Old French `emmaille"ure' (network). A French correspondent tells us that in modern French, `email' is a hard enamel obtained by heating special paints in a furnace; an `emailleur' (no final e) is a craftsman who makes email (he generally paints some objects (like, say, jewelry) and cooks them in a furnace). There are numerous spelling variants of this word. In Internet traffic up to 1995, `email' predominates, `e-mail' runs a not-too-distant second, and `E-mail' and `Email' are a distant third and fourth. *** New in 3.3.0. *** :eye candy: /i:' kand`ee/ /n./ [from mainstream slang "ear candy"] A display of some sort that's presented to @{luser@}s to keep them distracted while the program performs necessary background tasks. "Give 'em some eye candy while the back-end @{slurp@}s that @{BLOB@} into core." *** Changed in 3.1.0. *** :farkled: /far'kld/ /adj./ [DeVry Institute of Technology, Atlanta] Syn. @{hosed@}. Poss. owes something to Yiddish `farblondjet' and/or the `Farkle Family' skits on "Rowan and Martin's Laugh-In", a popular comedy show of the late 1960s. *** Changed in 3.3.0. *** :feature: /n./ 1. A good property or behavior (as of a program). Whether it was intended or not is immaterial. 2. An intended property or behavior (as of a program). Whether it is good or not is immaterial (but if bad, it is also a @{misfeature@}). 3. A surprising property or behavior; in particular, one that is purposely inconsistent because it works better that way -- such an inconsistency is therefore a @{feature@} and not a @{bug@}. This kind of feature is sometimes called a @{miswart@}; see that entry for a classic example. 4. A property or behavior that is gratuitous or unnecessary, though perhaps also impressive or cute. For example, one feature of Common LISP's `format' function is the ability to print numbers in two different Roman-numeral formats (see @{bells, whistles, and gongs@}). 5. A property or behavior that was put in to help someone else but that happens to be in your way. 6. A bug that has been documented. To call something a feature sometimes means the author of the program did not consider the particular case, and that the program responded in a way that was unexpected but not strictly incorrect. A standard joke is that a bug can be turned into a @{feature@} simply by documenting it (then theoretically no one can complain about it because it's in the manual), or even by simply declaring it to be good. "That's not a bug, that's a feature!" is a common catchphrase. See also @{feetch feetch@}, @{creeping featurism@}, @{wart@}, @{green lightning@}. The relationship among bugs, features, misfeatures, warts, and miswarts might be clarified by the following hypothetical exchange between two hackers on an airliner: A: "This seat doesn't recline." B: "That's not a bug, that's a feature. There is an emergency exit door built around the window behind you, and the route has to be kept clear." A: "Oh. Then it's a misfeature; they should have increased the spacing between rows here." B: "Yes. But if they'd increased spacing in only one section it would have been a wart -- they would've had to make nonstandard-length ceiling panels to fit over the displaced seats." A: "A miswart, actually. If they increased spacing throughout they'd lose several rows and a chunk out of the profit margin. So unequal spacing would actually be the Right Thing." B: "Indeed." `Undocumented feature' is a common, allegedly humorous euphemism for a @{bug@}. There's a related joke that is sometimes referred to as the "one-question geek test". You say to someone "I saw a Volkswagen Beetle today with a vanity license plate that read FEATURE". If he/she laughs, he/she is a geek (see @{computer geek@}, sense #2). *** Changed in 3.3.1. *** :feature key: /n./ The Macintosh key with the cloverleaf graphic on its keytop; sometimes referred to as `flower', `pretzel', `clover', `propeller', `beanie' (an apparent reference to the major feature of a propeller beanie), @{splat@}, or the `command key'. The Mac's equivalent of an @{alt@} key. The proliferation of terms for this creature may illustrate one subtle peril of iconic interfaces. Many people have been mystified by the cloverleaf-like symbol that appears on the feature key. Its oldest name is `cross of St. Hannes', but it occurs in pre-Christian Viking art as a decorative motif. Throughout Scandinavia today the road agencies use it to mark sites of historical interest. Apple picked up the symbol from an early Mac developer who happened to be Swedish. Apple documentation gives the translation "interesting feature"! There is some dispute as to the proper (Swedish) name of this symbol. It technically stands for the word `sev"ardhet' (interesting feature); many of these are old churches. Some Swedes report as an idiom for it the word `kyrka', cognate to English `church' and Scots-dialect `kirk' but pronounced /shir'k*/ in modern Swedish. Others say this is nonsense. Another idiom reported for the sign is `runsten' /roon'stn/, derived from the fact that many of the interesting features are Viking rune-stones. *** New in 3.2.0. *** :finger trouble: /n./ Mistyping, typos, or generalized keyboard incompetence (this is surprisingly common among hackers, given the amount of time they spend at keyboards). "I keep putting colons at the end of statements instead of semicolons", "Finger trouble again, eh?". *** Changed in 3.2.0. *** :finn: /v./ [IRC] To pull rank on somebody based on the amount of time one has spent on @{IRC@}. The term derives from the fact that IRC was originally written in Finland in 1987. There may be some influence from the `Finn' character in William Gibson's seminal cyberpunk novel "Count Zero", who at one point says to another (much younger) character "I have a pair of shoes older than you are, so shut up!" *** Changed in 4.0.0. *** :firewall machine: /n./ A dedicated gateway machine with special security precautions on it, used to service outside network connections and dial-in lines. The idea is to protect a cluster of more loosely administered machines hidden behind it from @{cracker@}s. The typical firewall is an inexpensive micro-based Unix box kept clean of critical data, with a bunch of modems and public network ports on it but just one carefully watched connection back to the rest of the cluster. The special precautions may include threat monitoring, callback, and even a complete @{iron box@} keyable to particular incoming IDs or activity patterns. Syn. @{flytrap@}, @{Venus flytrap@}. [When first coined in the mid-1980s this term was pure jargon. Now (1996) it is borderline techspeak, and may have to be dropped from this lexicon before very long --ESR] *** Changed in 3.2.0. *** :flame: 1. /vi./ To post an email message intended to insult and provoke. 2. /vi./ To speak incessantly and/or rabidly on some relatively uninteresting subject or with a patently ridiculous attitude. 3. /vt./ Either of senses 1 or 2, directed with hostility at a particular person or people. 4. /n./ An instance of flaming. When a discussion degenerates into useless controversy, one might tell the participants "Now you're just flaming" or "Stop all that flamage!" to try to get them to cool down (so to speak). The term may have been independently invented at several different places. It has been reported from MIT, Carleton College and RPI (among many other places) from as far back as 1969. It is possible that the hackish sense of `flame' is much older than that. The poet Chaucer was also what passed for a wizard hacker in his time; he wrote a treatise on the astrolabe, the most advanced computing device of the day. In Chaucer's "Troilus and Cressida", Cressida laments her inability to grasp the proof of a particular mathematical theorem; her uncle Pandarus then observes that it's called "the fleminge of wrecches." This phrase seems to have been intended in context as "that which puts the wretches to flight" but was probably just as ambiguous in Middle English as "the flaming of wretches" would be today. One suspects that Chaucer would feel right at home on Usenet. *** Changed in 3.3.0. *** :foo: /foo/ 1. /interj./ Term of disgust. 2. Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files). 3. First on the standard list of @{metasyntactic variable@}s used in syntax examples. See also @{bar@}, @{baz@}, @{qux@}, @{quux@}, @{corge@}, @{grault@}, @{garply@}, @{waldo@}, @{fred@}, @{plugh@}, @{xyzzy@}, @{thud@}. The etymology of hackish `foo' is obscure. When used in connection with `bar' it is generally traced to the WWII-era Army slang acronym FUBAR (`Fucked Up Beyond All Repair'), later bowdlerized to @{foobar@}. (See also @{FUBAR@}.) However, the use of the word `foo' itself has more complicated antecedents, including a long history in comic strips and cartoons. The old "Smokey Stover" comic strips by Bill Holman often included the word `FOO', in particular on license plates of cars; allegedly, `FOO' and `BAR' also occurred in Walt Kelly's "Pogo" strips. In the 1938 cartoon "The Daffy Doc", a very early version of Daffy Duck holds up a sign saying "SILENCE IS FOO¡"; oddly, this seems to refer to some approving or positive affirmative use of foo. It has been suggested that this might be related to the Chinese word `fu' (sometimes transliterated `foo'), which can mean "happiness" when spoken with the proper tone (the lion-dog guardians flanking the steps of many Chinese restaurants are properly called "fu dogs"). Paul Dickson's excellent book "Words" (Dell, 1982, ISBN 0-440-52260-7) traces "Foo" to an unspecified British naval magazine in 1946, quoting as follows: "Mr. Foo is a mysterious Second World War product, gifted with bitter omniscience and sarcasm." Other sources confirm that `FOO' was a semi-legendary subject of WWII British-army graffiti more-or-less equivalent to the American Kilroy. Where British troops went, the graffito "FOO was here" or something similar showed up. Several slang dictionaries aver that FOO probably came from Forward Observation Officer. In this connection, the later American military slang `foo fighters' is interesting; at least as far back as the 1950s, radar operators used it for the kind of mysterious or spurious trace that would later be called a UFO (the older term resurfaced in popular American usage in 1995 via the name of one of the better grunge-rock bands). Earlier versions of this entry suggested the possibility that hacker usage actually sprang from "FOO, Lampoons and Parody", the title of a comic book first issued in September 1958, a joint project of Charles and Robert Crumb. Though Robert Crumb (then in his mid-teens) later became one of the most important and influential artists in underground comics, this venture was hardly a success; indeed, the brothers later burned most of the existing copies in disgust. The title FOO was featured in large letters on the front cover. However, very few copies of this comic actually circulated, and students of Crumb's `oeuvre' have established that this title was a reference to the earlier Smokey Stover comics. An old-time member reports that in the 1959 "Dictionary of the TMRC Language", compiled at @{TMRC@}, there was an entry that went something like this: FOO: The first syllable of the sacred chant phrase "FOO MANE PADME HUM®" Our first obligation is to keep the foo counters turning. For more about the legendary foo counters, see @{TMRC@}. Almost the entire staff of what later became the MIT AI Lab was involved with TMRC, and probably picked the word up there. Very probably, hackish `foo' had no single origin and derives through all these channels from Yiddish `feh' and/or English `fooey'. *** Changed in 3.2.0. *** :fool: /n./ As used by hackers, specifically describes a person who habitually reasons from obviously or demonstrably incorrect premises and cannot be persuaded by evidence to do otherwise; it is not generally used in its other senses, i.e., to describe a person with a native incapacity to reason correctly, or a clown. Indeed, in hackish experience many fools are capable of reasoning all too effectively in executing their errors. See also @{cretin@}, @{loser@}, @{fool file, the@}. The Algol 68-R compiler used to initialize its storage to the character string "F00LF00LF00LF00L..." because as a pointer or as a floating point number it caused a crash, and as an integer or a character string it was very recognizable in a dump. Sadly, one day a very senior professor at Nottingham University wrote a program that called him a fool. He proceeded to demonstrate the correctness of this assertion by lobbying the university (not quite successfully) to forbid the use of Algol on its computers. See also @{DEADBEEF@}® *** Changed in 3.3.0. *** :footprint: /n./ 1. The floor or desk area taken up by a piece of hardware. 2. [IBM] The audit trail (if any) left by a crashed program (often in plural, `footprints'). See also @{toeprint@}. 3. "RAM footprint": The minimum amount of RAM which an OS or other program takes; this figure gives one one an idea of how much will be left for other applications. How actively this RAM is used is another matter entirely. Recent tendencies to featuritis and software bloat can expand the RAM footprint of an OS to the point of making it nearly unusable in practice. [This problem is, thankfully, limited to operating systems so stupid that they don't do virtual memory - ESR] *** Changed in 3.3.0. *** :for values of: [MIT] A common rhetorical maneuver at MIT is to use any of the canonical @{random numbers@} as placeholders for variables. "The max function takes 42 arguments, for arbitrary values of 42." "There are 69 ways to leave your lover, for 69 = 50." This is especially likely when the speaker has uttered a random number and realizes that it was not recognized as such, but even `non-random' numbers are occasionally used in this fashion. A related joke is that pi equals 3 -- for small values of pi and large values of 3. Historical note: at MIT this usage has traditionally been traced to the programming language MAD (Michigan Algorithm Decoder), an Algol-58-like language that was the most common choice among mainstream (non-hacker) users at MIT in the mid-60s. It inherited from Algol-58 a control structure FOR VALUES OF X = 3, 7, 99 DO ... that would repeat the indicated instructions for each value in the list (unlike the usual FOR that only works for arithmetic sequences of values). MAD is long extinct, but similar for-constructs still flourish (e.g., in Unix's shell languages). *** Changed in 3.1.0. *** :frog: alt. `phrog' 1. /interj./ Term of disgust (we seem to have a lot of them). 2. Used as a name for just about anything. See @{foo@}. 3. /n./ Of things, a crock. 4. /n./ Of people, somewhere in between a turkey and a toad. 5. `froggy': /adj./ Similar to @{bagbiting@}, but milder. "This froggy program is taking forever to run!" *** New in 3.2.0. *** :g-file: /n./ [Commodore BBS culture] Any file that is written with the intention of being read by a human rather than a machine, such as the Jargon File, documentation, humor files, hacker lore, and technical materials. This term survives from the nearly forgotten Commodore 64 underground and BBS community. In the early 80s, C-Net had emerged as the most popular C64 BBS software for systems which encouraged messaging (as opposed to file transfer). There were three main options for files: Program files (p-files), which served the same function as `doors' in today's systems, UD files (the user upload/download section), and g-files. Anything that was meant to be read was included in g-files. *** New in 3.2.0. *** :gawble: /gaw'bl/ /n./ See @{chawmp@}. *** New in 3.1.0. Changed in 3.2.0, 3.3.2, 3.3.3. *** :geek code: /n./ (also "Code of the Geeks"). A set of codes commonly used in @{sig block@}s to broadcast the interests, skills, and aspirations of the poster. Features a G at the left margin followed by numerous letter codes, often suffixed with plusses or minuses. Because many net users are involved in computer science, the most common prefix is `GCS'. To see a copy of the current code, browse http://krypton.mankato.msus.edu/~hayden/geek.html. Here is a sample geek code (that or Robert Hayden, the code's inventor) from that page: -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GED/J d-- s:++>: a- C++(++++)$ ULUO++ P+>+++ L++ !E---- W+(---) N+++ o+ K+++ w+(---) O- M+$>++ V-- PS++(+++)>$ PE++(+)>$ Y++ PGP++ t- 5+++ X++ R+++>$ tv+ b+ DI+++ D+++ G+++++>$ e++$>++++ h r-- y+** ------END GEEK CODE BLOCK------ The geek code originated in 1993; it was inspired (according to the inventor) by previous "bear", "smurf" and "twink" style-and-sexual-preference codes from lesbian and gay @{newsgroup@}s. It has in turn spawned imitators; there is now even a "Saturn geek code" for owners of the Saturn car. See also @{computer geek@}. *** Changed in 3.3.2. *** :golf-ball printer: /n. obs./ The IBM 2741, a slow but letter-quality printing device and terminal based on the IBM Selectric typewriter. The `golf ball' was a little spherical frob bearing reversed embossed images of 88 different characters arranged on four parallels of latitude; one could change the font by swapping in a different golf ball. The print element spun and jerked alarmingly in action and when in motion was sometimes described as an `infuriated golf ball'. This was the technology that enabled APL to use a non-EBCDIC, non-ASCII, and in fact completely non-standard character set. This put it 10 years ahead of its time -- where it stayed, firmly rooted, for the next 20, until character displays gave way to programmable bit-mapped devices with the flexibility to support other character sets. *** New in 3.2.0. *** :gopher: /n./ A type of Internet service first floated around 1991 and now (1994) being obsolesced by the World Wide Web. Gopher presents a menuing interface to a tree or graph of links; the links can be to documents, runnable programs, or other gopher menus arbitrarily far across the net. Some claim that the gopher software, which was originally developed at the University of Minnesota, was named after the Minnesota Gophers (a sports team). Others claim the word derives from American slang `gofer' (from "go for", dialectical "go fer"), one whose job is to run and fetch things. Finally, observe that gophers (aka woodchucks) dig long tunnels, and the idea of tunneling through the net to find information was a defining metaphor for the developers. Probably all three things were true, but with the first two coming first and the gopher-tunnel metaphor serendipitously adding flavor and impetus to the project as it developed out of its concept stage. *** New in 3.2.0. *** :gopher hole: /n./ 1. Any access to a @{gopher@}. 2. [Amateur Packet Radio] The terrestrial analog of a @{wormhole@} (sense 2), from which this term was coined. A gopher hole links two amateur packet relays through some non-ham radio medium. *** Changed in 3.3.2. *** :grilf: // /n./ Girlfriend. Like @{newsfroup@} and @{filk@}, a typo reincarnated as a new word. Seems to have originated sometime in 1992 on @{Usenet@}. [A friend tells me there was a Lloyd Biggle SF novel "Watchers Of The Dark", in which alien species after species goes insane and begins to chant "Grilf! Grilf!". A human detective eventually determines that the word means "Liar!" I hope this has nothing to do with the popularity of the Usenet term. --ESR] *** Changed in 3.3.2, 3.3.2. *** :gubbish: /guhb'*sh/ /n./ [a portmanteau of `garbage' and `rubbish'; may have originated with SF author Philip K. Dick] Garbage; crap; nonsense. "What is all this gubbish?" The opposite portmanteau `rubbage' is also reported; in fact, it was British slang during the 19th century and appears in Dickens. *** Changed in 3.1.0. *** :gumby: /guhm'bee/ /n./ [from a class of Monty Python characters, poss® with some influence from the 1960s claymation character] An act of minor but conspicuous stupidity, often in `gumby maneuver' or `pull a gumby'. 2. [NRL] /n./ A bureaucrat, or other technical incompetent who impedes the progress of real work. 3. /adj./ Relating to things typically associated with people in sense 2. (e.g. "Ran would be writing code, but Richard gave him gumby work that's due on Friday", or, "Dammit! Travel screwed up my plane tickets. I have to go out on gumby patrol.") *** Changed in 3.2.0, 3.3.0. *** :guru meditation: /n./ Amiga equivalent of `panic' in Unix (sometimes just called a `guru' or `guru event'). When the system crashes, a cryptic message of the form "GURU MEDITATION #XXXXXXXX.YYYYYYYY" may appear, indicating what the problem was. An Amiga guru can figure things out from the numbers. Sometimes a @{guru@} event must be followed by a @{Vulcan nerve pinch@}. This term is (no surprise) an in-joke from the earliest days of the Amiga. There used to be a device called a `Joyboard' which was basically a plastic board built onto a joystick-like device; it was sold with a skiing game cartridge for the Atari game machine. It is said that whenever the prototype OS crashed, the system programmer responsible would calm down by concentrating on a solution while sitting cross-legged on a Joyboard trying to keep the board in balance. This position resembled that of a meditating guru. Sadly, the joke was removed in AmigaOS 2.04 (actually in 2.00, a buggy post-2.0 release on the A3000 only). *** Changed in 3.3.2. *** :gweep: /gweep/ [WPI] 1. /v./ To @{hack@}, usually at night. At WPI, from 1975 onwards, one who gweeped could often be found at the College Computing Center punching cards or crashing the @{PDP-10@} or, later, the DEC-20. A correspondent who was there at the time opines that the term was originally onomatopoetic, describing the keyclick sound of the Datapoint terminals long connected to the PDP-10. The term has survived the demise of those technologies, however, and was still alive in late 1991. "I'm going to go gweep for a while. See you in the morning." "I gweep from 8 PM till 3 AM during the week." 2. /n./ One who habitually gweeps in sense 1; a @{hacker@}. "He's a hard-core gweep, mumbles code in his sleep." *** Changed in 3.2.0. *** :hacked off: /adj./ [analogous to `pissed off'] Said of system administrators who have become annoyed, upset, or touchy owing to suspicions that their sites have been or are going to be victimized by crackers, or used for inappropriate, technically illegal, or even overtly criminal activities. For example, having unreadable files in your home directory called `worm', `lockpick', or `goroot' would probably be an effective (as well as impressively obvious and stupid) way to get your sysadmin hacked off at you. It has been pointed out that there is precedent for this usage in U.S. Navy slang, in which officers under discipline are sometimes said to be "in hack" and one may speak of "hacking off the C.O.". *** New in 3.2.0. *** :hairball: /n./ [Fidonet] A large batch of messages that a store-and-forward network is failing to forward when it should. Often used in the phrase "Fido coughed up a hairball today", meaning that the stuck messages have just come unstuck, producing a flood of mail where there had previously been drought. *** Changed in 3.2.0. *** :happily: /adv./ Of software, used to emphasize that a program is unaware of some important fact about its environment, either because it has been fooled into believing a lie, or because it doesn't care. The sense of `happy' here is not that of elation, but rather that of blissful ignorance. "The program continues to run, happily unaware that its output is going to /dev/null." Also used to suggest that a program or device would really rather be doing something destructive, and is being given an opportunity to do so. "If you enter an O here instead of a zero, the program will happily erase all your data." *** Changed in 3.3.0. *** :heatseeker: /n./ [IBM] A customer who can be relied upon to buy, without fail, the latest version of an existing product (not quite the same as a member of the @{lunatic fringe@}). A 1993 example of a heatseeker is someone who, owning a 286 PC and Windows 3.0, goes out and buys Windows 3.1 (which offers no worthwhile benefits unless you have a 386). If all customers were heatseekers, vast amounts of money could be made by just fixing the bugs in each release (n) and selling it to them as release (n+1). *** New in 3.3.0. *** :hired gun: /n./ A contract programmer, as opposed to a full-time staff member. All the connotations of this term suggested by innumerable spaghetti Westerns are intentional. *** New in 3.3.1. *** :hoarding: /n./ See @{software hoarding@}. *** New in 3.3.3. *** :hollised: /hol'ist/ /adj./ [Usenet: sci.space] To be hollised is to have been ordered by one's employer not to post any even remotely job-related material to USENET (or, by extension, to other Internet media). The original and most notorious case of this involved one Ken Hollis, a Lockheed employee and space-program enthusiast who posted publicly available material on access to Space Shuttle launches to sci.space. He was gagged under threat of being fired in 1994 at the behest of NASA public-relations officers. The result was, of course, a huge publicity black eye for NASA. Nevertheless several other NASA contractor employees were subsequently hollised for similar activities. Use of this term carries the strong connotation that the persons doing the gagging are bureaucratic idiots blinded to their own best interests by territorial reflexes. *** New in 3.3.2. *** :home page: /n./ 1. One's personal billboard on the World Wide Web. The term `home page' is perhaps a bit misleading because home directories and physical homes in @{RL@} are private, but home pages are designed to be very public. 2. By extension, a WWW repository for information and links related to a project or organization. Compare @{home box@}. *** New in 3.2.0. *** :hot chat: /n./ Sexually explicit one-on-one chat. See @{teledildonics@}. *** Changed in 3.3.0, 3.3.1. *** :hot spot: /n./ 1. [primarily used by C/Unix programmers, but spreading] It is received wisdom that in most programs, less than 10% of the code eats 90% of the execution time; if one were to graph instruction visits versus code addresses, one would typically see a few huge spikes amidst a lot of low-level noise. Such spikes are called `hot spots' and are good candidates for heavy optimization or @{hand-hacking@}. The term is especially used of tight loops and recursions in the code's central algorithm, as opposed to (say) initial set-up costs or large but infrequent I/O operations. See @{tune@}, @{bum@}, @{hand-hacking@}. 2. The active location of a cursor on a bit-map display. "Put the mouse's hot spot on the `ON' widget and click the left button." 3. A screen region that is sensitive to mouse gestures, which trigger some action. World Wide Web pages now provide the @{canonical@} examples; WWW browsers present hypertext links as hot spots which, when clicked on, point the browser at another document (these are specifically called @{hotlink@}s). 4. In a massively parallel computer with shared memory, the one location that all 10,000 processors are trying to read or write at once (perhaps because they are all doing a @{busy-wait@} on the same lock). 5. More generally, any place in a hardware design that turns into a performance bottleneck due to resource contention. *** New in 3.3.1. Changed in 3.3.3. *** :hotlink: /hot'link/ /n./ A @{hot spot@} on a World Wide Web page; an area, which, when clicked or selected, chases a URL. Also spelled `hot link'. Use of this term focuses on the link's role as an immediate part of your display, as opposed to the timeless sense of logical connection suggested by @{web pointer@}. Your screen shows hotlinks but your document has web pointers, not (in normal usage) the other way around. *** Changed in 3.3.0, 3.3.3. *** :ice: /n./ [coined by Usenetter Tom Maddox, popularized by William Gibson's cyberpunk SF novels: a contrived acronym for `Intrusion Countermeasure Electronics'] Security software (in Gibson's novels, software that responds to intrusion by attempting to immobilize or even literally kill the intruder). Hence, `icebreaker': a program designed for cracking security on a system. Neither term is in serious use yet as of early 1996, but many hackers find the metaphor attractive, and each may develop a denotation in the future. In the meantime, the speculative usage could be confused with `ICE', an acronym for "in-circuit emulator". In ironic reference to the speculative usage, however, some hackers and computer scientists formed ICE (International Cryptographic Experiment) in 1994. ICE is a consortium to promote uniform international access to strong cryptography. ICE has a home page at http://www.tis.com/crypto/ice.html. *** New in 3.3.2. *** :inflate: /vt./ To decompress or @{puff@} a file. Rare among Internet hackers, used primarily by MS-DOS/Windows types. *** Changed in 3.3.2. *** :initgame: /in-it'gaym/ /n./ [IRC] An @{IRC@} version of the venerable trivia game "20 questions", in which one user changes his @{nick@} to the initials of a famous person or other named entity, and the others on the channel ask yes or no questions, with the one to guess the person getting to be "it" next. As a courtesy, the one picking the initials starts by providing a 4-letter hint of the form sex, nationality, life-status, reality-status. For example, MAAR means "Male, American, Alive, Real" (as opposed to "fictional"). Initgame can be surprisingly addictive. See also @{hing@}. [1996 update: a recognizable version of the initgame has become a staple of some radio talk shows in the U.S. We had it first! - ESR] *** Changed in 3.2.0, 3.2.0. *** :joe code: /joh' kohd`/ /n./ 1. Code that is overly @{tense@} and unmaintainable. "@{Perl@} may be a handy program, but if you look at the source, it's complete joe code." 2. Badly written, possibly buggy code. Correspondents wishing to remain anonymous have fingered a particular Joe at the Lawrence Berkeley Laboratory and observed that usage has drifted slightly; the original sobriquet `Joe code' was intended in sense 1. 1994 update: This term has now generalized to ` code', used to designate code with distinct characteristics traceable to its author. "This section doesn't check for a NULL return from malloc()! Oh. No wonder! It's Ed code!". Used most often with a programmer who has left the shop and thus is a convenient scapegoat for anything that is wrong with the project. *** Changed in 3.3.2. *** :jolix: /joh'liks/ /n.,adj./ 386BSD, the freeware port of the BSD Net/2 release to the Intel i386 architecture by Bill Jolitz and friends. Used to differentiate from BSDI's port based on the same source tape, which used to be called BSD/386 and is now BSD/OS. See @{BSD@}. *** New in 3.2.0. *** :k-: /pref./ Extremely. Not commonly used among hackers, but quite common among crackers and @{warez d00dz@} in compounds such as `k-kool' /K'kool'/, `k-rad' /K'rad'/, and `k-awesome' /K'aw`sm/. Also used to intensify negatives; thus, `k-evil', `k-lame', `k-screwed', and `k-annoying'. Overuse of this prefix, or use in more formal or technical contexts, is considered an indicator of @{lamer@} status. *** New in 3.3.2. *** :kibozo: /ki:-boh'zoh/ /n./ [Usenet] One who @{kiboze@}s but is not Kibo (see @{KIBO@}, sense 2). *** New in 4.0.0. *** :killer app: The application that actually makes a mass market for a promising but under-utilized technology. First used in the mid-1980s to describe Lotus 1-2-3 once it became evident that demand for that product had been the major driver of the early business market for IBM PCs. The term was then restrospectively applied to VisiCalc, which had played a similar role in the success of the Apple II. After 1994 it became commonplace to describe the World Wide Web as the Internet's killer app. One of the standard questions asked about each new personal-computer technology as it emerges has become "what's the killer app?" *** Changed in 3.3.0. *** :killer micro: /n./ [popularized by Eugene Brooks] A microprocessor-based machine that infringes on mini, mainframe, or supercomputer performance turf. Often heard in "No one will survive the attack of the killer micros!", the battle cry of the downsizers. Used esp. of RISC architectures. The popularity of the phrase `attack of the killer micros' is doubtless reinforced by the title of the movie "Attack Of The Killer Tomatoes" (one of the @{canonical@} examples of so-bad-it's-wonderful among hackers). This has even more @{flavor@} now that killer micros have gone on the offensive not just individually (in workstations) but in hordes (within massively parallel computers). [1996 update: Eugene Brooks was right. Since this term first entered the Jargon File in 1990, the minicomputer has effectively vanished, the @{mainframe@} sector is in deep and apparently terminal decline (with IBM but a shadow of its former self), and even the supercomputer business has contracted into a smaller niche. It's networked killer micros as far as the eye can see. --ESR] *** Changed in 3.1.0, 3.2.0. *** :kludge: 1. /klooj/ /n./ Incorrect (though regrettably common) spelling of @{kluge@} (US). These two words have been confused in American usage since the early 1960s, and widely confounded in Great Britain since the end of World War II. 2. [TMRC] A @{crock@} that works. (A long-ago "Datamation" article by Jackson Granholme similarly said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.") 3. /v./ To use a kludge to get around a problem. "I've kludged around it for now, but I'll fix it up properly later." This word appears to have derived from Scots `kludge' or `kludgie' for a common toilet, via British military slang. It apparently became confused with U.S. @{kluge@} during or after World War II; some Britons from that era use both words in definably different ways, but @{kluge@} is now uncommon in Great Britain. `Kludge' in Commonwealth hackish differs in meaning from `kluge' in that it lacks the positive senses; a kludge is something no Commonwealth hacker wants to be associated too closely with. Also, `kludge' is more widely known in British mainstream slang than `kluge' is in the U.S. *** Changed in 3.1.0, 3.3.0, 3.3.3. *** :kluge: /klooj/ [from the German `klug', clever; poss. related to Polish `klucza', a trick or hook] 1. /n./ A Rube Goldberg (or Heath Robinson) device, whether in hardware or software. 2. /n./ A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves @{ad-hockery@} and verges on being a @{crock@}. 3. /n./ Something that works for the wrong reason. 4. /vt./ To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way." 5. [WPI] /n./ A feature that is implemented in a @{rude@} manner. Nowadays this term is often encountered in the variant spelling `kludge'. Reports from @{old fart@}s are consistent that `kluge' was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of *hardware* kluges. In 1947, the "New York Folklore Quarterly" reported a classic shaggy-dog story `Murgatroyd the Kluge Maker' then current in the Armed Forces, in which a `kluge' was a complex and puzzling artifact with a trivial function. Other sources report that `kluge' was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea. However, there is reason to believe this slang use may be a decade older. Several respondents have connected it to the brand name of a device called a "Kluge paper feeder", an adjunct to mechanical printing presses. Legend has it that the Kluge feeder was designed before small, cheap electric motors and control electronics; it relied on a fiendishly complex assortment of cams, belts, and linkages to both power and synchronize all its operations from one motive driveshaft. It was accordingly temperamental, subject to frequent breakdowns, and devilishly difficult to repair -- but oh, so clever! People who tell this story also aver that `Kluge' was the name of a design engineer. There is in fact a Brandtjen & Kluge Inc., an old family business that manufactures printing equipment - interestingly, their name is pronounced /kloo'gee/! Henry Brandtjen, president of the firm, told me (ESR, 1994) that his company was co-founded by his father and an engineer named Kluge /kloo'gee/, who built and co-designed the original Kluge automatic feeder in 1919. Mr. Brandtjen claims, however, that this was a *simple* device (with only four cams); he says he has no idea how the myth of its complexity took hold. @{TMRC@} and the MIT hacker culture of the early '60s seems to have developed in a milieu that remembered and still used some WWII military slang (see also @{foobar@}). It seems likely that `kluge' came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which @{TMRC@} is also located) during the war. The variant `kludge' was apparently popularized by the @{Datamation@} article mentioned above; it was titled "How to Design a Kludge" (February 1962, pp. 30, 31). This spelling was probably imported from Great Britain, where @{kludge@} has an independent history (though this fact was largely unknown to hackers on either side of the Atlantic before a mid-1993 debate in the Usenet group alt.folklore.computers over the First and Second Edition versions of this entry; everybody used to think @{kludge@} was just a mutation of @{kluge@}). It now appears that the British, having forgotten the etymology of their own `kludge' when `kluge' crossed the Atlantic, repaid the U.S. by lobbing the `kludge' orthography in the other direction and confusing their American cousins' spelling! The result of this history is a tangle. Many younger U.S. hackers pronounce the word as /klooj/ but spell it, incorrectly for its meaning and pronunciation, as `kludge'. (Phonetically, consider huge, refuge, centrifuge, and deluge as opposed to sludge, judge, budge, and fudge. Whatever its failings in other areas, English spelling is perfectly consistent about this distinction.) British hackers mostly learned /kluhj/ orally, use it in a restricted negative sense and are at least consistent. European hackers have mostly learned the word from written American sources and tend to pronounce it /kluhj/ but use the wider American meaning! Some observers consider this mess appropriate in view of the word's meaning. *** New in 3.2.0. *** :lamer: /n./ [prob. originated in skateboarder slang] Synonym for @{luser@}, not used much by hackers but common among @{warez d00dz@}, crackers, and @{phreaker@}s. Oppose @{elite@}. Has the same connotations of self-conscious elitism that use of @{luser@} does among hackers. Crackers also use it to refer to cracker @{wannabee@}s. In phreak culture, a lamer is one who scams codes off others rather than doing cracks or really understanding the fundamental concepts. In @{warez d00dz@} culture, where the ability to wave around cracked commercial software within days of (or before) release to the commercial market is much esteemed, the lamer might try to upload garbage or shareware or something incredibly old (old in this context is read as a few years to anything older than 3 days). *** Changed in 3.1.0, 3.3.2. *** :languages of choice: /n./ @{C@}, @{C++@}, @{LISP@}, and @{Perl@}® Nearly every hacker knows one of C or LISP, and most good ones are fluent in both. C++, despite some serious drawbacks, is generally preferred to other object-oriented languages (though in 1996 it looks as though Java may soon displace it in the affections of hackers, if not everywhere). Since around 1990 Perl has rapidly been gaining favor, especially as a tool for systems-administration utilities and rapid prototyping. Smalltalk and Prolog are also popular in small but influential communities. There is also a rapidly dwindling category of older hackers with FORTRAN, or even assembler, as their language of choice. They often prefer to be known as @{Real Programmer@}s, and other hackers consider them a bit odd (see "@{The Story of Mel, a Real Programmer@}" in Appendix A)® Assembler is generally no longer considered interesting or appropriate for anything but @{HLL@} implementation, @{glue@}, and a few time-critical and hardware-specific uses in systems programs. FORTRAN occupies a shrinking niche in scientific programming. Most hackers tend to frown on languages like @{@{Pascal@}@} and @{@{Ada@}@}, which don't give them the near-total freedom considered necessary for hacking (see @{bondage-and-discipline language@}), and to regard everything even remotely connected with @{COBOL@} or other traditional @{card walloper@} languages as a total and unmitigated @{loss@}. *** New in 3.2.0. *** :leech: /n./ Among BBS types, crackers and @{warez d00dz@}, one who consumes knowledge without generating new software, cracks, or techniques. BBS culture specifically defines a leech as someone who downloads files with few or no uploads in return, and who does not contribute to the message section. Cracker culture extends this definition to someone (a @{lamer@}, usually) who constantly presses informed sources for information and/or assistance, but has nothing to contribute. *** Changed in 3.1.0. *** :letterbomb: 1. /n./ A piece of @{email@} containing @{live data@} intended to do nefarious things to the recipient's machine or terminal. It is possible, for example, to send letterbombs that will lock up some specific kinds of terminals when they are viewed, so thoroughly that the user must cycle power (see @{cycle@}, sense 3) to unwedge them. Under Unix, a letterbomb can also try to get part of its contents interpreted as a shell command to the mailer. The results of this could range from silly to tragic. See also @{Trojan horse@}; compare @{nastygram@}. 2. Loosely, a @{mailbomb@}. *** Changed in 3.1.0. *** :lexiphage: /lek'si-fayj`/ /n./ A notorious word @{chomper@} on ITS. See @{bagbiter@}. This program would draw on a selected victim's bitmapped terminal the words "THE BAG" in ornate letters, followed a pair of jaws biting pieces of it off. *** Changed in 3.3.0. *** :like nailing jelly to a tree: /adj./ Used to describe a task thought to be impossible, esp. one in which the difficulty arises from poor specification or inherent slipperiness in the problem domain. "Trying to display the `prettiest' arrangement of nodes and arcs that diagrams a given graph is like nailing jelly to a tree, because nobody's sure what `prettiest' means algorithmically." Hacker use of this term may recall mainstream slang originated early in the 20th century by President Theodore Roosevelt. There is a legend that, weary of inconclusive talks with Colombia over the right to dig a canal through its then-province Panama, he remarked, "Negotiating with those pirates is like trying to nail currant jelly to the wall." Roosevelt's government subsequently encouraged the anti-Colombian insurgency that created the nation of Panama. *** New in 3.2.0. *** :linearithmic: /adj./ Of an algorithm, having running time that is O(N log N). Coined as a portmanteau of `linear' and `logarithmic' in "Algorithms In C" by Robert Sedgewick (Addison-Wesley 1990, ISBN 0-201-51425-7). *** New in 3.3.3. *** :list-bomb: /v./ To @{mailbomb@} someone by forging messages causing the victim to become a subscriber to many mailing lists. This is a self-defeating tactic; it merely forces mailing list servers to require confirmation by return message for every subscription. *** New in 3.2.0. *** :live: /li:v/ /adj.,adv./ Opposite of `test'. Refers to actual real-world data or a program working with it. For example, the response to "I think the record deleter is finished" might be "Is it live yet?" or "Have you tried it out on live data?" This usage usually carries the connotation that live data is more fragile and must not be corrupted, or bad things will happen. So a more appropriate response might be: "Well, make sure it works perfectly before we throw live data at it." The implication here is that record deletion is something pretty significant, and a haywire record-deleter running amok live would probably cause great harm. *** Changed in 3.2.0. *** :loop through: /vt./ To process each element of a list of things. "Hold on, I've got to loop through my paper mail." Derives from the computer-language notion of an iterative loop; compare `cdr down' (under @{cdr@}), which is less common among C and Unix programmers. ITS hackers used to say `IRP over' after an obscure pseudo-op in the MIDAS PDP-10 assembler (the same IRP op can nowadays be found in Microsoft's assembler). *** Changed in 3.3.2. *** :lurker: /n./ One of the `silent majority' in a electronic forum; one who posts occasionally or not at all but is known to read the group's postings regularly. This term is not pejorative and indeed is casually used reflexively: "Oh, I'm just lurking." Often used in `the lurkers', the hypothetical audience for the group's @{flamage@}-emitting regulars. When a lurker speaks up for the first time, this is called `delurking'. *** Changed in 3.3.2, 3.3.3. *** :magic number: /n./ [Unix/C] 1. In source code, some non-obvious constant whose value is significant to the operation of a program and that is inserted inconspicuously in-line (@{hardcoded@}), rather than expanded in by a symbol set by a commented `#define'. Magic numbers in this sense are bad style. 2. A number that encodes critical information used in an algorithm in some opaque way. The classic examples of these are the numbers used in hash or CRC functions, or the coefficients in a linear congruential generator for pseudo-random numbers. This sense actually predates and was ancestral to the more commonsense 1. 3. Special data located at the beginning of a binary data file to indicate its type to a utility. Under Unix, the system and various applications programs (especially the linker) distinguish between types of executable file by looking for a magic number. Once upon a time, these magic numbers were PDP-11 branch instructions that skipped over header data to the start of executable code; 0407, for example, was octal for `branch 16 bytes relative'. Many other kinds of files now have magic numbers somewhere; some magic numbers are, in fact, strings, like the `!' at the beginning of a Unix archive file or the `%!' leading PostScript files. Nowadays only a @{wizard@} knows the spells to create magic numbers. How do you choose a fresh magic number of your own? Simple -- you pick one at random. See? It's magic! *The* magic number, on the other hand, is 7+/-2. See "The magical number seven, plus or minus two: some limits on our capacity for processing information" by George Miller, in the "Psychological Review" 63:81-97 (1956). This classic paper established the number of distinct items (such as numeric digits) that humans can hold in short-term memory. Among other things, this strongly influenced the interface design of the phone system. *** New in 3.2.0. *** :mail storm: /n./ [from @{broadcast storm@}, influenced by `maelstrom'] What often happens when a machine with an Internet connection and active users re-connects after extended downtime -- a flood of incoming mail that brings the machine to its knees. See also @{hairball@}. *** Changed in 3.1.0, 3.2.0, 3.2.0, 3.3.3. *** :metasyntactic variable: /n./ A name used in examples and understood to stand for whatever thing is under discussion, or any random member of a class of things under discussion. The word @{foo@} is the @{canonical@} example. To avoid confusion, hackers never (well, hardly ever) use `foo' or other words like it as permanent names for anything. In filenames, a common convention is that any filename beginning with a metasyntactic-variable name is a @{scratch@} file that may be deleted at any time. To some extent, the list of one's preferred metasyntactic variables is a cultural signature. They occur both in series (used for related groups of variables or objects) and as singletons. Here are a few common signatures: @{foo@}, @{bar@}, @{baz@}, @{quux@}, quuux, quuuux...: MIT/Stanford usage, now found everywhere (thanks largely to early versions of this lexicon!). At MIT (but not at Stanford), @{baz@} dropped out of use for a while in the 1970s and '80s. A common recent mutation of this sequence inserts @{qux@} before @{quux@}. bazola, ztesch: Stanford (from mid-'70s on). @{foo@}, @{bar@}, thud, grunt: This series was popular at CMU. Other CMU-associated variables include @{gorp@}. @{foo@}, @{bar@}, fum: This series is reported to be common at XEROX PARC. @{fred@}, @{barney@}: See the entry for @{fred@}. These tend to be Britishisms. @{corge@}, @{grault@}, @{flarp@}: Popular at Rutgers University and among @{GOSMACS@} hackers. zxc, spqr, wombat: Cambridge University (England). shme Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/. snork Brown University, early 1970s. @{foo@}, @{bar@}, zot Helsinki University of Technology, Finland. blarg, wibble New Zealand. toto, titi, tata, tutu France. pippo, pluto, paperino Italy. Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are the Italian names for Goofy and Donald Duck. aap, noot, mies The Netherlands. These are the first words a child used to learn to spell on a Dutch spelling board. Of all these, only `foo' and `bar' are universal (and @{baz@} nearly so). The compounds @{foobar@} and `foobaz' also enjoy very wide currency. Some jargon terms are also used as metasyntactic names; @{barf@} and @{mumble@}, for example. See also @{@{Commonwealth Hackish@}@} for discussion of numerous metasyntactic variables found in Great Britain and the Commonwealth. *** Changed in 3.2.0. *** :middle-endian: /adj./ Not @{big-endian@} or @{little-endian@}. Used of perverse byte orders such as 3-4-1-2 or 2-1-4-3, occasionally found in the packed-decimal formats of minicomputer manufacturers who shall remain nameless. See @{NUXI problem@}. Non-US hackers use this term to describe the American mm/dd/yy style of writing dates (Europeans write dd/mm/yy). *** Changed in 3.2.0. *** :monty: /mon'tee/ /n./ 1. [US Geological Survey] A program with a ludicrously complex user interface written to perform extremely trivial tasks. An example would be a menu-driven, button clicking, pulldown, pop-up windows program for listing directories. The original monty was an infamous weather-reporting program, Monty the Amazing Weather Man, written at the USGS. Monty had a widget-packed X-window interface with over 200 buttons; and all monty actually *did* was @{FTP@} files off the network. 2. [Great Britain; commonly capitalized as `Monty' or as `the Full Monty'] 16 megabytes of memory, when fitted to an IBM-PC or compatible. A standard PC-compatible using the AT- or ISA-bus with a normal BIOS cannot access more than 16 megabytes of RAM. Generally used of a PC, Unix workstation, etc. to mean `fully populated with' memory, disk-space or some other desirable resource. This usage is possibly derived from a TV commercial for Del Monte fruit juice, in which one of the characters insisted on "the full Del Monte". Compare American @{moby@}. *** Changed in 3.2.0. *** :mudhead: /n./ Commonly used to refer to a @{MUD@} player who eats, sleeps, and breathes MUD® Mudheads have been known to fail their degrees, drop out, etc., with the consolation, however, that they made wizard level. When encountered in person, on a MUD, or in a chat system, all a mudhead will talk about is three topics: the tactic, character, or wizard that is supposedly always unfairly stopping him/her from becoming a wizard or beating a favorite MUD; why the specific game he/she has experience with is so much better than any other; and the MUD he or she is writing or going to write because his/her design ideas are so much better than in any existing MUD. See also @{wannabee@}. To the anthropologically literate, this term may recall the Zuni/Hopi legend of the mudheads or `koyemshi', mythical half-formed children of an unnatural union. Figures representing them act as clowns in Zuni sacred ceremonies. Others may recall the `High School Madness' sequence from the Firesign Theater album "Don't Crush That Dwarf, Hand Me the Pliers", in which there is a character named "Mudhead". *** Changed in 3.2.0. *** :mung: /muhng/ /vt./ [in 1960 at MIT, `Mash Until No Good'; sometime after that the derivation from the @{@{recursive acronym@}@} `Mung Until No Good' became standard; but see @{munge@}] 1. To make changes to a file, esp. large-scale and irrevocable changes. See @{BLT@}® 2. To destroy, usually accidentally, occasionally maliciously. The system only mungs things maliciously; this is a consequence of @{Finagle's Law@}. See @{scribble@}, @{mangle@}, @{trash@}, @{nuke@}. Reports from @{Usenet@} suggest that the pronunciation /muhnj/ is now usual in speech, but the spelling `mung' is still common in program comments (compare the widespread confusion over the proper spelling of @{kluge@}). 3. The kind of beans the sprouts of which are used in Chinese food. (That's their real name! Mung beans! Really!) Like many early hacker terms, this one seems to have originated at @{TMRC@}; it was already in use there in 1958. Peter Samson (compiler of the original TMRC lexicon) thinks it may originally have been onomatopoeic for the sound of a relay spring (contact) being twanged. However, it is known that during the World Wars, `mung' was U.S. army slang for the ersatz creamed chipped beef better known as `SOS', and it seems quite likely that the word in fact goes back to Scots-dialect @{munge@}. *** Changed in 3.2.0. *** :munge: /muhnj/ /vt./ 1. [derogatory] To imperfectly transform information. 2. A comprehensive rewrite of a routine, data structure or the whole program. 3. To modify data in some way the speaker doesn't need to go into right now or cannot describe succinctly (compare @{mumble@}). This term is often confused with @{mung@}, which probably was derived from it. However, it also appears the word `munge' was in common use in Scotland in the 1940s, and in Yorkshire in the 1950s, as a verb, meaning to munch up into a masticated mess, and as a noun, meaning the result of munging something up (the parallel with the @{kluge@}/@{kludge@} pair is amusing). *** Changed in 3.2.0. *** :nadger: /nad'jr/ /v./ [UK] Of software or hardware (not people), to twiddle some object in a hidden manner, generally so that it conforms better to some format. For instance, string printing routines on 8-bit processors often take the string text from the instruction stream, thus a print call looks like `jsr print:"Hello world"'. The print routine has to `nadger' the saved instruction pointer so that the processor doesn't try to execute the text as instructions when the subroutine returns. Apparently this word originated on a now-legendary 1950s radio comedy program called "The Goon Show". The Goon Show usage of "nadger" was definitely in the sense of "jinxed" "clobbered" "fouled up". The American mutation @{adger@} seems to have preserved more of the original flavor. *** New in 3.3.1. Changed in 3.3.2, 3.3.2, 3.3.3. *** :nerd: /n./ 1. [mainstream slang] Pejorative applied to anyone with an above-average IQ and few gifts at small talk and ordinary social rituals. 2. [jargon] Term of praise applied (in conscious ironic reference to sense 1) to someone who knows what's really important and interesting and doesn't care to be distracted by trivial chatter and silly status games. Compare the two senses of @{computer geek@}. The word itself appears to derive from the lines "And then, just to show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a Preep and a Proo, / A Nerkle, a Nerd, and a Seersucker, too!" in the Dr. Seuss book "If I Ran the Zoo" (1950). (The spellings `nurd' and `gnurd' also used to be current at MIT.) How it developed its mainstream meaning is unclear, but sense 1 seems to have entered mass culture in the early 1970s (there are reports that in the mid-1960s it meant roughly "annoying misfit" without the connotation of intelligence). An IEEE Spectrum article (4/95, page 16) once derived `nerd' in its variant form `knurd' from the word `drunk' backwards, but this bears all the earmarks of a bogus folk etymology. Hackers developed sense 2 in self-defense perhaps ten years later, and some actually wear "Nerd Pride" buttons, only half as a joke. At MIT one can find not only buttons but (what else?) pocket protectors bearing the slogan and the MIT seal. *** Changed in 3.3.2. *** :network address: /n./ (also `net address') As used by hackers, means an address on `the' network (see @{network, the@}; this used to include @{bang path@} addresses but now almost always implies an @{@{Internet address@}@}). Display of a network address is essential if one wants to be to be taken seriously by hackers; in particular, persons or organizations that claim to understand, work with, sell to, or recruit from among hackers but *don't* display net addresses are quietly presumed to be clueless poseurs and mentally flushed (see @{flush@}, sense 4). Hackers often put their net addresses on their business cards and wear them prominently in contexts where they expect to meet other hackers face-to-face (see also @{@{science-fiction fandom@}@}). This is mostly functional, but is also a signal that one identifies with hackerdom (like lodge pins among Masons or tie-dyed T-shirts among Grateful Dead fans). Net addresses are often used in email text as a more concise substitute for personal names; indeed, hackers may come to know each other quite well by network names without ever learning each others' `legal' monikers. See also @{sitename@}, @{domainist@}. [1996 update: the lodge-pin function of the network address has been gradually eroding in the last two years as Internet and World Wide Web usage have become common outside hackerdom. - ESR] *** Changed in 4.0.0. *** :network, the: /n./ 1. The union of all the major noncommercial, academic, and hacker-oriented networks, such as Internet, the pre-1990 ARPANET, NSFnet, @{BITNET@}, and the virtual UUCP and @{Usenet@} `networks', plus the corporate in-house networks and commercial time-sharing services (such as CompuServe, GEnie and AOL) that gateway to them. A site is generally considered `on the network' if it can be reached through some combination of Internet-style (@-sign) and UUCP (bang-path) addresses. See @{Internet@}, @{bang path@}, @{@{Internet address@}@}, @{network address@}. Following the mass-culture discovery of the Internet in 1994 and subsequent proliferation of cheap TCP/IP connections, "the network" is increasingly synonymous with the Internet itself (as it was before the second wave of wide-area computer networking began around 1980). 2. A fictional conspiracy of libertarian hacker-subversives and anti-authoritarian monkeywrenchers described in Robert Anton Wilson's novel "Schr"odinger's Cat", to which many hackers have subsequently decided they belong (this is an example of @{ha ha only serious@}). In sense 1, `network' is often abbreviated to `net'. "Are you on the net¿" is a frequent question when hackers first meet face to face, and "See you on the net!" is a frequent goodbye. *** Changed in 3.1.0. *** :newsgroup: /n./ [Usenet] One of @{Usenet@}'s huge collection of topic groups or @{fora@}. Usenet groups can be `unmoderated' (anyone can post) or `moderated' (submissions are automatically directed to a moderator, who edits or filters and then posts the results). Some newsgroups have parallel @{mailing list@}s for Internet people with no netnews access, with postings to the group automatically propagated to the list and vice versa. Some moderated groups (especially those which are actually gatewayed Internet mailing lists) are distributed as `digests', with groups of postings periodically collected into a single large posting with an index. Among the best-known are comp.lang.c (the C-language forum), comp.arch (on computer architectures), comp.unix.wizards (for Unix wizards), rec.arts.sf.written and siblings (for science-fiction fans), and talk.politics.misc (miscellaneous political discussions and @{flamage@}). *** New in 3.3.2. *** :node: /n./ 1. [Internet, UUCP] A host machine on the network. 2. [MS-DOS BBSes] A dial-in line on a BBS. Thus an MS-DOS @{sysop@} might say that his BBS has 4 nodes even though it has a single machine and no Internet link, confusing an Internet hacker no end. *** Changed in 3.2.0. *** :nybble: /nib'l/ (alt. `nibble') /n./ [from /v./ `nibble' by analogy with `bite' => `byte'] Four bits; one @{hex@} digit; a half-byte. Though `byte' is now techspeak, this useful relative is still jargon. Compare @{@{byte@}@}; see also @{bit@}, Apparently the `nybble' spelling is uncommon in Commonwealth Hackish, as British orthography suggests the pronunciation /ni:'bl/. Following `bit', `byte' and `nybble' there have been quite a few analogical attempts to construct unambiguous terms for bit blocks of other sizes. All of these are strictly jargon, not techspeak, and not very common jargon at that (most hackers would recognize them in context but not use them spontaneously). We collect them here for reference together with the ambiguous techspeak terms `word', `half-word' and `quadwords'; some (indicated) have substantial information separate entries. 2 bits: @{crumb@}, @{quad@}, @{quarter@}, tayste 4 bits: nybble 5 bits: @{nickle@} 10 bits: @{deckle@} 16 bits: playte, @{chawmp@} (on a 32-bit machine), word (on a 16-bit machine), half-word (on a 32-bit machine). 18 bits: @{chawmp@} (on a 36-bit machine), half-word (on a 36-bit machine) 32 bits: dynner, @{gawble@} (on a 32-bit machine), word (on a 32-bit machine), longword (on a 16-bit machine). 36: word (on a 36-bit machine) 48 bits: @{gawble@} (under circumstances that remain obscure) The fundamental motivation for most of these jargon terms (aside from the normal hackerly enjoyment of punning wordplay) is the extreme ambiguity of the term `word' and its derivatives. *** Changed in 3.3.2. *** :ooblick: /oo'blik/ /n./ [from the Dr. Seuss title "Bartholomew and the Oobleck"; the spelling `oobleck' is still current in the mainstream] A bizarre semi-liquid sludge made from cornstarch and water. Enjoyed among hackers who make batches during playtime at parties for its amusing and extremely non-Newtonian behavior; it pours and splatters, but resists rapid motion like a solid and will even crack when hit by a hammer. Often found near lasers. Here is a field-tested ooblick recipe contributed by GLS: 1 cup cornstarch 1 cup baking soda 3/4 cup water N drops of food coloring This recipe isn't quite as non-Newtonian as a pure cornstarch ooblick, but has an appropriately slimy feel. Some, however, insist that the notion of an ooblick *recipe* is far too mechanical, and that it is best to add the water in small increments so that the various mixed states the cornstarch goes through as it *becomes* ooblick can be grokked in fullness by many hands. For optional ingredients of this experience, see the "@{Ceremonial Chemicals@}" section of Appendix B. *** Changed in 3.1.0. *** :parent message: /n./ What a @{followup@} follows up. *** Changed in 3.3.2. *** :perf: /perf/ /n./ Syn. @{chad@} (sense 1). The term `perfory' /per'f*-ree/ is also heard. The term @{perf@} may also refer to the perforations themselves, rather than the chad they produce when torn (philatelists use it this way). *** New in 3.2.0. *** :phreaker: /freek'r/ /n./ One who engages in @{phreaking@}. *** New in 3.2.0. *** :pixel sort: /n./ [Commodore users] Any compression routine which irretrievably loses valuable data in the process of @{crunch@}ing it. Disparagingly used for `lossy' methods such as JPEG. The theory, of course, is that these methods are only used on photographic images in which minor loss-of-data is not visible to the human eye. The term `pixel sort' implies distrust of this theory. Compare @{bogo-sort@}. *** Changed in 3.2.0. *** :plonk: /excl.,vt./ [Usenet: possibly influenced by British slang `plonk' for cheap booze, or `plonker' for someone behaving stupidly (latter is lit. equivalent to Yiddish `schmuck')] The sound a @{newbie@} makes as he falls to the bottom of a @{kill file@}. While it originated in the @{newsgroup@} talk.bizarre, this term (usually written "*plonk*") is now (1994) widespread on Usenet as a form of public ridicule. *** New in 3.2.0. *** :poser: /n./ A @{wannabee@}; not hacker slang, but used among crackers, phreaks and @{warez d00dz@}. Not as negative as @{lamer@} or @{leech@}. Probably derives from a similar usage among punk-rockers and metalheads, putting down those who "talk the talk but don't walk the walk". *** Changed in 3.1.0. *** :prettyprint: /prit'ee-print/ /v./ (alt. `pretty-print') 1. To generate `pretty' human-readable output from a @{hairy@} internal representation; esp. used for the process of @{grind@}ing (sense 1) program code, and most esp. for LISP code. 2. To format in some particularly slick and nontrivial way. *** New in 3.1.0. *** :priesthood: /n. obs./ [TMRC] The select group of system managers responsible for the operation and maintenance of a batch operated computer system. On these computers, a user never had direct access to a computer, but had to submit his/her data and programs to a priest for execution. Results were returned days or even weeks later. See @{acolyte@}. *** Changed in 3.3.2. *** :profile: /n./ 1. A control file for a program, esp. a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customize the program's behavior. Used to avoid @{hardcoded@} choices (see also @{dot file@}, @{rc file@}). 2. [techspeak] A report on the amounts of time spent in each routine of a program, used to find and @{tune@} away the @{hot spot@}s in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar. 3.[techspeak] A subset of a standard used for a particular purpose. This sense confuses hackers who wander into the weird world of ISO standards no end! *** New in 3.1.0. *** :progasm: /proh'gaz-m/ /n./ [University of Wisconsin] The euphoria experienced upon the completion of a program or other computer-related project. *** Changed in 3.3.0. *** :programming: /n./ 1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file). "Bloody instructions which, being taught, return to plague their inventor" ("Macbeth", Act 1, Scene 7) 2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward. 3. The most fun you can have with your clothes on (although clothes are not mandatory). *** Changed in 3.2.0. *** :pseudoprime: /n./ A backgammon prime (six consecutive occupied points) with one point missing. This term is an esoteric pun derived from a mathematical method that, rather than determining precisely whether a number is prime (has no divisors), uses a statistical technique to decide whether the number is `probably' prime. A number that passes this test was, before about 1985, called a `pseudoprime' (the terminology used by number theorists has since changed slightly; pre-1985 pseudoprimes are now `probable primes' and `pseudoprime' has a more restricted meaning in modular arithmetic). The hacker backgammon usage stemmed from the idea that a pseudoprime is almost as good as a prime: it does the job of a prime until proven otherwise, and that probably won't happen. *** New in 3.3.3. *** :rat dance: /n./ [From the @{Dilbert@} comic strip of November 14, 1995] A @{hacking run@} that produces results which, while superficially coherent, have little or nothing to do with its original objectives. There are strong connotations that the coding process and the objectives themselves were pretty @{random@}. (In the original comic strip, the Ratbert is invited to dance on Dilbert's keyboard in order to produce bugs for him to fix, and authors a Web browser instead.) Compare @{Infinite-Monkey Theorem@}. This term seems to have become widely recognized quite rapidly after the original strip, a fact which testifies to Dilbert's huge popularity among hackers. All too many find the perverse incentives and Kafkaesque atmosphere of Dilbert's mythical workplace reflective of their own experiences. *** Changed in 3.1.0. *** :rc file: /R-C fi:l/ /n./ [Unix: from `runcom files' on the @{CTSS@} system ca.1955, via the startup script `/etc/rc'] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also @{dot file@}, @{profile@} (sense 1). *** Changed in 3.1.0. *** :real operating system: /n./ The sort the speaker is used to. People from the BSDophilic academic community are likely to issue comments like "System V¿ Why don't you use a *real* operating system?", people from the commercial/industrial Unix sector are known to complain "BSD¿ Why don't you use a *real* operating system?", and people from IBM object "Unix¿ Why don't you use a *real* operating system?" Only @{MS-DOS@} is universally considered unreal. See @{holy wars@}, @{religious issues@}, @{proprietary@}, @{Get a real computer!@} *** Changed in 3.1.0. *** :room-temperature IQ: /quant./ [IBM] 80 or below (nominal room temperature is 72 degrees Fahrenheit, 22 degrees Celsius). Used in describing the expected intelligence range of the @{luser@}. "Well, but how's this interface going to play with the room-temperature IQ crowd?" See @{drool-proof paper@}. This is a much more insulting phrase in countries that use Celsius thermometers. *** Changed in 3.3.2. *** :root: /n./ [Unix] 1. The @{superuser@} account (with user name `root') that ignores permission bits, user number 0 on a Unix system. The term @{avatar@} is also used. 2. The top node of the system directory structure; historically the home directory of the root user, but probably named after the root of an (inverted) tree. 3. By extension, the privileged system-maintenance login on any OS® See @{root mode@}, @{go root@}, see also @{wheel@}. *** Changed in 3.3.2. *** :runes: /pl.n./ 1. Anything that requires @{heavy wizardry@} or @{black art@} to @{parse@}: core dumps, JCL commands, APL, or code in a language you haven't a clue how to read. Not quite as bad as @{line noise@}, but close. Compare @{casting the runes@}, @{Great Runes@}. 2. Special display characters (for example, the high-half graphics on an IBM PC)® 3. [borderline techspeak] 16-bit characters from the Unicode multilingual character set. *** Changed in 3.2.0. *** :runic: /adj./ Syn. @{obscure@}. VMS fans sometimes refer to Unix as `Runix'; Unix fans return the compliment by expanding VMS to `Very Messy Syntax' or `Vachement Mauvais Syst`eme' (French idiom, "Hugely Bad System"). *** New in 3.1.0. *** :salt: /n./ A tiny bit of near-random data inserted where too much regularity would be undesirable; a data @{frob@} (sense 1). For example, the Unix crypt(3) man page mentions that "the salt string is used to perturb the DES algorithm in one of 4096 different ways." *** Changed in 3.3.2. *** :salt substrate: /n./ [MIT] Collective noun used to refer to potato chips, pretzels, saltines, or any other form of snack food designed primarily as a carrier for sodium chloride. Also `sodium substrate'. From the technical term `chip substrate', used to refer to the silicon on the top of which the active parts of integrated circuits are deposited. *** New in 3.1.0. Changed in 3.3.0. *** :samizdat: /sahm-iz-daht/ /n./ [Russian, literally "self publishing"] The process of disseminating documentation via underground channels. Originally referred to underground duplication and distribution of banned books in the Soviet Union; now refers by obvious extension to any less-than-official promulgation of textual material, esp. rare, obsolete, or never-formally-published computer documentation. Samizdat is obviously much easier when one has access to high-bandwidth networks and high-quality laser printers. Note that samizdat is properly used only with respect to documents which contain needed information (see also @{hacker ethic@}) but which are for some reason otherwise unavailable, but *not* in the context of documents which are available through normal channels, for which unauthorized duplication would be unethical copyright violation. See @{Lions Book@} for a historical example. *** New in 3.1.0. *** :shar file: /shar' fi:l/ /n./ Syn. @{sharchive@}. *** Changed in 3.3.2, 3.3.3. *** :shell: [orig. @{@{Multics@}@} /n./ techspeak, widely propagated via Unix] 1. [techspeak] The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world. 2. More generally, any interface program that mediates access to a special resource or @{server@} for convenience, efficiency, or security reasons; for this meaning, the usage is usually `a shell around' whatever. This sort of program is also called a `wrapper'. 3. A skeleton program, created by hand or by another program (like, say, a parser generator), which provides the necessary @{incantation@}s to set up some task and the control flow to drive it (the term @{driver@} is sometimes used synonymously). The user is meant to fill in whatever code is needed to get real work done. This usage is common in the AI and Microsoft Windows worlds, and confuses Unix hackers. Historical note: Apparently, the original Multics shell (sense 1) was so called because it was a shell (sense 3); it ran user programs not by starting up separate processes, but by dynamically linking the programs into its own code, calling them as subroutines, and then dynamically de-linking them on return. The VMS command interpreter still does something very like this. *** Changed in 3.1.0. *** :short card: /n./ A half-length IBM XT expansion card or adapter that will fit in one of the two short slots located towards the right rear of a standard chassis (tucked behind the floppy disk drives). See also @{tall card@}. *** Changed in 3.2.0. *** :smoke and mirrors: /n./ Marketing deceptions. The term is mainstream in this general sense. Among hackers it's strongly associated with bogus demos and crocked @{benchmark@}s (see also @{MIPS@}, @{machoflops@}). "They claim their new box cranks 50 MIPS for under $5000, but didn't specify the instruction mix -- sounds like smoke and mirrors to me." The phrase, popularized by newspaper columnist Jimmy Breslin c.1975, has been said to derive from carnie slang for magic acts and `freak show' displays that depend on `trompe l'oeil' effects, but also calls to mind the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") for whom the hearts of huge numbers of human sacrificial victims were regularly cut out. Upon hearing about a rigged demo or yet another round of fantasy-based marketing promises, hackers often feel analogously disheartened. See also @{stealth manager@}. *** Changed in 4.0.0. *** :snail-mail: /n./ Paper mail, as opposed to electronic. Sometimes written as the single word `SnailMail'. One's postal address is, correspondingly, a `snail address'. Derives from earlier coinage `USnail' (from `U.S. Mail'), for which there have even been parody posters and stamps made. Also (less commonly) called `P-mail', from `paper mail' or `physical mail'. Oppose @{email@}. *** New in 3.1.0. *** :sneaker: /n./ An individual hired to break into places in order to test their security; analogous to @{tiger team@}. Compare @{samurai@}. *** New in 3.3.2. *** :sodium substrate: /n./ Syn @{salt substrate@}. *** New in 3.3.1. *** :software hoarding: /n./ Pejorative term employed by members and adherents of the @{GNU@} project to describe the act of holding software proprietary, keeping it under trade secret or license terms which prohibit free redistribution and modification. Used primarily in Free Software Foundation propaganda. For a summary of related issues, see @{GNU@}. *** New in 3.3.0. *** :spaceship operator: /n./ The glyph `<=>', so-called apparently because in the low-resolution constant-width font used on many terminals it vaguely resembles a flying saucer. @{Perl@} uses this to denote the signum-of-difference operation. *** Changed in 3.2.0, 3.3.3. *** :spam: /vt.,vi.,n./ [from "Monty Python's Flying Circus"] 1. To crash a program by overrunning a fixed-size buffer with excessively large input data. See also @{buffer overflow@}, @{overrun screw@}, @{smash the stack@}. 2. To cause a newsgroup to be flooded with irrelevant or inappropriate messages. You can spam a newsgroup with as little as one well- (or ill-) planned message (e.g. asking "What do you think of abortion?" on soc.women). This is often done with @{cross-post@}ing (e.g. any message which is crossposted to alt.rush-limbaugh and alt.politics.homosexuality will almost inevitably spam both groups). 3. To send many identical or nearly-identical messages separately to a large number of Usenet newsgroups. This is one sure way to infuriate nearly everyone on the Net. The second and third definitions have become much more prevalent as the Internet has opened up to non-techies, and to many Usenetters sense 3 is now (1995) primary. In this sense the term has apparantly begun to go mainstream, though without its original sense or folkloric freight - there is apparently a widespread belief among @{luser@}s that "spamming" is what happens when you dump cans of Spam into a revolving fan. *** Changed in 3.1.0. *** :spoiler: /n./ [Usenet] 1. A remark which reveals important plot elements from books or movies, thus denying the reader (of the article) the proper suspense when reading the book or watching the movie. 2. Any remark which telegraphs the solution of a problem or puzzle, thus denying the reader the pleasure of working out the correct answer (see also @{interesting@}). Either sense readily forms compounds like `total spoiler', `quasi-spoiler' and even `pseudo-spoiler'. By convention, articles which are spoilers in either sense should contain the word `spoiler' in the Subject: line, or guarantee via various tricks that the answer appears only after several screens-full of warning, or conceal the sensitive information via @{rot13@}, or some combination of these techniques. *** New in 3.2.0. *** :squirrelcide: /n./ [common on Usenet's comp.risks newsgroup.] (alt. `squirrelicide') What all too frequently happens when a squirrel decides to exercise its species's unfortunate penchant for shorting out power lines with their little furry bodies. Result: one dead squirrel, one down computer installation. In this situation, the computer system is said to have been squirrelcided. *** New in 3.2.0. *** :star out: /v./ [University of York, England] To replace a user's encrypted password in /etc/passwd with a single asterisk. Under Unix this is not a legal encryption of any password; hence the user is not permitted to log in. In general, accounts like adm, news, and daemon are permanently "starred out"; occasionally a real user might have the this inflicted upon him/her as a punishment, e.g. "Graham was starred out for playing Omega in working hours". Also occasionally known as The Order Of The Gold Star in this context. "Don't do that, or you'll be awarded the Order of the Gold Star..." Compare @{disusered@}. *** New in 3.3.0. *** :stealth manager: /n./ [Corporate DP] A manager that appears out of nowhere, promises undeliverable software to unknown end users, and vanishes before the programming staff realizes what has happened. See @{smoke and mirrors@}. *** New in 3.3.0. *** :superloser: /n./ [Unix] A superuser with no clue - someone with root privileges on a Unix system and no idea what he/she is doing, the moral equivalent of a three-year-old with an unsafetied Uzi. Anyone who thinks this is an uncommon situation reckons without the territorial urges of @{management@}. *** New in 3.2.0. *** :surf: /v./ [from the `surf' idiom for rapidly flipping TV channels] To traverse the Internet in search of interesting stuff, used esp. if one is doing so with a World Wide Web browser. It is also common to speak of `surfing in' to a particular resource. *** Changed in 3.2.0, 3.3.3. *** :talk mode: /n./ A feature supported by Unix, ITS, and some other OSes that allows two or more logged-in users to set up a real-time on-line conversation. It combines the immediacy of talking with all the precision (and verbosity) that written language entails. It is difficult to communicate inflection, though conventions have arisen for some of these (see the section on writing style in the Prependices for details). Talk mode has a special set of jargon words, used to save typing, which are not used orally. Some of these are identical to (and probably derived from) Morse-code jargon used by ham-radio amateurs since the 1920s. AFAIK as far as I know BCNU be seeing you BTW by the way BYE? are you ready to unlink? (this is the standard way to end a talk-mode conversation; the other person types `BYE' to confirm, or else continues the conversation) CUL see you later ENQ? are you busy? (expects `ACK' or `NAK' in return) FOO? are you there? (often used on unexpected links, meaning also "Sorry if I butted in ..." (linker) or "What's up¿" (linkee)) FWIW for what it's worth FYI for your information FYA for your amusement GA go ahead (used when two people have tried to type simultaneously; this cedes the right to type to the other) GRMBL grumble (expresses disquiet or disagreement) HELLOP hello? (an instance of the `-P' convention) IIRC if I recall correctly JAM just a minute (equivalent to `SEC....') MIN same as `JAM' NIL no (see @{NIL@}) O over to you OO over and out / another form of "over to you" (from x/y as "x over y") \ lambda (used in discussing LISPy things) OBTW oh, by the way OTOH on the other hand R U THERE? are you there? SEC wait a second (sometimes written `SEC...') T yes (see the main entry for @{T@}) TNX thanks TNX 1.0E6 thanks a million (humorous) TNXE6 another form of "thanks a million" WRT with regard to, or with respect to. WTF the universal interrogative particle; WTF knows what it means? WTH what the hell? When the typing party has finished, he/she types two newlines to signal that he/she is done; this leaves a blank line between `speeches' in the conversation, making it easier to reread the preceding text. : When three or more terminals are linked, it is conventional for each typist to @{prepend@} his/her login name or handle and a colon (or a hyphen) to each line to indicate who is typing (some conferencing facilities do this automatically). The login name is often shortened to a unique prefix (possibly a single letter) during a very long conversation. /\/\/\ A giggle or chuckle. On a MUD, this usually means `earthquake fault'. Most of the above sub-jargon is used at both Stanford and MIT® Several of these expressions are also common in @{email@}, esp. FYI, FYA, BTW, BCNU, WTF, and CUL® A few other abbreviations have been reported from commercial networks, such as GEnie and CompuServe, where on-line `live' chat including more than two people is common and usually involves a more `social' context, notably the following: grin grinning, running, and ducking BBL be back later BRB be right back HHOJ ha ha only joking HHOK ha ha only kidding HHOS @{ha ha only serious@} IMHO in my humble opinion (see @{IMHO@}) LOL laughing out loud NHOH Never Heard of Him/Her (often used in @{initgame@}) ROTF rolling on the floor ROTFL rolling on the floor laughing AFK away from keyboard b4 before CU l8tr see you later MORF male or female? TTFN ta-ta for now TTYL talk to you later OIC oh, I see rehi hello again Most of these are not used at universities or in the Unix world, though ROTF and TTFN have gained some currency there and IMHO is common; conversely, most of the people who know these are unfamiliar with FOO?, BCNU, HELLOP, @{NIL@}, and @{T@}® The @{MUD@} community uses a mixture of Usenet/Internet emoticons, a few of the more natural of the old-style talk-mode abbrevs, and some of the `social' list above; specifically, MUD respondents report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH® The use of `rehi' is also common; in fact, mudders are fond of re- compounds and will frequently `rehug' or `rebonk' (see @{bonk/oif@}) people. The word `re' by itself is taken as `regreet'. In general, though, MUDders express a preference for typing things out in full rather than using abbreviations; this may be due to the relative youth of the MUD cultures, which tend to include many touch typists and to assume high-speed links. The following uses specific to MUDs are reported: CU l8er see you later (mutant of `CU l8tr') FOAD fuck off and die (use of this is generally OTT) OTT over the top (excessive, uncalled for) ppl abbrev for "people" THX thanks (mutant of `TNX'; clearly this comes in batches of 1138 (the Lucasian K))® UOK? are you OK? Some @{B1FF@}isms (notably the variant spelling `d00d') appear to be passing into wider use among some subgroups of MUDders. One final note on talk mode style: neophytes, when in talk mode, often seem to think they must produce letter-perfect prose because they are typing rather than speaking. This is not the best approach. It can be very frustrating to wait while your partner pauses to think of a word, or repeatedly makes the same spelling error and backs up to fix it. It is usually best just to leave typographical errors behind and plunge forward, unless severe confusion may result; in that case it is often fastest just to type "xxx" and start over from before the mistake. See also @{hakspek@}, @{emoticon@}. *** New in 3.1.0. *** :tentacle: /n./ A covert @{pseudo@}, sense 1. An artificial identity created in cyberspace for nefarious and deceptive purposes. The implication is that a single person may have multiple tentacles. This term was originally floated in some paranoid ravings on the cypherpunks list (see @{cypherpunk@}), and adopted in a spirit of irony by other, saner members. It has since shown up, used seriously, in the documentation for some remailer software, and is now (1994) widely recognized on the net. *** Changed in 3.1.0. *** :thread: /n./ [Usenet, GEnie, CompuServe] Common abbreviation of `topic thread', a more or less continuous chain of postings on a single topic. To `follow a thread' is to read a series of Usenet postings sharing a common subject or (more correctly) which are connected by Reference headers. The better newsreaders can present news in thread order automatically. Interestingly, this is far from a neologism. The OED says: "That which connects the successive points in anything, esp. a narrative, train of thought, or the like; the sequence of events or ideas continuing throughout the whole course of anything;" Citations are given going back to 1642! *** New in 3.1.0. *** :toad: /vt./ [MUD] 1. Notionally, to change a @{MUD@} player into a toad. 2. To permanently and totally exile a player from the MUD. A very serious action, which can only be done by a MUD @{wizard@}; often involves a lot of debate among the other characters first. See also @{frog@}, @{FOD@}. *** Changed in 3.3.2. *** :trivial: /adj./ 1. Too simple to bother detailing. 2. Not worth the speaker's time. 3. Complex, but solvable by methods so well known that anyone not utterly @{cretinous@} would have thought of them already. 4. Any problem one has already solved (some claim that hackish `trivial' usually evaluates to `I've seen it before'). Hackers' notions of triviality may be quite at variance with those of non-hackers. See @{nontrivial@}, @{uninteresting@}. The physicist Richard Feynman, who had the hacker nature to an amazing degree (see his essay "Los Alamos From Below" in "Surely You're Joking, Mr. Feynman!"), defined `trivial theorem' as "one that has already been proved". *** New in 3.1.0. Changed in 3.3.1. *** :troll: /v.,n./ [From the Usenet group alt.folklore.urban] To utter a posting on @{Usenet@} designed to attract predictable responses or @{flame@}s. Derives from the phrase "trolling for @{newbie@}s" which in turn comes from mainstream "trolling", a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it. Some people claim that the troll is properly a narrower category than @{flame bait@}, that a troll is categorized by containing some assertion that is wrong but not overtly controversial. *** Changed in 3.3.0. *** :tunafish: /n./ In hackish lore, refers to the mutated punchline of an age-old joke to be found at the bottom of the manual pages of `tunefs(8)' in the original @{BSD@} 4.2 distribution. The joke was removed in later releases once commercial sites started using 4.2. Tunefs relates to the `tuning' of file-system parameters for optimum performance, and at the bottom of a few pages of wizardly inscriptions was a `BUGS' section consisting of the line "You can tune a file system, but you can't tunafish". Variants of this can be seen in other BSD versions, though it has been excised from some versions by humorless management @{droid@}s. The [nt]roff source for SunOS 4.1.1 contains a comment apparently designed to prevent this: "Take this out and a Unix Demon will dog your steps from now until the `time_t''s wrap around." [It has since been pointed out that indeed you can tunafish. Usually at a canning factory... --ESR] *** New in 3.1.0. Changed in 3.3.1. *** :u-: /pref./ Written shorthand for @{micro-@}; techspeak when applied to metric units, jargon when used otherwise. Derived from the Greek letter "mu", the first letter of "micro" (and which letter looks a lot like the English letter "u"). *** Changed in 3.3.2. *** :vaxherd: /vaks'herd/ /n. obs./ [from `oxherd'] A VAX operator. The image is reinforced because VAXen actually did tend to come in herds, technically known as `clusters'. *** Changed in 3.1.0. *** :virtual: /adj./ [via the technical term `virtual memory', prob. from the term `virtual image' in optics] 1. Common alternative to @{logical@}; often used to refer to the artificial objects (like addressable virtual memory larger than physical memory) simulated by a computer system as a convenient way to manage access to shared resources. 2. Simulated; performing the functions of something that isn't really there. An imaginative child's doll may be a virtual playmate. Oppose @{real@}. *** Changed in 3.1.0. *** :wall time: /n./ (also `wall clock time') 1. `Real world' time (what the clock on the wall shows), as opposed to the system clock's idea of time. 2. The real running time of a program, as opposed to the number of @{tick@}s required to execute it (on a timesharing system these always differ, as no one program gets all the ticks, and on multiprocessor systems with good thread support one may get more processor time than real time). *** New in 3.2.0. *** :war dialer: /n./ A cracking tool, a program that calls a given list or range of phone numbers and records those which answer with handshake tones (and so might be entry points to computer or telecommunications systems). Some of these programs have become quite sophisticated, and can now detect modem, fax, or PBX tones and log each one separately. The war dialer is one of the most important tools in the @{phreaker@}'s kit. These programs evolved from early @{demon dialer@}s. *** New in 3.1.0. *** :warez: /weirz/ /n./ Widely used in @{cracker@} subcultures to denote cracked version of commercial software, that is versions from which copy-protection has been stripped. Hackers recognize this term but don't use it themselves. See @{warez d00dz@}. *** New in 3.1.0. *** :warez d00dz: /weirz doodz/ /n./ A substantial subculture of @{cracker@}s refer to themselves as `warez d00dz'; there is evidently some connection with @{B1FF@} here. As `Ozone Pilot', one former warez d00d, wrote: Warez d00dz get illegal copies of copyrighted software. If it has copy protection on it, they break the protection so the software can be copied. Then they distribute it around the world via several gateways. Warez d00dz form badass group names like RAZOR and the like. They put up boards that distribute the latest ware, or pirate program. The whole point of the Warez sub-culture is to get the pirate program released and distributed before any other group. I know, I know. But don't ask, and it won't hurt as much. This is how they prove their poweress [sic]. It gives them the right to say, "I released King's Quest IVXIX before you so obviously my testicles are larger." Again don't ask... The studly thing to do if one is a warez d00d, it appears, is emit `0-day warez', that is copies of commercial software copied and cracked on the same day as its retail release. Warez d00ds also hoard software in a big way, collecting untold megabytes of arcade-style games, pornographic GIFs, and applications they'll never use onto their hard disks. As Ozone Pilot acutely observes: [BELONG] is the only word you will need to know. Warez d00dz want to belong. They have been shunned by everyone, and thus turn to cyberspace for acceptance. That is why they always start groups like TGW, FLT, USA and the like. Structure makes them happy. [...] Warez d00dz will never have a handle like "Pink Daisy" because warez d00dz are insecure. Only someone who is very secure with a good dose of self-esteem can stand up to the cries of fag and girlie-man. More likely you will find warez d00dz with handles like: Doctor Death, Deranged Lunatic, Hellraiser, Mad Prince, Dreamdevil, The Unknown, Renegade Chemist, Terminator, and Twin Turbo. They like to sound badass when they can hide behind their terminals. More likely, if you were given a sample of 100 people, the person whose handle is Hellraiser is the last person you'd associate with the name. The contrast with Internet hackers is stark and instructive. See @{cracker@}, @{wannabee@}, @{handle@}, @{elite@}; compare @{weenie@}, @{spod@}. *** Changed in 3.2.0. *** :washing machine: /n./ 1. Old-style 14-inch hard disks in floor-standing cabinets. So called because of the size of the cabinet and the `top-loading' access to the media packs -- and, of course, they were always set on `spin cycle'. The washing-machine idiom transcends language barriers; it is even used in Russian hacker jargon. See also @{walking drives@}. The thick channel cables connecting these were called `bit hoses' (see @{hose@}, sense 3). 2. [CMU] A machine used exclusively for @{washing software@}. CMU has clusters of these. *** New in 3.2.0. *** :washing software: /n./ The process of recompiling a software distribution (used more often when the recompilation is occuring from scratch) to pick up and merge together all of the various changes that have been made to the source. *** New in 3.3.2. *** :web pointer: /n./ A World Wide Web @{URL@}. See also @{hotlink@}, which has slightly different connotations. *** New in 3.3.0. *** :webmaster: /n./ [WWW: from @{postmaster@}] The person at a site providing World Wide Web information who is responsible for maintaining the public pages and keeping the Web server running and properly configured. *** Changed in 3.1.0. *** :wheel: /n./ [from slang `big wheel' for a powerful person] A person who has an active @{wheel bit@}. "We need to find a wheel to unwedge the hung tape drives." (See @{wedged@}, sense 1.) The traditional name of security group zero in @{BSD@} (to which the major system-internal users like @{root@} belong) is `wheel'. Some vendors have expanded on this usage, modifying Unix so that only members of group `wheel' can @{go root@}. *** New in 3.2.0. *** :wibble: [UK] 1. /n.,v./ Commonly used to describe chatter, content-free remarks or other essentially meaningless contributions to threads in newsgroups. "Oh, rspence is wibbling again". Compare @{humma@}. 2. One of the preferred @{metasyntactic variable@}s in the UK, forming a series with `wobble', `wubble', and `flob' (attributed to the hilarious historical comedy "Blackadder"). *** New in 3.3.2. *** :windoid: /n./ In the Macintosh world, a style of window with much less adornment (smaller or missing title bar, zoom box, etc, etc) than a standard window. *** New in 3.1.0. *** :wok-on-the-wall: /n./ A small microwave dish antenna used for cross-campus private network circuits, from the obvious resemblance between a microwave dish and the Chinese culinary utensil. *** New in 3.2.0. *** :wormhole: /werm'hohl/ /n./ [from the `wormhole' singularities hypothesized in some versions of General Relativity theory] 1. obs. A location in a monitor which contains the address of a routine, with the specific intent of making it easy to substitute a different routine. This term is now obsolescent; modern operating systems use clusters of wormholes extensively (for modularization of I/O handling in particular, as in the Unix device-driver organization) but the preferred techspeak for these clusters is `device tables', `jump tables' or `capability tables'. 2. [Amateur Packet Radio] A network path using a commercial satellite link to join two or more amateur VHF networks. So called because traffic routed through a wormhole leaves and re-enters the amateur network over great distances with usually little clue in the message routing header as to how it got from one relay to the other. Compare @{gopher hole@} (sense 2). *** Changed in 3.2.0. *** :xyzzy: /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/ /adj./ [from the ADVENT game] The @{canonical@} `magic word'. This comes from @{ADVENT@}, in which the idea is to explore an underground cave with many rooms and to collect the treasures you find there. If you type `xyzzy' at the appropriate time, you can move instantly between two otherwise distant points. If, therefore, you encounter some bit of @{magic@}, you might remark on this quite succinctly by saying simply "Xyzzy!" "Ordinarily you can't look at someone else's screen if he has protected it, but if you type quadruple-bucky-clear the system will let you do it anyway." "Xyzzy!" Xyzzy has actually been implemented as an undocumented no-op command on several OSes; in Data General's AOS/VS, for example, it would typically respond "Nothing happens", just as @{ADVENT@} did if the magic was invoked at the wrong spot or before a player had performed the action that enabled the word. In more recent 32-bit versions, by the way, AOS/VS responds "Twice as much happens". The popular `minesweeper' game under Microsoft Windows has a cheat mode triggered by the command `xyzzy' that turns the top-left pixel of the screen different colors depending on whether or not the cursor is over a bomb. *** Changed in 3.3.2. *** :zigamorph: /zig'*-morf/ /n./ 1. Hex FF (11111111) when used as a delimiter or @{fence@} character. Usage: primarily at IBM shops. 2. [proposed] /n./ The Unicode non-character U+FFFF (1111111111111111), a character code which is not assigned to any character, and so is usable as end-of-string. (Unicode (a subset of ISO 10646) is a 16-bit character code intended to cover all of the world's writing systems, including Roman, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Ethiopic, Thai, Laotian and many other languages (support for @{elvish@} is planned for a future release). ************************* Deleted entries ************************* devo 3.3.2 doco 3.3.2 mango 3.3.2 sendmail 3.3.2 spoo 3.2.0 spooge 3.2.0 toto 3.2.0 unleaded 3.2.0 ************************ Statistics ************************ Total entries: 2067 Total new: 114 Total changed: 235 Total deleted: 8 Additions by version: 3.1.0: 29 3.2.0: 43 3.3.0: 14 3.3.1: 5 3.3.2: 15 3.3.3: 4 4.0.0: 4 Changes by version: 3.1.0: 53 3.2.0: 53 3.3.0: 38 3.3.1: 11 3.3.2: 45 3.3.3: 20 4.0.0: 15 New percentage: 5.84% Changed percentage: 12.03% Deleted percentage: 0.41% Total change percentage: 18.28%