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 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0. It was generated on Mon Apr 30 22:33:02 EDT 2001 Some statistics follow the change report. ******************** New and Changed entries ******************** *** New in 4.2.2. *** :-fu: [common; generalized from `kung-fu'] Combining form denoting expert practice of a skill. "That's going to take some serious code-fu." First sighted in connection with the GIMP's remote-scripting facility, script-fu, in 1998. *** Changed in 4.2.0. *** :0: Numeric zero, as opposed to the letter `O' (the 15th letter of the English alphabet). In their unmodified forms they look a lot alike, and various kluges invented to make them visually distinct have compounded the confusion. If your zero is center-dotted and letter-O is not, or if letter-O looks almost rectangular but zero looks more like an American football stood on end (or the reverse), you're probably looking at a modern character display (though the dotted zero seems to have originated as an option on IBM 3270 controllers). If your zero is slashed but letter-O is not, you're probably looking at an old-style ASCII graphic set descended from the default typewheel on the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, curse this arrangement). (Interestingly, the slashed zero long predates computers; Florian Cajori's monumental "A History of Mathematical Notations" notes that it was used in the twelfth and thirteenth centuries.) If letter-O has a slash across it and the zero does not, your display is tuned for a very old convention used at IBM and a few other early mainframe makers (Scandinavians curse _this_ arrangement even more, because it means two of their letters collide). Some Burroughs/Unisys equipment displays a zero with a _reversed_ slash. Old CDC computers rendered letter O as an unbroken oval and 0 as an oval broken at upper right and lower left. And yet another convention common on early line printers left zero unornamented but added a tail or hook to the letter-O so that it resembled an inverted Q or cursive capital letter-O (this was endorsed by a draft ANSI standard for how to draw ASCII characters, but the final standard changed the distinguisher to a tick-mark in the upper-left corner). Are we sufficiently confused yet? *** 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, 4.3.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 U.S. western regional 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. We are informed, however, that rec.skydiving members have maintained a tradition of formation jumps in the shape of an @; picture at `http://www.birdwalk.com/DevilsWorkshop/favorites/source/6.html'. *** 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.2.2. *** :ACK: /ak/ interj. 1. [common; from the ASCII mnemonic for 0000110] Acknowledge. Used to register one's presence (compare mainstream _Yo!_). An appropriate response to {ping} or {ENQ}. 2. [from the comic strip "Bloom County"] An exclamation of surprised disgust, esp. in "Ack pffft!" Semi-humorous. Generally this sense is not spelled in caps (ACK) and is distinguished by a following exclamation point. 3. Used to politely interrupt someone to tell them you understand their point (see {NAK}). Thus, for example, you might cut off an overly long explanation with "Ack. Ack. Ack. I get it now". 4. An affirmative. "Think we ought to ditch that damn NT server for a Linux box?" "ACK!" There is also a usage "ACK?" (from sense 1) meaning "Are you there?", often used in email when earlier mail has produced no reply, or during a lull in {talk mode} to see if the person has gone away (the standard humorous response is of course {NAK} (sense 1), i.e., "I'm not here"). *** Changed in 4.1.0, 4.1.2, 4.2.2, 4.2.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 or Colossal Cave 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 is a Colossal Cave Adventure page (http://people.delphi.com/rickadams/adventure/index.html). *** New in 4.2.0. *** :AFK: [MUD] Abbrev. for "Away From Keyboard". Used to notify others that you will be momentarily unavailable online. eg. "Let's not go kill that frost giant yet, I need to go AFK to make a phone call". Often MUDs will have a command to politely inform others of your absence when they try to talk with you. The term is not restricted to MUDs, however, and has become common in many chat situations, from IRC to Unix talk. *** New in 4.2.0. *** :ANSI standard: /an'see stan'd*rd/ The ANSI standard usage of `ANSI standard' refers to any practice which is typical or broadly done. It's most appropriately applied to things that everyone does that are not quite regulation. For example: ANSI standard shaking of a laser printer cartridge to get extra life from it, or the ANSI standard word tripling in names of usenet alt groups. *** 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, 4.2.0, 4.2.3, 4.2.3. *** :ASCII:: /as'kee/ n. [originally an acronym (American Standard Code for Information Interchange) but now merely conventional] The predominant character set encoding of present-day computers. The standard version uses 7 bits for each character, whereas most earlier codes (including early drafts of ASCII prior to June 1961) 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. A history of ASCII and its ancestors is at `http://www.wps.com/texts/codes/index.html'. 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; not; shriek; ball-bat; . 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: ; amp; amper; and, and sign. Rare: address (from C); reference (from C++); andpersand; bitand; background (from `sh(1)'); pretzel. [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); tic/tac; [angle/right angle]. = Common: ; gets; takes. Rare: quadrathorpe; [half-mesh]. ? Common: query; ; {ques}. Rare: quiz; 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: xor sign, 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]. A balanced pair of these may be called `curlies'. | 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 Tanakh). 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, 4.2.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 examples above, here are three more: (__) (__) (__) (\/) ($$) (**) /-------\/ /-------\/ /-------\/ / | 666 || / |=====|| / | || * ||----|| * ||----|| * ||----|| ~~ ~~ ~~ ~~ ~~ ~~ Satanic cow This cow is a Yuppie Cow in love Finally, here's a magnificent example of ASCII art depicting an Edwardian train station in Dunedin, New Zealand: .-. /___\ |___| |]_[| / I \ JL/ | \JL .-. i () | () i .-. |_| .^. /_\ LJ=======LJ /_\ .^. |_| ._/___\._./___\_._._._._.L_J_/.-. .-.\_L_J._._._._._/___\._./___\._._._ ., |-,-| ., L_J |_| [I] |_| L_J ., |-,-| ., ., JL |-O-| JL L_J%%%%%%%%%%%%%%%L_J JL |-O-| JL JL IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_ -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]- _/\_ ||\\_I_//|| _/\_ [_] []_/_L_J_\_[] [_] _/\_ ||\\_I_//|| _/\_ ||\ |__| ||=/_|_\=|| |__|_|_| _L_L_J_J_ |_|_|__| ||=/_|_\=|| |__| ||- |__| |||__|__||| |__[___]__--__===__--__[___]__| |||__|__||| |__| ||| IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_] \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_] ./ \.L_J/ \L_J./ L_JI I[]/ \[]I IL_J \.L_J/ \L_J./ \.L_J | |L_J| |L_J| L_J| |[]| |[]| |L_J |L_J| |L_J| |L_J |_____JL_JL___JL_JL____|-|| |[]| |[]| ||-|_____JL_JL___JL_JL_____JL_J There is a newsgroup, alt.ascii-art, devoted to this genre; however, see also {warlording}. *** New in 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, 4.2.0, 4.2.3, 4.3.0, 4.3.0. *** :Acme: n. [from Greek `akme', highest point of perfection or achievement] 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 (or American) Company Making Everything. (In fact, Acme was a real brand sold from Sears Roebuck catalogs in the early 1900s.) 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 wooden crates labeled prominently with the Acme name - which, probably not by coincidence, was the trade name of the animation rotation board used by cartoonists since forever. Acme devices invariably malfunctioned in improbable and violent ways. *** Changed in 4.2.2. *** :Ada:: n. A {{Pascal}}-descended language that was at one time made mandatory for Department of Defense software projects by the Pentagon. Hackers are nearly unanimous in observing that, technically, it is precisely what one might expect given that kind of endorsement by fiat; designed by committee, crockish, difficult to use, and overall a disastrous, multi-billion-dollar boondoggle (one common description was "The PL/I of the 1980s"). Hackers find Ada's exception-handling and inter-process communication features particularly hilarious. Ada Lovelace (the daughter of Lord Byron who became the world's first programmer while cooperating with Charles Babbage on the design of his mechanical computing engines in the mid-1800s) would almost certainly blanch at the use to which her name has latterly been put; the kindest thing that has been said about it is that there is probably a good small language screaming to get out from inside its vast, {elephantine} bulk. *** 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.2.0. Changed in 4.2.2. *** :Alice and Bob: n. The archetypal individuals used as examples in discussions of cryptographic protocols. Originally, theorists would say something like: "A communicates with someone who claims to be B, So to be sure, A tests that B knows a secret number K. So A sends to B a random number X. B then forms Y by encrypting X under key K and sends Y back to A" Because this sort of thing is quite hard to follow, theorists stopped using the unadorned letters A and B to represent the main players and started calling them Alice and Bob. So now we say "Alice communicates with someone claiming to be Bob, and to be sure, Alice tests that Bob knows a secret number K. Alice sends to Bob a random number X. Bob then forms Y by encrypting X under key K and sends Y back to Alice". A whole mythology rapidly grew up around the metasyntactic names; see `http://www.conceptlabs.co.uk/alicebob.html'. In Bruce Schneier's definitive introductory text "Applied Cryptography" (2nd ed., 1996, John Wiley & Sons, ISBN 0-471-11709-9) he introduces a table of dramatis personae headed by Alice and Bob. Others include Carol (a participant in three- and four-party protocols), Dave (a participant in four-party protocols), Eve (an eavesdropper), Mallory (a malicious active attacker), Trent (a trusted arbitrator), Walter (a warden), Peggy (a prover) and Victor (a verifier). These names for roles are either already standard or, given the wide popularity of the book, may be expected to quickly become so. *** 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.3. Changed in 4.2.0. *** :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 (who has some really good stuff, but also has a lot of friends), "Bull Gates", and Barney the Dinosaur (but be watchful; Barney has a nasty case of halitosis). There is an official angband home page at `http://www.phial.com/angband' and a zangband one at `http://thangorodrim.angband.org'. See also {Random Number God}. *** 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, 4.3.0. *** :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] BASIC stands for "Beginner's All-purpose Symbolic Instruction Code". Earlier versions of this entry claiming this was a later {backronym} were incorrect. *** 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 to 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. *** Changed in 4.2.1, 4.3.0. *** :BFI: /B-F-I/ n. See {brute force and ignorance}. Also encountered in the variants `BFMI', `brute force and _massive_ ignorance' and `BFBI' `brute force and bloody ignorance'. In some parts of the U.S. this abbreviation was probably reinforced by a company called Browning-Ferris Industries in the waste-management business; a large BFI logo in white-on-blue could be seen on the sides of garbage trucks. *** 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.2.0, 4.2.2. *** :BNF: /B-N-F/ n. 1. [techspeak] Acronym for `Backus Normal Form' (later retronymed to `Backus-Naur Form' because BNF was not in fact a normal form), a metasyntactic notation used to specify the syntax of programming languages, command sets, and the like. Widely used for language descriptions but seldom documented anywhere, so that it must usually be learned by osmosis from other hackers. Consider this BNF for a U.S. postal address: ::= ::= | "." ::= [] | ::= [] ::= "," This translates into English as: "A postal-address consists of a name-part, followed by a street-address part, followed by a zip-code part. A personal-part consists of either a first name or an initial followed by a dot. A name-part consists of either: a personal-part followed by a last name followed by an optional `jr-part' (Jr., Sr., or dynastic number) and end-of-line, or a personal part followed by a name part (this rule illustrates the use of recursion in BNFs, covering the case of people who use multiple first and middle names and/or initials). A street address consists of an optional apartment specifier, followed by a street number, followed by a street name. A zip-part consists of a town-name, followed by a comma, followed by a state code, followed by a ZIP-code followed by an end-of-line." Note that many things (such as the format of a personal-part, apartment specifier, or ZIP-code) are left unspecified. These are presumed to be obvious from context or detailed somewhere nearby. See also {parse}. 2. Any of a number of variants and extensions of BNF proper, possibly containing some or all of the {regexp} wildcards such as `*' or `+'. In fact the example above isn't the pure form invented for the Algol-60 report; it uses `[]', which was introduced a few years later in IBM's PL/I definition but is now universally recognized. 3. In {{science-fiction fandom}}, a `Big-Name Fan' (someone famous or notorious). Years ago a fan started handing out black-on-green BNF buttons at SF conventions; this confused the hacker contingent terribly. *** 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://bofh.ntk.net/Bastard.html). BOFHs and BOFH wannabes hang out on {scary devil monastery} and wield {LART}s. *** Changed in 4.2.0, 4.2.1, 4.2.1. *** :BSD: /B-S-D/ n. [abbreviation for `Berkeley Software Distribution'] a family of {{Unix}} versions for the {DEC} {VAX} and PDP-11 developed by Bill Joy and others at {Berzerkeley} starting around 1977, incorporating paged virtual memory, TCP/IP networking enhancements, and many other features. The BSD versions (4.1, 4.2, and 4.3) and the commercial versions derived from them (SunOS, ULTRIX, and Mt. Xinu) held the technical lead in the Unix world until AT&T's successful standardization efforts after about 1986; descendants including Free/Open/NetBSD, BSD/OS and MacOS X are still widely popular. Note that BSD versions going back to 2.9 are often referred to by their version numbers alone, without the BSD prefix. See {4.2}, and {{Unix}}. *** New in 4.1.0. *** :BSOD: /B-S-O-D/ 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. Changed in 4.2.2, 4.2.3, 4.2.3. *** :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; they are also in use at Oxford, and the emphatic form "Evil and Bad and Wrong" (abbreviated EBW) is reported from there. 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.2.3. *** :Batman factor: n. 1. An integer number representing the number of items hanging from a {batbelt}. In most settings, a Batman factor of more than 3 is not acceptable without odd stares and whispering. This encourages the hacker in question to choose items for the batbelt carefully to avoid awkward social situations, usually amongst non-hackers. 2. A somewhat more vaguely defined index of contribution to sense 1. Devices that are especially obtrusive, such as large, older model cell phones, "Pocket" PC devices and walkie talkies are said to have a high batman factor. Sleeker devices such as a later-model Palm or StarTac phone are prized for their low batman factor and lessened obtrusiveness and weight. *** New in 4.1.0. Changed in 4.2.0, 4.2.3. *** :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. The Befunge home page is at `http://www.catseye.mb.ca/esoteric/befunge/'. *** Changed in 4.3.0. *** :Blue Glue: n. [IBM; obs.] IBM's SNA (Systems Network Architecture), an incredibly {losing} and {bletcherous} communications protocol once widely favored at commercial shops that didn't know any better (like other proprietary networking protocols, it became obsolete and effectively disappeared after the Internet explosion c.1994). The official IBM definition is "that which binds blue boxes together." See {fear and loathing}. It may not be irrelevant that Blue Glue is the trade name of a 3M product that is commonly used to hold down the carpet squares to the removable panel floors common in {dinosaur pen}s. A correspondent at U. Minn. reports that the CS department there has about 80 bottles of the stuff hanging about, so they often refer to any messy work to be done as `using the blue glue'. *** New in 4.1.0. Changed in 4.1.1, 4.2.2. *** :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, misbehaving applications can readily crash the OS (and the OS sometimes crashes itself spontaneously). The Blue Screen of Death, sometimes decorated with hex error codes, is what you get when this happens. (Commonly abbreviated {BSOD}.) 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: Windows NT crashed. I am the Blue Screen of Death No one hears your screams. *** New in 4.2.0. *** :BogoMIPS: /bo'go-mips/ n. The number of million times a second a processor can do absolutely nothing. The {Linux} OS measures BogoMIPS at startup in order to calibrate some soft timing loops that will be used later on; details at the BogoMIPS mini-HOWTO (http://www.clifton.nl/~clifton). The name Linus chose, of course, is an ironic comment on the uselessness of all _other_ {MIPS} figures. *** New in 4.1.0. Changed in 4.1.1, 4.2.2. *** :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 "You will be assimilated. Resistance is futile." 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}. In IETF circles, where direct pressure from Microsoft is not a daily reality, the Borg is sometimes Cisco. This usage commemmorates their tendency to pay any price to hire talent away from their competitors. In fact, at the Spring 1997 IETF, a large number of ex-Cisco employees, all former members of Routing Geeks, showed up with t-shirts printed with "Recovering Borg". *** 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}. *** New in 4.2.2. *** :C&C: // [common, esp. on news.admin.net-abuse.email] Contraction of "Coffee & Cats". This frequently occurs as a warning label on USENET posts that are likely to cause you to {snarf} coffee onto your keyboard and startle the cat off your lap. *** 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 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, 4.3.0. *** :Camel Book: n. Universally recognized nickname for the book "Programming Perl", by Larry Wall and Randal L. Schwartz, O'Reilly and Associates 1991, ISBN 0-937175-64-1 (second edition 1996, ISBN 1-56592-149-6; third edition 2000, 0-596-00027-8). 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, 4.2.2. *** :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/). 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!"). All the generic differences within the anglophone world inevitably show themselves in the associated hackish dialects. The Greek letters beta and zeta are usually pronounced /bee't*/ and /zee't*/; meta may also be pronounced /mee't*/. Various punctuators (and even letters - Z is called `zed', not `zee') are named differently: most crucially, for hackish, where Americans use `parens', `brackets' and `braces' for (), [] and {}, Commonwealth English uses `brackets', `square brackets' and `curly brackets', though `parentheses' may be used for the first; the exclamation mark, `!', is called pling rather than bang and the pound sign, `#', is called hash; furthermore, the term `the pound sign' is understood to mean the pound currency symbol (of course). 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}, {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. *** New in 4.3.0. *** :DMZ: [common] Literally, De-Militarized Zone. Figuratively, the portion of a private network that is visible through the network's firewalls (see {firewall machine}). Coined in the late 1990s as jargon, this term is now borderline techspeak. *** New in 4.2.3. *** :DSW: n. [alt.(sysadmin|tech-support).recovery; abbrev. for `Dick Size War'] A contest between two or more people boasting about who has the faster machine, keys on (either physical or cryptographic) keyring, greyer hair, or almost anything. Salvos in a DSW are typicaly humorous and playful, often self-mocking. *** 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. *** Changed in 4.3.0. *** :Death Square: n. The corporate logo of Novell, the people who acquired USL after AT&T let go of it (Novell eventually sold the Unix group to SCO). Coined by analogy with {Death Star}, because many people believed Novell was bungling the lead in Unix systems exactly as AT&T did for many years. [They were right --ESR] *** New in 4.1.0. Changed in 4.2.1, 4.2.2. *** :DoS attack: // [Usenet,common; 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}, or to flood network links with large amounts of traffic, or to flood network links with large amounts of traffic, often by abusing network broadcast addresses. Compare {slashdot effect}. *** Changed in 4.2.2. *** :Don't do that then!: imp. [from an old doctor's office joke about a patient with a trivial complaint] Stock response to a user complaint. "When I type control-S, the whole system comes to a halt for thirty seconds." "Don't do that, then!" (or "So don't do that!"). Compare {RTFM}. Here's a classic example of "Don't do that then!" from Neal Stephenson's "In The Beginning Was The Command Line". A friend of his built a network with a load of Macs and a few high-powered database servers. He found that from time to time the whole network would lock up for no apparent reason. The problem was eventually tracked down to MacOS's cooperative multitasking: when a user held down the mouse button for too long, the network stack wouldn't get a chance to run... *** Changed in 4.2.0, 4.3.0. *** :Dr. Fred Mbogo: /*m-boh'goh, dok'tr fred/ n. [Stanford] The archetypal man you don't want to see about a problem, esp. an incompetent professional; a shyster. "Do you know a good eye doctor?" "Sure, try Mbogo Eye Care and Professional Dry Cleaning." The name comes from synergy between {bogus} and the original Dr. Mbogo, a witch doctor who was Gomez Addams' physician on the old "Addams Family" TV show. Interestingly enough, it turns out that under the rules for Swahili noun classes, `m-' is the characteristic prefix of "nouns referring to human beings". As such, "mbogo" is quite plausible as a Swahili coinage for a person having the nature of a {bogon}. Actually, "mbogo" is indeed a Ki-Swahili word referring to the African Cape Buffalo, Syncerus caffer. It is one of the "big five" dangerous African game animals, and many people with bush experience believe it to be the most dangerous of them. Compare {Bloggs Family} and {J. Random Hacker}; see also {Fred Foobar} and {fred}. *** 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 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. *** Changed in 4.2.0, 4.2.2. *** :English: 1. n. obs. The source code for a program, which may be in any language, as opposed to the linkable or executable binary produced from it by a compiler. The idea behind the term is that to a real hacker, a program written in his favorite programming language is at least as readable as English. Usage: mostly by old-time hackers, though recognizable in context. Today the preferred shorthand is simply {source}. 2. The official name of the database language used by the old Pick Operating System, actually a sort of crufty, brain-damaged SQL with delusions of grandeur. The name permitted {marketroid}s to say "Yes, and you can program our computers in English!" to ignorant {suit}s without quite running afoul of the truth-in-advertising laws. *** 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 though not common use until 1998 and the invention of {open source}, after which it became swiftly obsolete. *** 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.2.3, 4.3.0. *** :Finagle's Law: n. The generalized or `folk' version of {Murphy's Law}, fully named "Finagle's Law of Dynamic Negatives" and usually rendered "Anything that can go wrong, will". May have been first published by Francis P. Chisholm in his 1963 essay "The Chisholm Effect", later reprinted in the classic anthology "A Stress Analysis Of A Strapless Evening Gown: And Other Essays For A Scientific Eye" (Robert Baker ed, Prentice-Hall, ISBN 0-13-852608-7). The label `Finagle's Law' was popularized by SF author Larry Niven in several stories depicting a frontier culture of asteroid miners; this `Belter' culture professed a religion and/or running joke involving the worship of the dread god Finagle and his mad prophet Murphy. Some technical and scientific cultures (e.g., paleontologists) know it under the name `Sod's Law'; this usage may be more common in Great Britain. One variant favored among hackers is "The perversity of the Universe tends towards a maximum"; Niven specifically referred to this as O'Toole's Corollary of Finagle's Law. See also {Hanlon's Razor}. *** 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.2.3. *** :Frankenputer: n. 1. A mostly-working computer thrown together from the spare parts of several machines out of which the {magic smoke} had been let. Most shops have a closet full of nonworking machines. When a new machine is needed immediately (for testing, for example) and there is no time (or budget) to requisition a new box, someone (often an intern) is tasked with building a Frankenputer. 2. Also used in referring to a machine that once was a name-brand computer, but has been upgraded long beyond its useful life, to the point at which the nameplate violates truth-in-advertising laws (e.g., a Pentium II-class machine inexplicably living in a case marked "Gateway 486/66"). *** 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.2.3. *** :GNUMACS: /gnoo'maks/ n. [contraction of `GNU EMACS'] Often-heard abbreviated name for the {GNU} project's flagship tool, {EMACS}. `StallMACS', referring to Richard Stallman, is less common but also heard. Used esp. in contrast with {GOSMACS} and X Emacs. *** Changed in 4.2.0. *** :GOSMACS: /goz'maks/ n. [contraction of `Gosling EMACS'] The first {EMACS}-in-C implementation, predating but now largely eclipsed by {GNUMACS}. Originally freeware; a commercial version was modestly popular as `UniPress EMACS' during the 1980s. The author, James Gosling, went on to invent {NeWS} and the programming language Java; the latter earned him {demigod} status. *** Changed in 4.2.2. *** :GPL: /G-P-L/ n. Abbreviation for `General Public License' in widespread use; see {copyleft}, {General Public Virus}. Often mis-expanded as `GNU Public License'. *** New in 4.2.2. *** :Gates's Law: "The speed of software halves every 18 months." This oft-cited law is an ironic comment on the tendency of software bloat to outpace the every-18-month doubling in hardware caopacity per dollar predicted by {Moore's Law}. The reference is to Bill Gates; Microsoft is widely considered among the worst if not the worst of the perpetrators of bloat. *** Changed in 4.1.0, 4.1.1, 4.2.0. *** :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 anti-proprietary 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.2.2. *** :Godwin's Law: prov. [Usenet] "As a Usenet discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one." There is a tradition in many groups that, once this occurs, that thread is over, and whoever mentioned the Nazis has automatically lost whatever argument was in progress. Godwin's Law thus practically guarantees the existence of an upper bound on thread length in those groups. However there is also a widely- recognized codicil that any _intentional_ triggering of Godwin's Law in order to invoke its thread-ending effects will be unsuccessful. *** Changed in 4.2.0. *** :Good Thing: n.,adj. [very common; often capitalized; always pronounced as if capitalized.] 1. Self-evidently wonderful to anyone in a position to notice: "A language that manages dynamic memory automatically for you is a Good Thing." 2. Something that can't possibly have any ill side-effects and may save considerable grief later: "Removing the self-modifying code from that shared library would be a Good Thing." 3. When said of software tools or libraries, as in "YACC is a Good Thing", specifically connotes that the thing has drastically reduced a programmer's work load. Oppose {Bad Thing}. *** 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.vrx.net/usenet/history/rename.html) 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.2.0. *** :HAND: // [Usenet: very common] Abbreviation: Have A Nice Day. Typically used to close a {Usenet} posting, but also used to informally close emails; often preceded by {HTH}. *** New in 4.2.0. *** :HTH: // [Usenet: very common] Abbreviation: Hope This Helps (e.g. following a response to a technical question). Often used just before {HAND}. See also {YHBT}. *** 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/) 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.3.0. *** :Hed Rat: Unflattering anagram of Red Hat, a popular {Linux} distribution. Compare {Telerat}; see also {AIDX}, {Macintrash} {Nominal Semidestructor}, {ScumOS}, {sun-stools}, {HP-SUX}, {Slowlaris}. *** New in 4.1.0. *** :IANAL: // [Usenet] Abbreviation, "I Am Not A Lawyer". Usually precedes legal advice. *** Changed in 4.1.0, 4.3.0. *** :IBM: /I-B-M/ Once upon a time, the computer company most hackers loved to hate; today, the one they are most puzzled to find themselves liking. From hackerdom's beginnings in the mid-1960s to the early 1990s, IBM was regarded with active loathing. Common expansions of the corporate name included: 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 (see also {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 counted against them), but that the designs were incredibly archaic, {crufty}, and {elephantine} ... and you couldn't _fix_ them -- source code was locked up tight, and programming tools were expensive, hard to find, and bletcherous to use once you had found them. We didn't know how good we had it back then. In the 1990s, Microsoft became more noxious and omnipresent than IBM had ever been. Then, in the 1980s IBM had its own troubles with Microsoft and lost its strategic way, receding from the hacker community's view. 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 staunch friend of the hacker community and {open source} development. This lexicon includes a number of entries attributed to `IBM'; these derive from some rampantly unofficial jargon lists circulated within IBM's formerly 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 deal 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/~esr/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.2.2, 4.2.2, 4.2.3. *** :ISO standard cup of tea: n. [South Africa] A cup of tea with milk and one teaspoon of sugar, where the milk is poured into the cup before the tea. Variations are ISO 0, with no sugar; ISO 2, with two spoons of sugar; and so on. This may derive from the "NATO standard" cup of coffee and tea (milk and two sugars), military slang going back to the late 1950s and parodying NATO's relentless bureacratic drive to standardize parts across European and U.S. militaries. Like many ISO standards, this one has a faintly alien ring in North America, where hackers generally shun the decadent British practice of adulterating perfectly good tea with dairy products and prefer instead to add a wedge of lemon, if anything. If one were feeling extremely silly, one might hypothesize an analogous `ANSI standard cup of tea' and wind up with a political situation distressingly similar to several that arise in much more serious technical contexts. (Milk and lemon don't mix very well.) [2000 update: There is now, in fact, an ISO standard 3103: `Method for preparation of a liquor of tea for use in sensory tests.', alleged to be equivalent to British Standard BS6008: `How to make a standard cup of tea.' - ESR] *** 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}. *** New in 4.3.0. *** :Indent-o-Meter: [] A fiendishly clever ASCII display hack that became a brief fad in 1993-1994; it used combinations of tabs and spaces to produce an analog indicator of the amount of indentation an included portion of a reply had undergone. The full story is at `http://world.std.com/~mmcirvin/indent.html'. *** Changed in 4.1.0, 4.2.2. *** :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". On 1 April 2000 the usage acquired its own Internet standard, RFC2795 (http://www.ietf.org/rfc/rfc2795.txt) (Infinite Monkey Protocol Suite). *** 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 open-source 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 being written. There is a home page at `http://www.csd.uwo.ca/Infocom/', and it is even possible to play these games in your browser (http://www.xs4all.nl/~pot/infocom/) if it is Java-capable. *** New in 4.3.0. *** :InterCaps: [Great Britain] Synonym for {BiCapitalization}. *** 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 Exploder: [very common] Pejorative hackerism for Microsoft's "Internet Explorer" web browser (also "Internet Exploiter"). Compare {HP-SUX}, {AIDX}, {buglix}, {Macintrash}, {Telerat}, {ScumOS}, {sun-stools}, {Slowlaris}. *** New in 4.1.0. *** :Internet Exploiter: n. Another common name-of-insult for Internet Explorer, Microsoft's overweight Web Browser; more hostile than {Internet Exploder}. Reflects widespread hostility to Microsoft and a sense that it is seeking to hijack, monopolize, 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 in 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 2001, 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. *** New in 4.2.2. *** :Jeff K.: The spiritual successor to {B1FF} and the archetype of {script kiddies}. Jeff K. is a sixteen-year-old suburbanite who fancies himself a "l33t haX0r", although his knowledge of computers seems to be limited to the procedure for getting Quake up and running. His Web page `http://www.somethingawful.com/jeffk' features a number of hopelessly naive articles, essays, and rants, all filled with the kind of misspellings, {studlycaps}, and number-for-letter substitutions endemic to the script kiddie and {warez d00dz} communities. Jeff's offerings, among other things, include hardware advice (such as "AMD VERSIS PENTIUM" and "HOW TO OVARCLOAK YOUR COMPUTAR"), his own Quake clan (Clan 40 OUNSCE), and his own comic strip (Wacky Fun Computar Comic Jokes). Like B1FF, Jeff K. is (fortunately) a hoax. Jeff K. was created by internet game journalist Richard "Lowtax" Kyanka, whose web site Something Awful (http://www.somethingawful.com) highlights unintentionally humorous news items and Web sites, as a parody of the kind of teenage {luser} who infests Quake servers, chat rooms, and other places where computer enthusiasts congregate. He is well-recognized in the PC game community and his influence has spread to hacker {fora} like Slashdot as well. *** Changed in 4.2.0. *** :KIBO: /ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out. A summary of what happens whenever valid data is passed through an organization (or person) that deliberately or accidentally disregards or ignores its significance. Consider, for example, what an advertising campaign can do with a product's actual specifications. Compare {GIGO}; see also {SNAFU principle}. 2. James Parry , a Usenetter infamous for various surrealist net.pranks and an uncanny, machine-assisted knack for joining any thread in which his nom de guerre is mentioned. He has a website at `http://www.kibo.com/'. *** New in 4.3.0. *** :KLB: n. [common among Perl hackers ] Known Lazy Bastard. Used to describe somebody who perpeptually asks questions which are easily answered by refering to the reference material or manual. *** 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.2.3. *** :Kool Aid, to drink the: [from a kid's sugar-enriched drink in fruity flavors] When someone who should know better succumbs to marketing influences and actually begins to believe the propaganda being dished out by a vendor. Usually the decortication process is slow and almost unnoticeable until one day the victim emerges as a True Believer and begins spreading the faith himself. The term originates in the suicide of 914 followers of Jim Jones's People's Temple cult in Guiana in 1978. What they actually drank was cyanide-laced Flavor-Aid, a cheap knockoff rather than Kool-Aid itself. There is a http://www.cs.ruu.nl/wais/html/na-dir/food/kool-aid-faq.html (FAQ) on this topic *** New in 4.2.3. *** :LAN party: /lan par'tee/ An event to which several users bring their boxes and hook them up to a common LAN (Local Area Network), often for the purpose of playing multiplayer computer games, especially action games such as Quake or Unreal Tournament. This is also a good venue for people to show-off their fancy new hardware. Such events can get pretty large, several hundred people attend the annual QuakeCon in Texas. The theoretical rationale behind LAN parties is that playing over the Internet often introduces too much lag in the playing experience - but just as important is the special quality of trash-talking each other across the room while playing, and the instinctive social ritual of consuming vast amounts of food and drink together. *** 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, 4.2.0, 4.2.1, 4.3.0. *** :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 /li'nuhks/ is preferred because the name `Linus' has an /ee/ sound in Swedish (Linus's family is part of Finland's 6% ethnic-Swedish minority) and Linus considers English short /i/ to be closer to /ee/ than English long /i:/. 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 2001, Linux is seriously challenging Microsoft's OS dominance. It has already captured 31% of the Internet-server market and 25% of general business servers. 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}. (Some people object that the name `Linux' should be used to refer only to the kernel, not the entire operating system. This claim is a proxy for an underlying territorial dispute; people who insist on the term `GNU/Linux' want the {FSF} to get most of the credit for Linux because RMS and friends wrote many of its user-level tools. Neither this theory nor the term `GNU/Linux' has gained more than minority acceptance). *** Changed in 4.1.0, 4.3.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.] [1998 update: John Lions's death was an occasion of general mourning in the hacker community.] *** 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 competing 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".) *** Changed in 4.2.0, 4.3.0. *** :MIPS: /mips/ n. [abbreviation] 1. A measure of computing speed; formally, `Million Instructions Per Second' (that's 10^6 per second, not 2^(20)!); often rendered by hackers as `Meaningless Indication of Processor Speed' or in other unflattering ways, such as `Meaningless Information Provided by Salesmen'. This joke expresses an attitude nearly universal among hackers about the value of most {benchmark} claims, said attitude being one of the great cultural divides between hackers and {marketroid}s (see also {BogoMIPS}). The singular is sometimes `1 MIP' even though this is clearly etymologically wrong. See also {KIPS} and {GIPS}. 2. Computers, especially large computers, considered abstractly as sources of {computron}s. "This is just a workstation; the heavy MIPS are hidden in the basement." 3. The corporate name of a particular RISC-chip company. 4. Acronym for `Meaningless Information per Second' (a joke, prob. from sense 1). *** 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). *** New in 4.3.0. *** :McQuary limit: 4 lines of at most 80 characters each, sometimes still cited on Usenet as the maximum acceptable size of a {sig block}. Before the great bandwidth explosion of the early 1990s, long sigs actually cost people running Usenet servers significant amounts of money. Nowadays social pressure against long sigs is intended to avoid waste of human attention rather than machine bandwidth. Accordingly, the McQuary limit should be considered a rule of thumb rather than a hard limit; it's best to avoid sigs that are large, repetitive, and distracting. See also {warlording}. *** 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 than you if you rest on your laurels, so you'd better start pushing hard on the problem. See also {Parkinson's Law of Data} and {Gates's Law}. *** Changed in 4.1.0, 4.2.3. *** :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, but the last one (a Canadian military site) was decomissioned in November 2000. 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. *** Changed in 4.2.3. *** :NSA line eater: n. The National Security Agency trawling program sometimes assumed to be reading the net for the U.S. Government's spooks. Most hackers used to think it was mythical but believed in acting as though existed just in case. Since the mid-1990s it has gradually become known that the NSA actually does this, quite illegally, through its Echelon program. The standard countermeasure is to put loaded phrases like `KGB', `Uzi', `nuclear materials', `Palestine', `cocaine', and `assassination' in their {sig block}s in a (probably futile) attempt to confuse and overload the creature. The {GNU} version of {EMACS} actually has a command that randomly inserts a bunch of insidious anarcho-verbiage into your edited text. As far back as the 1970s there was a mainstream variant of this myth involving a `Trunk Line Monitor', which supposedly used speech recognition to extract words from telephone trunks. This is much harder than noticing keywords in email, and most of the people who originally propagated it had no idea of then-current technology or the storage, signal-processing, or speech recognition needs of such a project. On the basis of mass-storage costs alone it would have been cheaper to hire 50 high-school students and just let them listen in. Twenty years and several orders of technological magnitude later, however, there are clear indications that the NSA has actually deployed such filtering (again, very much against U.S. law). In 2000, the FBI wants to get into this act with its `Carnivore' surveillance system. *** New in 4.1.0. Changed in 4.2.0. *** :Netscrape: n. [sometimes elaborated to `Netscrape Fornicator', also `Nutscrape'] 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." *** Changed in 4.3.0. *** :OS/2: /O S too/ n. The anointed successor to MS-DOS for Intel 286- and 386-based micros; proof that IBM/Microsoft couldn't get it right the second time, either. Often called `Half-an-OS'. Mentioning it is usually good for a cheap laugh among hackers -- the design was so {baroque}, and the implementation of 1.x so bad, that 3 years after introduction you could still count the major {app}s shipping for it on the fingers of two hands -- in unary. The 2.x versions were said to have improved somewhat, and informed hackers rated them superior to Microsoft Windows (an endorsement which, however, could easily be construed as damning with faint praise). In the mid-1990s IBM put OS/2 on life support, refraining from killing it outright purely for internal political reasons; by 1999 the success of {Linux} had effectively ended any possibility of a renaissance. See {monstrosity}, {cretinous}, {second-system effect}. *** 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. *** New in 4.3.0. *** :OT: // [Usenet: common] Abbreviation for "off-topic". This is used to respond to a question that is inappropriate for the newsgroup that the questioner posted to. Often used in an HTML-style modifier or with adverbs. *** New in 4.2.0. *** :Oracle, the: The all-knowing, all-wise Internet Oracle rec.humor.oracle, or one of the foreign language derivatives of same. Newbies frequently confuse the Oracle with Oracle, a database vendor. As a result, the unmoderated rec.humor.oracle.d is frequently crossposted to by the clueless, looking for advice on SQL. As more than one person has said in similar situations, "Don't people bother to look at the newsgroup description line anymore?" (To which the standard response is, "Did people ever read it in the first place?") *** 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." Compare {pilot error}, {UBD}. *** 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.2.0. *** :PFY: n. [Usenet; common] Abbreviation for `Pimply-Faced Youth'. A {BOFH} in training, esp. one apprenticed to an elder BOFH aged in evil. *** 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. *** Changed in 4.3.0, 4.3.0. *** :Pascal:: n. An Algol-descended language designed by Niklaus Wirth on the CDC 6600 around 1967-68 as an instructional tool for elementary programming. This language, designed primarily to keep students from shooting themselves in the foot and thus extremely restrictive from a general-purpose-programming point of view, was later promoted as a general-purpose tool and, in fact, became the ancestor of a large family of languages including Modula-2 and {{Ada}} (see also {bondage-and-discipline language}). The hackish point of view on Pascal was probably best summed up by a devastating (and, in its deadpan way, screamingly funny) 1981 paper by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is Not My Favorite Programming Language", which was turned down by the technical journals but circulated widely via photocopies. It was eventually published in "Comparing and Assessing Programming Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984); a web search for the title should find many copies. Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after many years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. (The entire essay os available at `http://www.lysator.liu.se/c/bwk-on-pascal.html'. At the end of a summary of the case against Pascal, Kernighan wrote: 9. There is no escape This last point is perhaps the most important. The language is inadequate but circumscribed, because there is no way to escape its limitations. There are no casts to disable the type-checking when necessary. There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the "standard procedures". The language is closed. People who use Pascal for serious programming fall into a fatal trap. Because the language is impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, FORTRAN-like COMMON, string data types, internal static variables, initialization, octal numbers, bit operators, etc., all add to the utility of the language for one group but destroy its portability to others. I feel that it is a mistake to use Pascal for anything much beyond its original target. In its pure form, Pascal is a toy language, suitable for teaching but not for real programming. Pascal has since been entirely displaced (mainly by {C}) from the niches it had acquired in serious applications and systems programming, and from its role as a teaching language by Java. *** 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, 4.3.0. *** :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 "hex" or "sex" in its name. Successor chips have been called `Pentium II', `Pentium III', and `Pentium IV'. *** 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 (and controversial) but effective. There is an RBL home page (http://maps.vix.com/rbl/usage.html). *** Changed in 4.3.0. *** :RTI: /R-T-I/ interj. The mnemonic for the `return from interrupt' instruction on many computers including the 6502 and 6800. The variant `RETI' is found among Z80 hackers. Equivalent to "Now, where was I?" or used to end a conversational digression. See {pop}; see also {POPJ}. *** 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}}. *** New in 4.2.3. *** :SCSI voodoo: /skuz'ee voo'doo/ [common among Mac users] {SCSI} interface hardware is notoriously fickle of temperament. Often, the SCSI bus will fail to work unless the cable order of devices is re-arranged, SCSI termination is added or removed (sometimes double-termination or _no_ termination will fix the problem), or particular devices are given particular SCSI IDs. The skills needed to trick the naturally skittish demons of SCSI into working are collectively known as SCSI voodoo. Compare {magic}, {deep magic}, {heavy wizardry}, {rain dance}, {cargo cult programming}, {wave a dead chicken}, {voodoo programming}. While ordinary mortals frequently experience near-terminal frustration when attempting to configure SCSI device chains, it is said that a true master of this arcane art can (through rituals involving chicken blood, ground rhino horn, hairs of a virgin, eye of newt, etc.) hook up your personal computer with three scanners, a Zip drive, an IDE hard drive, a home weather station, a Smith-Corona typewriter, and the neighbor's garage door. *** 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. The Data General instruction set also had `SEX'. {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, 4.2.0. *** :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 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. In 1968-69, 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.3.0. *** :See figure 1: Metaphorically, "Get stuffed." From the title of a famous parody that can easily be found with a web search on this phrase; figure 1, in fact, depicts the digitus impudicus. *** 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, 4.2.0, 4.2.2. *** :Slowlaris: /slo'-lahr-is/ n. [Usenet; poss. from the variety of prosimian called a "slow loris". The variant `Slowlartus' is also common, related to {LART}] 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}. *** New in 4.2.0. *** :Sun: n. Sun Microsystems. Hackers remember that the name was originally an acronym, Stanford University Network. Sun started out around 1980 with some hardware hackers (mainly) from Stanford talking to some software hackers (mainly) from UC Berkeley; Sun's original technology concept married a clever board design based on the Motorola 68000 to {BSD} Unix. Sun went on to lead the workstation industry through the 1980s, and for years afterwards remained an engineering-driven company and a good place for hackers to work. Though Sun drifted away from its techie origins after 1990 and has since made some strategic moves that disappointed and annoyed many hackers (especially by maintaining proprietary control of Java and rejecting Linux), it's still considered within the family in much the same way {DEC} was in the 1970s and early 1980s. *** New in 4.3.0. *** :Swiss-Army chainsaw: In early Unix days, a well-known technical paper analogized the lexical analyzer lex(1) to a Swiss-army knife; this was a comment on the remarkable variety of more general uses discovered for a program originally designed as a special-purpose code generator for writing compilers. Two decades later, well-known hacker Henry Spencer described the {Perl} scripting language as a "Swiss-Army chainsaw", intending to convey his evaluation of the language as exceedingly powerful but ugly and noisy and prone to belch noxious fumes. This had two results: (1) Perl fans adopted the epithet as a badge of pride, and (2) it entered more general usage to describe software that is highly versatile but distressingly inelegant. *** 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.3.0. *** :TLA: /T-L-A/ n. [Three-Letter Acronym] 1. Self-describing abbreviation for a species with which computing terminology is infested. 2. Any confusing acronym. Examples include MCA, FTP, SNA, CPU, MMU, SCCS, DMU, FPU, NNTP, TLA. People who like this looser usage argue that not all TLAs have three letters, just as not all four-letter words have four letters. One also hears of `ETLA' (Extended Three-Letter Acronym, pronounced /ee tee el ay/) being used to describe four-letter acronyms; the terms `SFLA' (Stupid Four-Letter Acronym), `LFLA' (Longer Four Letter Acronym), and VLFLA (Very Long Five Letter Acronym) have also been reported. See also {YABA}. The self-effacing phrase "TDM TLA" (Too Damn Many...) is often used to bemoan the plethora of TLAs in use. In 1989, a random of the journalistic persuasion asked hacker Paul Boutin "What do you think will be the biggest problem in computing in the 90s?" Paul's straight-faced response: "There are only 17,000 three-letter acronyms." (To be exact, there are 26^3 = 17,576.) There is probably some karmic justice in the fact that Paul Boutin subsequently became a journalist. *** Changed in 4.1.3, 4.2.0. *** :TMRC: /tmerk'/ n. The Tech Model Railroad Club at MIT, one of the wellsprings of hacker culture. The 1959 "Dictionary of the TMRC Language" compiled by Peter Samson included several terms that became basics of the hackish vocabulary (see esp. {foo}, {mung}, and {frob}). By 1962, TMRC's legendary layout was already a marvel of complexity and has grown in the years since. All the features described here were still present when the old layout was decomissioned in 1998 just before the demolition of MIT Building 20, and will almost certainly be retained when the old layout is rebuilt (expected in 2003). 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://tmrc-www.mit.edu'. The TMRC Dictionary is available there, at `http://tmrc-www.mit.edu/dictionary.html'. *** New in 4.1.0. Changed in 4.2.1. *** :TMTOWTDI: /tim-toh'-dee/ 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}, {Indent-o-Meter}. *** New in 4.2.0. *** :Tux: Tux the Penguin is the official emblem of {Linux}, This eventuated after a logo contest in 1996, during which Linus Torvalds endorsed the idea of a penguin logo in a couple of famously funny postings (http://www.woodsoup.org/~sbaker/tux/doc/). Linus explained that he was once bitten by a killer penguin in Australia and has felt a special affinity for the species ever since. (Linus has since admitted that he was also thinking of Feathers McGraw, the evil-genius penguin jewel thief who appeared in a Wallace & Grommit feature cartoon, "The Wrong Trousers".) Larry Ewing designed (http://www.isc.tamu.edu/~lewing/linux/) the official Tux logo. It has proved a wise choice, amenable to hundreds of recognizable variations used as emblems of Linux-related projects, products, and user groups. In fact, Tux has spawned an entire mythology, of which the Gospel According to Tux (http://www.ao.com/~regan/penguins/tux.html) and the mock-epic poem "Tuxowolf" are among the best-known examples. There is a `real' Tux - a black-footed penguin resident at the Bristol Zoo. Several friends of Linux bought a zoo sponsorship for Linus as a birthday present in 1996. *** New in 4.1.0. *** :UBE: // n. [abbrev., Unsolicited 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}. *** Changed in 4.2.2, 4.2.3. *** :UN*X: n. Used to refer to the Unix operating system (a trademark of AT&T, then of Novell, then of Univel, then of the Open Group; the source code parted company with it after Novell and was owned by SCO, which was acquired by Caldera) in writing, but avoiding the need for the ugly {(TM)} typography. Also used to refer to any or all varieties of Unixoid operating systems. Ironically, lawyers now say that the requirement for the trademark postfix has no legal force, but the asterisk usage is entrenched anyhow. It has been suggested that there may be a psychological connection to practice in certain religions (especially Judaism) in which the name of the deity is never written out in full, e.g., `YHWH' or `G-d' is used. See also {glob} and {splat out}. *** New in 4.2.3. *** :UUOC: [from the comp.unix.shell group on Usenet] Stands for `Useless Use of {cat}'; the reference is to the Unix command cat(1), not the feline animal. As received wisdom on comp.unix.shell observes, "The purpose of cat is to concatenate (or `catenate') files. If it's only one file, concatenating it with nothing at all is a waste of time, and costs you a process." Nevertheless one sees people doing cat file | some_command and its args ... instead of the equivalent and cheaper - or --! On IRIX, , which kills and restarts the X server, is sometimes called a vulcan nerve pinch. Also called {three-finger salute} and `Vulcan death grip'. At shops with a lot of Microsoft Windows machines, this is often called the `Microsoft Maneuver' because of the distressing frequency with which Microsoft's unreliable software requires it. Compare {quadruple bucky}. *** New in 4.1.3. *** :W2K bug: [from `Y2K bug' for the Year 2000 problem] The deployment of Microsoft's Windows 2000 operating system, which hackers generally expect will turn out to have been 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.2.1. *** :WYSIWYG: /wiz'ee-wig/ or /wiss'ee-wig/ adj. [Traced to Flip Wilson's "Geraldine" character c.1970] Describes a user interface under which "What You See Is What You Get", as opposed to one that uses more-or-less obscure commands that do not result in immediate visual feedback. True WYSIWYG in environments supporting multiple fonts or graphics is a a rarely-attained ideal; there are variants of this term to express real-world manifestations including WYSIAWYG (What You See Is _Almost_ What You Get) and WYSIMOLWYG (What You See Is More or Less What You Get). All these can be mildly derogatory, as they are often used to refer to dumbed-down {user-friendly} interfaces targeted at non-programmers; a hacker has no fear of obscure commands (compare {WYSIAYG}). On the other hand, {EMACS} was one of the very first WYSIWYG editors, replacing (actually, at first overlaying) the extremely obscure, command-based {TECO}. See also {WIMP environment}. [Oddly enough, WYSIWYG has already made it into the OED, in lower case yet. --ESR] *** 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}. *** New in 4.2.0. *** :YHBT: // [Usenet: very common] Abbreviation: You Have Been Trolled (see {troll}, sense 1). Especially used in "YHBT. YHL. HAND.", which is widely understood to expand to "You Have Been Trolled. You Have Lost. Have A Nice Day". You are quite likely to see this if you respond incautiously to a flame-provoking post that was obviously floated as sucker bait. *** 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). *** Changed in 4.2.0. *** :You know you've been hacking too long when: The set-up line for a genre of one-liners told by hackers about themselves. These include the following: * not only do you check your email more often than your paper mail, but you remember your {network address} faster than your postal one. * your {SO} kisses you on the neck and the first thing you think is "Uh, oh, {priority interrupt}." * you go to balance your checkbook and discover that you're doing it in octal. * your computers have a higher street value than your car. * in your universe, `round numbers' are powers of 2, not 10. * more than once, you have woken up recalling a dream in some programming language. * you realize you have never seen half of your best friends. A list (http://albrecht.ecn.purdue.edu/~taylor/humor/hack.html) of these can be found by searching for this phrase on the web. [An early version of this entry said "All but one of these have been reliably reported as hacker traits (some of them quite often). Even hackers may have trouble spotting the ringer." The ringer was balancing one's checkbook in octal, which I made up out of whole cloth. Although more respondents picked that one out as fiction than any of the others, I also received multiple independent reports of its actually happening, most famously to Grace Hopper while she was working with BINAC in 1949. --ESR] *** New in 4.2.2. *** :Zawinski's Law: "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." Coined by Jamie Zawinski (who called it the "Law of Software Envelopment") to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms (the mailer thing, he says, is just a side effect of that). It is commonly cited, though with widely varying degrees of accuracy. *** 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.3.0. *** :all your base are belong to us: A declaration of victory or superiority. The phrase stems from a 1991 adaptation of Toaplan's "Zero Wing" shoot-'em-up arcade game for the Sega Genesis game console. A brief introduction was added to the opening screen, and it has what many consider to be the worst Japanese-to-English translation in video game history. The introduction shows the bridge of a starship in chaos as a Borg-like figure named CATS materializes and says, "How are you gentlemen!! All your base are belong to us." [sic] In 2001, this amusing mistranslation spread virally through the internet, bringing with it a slew of JPEGs and a movie of hacked photographs, each showing a street sign, store front, package label, etc. hacked to read "All your base are belong to us" or one of the other dopy lines from the game. When the phrase is used properly, the overall effect is both screamingly funny and somewhat chilling, reminiscent of the B movie "They Live". The original has been generalized to "All your X are belong to us", where X is filled in to connote a sinister takeover of some sort. Thus, "When Joe signed up for his new job at Yoyodyne, he had to sign a draconian NDA. It basically said, `All your code are belong to us.'" Has many of the connotations of "Resistance is futile; you will be assimilated" (see {Borg}). Considered silly, and most likely to be used by the type of person that finds {Jeff K.} hilarious. *** 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.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!". *** New in 4.3.0. *** :autoconfiscate: [origibnally from Cygnus Solutions, later Red Hat Software] To set up or modify a source-code {distribution} so that it configures and builds using the GNU project's autoconf/automake/libtools suite. Among open-source hackers, a mere running binary of a program is not considered a full release; what's interesting is a source tree that can be built into binaries using standard tools. Since the mid-1990s, autoconf and friends been the standard way to adapt a distribution for portability so that it casn be built on multiple operating systems without change. *** 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, 4.3.0. *** :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}. [2001 update: This term has passed into history. The UUCP network world that gave it meaning is gone; 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 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. Compare {retcon}. *** 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. *** New in 4.2.0. *** :baggy pantsing: v. [Georgia Tech] A "baggy pantsing" is used to reprimand hackers who incautiously leave their terminals unlocked. The affected user will come back to find a post from them on internal newsgroups discussing exactly how baggy their pants are, an accepted stand-in for "unattentive user who left their work unprotected in the clusters". A properly-done baggy pantsing is highly mocking and humorous. It is considered bad form to post a baggy pantsing to off-campus newsgroups or the more technical, serious groups. A particularly nice baggy pantsing may be "claimed" by immediately quoting the message in full, followed by your sig; this has the added benefit of keeping the embarassed victim from being able to delete the post. Interesting baggy-pantsings have been done involving adding commands to login scripts to repost the message every time the unlucky user logs in; Unix boxes on the residential network, when cracked, oftentimes have their homepages replaced (after being politely backedup to another file) with a baggy-pants message; .plan files are also occasionally targeted. Usage: "Prof. Greenlee fell asleep in the Solaris cluster again; we baggy-pantsed him to git.cc.class.2430.flame." Compare {derf}. *** 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}; see also {brainwidth}. 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.2.2. *** :banner site: n. [warez d00dz] An FTP site storing pirated files where one must first click on several banners and/or subscribe to various `free' services, usually generating some form of revenues for the site owner, to be able to access the site. More often than not, the username/password painfully obtained by clicking on banners and subscribing to bogus services or mailing lists turns out to be non-working or gives access to a site that always responds busy. See {ratio site}, {leech mode}. *** 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. *** Changed in 4.2.0. *** :baud: /bawd/ n. [simplified from its technical meaning] n. Bits per second. Hence kilobaud or Kbaud, thousands of bits per second. The technical meaning is `level transitions per second'; this coincides with bps only for two-level modulation with no framing or stop bits. Most hackers are aware of these nuances but blithely ignore them. Historical note: `baud' was originally a unit of telegraph signalling speed, set at one pulse per second. It was proposed at the November, 1926 conference of the Comite' Consultatif International Des Communications Te'le'graphiques as an improvement on the then standard practice of referring to line speeds in terms of words per minute, and named for Jean Maurice Emile Baudot (1845-1903), a French engineer who did a lot of pioneering work in early teleprinters. *** Changed in 4.2.0. *** :baud barf: /bawd barf/ n. The garbage one gets on a terminal (or terminal emulator) when using a modem connection with some protocol setting (esp. line speed) incorrect, or when someone picks up a voice extension on the same line, or when really bad line noise disrupts the connection. Baud barf is not completely {random}, by the way; hackers with a lot of serial-line experience can usually tell whether the device at the other end is expecting a higher or lower speed than the terminal is set to. _Really_ experienced ones can identify particular speeds. *** New in 4.1.0. Changed in 4.1.2, 4.3.0. *** :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. After 1998, the evident success of this way of doing things became one of the strongest arguments for {open source}. *** 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 seems 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}, hardware or software systems 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.2.2. *** :bit: n. [from the mainstream meaning and `Binary digIT'] 1. [techspeak] The unit of information; the amount of information obtained by asking a yes-or-no question for which the two outcomes are equally probable. 2. [techspeak] A computational quantity that can take on one of two values, such as true and false or 0 and 1. 3. A mental flag: a reminder that something should be done eventually. "I have a bit set for you." (I haven't seen you for a while, and I'm supposed to tell or ask you something.) 4. More generally, a (possibly incorrect) mental state of belief. "I have a bit set that says that you were the last guy to hack on EMACS." (Meaning "I think you were the last guy to hack on EMACS, and what I am about to say is predicated on this, so please stop me if this isn't true.") "I just need one bit from you" is a polite way of indicating that you intend only a short interruption for a question that can presumably be answered yes or no. A bit is said to be `set' if its value is true or 1, and `reset' or `clear' if its value is false or 0. One speaks of setting and clearing bits. To {toggle} or `invert' a bit is to change it, either from 0 to 1 or from 1 to 0. See also {flag}, {trit}, {mode bit}. The term `bit' first appeared in print in the computer-science sense in a 1948 paper by information theorist Claude Shannon, and was there credited to the early computer scientist John Tukey (who also seems to have coined the term `software'). Tukey records that `bit' evolved over a lunch table as a handier alternative to `bigit' or `binit', at a conference in the winter of 1943-44. *** Changed in 4.1.0, 4.2.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). The Teletype Model 33 was actually designed before ASCII existed, and was originally intended to use a code that contained these two rows: low bits high 0000 0010 0100 0110 1000 1010 1100 1110 bits 0001 0011 0101 0111 1001 1011 1101 1111 10 ) ! bel # $ % wru & * ( " : ? _ , . 11 0 1 2 3 4 5 6 7 8 9 ' ; / - esc del The result would have been something closer to a normal keyboard. But as it happened, Teletype had to use a lot of persuasion just to keep ASCII, and the Model 33 keyboard, from looking like this instead: ! " ? $ ' & - ( ) ; : * / , . 0 1 2 3 4 5 6 7 8 9 + ~ < > × | Teletype's 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. Either choice was supported by the ANSI computer keyboard standard, X4.14-1971, which referred to the alternatives as `logical bit pairing' and `typewriter pairing'. 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, X4.14 was superseded by X4.23-1982, `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 PCs, 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. *** New in 4.3.0. *** :black hat: [common among security specialists] A {cracker}, someone bent on breaking into the system you are protecting. Oppose the less comon `white hat' for an ally or friendly security specialist; the term `gray hat' is in occasional use for people with cracker skills operating within the law, e.g. in doing security evaluations. All three terms derive from the dress code of formulaic Westerns, in which bad guys wore black hats and good guys white ones. *** 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} and see {RBL}. *** Changed in 4.1.2, 4.2.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). This term attained wide use in the UK, but is rare or unknown in the US. *** Changed in 4.1.0, 4.1.1, 4.2.0, 4.2.3. *** :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. Despite this, a couple of relatively recent computer designs of note have featured programmable blinkenlights that were added just because they looked cool. The Connection Machine, a 65,536-processor parallel computer designed in the mid-1980s, was a black cube with one side covered with a grid of red blinkenlights; the sales demo had them evolving {life} patterns. A few years later the ill-fated BeBox (a personal computer designed to run the BeOS operating system) featured twin rows of blinkenlights on the case front. When Be, Inc. decided to get out of the hardware business in 1996 and instead ported their OS to the PowerPC and later to the Intel architecture, many users severly suffered from the absence of their beloved blinkenlights. Before long an external version of the blinkenlights driven by a PC serial port became available; there is some sort of plot symmetry in the fact that it was assembled by a German. 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. This newest version partly reflects reports that the word `blinkenlights' is (in 1999) undergoing something of a revival in usage, but applied to networking equipment. The transmit and receive lights on routers, activity lights on switches and hubs, and other network equipment often blink in visually pleasing and seemingly coordinated ways. Although this is different in some ways from register readings, a tall stack of Cisco equipment or a 19-inch rack of ISDN terminals can provoke a similar feeling of hypnotic awe, especially in a darkened network operations center or server room. *** 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. *** Changed in 4.2.2. *** :blue wire: n. [IBM] Patch wires (esp. 30 AWG gauge) added to circuit boards at the factory to correct design or fabrication problems. Blue wire is not necessarily blue, the term describes function rather than color. These may be necessary if there hasn't been time to design and qualify another board version. In Great Britain this can be `bodge wire', after mainstreanm slang `bodge' for a clumsy improvisation or sloppy job of work. Compare {purple wire}, {red wire}, {yellow wire}, {pink wire}. *** New in 4.1.0. *** :bob: n. At Demon Internet (http://www.demon.net/), all tech support personnel 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" reports a witness). 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.2.3. *** :bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The archetypical perversely awful algorithm (as opposed to {bubble sort}, which is merely the generic _bad_ algorithm). Bogo-sort is equivalent to repeatedly throwing a deck of cards in the air, picking them up at random, and then testing whether they are in order. It serves as a sort of canonical example of awfulness. Looking at a program and seeing a dumb algorithm, one might say "Oh, I see, this program uses bogo-sort." Esp. appropriate for algorithms with factorial or super-exponential running time in the average case and probabilistically infinite worst-case running time. Compare {bogus}, {brute force}, {lasherism}. A spectacular variant of bogo-sort has been proposed which has the interesting property that, if the Many Worlds interpretation of quantum mechanics is true, it can sort an arbitrarily large array in linear time. (In the Many-Worlds model, the result of any quantum action is to split the universe-before into a sheaf of universes-after, one for each possible way the state vector can collapse; in any one of the universes-after the result appears random.) The steps are: 1. Permute the array randomly using a quantum process, 2. If the array is not sorted, destroy the universe (checking that it is sorted requires O(n) time). Implementation of step 2 is left as an exercise for the reader. *** 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". According to Merriam-Webster, the word dates back to 1825 and originally referred to a counterfeiting machine. *** 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 (see {boink}). Commonwealth hackers report a similar convention involving the `fish/bang' balance. See also {talk mode}. *** New in 4.1.2. Changed in 4.2.0. *** :borken: adj. (also `borked') Common deliberate typo for `broken'. *** New in 4.1.0. Changed in 4.2.0, 4.2.2. *** :bot: n [common on IRC, MUD and among gamers; from `robot'] 1. 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. 2. An AI-controlled player in a computer game (especially a first-person shooter such as Quake) which, unlike ordinary monsters, operates like a human-controlled player, with access to a player's weapons and abilities. An example can be found at `http://www.telefragged.com/thefatal/'. 3. Term used, though less commonly, for a web {spider}. The file for controlling spider behavior on your site is officially the "Robots Exclusion File" and its URL is "http:///robots.txt") Note that bots in all senses were `robots' when the terms first appeared in the early 1990s, but the shortened form is now habitual. *** Changed in 4.2.2. *** :bottom feeder: n. 1. An Internet user that leeches off ISPs - the sort you can never provide good enough services for, always complains about the price, no matter how low it may be, and will bolt off to another service the moment there is even the slimmest price difference. While most bottom feeders infest free or almost free services such as AOL, MSN, and Hotmail, too many flock to whomever happens to be the cheapest regional ISP at the time. Bottom feeders are often the classic problem user, known for unleashing spam, flamage, and other breaches of {netiquette}. 2. Syn. for {slopsucker}, derived from the fishermen's and naturalists' term for finny creatures who subsist on the primordial ooze. (This sense is older.) *** Changed in 4.1.0, 4.3.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 (possibly editing a configuration file in the process, if it is one that is only re-read at boot time). 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. *** New in 4.3.0. *** :brainwidth: n. [Great Britain] Analagous to {bandwidth} but used strictly for human capacity to process information and especially to multitask. "Writing email is taking up most of my brainwidth right now, I can't look at that Flash animation." *** Changed in 4.1.0, 4.2.2. *** :bread crumbs: n. 1. 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. 2. In user-interface design, any feature that allows some tracking of where you've been, like coloring visited links purple rather than blue in Netscape (also called `footprinting'). *** Changed in 4.2.0. *** :brittle: adj. Said of software that is functional but easily broken by changes in operating environment or configuration, or by any minor tweak to the software itself. Also, any system that responds inappropriately and disastrously to abnormal but expected external stimuli; e.g., a file system that is usually totally scrambled by a power failure is said to be brittle. This term is often used to describe the results of a research effort that were never intended to be robust, but it can be applied to commercial software, which (due to closed-source development) displays the quality far more often than it ought to. Oppose {robust}. *** New in 4.2.3. *** :broken-ring network: Pejorative hackerism for "token-ring network", an early LAN technology from IBM that lost the standards war to Ethernet. Though token-ring survives in a few niche markets (such as factory automation) that put a high premium on resistance to electrical noise, the term is now (2000) primarily historical. *** New in 4.1.0. *** :brown-paper-bag bug: n. A bug in a public software release that is so embarrassing 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.2.0. *** :bubble sort: n. Techspeak for a particular sorting technique in which pairs of adjacent values in the list to be sorted are compared and interchanged if they are out of order; thus, list entries `bubble upward' in the list until they bump into one with a lower sort value. Because it is not very good relative to other methods and is the one typically stumbled on by {naive} and untutored programmers, hackers consider it the {canonical} example of a naive algorithm. (However, it's been shown by repeated experiment that below about 5000 records bubble-sort is OK anyway.) The canonical example of a really _bad_ algorithm is {bogo-sort}. A bubble sort might be used out of ignorance, but any use of bogo-sort could issue only from brain damage or willful perversity. *** 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 stereotypical 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 for 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}. *** New in 4.2.2. *** :bullschildt: /bul'shilt/ n. [comp.lang.c on USENET] A confident, but incorrect, statement about a programming language. This immortalizes a very bad book about {C}, Herbert Schildt's "C - The Complete Reference". One reviewer commented "The naive errors in this book would be embarassing even in a programming assignment turned in by a computer science college sophomore." *** 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.2.3. *** :burn a CD: v. To write a software or document distribution on writable CDROM. Coined from the fact that a laser is used to inscribe the information by burning small pits in the medium, and from the fact that disk comes out of the drive warm to the touch. Writable CDs can be done on a normal desk-top machine with a suitable drive (so there is no protracted release cycle associated with making them) but each one takes a long time to make, so they are not appropriate for volume production. Writable CDs are suitable for software backups and for short-turnaround-time low-volume software distribution, such as sending a beta release version to a few selected field test sites. Compare {cut a tape}. *** Changed in 4.2.2. *** :busy-wait: vi. Used of human behavior, conveys that the subject is busy waiting for someone or something, intends to move instantly as soon as it shows up, and thus cannot do anything else at the moment. "Can't talk now, I'm busy-waiting till Bill gets off the phone." Technically, `busy-wait' means to wait on an event by {spin}ning through a tight or timed-delay loop that polls for the event on each pass, as opposed to setting up an interrupt handler and continuing execution on another part of the task. In applications this is a wasteful technique, and best avoided on time-sharing systems where a busy-waiting program may {hog} the processor. However, it is often unavoidable in kernel programming. In the Linux world, kernel busy-waits are usually referred to as `spinlocks'. *** Changed in 4.2.0. *** :buzz: vi. 1. Of a program, to run with no indication of progress and perhaps without guarantee of ever finishing; esp. said of programs thought to be executing tight loops of code. A program that is buzzing appears to be {catatonic}, but never gets out of catatonia, while a buzzing loop may eventually end of its own accord. "The program buzzes for about 10 seconds trying to sort all the names into order." See {spin}; see also {grovel}. 2. [ETA Systems] To test a wire or printed circuit trace for continuity, esp. by applying an AC rather than DC signal. Some wire faults will pass DC tests but fail an AC buzz test. 3. To process an array or list in sequence, doing the same thing to each element. "This loop buzzes through the tz array looking for a terminator type." *** New in 4.3.0. *** :buzzword-compliant: [also `buzzword-enabled'] Used (disparagingly) of products that seem to have been specified to incorporate all of this month's trendy technologies. Key buzzwords that often show up in buzzword-compliant specifications as of 2001 include `XML', `Java', `peer-to-peer', `distributed', and `open'. *** New in 4.1.0. *** :byte sex: n. [common] The byte sex of hardware is {big-endian} or {little-endian}; see those entries. *** Changed in 4.2.3. *** :can: vt. To abort a job on a time-sharing system. Used esp. when the person doing the deed is an operator, as in "canned from the {{console}}". Frequently used in an imperative sense, as in "Can that print job, the LPT just popped a sprocket!" Synonymous with {gun}. It is said that the ASCII character with mnemonic CAN (0011000) was used as a kill-job character on some early OSes, but this is more likely to be short for `cancel'. Alternatively, this term may derive from mainstream slang `canned' for being laid off or fired. *** 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, 4.2.3, 4.3.0, 4.3.0, 4.3.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. 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 (associated with teletypewriters before the computer era), and has been occasionally sighted in directions for punched-card vote tabulators long after it passed out of live use among computer programmers in the late 1970s. This sense of `chad' returned to the mainstream during the finale of the hotly disputed U.S. presidential election in 2000 via stories about the Florida vote recounts. Note however that in the revived mainstream usage chad is not a mass noun and `a chad' is a single piece of the stuff. There is an urban legend that `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'. However, serious attempts to track down "Chadless" as a personal name or U.S. trademark have failed, casting doubt on this etymology - and the U.S. Patent Classification System uses "chadless" (small c) as an adjective, suggesting that "chadless" derives from "chad" and not the other way around. There is another legend that the word was originally acronymic, standing for "Card Hole Aggregate Debris", but this has all the earmarks of a {backronym}. It has also been noted that the word "chad" is Scots dialect for gravel, but nobody has proposed any plausible reason that card chaff should be thought of as gravel. None of these etymologies are really plausible. *** Changed in 4.2.1, 4.2.2. *** :channel op: /chan'l op/ n. [IRC] Someone who is endowed with privileges on a particular {IRC} channel; commonly abbreviated `chanop' or `CHOP' or just `op' (as of 2000 these short forms have almost crowded out the parent usage). These privileges include the right to {kick} users, to change various status bits, and to make others into CHOPs. *** New in 4.2.0. *** :cheerfully: adv. See {happily}. *** Changed in 4.2.1, 4.2.2. *** :chicken head: n. [Commodore] The Commodore Business Machines logo, which strongly resembles a poultry part (within Commodore itself the logo was always called `chicken lips'). Rendered in ASCII as `C='. With the arguable exception of the Amiga (see {amoeba}), Commodore's machines were notoriously crocky little {bitty box}es (see also {PETSCII}), albeit people have written multitasking Unix-like operating systems with TCP/IP networking for them. Thus, this usage may owe something to Philip K. Dick's novel "Do Androids Dream of Electric Sheep?" (the basis for the movie "Blade Runner"; the novel is now sold under that title), in which a `chickenhead' is a mutant with below-average intelligence. *** 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." *** Changed in 4.3.0. *** :clone: n. 1. An exact duplicate: "Our product is a clone of their product." Implies a legal reimplementation from documentation or by reverse-engineering. Also connotes lower price. 2. A shoddy, spurious copy: "Their product is a clone of our product." 3. A blatant ripoff, most likely violating copyright, patent, or trade secret protections: "Your product is a clone of my product." This use implies legal action is pending. 4. [obs] `PC clone:' a PC-BUS/ISA or EISA-compatible 80x86-based microcomputer (this use is sometimes spelled `klone' or `PClone'). These invariably have much more bang for the buck than the IBM archetypes they resemble. This term fell out of use in the 1990s; the class of machines it describes are now simply `PCs' or `Intel machines'. 5. [obs.] In the construction `Unix clone': An OS designed to deliver a Unix-lookalike environment without Unix license fees, or with additional `mission-critical' features such as support for real-time programming. {Linux} and the free BSDs killed off this product category and the term with it. 6. v. To make an exact copy of something. "Let me clone that" might mean "I want to borrow that paper so I can make a photocopy" or "Let me get a copy of that file before you {mung} it". *** New in 4.1.0. Changed in 4.2.1, 4.2.2. *** :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}. Syn. `clue stick'. This metaphor is commonly elaborated; your editor once heard a hacker say "I smite you with the great sword Cluebringer!" *** New in 4.2.2. *** :co-lo: /koh'loh`/ n. [very common; first heard c.1995] Short for `co-location', used of a machine you own that is physically sited on the premises of an ISP in order to take advantage of the ISP's direct access to lots of network bandwidthm. Often in the phrases `co-lo box' or `co-lo machines'. Co-lo boxes are typically web and FTP servers remote-administered by their owners, who may seldom or never visit the actual site. *** 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. In the U.K., `beermat' is often used in these senses. *** New in 4.3.0. *** :coaster toaster: A writer for recordable CD-ROMs, especially cheap IDE models that tend to produce a high proportion of {coaster}s. *** 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.2.0. *** :code monkey: n 1. A person only capable of grinding out code, but unable to perform the higher-primate tasks of software architecture, analysis, and design. Mildly insulting. Often applied to the most junior people on a programming team. 2. Anyone who writes code for a living; a programmer. 3. A self-deprecating way of denying responsibility for a {management} decision, or of complaining about having to live with such decisions. As in "Don't ask me why we need to write a compiler in COBOL, I'm just a code monkey." *** 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.3.0. *** :computer confetti: n. Syn. {chad}. [obs.] Though this term was common at one time, this use of punched-card chad is not a good idea, as the pieces are stiff and have sharp corners that could injure the eyes. GLS reports that he once attended a wedding at MIT during which he and a few other guests enthusiastically threw chad instead of rice. The groom later grumbled that he and his bride had spent most of the evening trying to get the stuff out of their hair. [2001 update: this term has passed out of use for two reasons; (1) the stuff it describes is now quite rare, and (2) the term {chad}, which was half-forgotten in 1990, has enjoyed a revival. --ESR] *** 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 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). Syn. {magic cookie}; see also {fortune cookie}. Now mainstream in the specific sense of web-browser cookies. *** New in 4.2.0. *** :copycenter: n. [play on `copyright' and `copyleft'] 1. The copyright notice carried by the various flavors of freeware BSD. According to Kirk McKusick at BSDCon 1999: "The way it was characterized politically, you had copyright, which is what the big companies use to lock everything up; you had copyleft, which is free software's way of making sure they can't lock it up; and then Berkeley had what we called "copycenter", which is "take it down to the copy center and make as many copies as you want". *** 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.2.1. *** :courier: [BBS & cracker cultures] A person who distributes newly cracked {warez}, as opposed to a {server} who makes them available for download or a {leech} who merely downloads them. Hackers recognize this term but don't use it themselves, as the act is not part of their culture. See also {warez d00dz}, {cracker}, {elite}. *** New in 4.1.0. Changed in 4.1.1, 4.1.3, 4.2.2, 4.2.2. *** :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 already appears in the January 1996 version of the {scary devil monastery} FAQ. There are plausible reports that it was in use on talk.bizarre as early as 1992. Compare {hing}, {grilf}, {filk}, {newsfroup}. *** New in 4.2.2. *** :crack: [warez d00dz] 1. v. To break into a system (compare {cracker}). 2. v. Action of removing the copy protection from a commercial program. People who write cracks consider themselves challenged by the copy protection measures. They will often do it as much to show that they are smarter than the developper who designed the copy protection scheme than to actually copy the program. 3. n. A program, instructions or patch used to remove the copy protection of a program or to uncripple features from a demo/time limited program. 4. An {exploit}. *** 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, 4.2.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. Nowadays, often applied to any SGI employee who either works at one of the former Cray Research facilities (i.e. Eagan Minnesota and Chippewa Falls Wisconsin) or works primarily in vector computing aspects of the business. Sometimes considered mildly offensive by those to whom it is applied, particularly those whose work has nothing to do with vector computing. 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. *** Changed in 4.2.3. *** :creeping featurism: /kree'ping fee'chr-izm/ n. [common] 1. Describes a systematic tendency to load more {chrome} and {feature}s onto systems at the expense of whatever elegance they may have possessed when originally designed. See also {feeping creaturism}. "You know, the main problem with {BSD} Unix has always been creeping featurism." 2. More generally, the tendency for anything complicated to become even more complicated because people keep saying "Gee, it would be even better if it had this feature too". (See {feature}.) The result is usually a patchwork because it grew one ad-hoc step at a time, rather than being planned. Planning is a lot of work, but it's easy to add just one extra little feature to help someone ... and then another ... and another.... When creeping featurism gets out of hand, it's like a cancer. The GNU hello program, intended to illustrate {GNU} command-line switch and coding conventions, is also a wonderful parody of creeping featurism; the distribution changelog is particulary funny. Usually this term is used to describe computer programs, but it could also be said of the federal government, the IRS 1040 form, and new cars. A similar phenomenon sometimes afflicts conscious redesigns; see {second-system effect}. See also {creeping elegance}. *** New in 4.2.2. *** :crossload: v.,n. [proposed, by analogy with {upload} and {download}] To move files between machines on a peer-to-peer network of nodes that act as both servers and clients for a distributed file store. Esp. appropriate for anonymized networks like Gnutella and Freenet. *** 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.2.0. *** :daemon: /day'mn/ or /dee'mn/ n. [from the mythological meaning, later rationalized as the acronym `Disk And Execution MONitor'] A program that is not invoked explicitly, but lies dormant waiting for some condition(s) to occur. The idea is that the perpetrator of the condition need not be aware that a daemon is lurking (though often a program will commit an action only because it knows that it will implicitly invoke a daemon). For example, under {{ITS}}, writing a file on the {LPT} spooler's directory would invoke the spooling daemon, which would then print the file. The advantage is that programs wanting (in this example) files printed need neither compete for access to nor understand any idiosyncrasies of the {LPT}. They simply enter their implicit requests and let the daemon decide what to do with them. Daemons are usually spawned automatically by the system, and may either live forever or be regenerated at intervals. Daemon and {demon} are often used interchangeably, but seem to have distinct connotations. The term `daemon' was introduced to computing by {CTSS} people (who pronounced it /dee'mon/) and used it to refer to what ITS called a {dragon}; the prototype was a program called DAEMON that automatically made tape backups of the file system. Although the meaning and the pronunciation have drifted, we think this glossary reflects current (2000) usage. *** 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). *** New in 4.2.2. *** :dead beef attack: n. [cypherpunks list, 1996] An attack on a public-key cryptosystem consisting of publishing a key having the same ID as another key (thus making it possible to spoof a user's identity if recipients aren't careful about verifying keys). In PGP and GPG the key ID is the last eight hex digits of (for RSA keys) the product of two primes. The attack was demonstrated by creating a key whose ID was 0xdeadbeef (see {DEADBEEF}). *** New in 4.2.3. *** :dead-tree version: [common] A paper version of an on-line document; one printed on dead trees. In this context, "dead trees" always refers to paper. See also {tree-killer}. *** Changed in 4.1.0, 4.2.0. *** :defenestration: n. [mythically from a traditional Czech assasination method, 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.3.0. *** :deflicted: [portmanteau of "defective" and "afflicted"; common among PC repair technicians, and probably originated among hardware techs outside the hacker community proper] Term used of hardware that is broken due to poor design or shoddy manufacturing or (especially) both; less frequently used of software and rarely of people. This term is normally employed in a tone of weary contempt by technicians who have seen the specific failure in the trouble report before and are cynically confident they'll see it again. *** New in 4.2.2. Changed in 4.2.3. *** :deletia: n. /d*-lee'sha/ [USENET; common] In an email reply, material omitted from the quote of the original. Usually written rather than spoken; often appears as a pseudo-tag or ellipsis in the body of the reply, as "[deletia]" or "" or ". *** 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, 4.2.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, {NeWS}, and {GOSMACS}) and Guido van Rossum (inventor of {Python}). 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. Changed in 4.2.3. *** :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 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 - or anyway safer. Around 1990 there began to be very serious police pressure on cracking groups, including raids with SWAT teams crashing into bedrooms to confiscate computers. Whether in response to this or for esthetic reasons, crackers of that period began to build self-contained display hacks of considerable elaboration and beauty (within the culture such a hack is called a {demo}). 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 demosceners frown at this, but the majority think it's a good direction. Many demosceners 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.2.2. *** :deprecated: adj. Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favor of a specified replacement. Deprecated features can, unfortunately, linger on for many years. This term appears with distressing frequency in standards documents when the committees writing the documents realize that large amounts of extant (and presumably happily working) code depend on the feature(s) that have passed out of favor. See also {dusty deck}. [Usage note: don't confuse this word with `depreciate', or the verb form `deprecate' with `depreciated`. They are different words; see any dictionary for discussion.] *** 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. Compare {baggy pantsing}. *** 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 Dwarfs': 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. *** New in 4.2.3. *** :disemvowel: v. [USENET: play on `disembowel'] Less common synonym for {splat out}. *** 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, 4.2.2. *** :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'. The short form {distro} is often used for this sense. 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. *** New in 4.2.2. *** :distro: n. Synonym for {distribution}, sense 1. *** Changed in 4.1.1, 4.2.0, 4.2.1, 4.2.2, 4.2.3. *** :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. See `http://developer.apple.com/products/techsupport/dogcow/tn31.html'. *** 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, 4.2.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; among hackers, it seems at least as likely to derive from an `autobiographical' Bugs Bunny cartoon in which a gang of attacking canines actually yells "Dogpile on the rabbit!". *** Changed in 4.2.0, 4.2.2. *** :dongle: /dong'gl/ n. 1. [now obs.] A security or {copy protection} device for proprietary software consisting of a serialized EPROM and some drivers in a D-25 connector shell, which must be connected to an I/O port of the computer while the program is run. Programs that use a dongle query the port at startup and at programmed intervals thereafter, and terminate if it does not respond with the dongle's programmed validation code. Thus, users can make as many copies of the program as they want but must pay for each dongle. The idea was clever, but it was initially a failure, as users disliked tying up a serial port this way. By 1993, dongles would typically pass data through the port and monitor for {magic} codes (and combinations of status lines) with minimal if any interference with devices further down the line -- this innovation was necessary to allow daisy-chained dongles for multiple pieces of software. These devices have become rare as the industry has moved away from copy-protection schemes in general. 2. By extension, any physical electronic key or transferable ID required for a program to function. Common variations on this theme have used parallel or even joystick ports. See {dongle-disk}. 3. An adaptor cable mating a special edge-type connector on a PCMCIA or on-board Ethernet card to a standard RJ45 Ethernet jack. This usage seems to have surfaced in 1999 and is now dominant. Laptop owners curse these things because they're notoriously easy to lose and the vendors commonly charge extortionate prices for replacements. [Note: in early 1992, advertising copy from Rainbow Technologies (a manufacturer of dongles) included a claim that the word derived from "Don Gall", allegedly the inventor of the device. The company's receptionist will cheerfully tell you that the story is a myth invented for the ad copy. Nevertheless, I expect it to haunt my life as a lexicographer for at least the next ten years. :-( --ESR] *** Changed in 4.2.0. *** :download: vt. To transfer data or (esp.) code from a far-away system (especially a larger `host' system) over a digital communications link to a nearby system (especially a smaller `client' system. Oppose {upload}. Historical use of these terms was at one time associated with transfers from large timesharing machines to PCs or peripherals (download) and vice-versa (upload). The modern usage relative to the speaker (rather than as an indicator of the size and role of the machines) evolved as machine categories lost most of their former functional importance. *** 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". *** New in 4.2.0. *** :drone: n. Ignorant sales or customer service personnel in computer or electronics superstores. Characterized by a lack of even superficial knowledge about the products they sell, yet possessed of the conviction that they are more competent than their hacker customers. Usage: "That video board probably sucks, it was recommended by a drone at Fry's" In the year 2000, their natural habitats include Fry's Electronics, Best Buy, and CompUSA. *** Changed in 4.2.1, 4.2.3. *** :drool-proof paper: n. Documentation that has been obsessively {dumbed down}, to the point where only a {cretin} could bear to read it, is said to have succumbed to the `drool-proof paper syndrome' or to have been `written on drool-proof paper'. For example, this is an actual quote from Apple's LaserWriter manual: "Do not expose your LaserWriter to open fire or flame." The SGI Indy manual included the line "[Do not] dangle the mouse by the cord or throw it at coworkers." *** New in 4.2.0. *** :dub dub dub: [common] Spoken-only shorthand for the "www" (double-u double-u double-u) in many web host names. Nothing to do with the style of reggae music called `dub'. *** Changed in 4.1.0, 4.1.1. *** :eat flaming death: imp. A construction popularized among hackers by the infamous {CPU Wars} comic; supposedly derived 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 on the 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.2.0. *** :ed: n. "ed is the standard text editor." Line taken from original the {Unix} manual page on ed, an ancient line-oriented editor that is by now used only by a few {Real Programmer}s, and even then only for batch operations. The original line is sometimes uttered near the beginning of an emacs vs. vi holy war on {Usenet}, with the (vain) hope to quench the discussion before it really takes off. Often followed by a standard text describing the many virtues of ed (such as the small memory {footprint} on a Timex Sinclair, and the consistent (because nearly non-existent) user interface). *** 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}. A copy of "The Last Bug" lives on the the GNU site at `http://www.gnu.org/fun/jokes/last.bug.html'. *** Changed in 4.1.0, 4.1.1, 4.3.0. *** :elite: adj. Clueful. Plugged-in. One of the cognoscenti. Also used as a general positive adjective. This term is not actually native hacker slang; 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 `l337' `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, 4.3.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 was long thought 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]. There is a rival claim one by KevinMcKenzie, who seems to have proposed the smiley on the MsgGroup mailing list, April 12 1979. It seems likely these two inventions were independent. 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(?) seems 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.2.0. *** :fandango on core: n. [Unix/C hackers, from the Iberian dance] In C, a wild pointer that runs out of bounds, causing a {core dump}, or corrupts the `malloc(3)' {arena} in such a way as to cause mysterious failures later on, is sometimes said to have `done a fandango on core'. On low-end personal machines without an MMU (or Windows boxes, which have an MMU but use it incompetently), this can corrupt the OS itself, causing massive lossage. Other frenetic dances such as the cha-cha or the watusi, may be substituted. See {aliasing bug}, {precedence lossage}, {smash the stack}, {memory leak}, {memory smash}, {overrun screw}, {core}. *** 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. *** New in 4.2.0. *** :fat-finger: vt. 1. To introduce a typo while editing in such a way that the resulting manglification of a configuration file does something useless, damaging, or wildly unexpected. "NSI fat-fingered their DNS zone file and took half the net down again." 2. More generally, any typo that produces dramatically bad results. *** 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, 4.2.0. *** :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}, `open-apple' or (officially, in Mac documentation) the `command key'. In French, the term `papillon' (butterfly) has been reported. 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' (thing worth seeing); many of these are old churches. Some Swedes report as an idiom for the sign the word `kyrka', cognate to English `church' and pronounced (roughly) /chur'ka/ in modern Swedish. Others say this is nonsense. Other idioms reported for the sign are `runa' (rune) or `runsten' /roon'stn/ (runestone), derived from the fact that many of the interesting features are Viking rune-stones. The term `fornminne' /foorn'min'*/ (relic of antiquity, ancient monument) is also reported, especially among those who think that the Mac itself is a relic of antiquity. *** New in 4.2.2. *** :fiber-seeking backhoe: [common among backbone ISP personnel] Any of a genus of large, disruptive machines which routinely cut critical backbone links, creating Internet outages and {packet over air} problems. *** 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, 4.2.3. *** :filk: /filk/ n.,v. [from SF fandom, where a typo for `folk' was adopted as a new word] Originally, 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. More recently (especially since the late 1980s), filk has come to include a great deal of originally-composed music on SFnal or fantasy themes and a range of moods wider than simple parody or humor. Worthy of mention here because there is a flourishing subgenre of filks 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}. See also {wild side}. [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] *** Changed in 4.2.0. *** :fireworks mode: n. 1. The mode a machine is sometimes said to be in when it is performing a {crash and burn} operation. 2. There is (or was) a more specific meaning of this term in the Amiga community. The word fireworks described the effects of a particularly serious crash which prevented the video pointer(s) from getting reset at the start of the vertical blank. This caused the DAC to scroll through the entire contents of CHIP (video or video+CPU) memory. Since each bit plane would scroll separately this was quite a spectacular effect. *** 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.2.2, 4.3.0. *** :flag day: n. A software change that is neither forward- nor backward-compatible, and which is costly to make and costly to reverse. "Can we install that without causing a flag day for all users?" This term has nothing to do with the use of the word {flag} to mean a variable that has two values. It came into use when a massive change was made to the {{CTSS}} timesharing system to convert from the short-lived 1965 version of the ASCII code to the 1967 version (in draft at the time); this was scheduled for Flag Day (a U.S. holiday), June 14, 1966. The actual change moved the code point for the ASCII newline character; this required that all of the Multics source code, documentation, and device drivers be changed simultaneously. See also {backward combatability}. [Previous versions of this entry described this as a change in {Multics}, which was wrong. Evidently this confusion arose from the fact that the changes were made partly to facilitate Multics developmnt --ESR] *** Changed in 4.1.3, 4.2.0, 4.2.0. *** :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, and from the University of Virginia in the early 1960s. 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. *** New in 4.2.2. Changed in 4.2.3. *** :flash crowd: Larry Niven's 1973 SF short story "Flash Crowd" predicted that one consequence of cheap teleportation would be huge crowds materializing almost instantly at the sites of interesting news stories. Twenty years later the term passed into common use on the Internet to describe exponential spikes in website or server usage when one passes a certain threshold of popular interest (what this does to the server may also be called {slashdot effect}). *** 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, 4.2.2. *** :flood: v. [common] 1. To overwhelm a network channel with mechanically-generated traffic; especially used of IP, TCP/IP, UDP, or ICMP denial-of-service attacks. 2. 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. 3. [Usenet] To post an unusually large number or volume of files on a related topic. *** Changed in 4.2.0, 4.2.0, 4.3.0, 4.3.0. *** :foo: /foo/ 1. interj. Term of disgust. 2. [very common] Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files). 3. First on the standard list of {metasyntactic variable}s used in syntax examples. See also {bar}, {baz}, {qux}, {quux}, {corge}, {grault}, {garply}, {waldo}, {fred}, {plugh}, {xyzzy}, {thud}. When `foo' is used in connection with `bar' it has generally traced to the WWII-era Army slang acronym {FUBAR} (`Fucked Up Beyond All Repair'), later modified to {foobar}. Early versions of the Jargon File interpreted this change as a post-war bowdlerization, but it it now seems more likely that FUBAR was itself a derivative of `foo' perhaps influenced by German `furchtbar' (terrible) - `foobar' may actually have been the _original_ form. For, it seems, the word `foo' itself had an immediate prewar history in comic strips and cartoons. The earliest documented uses were in the "Smokey Stover" comic strip published from about 1930 to about 1952. Bill Holman, the author of the strip, filled it with odd jokes and personal contrivances, including other nonsense phrases such as "Notary Sojac" and "1506 nix nix". The word "foo" frequently appeared in the on license plates of cars, in nonsens sayings in the background of some frames (such as "He who foos last foos best" or "Many smoke but foo men chew"), and Holman had Smokey say "Where there's foo, there's fire". According to the Warner Brothers Cartoon Companion (http://www.spumco.com/magazine/eowbcc/) Holman claimed to have found the word "foo" on the bottom of a Chinese figurine. This is plausible; Chinese statuettes often have apotropaic inscriptions, and this may have been the Chinese word `fu' (sometimes transliterated `foo'), which can mean "happiness" or "prosperity" when spoken with the proper tone (the lion-dog guardians flanking the steps of many Chinese restaurants are properly called "fu dogs"). English speakers' reception of Holman's `foo' nonsense word was undoubtedly influenced by Yiddish `feh' and English `fooey' and `fool'. Holman's strip featured a firetruck called the Foomobile that rode on two wheels. The comic strip was tremendously popular in the late 1930s, and legend has it that a manufacturer in Indiana even produced an operable version of Holman's Foomobile. According to the Encyclopedia of American Comics, `Foo' fever swept the U.S., finding its way into popular songs and generating over 500 `Foo Clubs.' The fad left `foo' references embedded in popular culture (including a couple of appearances in Warner Brothers cartoons of 1938-39; notably in Robert Clampett's "Daffy Doc" of 1938, in which a very early version of Daffy Duck holds up a sign saying "SILENCE IS FOO!") When the fad faded, the origin of "foo" was forgotten. One place "foo" is known to have remained live is in the U.S. military during the WWII years. In 1944-45, the term `foo fighters' was in use by radar operators for the kind of mysterious or spurious trace that would later be called a UFO (the older term resurfaced in popular American usage in 1995 via the name of one of the better grunge-rock bands). Because informants connected the term directly to the Smokey Stover strip, the folk etymology that connects it to French "feu" (fire) can be gently dismissed. The U.S. and British militaries frequently swapped slang terms during the war (see {kluge} and {kludge} for another important example) Period sources reported that `FOO' became a semi-legendary subject of WWII British-army graffiti more or less equivalent to the American Kilroy. Where British troops went, the graffito "FOO was here" or something similar showed up. Several slang dictionaries aver that FOO probably came from Forward Observation Officer, but this (like the contemporaneous "FUBAR") was probably a {backronym} . Forty years later, Paul Dickson's excellent book "Words" (Dell, 1982, ISBN 0-440-52260-7) traced "Foo" to an unspecified British naval magazine in 1946, quoting as follows: "Mr. Foo is a mysterious Second World War product, gifted with bitter omniscience and sarcasm." Earlier versions of this entry suggested the possibility that hacker usage actually sprang from "FOO, Lampoons and Parody", the title of a comic book first issued in September 1958, a joint project of Charles and Robert Crumb. Though Robert Crumb (then in his mid-teens) later became one of the most important and influential artists in underground comics, this venture was hardly a success; indeed, the brothers later burned most of the existing copies in disgust. The title FOO was featured in large letters on the front cover. However, very few copies of this comic actually circulated, and students of Crumb's `oeuvre' have established that this title was a reference to the earlier Smokey Stover comics. The Crumbs may also have been influenced by a short-lived Canadian parody magazine named `Foo' published in 1951-52. An old-time member reports that in the 1959 "Dictionary of the TMRC Language", compiled at {TMRC}, there was an entry that went something like this: FOO: The first syllable of the sacred chant phrase "FOO MANE PADME HUM." Our first obligation is to keep the foo counters turning. (For more about the legendary foo counters, see {TMRC}.) This definition used Bill Holman's nonsense word, only then two decades old and demonstrably still live in popular culture and slang, to a {ha ha only serious} analogy with esoteric Tibetan Buddhism. Today's hackers would find it difficult to resist elaborating a joke like that, and it is not likely 1959's were any less susceptible. Almost the entire staff of what later became the MIT AI Lab was involved with TMRC, and the word spread from there. Finally (and perhaps irrelevantly) a Russian correspondent reports that in mainstream Russian, "Foo" (or "Fu") is an interjection commonly used as a response to bad smell, bad taste, or other unpleasant sensatiion. *** Changed in 4.1.0, 4.1.0, 4.2.0, 4.2.3. *** :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}. In RFC1639, "FOOBAR" was made an abbreviation for "FTP Operation Over Big Address Records", but this was an obvious {backronym}. It has been plausibly suggested that "foobar" spread among early computer engineers partly because of FUBAR and partly because "foo bar" parses in electronics techspeak as an inverted foo signal; if a digital signal is coded so that a positive voltage or high current condition represents a "1", then a horizontal bar is commonly placed over the signal label. *** New in 4.2.2. *** :fork: In the open-source community, a fork is what occurs when two (or more) versions of a software package's source code are being developed in parallel which once shared a common code base, and these multiple versions of the source code have irreconcilable differences between them. This should not be confused with a development branch, which may later be folded back into the original source code base. Nor should it be confused with what happens when a new distribution of Linux or some other distribution is created, because that largely assembles pieces than can and will be used in other distributions without conflict. Forking is uncommon; in fact, it is so uncommon that individual instances loom large in hacker folklore. Notable in this class were the http://www.xemacs.org/About/XEmacsVsGNUemacs.html (Emacs/XEmacs fork), the GCC/EGCS fork (later healed by a merger) and the forks among the FreeBSD, NetBSD, and OpenBSD operating systems. *** Changed in 4.2.2. *** :forked: adj.,vi. 1. [common after 1997, esp. in the Linux community] An open-source software project is said to have forked or be forked when the project group fissions into two or more parts pursuing separate lines of development (or, less commonly, when a third party unconnected to the project group begins its own line of development). Forking is considered a {Bad Thing} - not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction. There is serious social pressure against forking. As a result, major forks (such as the Gnu-Emacs/XEmacs split, the fissionings of the 386BSD group into three daughter project, and the short-lived GCC/EGCS split) are rare enough that they are remembered individually in hacker folklore. 2. [Unix; uncommon; prob. influenced by a mainstream expletive] Terminally slow, or dead. Originated when one system was slowed to a snail's pace by an inadvertent {fork bomb}. *** 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. See also {gib}. *** New in 4.2.0. Changed in 4.3.0. *** :free software: n. As defined by Richard M. Stallman and used by the Free Software movement, this means software that gives users enough freedom to be used by the free software community. Specifically, users must be free to modify the software for their private use, and free to redistribute it either with or without modifications, either commercially or noncommercially, either gratis or charging a distribution fee. Free software has existed since the dawn of computing; Free Software as a movement began in 1984 with the GNU Project. RMS observes that the English word "free" can refer either to liberty (where it means the same as the Spanish or French "libre") or to price (where it means the same as the Spanish "gratis" or French "gratuit"). RMS and other people associated with the FSF like to explain the word "free" in "free software" by saying "Free as an speech, not as in beer." See also {open source}. Hard-core proponents of the term "free software" sometimes reject this newer term, claiming that the style of argument associated with it ignores or downplays the moral imperative at the heart of free software. *** 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(8), 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.3.0. *** :gang bang: n. The use of large numbers of loosely coupled programmers in an attempt to wedge a great many features into a product in a short time. Though there have been memorable gang bangs (e.g., that over-the-weekend assembler port mentioned in Steven Levy's "Hackers"), and large numbers of loosely-coupled programmers operating in {bazaar} mode can do very useful work when they're not on a deadline, most are perpetrated by large companies trying to meet unrealistic deadlines; the inevitable result is enormous buggy masses of code entirely lacking in {orthogonal}ity. When market-driven managers make a list of all the features the competition has and assign one programmer to implement each, the probability of maintaining a coherent (or even functional) design goes to {epsilon}. See also {firefighting}, {Mongolian Hordes technique}, {Conway's Law}. *** New in 4.3.0. *** :geek: n. A person who has chosen concentration rather than conformity; one who pursues skill (especially technical skill) and imagination, not mainstream social acceptance. Geeks usually have a strong case of {neophilia}. Most geeks are adept with computers and treat {hacker} as a term of respect, but not all are hackers themselves - and some who _are_ in fact hackers normally call themselves geeks anyway, because they (quite properly) regard `hacker' as a label that should be bestowed by others rather than self-assumed. One description (http://www.darkwater.com/omni/geek.html) accurately if a little breathlessly enumerates "gamers, ravers, science fiction fans, punks, perverts, programmers, nerds, subgenii, and trekkies. These are people who did not go to their high school proms, and many would be offended by the suggestion that they should have even wanted to." Originally, a `geek' was a carnival performer who bit the heads off chickens. Before about 1990 usage of this term was rather negative. Earlier versions of this lexicon defined a `computer geek' as one who eats (computer) bugs for a living - an asocial, malodorous, pasty-faced monomaniac with all the personality of a cheese grater. This is often still the way geeks are regarded by non-geeks, but as the mainstream culture becomes more dependent on technology and technical skill mainstream attitudes have tended to shift towards grudging respect. Correspondingly, there are now `geek pride' festivals (the implied reference to `gay pride' is not accidental). See also {propeller head}, {clustergeeking}, {geek out}, {wannabee}, {terminal junkie}, {spod}, {weenie}, {geek code}. *** New in 4.2.2. *** :gib: /jib/ 1. vi. To destroy utterly. Like {frag}, but much more violent and final. "There's no trace left. You definitely gibbed that bug". 2. n. Remnants after total obliteration. Originated first by id software in the game Quake. It's short for giblets (thus pronounced "jib"), and referred to the bloody remains of slain opponents. Eventually the word was verbed, and leaked into general usage afterward. *** New in 4.2.2. *** :ginger: n. See {saga}. *** Changed in 4.3.0. *** :glitch: /glich/ [very common; from German `glitschig' slippery, via Yiddish `glitshen', to slide or skid] 1. n. A sudden interruption in electric service, sanity, continuity, or program function. Sometimes recoverable. An interruption in electric service is specifically called a `power glitch' (also {power hit}), of grave concern because it usually crashes all the computers. In jargon, though, a hacker who got to the middle of a sentence and then forgot how he or she intended to complete it might say, "Sorry, I just glitched". 2. vi. To commit a glitch. See {gritch}. 3. vt. [Stanford] To scroll a display screen, esp. several lines at a time. {{WAITS}} terminals used to do this in order to avoid continuous scrolling, which is distracting to the eye. 4. obs. Same as {magic cookie}, sense 2. All these uses of `glitch' derive from the specific technical meaning the term has in the electronic hardware world, where it is now techspeak. A glitch can occur when the inputs of a circuit change, and the outputs change to some {random} value for some very brief time before they settle down to the correct value. If another circuit inspects the output at just the wrong time, reading the random value, the results can be very wrong and very hard to debug (a glitch is one of many causes of electronic {heisenbug}s). *** 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. *** New in 4.2.0. *** :gnubie: /noo'bee/ n. Written-only variant of {newbie} in common use on IRC channels, which implies specifically someone who is new to the Linux/open-source/free-software world. *** New in 4.2.3. *** :go gold: v. [common] See {golden}. *** 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.2.3. *** :golden: adj. [prob. from folklore's `golden egg'] When used to describe a magnetic medium (e.g., `golden disk', `golden tape'), describes one containing a tested, up-to-spec, ready-to-ship software version. Compare {platinum-iridium}. One may also "go gold", which is the act of releasing a golden version. The gold color of many CDROMs is a coincidence; this term was well established a decade before CDROM distribution become common in the mid-1990s. *** Changed in 4.1.0, 4.3.0. *** :gonk: /gonk/ vi.,n. 1. [prob. back-formed from {gonkulator}.] 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. *** New in 4.2.3. Changed in 4.3.0. *** :google: v. [common] To search the Web using the Google search engine, `www.google.com'. Google is highly esteemed among hackers for its significance ranking system, which is so uncannily effective that many users consider it to have rendered other search engines effectively irrelevant. The name `google' has additional flavor for hackers because most know that it was copied from a mathematical term for ten to the hundredth power, famously first uttered by a mathematician's infant child. *** 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.3.0. *** :gray hat: See {black hat}. *** Changed in 4.2.2. *** :green card: n. [after the "IBM System/360 Reference Data" card] A summary of an assembly language, even if the color is not green and not a card. Less frequently used now because of the decrease in the use of assembly language. "I'll go get my green card so I can check the addressing mode for that instruction." The original green card became a yellow card when the System/370 was introduced, and later a yellow booklet. An anecdote from IBM refers to a scene that took place in a programmers' terminal room at Yorktown in 1978. A {luser} overheard one of the programmers ask another "Do you have a green card?" The other grunted and passed the first a thick yellow booklet. At this point the luser turned a delicate shade of olive and rapidly left the room, never to return. In fall 2000 it was reported from Electronic Data Systems that the green card for 370 machines has been a blue-green booklet since 1989. *** 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 grues 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, 4.2.0. *** :guru meditation: n. Amiga equivalent of `panic' in Unix (sometimes just called a `guru' or `guru event'). When the system crashes, a cryptic message of the form "GURU MEDITATION #XXXXXXXX.YYYYYYYY" may appear, indicating what the problem was. An Amiga guru can figure things out from the numbers. Sometimes a {guru} event must be followed by a {Vulcan nerve pinch}. This term is (no surprise) an in-joke from the earliest days of the Amiga. An earlier product of the Amiga corporation was 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, 4.3.0. *** :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; others allege that `gweep' was the sound of the Datapoint's bell (compare {feep}). 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." Derogatory in connotation, and not used in self-reference. *** 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 {geek}, {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, 4.2.2, 4.3.0, 4.3.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}. There is a theorem in simplicial homology theory which states that any continuous tangent field on a 2-sphere is null at least in a 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." (Previous versions of this entry associating the above informal statement with the Brouwer fixed-point theorem were incorrect.) 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. In British mainstream use, "hairy" means "dangerous", and consequently, in British programming terms, "hairy" may be used to denote complicated and/or incomprehensible code, but only if that complexity or incomprehesiveness is also considered dangerous. *** Changed in 4.3.0. *** :hakspek: /hak'speek/ n. A shorthand method of spelling found on many British academic bulletin boards and {talker system}s. Syllables and whole words in a sentence are replaced by single ASCII characters the names of which are phonetically similar or equivalent, while multiple letters are usually dropped. Hence, `for' becomes `4'; `two', `too', and `to' become `2'; `ck' becomes `k'. "Before I see you tomorrow" becomes "b4 i c u 2moro". First appeared in London about 1986, and was probably caused by the slowness of available talker systems, which operated on archaic machines with outdated operating systems and no standard methods of communication. Hakspek almost diappeared after the great bandwidth explosion of the early 1990s, as fast Internet links wiped out the old-style talker systems. However, it has enjoyed a revival in another medium - the Short Message Service (SMS) associated with GSM cellphones. SMS sends are limited to a maximum of 160 characters, and typing on a cellphone keypad is difficult and slow anyway. There are now even published paper dictionaries for SMS users to help them do hakspek-to-English and vice-versa. See also {talk mode}. *** 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.2.0. *** :happily: adv. Of software, used to emphasize that a program is unaware of some important fact about its environment, either because it has been fooled into believing a lie, or because it doesn't care. The sense of `happy' here is not that of elation, but rather that of blissful ignorance. "The program continues to run, happily unaware that its output is going to /dev/null." Also used to suggest that a program or device would really rather be doing something destructive, and is being given an opportunity to do so. "If you enter an O here instead of a zero, the program will happily erase all your data." Neverheless, use of this term implies a basically benign attitude towards the program: It didn't mean any harm, it was just eager to do its job. We'd like to be angry at it but we shouldn't, we should try to understand it instead. The adjective "cheerfully" is often used in exactly the same way. *** Changed in 4.2.0. *** :heatseeker: n. [IBM] A customer who can be relied upon to buy, without fail, the latest version of an existing product (not quite the same as a member of the {lunatic fringe}). A 1993 example of a heatseeker was someone who, owning a 286 PC and Windows 3.0, went out and bought Windows 3.1 (which offers no worthwhile benefits unless you have a 386). If all customers were heatseekers, vast amounts of money could be made by just fixing some of the bugs in each release (n) and selling it to them as release (n+1). Microsoft in fact seems to have mastered this technique. *** 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.2.3, 4.3.0. *** :hexadecimal:: n. Base 16. Coined in the early 1950s to replace earlier `sexadecimal', which was too racy and amusing for stuffy IBM, and later adopted by the rest of the industry. Actually, neither term is etymologically pure. If we take `binary' to be paradigmatic, the most etymologically correct term for base 10, for example, is `denary', which comes from `deni' (ten at a time, ten each), a Latin `distributive' number; the corresponding term for base-16 would be something like `sendenary'. "Decimal" comes from the combining root of `decem', Latin for 10. If wish to create a truly analogous word for base 16, we should start with `sedecim', Latin for 16. Ergo, `sedecimal' is the word that would have been created by a Latin scholar. The `sexa-' prefix is Latin but incorrect in this context, and `hexa-' is Greek. The word `octal' is similarly incorrect; a correct form would be `octaval' (to go with decimal), or `octonary' (to go with binary). If anyone ever implements a base-3 computer, computer scientists will be faced with the unprecedented dilemma of a choice between two _correct_ forms; both `ternary' and `trinary' have a claim to this throne. *** Changed in 4.2.1, 4.2.1. *** :holy wars: n. [from {Usenet}, but may predate it; common] n. {flame war}s over {religious issues}. The paper by Danny Cohen that popularized the terms {big-endian} and {little-endian} in connection with the LSB-first/MSB-first controversy was entitled "On Holy Wars and a Plea for Peace". Great holy wars of the past have included {{ITS}} vs. {{Unix}}, {{Unix}} vs. {VMS}, {BSD} Unix vs. System V, {C} vs. {{Pascal}}, {C} vs. FORTRAN, etc. In the year 2000, popular favorites of the day are KDE vs, GNOME, vim vs. elvis, Linux vs. [Free|Net|Open]BSD. Hardy perennials include {EMACS} vs. {vi}, my personal computer vs. everyone else's personal computer, ad nauseam. The characteristic that distinguishes holy wars from normal technical disputes is that in a holy war most of the participants spend their time trying to pass off personal value choices and cultural attachments as objective technical evaluations. This happens precisely because in a true holy war, the actual substantive differences between the sides are relatively minor. See also {theology}. *** New in 4.2.2. *** :honey pot: n. A box designed to attract {cracker}s so that they can be observed in action. It is usually well isolated from the rest of the network, but has extensive logging (usually network layer, on a different machine). Different from an {iron box} in that it's purpose is to attract, not merely observe. Sometimes, it is also a defensive network security tactic - you set up an easy-to-crack box so that your real servers don't get messed with. The concept was presented in Cheswick & Bellovin's book "Firewalls and Internet Security". *** 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 2001, 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.2.0. *** :indent style: n. [C, C++, and Java programmers] The rules one uses to indent code in a readable fashion. There are four major C indent styles, described below; all have the aim of making it easier for the reader to visually track the scope of control constructs. They have been inherited by C++ and Java, which have C-like syntaxes. The significant variable is the placement of `{' and `}' with respect to the statement(s) they enclose and to the guard or controlling statement (`if', `else', `for', `while', or `do') on the block, if any. `K&R style' -- Named after Kernighan & Ritchie, because the examples in {K&R} are formatted this way. Also called `kernel style' because the Unix kernel is written in it, and the `One True Brace Style' (abbrev. 1TBS) by its partisans. In C code, the body is typically indented by eight spaces (or one tab) per level, as shown here. Four spaces are occasionally seen in C, but in C++ and Java four tends to be the rule rather than the exception. if () { } `Allman style' -- Named for Eric Allman, a Berkeley hacker who wrote a lot of the BSD utilities in it (it is sometimes called `BSD style'). Resembles normal indent style in Pascal and Algol. It is the only style other than K&R in widespread use among Java programmers. Basic indent per level shown here is eight spaces, but four (or sometimes three) spaces are generally preferred by C++ and Java programmers. if () { } `Whitesmiths style' -- popularized by the examples that came with Whitesmiths C, an early commercial C compiler. Basic indent per level shown here is eight spaces, but four spaces are occasionally seen. if () { } `GNU style' -- Used throughout GNU EMACS and the Free Software Foundation code, and just about nowhere else. Indents are always four spaces per level, with `{' and `}' halfway between the outer and inner indent levels. if () { } Surveys have shown the Allman and Whitesmiths styles to be the most common, with about equal mind shares. K&R/1TBS used to be nearly universal, but is now much less common in C (the opening brace tends to get lost against the right paren of the guard part in an `if' or `while', which is a {Bad Thing}). Defenders of 1TBS argue that any putative gain in readability is less important than their style's relative economy with vertical space, which enables one to see more code on one's screen at once. The Java Language Specification legislates not only the capitalization of identifiers, but where nouns, adjectives, and verbs should be in method, class, interface, and variable names (section 6.8). While the specification stops short of also standardizing on a bracing style, all source code originating from Sun Laboratories uses the K&R style. This has set a precedent for Java programmers, which most follow. Doubtless these issues will continue to be the subject of {holy wars}. *** 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.2.2. *** :installfest: [Linux community since c.1998] Common portmanteau word for "installation festival"; Linux user groups frequently run these. Computer users are invited to bring their machines to have Linux installed on their machines. The idea is to get them painlessly over the biggest hump in migrating to Linux, which is initially installing and configuring it for the user's machine. *** New in 4.3.0. *** :intertwingled: adj. [Invented by Theodor Holm Nelson, prob. a blend of "mingled" and "intertwined".] Connected together in a complex way; specifically, composed of one another's components. *** 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.2.0. *** :jolix: /joh'liks/ n.,adj. 386BSD, the freeware port of the BSD Net/2 release to the Intel i386 architecture by Bill Jolitz, Lynne Greer Jolitz, and friends. Used to differentiate from BSDI's port based on the same source tape, which used to be called BSD/386 and is now BSD/OS. See {BSD}. *** Changed in 4.3.0. *** :jump off into never-never land: v. [from J. M. Barrie's "Peter Pan"] An unexpected jump in a program that produces catastrophic or just plain weird results. Compare {hyperspace}. *** Changed in 4.1.2, 4.2.2. *** :k-: pref. [rare; poss fr. `kilo-' prefix] 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.2.1. Changed in 4.2.2. *** :kernel-of-the-week club: The fictional society that {BSD} {bigot}s claim {Linux} users belong to, alluding to the release-early-release-often style preferred by the kernel maintainers. See {bazaar}. This was almost certainly inspired by the earlier {bug-of-the-month club}. *** Changed in 4.2.2, 4.2.2. *** :kick: v. 1. [IRC] To cause somebody to be removed from a {IRC} channel, an option only available to channel ops. This is an extreme measure, often used to combat extreme {flamage} or {flood}ing, but sometimes used at the {CHOP}'s whim. Compare {gun}. 2. To reboot a machine or kill a running process. "The server's down, let me go kick it." *** Changed in 4.2.0. *** :kluge: /klooj/ [from the German `klug', clever; poss. related to Polish `klucz' (a key, a hint, a main point)] 1. n. A Rube Goldberg (or Heath Robinson) device, whether in hardware or software. 2. n. A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves {ad-hockery} and verges on being a {crock}. 3. n. Something that works for the wrong reason. 4. vt. To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way." 5. [WPI] n. A feature that is implemented in a {rude} manner. Nowadays this term is often encountered in the variant spelling `kludge'. Reports from {old fart}s are consistent that `kluge' was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of _hardware_ kluges. In 1947, the "New York Folklore Quarterly" reported a classic shaggy-dog story `Murgatroyd the Kluge Maker' then current in the Armed Forces, in which a `kluge' was a complex and puzzling artifact with a trivial function. Other sources report that `kluge' was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea. However, there is reason to believe this slang use may be a decade older. Several respondents have connected it to the brand name of a device called a "Kluge paper feeder", an adjunct to mechanical printing presses. Legend has it that the Kluge feeder was designed before small, cheap electric motors and control electronics; it relied on a fiendishly complex assortment of cams, belts, and linkages to both power and synchronize all its operations from one motive driveshaft. It was accordingly temperamental, subject to frequent breakdowns, and devilishly difficult to repair -- but oh, so clever! People who tell this story also aver that `Kluge' was the name of a design engineer. There is in fact a Brandtjen & Kluge Inc., an old family business that manufactures printing equipment - interestingly, their name is pronounced /kloo'gee/! Henry Brandtjen, president of the firm, told me (ESR, 1994) that his company was co-founded by his father and an engineer named Kluge /kloo'gee/, who built and co-designed the original Kluge automatic feeder in 1919. Mr. Brandtjen claims, however, that this was a _simple_ device (with only four cams); he says he has no idea how the myth of its complexity took hold. Other correspondents differ with Mr. Brandtjen's history of the device and his allegation that it was a simple rather than complex one, but agree that the Kluge automatic feeder was the most likely source of the folklore. {TMRC} and the MIT hacker culture of the early '60s seems to have developed in a milieu that remembered and still used some WWII military slang (see also {foobar}). It seems likely that `kluge' came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which {TMRC} is also located) during the war. The variant `kludge' was apparently popularized by the {Datamation} article mentioned above; it was titled "How to Design a Kludge" (February 1962, pp. 30, 31). This spelling was probably imported from Great Britain, where {kludge} has an independent history (though this fact was largely unknown to hackers on either side of the Atlantic before a mid-1993 debate in the Usenet group alt.folklore.computers over the First and Second Edition versions of this entry; everybody used to think {kludge} was just a mutation of {kluge}). It now appears that the British, having forgotten the etymology of their own `kludge' when `kluge' crossed the Atlantic, repaid the U.S. by lobbing the `kludge' orthography in the other direction and confusing their American cousins' spelling! The result of this history is a tangle. Many younger U.S. hackers pronounce the word as /klooj/ but spell it, incorrectly for its meaning and pronunciation, as `kludge'. (Phonetically, consider huge, refuge, centrifuge, and deluge as opposed to sludge, judge, budge, and fudge. Whatever its failings in other areas, English spelling is perfectly consistent about this distinction.) British hackers mostly learned /kluhj/ orally, use it in a restricted negative sense and are at least consistent. European hackers have mostly learned the word from written American sources and tend to pronounce it /kluhj/ but use the wider American meaning! Some observers consider this mess appropriate in view of the word's meaning. *** New in 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 Rinzai Zen Buddhism). Defined here because hackers are very fond of the koan form and compose their own koans for humorous and/or enlightening effect. See {Some AI Koans}, {has the X nature}, {hacker humor}. *** New in 4.2.3. *** :kook: [Usenet; originally and more formally, `net.kook'] Term used to describe a regular poster who continually posts messages with no apparent grounding in reality. Different from a {troll}, which implies a sort of sly wink on the part of a poster who knows better, kooks really believe what they write, to the extent that they believe anything. The kook trademark is paranoia and grandiosity. Kooks will often build up elaborate imaginary support structures, fake corporations and the like, and continue to act as if those things are real even after their falsity has been documented in public. While they may appear harmless, and are usually filtered out by the other regular participants in a newsgroup of mailing list, they can still cause problems because the necessity for these measures is not immediately apparent to newcomers; there are several instances on record, for example, of journalists writing stories with quotes from kooks who caught them unaware. An entertaining web page chronicaling the activities of many notable kooks can be found at `http://www.crank.net/usenet.html'. *** Changed in 4.2.0. *** :kyrka: /chur'ka/ n. [Swedish] See {feature key}. *** 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, 4.3.0, 4.3.0. *** :lamer: n. [originally among Amiga fans] 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. This term originated among Amiga crackers of the mid-1980s. It was popularized there by Lamer Exterminator', the most famous and feared Amiga virus ever, which gradually corrupted non-write-protected floppy disks with bad sectors. The bad sectors, when looked at, where overwritten with the following text: 'LAMER! LAMER! LAMER! LAMER! (x1000)' *** 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.2.1, 4.2.2. *** :leech: 1. n. (Also `leecher'.) Among BBS types, crackers and {warez d00dz}, one who consumes knowledge without generating new software, cracks, or techniques. BBS culture specifically defines a leech as someone who downloads files with few or no uploads in return, and who does not contribute to the message section. Cracker culture extends this definition to someone (a {lamer}, usually) who constantly presses informed sources for information and/or assistance, but has nothing to contribute. 2. v. [common, Toronto area] To instantly fetch a file (other than a mail attachment) whether by FTP or IRC file req or any other method. Seems to be a holdover from the early 1990s when Toronto had a very active BBS and warez scene. *** New in 4.2.2. *** :leech mode: n. [warez d00dz] "Leech mode" or "leech access" or (simply "leech" as in "You get leech") is the access mode on a FTP site where one can download as many files as one wants, without having to upload. Leech mode is often promised on banner sites, but rarely obtained. See {ratio site}, {banner site}. *** 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}. *** Changed in 4.2.0. *** :line starve: [MIT] 1. vi. To feed paper through a printer the wrong way by one line (most printers can't do this). On a display terminal, to move the cursor up to the previous line of the screen. "To print `X squared', you just output `X', line starve, `2', line feed." (The line starve causes the `2' to appear on the line above the `X', and the line feed gets back to the original line.) 2. n. A character (or character sequence) that causes a terminal to perform this action. ASCII 0011010, also called SUB or control-Z, was one common line-starve character in the days before microcomputers and the X3.64 terminal standard. Today, the term might be used for the ISO reverse line feed character 0x8D. Unlike `line feed', `line starve' is _not_ standard {{ASCII}} terminology. Even among hackers it is considered a bit silly. 3. [proposed] A sequence such as \c (used in System V echo, as well as {{nroff}} and {{troff}}) that suppresses a {newline} or other character(s) that would normally be emitted. *** 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 an 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, 4.2.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". Parodies playing on these senses of the term abound; some have made their way into serious documentation, as when a MAGIC directive was described in the Control Card Reference for GCOS c.1978. For more about hackish `magic', see {Appendix A}. Compare {black magic}, {wizardly}, {deep magic}, {heavy wizardry}. *** Changed in 4.1.0, 4.3.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}). However, in yet another instance of the {cycle of reincarnation}, the port of Linux to the IBM S/390 architecture in 1999 - assisted by IBM - produced a resurgence of interest in mainframe computing as a way of providing huge quanitities of easily maintainable, reliable virtual Linux servers, saving IBM's mainframe division from almost certain extinction. *** 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. *** New in 4.2.0. *** :meatspace: /meet'spays/ n. The physical world, where the meat lives - as opposed to {cyberspace}. Hackers are actually more willing to use this term than `cyberspace', because it's not speculative - we already have a running meatspace implementation (the universe). Compare {RL}. *** 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, 4.2.0, 4.2.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 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}, bletch: Waterloo University. We are informed that the CS club at Waterloo formerly had a sign on its door reading "Ye Olde Foo Bar and Grill"; this led to an attempt to establish "grill" as the third metasyntactic variable, but it never caught on. {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/. foo, bar, baz, bongo Yale, late 1970s. spam, eggs {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. oogle, foogle, boogle; zork, gork, bork These two series (which may be continued with other initial consonents) are reportedly common in England, and said to go back to Lewis Carroll. 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 Coupland's book "Microserfs"] A programmer at {Microsoft}, especially a low-level coder with little chance of fame or fortune. Compare {MicroDroid}. *** New in 4.2.2. *** :micros~1: An abbreviation of the full name {Microsoft} resembling the rather {bogus} way Windows 9x's VFAT filesystem truncates long file names to fit in the MS-DOS 8+3 scheme (the real filename is stored elsewhere). If other files start with the same prefix, they'll be called micros~2 and so on, causing lots of problems with backups and other routine system-administration problems. During the US Antitrust trial against Microsoft the names Micros~1 and Micros~2 were suggested for the two companies that would exist after a break-up. *** 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.2.0. *** :middle-out implementation: See {bottom-up implementation}. *** Changed in 4.2.2. *** :minifloppies: n.,obs. 5.25-inch floppy disks, as opposed to 3.5-inch or {microfloppies} and the long-obsolescent 8-inch variety (if there is ever a smaller size, they will undoubtedly be tagged `nanofloppies'). At one time, this term was a trademark of Shugart Associates for their SA-400 minifloppy drive. Nobody paid any attention. See {stiffy}. *** New in 4.3.0. *** :minor detail: Often used in an ironic sense about brokenness or problems that while apparently major, are in principle solvable. "It works - the fact that it crashes the system right after is a minor detail." Compare {SMOP}. *** 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.2.0. *** :molly-guard: /mol'ee-gard/ n. [University of Illinois] A shield to prevent tripping of some {Big Red Switch} by clumsy or ignorant hands. Originally used of the plexiglass covers improvised for the BRS on an IBM 4341 after a programmer's toddler daughter (named Molly) frobbed it twice in one day. Later generalized to covers over stop/reset switches on disk drives and networking equipment. In hardware catalogues, you'll see the much less interesting description "guarded button". *** 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://www.worldwidewords.org/articles/monty.htm) for discussion of the rather complex etymology that may lie behind this. Compare American {moby}. *** New in 4.2.2. *** :muggle: [from J.K. Rowling's `Harry Potter' books, 1998] A non-{wizard}. Not as disparaging as {luser}; implies vague pity rather than contempt. In the universe of Rowling's enormously (and deservedly) popular children's series, muggles and wizards inhabit the same modern world, but each group is ignorant of the commonplaces of the others' existence - most muggles are unaware that wizards exist, and wizards (used to magical ways of doing everything) are perplexed and fascinated by muggle artifacts. In retrospect it seems completely inevitable that hackers would adopt this metaphor, and in hacker usage it readily forms compounds such as `muggle-friendly'. Compare {luser}, {mundane}. *** Changed in 4.2.3. *** :mung: /muhng/ vt. [in 1960 at MIT, `Mash Until No Good'; sometime after that the derivation from the {{recursive acronym}} `Mung Until No Good' became standard; but see {munge}] 1. To make changes to a file, esp. large-scale and irrevocable changes. See {BLT}. 2. To destroy, usually accidentally, occasionally maliciously. The system only mungs things maliciously; this is a consequence of {Finagle's Law}. See {scribble}, {mangle}, {trash}, {nuke}. Reports from {Usenet} suggest that the pronunciation /muhnj/ is now usual in speech, but the spelling `mung' is still common in program comments (compare the widespread confusion over the proper spelling of {kluge}). 3. In the wake of the {spam} epidemics of the 1990s, mung is now commonly used to describe the act of modifying an email address in a sig block in a way that human beings can readily reverse but that will fool an {address harvester}. Example: johnNOSPAMsmith@isp.net. 4. The kind of beans the sprouts of which are used in Chinese food. (That's their real name! Mung beans! Really!) Like many early hacker terms, this one seems to have originated at {TMRC}; it was already in use there in 1958. Peter Samson (compiler of the original TMRC lexicon) thinks it may originally have been onomatopoeic for the sound of a relay spring (contact) being twanged. However, it is known that during the World Wars, `mung' was U.S. army slang for the ersatz creamed chipped beef better known as `SOS', and it seems quite likely that the word in fact goes back to Scots-dialect {munge}. *** Changed in 4.1.0, 4.2.2. *** :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). The OED reports `munge' as an archaic verb meaning "to wipe (a person's nose)". *** 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." Compare {brute force}. *** New in 4.2.0. *** :nerd knob: n. [Cisco] A command in a complex piece of software which is more likely to be used by an extremely experienced user to tweak a setting of one sort or another - a setting which the average user may not even know exists. Nerd knobs tend to be toggles, turning on or off a particular, specific, narrowly defined behavior. *** 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, 4.2.0. *** :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 now an official site at `http://www.nethack.org/'. See also {moria}, {rogue}, {Angband}. *** Changed in 4.3.0. *** :netiquette: /net'ee-ket/ or /net'i-ket/ n. [Coined by Chuq von Rospach c.1983] [portmanteau, network + etiquette] The conventions of politeness recognized on {Usenet}, such as avoidance of cross-posting to inappropriate groups and refraining from commercial pluggery outside the biz groups. *** 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.2.1. *** :newbie: /n[y]oo'bee/ n. [very common; orig. from British public-school and military slang variant of `new boy'] A Usenet neophyte. This term surfaced in the {newsgroup} talk.bizarre but is now in wide use (the combination "clueless newbie" is especially common). Criteria for being considered a newbie vary wildly; a person can be called a newbie in one newsgroup while remaining a respected regular in another. The label `newbie' is sometimes applied as a serious insult to a person who has been around Usenet for a long time but who carefully hides all evidence of having a clue. See {B1FF}; see also {gnubie}. *** 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. *** Changed in 4.2.0. *** :newline: /n[y]oo'li:n/ n. 1. [techspeak, primarily Unix] The ASCII LF character (0001010), used under {{Unix}} as a text line terminator. Though the term `newline' appears in ASCII standards, it never caught on in the general computing world before Unix. 2. More generally, any magic character, character sequence, or operation (like Pascal's writeln procedure) required to terminate a text record or separate lines. See {crlf}, {terpri}. *** Changed in 4.2.2. *** :nipple mouse: n. Var. `clit mouse, clitoris' Common term for the pointing device used on IBM ThinkPads and a few other laptop computers. The device, which sits between the `g' and `h' keys on the keyboard, indeed resembles a rubber nipple intended to be tweaked by a forefinger. Many hackers consider these superior to the glide pads found on most laptops, which are harder to control precisely. *** New in 4.3.0. *** :not entirely unlike X: Used ironically of things which are in fact almost entirely unlike X, except for one feature which the speaker clearly regards as insignificant. "That is not entirely unlike cool...at least it's small. Comes directly from the Hitchiker's Guide to the Galaxy scene in which the food synthesizer on the starship Heart of Gold dispenses something "almost, but not entirely unlike, tea". *** 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, 4.2.0, 4.2.3, 4.3.0. *** :nybble: /nib'l/ (alt. `nibble') n. [from v. `nibble' by analogy with `bite' => `byte'] Four bits; one {hex} digit; a half-byte. Though `byte' is now techspeak, this useful relative is still jargon. Compare {{byte}}; see also {bit}. 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', `double word', and `quad' or `quad word'; some (indicated) have substantial information separate entries. 2 bits: {crumb}, {quad}, {quarter}, tayste, tydbit, morsel 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 bits: word (on a 36-bit machine) 48 bits: {gawble} (under circumstances that remain obscure) 64 bits: double word (on a 32-bit machine) quad (on a 16-bit machine) 128 bits: quad (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 became one of the naturalized imports from SF fandom frequently observed among hackers. *** Changed in 4.1.0, 4.2.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 a {Perl} program that prints primes: perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_' In the Perl world this game is sometimes called Perl Golf because the player with the fewest (key)strokes wins. *** 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 avoiding the negative connotations (to {suit}s) of the term "{free software}". For discussion of the follow-on 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.2.2. *** :packet over air: [common among backbone ISPs] The protocol notionally being used by Internet data attempting to traverse a physical gap or break in the network, such as might be caused by a {fiber-seeking backhoe}. "I see why you're dropping packets. You seem to have a packet over air problem." *** 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 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.2.0. *** :pointy hat: n. See {wizard hat}. This synonym specifically refers to the wizards of Unseen University in Terry Pratchett's "Discworld" series of humorous fantasies; these books are extremely popular among hackers. *** 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." *** Changed in 4.2.0. *** :pop: /pop/ [from the operation that removes the top of a stack, and the fact that procedure return addresses are usually saved on the stack] (also capitalized `POP') 1. vt. To remove something from a {stack} or {PDL}. If a person says he/she has popped something from his stack, that means he/she has finally finished working on it and can now remove it from the list of things hanging overhead. 2. When a discussion gets to a level of detail so deep that the main point of the discussion is being lost, someone will shout "Pop!", meaning "Get back up to a higher level!" The shout is frequently accompanied by an upthrust arm with a finger pointing to the ceiling. 3. [all-caps, as `POP'] Point of Presence, a bank of dial-in lines allowing customers to make (local) calls into an ISP. This is borderline techspeak. *** Changed in 4.3.0. *** :poser: n. [from French `poseur'] A {wannabee}; not hacker slang, but used among crackers, phreaks and {warez d00dz}. Not as negative as {lamer} or {leech}. Probably derives from a similar usage among punk-rockers and metalheads, putting down those who "talk the talk but don't walk the walk". *** 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 any kind. 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}. *** New in 4.2.0. *** :proggy: n. 1. Any computer program that is considered a full application. 2. Any computer program that is made up of or otherwise contains {proglet}s. 3. Any computer program that is large enough to be normally distributed as an RPM or {tarball}. *** 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, 4.2.0. *** :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 used in the phrase "proprietary crap". 3. Synonym for closed-source, e.g. software issued in binary without source and under a restrictive license. Since the coining of the term {open source}, many hackers have made a conscious effort to distinguish between `proprietary' and `commercial' software. It is possible for software to be commercial (that is, intended to make a profit for the producers) without being proprietary. The reverse is also possible, for example in binary-only freeware. *** 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.2.0. *** :quine: /kwi:n/ n. [from the name of the logician Willard van Orman Quine, via Douglas Hofstadter] A program that generates a copy of its own source text as its complete output. Devising the shortest possible quine in some given programming language is a common hackish amusement. (We ignore some variants of BASIC in which a program consisting of a single empty string literal reproduces itself trivially.) Here is one classic quine: ((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x))))) This one works in LISP or Scheme. It's relatively easy to write quines in other languages such as Postscript which readily handle programs as data; much harder (and thus more challenging!) in languages like C which do not. Here is a classic C quine for ASCII machines: char*f="char*f=%c%s%c;main() {printf(f,34,f,34,10);}%c"; main(){printf(f,34,f,34,10);} For excruciatingly exact quinishness, remove the interior line breaks. Here is another elegant quine in ANSI C: #define q(k)main(){return!puts(#k"\nq("#k")");} q(#define q(k)main(){return!puts(#k"\nq("#k")");}) Some infamous {Obfuscated C Contest} entries have been quines that reproduced in exotic ways. There is an amusing Quine Home Page (http://www.nyx.org/~gthompso/quine.htm). *** 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 ("what is 6 times 9", correct in base 13). (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. 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 gratuitous 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.2.2. *** :ratio site: [warez d00dz] An FTP site storing pirated files where one must first upload something before being able to download. There is a ratio, based on bytes or files count, between the uploads and download. For instance, on a 2:1 site, to download a 4 Mb file, one must first upload at least 2 Mb of files. The hotter the contents of the server are, the smaller the ratio is. More often than not, the server refuses uploads because its disk is full, making it useless for downloading - or the connection magically breaks after one has uploaded a large amount of files, just before the downloading phase begins. See also {banner site}, {leech mode}. *** Changed in 4.2.0. *** :rc file: /R-C fi:l/ n. [Unix: from `runcom files' on the {CTSS} system 1962-63, via the startup script `/etc/rc'] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also {dot file}, {profile} (sense 1). *** 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. *** Changed in 4.3.0. *** :roach: vt. [Bell Labs] To destroy, esp. of a data structure. Hardware gets {toast}ed or {fried}, software gets roached. Probably derived from '70s and '80s drug slang; marijuana smokers used `roach' to refer to the unsmokable remnant of a joint, and to `roach' a joint was therefore to destroy it. *** New in 4.1.0. *** :robocanceller: /roh-boh-kan'sel-*r/ A program that monitors Usenet feeds, attempting to detect and eliminate {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}, {moria}, {Angband}. 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 misspelled as "rouge". *** Changed in 4.2.2. *** :saga: n. [WPI] A cuspy but bogus raving story about N random broken people. Here is a classic example of the saga form, as told by Guy L. Steele: Jon L. White (login name JONL) and I (GLS) were office mates at MIT for many years. One April, we both flew from Boston to California for a week on research business, to consult face-to-face with some people at Stanford, particularly our mutual friend Richard P. Gabriel (RPG; see {gabriel}). RPG picked us up at the San Francisco airport and drove us back to Palo Alto (going {logical} south on route 101, parallel to {El Camino Bignum}). Palo Alto is adjacent to Stanford University and about 40 miles south of San Francisco. We ate at The Good Earth, a `health food' restaurant, very popular, the sort whose milkshakes all contain honey and protein powder. JONL ordered such a shake -- the waitress claimed the flavor of the day was "lalaberry". I still have no idea what that might be, but it became a running joke. It was the color of raspberry, and JONL said it tasted rather bitter. I ate a better tostada there than I have ever had in a Mexican restaurant. After this we went to the local Uncle Gaylord's Old Fashioned Ice Cream Parlor. They make ice cream fresh daily, in a variety of intriguing flavors. It's a chain, and they have a slogan: "If you don't live near an Uncle Gaylord's -- MOVE!" Also, Uncle Gaylord (a real person) wages a constant battle to force big-name ice cream makers to print their ingredients on the package (like air and plastic and other non-natural garbage). JONL and I had first discovered Uncle Gaylord's the previous August, when we had flown to a computer-science conference in Berkeley, California, the first time either of us had been on the West Coast. When not in the conference sessions, we had spent our time wandering the length of Telegraph Avenue, which (like Harvard Square in Cambridge) was lined with picturesque street vendors and interesting little shops. On that street we discovered Uncle Gaylord's Berkeley store. The ice cream there was very good. During that August visit JONL went absolutely bananas (so to speak) over one particular flavor, ginger honey. Therefore, after eating at The Good Earth -- indeed, after every lunch and dinner and before bed during our April visit -- a trip to Uncle Gaylord's (the one in Palo Alto) was mandatory. We had arrived on a Wednesday, and by Thursday evening we had been there at least four times. Each time, JONL would get ginger honey ice cream, and proclaim to all bystanders that "Ginger was the spice that drove the Europeans mad! That's why they sought a route to the East! They used it to preserve their otherwise off-taste meat." After the third or fourth repetition RPG and I were getting a little tired of this spiel, and began to paraphrase him: "Wow! Ginger! The spice that makes rotten meat taste good!" "Say! Why don't we find some dog that's been run over and sat in the sun for a week and put some _ginger_ on it for dinner?!" "Right! With a lalaberry shake!" And so on. This failed to faze JONL; he took it in good humor, as long as we kept returning to Uncle Gaylord's. He loves ginger honey ice cream. Now RPG and his then-wife KBT (Kathy Tracy) were putting us up (putting up with us?) in their home for our visit, so to thank them JONL and I took them out to a nice French restaurant of their choosing. I unadventurously chose the filet mignon, and KBT had je ne sais quoi du jour, but RPG and JONL had lapin (rabbit). (Waitress: "Oui, we have fresh rabbit, fresh today." RPG: "Well, JONL, I guess we won't need any _ginger_!") We finished the meal late, about 11 P.M., which is 2 A.M Boston time, so JONL and I were rather droopy. But it wasn't yet midnight. Off to Uncle Gaylord's! Now the French restaurant was in Redwood City, north of Palo Alto. In leaving Redwood City, we somehow got onto route 101 going north instead of south. JONL and I wouldn't have known the difference had RPG not mentioned it. We still knew very little of the local geography. I did figure out, however, that we were headed in the direction of Berkeley, and half-jokingly suggested that we continue north and go to Uncle Gaylord's in Berkeley. RPG said "Fine!" and we drove on for a while and talked. I was drowsy, and JONL actually dropped off to sleep for 5 minutes. When he awoke, RPG said, "Gee, JONL, you must have slept all the way over the bridge!", referring to the one spanning San Francisco Bay. Just then we came to a sign that said "University Avenue". I mumbled something about working our way over to Telegraph Avenue; RPG said "Right!" and maneuvered some more. Eventually we pulled up in front of an Uncle Gaylord's. Now, I hadn't really been paying attention because I was so sleepy, and I didn't really understand what was happening until RPG let me in on it a few moments later, but I was just alert enough to notice that we had somehow come to the Palo Alto Uncle Gaylord's after all. JONL noticed the resemblance to the Palo Alto store, but hadn't caught on. (The place is lit with red and yellow lights at night, and looks much different from the way it does in daylight.) He said, "This isn't the Uncle Gaylord's I went to in Berkeley! It looked like a barn! But this place looks _just like_ the one back in Palo Alto!" RPG deadpanned, "Well, this is the one _I_ always come to when I'm in Berkeley. They've got two in San Francisco, too. Remember, they're a chain." JONL accepted this bit of wisdom. And he was not totally ignorant -- he knew perfectly well that University Avenue was in Berkeley, not far from Telegraph Avenue. What he didn't know was that there is a completely different University Avenue in Palo Alto. JONL went up to the counter and asked for ginger honey. The guy at the counter asked whether JONL would like to taste it first, evidently their standard procedure with that flavor, as not too many people like it. JONL said, "I'm sure I like it. Just give me a cone." The guy behind the counter insisted that JONL try just a taste first. "Some people think it tastes like soap." JONL insisted, "Look, I _love_ ginger. I eat Chinese food. I eat raw ginger roots. I already went through this hassle with the guy back in Palo Alto. I _know_ I like that flavor!" At the words "back in Palo Alto" the guy behind the counter got a very strange look on his face, but said nothing. KBT caught his eye and winked. Through my stupor I still hadn't quite grasped what was going on, and thought RPG was rolling on the floor laughing and clutching his stomach just because JONL had launched into his spiel ("makes rotten meat a dish for princes") for the forty-third time. At this point, RPG clued me in fully. RPG, KBT, and I retreated to a table, trying to stifle our chuckles. JONL remained at the counter, talking about ice cream with the guy b.t.c., comparing Uncle Gaylord's to other ice cream shops and generally having a good old time. At length the g.b.t.c. said, "How's the ginger honey?" JONL said, "Fine! I wonder what exactly is in it?" Now Uncle Gaylord publishes all his recipes and even teaches classes on how to make his ice cream at home. So the g.b.t.c. got out the recipe, and he and JONL pored over it for a while. But the g.b.t.c. could contain his curiosity no longer, and asked again, "You really like that stuff, huh?" JONL said, "Yeah, I've been eating it constantly back in Palo Alto for the past two days. In fact, I think this batch is about as good as the cones I got back in Palo Alto!" G.b.t.c. looked him straight in the eye and said, "You're _in_ Palo Alto!" JONL turned slowly around, and saw the three of us collapse in a fit of giggles. He clapped a hand to his forehead and exclaimed, "I've been hacked!" [My spies on the West Coast inform me that there is a close relative of the raspberry found out there called an `ollalieberry' --ESR] [Ironic footnote: the {meme} about ginger vs. rotting meat is an urban legend. It's not borne out by an examination of medieval recipes or period purchase records for spices, and appears full-blown in the works of Samuel Pegge, a gourmand and notorious flake case who originated numerous food myths. The truth seems to be that ginger was used to cover not rot but the extreme salt taste of meat packed in brine, which was the best method available before refrigeration. --ESR] *** Changed in 4.2.0. *** :sagan: /say'gn/ n. [from Carl Sagan's TV series "Cosmos"; think "billions and billions"] A large quantity of anything. "There's a sagan different ways to tweak EMACS." "The U.S. Government spends sagans on bombs and welfare -- hard to say which is more destructive." *** Changed in 4.2.0. *** :sandbox: n. 1. (also `sandbox, the') Common term for the R&D department at many software and computer companies (where hackers in commercial environments are likely to be found). Half-derisive, but reflects the truth that research is a form of creative play. Compare {playpen}. 2. Syn. {link farm}. 3. A controlled environment within which potentially dangerous programs are run. Used esp. in reference to Java implementations. *** Changed in 4.2.3. *** :sanity check: n. [very common] 1. The act of checking a piece of code (or anything else, e.g., a Usenet posting) for completely stupid mistakes. Implies that the check is to make sure the author was sane when it was written; e.g., if a piece of scientific software relied on a particular formula and was giving unexpected results, one might first look at the nesting of parentheses or the coding of the formula, as a `sanity check', before looking at the more complex I/O or data structure manipulation routines, much less the algorithm itself. Compare {reality check}. 2. A run-time test, either validating input or ensuring that the program hasn't screwed up internally (producing an inconsistent value or state). 3. Conversationally, saying "sanity check" means you are requesting a check of your assumptions. "Wait a minute, sanity check, are we talking about the same Kevin here?" *** 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, 4.2.0. *** :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 Control 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 ropes or cables that raised and lowered the control rods. Equipped with axes or 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}. Modern reactor control rods are held in place with claw-like devices, held closed by current. SCRAM switches are circuit breakers that immediately open the circuit to the rod arms, resulting in the rapid insertion and subsequent bottoming of the control rods. *** Changed in 4.2.3. *** :scratch: 1. [from `scratchpad'] adj. Describes a data structure or recording medium attached to a machine for testing or temporary-use purposes; one that can be {scribble}d on without loss. Usually in the combining forms `scratch memory', `scratch register', `scratch disk', `scratch tape', `scratch volume'. See also {scratch monkey}. 2. [primarily IBM, also Commodore] vt. To delete (as in a file). *** 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.2.3. *** :screen scraping: n. The act of capturing data from a system or program by snooping the contents of some display that is not actually intended for data transport or inspection by programs. Around 1980 this term referred to tricks like reading the display memory of a smart terminal through its auxillary port. Nowadays it often refers to parsing the HTML in generated web pages with programs designed to mine out particular patterns of content. In either guise screen-scraping is an ugly, ad-hoc, last-resort technique that is very likely to break on even minor changes to the format of the data being snooped. *** New in 4.1.0. Changed in 4.2.2. *** :script kiddies: pl.n. 1. [very common] The lowest form of {cracker}; script kiddies do mischief with scripts and programs written by others, often without understanding the {exploit} they are using. Used of people with limited technical expertise using easy-to-operate, pre-configured, and/or automated tools to conduct disruptive activities against networked systems. Since most of these tools are fairly well-known by the security community, the adverse impact of such actions is usually minimal. 2. People who cannot program, but who create tacky HTML pages by copying JavaScript routines from other tacky HTML pages. More generally, a script kiddie writes (or more likely cuts and pastes) code without either having or desiring to have a mental model of what the code does; someone who thinks of code as magical incantations and asks only "what do I need to type to make this happen?" *** 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. *** New in 4.2.0. *** :shebang: /sh*-bang/ n. The character sequence "#!" that frequently begins executable shell scripts under Unix. Probably derived from "shell bang" under the influence of American slang "the whole shebang" (everything, the works). *** 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.3.0. *** :shim: n. 1. A small piece of data inserted in order to achieve a desired memory alignment or other addressing property. For example, the PDP-11 Unix linker, in split I&D (instructions and data) mode, inserts a two-byte shim at location 0 in data space so that no data object will have an address of 0 (and be confused with the C null pointer). See also {loose bytes}. 2. A type of small transparent image inserted into HTML documents by certain WYSIWYG HTML editors, used to set the spacing of elements meant to have a fixed positioning within a TABLE or DIVision. Hackers who work on the HTML code of such pages afterwards invariably curse these for their crocky dependence on the particular spacing of original image file, the editor that generated them, and the version of the browser used to veiw them. Worse, they are a poorly designed {kludge} which the advent of Cascading Style Sheets makes wholly unnecessary; Any fool can plainly see that use of borders, layers and positioned elements is the Right Thing (or would be if adequate support for CSS were more common). *** 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. This would better be described as a {flash crowd}. *** New in 4.2.2. *** :smoot: /smoot/ n. [MIT] A unit of length equal five feet seven inches. The length of the Harvard Bridge in Boston is famously 364.4 smoots plus or minus an ear (the ear stands for {epsilon}). This legend began with a fraternity prank in 1958 during which the body length of Oliver Smoot (class of '62) was actually used to measure out that distance. It is commemorated by smoot marks that MIT students repaint every few years; the tradition even survived the demolition and rebuilding of the bridge in the late 1980s. The Boston police have been known to use smoot markers to indicate accident locations on the bridge. *** Changed in 4.2.2. *** :smurf: /smerf/ n. 1. [from the soc.motss newsgroup on Usenet, after some obnoxiously gooey cartoon characters] A newsgroup regular with a habitual style that is irreverent, silly, and cute. Like many other hackish terms for people, this one may be praise or insult depending on who uses it. In general, being referred to as a smurf is probably not going to make your day unless you've previously adopted the label yourself in a spirit of irony. Compare {old fart}. 2. [techspeak] A ping packet with a forged source address sent to some other network's broadcast address. All the machines on the destination network will send a ping response to the forged source address (the victim). This both overloads the victim's network and hides the location of the attacker. *** 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. *** Changed in 4.2.0. *** :sniff: v.,n. 1. To watch IP packets traversing a local network. Most often in the phrase `packet sniffer', a program for doing same. 2.Synonym for {poll}. *** 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.2.2. *** :software rot: n. Term used to describe the tendency of software that has not been used in a while to {lose}; such failure may be semi-humorously ascribed to {bit rot}. More commonly, `software rot' strikes when a program's assumptions become out of date. If the design was insufficiently {robust}, this may cause it to fail in mysterious ways. Syn. `code rot'. See also {link rot}. For example, owing to endemic shortsightedness in the design of COBOL programs, a good number of them succumbed to software rot when their 2-digit year counters underwent {wrap around} at the beginning of the year 2000. Actually, related lossages often afflict centenarians who have to deal with computer software designed by unimaginative clods. One such incident became the focus of a minor public flap in 1990, when a gentleman born in 1889 applied for a driver's license renewal in Raleigh, North Carolina. The new system refused to issue the card, probably because with 2-digit years the ages 101 and 1 cannot be distinguished. Historical note: Software rot in an even funnier sense than the mythical one was a real problem on early research computers (e.g., the R1; see {grind crank}). If a program that depended on a peculiar instruction hadn't been run in quite a while, the user might discover that the opcodes no longer did the same things they once did. ("Hey, so-and-so needs an instruction to do such-and-such. We can {snarf} this opcode, right? No one uses it.") Another classic example of this sprang from the time an MIT hacker found a simple way to double the speed of the unconditional jump instruction on a PDP-6, so he patched the hardware. Unfortunately, this broke some fragile timing software in a music-playing program, throwing its output out of tune. This was fixed by adding a defensive initialization routine to compare the speed of a timing loop with the real-time clock; in other words, it figured out how fast the PDP-6 was that day, and corrected appropriately. Compare {bit rot}. *** New in 4.2.2. *** :source: n. [very common] In reference to software, `source' is invariably shorthand for `source code', the preferred human-readable and human-modifiable form of the program. This is as opposed to object code, the derived binary executable form of a program. This shorthand readily takes derivative forms; one may speak of "the sources of a system" or of "having source". *** Changed in 4.1.0, 4.1.1, 4.2.3. *** :spam: vt.,vi.,n. [from "Monty Python's Flying Circus"] 1. To crash a program by overrunning a fixed-size buffer with excessively large input data. See also {buffer overflow}, {overrun screw}, {smash the stack}. 2. To cause a newsgroup to be flooded with irrelevant or inappropriate messages. You can spam a newsgroup with as little as one well- (or ill-) planned message (e.g. asking "What do you think of abortion?" on soc.women). This is often done with {cross-post}ing (e.g. any message which is crossposted to alt.rush-limbaugh and alt.politics.homosexuality will almost inevitably spam both groups). 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. Hormel, the makers of Spam, have published a surprisingly enlightened position statement (http://www.spam.com/ci/ci_in.htm) on the Internet usage. *** New in 4.2.2. *** :spam bait: n. Email addresses included in, or comprising the entirety of, a usenet message so that spammers mining a newsgroup with an {address harvester} will collect them. These addresses can be people who have offended or annoyed the poster, or who are included so that a spammer will spam an official, thereby causing himself trouble. One particularly effective form of spam bait is the address of a {teergrube}. *** 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://www.spamhaus.org). 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.2.2. *** :spider: The Web-walking part of a search engine that collects pages for indexing in the search engine's database. Also called a {bot}. The best-known spider is Scooter, the web-walker for the Alta Vista search engine. *** 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). *** Changed in 4.3.0. *** :spike: v. 1. To defeat a selection mechanism by introducing a (sometimes temporary) device that forces a specific result. The word is used in several industries; telephone engineers refer to spiking a relay by inserting a pin to hold the relay in either the closed or open state, and railroaders refer to spiking a track switch so that it cannot be moved. In programming environments it normally refers to a temporary change, usually for testing purposes (as opposed to a permanent change, which would be called {hardwired}). 2. A visible peak in an otherwise rather constant graph (e.g. a sudden surge in line voltage, an unexpected short "high" on a logical line in a circuit). Hackers frequently use this for a sudden short increase in some quantity such as system load or network traffic. *** New in 4.2.2. Changed in 4.2.3. *** :splat out: v. [Usenet; syn. `disemvowel'] To partially obscure a potentially provocative word by substituting {splat} characters for some of its letters (usually, but not always, the vowels). The purpose is not to make the word unrecognizable but to make it a mention rather than a use, so that no flamewar ensues. Words often splatted out include N*z* (see {Godwin's Law}), k*bo* (see {KIBO, sense 2}), *v*l*t**n (anywhere fundamentalists might be lurking), *b*rt**n, and g*n c*ntr*l. Compare {UN*X}. *** Changed in 4.2.3. *** :spod: n. [UK] 1. A lower form of life found on {talker system}s and {MUD}s. The spod has few friends in {RL} and uses talkers instead, finding communication easier and preferable over the net. He has all the negative traits of the computer geek without having any interest in computers per se. Lacking any knowledge of or interest in how networks work, and considering his access a God-given right, he is a major irritant to sysadmins, clogging up lines in order to reach new MUDs, following passed-on instructions on how to sneak his way onto Internet ("Wow! It's in America!") and complaining when he is not allowed to use busy routes. A true spod will start any conversation with "Are you male or female?" (and follow it up with "Got any good numbers/IDs/passwords?") and will not talk to someone physically present in the same terminal room until they log onto the same machine that he is using and enter talk mode. Compare {newbie}, {tourist}, {weenie}, {twink}, {terminal junkie}, {warez d00dz}. 2. A {backronym} for "Sole Purpose, Obtain a Degree"; according to some self-described spods, this term is used by indifferent students to condemn their harder-working fellows. Compare the defiant adoption of the term {geek} in the mid-1990s by people who would previously have been stigmatized by 3. [Glasgow University] An otherwise competent hacker who spends way too much time on talker systems. 4. [obs.] An ordinary person; a {random}. This is the meaning with which the term was coined, but the inventor informs us he has himself accepted sense 1. *** New in 4.1.3. *** :spoiler space: [also `spoiler spoo'] A screenful of blank lines (and, often, form-feeds) 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.3.0. *** :sporgery: [portmanteau of `spam' or `spew' and `forgery'. Massive floods of forged articles intended to disrupt a newsgroup. Typically these have reasonable-looking headers but complete gibberish for content, making the legitimate articles too difficult to find. This tactic has been most notoriously used by the Church of Scientology to disrupt discussion on the newsgroup alt.religion.scientology, but is unfortunately not by any means confined to that group. *** 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. *** New in 4.2.3. *** :steved: adj.,v. /steevd/ [Apple employees and users] Terminated, said of a development project. Originated after Steven P. Jobs returned to Apple as acting CEO in 1997. Jobs immediated axed several development projects, including OpenDoc and Newton that had been launched by John Sculley, the man who had ousted Jobs in the mid 1980s. Now any project shut down at Apple and often at any large firm connected with Apple may be said to have gotten steved. It is usually spelled lowercase despite the origin. It is almost always past-tense and used quasi-adjectivally. *** Changed in 4.2.0. *** :stiffy: n. 3.5-inch {microfloppies}, so called because their jackets are more rigid than those of the 5.25-inch and the (now totally obsolete) 8-inch floppy. Elsewhere this might be called a `firmy'. For some odd reason, several sources have taken the trouble to inform us that this term is widespread in South Africa. *** 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.2.0. *** :sun-stools: n. Unflattering hackerism for SunTools, a pre-X windowing environment notorious in its day for size, slowness, and misfeatures. {X}, however, is larger and (some claim) slower; see {second-system effect}. *** 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, 4.2.2, 4.2.2, 4.3.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. AFAIAC as far as I am concerned 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. YHTBT You Had To Be There. Used of a situation which loses significant meaning in the telling, usually because it's difficult to convey tone and timing. : 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, ducking, and running 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. *** Changed in 4.2.0. *** :the network: n. 1. Historically, the union of all the major noncommercial, academic, and hacker-oriented networks, such as Internet, the pre-1990 ARPANET, NSFnet, {BITNET}, and the virtual UUCP and {Usenet} `networks', plus the corporate in-house networks and commercial time-sharing services (such as CompuServe, GEnie and AOL) that gateway to them. A site is generally considered `on the network' if it can be reached through some combination of Internet-style (@-sign) and UUCP (bang-path) addresses. See {Internet}, {bang path}, {{Internet address}}, {network address}. 2. Following the mass-culture discovery of the Internet in 1994 and subsequent proliferation of cheap TCP/IP connections, "the network" is increasingly synonymous with the Internet itself (as it was before the second wave of wide-area computer networking began around 1980). 3. A fictional conspiracy of libertarian hacker-subversives and anti-authoritarian monkeywrenchers described in Robert Anton Wilson's novel "Schro"dinger's Cat", to which many hackers have subsequently decided they belong (this is an example of {ha ha only serious}). In sense 1, `the network' is often abbreviated to `the net'. "Are you on the net?" is a frequent question when hackers first meet face to face, and "See you on the net!" is a frequent goodbye. *** 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 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. Changed in 4.2.0. *** :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. *** Changed in 4.2.0. *** :tits on a keyboard: n. Small bumps on certain keycaps to keep touch-typists registered. Usually on the `5' of a numeric keypad, and on the `F' and `J' of a {QWERTY} keyboard; but older Macs, perverse as usual, had them on the `D' and `K' keys (this changed in 1999). *** Changed in 4.3.0. *** :toast: 1. n. Any completely inoperable system or component, esp. one that has just crashed and burned: "Uh, oh ... I think the serial board is toast." (This sense went mainstream around 1993.) 2. vt. To cause a system to crash accidentally, especially in a manner that requires manual rebooting. "Rick just toasted the {firewall machine} again." Compare {fried}. *** Changed in 4.1.0, 4.3.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 (http://www.phys.uu.nl/~beljaars/reddwarf/script/4/4.whi)!" 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. a Mac in the original unitary case. 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.3.0. *** :toolchain: A collection of tools used to develop for a particular hardware target, or to work with a particular data format (thus `the Crusoe development toolchain', or the `DocBook toolchain'). Often used in the context of building software on one system which will be installed or run on some other device; in that case the chain of tools usually consists of such items as a particular version of a compiler, libraries, special headers, etc. May also be used of text-formatting, page layout, or multimedia tools which render from some markup to a variety of production formats. Differs from `toolkit' in that the former implies a collection of semi-independent tools with complementary functions, while `toolchain' implies that each of the parts is a serial stage in a rather tightly bound pipeline. Seems to have become current in early 1999 and 2000; now common. *** 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.2.2. *** :trampoline: n. An incredibly {hairy} technique, found in some {HLL} and program-overlay implementations (e.g., on the Macintosh), that involves on-the-fly generation of small executable (and, likely as not, self-modifying) code objects to do indirection between code sections. Under BSD and possibly in other Unixes, trampoline code is used to transfer control from the kernel back to user mode when a signal (which has had a handler installed) is sent to a process. These pieces of {live data} are called `trampolines'. Trampolines are notoriously difficult to understand in action; in fact, it is said by those who use this term that the trampoline that doesn't bend your brain is not the true trampoline. See also {snap}. *** Changed in 4.1.0, 4.1.0, 4.2.2. *** :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. See also {YHBT}. 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 they 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." Compare {kook}. 3. [Berkeley] Computer lab monitor. A popular campus job for CS students. 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}. The use of `troll' in either sense is a live metaphor that readily produces elaborations and combining forms. For example, one not infrequently sees the warning "Do not feed the troll" as part of a followup to troll postings. *** Changed in 4.3.0. *** :tube: 1. n. A CRT terminal. Never used in the mainstream sense of TV; real hackers don't watch TV, except for Loony Toons, Rocky & Bullwinkle, Trek Classic, the Simpsons, Babylon 5, and the occasional cheesy old swashbuckler movie. 2. [IBM] To send a copy of something to someone else's terminal. "Tube me that note?" *** 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, 4.2.3. *** :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'). 3. On MU* systems that specialize in role-playing, refers to behavior of a (usually inexperienced) player that either ignores rules or social convention, or disrupts the natural flow of a scene to show of super powers. *** 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. *** Changed in 4.2.0, 4.2.2. *** :upload: /uhp'lohd/ v. 1. [techspeak] To transfer programs or data over a digital communications link from a system near you (especially a smaller or peripheral `client' system) to one further away from you (especially a larger or central `host' system). A transfer in the other direction is, of course, called a {download} 2. [speculatively] To move the essential patterns and algorithms that make up one's mind from one's brain into a computer. Those who are convinced that such patterns and algorithms capture the complete essence of the self view this prospect with pleasant anticipation. *** New in 4.3.0. *** :upstream: adj. [common] Towards the original author(s) or maintainer(s) of a project. Used in connection with software that is distributed both in its original source form and in derived, adapted versions through a distribution (like the Debian version of Linux or one of the BSD ports) that has component maintainers for each of their parts. When a component maintainer receives a bug report or patch, he may choose to retain the patch as a porting tweak to the distribution's derivative of the project, or to pass it upstream to the project's maintainer. The antonym `downstream' is rare. *** New in 4.2.2. Changed in 4.2.3. *** :userland: n. Anywhere outside the kernel. "That code belongs in userland." This term has been in common use among {Linux} kernel hackers since at least 1997, and may have have originated in that community (a sighting has been reported from the 1995 archives of a NetBSD mailing list, however). *** 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 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.2.3. *** :vdiff: /vee'dif/ v.,n. Visual diff. The operation of finding differences between two files by {eyeball search}. The term `optical diff' has also been reported, and is sometimes more specifically used for the act of superimposing two nearly identical printouts on one another and holding them up to a light to spot differences. Though this method is poor for detecting omissions in the `rear' file, it can also be used with printouts of graphics, a claim few if any diff programs can make. See {diff}. An interesting variant of the vdiff technique usable by anyone who has sufficient control over the parallax of their eyeballs (e.g. those who can easily view random-dot stereograms), is to hold up two paper printouts and go cross-eyed to superimpose them. This invokes deep, fast, built-in image comparison wetware (the same machinery responsible for depth perception) and differences stand out almost immediately. This technique is good for finding edits in graphical images, or for comparing an image with a compressed version to spot artifacts. *** 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}. The trade name Velveeta is attached in the U.S. to a particularly nasty processed-cheese spread.] 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 fitted with a particular line of special video effects 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 Britishers who wanted to buy Linus a beer 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}, {SCSI voodoo}. 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). *** Changed in 4.2.0. *** :wank: /wangk/ n.,v.,adj. [Columbia University: prob. by mutation from Commonwealth slang v. `wank', to masturbate] Used much as {hack} is elsewhere, as a noun denoting a clever technique or person or the result of such cleverness. May describe (negatively) the act of hacking for hacking's sake ("Quit wanking, let's go get supper!") or (more positively) a {wizard}. Adj. `wanky' describes something particularly clever (a person, program, or algorithm). Conversations can also get wanky when there are too many wanks involved. This excess wankiness is signalled by an overload of the `wankometer' (compare {bogometer}). When the wankometer overloads, the conversation's subject must be changed, or all non-wanks will leave. Compare `neep-neeping' (under {neep-neep}). Usage: U.S. only. In Britain and the Commonwealth this word is _extremely_ rude and is best avoided unless one intends to give offense. Adjectival `wanky' is less offensive and simply means `stupid' or `broken' (this is mainstream in Great Britain). *** Changed in 4.2.0. *** :warez d00dz: /weirz doodz/ n. A substantial subculture of {cracker}s refer to themselves as `warez d00dz'; there is evidently some connection with {B1FF} here. As `Ozone Pilot', one former warez d00d, wrote: Warez d00dz get illegal copies of copyrighted software. If it has copy protection on it, they break the protection so the software can be copied. Then they distribute it around the world via several gateways. Warez d00dz form badass group names like RAZOR and the like. They put up boards that distribute the latest ware, or pirate program. The whole point of the Warez sub-culture is to get the pirate program released and distributed before any other group. I know, I know. But don't ask, and it won't hurt as much. This is how they prove their poweress [sic]. It gives them the right to say, "I released King's Quest IVXIX before you so obviously my testicles are larger." Again don't ask... The studly thing to do if one is a warez d00d, it appears, is emit `0-day warez', that is copies of commercial software copied and cracked on the same day as its retail release. Warez d00ds also hoard software in a big way, collecting untold megabytes of arcade-style games, pornographic JPGs, and applications they'll never use onto their hard disks. As Ozone Pilot acutely observes: [BELONG] is the only word you will need to know. Warez d00dz want to belong. They have been shunned by everyone, and thus turn to cyberspace for acceptance. That is why they always start groups like TGW, FLT, USA and the like. Structure makes them happy. [...] Warez d00dz will never have a handle like "Pink Daisy" because warez d00dz are insecure. Only someone who is very secure with a good dose of self-esteem can stand up to the cries of fag and girlie-man. More likely you will find warez d00dz with handles like: Doctor Death, Deranged Lunatic, Hellraiser, Mad Prince, Dreamdevil, The Unknown, Renegade Chemist, Terminator, and Twin Turbo. They like to sound badass when they can hide behind their terminals. More likely, if you were given a sample of 100 people, the person whose handle is Hellraiser is the last person you'd associate with the name. The contrast with Internet hackers is stark and instructive. See {cracker}, {wannabee}, {handle}, {elite}, {courier}, {leech}; compare {weenie}, {spod}. *** 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.2.0. *** :web ring: n. Two or more web sites connected by prominent links between sites sharing a common interest or theme. Usually such cliques have the topology of a ring, in order to make it easy for visitors to navigate through all of them. *** 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. 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"). This term seems to have been (rather logically) independently invented multiple times in the early 1990s. *** 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. Changed in 4.2.2, 4.3.0. *** :whack-a-mole: n. [from the carnival game which involves quickly and repeatedly hitting the heads of mechanical moles with a mallet as they pop up from their holes.] 1. The practice of repeatedly causing spammers' {throwaway account}s and drop boxes to be terminated. 2. After sense 1 became established in the mid-1990s the term passed into more generalized use, and now is commonly found in such combinations as `whack-a-mole windows'; the obnoxious pop-up advertisement windows spawned in flocks when you surf to sites like Angelfire or Lycos. *** New in 4.2.0. *** :wheel of reincarnation: [coined in a paper by T. H. Myer and I.E. Sutherland "On the Design of Display Processors", Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward more computing power as it does its job, then somebody notices that it is inefficient to support two asymmetrical processors in the architecture and folds the function back into the main CPU, at which point the cycle begins again. Several iterations of this cycle have been observed in graphics-processor design, and at least one or two in communications and floating-point processors. Also known as `the Wheel of Life', `the Wheel of Samsara', and other variations of the basic Hindu/Buddhist theological idea. See also {blitter}, {bit bang}. *** New in 4.3.0. *** :white hat: See {black hat}. *** New in 4.2.2. *** :whitelist: n. The opposite of a blacklist. That is, instead of being an explicit list of people who are banned, it's an explicit list of people who are to be admitted. Hackers use this especially of lists of email addresses that are explicitly enabled to get past strict anti-spam filters. *** Changed in 4.1.0, 4.2.0, 4.2.2, 4.2.3. *** :wibble: [UK, perh. originally from the first "Roger Irrelevant" strip in "VIZ" comics, spread via "Your Sinclair magazine in the 1980s and early 1990s"] 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" (compare {dub dub dub}). *** New in 4.3.0. *** :wild side: The public or uncontrolled side of a {firewall machine}. *** Changed in 4.2.0. *** :wizard: n. 1. Transitively, a person who knows how a complex piece of software or hardware works (that is, who {grok}s it); esp. someone who can find and fix bugs quickly in an emergency. Someone is a {hacker} if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it. 2. The term `wizard' is also used intransitively of someone who has extremely high-level hacking or problem-solving ability. 3. A person who is permitted to do things forbidden to ordinary people; one who has {wheel} privileges on a system. 4. A Unix expert, esp. a Unix systems programmer. This usage is well enough established that `Unix Wizard' is a recognized job title at some corporations and to most headhunters. See {guru}, {lord high fixer}. See also {deep magic}, {heavy wizardry}, {incantation}, {magic}, {mutter}, {rain dance}, {voodoo programming}, {wave a dead chicken}. *** New in 4.2.0. *** :wizard hat: n. [also, after Terry Pratchett, `pointy hat'] Notional headgear worn by whoever is the {wizard} in a particular context. The implication is that it's a transferable role. "Talk to Alice, she's wearing the TCP/IP wizard hat while Bob is on vacation." This metaphor is sufficiently live that one may actually see hackers miming the act of putting on, taking off, or transferring a phantom hat. See also {pointy hat}, compare {patch pumpkin}. *** New in 4.1.0. Changed in 4.2.2, 4.3.0. *** :womble: n. [Unisys UK: from British puppet-show 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.2.2. *** :write-only memory: n. The obvious antonym to `read-only memory'. Out of frustration with the long and seemingly useless chain of approvals required of component specifications, during which no actual checking seemed to occur, an engineer at Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics {management} only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the `erroneous' ones. Later, in 1972, Signetics bought a double-page spread in "Electronics" magazine's April issue and used the spec as an April Fools' Day joke. Instead of the more conventional characteristic curves, the 25120 "fully encoded, 9046 x N, Random Access, write-only-memory" data sheet included diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining vs. number of socket insertions", and "AQL vs. selling price". The 25120 required a 6.3 VAC VFF supply, a +10V VCC, and VDD of 0V, +/- 2%. *** Changed in 4.1.3, 4.2.0. *** :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'. The original was invented in 1970 (several years before {ADVENT}) by Gregory Yob. 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.tuxedo.org/retro'. *** Changed in 4.1.3, 4.2.0, 4.2.2, 4.2.2, 4.2.2. *** :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". Early versions of the popular `minesweeper' game under Microsoft Windows had 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. This feature temporarily diasappeared in Windows 98, but reappeared in Windows 2000. The following passage from "The Wonderful Wizard of Oz" by L. Frank Baum, suggesting a possible pre-ADVENT origin, has recently come to light: "Ziz-zy, zuz-zy, zik!" said Dorothy, who was now standing on both feet. This ended the saying of the charm, and they heard a great chattering and flapping of wings, as the band of Winged Monkeys flew up to them. The text can be viewed at Project Gutenberg (ftp://metalab.unc.edu/pub/docs/books/gutenberg/etext93/wizoz10.txt). Another possible pre-ADVENT origin is discussed at the XYZZY page (http://people.delphi.com/rickadams/adventure/c_xyzzy.html). *** New in 4.1.0. *** :yellow card: n. See {green card}. *** New in 4.2.2. *** :zbeba: n. [USENET] The word `moron' in {rot13}. Used to describe newbies who are behaving with especial cluelessness. *** 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). *** Changed in 4.3.0. *** :zombie: n. 1. [Unix] A process that has died but has not yet relinquished its process table slot (because the parent process hasn't executed a `wait(2)' for it yet). These can be seen in `ps(1)' listings occasionally. Compare {orphan}. 2. A machine, especially someone's {home box}, that has been cracked and is being used as part of a second-stage attack by miscreants trying to mask their home IP address. Especially used of machines being exploited in large gangs for a mechanized denial-of-service attack like Tribe Flood Network; the image that goes with this is of a veritable army of zombies mindlessly doing the bidding of a necromancer. ************************* Deleted entries ************************* 'Snooze 4.3.0 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) DPB 4.3.0 (PDP-10 mnemonic; no longer live) 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) Marginal Hacks 4.3.0 Missed'em-five 4.3.0 NOMEX underwear 4.1.1 (DejaNews suggests it was never live) NetBOLLIX 4.3.0 Open DeathTrap 4.1.0 PIP 4.1.1 (PDP-10 reference; no longer live) Pangloss parity 4.3.0 Pink-Shirt Book 4.1.1 SysVile 4.3.0 TELNET 4.3.0 TechRef 4.3.0 USG Unix 4.3.0 \begin 4.1.1 (folded into front matter) altmode 4.1.1 (ITS/PDP-10 reference; no longer live) block transfer computations 4.3.0 blow away 4.1.1 (mainstream) bodysurf code 4.3.0 bot spot 4.3.0 branch to Fishkill 4.3.0 chine nual 4.1.1 (been dead since the early 1980s) computer geek 4.3.0 (replaced by `geek') cruncha cruncha cruncha 4.1.1 (DejaNews suggests it's dead) dec 4.1.1 (merged into DEC) digit 4.3.0 (DEC is gone) double DECkers 4.1.0 (obs. now that DEC is gone) fepped out 4.1.1 (nobody's seen one since LISP machines) gaseous 4.3.0 laundromat 4.3.0 microtape 4.1.0 moose call 4.3.0 mouse around 4.3.0 news 4.1.1 (see netnews) pdl 4.1.1 (merged into PDL) pig, run like a 4.1.0 (mainstream) plingnet 4.3.0 pnambic 4.3.0 snivitz 4.3.0 twonkie 4.3.0 whalesong 4.3.0 ************************ Statistics ************************ Total entries: 0 Total new: 295 Total changed: 555 Total deleted: 49 Additions by version: 4.1.0: 153 4.1.1: 21 4.1.2: 4 4.1.3: 10 4.2.0: 30 4.2.1: 2 4.2.2: 33 4.2.3: 16 4.3.0: 26 Changes by version: 4.1.0: 159 4.1.1: 80 4.1.2: 34 4.1.3: 17 4.2.0: 79 4.2.1: 17 4.2.2: 69 4.2.3: 40 4.3.0: 60 New percentage: -100.00% Changed percentage: -188.14% Deleted percentage: -16.61% Total change percentage: -304.75%