This is an automatically generated difference report including new, changed and deleted entries from the third edition of TNHD (Jargon File release 4.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. This report covers the following versions: 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4. It was generated on Thu Jun 17 14:06:29 EDT 1999 Some statistics follow the change report. ******************** New and Changed entries ******************** *** Changed in 4.1.1. *** :2: infix. In translation software written by hackers, infix 2 often represents the syllable _to_ with the connotation `translate to': as in dvi2ps (DVI to PostScript), int2string (integer to string), and texi2roff (Texinfo to [nt]roff). Several versions of a joke have floated around the internet in which some idiot programmer fixes the Y2K bug by changing all the Y's in something to K's, as in Januark, Februark, etc. *** New in 4.1.0. *** :404: // n. [from the HTTP error "file not found on server"] Extended to humans to convey that the subject has no idea or no clue - sapience not found. May be used reflexively; "Uh, I'm 404ing" means "I'm drawing a blank". *** New in 4.1.0. *** :404 compliant: adj. The status of a website which has been completely removed, usually by the administrators of the hosting site as a result of net abuse by the website operators. The term is a tongue-in-cheek reference to the standard "301 compliant" Murkowski Bill disclaimer used by spammers. See also: {spam}, {spamvertize}. *** Changed in 4.1.0. *** :@-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. Sadly, the @-party tradition has been in decline since about 1996, mainly because having an @-address no longer functions as an effective lodge pin. *** Changed in 4.1.0. *** :ABEND: /a'bend/, /*-bend'/ n. [ABnormal END] 1. Abnormal termination (of software); {crash}; {lossage}. Derives from an error message on the IBM 360; used jokingly by hackers but seriously mainly by {code grinder}s. Usually capitalized, but may appear as `abend'. Hackers will try to persuade you that ABEND is called `abend' because it is what system operators do to the machine late on Friday when they want to call it a day, and hence is from the German `Abend' = `Evening'. 2. [alt.callahans] Absent By Enforced Net Deprivation - used in the subject lines of postings warning friends of an imminent loss of Internet access. (This can be because of computer downtime, loss of provider, moving or illness.) Variants of this also appear: ABVND = `Absent By Voluntary Net Deprivation' and ABSEND = `Absent By Self-Enforced Net Deprivation' have been sighted. *** Changed in 4.1.0, 4.1.2. *** :ADVENT: /ad'vent/ n. The prototypical computer adventure game, first designed by Will Crowther on the {PDP-10} in the mid-1970s as an attempt at computer-refereed fantasy gaming, and expanded into a puzzle-oriented game by Don Woods at Stanford in 1976. (Woods had been one of the authors of {INTERCAL}.) Now better known as Adventure, but the {{TOPS-10}} operating system permitted only six-letter filenames. See also {vadding}, {Zork}, and {Infocom}. This game defined the terse, dryly humorous style since expected in text adventure games, and popularized several tag lines that have become fixtures of hacker-speak: "A huge green fierce snake bars the way!" "I see no X here" (for some noun X). "You are in a maze of twisty little passages, all alike." "You are in a little maze of twisty passages, all different." The `magic words' {xyzzy} and {plugh} also derive from this game. Crowther, by the way, participated in the exploration of the Mammoth & Flint Ridge cave system; it actually _has_ a `Colossal Cave' and a `Bedquilt' as in the game, and the `Y2' that also turns up is cavers' jargon for a map reference to a secondary entrance. ADVENT sources are available for FTP at `ftp://ftp.wustl.edu/doc/misc/if-archive/games/source/advent.tar.Z'. There's a version implemented as a set of web scripts at `http://tjwww.stanford.edu/adventure/'. *** New in 4.1.0. *** :AOL!: n. [Usenet] Common synonym for "Me, too!" alluding to the legendary propensity of America Online users to utter contentless "Me, too!" postings. The number of exclamation points following varies from zero to five or so. The pseudo-HTML Me, too! is also frequently seen. See also {September that never ended}. *** Changed in 4.1.0, 4.1.1. *** :ASCII:: /as'kee/ n. [acronym: American Standard Code for Information Interchange] The predominant character set encoding of present-day computers. The modern version uses 7 bits for each character, whereas most earlier codes (including an early version of ASCII) used fewer. This change allowed the inclusion of lowercase letters -- a major {win} -- but it did not provide for accented letters or any other letterforms not used in English (such as the German sharp-S or the ae-ligature which is a letter in, for example, Norwegian). It could be worse, though. It could be much worse. See {{EBCDIC}} to understand how. Computers are much pickier and less flexible about spelling than humans; thus, hackers need to be very precise when talking about characters, and have developed a considerable amount of verbal shorthand for them. Every character has one or more names -- some formal, some concise, some silly. Common jargon names for ASCII characters are collected here. See also individual entries for {bang}, {excl}, {open}, {ques}, {semi}, {shriek}, {splat}, {twiddle}, and {Yu-Shiang Whole Fish}. This list derives from revision 2.3 of the Usenet ASCII pronunciation guide. Single characters are listed in ASCII order; character pairs are sorted in by first member. For each character, common names are given in rough order of popularity, followed by names that are reported but rarely seen; official ANSI/CCITT names are surrounded by brokets: <>. Square brackets mark the particularly silly names introduced by {INTERCAL}. The abbreviations "l/r" and "o/c" stand for left/right and "open/close" respectively. Ordinary parentheticals provide some usage information. ! Common: {bang}; pling; excl; shriek; . Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey; wham; eureka; [spark-spot]; soldier, control. " Common: double quote; quote. Rare: literal mark; double-glitch; ; ; dirk; [rabbit-ears]; double prime. # Common: number sign; pound; pound sign; hash; sharp; {crunch}; hex; [mesh]. Rare: grid; crosshatch; octothorpe; flash; , pig-pen; tictactoe; scratchmark; thud; thump; {splat}. $ Common: dollar; . Rare: currency symbol; buck; cash; string (from BASIC); escape (when used as the echo of ASCII ESC); ding; cache; [big money]. % Common: percent; ; mod; grapes. Rare: [double-oh-seven]. & Common: ; amper; and. Rare: address (from C); reference (from C++); andpersand; bitand; background (from `sh(1)'); pretzel; amp. [INTERCAL called this `ampersand'; what could be sillier?] ' Common: single quote; quote; . Rare: prime; glitch; tick; irk; pop; [spark]; ; . ( ) Common: l/r paren; l/r parenthesis; left/right; open/close; paren/thesis; o/c paren; o/c parenthesis; l/r parenthesis; l/r banana. Rare: so/already; lparen/rparen; ; o/c round bracket, l/r round bracket, [wax/wane]; parenthisey/unparenthisey; l/r ear. * Common: star; [{splat}]; . Rare: wildcard; gear; dingle; mult; spider; aster; times; twinkle; glob (see {glob}); {Nathan Hale}. + Common: ; add. Rare: cross; [intersection]. , Common: . Rare: ; [tail]. - Common: dash; ; . Rare: [worm]; option; dak; bithorpe. . Common: dot; point; ; . Rare: radix point; full stop; [spot]. / Common: slash; stroke; ; forward slash. Rare: diagonal; solidus; over; slak; virgule; [slat]. : Common: . Rare: dots; [two-spot]. ; Common: ; semi. Rare: weenie; [hybrid], pit-thwong. < > Common: ; bra/ket; l/r angle; l/r angle bracket; l/r broket. Rare: from/{into, towards}; read from/write to; suck/blow; comes-from/gozinta; in/out; crunch/zap (all from UNIX); [angle/right angle]. = Common: ; gets; takes. Rare: quadrathorpe; [half-mesh]. ? Common: query; ; {ques}. Rare: whatmark; [what]; wildchar; huh; hook; buttonhook; hunchback. @ Common: at sign; at; strudel. Rare: each; vortex; whorl; [whirlpool]; cyclone; snail; ape; cat; rose; cabbage; . V Rare: [book]. [ ] Common: l/r square bracket; l/r bracket; ; bracket/unbracket. Rare: square/unsquare; [U turn/U turn back]. \ Common: backslash, hack, whack; escape (from C/UNIX); reverse slash; slosh; backslant; backwhack. Rare: bash; ; reversed virgule; [backslat]. ^ Common: hat; control; uparrow; caret; . Rare: chevron; [shark (or shark-fin)]; to the (`to the power of'); fang; pointer (in Pascal). _ Common: ; underscore; underbar; under. Rare: score; backarrow; skid; [flatworm]. ` Common: backquote; left quote; left single quote; open quote; ; grave. Rare: backprime; [backspark]; unapostrophe; birk; blugle; back tick; back glitch; push; ; quasiquote. { } Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly bracket/brace; l/r curly bracket/brace; . Rare: brace/unbrace; curly/uncurly; leftit/rytit; l/r squirrelly; [embrace/bracelet]. | Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: ; gozinta; thru; pipesinta (last three from UNIX); [spike]. ~ Common: ; squiggle; {twiddle}; not. Rare: approx; wiggle; swung dash; enyay; [sqiggle (sic)]. The pronunciation of `#' as `pound' is common in the U.S. but a bad idea; {{Commonwealth Hackish}} has its own, rather more apposite use of `pound sign' (confusingly, on British keyboards the pound graphic happens to replace `#'; thus Britishers sometimes call `#' on a U.S.-ASCII keyboard `pound', compounding the American error). The U.S. usage derives from an old-fashioned commercial practice of using a `#' suffix to tag pound weights on bills of lading. The character is usually pronounced `hash' outside the U.S. There are more culture wars over the correct pronunciation of this character than any other, which has led to the {ha ha only serious} suggestion that it be pronounced `shibboleth' (see Judges 12.6 in an Old Testament or Torah). The `uparrow' name for circumflex and `leftarrow' name for underline are historical relics from archaic ASCII (the 1963 version), which had these graphics in those character positions rather than the modern punctuation characters. The `swung dash' or `approximation' sign is not quite the same as tilde in typeset material but the ASCII tilde serves for both (compare {angle brackets}). Some other common usages cause odd overlaps. The `#', `$', `>', and `&' characters, for example, are all pronounced "hex" in different communities because various assemblers use them as a prefix tag for hexadecimal constants (in particular, `#' in many assembler-programming cultures, `$' in the 6502 world, `>' at Texas Instruments, and `&' on the BBC Micro, Sinclair, and some Z80 machines). See also {splat}. The inability of ASCII text to correctly represent any of the world's other major languages makes the designers' choice of 7 bits look more and more like a serious {misfeature} as the use of international networks continues to increase (see {software rot}). Hardware and software from the U.S. still tends to embody the assumption that ASCII is the universal character set and that characters have 7 bits; this is a major irritant to people who want to use a character set suited to their own languages. Perversely, though, efforts to solve this problem by proliferating `national' character sets produce an evolutionary pressure to use a _smaller_ subset common to all those in use. *** Changed in 4.1.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, rec.arts.ascii, devoted to this genre; however, see also {warlording}. *** New in 4.1.0. *** :AUP: /A-U-P/ Abbreviation, "Acceptable Use Policy". The policy of a given ISP which sets out what the ISP considers to be (un)acceptable uses of its Internet resources. *** Changed in 4.1.0. *** :Acme: n. The canonical supplier of bizarre, elaborate, and non-functional gadgetry - where Rube Goldberg and Heath Robinson (two cartoonists who specialized in elaborate contraptions) shop. The name has been humorously expanded as A Company Making Everything. 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 improbable and violent ways. *** New in 4.1.0. Changed in 4.1.0. *** :Alderson loop: n. [Intel] A special version of an {infinite loop} where there is an exit condition available, but inaccessible in the current implementation of the code. Typically this is created while debugging user interface code. An example would be when there is a menu stating, "Select 1-3 or 9 to quit" and 9 is not allowed by the function that takes the selection from the user. This term received its name from a programmer who had coded a modal message box in MSAccess with no Ok or Cancel buttons, thereby disabling the entire program whenever the box came up. The message box had the proper code for dismissal and even was set up so that when the non-existent Ok button was pressed the proper code would be called. *** New in 4.1.0. Changed in 4.1.1. *** :Amiga: n A series of personal computer models originally sold by Commodore, based on 680x0 processors, custom support chips and an operating system that combined some of the best features of Macintosh and Unix with compatibility with neither. The Amiga was released just as the personal computing world standardized on IBM-PC clones. This prevented it from gaining serious market share, despite the fact that the first Amigas had a substantial technological lead on the IBM XTs of the time. Instead, it acquired a small but zealous population of enthusiastic hackers who dreamt of one day unseating the clones (see {Amiga Persecution Complex}). The traits of this culture are both spoofed and illuminated in The BLAZE Humor Viewer (http://www-ccsl.cs.umass.edu/~barrett/bm/Viewer_Sections/Main.HTML). The strength of the Amiga platform seeded a small industry of companies building software and hardware for the platform, especially in graphics and video applications (see {video toaster}). Due to spectacular mismanagement, Commodore did hardly any R&D, allowing the competition to close Amiga's technological lead. After Commodore went bankrupt in 1994 the technology passed through several hands, none of whom did much with it. However, the Amiga is still being produced in Europe under license and has a substantial number of fans, which will probably extend the platform's life considerably. *** New in 4.1.0. Changed in 4.1.1. *** :Amiga Persecution Complex: n. The disorder suffered by a particularly egregious variety of {bigot}, those who believe that the marginality of their preferred machine is the result of some kind of industry-wide conspiracy (for without a conspiracy of some kind, the eminent superiority of their beloved shining jewel of a platform would obviously win over all, market pressures be damned!) Those afflicted are prone to engaging in {flame war}s and calling for boycotts and mailbombings. Amiga Persecution Complex is by no means limited to Amiga users; NeXT, {NeWS}, {OS/2}, Macintosh, {LISP}, and {GNU} users are also common victims. {Linux} users used to display symptoms very frequently before Linux started winning; some still do. See also {newbie}, {troll}, {holy wars}, {weenie}, {Get a life!}. *** New in 4.1.1. *** :B5: // [common] Abbreviation for "Babylon 5", a science-fiction TV series as revered among hackers as was the original Star Trek. *** Changed in 4.1.0, 4.1.1. *** :BASIC: /bay'-sic/ n. A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was 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 in the 1980s. As it is, it probably ruined tens of thousands of potential wizards. [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] Note: the name is commonly parsed as Beginner's All-purpose Symbolic Instruction Code, but this is a {backronym}. BASIC was originally named Basic, simply because it was a simple and basic programming language. Because most programming language names were in fact acronyms, BASIC was often capitalized just out of habit or to be silly. No acronym for BASIC originally existed or was intended (as one can verify by reading texts through the early 1970s). Later, around the mid-1970s, people began to make up backronyms for BASIC because they weren't sure. Beginner's All-purpose Symbolic Instruction Code is the one that caught on. *** Changed in 4.1.1. *** :BBS: /B-B-S/ n. [common; abbreviation, `Bulletin Board System'] An electronic bulletin board system; that is, a message database where people can log in and leave broadcast messages for others grouped (typically) into {topic group}s. The term was especially applied tto the thousands of local BBS systems that operated during the pre-Internet microcomputer era of roughly 1980 to 1995., typically run by amateurs for fun out of their homes on MS-DOS boxes with a single modem line each. Fans of Usenet and Internet or the big commercial timesharing bboards such as CompuServe and GEnie tended to consider local BBSes the low-rent district of the hacker culture, but they served a valuable function by knitting together lots of hackers and users in the personal-micro world who would otherwise have been unable to exchange code at all. Post-Internet, BBSs are likely to be local newsgroups on an ISP; efficiency has increased but a certain flavor has been lost. See also {bboard}. *** New in 4.1.0. *** :BCPL: // n. [abbreviation, `Basic Combined Programming Language') A programming language developed by Martin Richards in Cambridge in 1967. It is remarkable for its rich syntax, small size of compiler (it can be run in 16k) and extreme portability. It reached break-even point at a very early stage, and was the language in which the original {hello world} program was written. It has been ported to so many different systems that its creator confesses to having lost count. It has only one data type (a machine word) which can be used as an integer, a character, a floating point number, a pointer, or almost anything else, depending on context. BCPL was a precursor of C, which inherited some of its features. *** New in 4.1.1. *** :BI: // Common written abbreviation for {Breidbart Index}. *** Changed in 4.1.0, 4.1.1. *** :BITNET: /bit'net/ n., obs. [acronym: Because It's Time NETwork] Everybody's least favorite piece of the network (see {the network}) - until AOL happened. The BITNET hosts were a collection of IBM dinosaurs and VAXen (the latter with lobotomized comm hardware) that communicate using 80-character {{EBCDIC}} card images (see {eighty-column mind}); thus, they tend to mangle the headers and text of third-party traffic from the rest of the ASCII/{RFC}-822 world with annoying regularity. BITNET was also notorious as the apparent home of {B1FF}. By 1995 it had, much to everyone's relief, been obsolesced and absorbed into the Internet. Unfortunately, around this time we also got AOL. *** Changed in 4.1.0. *** :BOF: /B-O-F/ or /bof/ n. 1. [common] Abbreviation for the phrase "Birds Of a Feather" (flocking together), an informal discussion group and/or bull session scheduled on a conference program. It is not clear where or when this term originated, but it is now associated with the USENIX conferences for Unix techies and was already established there by 1984. It was used earlier than that at DECUS conferences and is reported to have been common at SHARE meetings as far back as the early 1960s. 2. Acronym, `Beginning of File'. *** Changed in 4.1.0. *** :BOFH: // n. [common] 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'. BOFHs and BOFH wannabes hang out on {scary devil monastery} and wield {LART}s. *** New in 4.1.0. *** :BSOD: // Very commmon abbreviation for {Blue Screen of Death}. Both spoken and written. *** Changed in 4.1.1. *** :Bad Thing: n. [very common; from the 1930 Sellar & Yeatman parody "1066 And All That"] Something that can't possibly result in improvement of the subject. This term is always capitalized, as in "Replacing all of the 9600-baud modems with bicycle couriers would be a Bad Thing". Oppose {Good Thing}. British correspondents confirm that {Bad Thing} and {Good Thing} (and prob. therefore {Right Thing} and {Wrong Thing}) come from the book referenced in the etymology, which discusses rulers who were Good Kings but Bad Things. This has apparently created a mainstream idiom on the British side of the pond. It is very common among American hackers, but not in mainstream usage here. Compare {Bad and Wrong}. *** New in 4.1.0. *** :Bad and Wrong: adj. [Durham, UK] Said of something that is both badly designed and wrongly executed. This common term is the prototype of, and is used by contrast with, three less common terms - Bad and Right (a kludge, something ugly but functional); Good and Wrong (an overblown GUI or other attractive nuisance); and (rare praise) Good and Right. These terms entered common use at Durham c.1994 and may have been imported from elsewhere. There are standard abbreviations: they start with B&R, a typo for "Bad and Wrong". Consequently, B&W is actually "Bad and Right", G&R = "Good and Wrong", and G&W = "Good and Right". Compare {evil and rude}, {Good Thing}, {Bad Thing}. *** New in 4.1.0. *** :Befunge: n. A worthy companion to {INTERCAL}; a computer language family which escapes the quotidian limitation of linear control flow and embraces program counters flying through multiple dimensions with exotic topologies. For details, see the Befunge home page at `http://www.cats-eye.com/cet/soft/lang/befunge/'. *** New in 4.1.0. Changed in 4.1.1. *** :Blue Screen of Death: n. [common] This term is closely related to the older {Black Screen of Death} but much more common (many non-hackers have picked it up). Due to the extreme fragility and bugginess of Microsoft Windows (3.1/95/NT versions), misbehaving applications can crash the OS. The Blue Screen of Death, sometimes decorated with hex error codes, is what you get when this happens. (Commonly abbreviated {BSOD}.) This event is sufficiently common to have inspired the following haiku from Alan Tuplin: Your system which soared So freely on gliding wings now hangs, frozen and blue The following entry from the Salon Haiku Contest (http://www.salonmagazine.com/21st/chal/1998/02/10chal2.html), seems to have predated popular use of the term (and may indeed have inspired it): Windows NT crashed. I am the Blue Screen of Death No one hears your screams. *** New in 4.1.0. Changed in 4.1.1. *** :Borg: n. In "Star Trek: The Next Generation" the Borg is a species of cyborg that ruthlessly seeks to incorporate all sentient life into itself; their slogan is "Resistence is futile. You will be assimilated." In hacker parlance, the Borg is usually {Microsoft}, which is thought to be trying just as ruthlessly to assimilate all computers and the entire Internet to itself (there is a widely circulated image of Bill Gates as a Borg). Being forced to use Windows or NT is often referred to as being "Borged". Interestingly, the {Halloween Documents} reveal that this jargon is live within Microsoft itself. (Other companies, notably Intel and UUNet, have also occasionally been equated to the Borg.) See also {Evil Empire}, {Internet Exploiter}. *** New in 4.1.0. *** :Breidbart Index: /bri:d'bart ind*ks/ A measurement of the severity of spam invented by long-time hacker Seth Breidbart, used for programming cancelbots. The Breidbart Index takes into account the fact that excessive multi-posting {EMP} is worse than excessive cross-posting {ECP}. The Breidbart Index is computed as follows: For each article in a spam, take the square-root of the number of newsgroups to which the article is posted. The Breidbart Index is the sum of the square roots of all of the posts in the spam. For example, one article posted to nine newsgroups and again to sixteen would have BI = sqrt(9) + sqrt(16) = 7. It is generally agreed that a spam is cancelable if the Breidbart Index exceeds 20. The Breidbart Index accumulates over a 45-day window. Ten articles yesterday and ten articles today and ten articles tomorrow add up to a 30-article spam. Spam fighters will often reset the count if you can convince them that the spam was accidental and/or you have seen the error of your ways and won't repeat it. Breidbart Index can accumulate over multiple authors. For example, the "Make Money Fast" pyramid scheme exceeded a BI of 20 a long time ago, and is now considered "cancel on sight". *** Changed in 4.1.2. *** :Brooks's Law: prov. "Adding manpower to a late software project makes it later" -- a result of the fact that the expected advantage from splitting development work among N programmers is O(N) (that is, proportional to N), but the complexity and communications cost associated with coordinating and then merging their work is O(N^2) (that is, proportional to the square of N). The quote is from Fred Brooks, a manager of IBM's OS/360 project and author of "The Mythical Man-Month" (Addison-Wesley, 1975, ISBN 0-201-00650-2), an excellent early book on software engineering. The myth in question has been most tersely expressed as "Programmer time is fungible" and Brooks established conclusively that it is not. Hackers have never forgotten his advice (though it's not the whole story; see {bazaar}); too often, {management} still does. See also {creationism}, {second-system effect}, {optimism}. *** Changed in 4.1.0. *** :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 threatened 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 mounted a constitutional challenge. The CDA was demolished by a strongly-worded decision handed down on in 8th-circuit Federal court and subsequently affirmed by the U.S. Supreme Court on 26 June 1997 (`White Thursday'). See also {Exon}. *** Changed in 4.1.0. *** :CPU Wars: /C-P-U worz/ n. A 1979 large-format comic by Chas Andres chronicling the attempts of the brainwashed androids of IPM (Impossible to Program Machines) to conquer and destroy the peaceful denizens of HEC (Human Engineered Computers). This rather transparent allegory featured many references to {ADVENT} and the immortal line "Eat flaming death, minicomputer mongrels!" (uttered, of course, by an IPM stormtrooper). The whole shebang is now available on the Web (http://www.e-pix.com/CPUWARS/cpuwars.html). It is alleged that the author subsequently received a letter of appreciation on IBM company stationery from the head of IBM's Thomas J. Watson Research Laboratories (then, as now, one of the few islands of true hackerdom in the IBM archipelago). The lower loop of the B in the IBM logo, it is said, had been carefully whited out. See {eat flaming death}. *** Changed in 4.1.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 (second edition 1996, ISBN 1-56592-149-6). The definitive reference on {Perl}. *** New in 4.1.0. *** :Cancelmoose[tm]: /kan'sel-moos/ [Usenet] The archetype and model of all good {spam}-fighters. Once upon a time, the 'Moose would send out spam-cancels and then post notice anonymously to news.admin.policy, news.admin.misc, and alt.current-events.net-abuse. The 'Moose stepped to the fore on its own initiative, at a time (mid-1994) when spam-cancels were irregular and disorganized, and behaved altogether admirably - fair, even-handed, and quick to respond to comments and criticism, all without self-aggrandizement or martyrdom. Cancelmoose[tm] quickly gained near-unanimous support from the readership of all three above-mentioned groups. Nobody knows who Cancelmoose[tm] really is, and there aren't even any good rumors. However, the 'Moose now has an e-mail address () and a web site (`http://www.cm.org'.) By early 1995, others had stepped into the spam-cancel business, and appeared to be comporting themselves well, after the 'Moose's manner. The 'Moose has now gotten out of the business, and is more interested in ending spam (and cancels) entirely. *** Changed in 4.1.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}, {womble} 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}, {womble}, and {xyzzy}. *** Changed in 4.1.0. *** :Conway's Law: prov. The rule that the organization of the software and the organization of the software team will be congruent; commonly stated as "If you have four groups working on a compiler, you'll get a 4-pass compiler". The original statement was more general, "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations." This first appeared in the April 1968 issue of {Datamation}. Compare {SNAFU principle}. The law was named after Melvin Conway, an early proto-hacker who wrote an assembler for the Burroughs 220 called SAVE. (The name `SAVE' didn't stand for anything; it was just that you lost fewer card decks and listings because they all had SAVE written on them.) There is also Tom Cheatham's amendment of Conway's Law: "If a group of N persons implements a COBOL compiler, there will be N-1 passes. Someone in the group has to be the manager." *** Changed in 4.1.0. *** :Core Wars: n. A game between `assembler' programs in a machine or machine simulator, where the objective is to kill your opponent's program by overwriting it. Popularized in the 1980s by A. K. Dewdney's column in "Scientific American" magazine, but described in "Software Practice And Experience" a decade earlier. The game was actually devised and played by Victor Vyssotsky, Robert Morris Sr., and Doug McIlroy in the early 1960s (Dennis Ritchie is sometimes incorrectly cited as a co-author, but was not involved). Their original game was called `Darwin' and ran on a IBM 7090 at Bell Labs. See {core}. For information on the modern game, do a web search for the `rec.games.corewar FAQ' or surf to the King Of The Hill (http://www.koth.org) site. *** New in 4.1.0. *** :C|N>K: n. [Usenet] Coffee through Nose to Keyboard; that is, "I laughed so hard I {snarf}ed my coffee onto my keyboard.". Common on alt.fan.pratchett and {scary devil monastery}; recognized elsewhere. The Acronymphomania FAQ (http://www.lspace.org/faqs/acronym-faq.g.html) on alt.fan.pratchett recognizes variants such as T|N>K = `Tea through Nose to Keyboard' and C|N>S = `Coffee through Nose to Screen'. *** Changed in 4.1.0. *** :DEC:: /dek/ n. 1. v. Verbal (and only rarely written) shorthand for decrement, i.e. `decrease by one'. Especially used by assembly programmers, as many assembly languages have a `dec' mnemonic. Antonym: {inc}. 2. n. Commonly used abbreviation for Digital Equipment Corporation, later deprecated by DEC itself in favor of "Digital" and now entirely obsolete following the buyout by Compaq. Before the {killer micro} revolution of the late 1980s, hackerdom was closely symbiotic with DEC's pioneering timesharing machines. The first of the group of cultures described by this lexicon nucleated around the PDP-1 (see {TMRC}). Subsequently, the PDP-6, {PDP-10}, {PDP-20}, PDP-11 and {VAX} were all foci of large and important hackerdoms, and DEC machines long dominated the ARPANET and Internet machine population. DEC was the technological leader of the minicomputer era (roughly 1967 to 1987), but its failure to embrace microcomputers and Unix early cost it heavily in profits and prestige after {silicon} got cheap. Nevertheless, the microprocessor design tradition owes a major debt to the PDP-11 instruction set, and every one of the major general-purpose microcomputer OSs so far (CP/M, MS-DOS, Unix, OS/2, Windows NT) was either genetically descended from a DEC OS, or incubated on DEC hardware, or both. Accordingly, DEC was for many years still regarded with a certain wry affection even among many hackers too young to have grown up on DEC machines. DEC reclaimed some of its old reputation among techies in the first half of the 1990s. The success of the Alpha, an innovatively-designed and very high-performance {killer micro}, helped a lot. So did DEC's newfound receptiveness to Unix and open systems in general. When Compaq acquired DEC at the end of 1998 there was some concern that these gains would be lost along with the DEC nameplate, but the merged company has so far turned out to be culturally dominated by the ex-DEC side. *** Changed in 4.1.0. *** :DWIM: /dwim/ [acronym, `Do What I Mean'] 1. adj. Able to guess, sometimes even correctly, the result intended when bogus input was provided. 2. n. obs. The BBNLISP/INTERLISP function that attempted to accomplish this feat by correcting many of the more common errors. See {hairy}. 3. Occasionally, an interjection hurled at a balky computer, esp. when one senses one might be tripping over legalisms (see {legalese}). 4. Of a person, someone whose directions are incomprehensible and vague, but who nevertheless has the expectation that you will solve the problem using the specific method he/she has in mind. Warren Teitelman originally wrote DWIM to fix his typos and spelling errors, so it was somewhat idiosyncratic to his style, and would often make hash of anyone else's typos if they were stylistically different. Some victims of DWIM thus claimed that the acronym stood for `Damn Warren's Infernal Machine!'. In one notorious incident, Warren added a DWIM feature to the command interpreter used at Xerox PARC. One day another hacker there typed `delete *$' to free up some disk space. (The editor there named backup files by appending `$' to the original file name, so he was trying to delete any backup files left over from old editing sessions.) It happened that there weren't any editor backup files, so DWIM helpfully reported `*$ not found, assuming you meant 'delete *'.' It then started to delete all the files on the disk! The hacker managed to stop it with a {Vulcan nerve pinch} after only a half dozen or so files were lost. The disgruntled victim later said he had been sorely tempted to go to Warren's office, tie Warren down in his chair in front of his workstation, and then type `delete *$' twice. DWIM is often suggested in jest as a desired feature for a complex program; it is also occasionally described as the single instruction the ideal computer would have. Back when proofs of program correctness were in vogue, there were also jokes about `DWIMC' (Do What I Mean, Correctly). A related term, more often seen as a verb, is DTRT (Do The Right Thing); see {Right Thing}. *** New in 4.1.0. *** :Dave the Resurrector: n. [Usenet; also abbreviated DtR] A {cancelbot} that cancels cancels. Dave the Resurrector originated when some {spam}-spewers decided to try to impede spam-fighting by wholesale cancellation of anti-spam coordination messages in the news.admin.net-abuse.usenet newsgroup. *** New in 4.1.0. *** :DoS attack: // [Usenet; note that it's unrelated to `DOS' as name of an operating system] Abbreviation for Denial-Of-Service attack. This abbreviation is most often used of attempts to shut down newsgroups with floods of {spam}. *** New in 4.1.0. *** :Dread Questionmark Disease: n. The result of saving HTML from Microsoft Word or some other program that uses the nonstandard Microsoft variant of Latin-1; the symptom is that various of those nonstandard characters in positions 128-160 show up as questionmarks. The usual culprit is the misnamed `smart quotes' feature in Microsoft Word. For more details (and a program called `demoroniser' that cleans up the mess) see `http://www.fourmilab.ch/webtools/demoroniser/'. *** Changed in 4.1.0. *** :Duff's device: n. The most dramatic use yet seen of {fall through} in C, invented by Tom Duff when he was at Lucasfilm. Trying to {bum} all the instructions he could out of an inner loop that copied data serially onto an output port, he decided to unroll it. He then realized that the unrolled version could be implemented by _interlacing_ the structures of a switch and a loop: register n = (count + 7) / 8; /* count > 0 assumed */ switch (count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while (--n > 0); } Shocking though it appears to all who encounter it for the first time, the device is actually perfectly valid, legal C. C's default {fall through} in case statements has long been its most controversial single feature; Duff observed that "This code forms some sort of argument in that debate, but I'm not sure whether it's for or against." Duff has discussed the device in detail at `http://www.lysator.liu.se/c/duffs-device.html'. Note that the omission of postfix `++' from `*to' was intentional (though confusing). Duff's device can be used to implement memory copy, but the original aim was to copy values serially into a magic IO register. [For maximal obscurity, the outermost pair of braces above could be actually be removed -- GLS] *** New in 4.1.0. *** :ECP: /E-C-P/ n. See {spam} and {velveeta}. *** Changed in 4.1.0. *** :EMACS: /ee'maks/ n. [from Editing MACroS] The ne plus ultra of hacker editors, a programmable text editor with an entire LISP system inside it. It was originally written by Richard Stallman in {TECO} under {{ITS}} at the MIT AI lab; AI Memo 554 described it as "an advanced, self-documenting, customizable, extensible real-time display editor". It has since been reimplemented any number of times, by various hackers, and versions exist that run under most major operating systems. Perhaps the most widely used version, also written by Stallman and now called "{GNU} EMACS" or {GNUMACS}, runs principally under Unix. (Its close relative XEmacs is the second most popular version.) It includes facilities to run compilation subprocesses and send and receive mail or news; many hackers spend up to 80% of their {tube time} inside it. Other variants include {GOSMACS}, CCA EMACS, UniPress EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS. (Though we use the original all-caps spelling here, it is nowadays very commonly `Emacs'.) Some EMACS versions running under window managers iconify as an overflowing kitchen sink, perhaps to suggest the one feature the editor does not (yet) include. Indeed, some hackers find EMACS too {heavyweight} and {baroque} for their taste, and expand the name as `Escape Meta Alt Control Shift' to spoof its heavy reliance on keystrokes decorated with {bucky bits}. Other spoof expansions include `Eight Megabytes And Constantly Swapping' (from when that was a lot of {core}), `Eventually `malloc()'s All Computer Storage', and `EMACS Makes A Computer Slow' (see {{recursive acronym}}). See also {vi}. *** New in 4.1.0. *** :EMP: /E-M-P/ See {spam}. *** Changed in 4.1.0. *** :EOF: /E-O-F/ n. [abbreviation, `End Of File'] 1. [techspeak] The {out-of-band} value returned by C's sequential character-input functions (and their equivalents in other environments) when end of file has been reached. This value is usually -1 under C libraries postdating V6 Unix, but was originally 0. DOS hackers think EOF is ^Z, and a few Amiga hackers think it's ^\. 2. [Unix] The keyboard character (usually control-D, the ASCII EOT (End Of Transmission) character) that is mapped by the terminal driver into an end-of-file condition. 3. Used by extension in non-computer contexts when a human is doing something that can be modeled as a sequential read and can't go further. "Yeah, I looked for a list of 360 mnemonics to post as a joke, but I hit EOF pretty fast; all the library had was a {JCL} manual." See also {EOL}. *** Changed in 4.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}.) [GLS has since let slip that the unnamed hacker in this story was in fact himself --ESR] In recent years, the synonym `El Camino Virtual' has been reported as an alternate at IBM and Amdahl sites in the Valley. Mathematically literate hackers in the Valley have also been heard to refer to some major cross-street intersecting El Camino Real as "El Camino Imaginary". One popular theory is that the intersection is located near Moffett Field - where they keep all those complex planes. *** New in 4.1.0. *** :Evil Empire: n. [from Ronald Reagan's famous characterization of the communist Soviet Union] Formerly {IBM}, now Microsoft. Functionally, the company most hackers love to hate at any given time. Hackers like to see themselves as romantic rebels against the Evil Empire, and frequently adopt this role to the point of ascribing rather more power and malice to the Empire than it actually has. See also {Borg} and search for Evil Empire (http://pages.prodigy.net/rkusnery/amsind.html) pages on the Web. *** Changed in 4.1.0. *** :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-Nebraska), primary author of the {CDA}. *** New in 4.1.0. *** :Exploder: n. Used within Microsoft to refer to the Windows Explorer, the interface component of Windows 95 and WinNT 4. Our spies report that most of the heavy guns at MS came from a Unix background and use command line utilities; even they are scornful of the over-gingerbreaded {WIMP environment}s that they have been called upon to create. *** Changed in 4.1.1. *** :FRS: // n.,obs. 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. The term was in steady through not common use until 1998 and the invention of {open source}. *** Changed in 4.1.1, 4.1.2. *** :FUD: /fuhd/ n. Defined by Gene Amdahl after he left IBM to found his own company: "FUD is the fear, uncertainty, and doubt that IBM sales people instill in the minds of potential customers who might be considering [Amdahl] products." The idea, of course, was to persuade them to go with safe IBM gear rather than with competitors' equipment. This implicit coercion was traditionally accomplished by promising that Good Things would happen to people who stuck with IBM, but Dark Shadows loomed over the future of competitors' equipment or software. See {IBM}. After 1990 the term FUD was associated increasingly frequently with {Microsoft}, and has become generalized to refer to any kind of disinformation used as a competitive weapon. *** Changed in 4.1.0. *** :FUD wars: /fuhd worz/ n. [from {FUD}] Political posturing engaged in by hardware and software vendors ostensibly committed to standardization but actually willing to fragment the market to protect their own shares. The Unix International vs. OSF conflict about Unix standards was one outstanding example; Microsoft vs. Netscape vs. W3C about HTML standards is another. *** Changed in 4.1.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. For years FidoNet actually grew faster than Usenet, but the advent of cheap Internet access probably means its days are numbered. In early 1999 Fidonet has approximately 30,000 nodes, down from 38K in 1996. *** Changed in 4.1.0. *** :Foonly: n. 1. The {PDP-10} successor that was to have been built by the Super Foonly project at the Stanford Artificial Intelligence Laboratory along with a new operating system. (The name itself came from FOO NLI, an error message emitted by a PDP-10 assembler at SAIL meaning "FOO is Not a Legal Identifier". The intention was to leapfrog from the old {DEC} timesharing system SAIL was then running to a new generation, bypassing TENEX which at that time was the ARPANET standard. ARPA funding for both the Super Foonly and the new operating system was cut in 1974. Most of the design team went to DEC and contributed greatly to the design of the PDP-10 model KL10. 2. The name of the company formed by Dave Poole, one of the principal Super Foonly designers, and one of hackerdom's more colorful personalities. Many people remember the parrot which sat on Poole's shoulder and was a regular companion. 3. Any of the machines built by Poole's company. The first was the F-1 (a.k.a. Super Foonly), which was the computational engine used to create the graphics in the movie "TRON". The F-1 was the fastest PDP-10 ever built, but only one was ever made. The effort drained Foonly of its financial resources, and the company turned towards building smaller, slower, and much less expensive machines. Unfortunately, these ran not the popular {TOPS-20} but a TENEX variant called Foonex; this seriously limited their market. Also, the machines shipped were actually wire-wrapped engineering prototypes requiring individual attention from more than usually competent site personnel, and thus had significant reliability problems. Poole's legendary temper and unwillingness to suffer fools gladly did not help matters. By the time of the Jupiter project cancellation in 1983, Foonly's proposal to build another F-1 was eclipsed by the {Mars}, and the company never quite recovered. See the {Mars} entry for the continuation and moral of this story. *** New in 4.1.0. *** :Fred Foobar: n. {J. Random Hacker}'s cousin. Any typical human being, more or less synomous with `someone' except that Fred Foobar can be {backreference}d by name later on. "So Fred Foobar will enter his phone number into the database, and it'll be archived with the others. Months later, when Fred searches..." See also {Bloggs Family} and {Dr. Fred Mbogo} *** Changed in 4.1.0. *** :GCOS:: /jee'kohs/ n. A {quick-and-dirty} {clone} of System/360 DOS that emerged from GE around 1970; originally called GECOS (the General Electric Comprehensive Operating System). Later kluged to support primitive timesharing and transaction processing. After the buyout of GE's computer division by Honeywell, the name was changed to General Comprehensive Operating System (GCOS). Other OS groups at Honeywell began referring to it as `God's Chosen Operating System', allegedly in reaction to the GCOS crowd's uninformed and snotty attitude about the superiority of their product. All this might be of zero interest, except for two facts: (1) The GCOS people won the political war, and this led in the orphaning and eventual death of Honeywell {{Multics}}, and (2) GECOS/GCOS left one permanent mark on Unix. Some early Unix systems at Bell Labs used GCOS machines for print spooling and various other services; the field added to `/etc/passwd' to carry GCOS ID information was called the `GECOS field' and survives today as the `pw_gecos' member used for the user's full name and other human-ID information. GCOS later played a major role in keeping Honeywell a dismal also-ran in the mainframe market, and was itself mostly ditched for Unix in the late 1980s when Honeywell began to retire its aging {big iron} designs. *** Changed in 4.1.0, 4.1.1. *** :General Public Virus: n. Pejorative name for some versions of the {GNU} project {copyleft} or General Public License (GPL), which requires that any tools or {app}s incorporating copylefted code must be source-distributed on the same counter-commercial terms as GNU stuff. Thus it is alleged that the copyleft `infects' software generated with GNU tools, which may in turn infect other software that reuses any of its code. The Free Software Foundation's official position as of January 1991 is that copyright law limits the scope of the GPL to "programs textually incorporating significant amounts of GNU code", and that the `infection' is not passed on to third parties unless actual GNU source is transmitted. Nevertheless, widespread suspicion that the {copyleft} language is `boobytrapped' has caused many developers to avoid using GNU tools and the GPL. Changes in the language of the version 2.0 GPL did not eliminate this problem. *** New in 4.1.0. *** :GoAT: // [Usenet] Abbreviation: "Go Away, Troll". See {troll}. *** Changed in 4.1.1. *** :Gosperism: /gos'p*r-izm/ n. A hack, invention, or saying due to {elder days} arch-hacker R. William (Bill) Gosper. This notion merits its own term because there are so many of them. Many of the entries in {HAKMEM} are Gosperisms; see also {life}. *** Changed in 4.1.0. *** :Great Renaming: n. The {flag day} in 1987 on which all of the non-local groups on the {Usenet} had their names changed from the net.- format to the current multiple-hierarchies scheme. Used esp. in discussing the history of newsgroup names. "The oldest sources group is comp.sources.misc; before the Great Renaming, it was net.sources." There is a Great Renaming FAQ (http://www.nottowayez.net/~leebum/netstuff.htm) on the Web. *** New in 4.1.2. *** :Guido: /gwee'do/ or /khwee'do/ Without qualification, Guido van Rossum (author of {Python}). Note that Guido answers to English /gwee'do/ but in Dutch it's /khwee'do/. *** New in 4.1.0. *** :Halloween Documents: n. A pair of Microsoft internal strategy memoranda leaked to ESR in late 1998 that confirmed everybody's paranoia about the current {Evil Empire}. These documents (http://www.opensource.org/halloween.html) praised the technical excellence of {Linux} and outlined a counterstrategy of attempting to lock in customers by "de-commoditizing" Internet protocols and services. They were extensively cited on the Internet and in the press and proved so embarrassing that Microsoft PR barely said a word in public for six months afterwards. *** New in 4.1.0. *** :IANAL: // [Usenet] Abbreviation, "I Am Not A Lawyer". Usually precedes legal advice. *** Changed in 4.1.0. *** :IBM: /I-B-M/ Inferior But Marketable; It's Better Manually; Insidious Black Magic; It's Been Malfunctioning; Incontinent Bowel Movement; and a near-{infinite} number of even less complimentary expansions, including `International Business Machines'. See {TLA}. These abbreviations illustrate the considerable antipathy most hackers long felt toward the `industry leader' (see {fear and loathing}). What galled hackers about most IBM machines above the PC level wasn't so much that they were underpowered and overpriced (though that does count against them), but that the designs are incredibly archaic, {crufty}, and {elephantine} ... and you can't _fix_ them -- source code is locked up tight, and programming tools are expensive, hard to find, and bletcherous to use once you've found them. For many years, before Microsoft, IBM was the company hackers loved to hate. But everything changes. In the 1980s IBM had its own troubles with Microsoft. In the late 1990s IBM re-invented itself as a services company, began to release open-source software through its AlphaWorks group, and began shipping {Linux} systems and building ties to the Linux community. To the astonishment of all parties, IBM emerged as a friend of the hacker community This lexicon includes a number of entries attributed to `IBM'; these derive from some rampantly unofficial jargon lists circulated within IBM's own beleaguered hacker underground. *** Changed in 4.1.0. *** :ICBM address: n. (Also `missile address') The form used to register a site with the Usenet mapping project, back before the day of pervasive Internet, included a blank for longitude and latitude, preferably to seconds-of-arc accuracy. This was actually used for generating geographically-correct maps of Usenet links on a plotter; however, it became traditional to refer to this as one's `ICBM address' or `missile address', and some people include it in their {sig block} with that name. (A real missile address would include target elevation.) *** New in 4.1.3. *** :ID10T error: /I-D-ten-T er'*r/ Synonym for {PEBKAC}, e.g. "The user is being an idiot". Tech-support people passing a problem report to someone higher up the food chain (and presumably better equipped to dealk with idiots) may ask the user to convey that there seems to be an I-D-ten-T error. Users never twig. *** New in 4.1.0. *** :IDP: /I-D-P/ v.,n. [Usenet] Abbreviation for {Internet Death Penalty}. Common (probably now more so than the full form), and frequently verbed. Compare {UDP}. *** New in 4.1.0. *** :IIRC: // Common abbreviation for "If I Recall Correctly". *** Changed in 4.1.1. *** :INTERCAL: /in't*r-kal/ n. [said by the authors to stand for `Compiler Language With No Pronounceable Acronym'] A computer language designed by Don Woods and James Lyons in 1972. INTERCAL is purposely different from all other computer languages in all ways but one; it is purely a written language, being totally unspeakable. An excerpt from the INTERCAL Reference Manual will make the style of the language clear: It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is: DO :1 <- #0$#256 any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course have happened to turn up, as bosses are wont to do. The effect would be no less devastating for the programmer having been correct. INTERCAL has many other peculiar features designed to make it even more unspeakable. The Woods-Lyons implementation was actually used by many (well, at least several) people at Princeton. The language has been recently reimplemented as C-INTERCAL and is consequently enjoying an unprecedented level of unpopularity; there is even an alt.lang.intercal newsgroup devoted to the study and ... appreciation of the language on Usenet. Inevitably, INTERCAL has a home page on the Web: `http://www.tuxedo.org/intercal/'. An extended version, implemented in (what else?) {Perl} and adding object-oriented features, is available at `http://dd-sh.assurdo.com/INTERCAL'. See also {Befunge}. *** Changed in 4.1.3. *** :ITS:: /I-T-S/ n. 1. Incompatible Time-sharing System, an influential though highly idiosyncratic operating system written for PDP-6s and PDP-10s at MIT and long used at the MIT AI Lab. Much AI-hacker jargon derives from ITS folklore, and to have been `an ITS hacker' qualifies one instantly as an old-timer of the most venerable sort. ITS pioneered many important innovations, including transparent file sharing between machines and terminal-independent I/O. After about 1982, most actual work was shifted to newer machines, with the remaining ITS boxes run essentially as a hobby and service to the hacker community. The shutdown of the lab's last ITS machine in May 1990 marked the end of an era and sent old-time hackers into mourning nationwide (see {high moby}). 2. A mythical image of operating-system perfection worshiped by a bizarre, fervent retro-cult of old-time hackers and ex-users (see {troglodyte}, sense 2). ITS worshipers manage somehow to continue believing that an OS maintained by assembly-language hand-hacking that supported only monocase 6-character filenames in one directory per account remains superior to today's state of commercial art (their venom against {Unix} is particularly intense). See also {holy wars}, {Weenix}. *** Changed in 4.1.0. *** :Infinite-Monkey Theorem: n. "If you put an {infinite} number of monkeys at typewriters, eventually one will bash out the script for Hamlet." (One may also hypothesize a small number of monkeys and a very long period of time.) This theorem asserts nothing about the intelligence of the one {random} monkey that eventually comes up with the script (and note that the mob will also type out all the possible _incorrect_ versions of Hamlet). It may be referred to semi-seriously when justifying a {brute force} method; the implication is that, with enough resources thrown at it, any technical challenge becomes a {one-banana problem}. This argument gets more respect since {Linux} justified the {bazaar} mode of development. This theorem was first popularized by the astronomer Sir Arthur Eddington. It became part of the idiom of techies via the classic SF short story "Inflexible Logic" by Russell Maloney, and many younger hackers know it through a reference in Douglas Adams's "Hitchhiker's Guide to the Galaxy". *** Changed in 4.1.0, 4.1.1. *** :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. After being acquired by Activision in 1989 they did a few more "modern" (e.g. graphics-intensive) games which were less successful than reissues of their classics. 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 not only freeware emulators for that interpreter but an actual compiler as well have been written to permit the P-code to be run on platforms the games never originally graced. In fact, new games written in this P-code are still bering written. (Emulators that can run Infocom game ZIPs, and new games, are available at `ftp://wuarchive.wustl.edu:/doc/misc/if-archive/infocom'.) *** New in 4.1.0. *** :Internet Death Penalty: [Usenet] (often abbreviated IDP) The ultimate sanction against {spam}-emitting sites - complete shunning at the router level of all mail and packets, as well as Usenet messages, from the offending domain(s). Compare {Usenet Death Penalty}, with which it is sometimes confused. *** New in 4.1.0. *** :Internet Exploiter: n. Standard name-of-insult for Internet Explorer, Microsoft's overweight Web Browser. Reflects widespread hostility to Microsoft and a sense that it is seeking to hijack and corrupt the Internet. Compare {Exploder} and the less pejorative {Netscrape}. *** Changed in 4.1.1. *** :J. Random Hacker: /J rand'm hak'r/ n. [very common] A mythical figure like the Unknown Soldier; the archetypal hacker nerd. This term is one of the oldest in the jargon, apparently going back to MIT in the 1960s. See {random}, {Suzie COBOL}. This may originally have been inspired by `J. Fred Muggs', a show-biz chimpanzee whose name was a household word back in the early days of {TMRC}, and was probably influenced by `J. Presper Eckert' (one of the co-inventors of the electronic computer). See also {Fred Foobar}. *** New in 4.1.2. *** :Java: An object-oriented language originally developed at Sun by James Gosling (and known by the name "Oak") with the intention of being the successor to {C++} (the project was however originally sold to Sun as an embedded language for use in set-top boxes). After the great Internet explosion of 1993-1994, Java was hacked into a byte-interpreted language and became the focus of a relentless hype campaign by Sun, which touted it as the new language of choice for distributed applications. Java is indeed a stronger and cleaner design than C++ and has been embraced by many in the hacker community - but it has been a considerable source of frustration to many others, for reasons ranging from uneven support on different Web browser platforms, performance issues, and some notorious deficiencies of some of the standard toolkits (AWT in particular). {Microsoft}'s determined attempts to corrupt the language (which it rightly sees as a threat to its OS monopoly) have not helped. As of 1999, these issues are still in the process of being resolved. Despite many attractive features and a good design, it is difficult to find people willing to praise Java who have tried to implement a complex, real-world system with it (but to be fair it is early days yet, and no other language has ever been forced to spend its childhood under the limelight the way Java has). On the other hand, Java has already been a big {win} in academic circles, where it has taken the place of {Pascal} as the preferred tool for teaching the basics of good programming to the next generation of hackers. *** Changed in 4.1.3. *** :Knuth: /ka-nooth'/ n. [Donald E. Knuth's "The Art of Computer Programming"] Mythically, the reference that answers all questions about data structures or algorithms. A safe answer when you do not know: "I think you can find that in Knuth." Contrast {the literature}. See also {bible}. There is a Donald Knuth home page at `http://www-cs-faculty.Stanford.EDU/~knuth'. *** New in 4.1.0. *** :LART: // Luser Attitude Readjustment Tool. 1. n. In the collective mythos of {scary devil monastery}, this is an essential item in the toolkit of every {BOFH}. The LART classic is a 2x4 or other large billet of wood usable as a club, to be applied upside the head of spammers and other people who cause sysadmins more grief than just naturally goes with the job. Perennial debates rage on alt.sysadmin.recovery over what constitutes the truly effective LART; knobkerries, semiautomatic weapons, flamethrowers, and tactical nukes all have their partisans. Compare {clue-by-four}. 2. v. To use a LART. Some would add "in malice", but some sysadmins do prefer to gently lart their users as a first (and sometimes final) warning. 3. interj. Calling for one's LART, much as a surgeon might call "Scalpel!". 4. interj. [rare] Used in {flame}s as a rebuke. "LART! LART! LART!" *** Changed in 4.1.1. *** :LER: /L-E-R/ n. 1. [TMRC, from `Light-Emitting Diode'] A light-emitting resistor (that is, one in the process of burning up). Ohm's law was broken. See also {SED}. 2. An incandescent light bulb (the filament emits light because it's resistively heated). *** Changed in 4.1.2. *** :LISP: n. [from `LISt Processing language', but mythically from `Lots of Irritating Superfluous Parentheses'] AI's mother tongue, a language based on the ideas of (a) variable-length lists and trees as fundamental data types, and (b) the interpretation of code as data and vice-versa. Invented by John McCarthy at MIT in the late 1950s, it is actually older than any other {HLL} still in use except FORTRAN. Accordingly, it has undergone considerable adaptive radiation over the years; modern variants are quite different in detail from the original LISP 1.5. The dominant HLL among hackers until the early 1980s, LISP now shares the throne with {C}. Its partisans claim it is the only language that is truly beautiful. See {languages of choice}. All LISP functions and programs are expressions that return values; this, together with the high memory utilization of LISPs, gave rise to Alan Perlis's famous quip (itself a take on an Oscar Wilde quote) that "LISP programmers know the value of everything and the cost of nothing". One significant application for LISP has been as a proof by example that most newer languages, such as {COBOL} and {Ada}, are full of unnecessary {crock}s. When the {Right Thing} has already been done once, there is no justification for {bogosity} in newer languages. *** Changed in 4.1.0. *** :LPT: /L-P-T/ or /lip'it/ or /lip-it'/ n. 1. Line printer (originally Line Printing Terminal). Rare under Unix, more common among hackers who grew up with ITS, MS-DOS, CP/M and other operating systems that were strongly influenced by early {DEC} conventions. 2. Local PorT. Used among MS-DOS programmers (and so expanded in the MS-DOS 5 manual). It seems likely this is a {backronym}. *** New in 4.1.0. *** :Lintel: n. The emerging {Linux}/Intel alliance. This term began to be used in early 1999 after it became clear that the {Wintel} alliance was under increasing strain and Intel started taking stakes in Linux companies. *** New in 4.1.1. *** :Linus: /leen'us'/ or /lin'us'/, not /li:'nus/ Linus Torvalds, the author of {Linux}. Nobody in the hacker culture has been as readily recognized by first name alone since Ken (Thompson). *** Changed in 4.1.0, 4.1.0, 4.1.1. *** :Linux:: /lee'nuhks/ or /li'nuks/, _not_ /li:'nuhks/ n. The free Unix workalike created by Linus Torvalds and friends starting about 1991 (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 and many other machines are also in use). Linux is what {GNU} aimed to be, and it relies on the GNU toolset. But the Free Software Foundation didn't produce the kernel to go with that toolset until 1999, which was too late. Other, similar efforts like FreeBSD and NetBSD have been technically successful but never caught fire the way Linux has; as this is written in 1999, Linux is seriously challenging Microsoft's OS dominance. An earlier version of this entry opined "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." Truer than we knew. See {bazaar}. (A few people object that the name `Linux' should be used to refer only to the kernel, not the entire operating system. This is at best pedantry and at worst axe-grinding; the agenda behind it is usually to claim that the {FSF} should get most of the credit for Linux because RMS and friends wrote many of its user-level tools.) *** Changed in 4.1.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 was put back in print as ISBN 1-57398-013-7 from Peer-To-Peer Communications, with forewords by Dennis Ritchie and Ken Thompson. In a neat bit of reflexivity, the page before the contents quotes this entry.] *** Changed in 4.1.1. *** :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. In 1994 {DEC} put an inferior imitation of these in circulation with a red corporate logo added. Compaq (half of which was once DEC) has continued the practice. *** New in 4.1.0. Changed in 4.1.1. *** :Lumber Cartel: n. A mythical conspiracy accused by {spam}-spewers of funding anti-spam activism in order to force the direct-mail promotions industry back onto paper. Hackers, predictably, responded by forming a "Lumber Cartel" spoofing this paranoid theory; the web page is `http://come.to/the.lumber.cartel'. Members often include the tag TINLC ("There Is No Lumber Cartel") in their postings; see {TINC}, {backbone cabal} and {NANA} for explanation. *** New in 4.1.0. *** :M$: Common net abbreviation for Microsoft, everybody's least favorite monopoly. *** Changed in 4.1.2. *** :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 (compiled) language that cannot even be used to write its own compiler is beneath contempt. (The qualification has become necessary because of the increasing popularity of interpreted languages like {Perl} and {Python}. 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".) *** New in 4.1.0. *** :MMF: // [Usenet; common] Abbreviation: "Make Money Fast". Refers to any kind of scheme which promises participants large profits with little or no risk or effort. Typically, it is a some kind of multi-level marketing operation which involves recruiting more members, or an illegal pyramid scam. The term is also used to refer to any kind of spam which promotes this. For more information, see the Make Money Fast Myth Page (http://www.stopspam.org/usenet/mmf/). *** Changed in 4.1.0. *** :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 (in writing, these social MUDs are sometimes referred to as `MU*', with `MUD' implicitly reserved for the more game-oriented ones). 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 4.1.2. *** :Matrix: n. [FidoNet] 1. What the Opus BBS software and sysops call {FidoNet}. 2. Fanciful term for a {cyberspace} expected to emerge from current networking experiments (see {the network}). The name of the rather good 1999 {cypherpunk} movie "The Matrix" played on this sense, which however had been established for years before. 3. The totality of present-day computer networks (popularized in this sense by John Quarterman; rare outside academic literature). *** Changed in 4.1.1, 4.1.2. *** :Microsloth Windows: /mi:'kroh-sloth` win'dohz/ n. (Variants combine {Microshift, Macroshaft, Microsuck} with {Windoze, WinDOS}. Hackerism(s) for `Microsoft Windows'. A thirty-two bit extension and graphical shell to a sixteen bit patch to an eight bit operating system originally coded for a four bit microprocessor which was written by a two-bit company that can't stand one bit of competition. Also just called `Windoze', with the implication that you can fall asleep waiting for it to do anything; the latter term is extremely common on Usenet. See {Black Screen of Death} and {Blue Screen of Death}; compare {X}, {sun-stools}. *** New in 4.1.0. *** :Microsoft: The new {Evil Empire} (the old one was {IBM}). The basic complaints are, as formerly with IBM, that (a) their system designs are horrible botches, (b) we can't get source to fix them, and (c) they throw their weight around a lot. See also {Halloween Documents}. *** Changed in 4.1.1. *** :Mongolian Hordes technique: n. [poss. from the Sixties counterculture expression `Mongolian clusterfuck' for a public orgy] Development by {gang bang}. Implies that large numbers of inexperienced programmers are being put on a job better performed by a few skilled ones (but see {bazaar}). Also called `Chinese Army technique'; see also {Brooks's Law}. *** Changed in 4.1.2. *** :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. The doubling period remained at that value through time of writing (late 1999). Moore's Law is apparently self-fulfilling. The implication is that somebody, somewhere is going to be able to build a better chip then you if you rest on your laurels, so you'd better start pushing hard on the problem. See also {Parkinson's Law of Data}. *** Changed in 4.1.0. *** :Multics:: /muhl'tiks/ n. [from "MULTiplexed Information and Computing Service"] An early time-sharing {operating system} co-designed by a consortium including MIT, GE, and Bell Laboratories as a successor to {CTSS}. The design was first presented in 1965, planned for operation in 1967, first operational in 1969, and took several more years to achieve respectable performance and stability. Multics was very innovative for its time -- among other things, it provided a hierarchical file system with access control on individual files and introduced the idea of treating all devices uniformly as special files. It was also the first OS to run on a symmetric multiprocessor, and the only general-purpose system to be awarded a B2 security rating by the NSA (see {Orange Book}). Bell Labs left the development effort in 1969 after judging that {second-system effect} had bloated Multics to the point of practical unusability. Honeywell commercialized Multics in 1972 after buying out GE's computer group, but it was never very successful: at its peak in the 1980s, there were between 75 and 100 Multics sites, each a multi-million dollar mainframe. One of the former Multics developers from Bell Labs was Ken Thompson, and {Unix} deliberately carried through and extended many of Multics' design ideas; indeed, Thompson described the very name `Unix' as `a weak pun on Multics'. For this and other reasons, aspects of the Multics design remain a topic of occasional debate among hackers. See also {brain-damaged} and {GCOS}. MIT ended its development association with Multics in 1977. Honeywell sold its computer business to Bull in the mid 80s, and development on Multics was stopped in 1988. Four Multics sites were known to be still in use as late as 1998. There is a Multics page at `http://www.stratus.com/pub/vos/multics/tvv/multics.html'. *** New in 4.1.0. *** :NANA: // [Usenet] The newsgroups news.admin.net-abuse.*, devoted to fighting {spam} and network abuse. Each individual newsgroup is often referred to by adding a letter to NANA. For example, NANAU would refer to news.admin.net-abuse.usenet. When spam began to be a serious problem around 1995, and a loose network of anti-spammers formed to combat it, spammers immediately accused them of being the {backbone cabal}, or the Cabal reborn. Though this was not true, spam-fighters ironically accepted the label and the tag line "There is No Cabal" reappeared (later, and now commonly, abbreviated to "TINC"). Nowadays "the Cabal" is generally understood to refer to the NANA regulars. *** Changed in 4.1.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 proof that they are. 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." Note, however, that strictly speaking this usage is misleading; there are plenty of easy problems in class NP. NP-complete problems are hard not because they are in class NP, but because they are the hardest problems in class NP. *** New in 4.1.0. *** :Netscrape: n. Standard name-of-insult for Netscape Navigator/Communicator, Netscape's overweight Web browser. Compare {Internet Exploiter}. *** Changed in 4.1.0. *** :Ninety-Ninety Rule: n. "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time." Attributed to Tom Cargill of Bell Labs, and popularized by Jon Bentley's September 1985 "Bumper-Sticker Computer Science" column in "Communications of the ACM". It was there called the "Rule of Credibility", a name which seems not to have stuck. Other maxims in the same vein include the law attributed to the early British computer scientist Douglas Hartree: "The time from now until the completion of the project tends to become constant." *** New in 4.1.3. *** :OSS: Written-only acronym for "Open Source Software" (see {open source}. This is a rather ugly {TLA}, and the principals in the open-source movement don't use it, but it has (perhaps inevitably) spread through the trade press like kudzu. *** Changed in 4.1.0. *** :PC-ism: /P-C-izm/ n. A piece of code or coding technique that takes advantage of the unprotected single-tasking environment in IBM PCs and the like running DOS, e.g., by busy-waiting on a hardware register, direct diddling of screen memory, or using hard timing loops. Compare {ill-behaved}, {vaxism}, {unixism}. Also, `PC-ware' n., a program full of PC-isms on a machine with a more capable operating system. Pejorative. *** New in 4.1.0. *** :PEBKAC: /peb'kak/ [Abbrev., "Problem Exists Between Keyboard And Chair"] Used by support people, particularly at call centers and help desks. Not used with the public. Denotes pilot error as the cause of the crash, especially stupid errors that even a {luser} could figure out. Very derogatory. Usage: "Did you ever figure out why that guy couldn't print?" "Yeah, he kept cancelling the operation before it could finish. PEBKAC." *** Changed in 4.1.0. *** :PETSCII: /pet'skee/ n. obs. [abbreviation of PET ASCII] The variation (many would say perversion) of the {{ASCII}} character set used by the Commodore Business Machines PET series of personal computers and the later Commodore C64, C16, C128, and VIC20 machines. The PETSCII set used left-arrow and up-arrow (as in old-style ASCII) instead of underscore and caret, placed the unshifted alphabet at positions 65-90, put the shifted alphabet at positions 193-218, and added graphics characters. *** New in 4.1.1. *** :PHB: /P-H-B/ [Usenet; common; rarely spoken] Abbreviation, "Pointy-Haired Boss". From the {Dilbert} character, the archetypal halfwitted middle-{management} type. See also {pointy-haired}. *** Changed in 4.1.0. *** :Parkinson's Law of Data: prov. "Data expands to fill the space available for storage"; buying more memory encourages the use of more memory-intensive techniques. It has been observed since the mid-1980s that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars also tends to about double once every 18 months (see {Moore's Law}); unfortunately, the laws of physics guarantee that the latter cannot continue indefinitely. *** New in 4.1.0. *** :Pentagram Pro: n. A humorous corruption of "Pentium Pro", with a Satanic reference, implying that the chip is inherently {evil}. Often used with "666 MHz"; there is a T-shirt. See {Pentium} *** New in 4.1.0. Changed in 4.1.1. *** :Pentium: n. The name given to Intel's P5 chip, the successor to the 80486. The name was chosen because of difficulties Intel had in trademarking a number. It suggests the number five (implying 586) while (according to Intel) conveying a meaning of strength "like titanium". Among hackers, the plural is frequently `pentia'. See also {Pentagram Pro}. Intel did not stick to this convention when naming its P6 processor the Pentium Pro; many believe this is due to difficulties in selling a chip with "sex" in its name. Successor chips have been called `Pentium II' and `Pentium III'. *** Changed in 4.1.2, 4.1.3. *** :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, generally consider it one of the {languages of choice}, and it is by far the most widely used tool for making `live' web pages via CGI. Perl has been described, in a parody of a famous remark about `lex(1)', as the "Swiss-Army chainsaw" of Unix programming. Though Perl is very useful, it would be a stretch to describe it as pretty or {elegant}; people who like clean, spare design generally prefer {Python}. See also {Camel Book}, {TMTOWTDI}. *** New in 4.1.0. *** :Ping O' Death: n. A notorious {exploit} that (when first discovered) could be easily used to crash a wide variety of machines by overunning size limits in their TCP/IP stacks. First revealed in late 1996. The open-source Unix community patched its systems to remove the vulnerability within days or weeks, the closed-source OS vendors generally took months. While the difference in response times repeated a pattern familiar from other security incidents, the accompanying glare of Web-fueled publicity proved unusually embarrassing to the OS vendors and so passed into history and myth. The term is now used to refer to any nudge delivered by network wizards over the network that causes bad things to happen on the system being nudged. For the full story on the original exploit, see `http://www.insecure.org/sploits/ping-o-death.html'. Compare with 'kamikaze packet,' 'Finger of Death' and 'Chernobyl packet.' *** New in 4.1.2. *** :Python: /pi:'thon/ In the words of its author, "the other scripting language" (other than {Perl}, that is). Python's design is notably clean, elegant, and well thought through; it tends to attract the sort of programmers who find Perl grubby and exiguous. Python's relationship with Perl is rather like the BSD community's relationship to Linux - it's the smaller party in a (usually friendly) rivalry, but the average quality of its developers is generally conceded to be rather higher than in the larger community it competes with. There's a Python resource page at `http://www.python.org'. See also {Guido}. *** Changed in 4.1.1. *** :QWERTY: /kwer'tee/ adj. [from the keycaps at the upper left] Pertaining to a standard English-language typewriter keyboard (sometimes called the Sholes keyboard after its inventor), as opposed to Dvorak or non-US-ASCII layouts or a {space-cadet keyboard} or APL keyboard. Historical note: The QWERTY layout is a fine example of a {fossil}. It is sometimes said that it was designed to slow down the typist, but this is wrong; it was designed to allow _faster_ typing -- under a constraint now long obsolete. In early typewriters, fast typing using nearby type-bars jammed the mechanism. So Sholes fiddled the layout to separate the letters of many common digraphs (he did a far from perfect job, though; `th', `tr', `ed', and `er', for example, each use two nearby keys). Also, putting the letters of `typewriter' on one line allowed it to be typed with particular speed and accuracy for {demo}s. The jamming problem was essentially solved soon afterward by a suitable use of springs, but the keyboard layout lives on. The QWERTY keyboard has also spawned some unhelpful economic myths about how technical standards get and stay established; see `http://www.reasonmag.com/9606/Fe.QWERTY.html'. *** New in 4.1.0. *** :RBL: /R-B-L/ Abbreviation: "Realtime Blackhole List". A service that allows people to blacklist sites for emitting {spam}, and makes the blacklist available in real time to electronic-mail transport programs that know how to use RBL so they can filter out mail from those sites. Drastic but effective. There is an RBL home page (http://maps.vix.com/rbl/usage.html). *** Changed in 4.1.0. *** :RTM: /R-T-M/ [Usenet: abbreviation for `Read The Manual'] 1. Politer variant of {RTFM}. 2. Robert Tappan Morris, perpetrator of the great Internet worm of 1988 (see {Great Worm}); villain to many, naive hacker gone wrong to a few. Morris claimed that the worm that brought the Internet to its knees was a benign experiment that got out of control as the result of a coding error. After the storm of negative publicity that followed this blunder, Morris's username on ITS was hacked from RTM to {RTFM}. *** New in 4.1.3. *** :Random Number God: [rec.games.roguelike.angband; often abbreviated `RNG'] The malign force which lurks behind the random number generator in Angband (and by extension elsewhere). A dark god that demands sacrifices and toys with its victims. "I just found a really great item; I suppose the RNG is about to punish me..." Apparently, Angband's random number generator occasionally gets locked in a repetition, so you get something with a 3% chance happening 8 times in a row. Improbable, but far too common to be pure chance. Compare {Shub-Internet}. *** Changed in 4.1.1. *** :Red Book: n. 1. Informal name for one of the four standard references on {{PostScript}} ("PostScript Language Reference Manual", Adobe Systems (Addison-Wesley, 1985; QA76.73.P67P67; ISBN 0-201-10174-2, or the 1990 second edition ISBN 0-201-18127-4); the others are known as the {Green Book}, the {Blue Book}, and the {White Book} (sense 2). 2. Informal name for one of the 3 standard references on Smalltalk ("Smalltalk-80: The Interactive Programming Environment" by Adele Goldberg (Addison-Wesley, 1984; QA76.8.S635G638; ISBN 0-201-11372-4); this too is associated with blue and green books). 3. Any of the 1984 standards issued by the CCITT eighth plenary assembly. These include, among other things, the X.400 email spec and the Group 1 through 4 fax standards. 4. The new version of the {Green Book} (sense 4) -- IEEE 1003.1-1990, a.k.a ISO 9945-1 -- is (because of the color and the fact that it is printed on A4 paper) known in the USA as "the Ugly Red Book That Won't Fit On The Shelf" and in Europe as "the Ugly Red Book That's A Sensible Size". 5. The NSA "Trusted Network Interpretation" companion to the {Orange Book}. 6. Nemeth, Snyder, Seebass, Hein; "Unix System Administration Handbook, Second Edition" (Prentice Hall PTR, New Jersey; 1995; QA76.76.063N45; ISBN 0-13-151051-7). See also {{book titles}}. *** Changed in 4.1.0. *** :SEX: /seks/ [Sun Users' Group & elsewhere] n. 1. Software EXchange. A technique invented by the blue-green algae hundreds of millions of years ago to speed up their evolution, which had been terribly slow up until then. Today, SEX parties are popular among hackers and others (of course, these are no longer limited to exchanges of genetic software). In general, SEX parties are a {Good Thing}, but unprotected SEX can propagate a {virus}. See also {pubic directory}. 2. The rather Freudian mnemonic often used for Sign EXtend, a machine instruction found in the PDP-11 and many other architectures. The RCA 1802 chip used in the early Elf and SuperElf personal computers had a `SEt X register' SEX instruction, but this seems to have had little folkloric impact. {DEC}'s engineers nearly got a PDP-11 assembler that used the `SEX' mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of "The Intel 8086 Primer", who was one of the original designers of the 8086, noted that there was originally a `SEX' instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed `CBW' and `CWD' (depending on what was being extended). Amusingly, the Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight `SEX' but has logical-or and logical-and instructions `ORL' and `ANL'. The Motorola 6809, used in the Radio Shack Color Computer and in U.K.'s `Dragon 32' personal computer, actually had an official `SEX' instruction; the 6502 in the Apple II with which it competed did not. British hackers thought this made perfect mythic sense; after all, it was commonly observed, you could (on some theoretical level) have sex with a dragon, but you can't have sex with an apple. *** Changed in 4.1.1, 4.1.1. *** :SOS: /S-O-S/ n.,obs. An infamously {losing} text editor. Once, back in the 1960s, when a text editor was needed for the PDP-6, a hacker crufted together a {quick-and-dirty} `stopgap editor' to be used until a better one was written. Unfortunately, the old one was never really discarded when new ones (in particular, {TECO}) came along. SOS is a descendant (`Son of Stopgap') of that editor, and many PDP-10 users gained the dubious pleasure of its acquaintance. Since then other programs similar in style to SOS have been written, notably the early font editor BILOS /bye'lohs/, the Brother-In-Law Of Stopgap (the alternate expansion `Bastard Issue, Loins of Stopgap' has been proposed). *** Changed in 4.1.0. *** :SPACEWAR: n. A space-combat simulation game, inspired by E. E. "Doc" Smith's "Lensman" books, in which two spaceships duel around a central sun, shooting torpedoes at each other and jumping through hyperspace. This game was first implemented on the PDP-1 at MIT in 1962. Nine years later, a descendant of the game motivated Ken Thompson to build, in his spare time on a scavenged PDP-7, the operating system that became {{Unix}}. Less than nine years after that, SPACEWAR was commercialized as one of the first video games; descendants are still {feep}ing in video arcades everywhere. *** New in 4.1.0. *** :STFW: imp. /S-T-F-W/ [Usenet] Commmon abbreviation for "Search The Fucking Web", a suggestion that what you're asking for is a query better handled by a search engine than a human being. Usage is common and exactly parallel to both senses of {RTFM}. *** New in 4.1.1. *** :September that never ended: All time since September 1993. One of the seasonal rhythms of the Usenet used to be the annual September influx of clueless newbies who, lacking any sense of {netiquette}, made a general nuisance of themselves. This coincided with people starting college, getting their first internet accounts, and plunging in without bothering to learn what was acceptable. These relatively small drafts of newbies could be assimilated within a few months. But in September 1993, AOL users became able to post to Usenet, nearly overwhelming the old-timers' capacity to acculturate them; to those who nostalgically recall the period before hand, this triggered an inexorable decline in the quality of discussions on newsgroups. See also {AOL!}. *** Changed in 4.1.0. *** :Share and enjoy!: imp. 1. Commonly found at the end of software release announcements and {README file}s, this phrase indicates allegiance to the hacker ethic of free information sharing (see {hacker ethic}, sense 1). 2. The motto of the complaints division of Sirius Cybernetics Corporation (the ultimate gaggle of incompetent {suit}s) in Douglas Adams's "Hitch Hiker's Guide to the Galaxy". The irony of using this as a cultural recognition signal appeals to hackers. *** New in 4.1.0. Changed in 4.1.1. *** :Slowlaris: /slo'-lahr-is/ n. [Usenet; poss. from the variety of sloth called a "slow loris"] Common hackish term for Solaris, Sun's System VR4 version of UNIX that came out of the standardization wars of the early 1990s. So named because especially on older hardware, responsiveness was much less crisp than under the preceding SunOS. Early releases of Solaris (that is, Solaris 2, as some {marketroid}s at Sun retroactively rechristened SunOS as Solaris 1) were quite buggy, and Sun was forced by customer demand to support SunOS for quite some time. Newer versions are acknowledged to be among the best commercial UNIX variants in 1998, but still lose single-processor benchmarks to Sparc {Linux}. Compare {AIDX}, {HP-SUX}, {Nominal Semidestructor}, {Telerat}, {sun-stools}. *** Changed in 4.1.1. *** :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] Formerly expanded as "The Crap Phil Is Pushing". The reference is to Phil Karn, KA9Q, and the context was an ongoing technical/political war between the majority of sites still running AX.25 and the TCP/IP relays. TCP/IP won. *** New in 4.1.0. *** :TINC: // [Usenet] Abbreviation: "There Is No Cabal". See {backbone cabal} and {NANA}, but note that this abbreviation did not enter use until long after the dispersal of the backbone cabal. *** New in 4.1.0. *** :TINLC: // Abbreviation: "There Is No Lumber Cartel". See {Lumber Cartel}. TINLC is a takeoff on {TINC}. *** Changed in 4.1.3. *** :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 Signals and Power Committee included many 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. TMRC has a web page at `http://web.mit.edu/tmrc/www/'. *** New in 4.1.0. *** :TMTOWTDI: There's More Than One Way To Do It. This abbreviation of the official motto of {Perl} is frequently used on newsgroups and mailing lists related to that language. *** Changed in 4.1.0. *** :TeX:: /tekh/ n. An extremely powerful {macro}-based text formatter written by Donald E. {Knuth}, very popular in the computer-science community (it is good enough to have displaced Unix {{troff}}, the other favored formatter, even at many Unix installations). TeX fans insist on the correct (guttural) pronunciation, and the correct spelling (all caps, squished together, with the E depressed below the baseline; the mixed-case `TeX' is considered an acceptable kluge on ASCII-only devices). Fans like to proliferate names from the word `TeX' -- such as TeXnician (TeX user), TeXhacker (TeX programmer), TeXmaster (competent TeX programmer), TeXhax, and TeXnique. See also {CrApTeX}. Knuth began TeX because he had become annoyed at the declining quality of the typesetting in volumes I-III of his monumental "Art of Computer Programming" (see {Knuth}, also {bible}). In a manifestation of the typical hackish urge to solve the problem at hand once and for all, he began to design his own typesetting language. He thought he would finish it on his sabbatical in 1978; he was wrong by only about 8 years. The language was finally frozen around 1985, but volume IV of "The Art of Computer Programming" is not expected to appear until 2002. The impact and influence of TeX's design has been such that nobody minds this very much. Many grand hackish projects have started as a bit of {toolsmith}ing on the way to something else; Knuth's diversion was simply on a grander scale than most. TeX has also been a noteworthy example of free, shared, but high-quality software. Knuth offers a monetary awards to anyone who found and reported bugs dating from before the 1989 code freeze; as the years wore on and the few remaining bugs were fixed (and new ones even harder to find), the bribe went up. Though well-written, TeX is so large (and so full of cutting edge technique) that it is said to have unearthed at least one bug in every Pascal system it has been compiled with. *** New in 4.1.0. *** :Troll-O-Meter: n. Common Usenet jargon for a notional instrument used to measure the quality of a Usenet {troll}. "Come on, everyone! If the above doesn't set off the Troll-O-Meter, we're going to have to get him to run around with a big blinking sign saying `I am a troll, I'm only in it for the controversy and flames' and shooting random gobs of Jell-O(tm) at us before the point is proven." Mentions of the Troll-O-Meter are often accompanied by an ASCII picture of an arrow pointing at a numeric scale. Compare {bogometer}. *** New in 4.1.0. *** :UBE: // n. [abbrev., Unsolicilted Bulk Email] A widespread, more formal term for email {spam}. Compare {UCE}. The UBE term recognizes that spam is uttered by nonprofit and advocacy groups whose motives are not commercial. *** New in 4.1.0. *** :UCE: n. [abbrev., Unsolicited Commercial Email] A widespread, more formal term for email {spam}. Compare {UBE}, which may be superseding it. *** New in 4.1.0. *** :UDP: /U-D-P/ v.,n. [Usenet] Abbreviation for {Usenet Death Penalty}. Common (probably now more so than the full form), and frequently verbed. Compare {IDP}. *** New in 4.1.0. *** :Usenet Death Penalty: [Usenet] A sanction against sites that habitually spew Usenet {spam}. This can be either passive or active. A passive UDP refers to the dropping of all postings by a particular domain so as to inhibit propagation. An active UDP refers to third-party cancellation of all postings by the UDPed domain. A partial UDP is one which applies only to certain newsgroups or hierarchies in Usenet. Compare {Internet Death Penalty}, with which this term is sometimes confused. *** New in 4.1.3. *** :W2K bug: [from `Y2K bug' for the Year 2000 problem] The upcoming deployment of Microsoft's Windows 2000 operating system, which hackers generally expect will be among the worst train wrecks in the history of software engineering. Such is the power of Microsoft marketing, however, that it is also expected this will not become obvious until it has incurred hundreds of millions of dollars in downtime and lost opportunity costs. *** Changed in 4.1.0. *** :WAITS:: /wayts/ n. The mutant cousin of {{TOPS-10}} used on a handful of systems at {{SAIL}} up to 1990. There was never an `official' expansion of WAITS (the name itself having been arrived at by a rather sideways process), but it was frequently glossed as `West-coast Alternative to ITS'. Though WAITS was less visible than ITS, there was frequent exchange of people and ideas between the two communities, and innovations pioneered at WAITS exerted enormous indirect influence. The early screen modes of {EMACS}, for example, were directly inspired by WAITS's `E' editor -- one of a family of editors that were the first to do `real-time editing', in which the editing commands were invisible and where one typed text at the point of insertion/overwriting. The modern style of multi-region windowing is said to have originated there, and WAITS alumni at XEROX PARC and elsewhere played major roles in the developments that led to the XEROX Star, the Macintosh, and the Sun workstations. Also invented there were {bucky bits} -- thus, the ALT key on every IBM PC is a WAITS legacy. One WAITS feature very notable in pre-Web days was a news-wire interface that allowed WAITS hackers to read, store, and filter AP and UPI dispatches from their terminals; the system also featured a still-unusual level of support for what is now called `multimedia' computing, allowing analog audio and video signals to be switched to programming terminals. *** Changed in 4.1.0. *** :Weenix: /wee'niks/ n. 1. [ITS] A derogatory term for {{Unix}}, derived from {Unix weenie}. According to one noted ex-ITSer, it is "the operating system preferred by Unix Weenies: typified by poor modularity, poor reliability, hard file deletion, no file version numbers, case sensitivity everywhere, and users who believe that these are all advantages". (Some ITS fans behave as though they believe Unix stole a future that rightfully belonged to them. See {{ITS}}, sense 2.) 2. [Brown University] A Unix-like OS developed for tutorial purposes at Brown University. See `http://www.cs.brown.edu/courses/cs167/weenix.html'. Named independently of the ITS usage. *** Changed in 4.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). (It is sometimes incorrectly claimed that Winchester was the laboratory in which the technology was developed.) *** New in 4.1.0. *** :Wintel: n. Microsoft Windows plus Intel - the tacit alliance that dominated desktop computing in the 1990s. Now (1999) possibly on the verge of breaking up under pressure from {Linux}; see {Lintel}. *** Changed in 4.1.3. *** :You are not expected to understand this: [Unix] cav. The canonical comment describing something {magic} or too complicated to bother explaining properly. From an infamous comment in the context-switching code of the V6 Unix kernel. Dennis Ritchie has explained this in detail (http://cm.bell-labs.com/cm/cs/who/dmr/odd.html). *** New in 4.1.0. *** :address harvester: n. A robot that searches web pages and/or filters netnews traffic looking for valid email addresses. Some address harvesters are benign, used only for compiling address directories. Most, unfortunately, are run by miscreants compiling address lists to {spam}. Address harvesters can be foiled by a {teergrube}. *** Changed in 4.1.3. *** :adger: /aj'r/ vt. [UCLA mutant of {nadger}, poss. also 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}. *** New in 4.1.0. *** :alpha geek: n. [from animal ethologists' `alpha male'] The most technically accomplished or skillful person in some implied context. "Ask Larry, he's the alpha geek here." *** Changed in 4.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 `option' key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also {feature key}, which is sometimes _incorrectly_ called `alt'). 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". *** New in 4.1.0. *** :ambimouseterous: /am-b*-mows'ter-us/ or /am-b*-mows'trus/ adj. [modeled on ambidextrous] Able to use a mouse with either hand. *** New in 4.1.3. *** :angband: n. /ang'band/ Like {nethack}, {moria}, and {rogue}, one of the large freely distributed Dungeons-and-Dragons-like simulation games, available for a wide range of machines and operating systems. The name is from Tolkien's Pits of Angband (compare {elder days}, {elvish}). Has been described as "Moria on steroids"; but, unlike Moria, many aspects of the game are customizable. This leads many hackers and would-be hackers into fooling with these instead of doing productive work. There are many angband variants, of which the most notorious is probably the rather whimsical zangband. In this game, when a key that does not correspond to a command is pressed, the game will display "Type ? for help" 50% of the time. The other 50% of the time, random error messages including "An error has occurred because an error of type 42 has occurred" and "Windows 95 uninstalled successfully" will be displayed. Zangband also allows the player to kill Santa Claus, "Bull Gates", and Barney the Dinosaur. There is an official angband home page at `http://www.phial.com/angband' and a zangband one at `http://thangorodrim.angband.org'. *** New in 4.1.0. Changed in 4.1.1. *** :annoyware: n. A type of {shareware} that frequently disrupts normal program operation to display requests for payment to the author in return for the ability to disable the request messages. (Also called `nagware') The requests generally require user action to acknowledge the message before normal operation is resumed and are often tied to the most frequently used features of the software. See also {careware}, {charityware}, {crippleware}, {freeware}, {FRS}, {guiltware}, {postcardware}, and {-ware}; compare {payware}. *** New in 4.1.0. *** :astroturfing: n. The use of paid shills to create the impression of a popular movement, through means like letters to newspapers from soi-disant `concerned citizens', paid opinion pieces, and the formation of grass-roots lobbying groups that are actually funded by a PR group (astroturf is fake grass; hence the term). This term became common among hackers after it came to light in early 1998 that Microsoft had attempted to use such tactics to forestall the U.S. Department of Justice's antitrust action against the company. This backfired horribly, angering a number of state attorneys-general enough to induce them to go public with plans to join the Federal suit. It also set anybody defending Microsoft on the net for the accusation "You're just astroturfing!". *** Changed in 4.1.0. *** :avatar: n. Syn. [in Hindu mythology, the incarnation of a god] 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 found the terms `root' and `superuser' unimaginative, and thought `avatar' might better impress people with the responsibility they were accepting. *** Changed in 4.1.0. *** :backbone cabal: n. A group of large-site administrators who pushed through the {Great Renaming} and reined in the chaos of {Usenet} during most of the 1980s. During most of its lifetime, the Cabal (as it was sometimes capitalized) steadfastly denied its own existence; it was almost obligatory for anyone privy to their secrets to respond "There is no Cabal" whenever the existence or activities of the group were speculated on in public. The result of this policy was an attractive aura of mystery. Even a decade after the cabal {mailing list} disbanded in late 1988 following a bitter internal catfight, many people believed (or claimed to believe) that it had not actually disbanded but only gone deeper underground with its power intact. This belief became a model for various paranoid theories about various Cabals with dark nefarious objectives beginning with taking over the Usenet or Internet. These paranoias were later satirized in ways that took on a life of their own. See {Eric Conspiracy} for one example. See {NANA} for the subsequent history of "the Cabal". *** Changed in 4.1.1. *** :backbone site: n.,obs. Formerly, 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. Today one might see references to a `backbone router' instead --ESR] *** New in 4.1.0. *** :backreference: n. 1. In a regular expression or pattern match, the text which was matched within grouping parentheses parentheses. 2. The part of the pattern which refers back to the matched text. 3. By extension, anything which refers back to something which has been seen or discussed before. "When you said `she' just now, who were you backreferencing?" *** New in 4.1.0. *** :backronym: n. [portmanteau of back + acronym] A word interpreted as an acronym that was not originally so intended. This is a special case of what linguists call `back formation'. Examples are given under {BASIC}, {recursive acronym} (Cygnus), {Acme}, and {mung}. Discovering backronyms is a common form of wordplay among hackers. *** Changed in 4.1.1. *** :backspace and overstrike: interj. [rare] Whoa! Back up. Used to suggest that someone just said or did something wrong. Once common among APL programmers; may now be obsolete. *** Changed in 4.1.1. *** :bandwidth: n. 1. [common] Used by hackers (in a generalization of its technical meaning) as the volume of information per unit time that a computer, person, or transmission medium can handle. "Those are amazing graphics, but I missed some of the detail -- not enough bandwidth, I guess." Compare {low-bandwidth}. This generalized usage began to go mainstream after the Internet population explosion of 1993-1994. 2. Attention span. 3. On {Usenet}, a measure of network capacity that is often wasted by people complaining about how items posted by others are a waste of bandwidth. *** Changed in 4.1.1. *** :banner: n. 1. The title page added to printouts by most print spoolers (see {spool}). Typically includes user or account ID information in very large character-graphics capitals. Also called a `burst page', because it indicates where to burst (tear apart) fanfold paper to separate one user's printout from the next. 2. A similar printout generated (typically on multiple pages of fan-fold paper) from user-specified text, e.g., by a program such as Unix's `banner({1,6})'. 3. On interactive software, a first screen containing a logo and/or author credits and/or a copyright notice. This is probably now the commonest sense. *** New in 4.1.1. *** :banner ad: n. Any of the annoying graphical advertisements that span the tops of way too many Web pages. *** New in 4.1.0. *** :barn: n. [uncommon; prob. from the nuclear military] An unexpectedly large quantity of something: a unit of measurement. "Why is /var/adm taking up so much space?" "The logs have grown to several barns." The source of this is clear: when physicists were first studying nuclear interactions, the probability was thought to be proportional to the cross-sectional area of the nucleus (this probability is still called the cross-section). Upon experimenting, they discovered the interactions were far more probable than expected; the nuclei were `as big as a barn'. The units for cross-sections were christened Barns, (10^-24 cm^2) and the book containing cross-sections has a picture of a barn on the cover. *** New in 4.1.0. *** :batbelt: n. Many hackers routinely hang numerous devices such as pagers, cell-phones, personal organizers, leatherman multitools, pocket knives, flashlights, walkie-talkies, even miniature computers from their belts. When many of these devices are worn at once, the hacker's belt somewhat resembles Batman's utility belt; hence it is referred to as a batbelt. *** New in 4.1.0. Changed in 4.1.2. *** :bazaar: n.,adj. In 1997, after meditatating on the success of {Linux} for three years, the Jargon File's own editor ESR wrote an analytical paper on hacker culture and development models titled The Cathedral and the Bazaar (http://www.tuxedo.org/~esr/writings/cathedral-bazaar/). The main argument of the paper was that {Brooks's Law} is not the whole story; given the right social machinery, debugging can be efficiently parallelized across large numbers of programmers. The title metaphor caught on (see also {cathedral}), and the style of development typical in the Linux community is now often referred to as the bazaar mode. Its characteristics include releasing code early and often, and actively seeking the largest possible pool of peer reviewers. *** Changed in 4.1.1, 4.1.2. *** :beam: vt. [from Star Trek Classic's "Beam me up, Scotty!"] 1. To transfer {softcopy} of a file electronically; most often in combining forms such as `beam me a copy' or `beam that over to his site'. 2. Palm Pilot users very commonly use this term for the act of exchanging bits via the infrared links on their machines (this term seams to have originated with the ill-fated Newton Message Pad). Compare {blast}, {snarf}, {BLT}. *** Changed in 4.1.0. *** :bells and whistles: n. [common] Features added to a program or system to make it more {flavorful} from a hacker's point of view, without necessarily adding to its utility for its primary function. Distinguished from {chrome}, which is intended to attract users. "Now that we've got the basic program working, let's go back and add some bells and whistles." No one seems to know what distinguishes a bell from a whistle. The recognized emphatic form is "bells, whistles, and gongs". It used to be thought that this term derived from the toyboxes on theater organs. However, the "and gongs" strongly suggests a different origin, at sea. Before powered horns, ships routinely used bells, whistles, and gongs to signal each other over longer distances than voice can carry. *** Changed in 4.1.0. *** :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, and the D test was the C test repeated after the model had been in production a while. *** New in 4.1.3. *** :bible: n. 1. One of a small number of fundamental source books such as {Knuth}, {K&R}, or the {Camel Book}. 2. The most detailed and authoritative reference for a particular language, operating system, or other complex software system. *** Changed in 4.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 dog 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 4.1.0. *** :bit-paired keyboard: n.,obs. (alt. `bit-shift keyboard') A non-standard keyboard layout that seems to have originated with the Teletype ASR-33 and remained common for several years on early computer equipment. The ASR-33 was a mechanical device (see {EOU}), so the only way to generate the character codes from keystrokes was by some physical linkage. The design of the ASR-33 assigned each character key a basic pattern that could be modified by flipping bits if the SHIFT or the CTRL key was pressed. In order to avoid making the thing even more of a kluge than it already was, the design had to group characters that shared the same basic bit pattern on one key. Looking at the ASCII chart, we find: high low bits bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 010 ! " # $ % & ' ( ) 011 0 1 2 3 4 5 6 7 8 9 This is why the characters !"#$%&'() appear where they do on a Teletype (thankfully, they didn't use shift-0 for space). This was _not_ the weirdest variant of the {QWERTY} layout widely seen, by the way; that prize should probably go to one of several (differing) arrangements on IBM's even clunkier 026 and 029 card punches. When electronic terminals became popular, in the early 1970s, there was no agreement in the industry over how the keyboards should be laid out. Some vendors opted to emulate the Teletype keyboard, while others used the flexibility of electronic circuitry to make their product look like an office typewriter. These alternatives became known as `bit-paired' and `typewriter-paired' keyboards. To a hacker, the bit-paired keyboard seemed far more logical -- and because most hackers in those days had never learned to touch-type, there was little pressure from the pioneering users to adapt keyboards to the typewriter standard. The doom of the bit-paired keyboard was the large-scale introduction of the computer terminal into the normal office environment, where out-and-out technophobes were expected to use the equipment. The `typewriter-paired' standard became universal, `bit-paired' hardware was quickly junked or relegated to dusty corners, and both terms passed into disuse. However, in countries without a long history of touch typing, the argument against the bit-paired keyboard layout was weak or nonexistent. As a result, the standard Japanese keyboard, used on PC's, Unix boxen etc. still has all of the !"#$%&'() characters above the numbers in the ASR-33 layout. *** New in 4.1.1. *** :bixen: pl.n. Users of BIX (the BIX Information eXchange, formerly the Byte Information eXchange). Parallels other plurals like boxen, {VAXen}, oxen. *** Changed in 4.1.0, 4.1.1. *** :bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the BIX Information eXchange). The most common ({smiley}) bixie is <@_@>, representing two cartoon eyes and a mouth. These were originally invented in an SF fanzine called APA-L and imported to BIX by one of the earliest users. *** Changed in 4.1.1. *** :black hole: n.,vt. [common] What data (a piece of email or netnews, or a stream of TCP/IP packets) has fallen into if it disappears mysteriously between its origin and destination sites (that is, without returning a {bounce message}). "I think there's a black hole at foovax!" conveys suspicion that site foovax has been dropping a lot of stuff on the floor lately (see {drop on the floor}). The implied metaphor of email as interstellar travel is interesting in itself. Readily verbed as `blackhole': "That router is blackholing IDP packets." Compare {bit bucket} aand see {RBL}. *** Changed in 4.1.2. *** :blink: vi.,n. To use a navigator or off-line message reader to minimize time spent on-line to a commercial network service (a necessity in many places outside the U.S. where the telecoms monopolies charge per-minute for local calls). 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 4.1.0, 4.1.1. *** :blinkenlights: /blink'*n-li:tz/ n. [common] Front-panel diagnostic lights on a computer, esp. a {dinosaur}. Now that dinosaurs are rare, this term usually refers to status lights on a modem, network hub, or the like. This term 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. Finally, a version updated for the Internet has been seen on news.admin.net-abuse.email: ACHTUNG! ALLES LOOKENSPEEPERS! Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist easy droppenpacket der routers und overloaden der backbone mit der spammen und der me-tooen. Ist nicht fuer gewerken bei das dumpkopfen. Das mausklicken sichtseeren keepen das bandwit-spewin hans in das pockets muss; relaxen und watchen das cursorblinken. *** New in 4.1.0. *** :bloatware: n. [common] Software that provides minimal functionality while requiring a disproportionate amount of diskspace and memory. Especially used for application and OS upgrades. This term is very common in the Windows/NT world. So is its cause. *** New in 4.1.0. *** :bob: n. At Demon Internet, all tech support personal are called "Bob". (Female support personnel have an option on "Bobette"). This has nothing to do with Bob the divine drilling-equipment salesman of the {Church of the SubGenius}. Nor is it acronymized from "Brother Of {BOFH}", though all parties agree it could have been. Rather, it was triggered by an unusually large draft of new tech-support people in 1995. It was observed that there would be much duplication of names. To ease the confusion, it was decided that all support techs would henceforth be known as "Bob", and identity badges were created labelled "Bob 1" and "Bob 2". (No, we never got any further). The reason for "Bob" rather than anything else is due to a {luser} calling and asking to speak to "Bob", despite the fact that no "Bob" was currently working for Tech Support. Since we all know "the customer is always right", it was decided that there had to be at least one "Bob" on duty at all times, just in case. This sillyness inexorably snowballed. Shift leaders and managers began to refer to their groups of "bobs". Whole ranks of support machines were set up (and still exist in the DNS as of 1999) as bob1 through bobN. Then came alt.tech-support.recovery, and it was filled with Demon support personnel. They all referred to themselves, and to others, as `bob', and after a while it caught on. There is now a Bob Code (http://bob.bob.bofh.org/~giolla/bobcode.html) describing the Bob nature. *** Changed in 4.1.0. *** :bogus: adj. 1. Non-functional. "Your patches are bogus." 2. Useless. "OPCON is a bogus program." 3. False. "Your arguments are bogus." 4. Incorrect. "That algorithm is bogus." 5. Unbelievable. "You claim to have solved the halting problem for Turing Machines? That's totally bogus." 6. Silly. "Stop writing those bogus sagas." Astrology is bogus. So is a bolt that is obviously about to break. So is someone who makes blatantly false claims to have solved a scientific problem. (This word seems to have some, but not all, of the connotations of {random} -- mostly the negative ones.) It is claimed that `bogus' was originally used in the hackish sense at Princeton in the late 1960s. It was spread to CMU and Yale by Michael Shamos, a migratory Princeton alumnus. A glossary of bogus words was compiled at Yale when the word was first popularized there about 1975-76. These coinages spread into hackerdom from CMU and MIT. Most of them remained wordplay objects rather than actual vocabulary items or live metaphors. Examples: `amboguous' (having multiple bogus interpretations); `bogotissimo' (in a gloriously bogus manner); `bogotophile' (one who is pathologically fascinated by the bogus); `paleobogology' (the study of primeval bogosity). Some bogowords, however, obtained sufficient live currency to be listed elsewhere in this lexicon; see {bogometer}, {bogon}, {bogotify}, and {quantum bogodynamics} and the related but unlisted {Dr. Fred Mbogo}. By the early 1980s `bogus' was also current in something like hacker usage sense in West Coast teen slang, and it had gone mainstream by 1985. A correspondent from Cambridge reports, by contrast, that these uses of `bogus' grate on British nerves; in Britain the word means, rather specifically, `counterfeit', as in "a bogus 10-pound note". *** Changed in 4.1.3. *** :bonk/oif: /bonk/, /oyf/ interj. In the U.S. {MUD} community, it has become traditional to express pique or censure by `bonking' the offending person. Convention holds that one should acknowledge a bonk by saying `oif!' and there is a myth to the effect that failing to do so upsets the cosmic bonk/oif balance, causing much trouble in the universe. Some MUDs have implemented special commands for bonking and oifing. Note: in parts of the U.K. `bonk' is a sexually loaded slang term; care is advised in transatlantic conversations. Commonwealth hackers report a similar convention involving the `fish/bang' balance. See also {talk mode}. *** New in 4.1.2. *** :borken: adj. Common deliberate typo for `broken'. *** New in 4.1.0. *** :bot: n [common on IRC, MUD; from `robot'] An {IRC} or {MUD} user who is actually a program. On IRC, typically the robot provides some useful service. Examples are NickServ, which tries to prevent random users from adopting {nick}s already claimed by others, and MsgServ, which allows one to send asynchronous messages to be delivered when the recipient signs on. Also common are `annoybots', such as KissServ, which perform no useful function except to send cute messages to other people. Service bots are less common on MUDs; but some others, such as the `Julia' bot active in 1990-91, have been remarkably impressive Turing-test experiments, able to pass as human for as long as ten or fifteen minutes of conversation. Note that bots used to be `robots' when the term first appeared in the early 1990s, but the shortened form is now habitual. *** New in 4.1.1. *** :bot spot: n. [MUD] The user on a MUD with the longest connect time. Derives from the fact that {bot}s on MUDS often stay constantly connected and appear at the bottom of the list. *** Changed in 4.1.0. *** :bounce: v. 1. [common; perhaps by analogy to a bouncing check] An electronic mail message that is undeliverable and returns an error notification to the sender is said to `bounce'. See also {bounce message}. 2. [Stanford] To play volleyball. The now-demolished {D. C. Power Lab} building used by the Stanford AI Lab in the 1970s had a volleyball court on the front lawn. From 5 P.M. to 7 P.M. was the scheduled maintenance time for the computer, so every afternoon at 5 would come over the intercom the cry: "Now hear this: bounce, bounce!", followed by Brian McCune loudly bouncing a volleyball on the floor outside the offices of known volleyballers. 3. To engage in sexual intercourse; prob. from the expression `bouncing the mattress', but influenced by Roo's psychosexually loaded "Try bouncing me, Tigger!" from the "Winnie-the-Pooh" books. Compare {boink}. 4. To casually reboot a system in order to clear up a transient problem. Reported primarily among {VMS} and {Unix} users. 5. [VM/CMS programmers] _Automatic_ warm-start of a machine after an error. "I logged on this morning and found it had bounced 7 times during the night" 6. [IBM] To {power cycle} a peripheral in order to reset it. *** Changed in 4.1.0. *** :bread crumbs: n. Debugging statements inserted into a program that emit output or log indicators of the program's {state} to a file so you can see where it dies or pin down the cause of surprising behavior. The term is probably a reference to the Hansel and Gretel story from the Brothers Grimm or the older French folktale of Thumbelina; in several variants of these, a character leaves a trail of bread crumbs so as not to get lost in the woods. *** New in 4.1.0. *** :brown-paper-bag bug: n. A bug in a public software release that is so embarassing that the author notionally wears a brown paper bag over his head for a while so he won't be recognized on the net. Entered popular usage after the early-1999 release of the first Linux 2.2, which had one. The phrase was used in Linus Torvalds's apology posting. *** Changed in 4.1.1. *** :buffer overflow: n. What happens when you try to stuff more data into a buffer (holding area) than it can handle. This problem is commonly exploited by {cracker}s to get arbitrary commands executed by a program running with root permissions. This may be due to a mismatch in the processing rates of the producing and consuming processes (see {overrun} and {firehose syndrome}), or because the buffer is simply too small to hold all the data that must accumulate before a piece of it can be processed. For example, in a text-processing tool that {crunch}es a line at a time, a short line buffer can result in {lossage} as input from a long line overflows the buffer and trashes data beyond it. Good defensive programming would check for overflow on each character and stop accepting data when the buffer is full up. The term is used of and by humans in a metaphorical sense. "What time did I agree to meet you? My buffer must have overflowed." Or "If I answer that phone my buffer is going to overflow." See also {spam}, {overrun screw}. *** Changed in 4.1.0. *** :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 (and still do)! 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. Further, the term "bug" has long been used among radio technicians to describe a device that converts electromagnetic field variations into acoustic signals. It is used to trace radio interference and look for dangerous radio emissions. Radio community usage derives from the roach-like shape of the first versions used by 19th century physicists. The first versions consisted of a coil of wire (roach body), with the two wire ends sticking out and bent back to nearly touch forming a spark gap (roach antennae). The bug is to the radio technician what the stethoscope is to the stereotype medical doctor. This sense is almost certainly ancestral to modern use of "bug" for a covert monitoring device, but may also have contributed to the use of "bug" for the effects of radio interference itself. Actually, use of `bug' in the general sense of a disruptive event goes back to Shakespeare! (Henry VI, part III - Act V, Scene II: King Edward: "So, lie thou there. Die thou; and die our fear; For Warwick was a bug that fear'd us all.") 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 was not actually exhibited years afterwards. Thus, the process of investigating the original-computer-bug bug fixed it in an entirely unexpected way, by making the myth true! --ESR] *** Changed in 4.1.1. *** :bulletproof: adj. Used of an algorithm or implementation considered extremely {robust}; lossage-resistant; capable of correctly recovering from any imaginable exception condition -- a rare and valued quality. Implies that the programmer has thought of all possible errors, and added {code} to protect against each one. Thus, in some cases, this can imply code that is too heavyweight, due to excessive paranoia on the part of the programmer. Syn. {armor-plated}. *** Changed in 4.1.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 the noun `bum' is a rude synonym for `buttocks' and the verb `bum' for buggery. *** New in 4.1.0. *** :byte sex: n. [common] The byte sex of hardware is {big-endian} or {little-endian}; see those entries. *** New in 4.1.0. *** :cancelbot: /kan'sel-bot/ [Usenet: compound, cancel + robot] 1. Mythically, a {robocanceller} 2. In reality, most cancelbots are manually operated by being fed lists of spam message IDs. *** Changed in 4.1.0. *** :candygrammar: n. A programming-language grammar that is mostly {syntactic sugar}; the term is also a play on `candygram'. {COBOL}, Apple's Hypertalk language, and a lot of the so-called `4GL' database languages share this property. The usual intent of such designs is that they be as English-like as possible, on the theory that they will then be easier for unskilled people to program. This intention comes to grief on the reality that syntax isn't what makes programming hard; it's the mental effort and organization required to specify an algorithm precisely that costs. Thus the invariable result is that `candygrammar' languages are just as difficult to program in as terser ones, and far more painful for the experienced hacker. [The overtones from the old Chevy Chase skit on Saturday Night Live should not be overlooked. This was a "Jaws" parody. Someone lurking outside an apartment door tries all kinds of bogus ways to get the occupant to open up, while ominous music plays in the background. The last attempt is a half-hearted "Candygram!" When the door is opened, a shark bursts in and chomps the poor occupant. [There is a similar gag in "Blazing Saddles" --ESR] There is a moral here for those attracted to candygrammars. Note that, in many circles, pretty much the same ones who remember Monty Python sketches, all it takes is the word "Candygram!", suitably timed, to get people rolling on the floor. -- GLS] *** New in 4.1.0. *** :cathedral: n.,adj. [see {bazaar} for derivation] The `classical' mode of software engineering long thought to be necessarily implied by {Brooks's Law}. Features small teams, tight project control, and long release intervals. This term came into use after analysis of the Linux experience suggested there might be something wrong (or at least incomplete) in the classical assumptions. *** Changed in 4.1.0. *** :chad: /chad/ n. 1. [common] The perforated edge strips on printer paper, after they have been separated from the printed portion. Also called {selvage}, {perf}, and {ripoff}. 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'. It's reported that this was very old Army slang, and it 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 {backronym}. *** Changed in 4.1.0. *** :chomp: vi. 1. To {lose}; specifically, to chew on something of which more was bitten off than one can. Probably related to gnashing of teeth. 2. To bite the bag; See {bagbiter}. A hand gesture commonly accompanies this. To perform it, hold the four fingers together and place the thumb against their tips. Now open and close your hand rapidly to suggest a biting action (much like what Pac-Man does in the classic video game, though this pantomime seems to predate that). The gesture alone means `chomp chomp' (see "{Verb Doubling}" in the "{Jargon Construction}" section of the Prependices). The hand may be pointed at the object of complaint, and for real emphasis you can use both hands at once. Doing this to a person is equivalent to saying "You chomper!" If you point the gesture at yourself, it is a humble but humorous admission of some failure. You might do this if someone told you that a program you had written had failed in some surprising way and you felt dumb for not having anticipated it. *** New in 4.1.1. *** :clock: 1. n 1. [techspeak] The master oscillator that steps a CPU or other digital circuit through its paces. This has nothing to do with the time of day, although the software counter that keeps track of the latter may be derived from the former. 2. vt. To run a CPU or other digital circuit at a particular rate. "If you clock it at 100MHz, it gets warm.". See {overclock}. 3. vt. To force a digital circuit from one state to the next by applying a single clock pulse. "The data must be stable 10ns before you clock the latch." *** New in 4.1.0. *** :clue-by-four: [Usenet: portmanteau, clue + two-by-four] The notional stick with which one whacks an aggressively clueless person. This term derives from a western American folk saying about training a mule "First, you got to hit him with a two-by-four. That's to get his attention." The clue-by-four is a close relative of the {LART}. *** New in 4.1.0. Changed in 4.1.2. *** :coaster: n. 1. Unuseable CD produced during failed attempt at writing to writeable or re-writeable CD media. Certainly related to the coaster-like shape of a CD, and the relative value of these failures. "I made a lot of coasters before I got a good CD." 2. Useless CDs received in the mail from the likes of AOL, MSN, CI$, Prodigy, ad nauseam. *** New in 4.1.0. *** :cobweb site: n. A World Wide Web Site that hasn't been updated so long it has figuratively grown cobwebs. *** New in 4.1.1. *** :code: n. The stuff that software writers write, either in source form or after translation by a compiler or assembler. Often used in opposition to "data", which is the stuff that code operates on. This is a mass noun, as in "How much code does it take to do a {bubble sort}?", or "The code is loaded at the high end of RAM." Anyone referring to software as "the software codes" is probably a {newbie} or a {suit}. *** New in 4.1.0. *** :compo: n. [{demoscene}] Finnish-originated slang for `competition'. Demo compos are held at a {demoparty}. The usual protocol is that several groups make demos for a compo, they are shown on a big screen, and then the party participants vote for the best one. Prizes (from sponsors and party entrance fees) are given. Standard compo formats include {intro} compos (4k or 64k demos), music compos, graphics compos, quick {demo} compos (build a demo within 4 hours for example), etc. *** Changed in 4.1.0. *** :compress: [Unix] vt. When used without a qualifier, generally refers to {crunch}ing of a file using a particular C implementation of compression by Joseph M. Orost et al. and widely circulated via {Usenet}; use of {crunch} itself in this sense is rare among Unix hackers. Specifically, compress is built around the Lempel-Ziv-Welch algorithm as described in "A Technique for High Performance Data Compression", Terry A. Welch, "IEEE Computer", vol. 17, no. 6 (June 1984), pp. 8-19. *** Changed in 4.1.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 long Torx screwdriver 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 4.1.1. *** :considered harmful: adj. [very common] Edsger W. Dijkstra's note in the March 1968 "Communications of the ACM", "Goto Statement Considered Harmful", fired the first salvo in the structured programming wars (text at `http://www.acm.org/classics'). Amusingly, the ACM considered the resulting acrimony sufficiently harmful that it will (by policy) no longer print an article taking so assertive a position against a coding practice. (Years afterwards, a contrary view contrary view was uttered in a CACM letter called, inevitably, "`Goto considered harmful' considered harmful'"'. In the ensuing decades, a large number of both serious papers and parodies have borne titles of the form "X considered Y". The structured-programming wars eventually blew over with the realization that both sides were wrong, but use of such titles has remained as a persistent minor in-joke (the `considered silly' found at various places in this lexicon is related). *** Changed in 4.1.2, 4.1.2. *** :cookie: n. A handle, transaction ID, or other token of agreement between cooperating programs. "I give him a packet, he gives me back a cookie." The claim check you get from a dry-cleaning shop is a perfect mundane example of a cookie; the only thing it's useful for is to relate a later transaction to this one (so you get the same clothes back). Compare {magic cookie}; see also {fortune cookie}. Now mainstream in the specific sense of web-browser cookies. *** New in 4.1.0. *** :copyparty: n. [C64/amiga {demoscene} ]A computer party organized so demosceners can meet other in real life, and to facilitate software copying (mostly pirated software). The copyparty has become less common as the Internet makes communication easier. The demoscene has gradually evolved the {demoparty} to replace it. *** New in 4.1.0. Changed in 4.1.1, 4.1.3. *** :cow orker: n. [Usenet] n. fortuitous typo for co-worker, widely used in Usenet, with perhaps a hint that orking cows is illegal. This term was popularized by Scott Adams (the creator of {Dilbert}) but seems to have originated in a 1997 ir earlier {scary devil monastery} FAQ. Compare {hing}, {grilf}, {filk}, {newsfroup}. *** New in 4.1.0. *** :crapplet: n. [portmanteau, crap + applet] A worthless applet, esp. a Java widget attached to a web page that doesn't work or even crashes your browser. Also spelled `craplet'. *** Changed in 4.1.3. *** :crayon: n. 1. Someone who works on Cray supercomputers. More specifically, it implies a programmer, probably of the CDC ilk, probably male, and almost certainly wearing a tie (irrespective of gender). Systems types who have a Unix background tend not to be described as crayons. 2. Formerly, anyone who worked for Cray Research; since the buyout by SGI, anyone they inherited from Cray. 3. A {computron} (sense 2) that participates only in {number-crunching}. 4. A unit of computational power equal to that of a single Cray-1. There is a standard joke about this usage that derives from an old Crayola crayon promotional gimmick: When you buy 64 crayons you get a free sharpener. *** New in 4.1.1. *** :cup holder: n. The tray of a CD-ROM drive, or by extension the CD drive itself. So called because of a common tech support legend about the idiot who called to complain that the cup holder on his computer broke. A joke program was once distributed around the net called "cupholder.exe", which when run simply extended the CD drive tray. The humor of this was of course lost on people whose drive had a slot or a caddy instead. *** Changed in 4.1.0. *** :cycle crunch: n.,obs. A situation wherein the number of people trying to use a computer simultaneously has reached the point where no one can get enough cycles because they are spread too thin and the system has probably begun to {thrash}. This scenario is an inevitable result of Parkinson's Law applied to timesharing. Usually the only solution is to buy more computer. Happily, this has rapidly become easier since the mid-1980s, so much so that the very term `cycle crunch' now has a faintly archaic flavor; most hackers now use workstations or personal computers as opposed to traditional timesharing systems, and are far more likely to complain of `bandwidth crunch' on their shared networks rather than cycle crunch. *** Changed in 4.1.1. *** :cycle server: n. A powerful machine that exists primarily for running large compute-, disk-, or memory-intensive jobs (more formally called a `compute server'). Implies that interactive tasks such as editing are done on other machines on the network, such as workstations. *** Changed in 4.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); or "The Design and Implementation of the 4.4 BSD Operating System" by Marshall Kirk McKusick, Keith Bostic, Michael J. Karels and John S. Quarterman (Addison-Wesley Longman, 1996, SBN 0-201-54979-4) Either of the standard reference books on the internals of {BSD} Unix. So called because the covers have a picture depicting a little devil (a visual play on {daemon}) in sneakers, holding a pitchfork (referring to one of the characteristic features of Unix, the `fork(2)' system call). Also known as the {Devil Book}. *** New in 4.1.0. *** :dancing frog: n. [Vancouver area] A problem that occurs on a computer that will not reappear while anyone else is watching. From the classic Warner Brothers cartoon "One Froggy Evening", featuring a dancing and singing Michigan J. Frog that just croaks when anyone else is around (now the WB network mascot). *** Changed in 4.1.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. The act of completely removing Micro$oft Windows from a PC in favor of a better OS (typically Linux). *** New in 4.1.0. *** :deliminator: /de-lim'-in-ay-t*r/ n. [portmanteau, delimiter + eliminate] A string or pattern used to delimit text into fields, but which is itself eliminated from the resulting list of fields. This jargon seems to have originated among Perl hackers in connection with the Perl split() function; however, it has been sighted in live use among Java and even Visual Basic programmers. *** Changed in 4.1.1. *** :demigod: n. A hacker with years of experience, a world-wide reputation, and a major role in the development of at least one design, tool, or game used by or known to more than half of the hacker community. To qualify as a genuine demigod, the person must recognizably identify with the hacker community and have helped shape it. Major demigods include Ken Thompson and Dennis Ritchie (co-inventors of {{Unix}} and {C}), Richard M. Stallman (inventor of {EMACS}), Larry Wall (inventor of {Perl}), Linus Torvalds (inventor of Linux), and most recently James Gosling (inventor of Java). 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}. *** Changed in 4.1.0. *** :demo: /de'moh/ [short for `demonstration'] 1. v. To demonstrate a product or prototype. A far more effective way of inducing bugs to manifest than any number of {test} runs, especially when important people are watching. 2. n. The act of demoing. "I've gotta give a demo of the drool-proof interface; how does it work again?" 3. n. Esp. as `demo version', can refer either to an early, barely-functional version of a program which can be used for demonstration purposes as long as the operator uses _exactly_ the right commands and skirts its numerous bugs, deficiencies, and unimplemented portions, or to a special version of a program (frequently with some features crippled) which is distributed at little or no cost to the user for enticement purposes. 4. [{demoscene}] A sequence of {demoeffect}s (usually) combined with self-composed music and hand-drawn ("pixelated") graphics. These days (1997) usually built to attend a {compo}. Often called `eurodemos' outside Europe, as most of the {demoscene} activity seems to have gathered in northern Europe and especially Scandinavia. See also {intro}, {dentro}. *** New in 4.1.0. *** :demoeffect: n. [{demoscene}] What among hackers is called a {display hack}. Classical effects include "plasma" (colorful mess), "keftales" (x*x+y*y and other similar patterns, usually combined with color-cycling), realtime fractals, realtime 3d graphics, etc. Historically, demo effects have cheated as much as possible to gain more speed and more complexity, using low-precision math and masses of assembler code and building animation realtime are three common tricks, but use of special hardware to fake effects is a {Good Thing} on the demoscene (though this is becoming less common as platforms like the Amiga fade away). *** New in 4.1.0. *** :demogroup: n. [{demoscene}] A group of {demo} (sense 4) composers. Job titles within a group include coders (the ones who write programs), graphicians (the ones who painstakingly pixelate the fine art), musicians (the music composers), {sysop}s, traders/swappers (the ones who do the trading and other PR), and organizers (in larger groups). It is not uncommon for one person to do multiple jobs, but it has been observed that good coders are rarely good composers and vice versa. [How odd. Musical talent seems common among Internet/Unix hackers --ESR] *** New in 4.1.0. *** :demoparty: n. [{demoscene}] Aboveground descendant of the {copyparty}, with emphasis shifted away from software piracy and towards {compo}s. Smaller demoparties, for 100 persons or less, are held quite often, sometimes even once a month, and usually last for one to two days. On the other end of the scale, huge demo parties are held once a year (and four of these have grown very large and occur annually - Assembly in Finland, The Party in Denmark, The Gathering in Norway, and NAID somewhere in north America). These parties usually last for three to five days, have room for 3000-5000 people, and have a party network with connection to the internet. *** New in 4.1.0. *** :demoscene: /dem'oh-seen/ [also `demo scene'] A culture of multimedia hackers located primarily in Scandinavia and northern Europe. Demoscene folklore recounts that when old-time {warez d00dz} cracked some piece of software they often added an advertisement of in the beginning, usually containing colorful {display hack}s with greetings to other cracking groups. The demoscene was born among people who decided building these display hacks is more interesting than hacking and began to build self-contained display hacks of considerable elaboration and beauty (within the culture such a hack is called a {demo}). The split seems to have happened at the end of the 1980s. As more of these {demogroup}s emerged, they started to have {compo}s at copying parties (see {copyparty}), which later evolved to standalone events (see {demoparty}). The demoscene has retained some traits from the {warez d00dz}, including their style of handles and group names and some of their jargon. Traditionally demos were written in assembly language, with lots of smart tricks, self-modifying code, undocumented op-codes and the like. Some time around 1995, people started coding demos in C, and a couple of years after that, they also started using Java. Ten years on (in 1998-1999), the demoscene is changing as its original platforms (C64, Amiga, Spectrum, Atari ST, IBM PC under DOS) die out and activity shifts towards Windows, Linux, and the Internet. While deeply underground in the past, demoscene is trying to get into the mainstream as accepted art form, and one symptom of this is the commercialization of bigger demoparties. Older demosceneers frown at this, but the majority think it's a good direction. Many demosceneers end up working in the computer game industry. Demoscene resource pages are available at `http://www.oldskool.org/demos/explained/' and `http://www.scene.org/'. *** New in 4.1.0. *** :dentro: /den'troh/ [{demoscene}] Combination of {demo} (sense 4) and {intro}. Other name mixings include intmo, dentmo etc. and are used usually when the authors are not quite sure whether the program is a {demo} or an {intro}. Special-purpose coinages like wedtro (some member of a group got married), invtro (invitation intro) etc. have also been sighted. *** Changed in 4.1.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. It has been alleged that the term originated as a reversal of the name of the gentleman who most usually left himself vulnerable to it, who also happened to be the head of the department that handled PLATO at the University of Delaware. *** Changed in 4.1.0. *** :digit: n.,obs. An employee of Digital Equipment Corporation. See also {VAX}, {VMS}, {PDP-10}, {{TOPS-10}}, {field circus}. *** Changed in 4.1.0, 4.1.2. *** :dinosaurs mating: n. Said to occur when yet another {big iron} merger or buyout occurs; reflects a perception by hackers that these signal another stage in the long, slow dying of the {mainframe} industry. In its glory days of the 1960s, it was `IBM and the Seven Dwarves': Burroughs, Control Data, General Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR, Control Data, and Honeywell) for a while. Honeywell was bought out by Bull; Burroughs merged with Univac to form Unisys (in 1984 -- this was when the phrase `dinosaurs mating' was coined); and in 1991 AT&T absorbed NCR (but spat it back out a few years later). Control Data still exists but is no longer in the mainframe business. More such earth-shaking unions of doomed giants seem inevitable. *** Changed in 4.1.0. *** :display hack: n. A program with the same approximate purpose as a kaleidoscope: to make pretty pictures. Famous display hacks include {munching squares}, {smoking clover}, the BSD Unix `rain(6)' program, `worms(6)' on miscellaneous Unixes, and the {X} `kaleid(1)' program. Display hacks can also be implemented by creating text files containing numerous escape sequences for interpretation by a video terminal; one notable example displayed, on any VT100, a Christmas tree with twinkling lights and a toy train circling its base. The {hack value} of a display hack is proportional to the esthetic value of the images times the cleverness of the algorithm divided by the size of the code. Syn. {psychedelicware}. *** New in 4.1.0. *** :dispress: vt. [contraction of `Dissociated Press' due to eight-character MS-DOS filenames] To apply the {Dissociated Press} algorithm to a block of text. The resultant output is also referred to as a 'dispression'. *** Changed in 4.1.3. *** :distribution: n. 1. A software source tree packaged for distribution; but see {kit}. Since about 1996 unqualified use of this term often implies `{Linux} distribution'. 2. A vague term encompassing mailing lists and Usenet newsgroups (but not {BBS} {fora}); any topic-oriented message channel with multiple recipients. 3. An information-space domain (usually loosely correlated with geography) to which propagation of a Usenet message is restricted; a much-underutilized feature. *** Changed in 4.1.1. *** :dogcow: /dog'kow/ n. See {Moof}. The dogcow is a semi-legendary creature that lurks in the depths of the Macintosh Technical Notes Hypercard stack V3.1. The full story of the dogcow is told in technical note #31 (the particular dogcow illustrated is properly named `Clarus'). Option-shift-click will cause it to emit a characteristic `Moof!' or `!fooM' sound. _Getting_ to tech note 31 is the hard part; to discover how to do that, one must needs examine the stack script with a hackerly eye. Clue: {rot13} is involved. A dogcow also appears if you choose `Page Setup...' with a LaserWriter selected and click on the `Options' button. It also lurks in other Mac printer drivers, notably those for the now-discontinued Style Writers. *** New in 4.1.0. Changed in 4.1.1, 4.1.2. *** :dogfood: n. [Microsoft, Netscape] Interim software used internally for testing. "To eat one's own dogfood" (from which the slang noun derives) means to use the software one is developing, as part of one's everyday development environment (the phrase is used outside Microsoft and Netscape). The practice is normal in the Linux community and elsewhere, but the term `dogfood' is seldom used as open-source betas tend to be quite tasty and nourishing. The idea is that developers who are using their own software will quickly learn what's missing or broken. Dogfood is typically not even of {beta} quality. *** Changed in 4.1.2. *** :dogpile: v. [Usenet: prob. fr. mainstream "puppy pile"] When many people post unfriendly responses in short order to a single posting, they are sometimes said to "dogpile" or "dogpile on" the person to whom they're responding. For example, when a religious missionary posts a simplistic appeal to alt.atheism, he can expect to be dogpiled. It has been suggested that this derives from U.S, football slang for a tackle involving three or more people. *** Changed in 4.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}. In England there is equivalent mainstream slang; a `jobsworth' is an obstructive, rule-following bureaucrat, often of the uniformed or suited variety. Named for the habit of denying a reasonable request by sucking his teeth and saying "Oh no, guv, sorry I can't help you: that's more than my job's worth". *** Changed in 4.1.0, 4.1.1. *** :eat flaming death: imp. A construction popularized among hackers by the infamous {CPU Wars} comic; supposedly derive from a famously turgid line in a WWII-era anti-Nazi propaganda comic that ran "Eat flaming death, non-Aryan mongrels!" or something of the sort (however, it is also reported that the Firesign Theatre's 1975 album "In The Next World, You're On Your Own" a character won the right to scream "Eat flaming death, fascist media pigs" in the middle of Oscar night on a game show; this may have been an influence). Used in humorously overblown expressions of hostility. "Eat flaming death, {{EBCDIC}} users!" *** New in 4.1.0. *** :egosurf: vi. To search the net for your name or links to your web pages. Perhaps connected to long-established SF-fan slang `egoscan', to search for one's name in a fanzine. *** Changed in 4.1.1. *** :eighty-column mind: n. [IBM] The sort said to be possessed by persons for whom the transition from {punched card} to tape was traumatic (nobody has dared tell them about disks yet). It is said that these people, including (according to an old joke) the founder of IBM, will be buried `face down, 9-edge first' (the 9-edge being the bottom of the card). This directive is inscribed on IBM's 1402 and 1622 card readers and is referenced in a famous bit of doggerel called "The Last Bug", the climactic lines of which are as follows: He died at the console Of hunger and thirst. Next day he was buried, Face down, 9-edge first. The eighty-column mind was thought by most hackers to dominate IBM's customer base and its thinking. This only began to change in the mid-1990s when IBM began to reinvent itself after the triumph of the {killer micro}. See {IBM}, {fear and loathing}, {card walloper}. *** Changed in 4.1.0, 4.1.1. *** :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}, for which reason hackers use it only with heavy irony. The term used to refer to the folks allowed in to the "hidden" or "privileged" sections of BBSes in the early 1980s (which, typically, contained pirated software). Frequently, early boards would only let you post, or even see, a certain subset of the sections (or `boards') on a BBS. Those who got to the frequently legendary `triple super secret' boards were elite. Misspellings of this term in warez d00dz style abound; the forms `eleet', and `31337' (among others) have been sighted. A true hacker would be more likely to use `wizardly'. Oppose {lamer}. *** Changed in 4.1.0. *** :elvish: n. 1. The Tengwar of Feanor, a table of letterforms resembling the beautiful Celtic half-uncial hand of the "Book of Kells". Invented and described by J. R. R. Tolkien in "The Lord of The Rings" as an orthography for his fictional `elvish' languages, this system (which is both visually and phonetically {elegant}) has long fascinated hackers (who tend to be intrigued by artificial languages in general). It is traditional for graphics printers, plotters, window systems, and the like to support a Feanorian typeface as one of their demo items. See also {elder days}. 2. By extension, any odd or unreadable typeface produced by a graphics device. 3. The typeface mundanely called `Bo"cklin', an art-Noveau display font. *** Changed in 4.1.0. *** :emoticon: /ee-moh'ti-kon/ n. [common] An ASCII glyph used to indicate an emotional state in email or news. Although originally intended mostly as jokes, emoticons (or some other explicit humor indication) are virtually required under certain circumstances in high-volume text-only communication forums such as Usenet; the lack of verbal and visual cues can otherwise cause what were intended to be humorous, sarcastic, ironic, or otherwise non-100%-serious comments to be badly misinterpreted (not always even by {newbie}s), resulting in arguments and {flame war}s. Hundreds of emoticons have been proposed, but only a few are in common use. These include: :-) `smiley face' (for humor, laughter, friendliness, occasionally sarcasm) :-( `frowney face' (for sadness, anger, or upset) ;-) `half-smiley' ({ha ha only serious}); also known as `semi-smiley' or `winkey face'. :-/ `wry face' (These may become more comprehensible if you tilt your head sideways, to the left.) The first two listed are by far the most frequently encountered. Hyphenless forms of them are common on CompuServe, GEnie, and BIX; see also {bixie}. On {Usenet}, `smiley' is often used as a generic term synonymous with {emoticon}, as well as specifically for the happy-face emoticon. It appears that the emoticon was invented by one Scott Fahlman on the CMU {bboard} systems sometime between early 1981 and mid-1982. He later wrote: "I wish I had saved the original post, or at least recorded the date for posterity, but I had no idea that I was starting something that would soon pollute all the world's communication channels." [GLS confirms that he remembers this original posting]. Note for the {newbie}: Overuse of the smiley is a mark of loserhood! More than one per paragraph is a fairly sure sign that you've gone over the line. *** Changed in 4.1.2. *** :epoch: n. [Unix: prob. from astronomical timekeeping] The time and date corresponding to 0 in an operating system's clock and timestamp values. Under most Unix versions the epoch is 00:00:00 GMT, January 1, 1970; under VMS, it's 00:00:00 of November 17, 1858 (base date of the U.S. Naval Observatory's ephemerides); on a Macintosh, it's the midnight beginning January 1 1904. System time is measured in seconds or {tick}s past the epoch. Weird problems may ensue when the clock wraps around (see {wrap around}), which is not necessarily a rare event; on systems counting 10 ticks per second, a signed 32-bit count of ticks is good only for 6.8 years. The 1-tick-per-second clock of Unix is good only until January 18, 2038, assuming at least some software continues to consider it signed and that word lengths don't increase by then. See also {wall time}. Microsoft Windows, on the other hand, has an epoch problem every 49.7 days - but this is seldom noticed as Windows is almost incapable of staying up continuously for that long. *** New in 4.1.0. *** :eurodemo: /yoor'o-dem`-o/ a {demo}, sense 4 *** New in 4.1.0. Changed in 4.1.1. *** :exploit: n. [originally cracker slang] 1. A vulnerability in software that can be used for breaking security or otherwise attacking an Internet host over the network. The {Ping O' Death} is a famous exploit. 2. More grammatically, a program that exploits an exploit in sense 1, *** Changed in 4.1.2, 4.1.3. *** :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." Reported as mainstream usage among players of graphics-heavy computer games. We're also told this term is mainstream slang for soft pornography, but that sense does not appear to be live among hackers. *** New in 4.1.3. *** :fairings: n. /fer'ingz/ [FreeBSD; orig. a typo for `fairness'] A term thrown out in discussion whenever a completely and transparently nonsensical argument in one's favor(?) zseems called for, e,g. at the end of a really long thread for which the outcome is no longer even cared about since everyone is now so sick of it or in rebuttal to another nonsensical argument ("Change the loader to look for /kernel.pl? What about fairings?") *** Changed in 4.1.0. *** :farming: n. [Adelaide University, Australia] What the heads of a disk drive are said to do when they plow little furrows in the magnetic media. Associated with a {crash}. Typically used as follows: "Oh no, the machine has just crashed; I hope the hard drive hasn't gone {farming} again." No longer common; modern drives automatically park their heads in a safe zone on power-down, so it takes a real mechanical problem to induce this. *** Changed in 4.1.1. *** :fear and loathing: n. [from Hunter S. Thompson] A state inspired by the prospect of dealing with certain real-world systems and standards that are totally {brain-damaged} but ubiquitous -- Intel 8086s, or {COBOL}, or {{EBCDIC}}, or any {IBM} machine bigger than a workstation. "Ack! They want PCs to be able to talk to the AI machine. Fear and loathing time!" *** New in 4.1.0. *** :feature creep: n. [common] The result of {creeping featurism}, as in "Emacs has a bad case of feature creep". *** Changed in 4.1.0, 4.1.3. *** :feature key: n. [common] 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 (officially, in Mac documentation) the `command 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 `seva"rdhet' (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. *** Changed in 4.1.0, 4.1.0. *** :field circus: n. [a derogatory pun on `field service'] The field service organization of any hardware manufacturer, but originally {DEC}. There is an entire genre of jokes about field circus engineers: Q: How can you recognize a field circus engineer with a flat tire? A: He's changing one tire at a time to see which one is flat. Q: How can you recognize a field circus engineer who is out of gas? A: He's changing one tire at a time to see which one is flat. Q: How can you tell it's _your_ field circus engineer? A: The spare is flat, too. [See {Easter egging} for additional insight on these jokes.] There is also the `Field Circus Cheer' (from the old {plan file} for DEC on MIT-AI): Maynard! Maynard! Don't mess with us! We're mean and we're tough! If you get us confused We'll screw up your stuff. (DEC's service HQ, still extant under the Compaq regime, is located in Maynard, Massachusetts.) *** Changed in 4.1.0, 4.1.0. *** :filk: /filk/ n.,v. [from SF fandom, where a typo for `folk' was adopted as a new word] A popular or folk song with lyrics revised or completely new lyrics and/or music, intended for humorous effect when read, and/or to be sung late at night at SF conventions. There is a flourishing subgenre of these called `computer filks', written by hackers and often containing rather sophisticated technical humor. See {double bucky} for an example. Compare {grilf}, {hing}, {pr0n}, and {newsfroup}. *** Changed in 4.1.0. *** :film at 11: [MIT: in parody of TV newscasters] 1. Used in conversation to announce ordinary events, with a sarcastic implication that these events are earth-shattering. "{{ITS}} crashes; film at 11." "Bug found in scheduler; film at 11." 2. Also widely used outside MIT to indicate that additional information will be available at some future time, _without_ the implication of anything particularly ordinary about the referenced event. For example, "The mail file server died this morning; we found garbage all over the root directory. Film at 11." would indicate that a major failure had occurred but that the people working on it have no additional information about it as yet; use of the phrase in this way suggests gently that the problem is liable to be fixed more quickly if the people doing the fixing can spend time doing the fixing rather than responding to questions, the answers to which will appear on the normal "11:00 news", if people will just be patient. The variant "MPEGs at 11" has recently been cited (MPEG is a digital-video format.) *** Changed in 4.1.1. *** :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 (1999) it is techspeak, and has been retained only as an example of uptake --ESR] *** New in 4.1.1. *** :firmware: /ferm'weir/ n. Embedded software contained in EPROM or flash memory. It isn't quite hardware, but at least doesn't have to be loaded from a disk like regular software. Hacker usage differs from straight techspeak in that hackers don't normally apply it to stuff that you can't possibly get at, such as the program that runs a pocket calculator. Instead, it implies that the firmware could be changed, even if doing so would mean opening a box and plugging in a new chip. A computer's BIOS is the classic example, although nowadays there is firmware in disk controllers, modems, video cards and even CD-ROM drives. *** Changed in 4.1.3. *** :flame: [at MIT, orig. from the phrase `flaming asshole'] 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 4.1.0. *** :flavor: n. 1. [common] Variety, type, kind. "DDT commands come in two flavors." "These lights come in two flavors, big red ones and small green ones." "Linux is a flavor of Unix" See {vanilla}. 2. The attribute that causes something to be {flavorful}. Usually used in the phrase "yields additional flavor". "This convention yields additional flavor by allowing one to print text either right-side-up or upside-down." See {vanilla}. This usage was certainly reinforced by the terminology of quantum chromodynamics, in which quarks (the constituents of, e.g., protons) come in six flavors (up, down, strange, charm, top, bottom) and three colors (red, blue, green) -- however, hackish use of `flavor' at MIT predated QCD. 3. The term for `class' (in the object-oriented sense) in the LISP Machine Flavors system. Though the Flavors design has been superseded (notably by the Common LISP CLOS facility), the term `flavor' is still used as a general synonym for `class' by some LISP hackers. *** Changed in 4.1.2. *** :flood: v. [common; IRC] To dump large amounts of text onto an {IRC} channel. This is especially rude when the text is uninteresting and the other users are trying to carry on a serious conversation. Also used in a similar sense on Usenet. *** Changed in 4.1.0, 4.1.0. *** :foobar: n. [very common] Another widely used {metasyntactic variable}; see {foo} for etymology. Probably originally propagated through DECsystem manuals by Digital Equipment Corporation ({DEC}) in 1960s and early 1970s; confirmed sightings there go back to 1972. Hackers do _not_ generally use this to mean {FUBAR} in either the slang or jargon sense. See also {Fred Foobar}. *** New in 4.1.0. *** :frag: n.,v. [from Vietnam-era U.S. military slang via the games Doom and Quake] 1. To kill another player's {avatar} in a multiuser game. "I hold the office Quake record with 40 frags." 2. To completely ruin something. "Forget that power supply, the lightning strike fragged it. *** New in 4.1.0. *** :fscking: /fus'-king/ or /eff'-seek-ing/ adj. [Usenet; common] Fucking, in the expletive sense (it refers to the Unix filesystem-repair command fsck(1), of which it can be said that if you have to use it at all you are having a bad day). Originated on {scary devil monastery} and the bofh.net newsgroups, but became much more widespread following the passage of {CDA}. Also occasionally seen in the variant "What the fsck?" *** New in 4.1.0. *** :functino: n. [uncommon, U.K.; originally a serendipitous typo in 1994] A pointer to a function in C and C++. By association with sub-atomic particles such as the neutrino, it accurately conveys an impression of smallness (one pointer is four bytes on most systems) and speed (hackers can and do use arrays of functinos to replace a switch() statement). *** Changed in 4.1.1. *** :glork: /glork/ 1. interj. Term of mild surprise, usually tinged with outrage, as when one attempts to save the results of two hours of editing and finds that the system has just crashed. 2. Used as a name for just about anything. See {foo}. 3. vt. Similar to {glitch}, but usually used reflexively. "My program just glorked itself." 4. Syn. for {glark}, which see. *** Changed in 4.1.0. *** :go root: vi. [Unix; common] To temporarily enter {root mode} in order to perform a privileged operation. This use is deprecated in Australia, where v. `root' is a synonym for "fuck". *** Changed in 4.1.0. *** :gonk: /gonk/ vi.,n. 1. To prevaricate or to embellish the truth beyond any reasonable recognition. In German the term is (mythically) `gonken'; in Spanish the verb becomes `gonkar'. "You're gonking me. That story you just told me is a bunch of gonk." In German, for example, "Du gonkst mich" (You're pulling my leg). See also {gonkulator}. 2. [British] To grab some sleep at an odd time; compare {gronk out}. *** Changed in 4.1.1. *** :gonzo: /gon'zoh/ adj. [from Hunter S. Thompson] 1. With total commitment, total concentration, and a mad sort of panache. (Thompson's original sense.) 2. More loosely: Overwhelming; outrageous; over the top; very large, esp. used of collections of source code, source files, or individual functions. Has some of the connotations of {moby} and {hairy}, but without the implication of obscurity or complexity. *** Changed in 4.1.0. *** :gorets: /gor'ets/ n. The unknown ur-noun, fill in your own meaning. Found esp. on the Usenet newsgroup alt.gorets, which seems to be a running contest to redefine the word by implication in the funniest and most peculiar way, with the understanding that no definition is ever final. [A correspondent from the Former Soviet Union informs me that `gorets' is Russian for `mountain dweller'. Another from France informs me that `goret' is archaic French for a young pig --ESR] Compare {frink}. *** New in 4.1.0. *** :greenbar: n. A style of fanfolded continuous-feed paper with alternating green and white bars on it, especially used in old-style line printers. This slang almost certainly dates way back to mainframe days. *** Changed in 4.1.0. *** :grep: /grep/ vi. [from the qed/ed editor idiom g/re/p, where re stands for a regular expression, to Globally search for the Regular Expression and Print the lines containing matches to it, via {{Unix}} `grep(1)'] To rapidly scan a file or set of files looking for a particular string or pattern (when browsing through a large set of files, one may speak of `grepping around'). By extension, to look for something by pattern. "Grep the bulletin board for the system backup schedule, would you?" See also {vgrep}. [It has also been alleged that the source is from the title of a paper "A General Regular Expression Parser" -ESR] *** New in 4.1.0. *** :gribble: n. Random binary data rendered as unreadable text. Noise characters in a data stream are displayed as gribble. Modems with mismatched bitrates usually generate gribble (more specifically, {baud barf}). Dumping a binary file to the screen is an excellent source of gribble, and (if the bell/speaker is active) headaches. *** New in 4.1.0. *** :grue: n. [from archaic English verb for `shudder', as with fear] The grue was originated in the game {Zork} (Dave Lebling took the name from Jack Vance's "Dying Earth" fantasies) and used in several other {Infocom} games as a hint that you should perhaps look for a lamp, torch or some type of light source. Wandering into a dark area would cause the game to prompt you, "It is very dark. If you continue you are likely to be eaten by a grue." If you failed to locate a light source within the next couple of moves this would indeed be the case. The grue, according to scholars of the Great Underground Empire, is a sinister, lurking presence in the dark places of the earth. Its favorite diet is either adventurers or enchanters, but its insatiable appetite is tempered by its extreme fear of light. No grues have ever been seen by the light of day, and only a few have been observed in their underground lairs. Of those who have seen grues, few have survived their fearsome jaws to tell the tale. Grues have sharp claws and fangs, and an uncontrollable tendency to slaver and gurgle. They are certainly the most evil-tempered of all creatures; to say they are touchy is a dangerous understatement. "Sour as a grue" is a common expression, even among themselves. All this folklore is widely known among hackers. *** New in 4.1.0. *** :gunpowder chicken: n. Same as {laser chicken}. *** Changed in 4.1.0, 4.1.1. *** :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 fairly early on (but there's a well-known patch to restore it in more recent versions). *** Changed in 4.1.1. *** :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 early 1999. "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 4.1.0. *** :hacker: n. [originally, someone who makes furniture with an axe] 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating {hack value}. 4. A person who is good at programming quickly. 5. An expert at a particular program, or one who frequently does work using it or on it; as in `a Unix hacker'. (Definitions 1 through 5 are correlated, and people who fit them congregate.) 6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example. 7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. 8. [deprecated] A malicious meddler who tries to discover sensitive information by poking around. Hence `password hacker', `network hacker'. The correct term for this sense is {cracker}. The term `hacker' also tends to connote membership in the global community defined by the net (see {the network} and {Internet address}). For discussion of some of the basics of this culture, see the How To Become A Hacker (http://www.tuxedo.org/~esr/faqs/hacker-howto.html) FAQ. It also implies that the person described is seen to subscribe to some version of the hacker ethic (see {hacker ethic}). It is better to be described as a hacker by others than to describe oneself that way. Hackers consider themselves something of an elite (a meritocracy based on ability), though one to which new members are gladly welcome. There is thus a certain ego satisfaction to be had in identifying yourself as a hacker (but if you claim to be one and are not, you'll quickly be labeled {bogus}). See also {wannabee}. This term seems to have been first adopted as a badge in the 1960s by the hacker culture surrounding TMRC and the MIT AI Lab. We have a report that it was used in a sense close to this entry's by teenage radio hams and electronics tinkerers in the mid-1950s. *** Changed in 4.1.0, 4.1.2. *** :hairball: n. 1. [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. 2. An unmanageably huge mass of source code. "JWZ thought the Mozilla effort bogged down because the code was a huge hairball." 3. Any large amount of garbage coming out suddenly. "Sendmail is coughing up a hairball, so expect some slowness accessing the Internet." *** Changed in 4.1.0. *** :hairy: adj. 1. Annoyingly complicated. "{DWIM} is incredibly hairy." 2. Incomprehensible. "{DWIM} is incredibly hairy." 3. Of people, high-powered, authoritative, rare, expert, and/or incomprehensible. Hard to explain except in context: "He knows this hairy lawyer who says there's nothing to worry about." See also {hirsute}. A well-known result in topology called the Brouwer Fixed-Point Theorem states that any continuous transformation of a 2-sphere into itself has at least one fixed point. Mathematically literate hackers tend to associate the term `hairy' with the informal version of this theorem; "You can't comb a hairy ball smooth." The adjective `long-haired' is well-attested to have been in slang use among scientists and engineers during the early 1950s; it was equivalent to modern `hairy' senses 1 and 2, and was very likely ancestral to the hackish use. In fact the noun `long-hair' was at the time used to describe a person satisfying sense 3. Both senses probably passed out of use when long hair was adopted as a signature trait by the 1960s counterculture, leaving hackish `hairy' as a sort of stunted mutant relic. *** Changed in 4.1.0. *** :handle: n. 1. [from CB slang] An electronic pseudonym; a `nom de guerre' intended to conceal the user's true identity. Network and BBS handles function as the same sort of simultaneous concealment and display one finds on Citizen's Band radio, from which the term was adopted. Use of grandiose handles is characteristic of {warez d00dz}, {cracker}s, {weenie}s, {spod}s, and other lower forms of network life; true hackers travel on their own reputations rather than invented legendry. Compare {nick}, {screen name}. 2. A {magic cookie}, often in the form of a numeric index into some array somewhere, through which you can manipulate an object like a file or window. The form `file handle' is especially common. 3. [Mac] A pointer to a pointer to dynamically-allocated memory; the extra level of indirection allows on-the-fly memory compaction (to cut down on fragmentation) or aging out of unused resources, with minimal impact on the (possibly multiple) parts of the larger program containing references to the allocated memory. Compare {snap} (to snap a handle would defeat its purpose); see also {aliasing bug}, {dangling pointer}. *** Changed in 4.1.2. *** :hello sailor!: interj. Occasional West Coast equivalent of {hello world}; seems to have originated at SAIL, later associated with the game {Zork} (which also included "hello, aviator" and "hello, implementor"). Originally from the traditional hooker's greeting to a swabbie fresh off the boat, of course. The standard response is "Nothing happens here."; of all the Zork/Dungeon games, only in Infocom's Zork 3 is "Hello, Sailor" actually useful (excluding the unique situation where _knowing_ this fact is important in Dungeon...). *** Changed in 4.1.0. *** :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. *** Changed in 4.1.0. *** :hung: adj. [from `hung up'; common] Equivalent to {wedged}, but more common at Unix/C sites. Not generally used of people. Syn. with {locked up}, {wedged}; compare {hosed}. See also {hang}. A hung state is distinguished from {crash}ed or {down}, where the program or system is also unusable but because it is not running rather than because it is waiting for something. However, the recovery from both situations is often the same. It is also distinguished from the similar but more drastic state {wedged} - hung software can be woken up with easy things like interrupt keys, but wedged will need a kill -9 or even reboot. *** Changed in 4.1.0. *** :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 1999, 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. *** Changed in 4.1.0. *** :initgame: /in-it'gaym/ n. [IRC] An {IRC} version of the trivia game "Botticelli", 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] *** New in 4.1.0. *** :intro: n. [{demoscene}] Introductory {screen} of some production. 2. A short {demo}, usually showing just one or two {screen}s. 3. Small, usually 64k, 40k or 4k {demo}. Sizes are generally dictated by {compo} rules. See also {dentro}, {demo}. *** New in 4.1.0. *** :jello: n. [Usenet: by analogy with {spam}] A message that is both excessively cross-posted and too frequently posted, as opposed to {spam} (which is merely too frequently posted) or {velveeta} (which is merely excessively cross-posted). This term is widely recognized but not commonly used; most people refer to both kinds of abuse or their combination as spam. *** Changed in 4.1.2. *** :k-: pref. [rare] Extremely. Rare 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 4.1.0. *** :knobs: pl.n. Configurable options, even in software and even those you can't adjust in real time. Anything you can {twiddle} is a knob. "Has this PNG viewer got an alpha knob?" Software may be described as having "knobs and switches" or occasionally "knobs and lights". *** New in 4.1.1. *** :koan: /koh'an/ n. A Zen teaching riddle. Classically, koans are attractive paradoxes to be meditated on; their purpose is to help one to enlightenment by temporarily jamming normal cognitive processing so that something more interesting can happen (this practice is associated with Rinzei Zen Buddhism). Hackers are very fond of the koan form and compose their own koans for humororous and/or enlightening effect. See {Some AI Koans}, {has the X nature}, {hacker humor}. *** New in 4.1.0. *** :lag: n. [MUD, IRC; very common] When used without qualification this is synomous with {netlag}. Curiously, people will often complain "I'm really lagged" when in fact it is their server or network connection that is lagging. *** Changed in 4.1.0, 4.1.0. *** :lamer: n. [prob. originated in skateboarder slang] 1. Synonym for {luser}, not used much by hackers but common among {warez d00dz}, crackers, and {phreaker}s. A person who downloads much, but who never uploads. (Also known as `leecher'). Oppose {elite}. Has the same connotations of self-conscious elitism that use of {luser} does among hackers. 2. Someone who tries to crack a BBS. 3. Someone who annoys the sysop or other BBS users - for instance, by posting lots of silly messages, uploading virus-ridden software, frequently dropping carrier, etc. 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). `Lamer' is also much used in the IRC world in a similar sense to the above. *** Changed in 4.1.0, 4.1.0. *** :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 1999 it looks as though Java has displaced 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. Python, 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}" 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}. *** Changed in 4.1.1. *** :leaf site: n.,obs. Before pervasive TCP/IP, this term was used of a machine that merely originated and read Usenet news or mail, and did not relay any third-party traffic. It was often uttered in a critical tone; when the ratio of leaf sites to backbone, rib, and other relay sites got too high, the network tended to develop bottlenecks. Compare {backbone site}, {rib site}. Now that traffic patterns depend more on the distribution of routers than of host machines this term has largely fallen out of use. *** Changed in 4.1.1, 4.1.2. *** :letterbomb: 1. n. A piece of {email} containing {live data} intended to do nefarious things to the recipient's machine or terminal. It used to be possible, for example, to send letterbombs that would 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; fortunately it has been some years since any of the standard Unix/Internet mail software was vulnerable to such an attack (though, as the Melissa virus attack demonstrated in early 1999, Microsoft systems can have serious problems). See also {Trojan horse}; compare {nastygram}. 2. Loosely, a {mailbomb}. *** New in 4.1.0. *** :link rot: n. The natural decay of web links as the sites they're connected to change or die. Compare {bit rot}. *** Changed in 4.1.0. *** :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'. The creator of the popular science-fiction TV series "Babylon 5" has ties to SF fandom and the hacker culture. In that series, the use of the term `lurker' for a homeless or displaced person is a conscious reference to the jargon term. *** Changed in 4.1.0. *** :macrotape: /mak'roh-tayp/ n. An industry-standard reel of tape. Originally, as opposed to a DEC microtape; nowadays, as opposed to modern QIC and DDS tapes. Syn. {round tape}. *** Changed in 4.1.0. *** :magic: 1. adj. As yet unexplained, or too complicated to explain; compare {automagically} and (Arthur C.) Clarke's Third Law: "Any sufficiently advanced technology is indistinguishable from magic." "TTY echoing is controlled by a large number of magic bits." "This routine magically computes the parity of an 8-bit byte in three instructions." 2. adj. Characteristic of something that works although no one really understands why (this is especially called {black magic}). 3. n. [Stanford] A feature not generally publicized that allows something otherwise impossible, or a feature formerly in that category but now unveiled. 4. n. The ultimate goal of all engineering & development, elegance in the extreme; from the first corollary to Clarke's Third Law: "Any technology distinguishable from magic is insufficiently advanced". For more about hackish `magic', see {Appendix A}. Compare {black magic}, {wizardly}, {deep magic}, {heavy wizardry}. *** Changed in 4.1.0. *** :mainframe: n. Term originally referring to the cabinet containing the central processor unit or `main frame' of a room-filling {Stone Age} batch machine. After the emergence of smaller `minicomputer' designs in the early 1970s, the traditional {big iron} machines were described as `mainframe computers' and eventually just as mainframes. The term carries the connotation of a machine designed for batch rather than interactive use, though possibly with an interactive timesharing operating system retrofitted onto it; it is especially used of machines built by IBM, Unisys, and the other great {dinosaur}s surviving from computing's {Stone Age}. It has been common wisdom among hackers since the late 1980s that the mainframe architectural tradition is essentially dead (outside of the tiny market for {number-crunching} supercomputers (see {cray})), having been swamped by the recent huge advances in IC technology and low-cost personal computing. The wave of failures, takeovers, and mergers among traditional mainframe makers in the early 1990s bore this out. The biggest mainframer of all, IBM, was compelled to re-invent itself as a huge systems-consulting house. (See {dinosaurs mating} and {killer micro}). *** Changed in 4.1.1. *** :mangle: vt. 1. Used similarly to {mung} or {scribble}, but more violent in its connotations; something that is mangled has been irreversibly and totally trashed. 2. To produce the {mangled name} corresponding to a C++ declaration. *** New in 4.1.1. *** :mangled name: n. A name, appearing in a C++ object file, that is a coded representation of the object declaration as it appears in the source. Mangled names are used because C++ allows multiple objects to have the same name, as long as they are distinguishable in some other way, such as by having different parameter types. Thus, the internal name must have that additional information embedded in it, using the limited character set allowed by most linkers. For instance, one popular compiler encodes the standard library function declaration "memchr(const void*,int,unsigned int)" as "@memchr$qpxviui". *** Changed in 4.1.1. *** :marginal: adj. [common] 1. [techspeak] An extremely small change. "A marginal increase in {core} can decrease {GC} time drastically." In everyday terms, this means that it is a lot easier to clean off your desk if you have a spare place to put some of the junk while you sort through it. 2. Of little merit. "This proposed new feature seems rather marginal to me." 3. Of extremely small probability of {win}ning. "The power supply was rather marginal anyway; no wonder it fried." *** Changed in 4.1.2. *** :maximum Maytag mode: n. What a {washing machine} or, by extension, any disk drive is in when it's being used so heavily that it's shaking like an old Maytag with an unbalanced load. If prolonged for any length of time, can lead to disks becoming {walking drives}. In 1999 it's been some years since hard disks were large enough to do this, but the same phenomenon has recently been reported with 24X CD-ROM drives. *** Changed in 4.1.2, 4.1.2. *** :mess-dos: /mes-dos/ n. [semi-obsolescent now that DOS is] Derisory term for MS-DOS. Often followed by the ritual banishing "Just say No!" See {{MS-DOS}}. Most hackers (even many MS-DOS hackers) loathed MS-DOS for its single-tasking nature, its limits on application size, its nasty primitive interface, and its ties to IBMness and Microsoftness (see {fear and loathing}). Also `mess-loss', `messy-dos', `mess-dog', `mess-dross', `mush-dos', and various combinations thereof. In Ireland and the U.K. it is even sometimes called `Domestos' after a brand of toilet cleanser. *** Changed in 4.1.0, 4.1.0, 4.1.2. *** :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. Metasyntactic variables are so called because (1) they are variables in the metalanguage used to talk about programs etc; (2) they are variables whose values are often variables (as in usages usages like "the value of f(foo,bar) is the sum of foo and bar"). However, it has been plausibly suggested that the real reason for the term "metasyntactic variable" is that it sounds good. 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}, jim, sheila, {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/. spam {Python} programmers. 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. *** New in 4.1.1. Changed in 4.1.2. *** :microserf: /mi:'kro-s*rf/ [popularized, though not originated, by Douglas Copeland's book "Microserfs"] A programmer at {Microsoft}, especially a low-level coder with little chance of fame or fortune. Compare {MicroDroid}. *** Changed in 4.1.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 little-endian dd/mm/yy, and Japanese use big-endian yy/mm/dd for Western dates). *** New in 4.1.1. *** :mobo: /moh'bo/ Written and (rarely) spoken contraction of "motherboard" *** Changed in 4.1.1. *** :moby: /moh'bee/ [MIT: seems to have been in use among model railroad fans years ago. Derived from Melville's "Moby Dick" (some say from `Moby Pickle'). Now common.] 1. adj. Large, immense, complex, impressive. "A Saturn V rocket is a truly moby frob." "Some MIT undergrads pulled off a moby hack at the Harvard-Yale game." (See {Appendix A} for discussion.) 2. n. obs. The maximum address space of a machine (see below). For a 680[234]0 or VAX or most modern 32-bit architectures, it is 4,294,967,296 8-bit bytes (4 gigabytes). 3. A title of address (never of third-person reference), usually used to show admiration, respect, and/or friendliness to a competent hacker. "Greetings, moby Dave. How's that address-book thing for the Mac going?" 4. adj. In backgammon, doubles on the dice, as in `moby sixes', `moby ones', etc. Compare this with {bignum} (sense 3): double sixes are both bignums and moby sixes, but moby ones are not bignums (the use of `moby' to describe double ones is sarcastic). Standard emphatic forms: `Moby foo', `moby win', `moby loss'. `Foby moo': a spoonerism due to Richard Greenblatt. 5. The largest available unit of something which is available in discrete increments. Thus, ordering a "moby Coke" at the local fast-food joint is not just a request for a large Coke, it's an explicit request for the largest size they sell. This term entered hackerdom with the Fabritek 256K memory added to the MIT AI PDP-6 machine, which was considered unimaginably huge when it was installed in the 1960s (at a time when a more typical memory size for a timesharing system was 72 kilobytes). Thus, a moby is classically 256K 36-bit words, the size of a PDP-6 or PDP-10 moby. Back when address registers were narrow the term was more generally useful, because when a computer had virtual memory mapping, it might actually have more physical memory attached to it than any one program could access directly. One could then say "This computer has 6 mobies" meaning that the ratio of physical memory to address space is 6, without having to say specifically how much memory there actually is. That in turn implied that the computer could timeshare six `full-sized' programs without having to swap programs between memory and disk. Nowadays the low cost of processor logic means that address spaces are usually larger than the most physical memory you can cram onto a machine, so most systems have much _less_ than one theoretical `native' moby of {core}. Also, more modern memory-management techniques (esp. paging) make the `moby count' less significant. However, there is one series of widely-used chips for which the term could stand to be revived -- the Intel 8088 and 80286 with their incredibly {brain-damaged} segmented-memory designs. On these, a `moby' would be the 1-megabyte address span of a segment/offset pair (by coincidence, a PDP-10 moby was exactly 1 megabyte of 9-bit bytes). *** Changed in 4.1.0. *** :mode bit: n. [common] A {flag}, usually in hardware, that selects between two (usually quite different) modes of operation. The connotations are different from {flag} bit in that mode bits are mainly written during a boot or set-up phase, are seldom explicitly read, and seldom change over the lifetime of an ordinary program. The classic example was the EBCDIC-vs.-ASCII bit (#12) of the Program Status Word of the IBM 360. *** Changed in 4.1.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 may be related to a TV commercial for Del Monte fruit juice, in which one of the characters insisted on "the full Del Monte"; but see the World Wide Words article "The Full Monty" (http://clever.net/quinion/words/articles/monty.htm) for discussion of the rather complex etymology that may lie behind this. Compare American {moby}. *** Changed in 4.1.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}). 4. To add {spamblock} to an email address. 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 4.1.3. *** :nadger: /nad'jr/ v. [UK, from rude slang noun `nadgers' for testicles; compare American & British `bollixed'] 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. See {adger}. *** Changed in 4.1.1. *** :nagware: /nag'weir/ n. [Usenet] The variety of {shareware} that displays a large screen at the beginning or end reminding you to register, typically requiring some sort of keystroke to continue so that you can't use the software in batch mode. Compare {annoyware}, {crippleware}. *** Changed in 4.1.1. *** :naive: adj. 1. Untutored in the perversities of some particular program or system; one who still tries to do things in an intuitive way, rather than the right way (in really good designs these coincide, but most designs aren't `really good' in the appropriate sense). This trait is completely unrelated to general maturity or competence, or even competence at any other specific program. It is a sad commentary on the primitive state of computing that the natural opposite of this term is often claimed to be `experienced user' but is really more like `cynical user'. 2. Said of an algorithm that doesn't take advantage of some superior but advanced technique, e.g., the {bubble sort}. It may imply naivete on the part of the programmer, although there are situations where a naive algorithm is preferred, because it is more important to keep the code comprehensible than to go for maximum performance. "I know the linear search is naive, but in this case the list typically only has half a dozen items." *** Changed in 4.1.0. *** :netdead: n. [IRC] The state of someone who signs off {IRC}, perhaps during a {netburp}, and doesn't sign back on until later. In the interim, he is "dead to the net". Compare {link-dead}. *** Changed in 4.1.1. *** :nethack: /net'hak/ n. [Unix] A dungeon game similar to {rogue} but more elaborate, distributed in C source over {Usenet} and very popular at Unix sites and on PC-class machines (nethack is probably the most widely distributed of the freeware dungeon games). The earliest versions, written by Jay Fenlason and later considerably enhanced by Andries Brouwer, were simply called `hack'. The name changed when maintenance was taken over by a group of hackers originally organized by Mike Stephenson. There is no official page (as of early 1999) but there is a representative one at `http://pinky.wtower.com/nethack/'. See also {moria}, {rogue}, {angband}. *** Changed in 4.1.0. *** :netlag: n. [IRC, MUD] A condition that occurs when the delays in the {IRC} network or on a {MUD} become severe enough that servers briefly lose and then reestablish contact, causing messages to be delivered in bursts, often with delays of up to a minute. (Note that this term has nothing to do with mainstream "jet lag", a condition which hackers tend not to be much bothered by.) Often shortened to just `lag'. *** Changed in 4.1.1. *** :network address: n. (also `net address') As used by hackers, means an address on `the' network (see {the network}; this used to include {bang path} addresses but now almost always implies an {{Internet address}}). 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. Indeed, display of a network address (e.g on business cards) used to function as an important hacker identification signal, like lodge pins among Masons or tie-dyed T-shirts among Grateful Dead fans. In the day of pervasive Internet this is less true, but you can still be fairly sure that anyone with a network address handwritten on his or her convention badge is a hacker. *** Changed in 4.1.0. *** :newgroup wars: /n[y]oo'groop worz/ n. [Usenet] The salvos of dueling `newgroup' and `rmgroup' messages sometimes exchanged by persons on opposite sides of a dispute over whether a {newsgroup} should be created net-wide, or (even more frequently) whether an obsolete one should be removed. These usually settle out within a week or two as it becomes clear whether the group has a natural constituency (usually, it doesn't). At times, especially in the completely anarchic alt hierarchy, the names of newsgroups themselves become a form of comment or humor; e.g., the group alt.swedish.chef.bork.bork.bork which originated as a birthday joke for a Muppets fan, or any number of specialized abuse groups named after particularly notorious {flamer}s, e.g., alt.weemba. *** New in 4.1.0. *** :nugry: /n[y]oo'gree/ [Usenet, 'newbie' + '-gry'] `. n. A {newbie} who posts a {FAQ} in the rec.puzzles newsgroup, especially if it is a variant of the notorious and unanswerable "What, besides `angry' and `hungry', is the third common English word that ends in -GRY?". In the newsgroup, the canonical answer is of course `nugry' itself. Plural is `nusgry' /n[y]oos'gree/. 2. adj. Having the qualities of a nugry. *** Changed in 4.1.1. *** :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}. The more mundane spelling "nibble" is also commonly used. Apparently the `nybble' spelling is uncommon in Commonwealth Hackish, as British orthography would suggest 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 `double word'; 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) 64 bits double word (on a 32-bit machine) 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 4.1.0. *** :off the trolley: adj. Describes the behavior of a program that malfunctions and goes catatonic, but doesn't actually {crash} or abort. See {glitch}, {bug}, {deep space}, {wedged}. This term is much older than computing, and is (uncommon) slang elsewhere. A trolley is the small wheel that trolls, or runs against, the heavy wire that carries the current to run a streetcar. It's at the end of the long pole (the trolley pole) that reaches from the roof of the streetcar to the overhead line. When the trolley stops making contact with the wire (from passing through a switch, going over bumpy track, or whatever), the streetcar comes to a halt, (usually) without crashing. The streetcar is then said to be off the trolley, or off the wire. Later on, trolley came to mean the streetcar itself. Since streetcars became common in the 1890s, the term is more than 100 years old. Nowadays, trolleys are only seen on historic streetcars, since modern streetcars use pantographs to contact the wire. *** New in 4.1.3. *** :on the gripping hand: In the progression that starts "On the one hand..." and continues "On the other hand..." mainstream English may add "on the third hand..." even though most people don't have three hands. Among hackers, it is just as likely to be "on the gripping hand". This metaphor supplied the title of Larry Niven & Jerry Pournelle's 1993 SF novel "The Gripping Hand" which involved a species of hostile aliens with three arms (the same species, in fact, referenced in {juggling eggs}). As with {TANSTAAFL} and {con}, this usage is a naturalized import from SF fandom. *** Changed in 4.1.0. *** :one-liner wars: n. A game popular among hackers who code in the language APL (see {write-only language} and {line noise}). The objective is to see who can code the most interesting and/or useful routine in one line of operators chosen from APL's exceedingly {hairy} primitive set. A similar amusement was practiced among {TECO} hackers and is now popular among {Perl} aficionados. Ken Iverson, the inventor of APL, has been credited with a one-liner that, given a number N, produces a list of the prime numbers from 1 to N inclusive. It looks like this: (2 = 0 +.= T o.| T) / T <- iN where `o' is the APL null character, the assignment arrow is a single character, and `i' represents the APL iota. Here's equivalent {Perl}: perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++' *** New in 4.1.1. *** :open source: n. [common; also adj. `open-source'] Term coined in March 1998 following the Mozilla release to describe software distributed in source under licenses guaranteeing anybody rights to freely use, modify, and redistribute, the code. The intent was to be able to sell the hackers' ways of doing software to industry and the mainstream by avoid the negative connotations (to {suit}s) of the term "free software". For discussion of the followon tactics and their consequences, see the Open Source Initiative (http://www.opensource.org) site. *** New in 4.1.1. *** :overclock: /oh'vr-klok'/ vt. To operate a CPU or other digital logic device at a rate higher than it was designed for, under the assumption that the manufacturer put some {slop} into the specification to account for manufacturing tolerances. Overclocking something can result in intermittent {crash}es, and can even burn things out, since power dissipation is directly proportional to {clock} frequency. People who make a hobby of this are sometimes called "overclockers"; they are thrilled that they can run their 450MHz CPU at 500MHz, even though they can only tell the difference by running a {benchmark} program. *** New in 4.1.0. *** :patch pumpkin: n. [Perl hackers] A notional token passed around among the members of a project. Possession of the patch pumpkin means one has the exclusive authority to make changes on the project's master source tree. The implicit assumption is that `pumpkin holder' status is temporary and rotates periodically among senior project members. This term comes from the Perl development community, but has been sighted elsewhere. It derives from a stuffed-toy pumpkin that was passed around at a development shop years ago as the access control for a shared backup-tape drive. *** Changed in 4.1.1. *** :peek: n.,vt. (and {poke}) The commands in most microcomputer BASICs for directly accessing memory contents at an absolute address; often extended to mean the corresponding constructs in any {HLL} (peek reads memory, poke modifies it). Much hacking on small, non-MMU micros used to consist of `peek'ing around memory, more or less at random, to find the location where the system keeps interesting stuff. Long (and variably accurate) lists of such addresses for various computers circulated (see {{interrupt list}}). The results of `poke's at these addresses may be highly useful, mildly amusing, useless but neat, or (most likely) total {lossage} (see {killer poke}). Since a {real operating system} provides useful, higher-level services for the tasks commonly performed with peeks and pokes on micros, and real languages tend not to encourage low-level memory groveling, a question like "How do I do a peek in C?" is diagnostic of the {newbie}. (Of course, OS kernels often have to do exactly this; a real kernel hacker would unhesitatingly, if unportably, assign an absolute address to a pointer variable and indirect through it.) *** Changed in 4.1.0. *** :phase of the moon: n. Used humorously as a random parameter on which something is said to depend. Sometimes implies unreliability of whatever is dependent, or that reliability seems to be dependent on conditions nobody has been able to determine. "This feature depends on having the channel open in mumble mode, having the foo switch set, and on the phase of the moon." See also {heisenbug}. True story: Once upon a time there was a program bug that really did depend on the phase of the moon. There was a little subroutine that had traditionally been used in various programs at MIT to calculate an approximation to the moon's true phase. GLS incorporated this routine into a LISP program that, when it wrote out a file, would print a timestamp line almost 80 characters long. Very occasionally the first line of the message would be too long and would overflow onto the next line, and when the file was later read back in the program would {barf}. The length of the first line depended on both the precise date and time and the length of the phase specification when the timestamp was printed, and so the bug literally depended on the phase of the moon! The first paper edition of the Jargon File (Steele-1983) included an example of one of the timestamp lines that exhibited this bug, but the typesetter `corrected' it. This has since been described as the phase-of-the-moon-bug bug. However, beware of assumptions. A few years ago, engineers of CERN (European Center for Nuclear Research) were baffled by some errors in experiments conducted with the LEP particle accelerator. As the formidable amount of data generated by such devices is heavily processed by computers before being seen by humans, many people suggested the software was somehow sensitive to the phase of the moon. A few desperate engineers discovered the truth; the error turned out to be the result of a tiny change in the geometry of the 27km circumference ring, physically caused by the deformation of the Earth by the passage of the Moon! This story has entered physics folklore as a Newtonian vengeance on particle physics and as an example of the relevance of the simplest and oldest physical laws to the most modern science. *** New in 4.1.0. *** :pig-tail: [radio hams] A short piece of cable with two connectors on each end for converting between one connector type and another. Common pig-tails are 9-to-25-pin serial-port converters and cables to connect PCMCIA network cards to an RJ-45 network cable. *** New in 4.1.0. *** :ping storm: n. A form of {DoS attack} consisting of a flood of {ping} requests (normally used to check network conditions) designed to disrupt the normal activity of a system. This act is sometimes called `ping lashing' or `ping flood'. Compare {mail storm}, {broadcast storm}. *** New in 4.1.0. *** :pink wire: n. [from the pink PTFE wire used in military equipment] As {blue wire}, but used in military applications. 2. vi. To add a pink wire to a board. *** New in 4.1.0. *** :plug-and-pray: adj.,vi. Parody of the techspeak term `plug-and-play', describing a PC peripheral card which is claimed to have no need for hardware configuration via DIP switches, and which should be work as soon as it is inserted in the PC. Unfortunately, even the PCI bus is not up to pulling this off reliably, and people who have to do installation or troubleshoot PCs soon find themselves longing for the DIP switches. *** New in 4.1.0. *** :pointy-haired: adj. [after the character in the {Dilbert} comic strip] Describes the extreme form of the property that separates {suit}s and {marketroid}s from hackers. Compare {brain-dead}; {demented}; see {PHB}. Always applied to people, never to ideas. The plural form is often used as a noun. "The pointy-haireds ordered me to use Windows NT, but I set up a Linux server with Samba instead." *** New in 4.1.1. *** :pr0n: // [Usenet, IRC] Pornography. Originally this referred only to Internet porn but since then it has expanded to refer to just about anything. The term comes from the {warez kiddies} tendency to replace letters with numbers. At some point on IRC someone mistyped, swapped the middle two letters, and the name stuck, then propagated over into mainstream hacker usage. Compare {filk}, {grilf}, {hing} and {newsfroup}. *** Changed in 4.1.0. *** :prime time: n. [from TV programming] Normal high-usage hours on a system or network. Back in the days of big timesharing machines `prime time' was when lots of people were competing for limited cycles, usually the day shift. Avoidance of prime time was traditionally given as a major reason for {night mode} hacking. The term fell into disuse during the early PC era, but has been revived to refer to times of day or evening at which the Internet tends to be heavily loaded, making Web access slow. The hackish tendency to late-night {hacking run}s has changed not a bit. *** New in 4.1.0. *** :print: v. To output, even if to a screen. If a hacker says that a program "printed a message", he means this; if he refers to printing a file, he probably means it in the conventional sense of writing to a hardcopy device (compounds like `print job' and `printout', on the other hand, always refer to the latter). This very common term is likely a holdover from the days when printing terminals were the norm, perpetuated by programming language constructs like {C}'s printf(3). See senses 1 and 2 of {tty}. *** Changed in 4.1.1. *** :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. 4. The least fun you can have with your clothes off. *** Changed in 4.1.1. *** :proprietary: adj. 1. In {marketroid}-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company's own hardware or software designers. 2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor able to gouge freely on service and upgrade charges after the initial sale has locked the customer in. Often in the phrase "proprietary crap". *** New in 4.1.0. *** :pumpkin holder: n. See {patch pumpkin}. *** New in 4.1.0. *** :pumpking: n. Syn. for {pumpkin holder}; see {patch pumpkin}. *** Changed in 4.1.0. *** :punt: v. [from the punch line of an old joke referring to American football: "Drop back 15 yards and punt!"] 1. To give up, typically without any intention of retrying. "Let's punt the movie tonight." "I was going to hack all night to get this feature in, but I decided to punt" may mean that you've decided not to stay up all night, and may also mean you're not ever even going to put in the feature. 2. More specifically, to give up on figuring out what the {Right Thing} is and resort to an inefficient hack. 3. A design decision to defer solving a problem, typically because one cannot define what is desirable sufficiently well to frame an algorithmic solution. "No way to know what the right form to dump the graph in is -- we'll punt that for now." 4. To hand a tricky implementation problem off to some other section of the design. "It's too hard to get the compiler to do that; let's punt to the runtime system." 5. To knock someone off an Internet or chat connection; a `punter' thus, is a person or program that does this. *** Changed in 4.1.0. *** :quantifiers:: In techspeak and jargon, the standard metric prefixes used in the SI (Syste`me International) conventions for scientific measurement have dual uses. With units of time or things that come in powers of 10, such as money, they retain their usual meanings of multiplication by powers of 1000 = 10^3. But when used with bytes or other things that naturally come in powers of 2, they usually denote multiplication by powers of 1024 = 2^(10). Here are the SI magnifying prefixes, along with the corresponding binary interpretations in common use: prefix decimal binary kilo- 1000^1 1024^1 = 2^10 = 1,024 mega- 1000^2 1024^2 = 2^20 = 1,048,576 giga- 1000^3 1024^3 = 2^30 = 1,073,741,824 tera- 1000^4 1024^4 = 2^40 = 1,099,511,627,776 peta- 1000^5 1024^5 = 2^50 = 1,125,899,906,842,624 exa- 1000^6 1024^6 = 2^60 = 1,152,921,504,606,846,976 zetta- 1000^7 1024^7 = 2^70 = 1,180,591,620,717,411,303,424 yotta- 1000^8 1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176 Here are the SI fractional prefixes: _prefix decimal jargon usage_ milli- 1000^-1 (seldom used in jargon) micro- 1000^-2 small or human-scale (see {micro-}) nano- 1000^-3 even smaller (see {nano-}) pico- 1000^-4 even smaller yet (see {pico-}) femto- 1000^-5 (not used in jargon---yet) atto- 1000^-6 (not used in jargon---yet) zepto- 1000^-7 (not used in jargon---yet) yocto- 1000^-8 (not used in jargon---yet) The prefixes zetta-, yotta-, zepto-, and yocto- have been included in these tables purely for completeness and giggle value; they were adopted in 1990 by the `19th Conference Generale des Poids et Mesures'. The binary peta- and exa- loadings, though well established, are not in jargon use either -- yet. The prefix milli-, denoting multiplication by 1/1000, has always been rare in jargon (there is, however, a standard joke about the `millihelen' -- notionally, the amount of beauty required to launch one ship). See the entries on {micro-}, {pico-}, and {nano-} for more information on connotative jargon use of these terms. `Femto' and `atto' (which, interestingly, derive not from Greek but from Danish) have not yet acquired jargon loadings, though it is easy to predict what those will be once computing technology enters the required realms of magnitude (however, see {attoparsec}). There are, of course, some standard unit prefixes for powers of 10. In the following table, the `prefix' column is the international standard suffix for the appropriate power of ten; the `binary' column lists jargon abbreviations and words for the corresponding power of 2. The B-suffixed forms are commonly used for byte quantities; the words `meg' and `gig' are nouns that may (but do not always) pluralize with `s'. prefix decimal binary pronunciation kilo- k K, KB, /kay/ mega- M M, MB, meg /meg/ giga- G G, GB, gig /gig/,/jig/ Confusingly, hackers often use K or M as though they were suffix or numeric multipliers rather than a prefix; thus "2K dollars", "2M of disk space". This is also true (though less commonly) of G. Note that the formal SI metric prefix for 1000 is `k'; some use this strictly, reserving `K' for multiplication by 1024 (KB is thus `kilobytes'). K, M, and G used alone refer to quantities of bytes; thus, 64G is 64 gigabytes and `a K' is a kilobyte (compare mainstream use of `a G' as short for `a grand', that is, $1000). Whether one pronounces `gig' with hard or soft `g' depends on what one thinks the proper pronunciation of `giga-' is. Confusing 1000 and 1024 (or other powers of 2 and 10 close in magnitude) -- for example, describing a memory in units of 500K or 524K instead of 512K -- is a sure sign of the {marketroid}. One example of this: it is common to refer to the capacity of 3.5" {microfloppies} as `1.44 MB' In fact, this is a completely {bogus} number. The correct size is 1440 KB, that is, 1440 * 1024 = 1474560 bytes. So the `mega' in `1.44 MB' is compounded of two `kilos', one of which is 1024 and the other of which is 1000. The correct number of megabytes would of course be 1440 / 1024 = 1.40625. Alas, this fine point is probably lost on the world forever. [1993 update: hacker Morgan Burke has proposed, to general approval on Usenet, the following additional prefixes: groucho 10^(-30) harpo 10^(-27) harpi 10^(27) grouchi 10^(30) We observe that this would leave the prefixes zeppo-, gummo-, and chico- available for future expansion. Sadly, there is little immediate prospect that Mr. Burke's eminently sensible proposal will be ratified.] [1999 upate: there is an IEC proposal (ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/information-units) for binary multipliers, but no evidence that any of its proposals are in live use.] *** Changed in 4.1.0. *** :random: adj. 1. Unpredictable (closest to mathematical definition); weird. "The system's been behaving pretty randomly." 2. Assorted; undistinguished. "Who was at the conference?" "Just a bunch of random business types." 3. (pejorative) Frivolous; unproductive; undirected. "He's just a random loser." 4. Incoherent or inelegant; poorly chosen; not well organized. "The program has a random set of misfeatures." "That's a random name for that function." "Well, all the names were chosen pretty randomly." 5. In no particular order, though deterministic. "The I/O channels are in a pool, and when a file is opened one is chosen randomly." 6. Arbitrary. "It generates a random name for the scratch file." 7. Gratuitously wrong, i.e., poorly done and for no good apparent reason. For example, a program that handles file name defaulting in a particularly useless way, or an assembler routine that could easily have been coded using only three registers, but redundantly uses seven for values with non-overlapping lifetimes, so that no one else can invoke it without first saving four extra registers. What {randomness}! 8. n. A random hacker; used particularly of high-school students who soak up computer time and generally get in the way. 9. n. Anyone who is not a hacker (or, sometimes, anyone not known to the hacker speaking); the noun form of sense 2. "I went to the talk, but the audience was full of randoms asking bogus questions". 10. n. (occasional MIT usage) One who lives at Random Hall. See also {J. Random}, {some random X}. 11. [UK] Conversationally, a non sequitur or something similarly out-of-the-blue. As in: "Stop being so random!" This sense equates to `hatstand', taken from the Viz comic character "Roger Irrelevant - He's completely Hatstand." *** Changed in 4.1.0. *** :random numbers:: n. When one wishes to specify a large but random number of things, and the context is inappropriate for {N}, certain numbers are preferred by hacker tradition (that is, easily recognized as placeholders). These include the following: 17 Long described at MIT as `the least random number'; see 23. 23 Sacred number of Eris, Goddess of Discord (along with 17 and 5). 42 The Answer to the Ultimate Question of Life, the Universe, and Everything. (Note that this answer is completely fortuitous. `:-)') 69 From the sexual act. This one was favored in MIT's ITS culture. 105 69 hex = 105 decimal, and 69 decimal = 105 octal. Also, 105 is 69 in base 42. 666 The Number of the Beast. For further enlightenment, study the "Principia Discordia", "{The Hitchhiker's Guide to the Galaxy}", "The Joy of Sex", and the Christian Bible (Revelation 13:18). See also {Discordianism} or consult your pineal gland. See also {for values of}. *** Changed in 4.1.0. *** :randomness: n. 1. An inexplicable misfeature; gratuitous inelegance. 2. A {hack} or {crock} that depends on a complex combination of coincidences (or, possibly, the combination upon which the crock depends for its accidental failure to malfunction). "This hack can output characters 40-57 by putting the character in the four-bit accumulator field of an XCT and then extracting six bits -- the low 2 bits of the XCT opcode are the right thing." "What randomness!" 3. Of people, synonymous with `flakiness'. The connotation is that the person so described is behaving weirdly, incompetently, or inappropriately for reasons which are (a) too tiresome to bother inquiring into, (b) are probably as inscrutable as quantum phenomena anyway, and (c) are likely to pass with time. "Maybe he has a real complaint, or maybe it's just randomness. See if he calls back." Despite the negative connotations jargon uses of this term have, it is worth noting that randomness can actually be a valuable resource, very useful for applications in cryptography and elsewhere. Computers are so thoroughly deterministic that they have a hard time generating high-quality randomess, so hackers have sometimes felt the need to built special-purpose contraptions for this purpose alone. One well-known website offers random bits generated by radioactive decay (http://www.fourmilab.ch/hotbits/). Another derives random bits from images of Lava Lite lamps (http://lavarand.sgi.com/). (Hackers invariably find the latter hilarious. If you have to ask why, you'll never get it.) *** New in 4.1.0. *** :rasterbation: n. [portmanteau: raster + masturbation] The gratuituous use of comuputer generated images and effects in movies and graphic art which would have been better without them. Especially employed as a term of abuse by Photoshop/GIMP users and graphic artists. *** New in 4.1.0. *** :reality-distortion field: n. An expression used to describe the persuasive ability of managers like Steve Jobs (the term originated at Apple in the 1980s to describe his peculiar charisma). Those close to these managers become passionately committed to possibly insane projects, without regard to the practicality of their implementation or competitive forces in the marketpace. *** New in 4.1.1. *** :recompile the world: The surprisingly large amount of work that needs to be done as the result of any small but globally visible program change. "The world" may mean the entirety of some huge program, or may in theory refer to every program of a certain class in the entire known universe. For instance, "Add one #define to stdio.h, and you have to recompile the world." This means that any minor change to the standard-I/O header file theoretically mandates recompiling every C program in existence, even if only to verify that the change didn't screw something else up. In practice, you may not actually have to recompile the world, but the implication is that some human cleverness is required to figure out what parts can be safely left out. *** New in 4.1.0. *** :rehi: [IRC, MUD] "Hello again." Very commonly used to greet people upon returning to an IRC channel after {channel hopping}. *** New in 4.1.0. *** :relay rape: n. The hijacking of a third party's unsecured mail server to deliver {spam}. *** New in 4.1.1. Changed in 4.1.2. *** :rip: v. 1. To extract the digital representation of a piece of music from an audio CD. Software that does this is often called a "CD ripper". 2. [Amiga hackers] To extract sound or graphics from a program that they have been compiled/assembled into, or which generates them at run-time. In the case of older Amiga games this entails searching through memory shortly after a reboot. This sense has been in use for many years and probably gave rise to the (now more common) sense 1. *** New in 4.1.0. *** :ripoff: n. Synonym for {chad}, sense 1. *** New in 4.1.0. *** :robocanceller: /roh-boh-kan'sel-*r/ A program that monitors Usenet feeds, attempting to detect and elimnate {spam} by sending appropriate cancel messages . Robocancellers may use the {Breidbart Index} as a trigger. Programming them is not a game for amateurs; see {ARMM}. See also {Dave the Resurrector}. *** Changed in 4.1.0. *** :robot: n. See {bot}. *** Changed in 4.1.0, 4.1.0, 4.1.1. *** :rogue: 1. [Unix] n. A Dungeons-and-Dragons-like game using character graphics, written under BSD Unix and subsequently ported to other Unix systems. The original BSD `curses(3)' screen-handling package was hacked together by Ken Arnold primarily to support games, and the development of `rogue(6)' popularized its use; it has since become one of Unix's most important and heavily used application libraries. Nethack, Omega, Larn, Angband, and an entire subgenre of computer dungeon games (all known as `roguelikes') all took off from the inspiration provided by `rogue(6)'; the popular Windows game Diablo, though graphics-intensive, has very similar play logic. See also {nethack}. 2. [Usenet] adj. An {ISP} which permits net abuse (usually in the form of {spam}ming) by its customers, or which itself engages in such activities. Rogue ISPs are sometimes subject to {IDP}s or {UDP}s. Sometimes deliberately mispelled as "rouge". See also {nethack}, {moria}, {angband}. *** New in 4.1.0. *** :scary devil monastery: n. Anagram frequently used to refer to the newsgroup alt.sysadmin.recovery, which is populated with characters that rather justify the reference. *** Changed in 4.1.0, 4.1.1. *** :scram switch: n. [from the nuclear power industry] An emergency-power-off switch (see {Big Red Switch}), esp. one positioned to be easily hit by evacuating personnel. In general, this is _not_ something you {frob} lightly; these often initiate expensive events (such as Halon dumps) and are installed in a {dinosaur pen} for use in case of electrical fire or in case some luckless {field servoid} should put 120 volts across himself while {Easter egging}. (See also {molly-guard}, {TMRC}.) A correspondent reports a legend that "Scram" is an acronym for "Start Cutting Right Away, Man" (another less plausible variant of this legend refers to "Safety Controil Rod Axe Man"; these are almost certainly both {backronym}s). The story goes that in the earliest nuclear power experiments the engineers recognized the possibility that the reactor wouldn't behave exactly as predicted by their mathematical models. Accordingly, they made sure that they had mechanisms in place that would rapidly drop the control rods back into the reactor. One mechanism took the form of `scram technicians'. These individuals stood next to the cables that raised and lowered the control rods. Equipped with cable-cutters, these technicians stood ready for the (literal) `scram' command. If necessary, they would cut the cables, and gravity would expeditiously return the control rods to the reactor, thereby averting yet another kind of {core dump}. *** New in 4.1.0. *** :screen: n. [Atari ST {demoscene}] One {demoeffect} or one screenful of them. Probably comes from old Sierra-style adventures or shoot-em-ups where one travels from one place to another one screenful at a time. *** New in 4.1.0. Changed in 4.1.0. *** :screen name: n. A {handle} sense 1. This term has been common among users of IRC, MUDs, and commercial on-line services since the mid-1990s. Hackers recognize the term but don't generally use it. *** New in 4.1.0. *** :script kiddies: pl.n. The lowest form of {cracker}; script kiddies do mischief with scripts and programs written by others, often without understanding the {exploit}. *** Changed in 4.1.2. *** :segmentation fault: n. [Unix] 1. [techspeak] An error in which a running program attempts to access memory not allocated to it and {core dump}s with a segmentation violation error. This is often caused by improper usage of pointers in the source code, dereferencing a null pointer, or (in C) inadvertently using a non-pointer variable as a pointer. The classic example is: int i; scanf ("%d", i); /* should have used &i */ 2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement. *** New in 4.1.0. *** :semi-automated: adj. [US Geological Survey] A procedure that has yet to be completely automated; it still requires a smidge of clueful human interaction. Semi-automated programs usually come with written-out operator instructions that are worth their weight in gold - without them, very nasty things can happen. At USGS semi-automated programs are often referred to as "semi-automated weapons". *** New in 4.1.0. *** :sharing violation: [From a file error common to several {OS}s] A response to receiving information, typically of an excessively personal nature, that you were probably happier not knowing. "You know those little noises that Pat makes in bed..?" "Whoa! Sharing violation!" In contrast to the original file error, which indicated that you were _not_ being given data that you _did_ want. *** Changed in 4.1.1. *** :shell out: vi. [Unix] To {spawn} an interactive subshell from within a program (e.g., a mailer or editor). "Bang foo runs foo in a subshell, while bang alone shells out." *** Changed in 4.1.0. *** :shovelware: /shuh'v*l-weir`/ n. 1. Extra software dumped onto a CD-ROM or tape to fill up the remaining space on the medium after the software distribution it's intended to carry, but not integrated with the distribution. 2. A slipshod compilation of software dumped onto a CD-ROM without much care for organization or even usability. *** New in 4.1.0. *** :slashdot effect: n. 1. Also spelled "/. effect"; what is said to have happened when a website being virtually unreachable because too many people are hitting it after the site was mentioned in an interesting article on the popular Slashdot (http://slashdot.org/) news service. The term is quite widely used by /. readers, including variants like "That site has been slashdotted again!" 2. In a perhaps inevitable generation, the term is being used to describe any similar effect from being listed on a popular site. *** Changed in 4.1.0. *** :sneakernet: /snee'ker-net/ n. Term used (generally with ironic intent) for transfer of electronic information by physically carrying tape, disks, or some other media from one machine to another. "Never underestimate the bandwidth of a station wagon filled with magtape, or a 747 filled with CD-ROMs." Also called `Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'; in the 1990s, `Nike network' after a well-known sneaker brand. *** New in 4.1.0. *** :sock puppet: n. [Usenet: from the act of placing a sock over your hand and talking to it and pretending it's talking back] In Usenet parlance, a {pseudo} through which the puppeteer posts follow-ups to their own original message to give the appearance that a number of people support the views held in the original message. *** Changed in 4.1.0, 4.1.1. *** :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). This overlaps with {troll} behavior; the latter more specific term has become more common. 3. To send many identical or nearly-identical messages separately to a large number of Usenet newsgroups. This is more specifically called `ECP', Excessive Cross-Posting. This is one sure way to infuriate nearly everyone on the Net. See also {velveeta} and {jello}. 4. To bombard a newsgroup with multiple copies of a message. This is more specifically called `EMP', Excessive Multi-Posting. 5. To mass-mail unrequested identical or nearly-identical email messages, particularly those containing advertising. Especially used when the mail addresses have been culled from network traffic or databases without the consent of the recipients. Synonyms include {UCE}, {UBE}. 6. Any large, annoying, quantity of output. For instance, someone on IRC who walks away from their screen and comes back to find 200 lines of text might say "Oh no, spam". The later definitions have become much more prevalent as the Internet has opened up to non-techies, and to most people senses 3 4 and 5 are now primary. All three behaviors are considered abuse of the net, and are almost universally grounds for termination of the originator's email account or network connection. In these senses the term `spam' has gone mainstream, though without its original sense or folkloric freight - there is apparently a widespread myth among {luser}s that "spamming" is what happens when you dump cans of Spam into a revolving fan. *** New in 4.1.0. *** :spamblock: /spam'blok/ n. [poss. by analogy to sunblock] Text inserted in an email address to render it invalid and thus useless to spammers. For example, the address `jrandom@hacker.org' might be transformed to `jrandom@NOSPAM.hacker.org'. Adding spamblock to an address is often referred to as `munging' it (see {munge})-. This evasion tactic depends on the fact that most spammers collect names with some sort of {address harvester} on volumes too high to de-mung by hand, but individual humans reading an email message can readily spot and remove a spamblock in the from address. Note: This is not actually a very effective tactic, and may already be passing out of use in early 1999 after about two years of life. In both mail and news, it's essentially impossible to keep a smart address harvester from mining out the addresses in the message header and trace lines. Therefore the only people who can be protected are third parties mentioned by email address in the message - not a common enough case to interest spammers. *** New in 4.1.0. *** :spamhaus: spam'hows n. Pejorative term for an internet service provider that permits or even encourages {spam} mailings from its systems. The plural is `spamhausen'. There is a web page devoted to tracking spamhausen (http://combat.uxn.com/spamhaus.html). The most notorious of the spamhausen was Sanford Wallace's Cyber Promotions Inc., shut down by a lawsuit on 16 October 1997. The anniversary of the shutdown is celebrated on Usenet as Spam Freedom Day, but lesser imitators of the Spamford still infest various murky corners of the net. Since prosecution of spammers became routine under the junk-fax laws and statues specifically targeting spam, spamhausen have declined in relative importance; today, hit-and-run attacks by spammers using {relay rape} and {throwaway account}s on reputable ISPs seem to account for most of the flow. *** New in 4.1.0. *** :spamvertize: v. To advertise using {spam}. Pejorative. *** New in 4.1.0. *** :spangle: n. [UK] The singular of {bells and whistles}. See also {spungle}. *** New in 4.1.0. *** :spawn: n.,vi. 1. [techspeak] In UNIX parlance, to create a child process from within a process. Technically this is a `fork'; the term `spawn' is a bit more general and is used for threads (lightweight processes) as well as traditional heavyweight processes. 2. In gaming, meant to indicate where (`spawn-point') and when a player comes to life (or `re-spawns') after being killed. Opposite of {frag}. *** New in 4.1.0. *** :spider food: n. Keywords embedded (usually invisibly) into a web page to attract search engines (spiders). The intended result of including spider food in one's web page is to insure that the page appears high on the list of matching entries to a search engine query. There are right and wrong ways to do this; the right way is a discreet `meta keywords' tag, the wrong way is to embed many repeats of a keyword in comments (and many search engines now detect and ignore the latter). *** New in 4.1.3. *** :spoiler space: [also `spoiler spoo'] A screenful of blank lines deliberately inserted in a message following a {spoiler} warning, so the actual spoiler can't be seen without hitting a key. *** New in 4.1.0. *** :spoof: vi. To capture, alter, and retransmit a communication stream in a way that misleads the recipient. As used by hackers, refers especially to altering TCP/IP packet source addresses or other packet-header data in order to masquerade as a trusted machine. This term has become very widespread and is borderline techspeak. *** New in 4.1.0. *** :spungle: n. [Durham, UK; portmanteau, {spangle} + bungle] A {spangle} of no actual usefulness. Example: Roger the Bent Paperclip in Microsoft Word '98. A spungle's only virtue is that it looks pretty, unless you find creeping featurism ugly. *** Changed in 4.1.0. *** :suit: n. 1. Ugly and uncomfortable `business clothing' often worn by non-hackers. Invariably worn with a `tie', a strangulation device that partially cuts off the blood supply to the brain. It is thought that this explains much about the behavior of suit-wearers. Compare {droid}. 2. A person who habitually wears suits, as distinct from a techie or hacker. See {pointy-haired}, {burble}, {management}, {Stupids}, {SNAFU principle}, {PHB}, and {brain-damaged}. *** Changed in 4.1.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. Hackers adopted this term early, but many have stopped using it since it went completely mainstream around 1995. The passive, couch-potato connotations that go with TV channel surfing were never pleasant, and hearing non-hackers wax enthusiastic about "surfing the net" tends to make hackers feel a bit as though their home is being overrun by ignorami. *** Changed in 4.1.0. *** :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}) NP no problem 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...') SYN Are you busy? (expects ACK, SYN|ACK, or RST in return; this is modeled on the TCP/IP handshake sequence) 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 4.1.0. *** :tape monkey: n. A junior system administrator, one who might plausibly be assigned to do physical swapping of tapes and subsequent storage. When a backup needs to be restored, one might holler "Tape monkey!" (Compare {one-banana problem}) Also used to dismiss jobs not worthy of a highly trained sysadmin's ineffable talents: "Cable up her PC? You must be joking - I'm no tape monkey." *** New in 4.1.0. *** :tarball: n. [very common; prob. based on the "tar baby" in the Uncle Remus folk tales] An archive, created with the Unix tar(1) utility, containing myriad related files. "Here, I'll just ftp you a tarball of the whole project." Tarballs have been the standard way to ship around source-code distributions since the mid-1980s; in retrospect it seems odd that this term did not enter common usage until the late 1990s. *** New in 4.1.0. *** :teergrube: /teer'groob/ n. [German for `tar pit'] A trap set to punish spammers who use an {address harvester}; a mail server deliberately set up to be really, really slow. To activate it, scatter addresses that look like users on the teergrube's host in places where the address harvester will be trolling (one popular way is to embed the fake address in a Usenet sig block next to a human-readable warning not to send mail to it). The address harvester will dutifully collect the address. When the spammer tries to mailbomb it, his mailer will get stuck. *** Changed in 4.1.0. *** :terminal junkie: n. [UK] A {wannabee} or early {larval stage} hacker who spends most of his or her time wandering the directory tree and writing {noddy} programs just to get a fix of computer time. Variants include `terminal jockey', `console junkie', and {console jockey}. The term `console jockey' seems to imply more expertise than the other three (possibly because of the exalted status of the {{console}} relative to an ordinary terminal). See also {twink}, {read-only user}. Appropriately, this term was used in the works of William S. Burroughs to describe a heroin addict with an unlimited supply. *** New in 4.1.0. Changed in 4.1.1. *** :throwaway account: n. 1. An inexpensive Internet account purchased on a legitimate {ISP} for the the sole purpose of spewing {spam}. 2. An inexpensive Internet account obtained for the sole purpose of doing something which requires a valid email address but being able to ignore spam since the user will not look at the account again. *** New in 4.1.3. *** :thundering herd problem: Scheduler thrashing. This can happen under Unix when you have a number of processes that are waiting on a single event. When that event (a connection to the web server, say) happens, every process which could possibly handle the event is awakened. In the end, only one of those processes will actually be able to do the work, but, in the meantime, all the others wake up and contend for CPU time before being put back to sleep. Thus the system thrashes briefly while a herd of processes thunders through. If this starts to happen many times per second, the performance impact can be significant. This term seems to have been coined in early 1999 to describe an Apache perfornmance problem. *** Changed in 4.1.0. *** :toaster: n. 1. The archetypal really stupid application for an embedded microprocessor controller; often used in comments that imply that a scheme is inappropriate technology (but see {elevator controller}). "{DWIM} for an assembler? That'd be as silly as running Unix on your toaster!" 2. A very, very dumb computer. "You could run this program on any dumb toaster." See {bitty box}, {Get a real computer!}, {toy}, {beige toaster}. 3. A Macintosh, esp. the Classic Mac. Some hold that this is implied by sense 2. 4. A peripheral device. "I bought my box without toasters, but since then I've added two boards and a second disk drive." 5. A specialized computer used as an appliance. See {web toaster}, {video toaster}. *** New in 4.1.0. *** :toor: n. The Bourne-Again Super-user. An alternate account with UID of 0, created on Unix machines where the root user has an inconvenient choice of shell. Compare {avatar}. *** Changed in 4.1.2. *** :topic drift: n. Term used on GEnie, Usenet and other electronic fora to describe the tendency of a {thread} to drift away from the original subject of discussion (and thus, from the Subject header of the originating message), or the results of that tendency. The header in each post can be changed to keep current with the posts, but usually isn't due to forgetfulness or laziness. A single post may often result in several posts each responding to a different point in the original. Some subthreads will actually be in response to some off-the-cuff side comment, possibly degenerating into a {flame war}, or just as often evolving into a separate discussion. Hence, discussions aren't really so much threads as they are trees. Except that they don't really have leaves, or multiple branching roots; usually some lines of discussion will just sort of die off after everyone gets tired of them. This could take anywhere from hours to weeks, or even longer. The term `topic drift' is often used in gentle reminders that the discussion has strayed off any useful track. "I think we started with a question about Niven's last book, but we've ended up discussing the sexual habits of the common marmoset. Now _that's_ topic drift!" *** Changed in 4.1.0, 4.1.0. *** :tourist: n. 1. [ITS] A guest on the system, especially one who generally logs in over a network from a remote location for {comm mode}, email, games, and other trivial purposes. One step below {luser}. ITS hackers often used to spell this {turist}, perhaps by some sort of tenuous analogy with {luser} (this usage may also have expressed the ITS culture's penchant for six-letterisms, and-or been some sort of tribute to Alan Turing). Compare {twink}, {lurker}, {read-only user}. 2. [IRC] An {IRC} user who goes from channel to channel without saying anything; see {channel hopping}. *** Changed in 4.1.0, 4.1.0. *** :troll: v.,n. 1. [From the Usenet group alt.folklore.urban] To utter a posting on {Usenet} designed to attract predictable responses or {flame}s; or, the post itself. 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. 2. An individual who chronically trolls in sense 1; regularly posts specious arguments, flames or personal attacks to a newsgroup, discussion list, or in email for no other purpose than to annoy someone or disrupt a discussion. Trolls are recognizable by the fact that the have no real interest in learning about the topic at hand - they simply want to utter flame bait. Like the ugly creatures they are named after, they exhibit no redeeming characteristics, and as such, they are recognized as a lower form of life on the net, as in, "Oh, ignore him, he's just a troll." 3. [Berkeley] Computer lab monitor. A popular campus job for CS student. Duties include helping newbies and ensuring that lab policies are followed. Probably so-called because it involves lurking in dark cavelike corners. Some people claim that the troll (sense 1) is properly a narrower category than {flame bait}, that a troll is categorized by containing some assertion that is wrong but not overtly controversial. See also {Troll-O-Meter}. *** Changed in 4.1.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, but apparently restored on the 4.4BSD tape and in {Net,Free,Open}BSD. 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] *** Changed in 4.1.0. *** :twink: /twink/ n. 1. [Berkeley] A clue-repellant user; the next step beyond a clueless one. 2. [UCSC] A {read-only user}. Also reported on the Usenet group soc.motss; may derive from gay slang for a cute young thing with nothing upstairs (compare mainstream `chick'). *** Changed in 4.1.0. *** :twirling baton: n. [PLATO] The overstrike sequence -/|\-/|\- which produces an animated twirling baton. If you output it with a single backspace between characters, the baton spins in place. If you output the sequence BS SP between characters, the baton spins from left to right. If you output BS SP BS BS between characters, the baton spins from right to left. This is also occasionally called a twiddle prompt. The twirling baton was a popular component of animated signature files on the pioneering PLATO educational timesharing system. The `archie' Internet service is perhaps the best-known baton program today; it uses the twirling baton as an idler indicating that the program is working on a query. The twirling baton is also used as a boot progress indicator on several BSD variants of Unix; if it stops you're probably going to have a long and trying day. *** New in 4.1.0. Changed in 4.1.1. *** :vanity domain: n. [common; from `vanity plate' as in car license plate] An Internet domain, particularly in the .com or .org top-level domains, apparently created for no reason other than boosting the creator's ego. *** New in 4.1.0. *** :vaston: n. [Durham, UK] The unit of `load average'. A measure of how much work a computer is doing. A meter displaying this as a function of time is known as a `vastometer'. First used in during a computing practical in December 1996. *** Changed in 4.1.3. *** :vaxocentrism: /vak`soh-sen'trizm/ n. [analogy with `ethnocentrism'] A notional disease said to afflict C programmers who persist in coding according to certain assumptions that are valid (esp. under Unix) on {VAXen} but false elsewhere. Among these are: 1. The assumption that dereferencing a null pointer is safe because it is all bits 0, and location 0 is readable and 0. Problem: this may instead cause an illegal-address trap on non-VAXen, and even on VAXen under OSes other than BSD Unix. Usually this is an implicit assumption of sloppy code (forgetting to check the pointer before using it), rather than deliberate exploitation of a misfeature. 2. The assumption that characters are signed. 3. The assumption that a pointer to any one type can freely be cast into a pointer to any other type. A stronger form of this is the assumption that all pointers are the same size and format, which means you don't have to worry about getting the casts or types correct in calls. Problem: this fails on word-oriented machines or others with multiple pointer formats. 4. The assumption that the parameters of a routine are stored in memory, on a stack, contiguously, and in strictly ascending or descending order. Problem: this fails on many RISC architectures. 5. The assumption that pointer and integer types are the same size, and that pointers can be stuffed into integer variables (and vice-versa) and drawn back out without being truncated or mangled. Problem: this fails on segmented architectures or word-oriented machines with funny pointer formats. 6. The assumption that a data type of any size may begin at any byte address in memory (for example, that you can freely construct and dereference a pointer to a word- or greater-sized object at an odd char address). Problem: this fails on many (esp. RISC) architectures better optimized for {HLL} execution speed, and can cause an illegal address fault or bus error. 7. The (related) assumption that there is no padding at the end of types and that in an array you can thus step right from the last byte of a previous component to the first byte of the next one. This is not only machine- but compiler-dependent. 8. The assumption that memory address space is globally flat and that the array reference `foo[-1]' is necessarily valid. Problem: this fails at 0, or other places on segment-addressed machines like Intel chips (yes, segmentation is universally considered a {brain-damaged} way to design machines (see {moby}), but that is a separate issue). 9. The assumption that objects can be arbitrarily large with no special considerations. Problem: this fails on segmented architectures and under non-virtual-addressing environments. 10. The assumption that the stack can be as large as memory. Problem: this fails on segmented architectures or almost anything else without virtual addressing and a paged stack. 11. The assumption that bits and addressable units within an object are ordered in the same way and that this order is a constant of nature. Problem: this fails on {big-endian} machines. 12. The assumption that it is meaningful to compare pointers to different objects not located within the same array, or to objects of different types. Problem: the former fails on segmented architectures, the latter on word-oriented machines or others with multiple pointer formats. 13. The assumption that an `int' is 32 bits, or (nearly equivalently) the assumption that `sizeof(int) == sizeof(long)'. Problem: this fails on PDP-11s, 286-based systems and even on 386 and 68000 systems under some compilers (and on 64-bit systems like the Alpha, of course). 14. The assumption that `argv[]' is writable. Problem: this fails in many embedded-systems C environments and even under a few flavors of Unix. Note that a programmer can validly be accused of vaxocentrism even if he or she has never seen a VAX. Some of these assumptions (esp. 2-5) were valid on the PDP-11, the original C machine, and became endemic years before the VAX. The terms `vaxocentricity' and `all-the-world's-a-VAX syndrome' have been used synonymously. *** Changed in 4.1.0. *** :veeblefester: /vee'b*l-fes`tr/ n. [from the "Born Loser" comix via Commodore; prob. originally from "Mad" Magazine's `Veeblefetzer' parodies beginning in #15, 1954] Any obnoxious person engaged in the (alleged) professions of marketing or management. Antonym of {hacker}. Compare {suit}, {marketroid}. *** New in 4.1.0. *** :velveeta: n. [Usenet: by analogy with {spam}] Also knows as {ECP}; a message that is excessively cross-posted, as opposed to {spam} which is too frequently posted. This term is widely recognized but not commonly used; most people refer to both kinds of abuse as spam. Compare {jello}. *** Changed in 4.1.0, 4.1.1, 4.1.1. *** :vi: /V-I/, _not_ /vi:/ and _never_ /siks/ n. [from `Visual Interface'] A screen editor crufted together by Bill Joy for an early {BSD} release. Became the de facto standard Unix editor and a nearly undisputed hacker favorite outside of MIT until the rise of {EMACS} after about 1984. Tends to frustrate new users no end, as it will neither take commands while expecting input text nor vice versa, and the default setup on older versions provides no indication of which mode the editor is in (years ago, a correspondent reported that he has often heard the editor's name pronounced /vi:l/; there is now a vi clone named `vile'). Nevertheless vi (and variants such as vim and elvis) is still widely used (about half the respondents in a 1991 Usenet poll preferred it), and even EMACS fans often resort to it as a mail editor and for small editing jobs (mainly because it starts up faster than the bulkier versions of EMACS). See {holy wars}. *** New in 4.1.0. *** :video toaster: n. Historically, an Amiga running LightWave and fitted out with a particular line of special video-display hardware from NewTek - long a popular platform at special-effects and video production houses. More generally, any computer system designed specifically for video production and manipulation. Compare {web toaster} and see {toaster}. *** New in 4.1.0. *** :virtual beer: n. Praise or thanks. Used universally in the Linux community. Originally this term signified cash, after a famous incident in which some some Britishers who wanted to buy Linus a beer and sent him money to Finland to do so. *** Changed in 4.1.0. *** :voodoo programming: n. [from George Bush's "voodoo economics"] 1. The use by guess or cookbook of an {obscure} or {hairy} system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with {black magic}, except that black magic typically isn't documented and _nobody_ understands it. Compare {magic}, {deep magic}, {heavy wizardry}, {rain dance}, {cargo cult programming}, {wave a dead chicken}. 2. Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything. *** New in 4.1.0. Changed in 4.1.1, 4.1.2. *** :wall wart: n. A small power-supply brick with integral male plug, designed to plug directly into a wall outlet; called a `wart' because when installed on a power strip it tends to block up at least one more socket than it uses.. These are frequently associated with modems and other small electronic devices which would become unacceptably bulky or hot if they had power supplies on board (there are other reasons as well having to do with the cost of UL certification). *** New in 4.1.1. *** :warez kiddies: n. Even more derogatory way of referring to {warez d00dz}; refers to the fact that most warez d00dz are around the age of puberty. Compare {script kiddies}. *** New in 4.1.0. *** :web toaster: n. A small specialized computer, shipped with no monitor or keyboard or any other external peripherals, pre-configured to be controlled through an Ethernet port and function as a WWW server. Products of this kind (for example the Cobalt Qube) are often about the size of a toaster. See {toaster}; compare {video toaster}. *** New in 4.1.0. *** :webify: n. [MIT] To put a piece of (possibly already existing) material on the WWW. Frequently used for papers ("Why don't you webify all your publications?") or for demos ("They webified their 6.866 final project"). *** Changed in 4.1.0. *** :wedged: adj. 1. To be stuck, incapable of proceeding without help. This is different from having crashed. If the system has crashed, it has become totally non-functioning. If the system is wedged, it is trying to do something but cannot make progress; it may be capable of doing a few things, but not be fully operational. For example, a process may become wedged if it {deadlock}s with another (but not all instances of wedging are deadlocks). See also {gronk}, {locked up}, {hosed}, {hung} (wedged is more severe than {hung}). 2. Often refers to humans suffering misconceptions. "He's totally wedged -- he's convinced that he can levitate through meditation." 3. [Unix] Specifically used to describe the state of a TTY left in a losing state by abort of a screen-oriented program or one that has messed with the line discipline in some obscure way. There is some dispute over the origin of this term. It is usually thought to derive from a common description of recto-cranial inversion; however, it may actually have originated with older `hot-press' printing technology in which physical type elements were locked into type frames with wedges driven in by mallets. Once this had been done, no changes in the typesetting for that page could be made. *** Changed in 4.1.1. *** :well-behaved: adj. 1. [primarily {{MS-DOS}}] Said of software conforming to system interface guidelines and standards. Well-behaved software uses the operating system to do chores such as keyboard input, allocating memory and drawing graphics. Oppose {ill-behaved}. 2. Software that does its job quietly and without counterintuitive effects. Esp. said of software having an interface spec sufficiently simple and well-defined that it can be used as a {tool} by other software. See {cat}. 3. Said of an algorithm that doesn't {crash} or {blow up}, even when given {pathological} input. Implies that the stability of the algorithm is intrinsic, which makes this somewhat different from {bulletproof}. *** New in 4.1.0. *** :whack-a-mole: n. [Usenet] The practice of repeatedly causing spammers' {throwaway account}s and drop boxes to be terminated. Named for the carnival game which involves quickly and repeatedly hitting the heads of mechanical moles with a mallet as they pop up from their holes. *** Changed in 4.1.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". 2. [UK IRC] An explicit on-line no-op equivalent to {humma}. 3. 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"). 4. A pronounciation of the letters "www", as seen in URLs; i.e., www.{foo}.com may be pronounced "wibble dot foo dot com". *** New in 4.1.0. *** :womble: n. [Unisys UK: from British cartoon characters] A user who has great difficulty in communicating their requirements and/or in using the resulting software. Extreme case of {luser}. An especially senior or high-ranking womble is referred to as Great-Uncle Bulgaria. *** Changed in 4.1.3. *** :wumpus: /wuhm'p*s/ n. The central monster (and, in many versions, the name) of a famous family of very early computer games called "Hunt The Wumpus", dating back at least to 1972 (several years before {ADVENT}) on the Dartmouth Time-Sharing System. The wumpus lived somewhere in a cave with the topology of an dodecahedron's edge/vertex graph (later versions supported other topologies, including an icosahedron and Mo"bius strip). The player started somewhere at random in the cave with five `crooked arrows'; these could be shot through up to three connected rooms, and would kill the wumpus on a hit (later versions introduced the wounded wumpus, which got very angry). Unfortunately for players, the movement necessary to map the maze was made hazardous not merely by the wumpus (which would eat you if you stepped on him) but also by bottomless pits and colonies of super bats that would pick you up and drop you at a random location (later versions added `anaerobic termites' that ate arrows, bat migrations, and earthquakes that randomly changed pit locations). This game appears to have been the first to use a non-random graph-structured map (as opposed to a rectangular grid like the even older Star Trek games). In this respect, as in the dungeon-like setting and its terse, amusing messages, it prefigured {ADVENT} and {Zork} and was directly ancestral to the latter (Zork acknowledged this heritage by including a super-bat colony). A C emulation of the original Basic game is available at the Retrocomputing Museum, `http://www.ccil.org/retro'. *** Changed in 4.1.3. *** :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!" It's traditional for xyzzy to be an {Easter egg} in games with text interfaces. 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. *** New in 4.1.0. *** :yellow card: n. See {green card}. *** Changed in 4.1.0. *** :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 is a 16-bit character code intended to cover all of the world's writing systems, including Latin, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Thai, Laotian and many other scripts - support for {elvish} is planned for a future release). ************************* Deleted entries ************************* 4.1.2 (DejaNews suggests it's dead) AOS 4.1.1 (PDP-10 mnemonic; no longer live) CTY 4.1.1 (the OSs that used this are 15 years dead) DEChead 4.1.0 (obs. now that DEC is gone) JFCL 4.1.1 (PDP-10 mnemonic; no longer live) JRST 4.1.1 (PDP-10 mnemonic; no longer live) JR[LN] 4.1.2 (PDP-10 reference; no longer live) NOMEX underwear 4.1.1 (DejaNews suggests it was never live) Open DeathTrap 4.1.0 PIP 4.1.1 (PDP-10 reference; no longer live) Pink-Shirt Book 4.1.1 \begin 4.1.1 (folded into front matter) altmode 4.1.1 (ITS/PDP-10 reference; no longer live) blow away 4.1.1 (mainstream) chine nual 4.1.1 (been dead since the early 1980s) cruncha cruncha cruncha 4.1.1 (DejaNews suggests it's dead) dec 4.1.1 (merged into DEC) double DECkers 4.1.0 (obs. now that DEC is gone) fepped out 4.1.1 (nobody's seen one since LISP machines) microtape 4.1.0 news 4.1.1 (see netnews) pdl 4.1.1 (merged into PDL) pig, run like a 4.1.0 (mainstream) ************************ Statistics ************************ Total entries: 2234 Total new: 190 Total changed: 291 Total deleted: 24 Additions by version: 4.1.0: 152 4.1.1: 22 4.1.2: 4 4.1.3: 12 Changes by version: 4.1.0: 160 4.1.1: 80 4.1.2: 34 4.1.3: 17 New percentage: 9.30% Changed percentage: 14.24% Deleted percentage: 1.17% Total change percentage: 24.71%