diff --git a/jarg1-81-MM-DD.txt b/jarg1-81-MM-DD.txt new file mode 100644 index 0000000..f751243 --- /dev/null +++ b/jarg1-81-MM-DD.txt @@ -0,0 +1,1552 @@ +JARGON.TXT recovered from Fall 1981 RSX-11 SIG tape by Tim Shoppa, +: + + + Notes on updating this file: + +This glossary file is being maintained at two main locations. It is +AIWORD.RF[UP,DOC] at SAIL, and GLS;JARGON > at MIT. If you make any +changes, be sure to FTP the new file to the other location. (NOTE: +Use ASCII mode in FTP to avoid screwing up the tilde char!) Also, +please let us know (see list of names in later paragraph) about your +changes so that we can double-check them. + +Try to conform to the format already being used--70 character lines, +3-character indentations, pronunciations in parentheses, etymologies +in brackets, single-space after def'n numbers and word classes, etc. + +Stick to the standard ASCII character set. + +If you'd rather not mung the file yourself, send your definitions to +DON @ SAIL, GLS @ MIT-AI, and/or MRC @ SAIL. + +====================================================================== + + Compiled by Guy L. Steele Jr., Raphael Finkel, Donald + Woods, and Mark Crispin, with assistance from the MIT + and Stanford AI communities and Worcester Polytechnic + Institute. Some contributions were submitted via the + ARPAnet from miscellaneous sites. + +Verb doubling: a standard construction is to double a verb and use it + as a comment on what the implied subject does. Often used to + terminate a conversation. Typical examples involve WIN, LOSE, + HACK, FLAME, BARF, CHOMP: + "The disk heads just crashed." "Lose, lose." + "Mostly he just talked about his --- crock. Flame, flame." + "Boy, what a bagbiter! Chomp, chomp!" + +Soundalike slang: similar to Cockney rhyming slang. Often made up on + the spur of the moment. Standard examples: + Boston Globe => Boston Glob + Herald American => Horrid (Harried) American + New York Times => New York Slime + Dime Time => Slime Time + government property - do not duplicate (seen on keys) + => government duplicity - do not propagate + Often the substitution will be made in such a way as to slip in + a standard jargon word: + Dr. Dobb's Journal => Dr. Frob's Journal + +The -P convention: turning a word into a question by appending the + syllable "P"; from the LISP convention of appending the letter "P" + to denote a predicate (a Boolean-values function). The question + should expect a yes/no answer, though it needn't. (See T and NIL.) + At dinnertime: "Foodp?" "Yeah, I'm pretty hungry." or "T!" + "State-of-the-world-P?" (Straight) "I'm about to go home." + (Humorous) "Yes, the world has a state." + +Peculiar nouns: MIT AI hackers love to take various words and add the + wrong endings to them to make nouns and verbs, often by extending a + standard rule to nonuniform cases. Examples: + porous => porosity + generous => generosity + Ergo: mysterious => mysteriosity + ferrous => ferocity + + Other examples: winnitude, disgustitude, hackification. + +AOS (aus (East coast) ay-ahs (West coast)) [based on a PDP-10 + increment instruction] v. To increase the amount of something. + "Aos the campfire." Usage: considered silly. See SOS. + +ANGLE BRACKETS (primarily MIT) n. Either of the characters "<" and + ">". See BROKET. + +ARG n. Abbreviation for "argument" (to a function), used so often as + to have become a new word. + +AUTOMAGICALLY adv. Automatically, but in a way which, for some reason + (typically because it is too complicated, or too ugly, or perhaps + even too trivial), I don't feel like explaining to you. See MAGIC. + Example: Some programs which produce XGP output files spool them + automagically. + +BAGBITER 1. n. Equipment or program that fails, usually + intermittently. 2. BAGBITING: adj. Failing hardware or software. + "This bagbiting system won't let me get out of spacewar." Usage: + verges on obscenity. Grammatically separable; one may speak of + "biting the bag". Synonyms: LOSER, LOSING, CRETINOUS, BLETCHEROUS, + BARFUCIOUS, CHOMPER, CHOMPING. + +BANG n. Common alternate name for EXCL (q.v.), especially at CMU. See + SHRIEK. + +BAR 1. The second metasyntactic variable, after FOO. "Suppose we have + two functions FOO and BAR. FOO calls BAR..." 2. Often appended to + FOO to produce FOOBAR. + +BARF [from the "layman" slang, meaning "vomit"] 1. interj. Term of + disgust. See BLETCH. 2. v. Choke, as on input. May mean to give + an error message. "The function `=' compares two fixnums or two + flonums, and barfs on anything else." 3. BARFULOUS, BARFUCIOUS: + adj. Said of something which would make anyone barf, if only for + aesthetic reasons. + +BIGNUMS [from Macsyma] n. 1. In backgammon, large numbers on the dice. + 2. Multiple-precision (sometimes infinitely extendable) integers + and, through analogy, any very large numbers. 3. EL CAMINO BIGNUM: + El Camino Real, a street through the San Francisco peninsula that + originally extended (and still appears in places) all the way to + Mexico City. It was termed "El Camino Double Precision" when + someone noted it was a very long street, and then "El Camino + Bignum" when it was pointed out that it was hundreds of miles long. + +BIN [short for BINARY; used as a second file name on ITS] 1. n. + BINARY. 2. BIN FILE: A file containing the BIN for a program. + Usage: used at MIT, which runs on ITS. The equivalent term at + Stanford is DMP (pronounced "dump") FILE. Other names used include + SAV ("save") FILE (DEC and Tenex), SHR ("share") and LOW FILES + (DEC), and EXE ("ex'ee") FILE (DEC and Twenex). Also in this + category are the input files to the various flavors of linking + loaders (LOADER, LINK-10, STINK), called REL FILES. + +BINARY n. The object code for a program. + +BLETCH [from German "brechen", to vomit (?)] 1. interj. Term of + disgust. 2. BLETCHEROUS: adj. Disgusting in design or function. + "This keyboard is bletcherous!" Usage: slightly comic. + +BLT (blit, very rarely belt) [based on the PDP-10 block transfer + instruction; confusing to users of the PDP-11] 1. v. To transfer a + large contiguous package of information from one place to another. + 2. THE BIG BLT: n. Shuffling operation on the PDP-10 under some + operating systems that consumes a significant amount of computer + time. 3. (usually pronounced B-L-T) n. Sandwich containing bacon, + lettuce, and tomato. + +BOGOSITY n. The degree to which something is BOGUS (q.v.). At CMU, + bogosity is measured with a bogometer; typical use: in a seminar, + when a speaker says something bogus, a listener might raise his + hand and say, "My bogometer just triggered." The agreed-upon unit + of bogosity is the microLenat (uL). + +BOGUS (WPI, Yale, Stanford) 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. Silly. "Stop writing those bogus sagas." (This word seems to + have some, but not all, of the connotations of RANDOM.) + [Etymological note from Lehman/Reid at CMU: "Bogus" was originally + used (in this sense) at Princeton, in the late 60's. It was used + not particularly in the CS department, but all over campus. It + came to Yale, where one of us (Lehman) was an undergraduate, and + (we assume) elsewhere through the efforts of Princeton alumni who + brought the word with them from their alma mater. In the Yale + case, the alumnus is Michael Shamos, who was a graduate student at + Yale and is now a faculty member here. A glossary of bogus words + was compiled at Yale when the word was first popularized (e.g., + autobogophobia: the fear of becoming bogotified).] + +BOUNCE (Stanford) v. To play volleyball. "Bounce, bounce! Stop + wasting time on the computer and get out to the court!" + +BRAIN-DAMAGED [generalization of "Honeywell Brain Damage" (HBD), a + theoretical disease invented to explain certain utter cretinisms in + Multics] adj. Obviously wrong; cretinous; demented. There is an + implication that the person responsible must have suffered brain + damage, because he should have known better. Calling something + brain-damaged is really bad; it also implies it is unusable. + +BREAK v. 1. To cause to be broken (in any sense). "Your latest patch + to the system broke the TELNET server." 2. (of a program) To stop + temporarily, so that it may be examined for debugging purposes. + The place where it stops is a BREAKPOINT. + +BROKEN adj. 1. Not working properly (of programs). 2. Behaving + strangely; especially (of people), exhibiting extreme depression. + +BROKET [by analogy with "bracket": a "broken bracket"] (primarily + Stanford) n. Either of the characters "<" and ">". (At MIT, and + apparently in The Real World (q.v.) as well, these are usually + called ANGLE BRACKETS.) + +BUCKY BITS (primarily Stanford) n. The bits produced by the CTRL and + META shift keys on a Stanford (or Knight) keyboard. + DOUBLE BUCKY: adj. Using both the CTRL and META keys. "The command + to burn all LEDs is double bucky F." + +BUG [from telephone terminology, "bugs in a telephone cable", blamed + for noisy lines] n. An unwanted and unintended property of a + program. See FEATURE. + +BUM 1. v. To make highly efficient, either in time or space, often at + the expense of clarity. "I managed to bum three more + instructions." 2. n. A small change to an algorithm to make it + more efficient. Usage: somewhat rare. + +BUZZ v. To run in a very tight loop, perhaps without guarantee of + getting out. + +CANONICAL adj. The usual or standard state or manner of something. + A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed + some annoyance at the use of jargon. Over his loud objections, we + made a point of using jargon as much as possible in his presence, + and eventually it began to sink in. Finally, in one conversation, + he used the word "canonical" in jargon-like fashion without + thinking. + Steele: "Aha! We've finally got you talking jargon too!" + Stallman: "What did he say?" + Steele: "He just used `canonical' in the canonical way." + +CATATONIA (kat-uh-toe'-nee-uh) n. A condition of suspended animation + in which the system is in a wedged (CATATONIC) state. + +CDR (ku'der) [from LISP] v. With "down", to trace down a list of + elements. "Shall we cdr down the agenda?" Usage: silly. + +CHOMP v. To lose; to chew on something of which more was bitten off + than one can. Probably related to gnashing of teeth. See + BAGBITER. A hand gesture commonly accompanies this, consisting of + the four fingers held together as if in a mitten or hand puppet, + and the fingers and thumb open and close rapidly to illustrate a + biting action. The gesture alone means CHOMP CHOMP (see Verb + Doubling). + +CLOSE n. Abbreviation for "close (or right) parenthesis", used when + necessary to eliminate oral ambiguity. See OPEN. + +COKEBOTTLE n. Any very unusual character. MIT people complain about + the "control-meta-cokebottle" commands at SAIL, and SAIL people + complain about the "altmode-altmode-cokebottle" commands at MIT. + +COM MODE (variant: COMM MODE) [from the ITS feature for linking two or + more terminals together so that text typed on any is echoed on all, + providing a means of conversation among hackers] n. The state a + terminal is in when linked to another in this way. Com mode has a + special set of jargon words, used to save typing, which are not + used orally: + BCNU Be seeing you. + BTW By the way... + BYE? Are you ready to unlink? (This is the standard way to + end a com mode conversation; the other person types + BYE to confirm, or else continues the conversation.) + CUL See you later. + FOO? A greeting, also meaning R U THERE? Often used in the + case of unexpected links, meaning also "Sorry if I + butted in" (linker) or "What's up?" (linkee). + FYI For your information... + GA Go ahead (used when two people have tried to type + simultaneously; this cedes the right to type to + the other). + HELLOP A greeting, also meaning R U THERE? (An instance + of the "-P" convention.) + NIL No (see the main entry for NIL). + OBTW Oh, by the way... + R U THERE? Are you there? + SEC Wait a second (sometimes written SEC...). + T Yes (see the main entry for T). + TNX Thanks. + TNX 1.0E6 Thanks a million (humorous). + When the typing party has finished, he types + two CRLF's to signal that he is done; this leaves a + blank line between individual "speeches" in the + conversation, making it easier to re-read the + preceding text. + : When three or more terminals are linked, each speech + is preceded by the typist's login name and a colon (or + a hyphen) to indicate who is typing. The login name + often is shortened to a unique prefix (possibly a + single letter) during a very long conversation. + At Stanford, where the link feature is implemented by "talk loops", + the term TALK MODE is used in place of COM MODE. Most of the above + "sub-jargon" is used at both Stanford and MIT. + +CONNECTOR CONSPIRACY [probably came into prominence with the + appearance of the KL-10, none of whose connectors match anything + else] n. The tendency of manufacturers (or, by extension, + programmers or purveyors of anything) to come up with new products + which don't fit together with the old stuff, thereby making you buy + either all new stuff or expensive interface devices. + +CONS [from LISP] 1. v. To add a new element to a list. 2. CONS UP: + v. To synthesize from smaller pieces: "to cons up an example". + +CRASH 1. n. A sudden, usually drastic failure. Most often said of the + system (q.v., definition #1), sometimes of magnetic disk drives. + "Three lusers lost their files in last night's disk crash." A disk + crash which entails the read/write heads dropping onto the surface + of the disks and scraping off the oxide may also be referred to as + a "head crash". 2. v. To fail suddenly. "Has the system just + crashed?" Also used transitively to indicate the cause of the + crash (usually a person or a program, or both). "Those idiots + playing spacewar crashed the system." Sometimes said of people. + See GRONK OUT. + +CRETIN 1. n. Congenital loser (q.v.). 2. CRETINOUS: adj. See + BLETCHEROUS and BAGBITING. Usage: somewhat ad hominem. + +CRLF (cur'lif, sometimes crul'lif) n. A carriage return (CR) followed + by a line feed (LF). See TERPRI. + +CROCK [probably from "layman" slang, which in turn may be derived from + "crock of shit"] n. An awkward feature or programming technique + that ought to be made cleaner. Example: Using small integers to + represent error codes without the program interpreting them to the + user is a crock. Also, a technique that works acceptably but which + is quite prone to failure if disturbed in the least, for example + depending on the machine opcodes having particular bit patterns so + that you can use instructions as data words too; a tightly woven, + almost completely unmodifiable structure. + +CRUFTY [from "cruddy"] adj. 1. Poorly built, possibly overly complex. + "This is standard old crufty DEC software". Hence CRUFT, n. shoddy + construction. 2. Unpleasant, especially to the touch, often with + encrusted junk. Like spilled coffee smeared with peanut butter and + catsup. Hence CRUFT, n. disgusting mess. 3. Generally unpleasant. + CRUFTY or CRUFTIE n. A small crufty object (see FROB); often one + which doesn't fit well into the scheme of things. "A LISP property + list is a good place to store crufties (or, random cruft)." + [Note: Does CRUFT have anything to do with the Cruft Lab at + Harvard? I don't know, though I was a Harvard student. - GLS] + +CRUNCH v. 1. To process, usually in a time-consuming or complicated + way. Connotes an essentially trivial operation which is + nonetheless painful to perform. The pain may be due to the + triviality being imbedded in a loop from 1 to 1000000000. "FORTRAN + programs do mostly number crunching." 2. To reduce the size of a + file by a complicated scheme that produces bit configurations + completely unrelated to the original data, such as by a Huffman + code. (The file ends up looking like a paper document would if + somebody crunched the paper into a wad.) Since such compression + usually takes more computations than simpler methods such as + counting repeated characters (such as spaces) the term is doubly + appropriate. (This meaning is usually used in the construction + "file crunch(ing)" to distinguish it from "number crunch(ing)".) + +CTY (city) n. The terminal physically associated with a computer's + operating console. + +CUSPY [from the DEC acronym CUSP, for Commonly Used System Program, + i.e., a utility program used by many people] (WPI) adj. 1. (of a + program) Well-written. 2. Functionally excellent. A program which + performs well and interfaces well to users is cuspy. See RUDE. + +DAEMON (day'mun, dee'mun) [archaic form of "demon", which has slightly + different connotations (q.v.)] n. A program which is not invoked + explicitly, but which lays dormant waiting for some condition(s) to + occur. The idea is that the perpetrator of the condition need not + be aware that a daemon is lurking (though often a program will + commit an action only because it knows that it will implicitly + invoke a daemon). For example, writing a file on the lpt spooler's + directory will invoke the spooling daemon, which prints the file. + The advantage is that programs which want (in this example) files + printed need not compete for access to the lpt. They simply enter + their implicit requests and let the daemon decide what to do with + them. Daemons are usually spawned automatically by the system, and + may either live forever or be regenerated at intervals. Usage: + DAEMON and DEMON (q.v.) are often used interchangeably, but seem to + have distinct connotations. DAEMON was introduced to computing by + CTSS people (who pronounced it dee'mon) and used it to refer to + what is now called a DRAGON or PHANTOM (q.v.). The meaning and + pronunciation have drifted, and we think this glossary reflects + current usage. + +DAY MODE See PHASE (of people). + +DEADLOCK n. A situation wherein two or more processes are unable to + proceed because each is waiting for another to do something. A + common example is a program communicating to a PTY or STY, which + may find itself waiting for output from the PTY/STY before sending + anything more to it, while the PTY/STY is similarly waiting for + more input from the controlling program before outputting anything. + (This particular flavor of deadlock is called "starvation". + Another common flavor is "constipation", where each process is + trying to send stuff to the other, but all buffers are full because + nobody is reading anything.) See DEADLY EMBRACE. + +DEADLY EMBRACE n. Same as DEADLOCK (q.v.), though usually used only + when exactly two processes are involved. DEADLY EMBRACE is the + more popular term in Europe; DEADLOCK in the United States. + +DEMENTED adj. Yet another term of disgust used to describe a program. + The connotation in this case is that the program works as designed, + but the design is bad. For example, a program that generates large + numbers of meaningless error messages implying it is on the point + of imminent collapse. + +DEMON (dee'mun) n. A portion of a program which is not invoked + explicitly, but which lays dormant waiting for some condition(s) to + occur. See DAEMON. The distinction is that demons are usually + processes within a program, while daemons are usually programs + running on an operating system. Demons are particularly common in + AI programs. For example, a knowledge manipulation program might + implement inference rules as demons. Whenever a new piece of + knowledge was added, various demons would activate (which demons + depends on the particular piece of data) and would create + additional pieces of knowledge by applying their respective + inference rules to the original piece. These new pieces could in + turn activate more demons as the inferences filtered down through + chains of logic. Meanwhile the main program could continue with + whatever its primary task was. + +DIABLO (dee-ah'blow) [from the Diablo printer] 1. n. Any letter- + quality printing device. 2. v. To produce letter-quality output + from such a device. + +DIDDLE v. To work with in a not particularly serious manner. "I + diddled with a copy of ADVENT so it didn't double-space all the + time." "Let's diddle this piece of code and see if the problem + goes away." See TWEAK and TWIDDLE. + +DIKE [from "diagonal cutters"] v. To remove a module or disable it. + "When in doubt, dike it out." + +DMP (dump) See BIN. + +DO PROTOCOL [from network protocol programming] v. To perform an + interaction with somebody or something that follows a clearly + defined procedure. For example, "Let's do protocol with the check" + at a restaurant means to ask the waitress for the check, calculate + the tip and everybody's share, generate change as necessary, and + pay the bill. + +DOWN 1. adj. Not working. "The up escalator is down." 2. TAKE DOWN, + BRING DOWN: v. To deactivate, usually for repair work. See UP. + +DPB (duh-pib') [from the PDP-10 instruction set] v. To plop something + down in the middle. + +DRAGON n. (MIT) A program similar to a "daemon" (q.v.), except that it + is not invoked at all, but is instead used by the system to perform + various secondary tasks. A typical example would be an accounting + program, which keeps track of who is logged in, accumulates load- + average statistics, etc. At MIT, all free TV's display a list of + people logged in, where they are, what they're running, etc. along + with some random picture (such as a unicorn, Snoopy, or the + Enterprise) which is generated by the "NAME DRAGON". See PHANTOM. + +ENGLISH n. The source code for a program, which may be in any + language, as opposed to BINARY. Usage: slightly obsolete, used + mostly by old-time hackers, though recognizable in context. At + MIT, directory SYSENG is where the "English" for system programs is + kept, and SYSBIN, the binaries. SAIL has many such directories, + but the canonical one is [CSP,SYS]. + +EPSILON [from standard mathematical notation for a small quantity] 1. + n. A small quantity of anything. "The cost is epsilon." 2. adj. + Very small, negligible; less than marginal. "We can get this + feature for epsilon cost." 3. WITHIN EPSILON OF: Close enough + to be indistinguishable for all practical purposes. + +EXCH (ex'chuh, ekstch) [from the PDP-10 instruction set] v. To + exchange two things, each for the other. + +EXCL (eks'cul) n. Abbreviation for "exclamation point". See BANG, + SHRIEK, WOW. + +EXE (ex'ee) See BIN. + +FAULTY adj. Same denotation as "bagbiting", "bletcherous", "losing", + q.v., but the connotation is much milder. + +FEATURE n. 1. A surprising property of a program. Occasionally docu- + mented. To call a property a feature sometimes means the author of + the program did not consider the particular case, and the program + makes an unexpected, although not strictly speaking an incorrect + response. See BUG. "That's not a bug, that's a feature!" A bug + can be changed to a feature by documenting it. 2. A well-known and + beloved property; a facility. Sometimes features are planned, but + are called crocks by others. An approximately correct spectrum: + + (These terms are all used to describe programs or portions thereof, + except for the first two, which are included for completeness.) + CRASH STOPPAGE BUG SCREW LOSS MISFEATURE + CROCK KLUGE HACK WIN FEATURE PERFECTION + (The last is never actually attained.) + +FEEP 1. n. The soft bell of a display terminal (except for a VT-52!); + a beep. 2. v. To cause the display to make a feep sound. TTY's do + not have feeps. Alternate forms: BEEP, BLEEP, or just about + anything suitably onomatopoeic. The term BREEDLE is sometimes + heard at SAIL, where the terminal bleepers are not particularly + "soft" (they sound more like the musical equivalent of sticking out + one's tongue). The "feeper" on a VT-52 has been compared to the + sound of a '52 Chevy stripping its gears. + +FENCEPOST ERROR n. The discrete equivalent of a boundary condition. + Often exhibited in programs by iterative loops. From the following + problem: "If you build a fence 100 feet long with posts ten feet + apart, how many posts do you need?" (Either 9 or 11 is a better + answer than the obvious 10.) + +FINE (WPI) adj. Good, but not good enough to be CUSPY. [The word FINE + is used elsewhere, of course, but without the implicit comparison + to the higher level implied by CUSPY.] + +FLAG DAY [from a bit of Multics history involving a change in the + ASCII character set originally scheduled for June 14, 1966] + n. A software change which is neither forward nor backward + compatible, and which is costly to make and costly to revert. + "Can we install that without causing a flag day for all users?" + +FLAKEY adj. Subject to frequent lossages. See LOSSAGE. + +FLAME v. To speak incessantly and/or rabidly on some relatively + uninteresting subject or with a patently ridiculous attitude. + FLAME ON: v. To continue to flame. See RAVE. + +FLAP v. To unload a DECtape (so it goes flap, flap, flap...). Old + hackers at MIT tell of the days when the disk was device 0 and + microtapes were 1, 2,... and attempting to flap device 0 would + instead start a motor banging inside a cabinet near the disk! + +FLAVOR n. 1. Variety, type, kind. "DDT commands come in two flavors." + 2. The attribute of causing something to be FLAVORFUL. "This + convention yields additional flavor by allowing one to..." + See VANILLA. + +FLAVORFUL adj. Aesthetically pleasing. See RANDOM and LOSING for + antonyms. See also the entry for TASTE. + +FLUSH v. 1. To delete something, usually superfluous. "All that + nonsense has been flushed." Standard ITS terminology for aborting + an output operation. 2. To leave at the end of a day's work (as + opposed to leaving for a meal). "I'm going to flush now." "Time + to flush." 3. To exclude someone from an activity. + +FOO 1. [from Yiddish "feh" or the Anglo-Saxon "fooey!"] interj. Term + of disgust. 2. [from FUBAR (Fucked Up Beyond All Recognition), + from WWII, often seen as FOOBAR] Name used for temporary programs, + or samples of three-letter names. Other similar words are BAR, BAZ + (Stanford corruption of BAR), and rarely RAG. These have been used + in Pogo as well. 3. Used very generally as a sample name for + absolutely anything. The old `Smokey Stover' comic strips often + included the word FOO, in particular on license plates of cars. + MOBY FOO: See MOBY. + +FRIED adj. 1. Non-working due to hardware failure; burnt out. 2. Of + people, exhausted. Said particularly of those who continue to work + in such a state. Often used as an explanation or excuse. "Yeah, I + know that fix destroyed the file system, but I was fried when I put + it in." + +FROB 1. n. (MIT) The official Tech Model Railroad Club definition is + "FROB = protruding arm or trunnion", and by metaphoric extension + any somewhat small thing. See FROBNITZ. 2. v. Abbreviated form of + FROBNICATE. + +FROBNICATE v. To manipulate or adjust, to tweak. Derived from + FROBNITZ (q.v.). Usually abbreviated to FROB. Thus one has the + saying "to frob a frob". See TWEAK and TWIDDLE. Usage: FROB, + TWIDDLE, and TWEAK sometimes connote points along a continuum. + FROB connotes aimless manipulation; TWIDDLE connotes gross + manipulation, often a coarse search for a proper setting; TWEAK + connotes fine-tuning. If someone is turning a knob on an + oscilloscope, then if he's carefully adjusting it he is probably + tweaking it; if he is just turning it but looking at the screen he + is probably twiddling it; but if he's just doing it because turning + a knob is fun, he's frobbing it. + +FROBNITZ, pl. FROBNITZEM (frob'nitsm) n. An unspecified physical + object, a widget. Also refers to electronic black boxes. This + rare form is usually abbreviated to FROTZ, or more commonly to + FROB. Also used are FROBNULE and FROBULE. + +FROG (variant: PHROG) 1. interj. Term of disgust (we seem to have a + lot of them). 2. Used as a name for just about anything. See FOO. + 3. n. Of things, a crock. Of people, somewhere inbetween a turkey + and a toad. 4. Jake Brown (FRG@SAIL). 5. FROGGY: adj. Similar to + BAGBITING (q.v.), but milder. "This froggy program is taking + forever to run!" + +FROTZ 1. n. See FROBNITZ. 2. MUMBLE FROTZ: An interjection of very + mild disgust. + +FRY v. 1. To fail. Said especially of smoke-producing hardware + failures. 2. More generally, to become non-working. Usage: never + said of software, only of hardware and humans. See FRIED. + +FTP (spelled out, NOT pronounced "fittip") 1. n. The File Transfer + Protocol for transmitting files between systems on the ARPAnet. 2. + v. To transfer a file using the File Transfer Program. "Lemme get + this copy of Wuthering Heights FTP'd from SAIL." + +FUDGE 1. v. To perform in an incomplete but marginally acceptable way, + particularly with respect to the writing of a program. "I didn't + feel like going through that pain and suffering, so I fudged it." + 2. n. The resulting code. + +FUDGE FACTOR n. A value or parameter that is varied in an ad hoc way + to produce the desired result. The terms "tolerance" and "slop" + are also used, though these usually indicate a one-sided leeway, + such as a buffer which is made larger than necessary because one + isn't sure exactly how large it needs to be, and it is better to + waste a little space than to lose completely for not having enough. + A fudge factor, on the other hand, can often be tweaked in more + than one direction. An example might be the coefficients of an + equation, where the coefficients are varied in an attempt to make + the equation fit certain criteria. + +GABRIEL [for Dick Gabriel, SAIL volleyball fanatic] n. An unnecessary + (in the opinion of the opponent) stalling tactic, e.g., tying one's + shoelaces or hair repeatedly, asking the time, etc. Also used to + refer to the perpetrator of such tactics. Also, "pulling a + Gabriel", "Gabriel mode". + +GARBAGE COLLECT v., GARBAGE COLLECTION n. See GC. + +GARPLY n. (Stanford) Another meta-word popular among SAIL hackers. + +GAS [as in "gas chamber"] interj. 1. A term of disgust and hatred, + implying that gas should be dispensed in generous quantities, + thereby exterminating the source of irritation. "Some loser just + reloaded the system for no reason! Gas!" 2. A term suggesting + that someone or something ought to be flushed out of mercy. "The + system's wedging every few minutes. Gas!" 3. v. FLUSH (q.v.). + "You should gas that old crufty software." 4. GASEOUS adj. + Deserving of being gassed. Usage: primarily used by Geoff + Goodfellow at SRI, but spreading; became particularly popular after + the Moscone/Milk murders in San Francisco, when it was learned that + Dan White (who supported Proposition 7) would get the gas chamber + under 7 if convicted. + +GC [from LISP terminology] 1. v. To clean up and throw away useless + things. "I think I'll GC the top of my desk today." 2. v. To + recycle, reclaim, or put to another use. 3. n. An instantiation of + the GC process. + +GEDANKEN [from Einstein's term "gedanken-experimenten", such as the + standard proof that E=mc^2] adj. An AI project which is written up + in grand detail without ever being implemented to any great extent. + Usually perpetrated by people who aren't very good hackers or find + programming distasteful or are just in a hurry. A gedanken thesis + is usually marked by an obvious lack of intuition about what is + programmable and what is not and about what does and does not + constitute a clear specification of a program-related concept such + as an algorithm. + +GLASS TTY n. A terminal which has a display screen but which, because + of hardware or software limitations, behaves like a teletype or + other printing terminal. An example is the ADM-3 (without cursor + control). A glass tty can't do neat display hacks, and you can't + save the output either. + +GLITCH [from the Yiddish "glitshen", to slide] 1. n. A sudden + interruption in electric service, sanity, or program function. + Sometimes recoverable. 2. v. To commit a glitch. See GRITCH. + 3. v. (Stanford) To scroll a display screen. + +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. v. Similar to GLITCH (q.v.), but + usually used reflexively. "My program just glorked itself." + +GOBBLE v. To consume or to obtain. GOBBLE UP tends to imply + "consume", while GOBBLE DOWN tends to imply "obtain". "The output + spy gobbles characters out of a TTY output buffer." "I guess I'll + gobble down a copy of the documentation tomorrow." See SNARF. + +GORP (CMU) [perhaps from a brand of dried hiker's food?] Another + metasyntactic variable, like FOO and BAR. + +GRIND v. 1. (primarily MIT) To format code, especially LISP code, by + indenting lines so that it looks pretty. Hence, PRETTY PRINT, the + generic term for such operations. 2. To run seemingly + interminably, performing some tedious and inherently useless task. + Similar to CRUNCH. + +GRITCH 1. n. A complaint (often caused by a GLITCH (q.v.)). 2. v. To + complain. Often verb-doubled: "Gritch gritch". 3. Glitch. + +GROK [from the novel "Stranger in a Strange Land", by Robert Heinlein, + where it is a Martian word meaning roughly "to be one with"] v. To + understand, usually in a global sense. + +GRONK [popularized by the cartoon strip "B.C." by Johnny Hart, but the + word apparently predates that] v. 1. To clear the state of a wedged + device and restart it. More severe than "to frob" (q.v.). 2. To + break. "The teletype scanner was gronked, so we took the system + down." 3. GRONKED: adj. Of people, the condition of feeling very + tired or sick. 4. GRONK OUT: v. To cease functioning. Of people, + to go home and go to sleep. "I guess I'll gronk out now; see you + all tomorrow." + +GROVEL v. To work interminably and without apparent progress. Often + used with "over". "The compiler grovelled over my code." Compare + GRIND and CRUNCH. Emphatic form: GROVEL OBSCENELY. + +GRUNGY adj. Incredibly dirty or grubby. Anything which has been + washed within the last year is not really grungy. Also used + metaphorically; hence some programs (especially crocks) can be + described as grungy. + +HACK n. 1. Originally a quick job that produces what is needed, but + not well. 2. The result of that job. 3. NEAT HACK: A clever + technique. Also, a brilliant practical joke, where neatness is + correlated with cleverness, harmlessness, and surprise value. + Example: the Caltech Rose Bowl card display switch circa 1961. + 4. REAL HACK: A crock (occasionally affectionate). + v. 5. With "together", to throw something together so it will work. + 6. To bear emotionally or physically. "I can't hack this heat!" 7. + To work on something (typically a program). In specific sense: + "What are you doing?" "I'm hacking TECO." In general sense: "What + do you do around here?" "I hack TECO." (The former is + time-immediate, the latter time-extended.) More generally, "I hack + x" is roughly equivalent to "x is my bag". "I hack solid-state + physics." 8. To pull a prank on. See definition 3 and HACKER (def + #6). 9. v.i. To waste time (as opposed to TOOL). "Watcha up to?" + "Oh, just hacking." 10. HACK UP (ON): To hack, but generally + implies that the result is meanings 1-2. 11. HACK VALUE: Term used + as the reason or motivation for expending effort toward a seemingly + useless goal, the point being that the accomplished goal is a hack. + For example, MacLISP has code to read and print roman numerals, + which was installed purely for hack value. + HAPPY HACKING: A farewell. HOW'S HACKING?: A friendly greeting + among hackers. HACK HACK: A somewhat pointless but friendly + comment, often used as a temporary farewell. + +HACKER [originally, someone who makes furniture with an axe] n. 1. A + person who enjoys learning the details of programming 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, or who enjoys programming rather than just + theorizing about programming. 3. A person capable of appreciating + hack value (q.v.). 4. A person who is good at programming quickly. + Not everything a hacker produces is a hack. 5. An expert at a + particular program, or one who frequently does work using it or on + it; example: "A SAIL hacker". (Definitions 1 to 5 are correlated, + and people who fit them congregate.) 6. A malicious or inquisitive + meddler who tries to discover information by poking around. Hence + "password hacker", "network hacker". + +HACKISH adj. Being or involving a hack. HACKISHNESS n. + +HAIR n. The complications which make something hairy. "Decoding TECO + commands requires a certain amount of hair." Often seen in the + phrase INFINITE HAIR, which connotes extreme complexity. + +HAIRY adj. 1. Overly 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." + +HAKMEM n. MIT AI Memo 239 (February 1972). A collection of neat + mathematical and programming hacks contributed by many people + at MIT and elsewhere. + +HANDWAVE 1. v. To gloss over a complex point; to distract a listener; + to support a (possibly actually valid) point with blatantly faulty + logic. 2. n. The act of handwaving. "Boy, what a handwave!" The + use of this word is often accompanied by gestures: both hands up, + palms forward, swinging the hands in a vertical plane pivoting at + the elbows and/or shoulders (depending on the magnitude of the + handwave); alternatively, holding the forearms still while rotating + the hands at the wrist to make them flutter. In context, the + gestures alone can suffice as a remark. + +HARDWARILY adv. In a way pertaining to hardware. "The system is + hardwarily unreliable." The adjective "hardwary" is NOT used. See + SOFTWARILY. + +HELLO WALL See WALL. + +HIRSUTE Occasionally used humorously as a synonym for HAIRY. + +HOOK n. An extraneous piece of software or hardware included in order + to simplify later additions or debug options. For instance, a + program might execute a location that is normally a JFCL, but by + changing the JFCL to a PUSHJ one can insert a debugging routine at + that point. + +HUMONGOUS, HUMUNGOUS See HUNGUS. + +HUNGUS (hung'-ghis) [perhaps related to current slang "humongous"; + which one came first (if either) is unclear] adj. Large, unwieldy, + usually unmanageable. "TCP is a hungus piece of code." "This is a + hungus set of modifications." + +IMPCOM See TELNET. + +INFINITE adj. Consisting of a large number of objects; extreme. Used + very loosely as in: "This program produces infinite garbage." + +IRP (erp) [from the MIDAS pseudo-op which generates a block of code + repeatedly, substituting in various places the car and/or cdr of + the list(s) supplied at the IRP] v. To perform a series of tasks + repeatedly with a minor substitution each time through. "I guess + I'll IRP over these homework papers so I can give them some random + grade for this semester." + +JFCL (djif'kl or djafik'l) [based on the PDP-10 instruction that acts + as a fast no-op] v. To cancel or annul something. "Why don't you + jfcl that out?" + +JIFFY n. 1. Interval of CPU time, commonly 1/60 second or 1 + millisecond. 2. Indeterminate time from a few seconds to forever. + "I'll do it in a jiffy" means certainly not now and possibly never. + +JOCK n. Programmer who is characterized by large and somewhat brute + force programs. The term is particularly well-suited for systems + programmers. + +J. RANDOM See RANDOM. + +JRST (jerst) [based on the PDP-10 jump instruction] v. To suddenly + change subjects. Usage: rather rare. "Jack be nimble, Jack be + quick; Jack jrst over the candle stick." + +JSYS (jay'sis), pl. JSI (jay'sigh) [Jump to SYStem] See UUO. + +KLUGE (kloodj) alt. KLUDGE [from the German "kluge", clever] n. 1. A + Rube Goldberg device in hardware or software. 2. A clever + programming trick intended to solve a particular nasty case in an + efficient, if not clear, manner. Often used to repair bugs. Often + verges on being a crock. 3. Something that works for the wrong + reason. 4. v. 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." Also KLUGE UP. 5. KLUGE AROUND: To avoid by inserting a + kluge. 6. (WPI) A feature which is implemented in a RUDE manner. + +LDB (lid'dib) [from the PDP-10 instruction set] v. To extract from the + middle. + +LIFE n. A cellular-automata game invented by John Horton Conway, and + first introduced publicly by Martin Gardner (Scientific American, + October 1970). + +LINE FEED (standard ASCII terminology) 1. v. To feed the paper through + a terminal by one line (in order to print on the next line). 2. n. + The "character" which causes the terminal to perform this action. + +LINE STARVE (MIT) Inverse of LINE FEED. + +LOGICAL [from the technical term "logical device", wherein a physical + device is referred to by an arbitrary name] adj. Understood to have + a meaning not necessarily corresponding to reality. E.g., if a + person who has long held a certain post (e.g., Les Earnest at SAIL) + left and was replaced, the replacement would for a while be known + as the "logical Les Earnest". The word VIRTUAL is also used. At + SAIL, "logical" compass directions denote a coordinate system in + which "logical north" is toward San Francisco, "logical west" is + toward the ocean, etc., even though logical north varies between + physical (true) north near SF and physical west near San Jose. + +LOSE [from MIT jargon] v. 1. To fail. A program loses when it + encounters an exceptional condition. 2. To be exceptionally + unaesthetic. 3. Of people, to be obnoxious or unusually stupid (as + opposed to ignorant). 4. DESERVE TO LOSE: v. Said of someone who + willfully does the wrong thing; humorously, if one uses a feature + known to be marginal. What is meant is that one deserves the + consequences of one's losing actions. "Boy, anyone who tries to + use MULTICS deserves to lose!" + LOSE LOSE - a reply or comment on a situation. + +LOSER n. An unexpectedly bad situation, program, programmer, or + person. Especially "real loser". + +LOSS n. Something which loses. WHAT A (MOBY) LOSS!: interjection. + +LOSSAGE n. The result of a bug or malfunction. + +LPT (lip'-it) n. Line printer, of course. + +LUSER See USER. + +MACROTAPE n. An industry standard reel of tape, as opposed to a + MICROTAPE. + +MAGIC adj. 1. As yet unexplained, or too complicated to explain. + (Arthur C. Clarke once said that magic was as-yet-not-understood + science.) "TTY echoing is controlled by a large number of magic + bits." "This routine magically computes the parity of an eight-bit + byte in three instructions." 2. (Stanford) A feature not generally + publicized which allows something otherwise impossible, or a + feature formerly in that category but now unveiled. Example: The + keyboard commands which override the screen-hiding features. + +MARGINAL adj. 1. Extremely small. "A marginal increase in core can + decrease GC time drastically." 2. Of extremely small merit. "This + proposed new feature seems rather marginal to me." 3. Of extremely + small probability of winning. "The power supply was rather + marginal anyway; no wonder it crapped out." 4. MARGINALLY: adv. + Slightly. "The ravs here are only marginally better than at Small + Eating Place." + +MICROTAPE n. Occasionally used to mean a DECtape, as opposed to a + MACROTAPE. + +MISFEATURE n. A feature which eventually screws someone, possibly + because it is not adequate for a new situation which has evolved. + It is not the same as a bug because fixing it involves a gross + philosophical change to the structure of the system involved. + Often a former feature becomes a misfeature because a tradeoff was + made whose parameters subsequently changed (possibly only in the + judgment of the implementors). "Well, yeah, it's kind of a + misfeature that file names are limited to six characters, but we're + stuck with it for now." + +MOBY [seems to have been in use among model railroad fans years ago. + Entered the world of AI with the Fabritek 256K moby memory of + MIT-AI. Derived from Melville's "Moby Dick" (some say from "Moby + Pickle").] 1. adj. Large, immense, or complex. "A moby frob." 2. + n. The maximum address space of a machine, hence 3. n. 256K words, + the size of a PDP-10 moby. (The maximum address space means the + maximum normally addressable space, as opposed to the amount of + physical memory a machine can have. Thus the MIT PDP-10s each have + two mobies, usually referred to as the "low moby" (0-777777) and + "high moby" (1000000-1777777), or as "moby 0" and "moby 1". MIT-AI + has four mobies of address space: moby 2 is the PDP-6 memory, and + moby 3 the PDP-11 interface.) In this sense "moby" is often used + as a generic unit of either address space (18. bits' worth) or of + memory (about a megabyte, or 9/8 megabyte (if one accounts for + difference between 32.- and 36.-bit words), or 5/4 megacharacters). + 4. A title of address (never of third-person reference), usually + used to show admiration, respect, and/or friendliness to a + competent hacker. "So, moby Knight, how's the CONS machine doing?" + 5. adj. In backgammon, doubles on the dice, as in "moby sixes", + "moby ones", etc. + MOBY FOO, MOBY WIN, MOBY LOSS: standard emphatic forms. + FOBY MOO: a spoonerism due to Greenblatt. + +MODE n. A general state, usually used with an adjective describing the + state. "No time to hack; I'm in thesis mode." Usage: in its + jargon sense, MODE is most often said of people, though it is + sometimes applied to programs and inanimate objects. "If you're on + a TTY, E will switch to non-display mode." In particular, see DAY + MODE, NIGHT MODE, and YOYO MODE; also COM MODE, TALK MODE, and + GABRIEL MODE. + +MODULO prep. Except for. From mathematical terminology: one can + consider saying that 4=22 "except for the 9's" (4=22 mod 9). + "Well, LISP seems to work okay now, modulo that GC bug." + +MOON n. 1. A celestial object whose phase is very important to + hackers. See PHASE OF THE MOON. 2. Dave Moon (MOON@MC). + +MUMBLAGE n. The topic of one's mumbling (see MUMBLE). "All that + mumblage" is used like "all that stuff" when it is not quite clear + what it is or how it works, or like "all that crap" when "mumble" + is being used as an implicit replacement for obscenities. + +MUMBLE interj. 1. Said when the correct response is either too + complicated to enunciate or the speaker has not thought it out. + Often prefaces a longer answer, or indicates a general reluctance + to get into a big long discussion. "Well, mumble." 2. Sometimes + used as an expression of disagreement. "I think we should buy it." + "Mumble!" Common variant: MUMBLE FROTZ. + +MUNCH (often confused with "mung", q.v.) v. To transform information + in a serial fashion, often requiring large amounts of computation. + To trace down a data structure. Related to CRUNCH (q.v.), but + connotes less pain. + +MUNCHING SQUARES n. A display hack dating back to the PDP-1, which + employs a trivial computation (involving XOR'ing of x-y display + coordinates - see HAKMEM items 146-148) to produce an impressive + display of moving, growing, and shrinking squares. The hack + usually has a parameter (usually taken from toggle switches) which + when well-chosen can produce amazing effects. Some of these, + discovered recently on the LISP machine, have been christened + MUNCHING TRIANGLES, MUNCHING W'S, and MUNCHING MAZES. + +MUNG (variant: MUNGE) [recursive acronym for Mung Until No Good] v. 1. + To make changes to a file, often large-scale, usually irrevocable. + Occasionally accidental. See BLT. 2. To destroy, usually + accidentally, occasionally maliciously. The system only mungs + things maliciously. + +N adj. 1. Some large and indeterminate number of objects; "There were + N bugs in that crock!"; also used in its original sense of a + variable name. 2. An arbitrarily large (and perhaps infinite) + number. 3. A variable whose value is specified by the current + context. "We'd like to order N wonton soups and a family dinner + for N-1." 4. NTH: adj. The ordinal counterpart of N. "Now for the + Nth and last time..." In the specific context "Nth-year grad + student", N is generally assumed to be at least 4, and is usually 5 + or more. See also 69. + +NIGHT MODE See PHASE (of people). + +NIL [from LISP terminology for "false"] No. Usage: used in reply to a + question, particularly one asked using the "-P" convention. See T. + +OBSCURE adj. Used in an exaggeration of its normal meaning, to imply a + total lack of comprehensibility. "The reason for that last crash + is obscure." "FIND's command syntax is obscure." MODERATELY + OBSCURE implies that it could be figured out but probably isn't + worth the trouble. + +OPEN n. Abbreviation for "open (or left) parenthesis", used when + necessary to eliminate oral ambiguity. To read aloud the LISP form + (DEFUN FOO (X) (PLUS X 1)) one might say: "Open def-fun foo, open + eks close, open, plus ekx one, close close." See CLOSE. + +PARSE [from linguistic terminology] v. 1. To determine the syntactic + structure of a sentence or other utterance (close to the standard + English meaning). Example: "That was the one I saw you." "I can't + parse that." 2. More generally, to understand or comprehend. + "It's very simple; you just kretch the glims and then aos the + zotz." "I can't parse that." 3. Of fish, to have to remove the + bones yourself (usually at a Chinese restaurant). "I object to + parsing fish" means "I don't want to get a whole fish, but a sliced + one is okay." A "parsed fish" has been deboned. There is some + controversy over whether "unparsed" should mean "bony", or also + mean "deboned". + +PATCH 1. n. A temporary addition to a piece of code, usually as a + quick-and-dirty remedy to an existing bug or misfeature. A patch + may or may not work, and may or may not eventually be incorporated + permanently into the program. 2. v. To insert a patch into a piece + of code. + +PDL (piddle or puddle) [acronym for Push Down List] n. 1. A LIFO queue + (stack); more loosely, any priority queue; even more loosely, any + queue. A person's pdl is the set of things he has to do in the + future. One speaks of the next project to be attacked as having + risen to the top of the pdl. "I'm afraid I've got real work to do, + so this'll have to be pushed way down on my pdl." See PUSH and + POP. 2. Dave Lebling (PDL@DM). + +PESSIMAL [Latin-based antonym for "optimal"] adj. Maximally bad. + "This is a pessimal situation." + +PESSIMIZING COMPILER n. A compiler that produces object code that is + worse than the straightforward or obvious translation. + +PHANTOM n. (Stanford) The SAIL equivalent of a DRAGON (q.v.). Typical + phantoms include the accounting program, the news-wire monitor, and + the lpt and xgp spoolers. + +PHASE (of people) 1. n. The phase of one's waking-sleeping schedule + with respect to the standard 24-hour cycle. This is a useful + concept among people who often work at night according to no fixed + schedule. It is not uncommon to change one's phase by as much as + six hours/day on a regular basis. "What's your phase?" "I've been + getting in about 8 PM lately, but I'm going to work around to the + day schedule by Friday." A person who is roughly 12 hours out of + phase is sometimes said to be in "night mode". (The term "day + mode" is also used, but less frequently.) 2. CHANGE PHASE THE HARD + WAY: To stay awake for a very long time in order to get into a + different phase. 3. CHANGE PHASE THE EASY WAY: To stay asleep etc. + +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." + +PLUGH [from the Adventure game] v. See XYZZY. + +POM n. Phase of the moon (q.v.). Usage: usually used in the phrase + "POM dependent" which means flakey (q.v.). + +POP [based on the stack operation that removes the top of a stack, and + the fact that procedure return addresses are saved on the stack] + dialect: POPJ (pop-jay), based on the PDP-10 procedure return + instruction. v. To return from a digression. + +PPN (pip'in) [DEC terminology, short for Project-Programmer Number] n. + 1. A combination `project' (directory name) and programmer name, + used to identify a specific directory belonging to that user. For + instance, "FOO,BAR" would be the FOO directory for user BAR. Since + the name is restricted to three letters, the programmer name is + usually the person's initials, though sometimes it is a nickname or + other special sequence. (Standard DEC setup is to have two octal + numbers instead of characters; hence the original acronym.) 2. + Often used loosely to refer to the programmer name alone. "I want + to send you some mail; what's your ppn?" Usage: not used at MIT, + since ITS does not use ppn's. The equivalent terms would be UNAME + and SNAME, depending on context, but these are not used except in + their technical senses. + +PROTOCOL See DO PROTOCOL. + +PSEUDOPRIME n. A backgammon prime (six consecutive occupied points) + with one point missing. + +PTY (pity) n. Pseudo TTY, a simulated TTY used to run a job under the + supervision of another job. + PTYJOB (pity-job) n. The job being run on the PTY. Also a common + general-purpose program for creating and using PTYs. + This is DEC and SAIL terminology; the MIT equivalent is STY. + +PUNT [from the punch line of an old joke: "Drop back 15 yards and + punt"] v. To give up, typically without any intention of retrying. + +PUSH [based on the stack operation that puts the current information + on a stack, and the fact that procedure call addresses are saved on + the stack] dialect: PUSHJ (push-jay), based on the PDP-10 procedure + call instruction. v. To enter upon a digression, to save the + current discussion for later. + +QUES (kwess) 1. n. The question mark character ("?"). 2. interj. + What? Also QUES QUES? See WALL. + +QUUX [invented by Steele. Mythically, from the Latin semi-deponent + verb QUUXO, QUUXARE, QUUXANDUM IRI; noun form variously QUUX + (plural QUUCES, Anglicized to QUUXES) and QUUXU (genitive plural is + QUUXUUM, four U's in seven letters).] 1. Originally, a meta-word + like FOO and FOOBAR. Invented by Steele for precisely this + purpose. 2. interj. See FOO; however, denotes very little disgust, + and is uttered mostly for the sake of the sound of it. 3. n. + Refers to one of three people who went to Boston Latin School and + eventually to MIT: + THE GREAT QUUX: Guy L. Steele Jr. + THE LESSER QUUX: David J. Littleboy + THE MEDIOCRE QUUX: Alan P. Swide + (This taxonomy is said to be similarly applied to three Frankston + brothers at MIT.) QUUX, without qualification, usually refers to + The Great Quux, who is somewhat infamous for light verse and for + the "Crunchly" cartoons. 4. QUUXY: adj. Of or pertaining to a + QUUX. 5. n. The Micro Quux (Sam Lewis). + +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. Frivolous; unproductive; undirected + (pejorative). "He's just a random loser." 4. Incoherent or + inelegant; 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. 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 a routine that could easily have been coded using only + three ac's, but randomly uses seven for assorted non-overlapping + purposes, so that no one else can invoke it without first saving + four extra ac's. 6. In no particular order, though deterministic. + "The I/O channels are in a pool, and when a file is opened one is + chosen randomly." n. 7. A random hacker; used particularly of high + school students who soak up computer time and generally get in the + way. 8. (occasional MIT usage) One who lives at Random Hall. + J. RANDOM is often prefixed to a noun to make a "name" out of it + (by comparison to common names such as "J. Fred Muggs"). The most + common uses are "J. Random Loser" and "J. Random Nurd" ("Should + J. Random Loser be allowed to gun down other people?"), but it + can be used just as an elaborate version of RANDOM in any sense. + +RANDOMNESS n. An unexplainable misfeature; gratuitous inelegance. + Also, a hack or crock which depends on a complex combination + of coincidences (or rather, the combination upon which the + crock depends). "This hack can output characters 40-57 by + putting the character in the accumulator field of an XCT and + then extracting 6 bits -- the low two bits of the XCT opcode + are the right thing." "What randomness!" + +RAPE v. To (metaphorically) screw someone or something, violently. + Usage: often used in describing file-system damage. "So-and-so was + running a program that did absolute disk I/O and ended up raping + the master directory." + +RAVE (WPI) v. 1. To persist in discussing a specific subject. 2. To + speak authoritatively on a subject about which one knows very + little. 3. To complain to a person who is not in a position to + correct the difficulty. 4. To purposely annoy another person + verbally. 5. To evangelize. See FLAME. Also used to describe + a less negative form of blather, such as friendly bullshitting. + +REAL USER n. 1. A commercial user. One who is paying "real" money for + his computer usage. 2. A non-hacker. Someone using the system for + an explicit purpose (research project, course, etc.). See USER. + +REAL WORLD, THE n. 1. In programming, those institutions at which + programming may be used in the same sentence as FORTRAN, COBOL, + RPG, IBM, etc. 2. To programmers, the location of non-programmers + and activities not related to programming. 3. A universe in which + the standard dress is shirt and tie and in which a person's working + hours are defined as 9 to 5. 4. The location of the status quo. + 5. Anywhere outside a university. "Poor fellow, he's left MIT and + gone into the real world." Used pejoratively by those not in + residence there. In conversation, talking of someone who has + entered the real world is not unlike talking about a deceased + person. + +REL See BIN. + +RIGHT THING, THE n. That which is "obviously" the correct or + appropriate thing to use, do, say, etc. Use of this term often + implies that in fact reasonable people may disagree. "Never let + your conscience keep you from doing the right thing!" "What's the + right thing for LISP to do when it reads '(.)'?" + +RUDE (WPI) adj. 1. (of a program) Badly written. 2. Functionally + poor, e.g. a program which is very difficult to use because of + gratuitously poor (random?) design decisions. See CUSPY. + +SACRED adj. Reserved for the exclusive use of something (a + metaphorical extension of the standard meaning). "Accumulator 7 is + sacred to the UUO handler." Often means that anyone may look at + the sacred object, but clobbering it will screw whatever it is + sacred to. + +SAGA (WPI) n. A cuspy but bogus raving story dealing with N random + broken people. + +SAV (save) See BIN. + +SEMI 1. n. Abbreviation for "semicolon", when speaking. "Commands to + GRIND are prefixed by semi-semi-star" means that the prefix is + ";;*", not 1/4 of a star. 2. Prefix with words such as + "immediately", as a qualifier. "When is the system coming up?" + "Semi-immediately." + +SERVER n. A kind of DAEMON which performs a service for the requester, + which often runs on a computer other than the one on which the + server runs. + +SHIFT LEFT (RIGHT) LOGICAL [from any of various machines' instruction + sets] 1. v. To move oneself to the left (right). To move out of + the way. 2. imper. Get out of that (my) seat! Usage: often used + without the "logical", or as "left shift" instead of "shift left". + Sometimes heard as LSH (lish), from the PDP-10 instruction set. + +SHR (share) See BIN. + +SHRIEK See EXCL. (Occasional CMU usage.) + +69 adj. Large quantity. Usage: Exclusive to MIT-AI. "Go away, I have + 69 things to do to DDT before worrying about fixing the bug in the + phase of the moon output routine..." + [Note: Actually, any number less than 100 but large enough to have + no obvious magic properties will be recognized as a "large number". + There is no denying that "69" is the local favorite. I don't know + whether its origins are related to the obscene interpretation, but + I do know that 69 decimal = 105 octal, and 69 hexadecimal = 105 + decimal, which is a nice property. - GLS] + +SLOP n. 1. A one-sided fudge factor (q.v.). Often introduced to avoid + the possibility of a fencepost error (q.v.). 2. (used by compiler + freaks) The ratio of code generated by a compiler to hand-compiled + code, minus 1; i.e., the space (or maybe time) you lose because you + didn't do it yourself. + +SLURP v. To read a large data file entirely into core before working + on it. "This program slurps in a 1K-by-1K matrix and does an FFT." + +SNARF v. To grab, esp. a large document or file for the purpose of + using it either with or without the author's permission. See BLT. + Variant: SNARF (IT) DOWN. (At MIT on ITS, DDT has a command called + :SNARF which grabs a job from another (inferior) DDT.) + +SOFTWARE ROT n. Hypothetical disease the existence of which has been + deduced from the observation that unused programs or features will + stop working after sufficient time has passed, even if "nothing has + changed". Also known as "bit decay". + +SOFTWARILY adv. In a way pertaining to software. "The system is + softwarily unreliable." The adjective "softwary" is NOT used. See + HARDWARILY. + +SOS 1. (ess-oh-ess) n. A losing editor, SON OF STOPGAP. 2. (sahss) v. + Inverse of AOS, from the PDP-10 instruction set. + +SPAZZ 1. v. To behave spastically or erratically; more often, to + commit a single gross error. "Boy, is he spazzing!" 2. n. One who + spazzes. "Boy, what a spazz!" 3. n. The result of spazzing. + "Boy, what a spazz!" + +SPLAT n. 1. Name used in many places (DEC, IBM, and others) for the + ASCII star ("*") character. 2. (MIT) Name used by some people for + the ASCII pound-sign ("#") character. 3. (Stanford) Name used by + some people for the Stanford/ITS extended ASCII circle-x character. + (This character is also called "circle-x", "blobby", and "frob", + among other names.) 4. (Stanford) Name for the semi-mythical + extended ASCII circle-plus character. 5. Canonical name for an + output routine that outputs whatever the the local interpretation + of splat is. Usage: nobody really agrees what character "splat" + is, but the term is common. + +SUPDUP v. To communicate with another ARPAnet host using the SUPDUP + program, which is a SUPer-DUPer TELNET talking a special display + protocol used mostly in talking to ITS sites. Sometimes + abbreviated to SD. + +STATE n. Condition, situation. "What's the state of NEWIO?" "It's + winning away." "What's your state?" "I'm about to gronk out." As + a special case, "What's the state of the world?" (or, more silly, + "State-of-world-P?") means "What's new?" or "What's going on?" + +STOPPAGE n. Extreme lossage (see LOSSAGE) resulting in something + (usually vital) becoming completely unusable. + +STY (pronounced "sty", not spelled out) n. A pseudo-teletype, which is + a two-way pipeline with a job on one end and a fake keyboard-tty on + the other. Also, a standard program which provides a pipeline from + its controlling tty to a pseudo-teletype (and thence to another + tty, thereby providing a "sub-tty"). + This is MIT terminology; the SAIL and DEC equivalent is PTY. + +SUPERPROGRAMMER n. See "wizard", "hacker". Usage: rare. (Becoming + more common among IBM and Yourdon types.) + +SWAPPED adj. From the use of secondary storage devices to implement + virtual memory in computer systems. Something which is SWAPPED IN + is available for immediate use in main memory, and otherwise is + SWAPPED OUT. Often used metaphorically to refer to people's + memories ("I read TECO ORDER every few months to keep the + information swapped in.") or to their own availability ("I'll swap + you in as soon as I finish looking at this other problem."). + +SYSTEM n. 1. The supervisor program on the computer. 2. Any + large-scale program. 3. Any method or algorithm. 4. The way + things are usually done. Usage: a fairly ambiguous word. "You + can't beat the system." + SYSTEM HACKER: one who hacks the system (in sense 1 only; for sense + 2 one mentions the particular program: e.g., LISP HACKER) + +T [from LISP terminology for "true"] 1. Yes. Usage: used in reply to + a question, particularly one asked using the "-P" convention). See + NIL. 2. See TIME T. + +TALK MODE See COM MODE. + +TASTE n. (primarily MIT-DMS) The quality in programs which tends to be + inversely proportional to the number of features, hacks, and kluges + programmed into it. Also, TASTY, TASTEFUL, TASTEFULNESS. "This + feature comes in N tasty flavors." Although TASTEFUL and FLAVORFUL + are essentially synonyms, TASTE and FLAVOR are not. + +TECO (tee'koe) [acronym for Text Editor and COrrector] 1. n. A text + editor developed at MIT, and modified by just about everybody. If + all the dialects are included, TECO might well be the single most + prolific editor in use. Noted for its powerful pseudo-programming + features and its incredibly hairy syntax. 2. v. To edit using the + TECO editor in one of its infinite forms; sometimes used to mean + "to edit" even when not using TECO! Usage: rare at SAIL, where + most people wouldn't touch TECO with a TENEX pole. + [Historical note: DEC grabbed an ancient version of MIT TECO many + years ago when it was still a TTY-oriented editor. By now, TECO at + MIT is highly display-oriented and is actually a language for + writing editors, rather than an editor. Meanwhile, the outside + world's various versions of TECO remain almost the same as the MIT + version of ten years ago. DEC recently tried to discourage its + use, but an underground movement of sorts kept it alive.] + [Since this note was written I found out that DEC tried to force + their hackers by administrative decision to use a hacked up and + generally lobotomized version of SOS instead of TECO, and they + revolted. - MRC] + +TELNET v. To communicate with another ARPAnet host using the TELNET + program. TOPS-10 people use the word IMPCOM since that is the + program name for them. Sometimes abbreviated to TN. "I usually TN + over to SAIL just to read the AP News." + +TERPRI (tur'pree) [from the LISP 1.5 (and later, MacLISP) function to + start a new line of output] v. To output a CRLF (q.v.). + +THEORY n. Used in the general sense of idea, plan, story, or set of + rules. "What's the theory on fixing this TECO loss?" "What's the + theory on dinner tonight?" ("Chinatown, I guess.") "What's the + current theory on letting losers on during the day?" "The theory + behind this change is to fix the following well-known screw..." + +THRASH v. To move wildly or violently. Swapping systems which are + overloaded spend much of their time moving pages into and out of + core, and are therefore said to thrash. + +TICK n. 1. Interval of time; basic clock time on the computer. + Typically 1/60 second. See JIFFY. 2. In simulations, the discrete + unit of time that passes "between" iterations of the simulation + mechanism. In AI applications, this amount of time is often left + unspecified, since the only constraint of interest is that caused + things happen after their causes. This sort of AI simulation is + often pejoratively referred to as "tick-tick-tick" simulation, + especially when the issue of simultaneity of events with long, + independent chains of causes is handwaved. + +TIME T n. 1. An unspecified but usually well-understood time, often + used in conjunction with a later time T+1. "We'll meet on campus + at time T or at Louie's at time T+1." 2. SINCE (OR AT) TIME T + EQUALS MINUS INFINITY: A long time ago; for as long as anyone can + remember; at the time that some particular frob was first designed. + +TOOL v.i. To work; to study. See HACK (def #9). + +TRAP 1. n. A program interrupt, usually used specifically to refer to + an interrupt caused by some illegal action taking place in the user + program. In most cases the system monitor performs some action + related to the nature of the illegality, then returns control to + the program. See UUO. 2. v. To cause a trap. "These instructions + trap to the monitor." Also used transitively to indicate the cause + of the trap. "The monitor traps all input/output instructions." + +TTY (titty) n. Terminal of the teletype variety, characterized by a + noisy mechanical printer, a very limited character set, and poor + print quality. Usage: antiquated (like the TTY's themselves). + Sometimes used to refer to any terminal at all; sometimes used + to refer to the particular terminal controlling a job. + +TWEAK v. To change slightly, usually in reference to a value. Also + used synonymously with TWIDDLE. See FROBNICATE and FUDGE FACTOR. + +TWENEX n. The TOPS-20 operating system by DEC. So named because + TOPS-10 was a typically crufty DEC operating system for the PDP-10. + BBN developed their own system, called TENEX (TEN EXecutive), and + in creating TOPS-20 for the DEC-20 DEC copied TENEX and adapted it + for the 20. Usage: DEC people cringe when they hear TOPS-20 + referred to as "Twenex", but the term seems to be catching on + nevertheless. Release 3 of TOPS-20 is sufficiently different from + release 1 that some (not all) hackers have stopped calling it + TWENEX, though the written abbreviation "20x" is still used. + +TWIDDLE n. 1. tilde (ASCII 176, "~"). Also called "squiggle", + "sqiggle" (sic--pronounced "skig'gul"), and "twaddle", but twiddle + is by far the most common term. 2. A small and insignificant + change to a program. Usually fixes one bug and generates several + new ones. 3. v. To change something in a small way. Bits, for + example, are often twiddled. Twiddling a switch or knob implies + much less sense of purpose than toggling or tweaking it; see + FROBNICATE. + +UP adj. 1. Working, in order. "The down escalator is up." 2. BRING + UP: v. To create a working version and start it. "They brought up + a down system." + +USER n. A programmer who will believe anything you tell him. One who + asks questions. Identified at MIT with "loser" by the spelling + "luser". See REAL USER. + [Note by GLS: I don't agree with RF's definition at all. + Basically, there are two classes of people who work with a program: + there are implementors (hackers) and users (losers). The users are + looked down on by hackers to a mild degree because they don't + understand the full ramifications of the system in all its glory. + (A few users who do are known as real winners.) It is true that + users ask questions (of necessity). Very often they are annoying + or downright stupid.] + +UUO (you-you-oh) [short for "Un-Used Operation"] n. A DEC-10 system + monitor call. The term "Un-Used Operation" comes from the fact + that, on DEC-10 systems, monitor calls are implemented as invalid + or illegal machine instructions, which cause traps to the monitor + (see TRAP). The SAIL manual describing the available UUO's has a + cover picture showing an unidentified underwater object. See YOYO. + [Note: DEC sales people have since decided that "Un-Used Operation" + sounds bad, so UUO now stands for "Unimplemented User Operation".] + Tenex and Twenex systems use the JSYS machine instruction (q.v.), + which is halfway between a legal machine instruction and a UUO, + since KA-10 Tenices implement it as a hardware instruction which + can be used as an ordinary subroutine call (sort of a "pure JSR"). + +VANILLA adj. Ordinary flavor, standard. See FLAVOR. When used of + food, very often does not mean that the food is flavored with + vanilla extract! For example, "vanilla-flavored wonton soup" means + ordinary wonton soup, as opposed to hot and sour wonton soup. + +VAXEN [from "oxen", perhaps influenced by "vixen"] n. pl. The plural + of VAX (a DEC machine). + +VIRGIN adj. Unused, in reference to an instantiation of a program. + "Let's bring up a virgin system and see if it crashes again." + Also, by extension, unused buffers and the like within a program. + +VIRTUAL adj. 1. Common alternative to LOGICAL (q.v.), but never used + with compass directions. 2. Performing the functions of. Virtual + memory acts like real memory but isn't. + +VISIONARY n. One who hacks vision (in an AI context, such as the + processing of visual images). + +WALDO [probably taken from the story "Waldo", by Heinlein, which is + where the term was first used to mean a mechanical adjunct to a + human limb] Used at Harvard, particularly by Tom Cheatham and + students, instead of FOOBAR as a meta-syntactic variable and + general nonsense word. See FOO, BAR, FOOBAR, QUUX. + +WALL [shortened form of HELLO WALL, apparently from the phrase "up + against a blank wall"] (WPI) interj. 1. An indication of confusion, + usually spoken with a quizzical tone. "Wall??" 2. A request for + further explication. + +WALLPAPER n. A file containing a listing (e.g., assembly listing) or + transcript, esp. a file containing a transcript of all or part of a + login session. (The idea was that the LPT paper for such listings + was essentially good only for wallpaper, as evidenced at SAIL where + it was used as such to cover windows.) Usage: not often used now, + esp. since other systems have developed other terms for it (e.g., + PHOTO on TWENEX). The term possibly originated on ITS, where the + commands to begin and end transcript files are still :WALBEG and + :WALEND, with default file DSK:WALL PAPER. + +WEDGED [from "head wedged up ass"] adj. To be in a locked state, + incapable of proceeding without help. (See GRONK.) Often refers + to humans suffering misconceptions. "The swapper is wedged." + This term is sometimes used as a synonym for DEADLOCKED (q.v.). + +WHAT n. The question mark character ("?"). See QUES. Usage: rare, + used particularly in conjunction with WOW. + +WIN [from MIT jargon] 1. v. To succeed. A program wins if no + unexpected conditions arise. 2. BIG WIN: n. Serendipity. + Emphatic forms: MOBY WIN, SUPER WIN, HYPER-WIN (often used + interjectively as a reply). For some reason SUITABLE WIN is also + common at MIT, usually in reference to a satisfactory solution to a + problem. See LOSE. + +WINNAGE n. The situation when a lossage is corrected, or when + something is winning. Quite rare. Usage: also quite rare. + +WINNER 1. n. An unexpectedly good situation, program, programmer or + person. 2. REAL WINNER: Often sarcastic, but also used as high + praise. + +WINNITUDE n. The quality of winning (as opposed to WINNAGE, which is + the result of winning). "That's really great! Boy, what + winnitude!" + +WIZARD n. 1. A person who knows how a complex piece of software or + hardware works; someone who can find and fix his bugs in an + emergency. Rarely used at MIT, where HACKER is the preferred term. + 2. A person who is permitted to do things forbidden to ordinary + people, e.g., a "net wizard" on a TENEX may run programs which + speak low-level host-imp protocol; an ADVENT wizard at SAIL may + play Adventure during the day. + +WORMHOLE n. A location in a monitor which contains the address of a + routine, with the specific intent of making it easy to substitute a + different routine. The following quote comes from "Polymorphic + Systems", vol. 2, p. 54: + + "Any type of I/O device can be substituted for the standard device + by loading a simple driver routine for that device and installing + its address in one of the monitor's `wormholes.'* + ---------- + *The term `wormhole' has been used to describe a hypothetical + astronomical situation where a black hole connects to the `other + side' of the universe. When this happens, information can pass + through the wormhole, in only one direction, much as `assumptions' + pass down the monitor's wormholes." + +WOW See EXCL. + +XGP 1. n. Xerox Graphics Printer. 2. v. To print something on the + XGP. "You shouldn't XGP such a large file." + +XYZZY [from the Adventure game] adj. See PLUGH. + +YOYO n. DEC service engineers' slang for UUO (q.v.). Usage: rare at + Stanford and MIT, has been found at random DEC installations. + +YOYO MODE n. State in which the system is said to be when it rapidly + alternates several times between being up and being down. + +YU-SHIANG WHOLE FISH n. The character gamma (extended SAIL ASCII 11), + which with a loop in its tail looks like a fish. Usage: used + primarily by people on the MIT LISP Machine. Tends to elicit + incredulity from people who hear about it second-hand. + +ZERO v. 1. To set to zero. Usually said of small pieces of data, such + as bits or words. 2. To erase; to discard all data from. Said of + disks and directories, where "zeroing" need not involve actually + writing zeroes throughout the area being zeroed. diff --git a/jarg2912.txt b/jarg2912.txt new file mode 100644 index 0000000..6cdfce1 --- /dev/null +++ b/jarg2912.txt @@ -0,0 +1,22238 @@ +#========= THIS IS THE JARGON FILE, VERSION 2.9.12, 10 MAY 1993 =========# +x +This is the Jargon File, a comprehensive compendium of hacker slang +illuminating many aspects of hackish tradition, folklore, and humor. + +This document (the Jargon File) is in the public domain, to be freely +used, shared, and modified. There are (by intention) no legal +restraints on what you can do with it, but there are traditions about +its proper use to which many hackers are quite strongly attached. +Please extend the courtesy of proper citation when you quote the File, +ideally with a version number, as it will change and grow over time. +(Examples of appropriate citation form: "Jargon File 2.9.12" or +"The on-line hacker Jargon File, version 2.9.12, 10 MAY 1993".) + +The Jargon File is a common heritage of the hacker culture. +Over the years a number of individuals have volunteered considerable +time to maintaining the File and been recognized by the net at large +as editors of it. Editorial responsibilities include: to collate +contributions and suggestions from others; to seek out corroborating +information; to cross-reference related entries; to keep the file in a +consistent format; and to announce and distribute updated versions +periodically. Current volunteer editors include: + + Eric Raymond esr@snark.thyrsus.com (215)-296-5718 + +Although there is no requirement that you do so, it is considered good +form to check with an editor before quoting the File in a published work +or commercial product. We may have additional information that would be +helpful to you and can assist you in framing your quote to reflect +not only the letter of the File but its spirit as well. + +All contributions and suggestions about this file sent to a volunteer +editor are gratefully received and will be regarded, unless otherwise +labelled, as freely given donations for possible use as part of this +public-domain file. + +From time to time a snapshot of this file has been polished, edited, +and formatted for commercial publication with the cooperation of the +volunteer editors and the hacker community at large. If you wish to +have a bound paper copy of this file, you may find it convenient to +purchase one of these. They often contain additional material not +found in on-line versions. The two `authorized' editions so far are +described in the Revision History section; there may be more in the +future. + +:Introduction: +************** + +:About This File: +================= + +This document is a collection of slang terms used by various subcultures +of computer hackers. Though some technical material is included for +background and flavor, it is not a technical dictionary; what we +describe here is the language hackers use among themselves for fun, +social communication, and technical debate. + +The `hacker culture' is actually a loosely networked collection of +subcultures that is nevertheless conscious of some important shared +experiences, shared roots, and shared values. It has its own myths, +heroes, villains, folk epics, in-jokes, taboos, and dreams. Because +hackers as a group are particularly creative people who define +themselves partly by rejection of `normal' values and working habits, it +has unusually rich and conscious traditions for an intentional culture +less than 35 years old. + +As usual with slang, the special vocabulary of hackers helps hold their +culture together --- it helps hackers recognize each other's places in +the community and expresses shared values and experiences. Also as +usual, *not* knowing the slang (or using it inappropriately) defines one +as an outsider, a mundane, or (worst of all in hackish vocabulary) +possibly even a {suit}. All human cultures use slang in this threefold +way --- as a tool of communication, and of inclusion, and of exclusion. + +Among hackers, though, slang has a subtler aspect, paralleled perhaps in +the slang of jazz musicians and some kinds of fine artists but hard to +detect in most technical or scientific cultures; parts of it are code +for shared states of *consciousness*. There is a whole range of altered +states and problem-solving mental stances basic to high-level hacking +which don't fit into conventional linguistic reality any better than a +Coltrane solo or one of Maurits Escher's `trompe l'oeil' compositions +(Escher is a favorite of hackers), and hacker slang encodes these +subtleties in many unobvious ways. As a simple example, take the +distinction between a {kluge} and an {elegant} solution, and the +differing connotations attached to each. The distinction is not only of +engineering significance; it reaches right back into the nature of the +generative processes in program design and asserts something important +about two different kinds of relationship between the hacker and the +hack. Hacker slang is unusually rich in implications of this kind, of +overtones and undertones that illuminate the hackish psyche. + +But there is more. Hackers, as a rule, love wordplay and are very +conscious and inventive in their use of language. These traits seem to +be common in young children, but the conformity-enforcing machine we are +pleased to call an educational system bludgeons them out of most of us +before adolescence. Thus, linguistic invention in most subcultures of +the modern West is a halting and largely unconscious process. Hackers, +by contrast, regard slang formation and use as a game to be played for +conscious pleasure. Their inventions thus display an almost unique +combination of the neotenous enjoyment of language-play with the +discrimination of educated and powerful intelligence. Further, the +electronic media which knit them together are fluid, `hot' connections, +well adapted to both the dissemination of new slang and the ruthless +culling of weak and superannuated specimens. The results of this +process give us perhaps a uniquely intense and accelerated view of +linguistic evolution in action. + +Hackish slang also challenges some common linguistic and +anthropological assumptions. For example, it has recently become +fashionable to speak of `low-context' versus `high-context' +communication, and to classify cultures by the preferred context level +of their languages and art forms. It is usually claimed that +low-context communication (characterized by precision, clarity, and +completeness of self-contained utterances) is typical in cultures +which value logic, objectivity, individualism, and competition; by +contrast, high-context communication (elliptical, emotive, +nuance-filled, multi-modal, heavily coded) is associated with cultures +which value subjectivity, consensus, cooperation, and tradition. What +then are we to make of hackerdom, which is themed around extremely +low-context interaction with computers and exhibits primarily +"low-context" values, but cultivates an almost absurdly high-context +slang style? + +The intensity and consciousness of hackish invention make a compilation +of hacker slang a particularly effective window into the surrounding +culture --- and, in fact, this one is the latest version of an evolving +compilation called the `Jargon File', maintained by hackers themselves +for over 15 years. This one (like its ancestors) is primarily a +lexicon, but also includes `topic entries' which collect background or +sidelight information on hacker culture that would be awkward to try to +subsume under individual entries. + +Though the format is that of a reference volume, it is intended that the +material be enjoyable to browse. Even a complete outsider should find +at least a chuckle on nearly every page, and much that is amusingly +thought-provoking. But it is also true that hackers use humorous +wordplay to make strong, sometimes combative statements about what they +feel. Some of these entries reflect the views of opposing sides in +disputes that have been genuinely passionate; this is deliberate. We +have not tried to moderate or pretty up these disputes; rather we have +attempted to ensure that *everyone's* sacred cows get gored, +impartially. Compromise is not particularly a hackish virtue, but the +honest presentation of divergent viewpoints is. + +The reader with minimal computer background who finds some references +incomprehensibly technical can safely ignore them. We have not felt it +either necessary or desirable to eliminate all such; they, too, +contribute flavor, and one of this document's major intended audiences +--- fledgling hackers already partway inside the culture --- will +benefit from them. + +A selection of longer items of hacker folklore and humor is included in +{appendix A}. The `outside' reader's attention is particularly directed +to {appendix B}, "A Portrait of J. Random Hacker". {Appendix C} is a +bibliography of non-technical works which have either influenced or +described the hacker culture. + +Because hackerdom is an intentional culture (one each individual must +choose by action to join), one should not be surprised that the line +between description and influence can become more than a little +blurred. Earlier versions of the Jargon File have played a central role +in spreading hacker language and the culture that goes with it to +successively larger populations, and we hope and expect that this one +will do likewise. + +:Of Slang, Jargon, and Techspeak: +================================= + +Linguists usually refer to informal language as `slang' and reserve the +term `jargon' for the technical vocabularies of various occupations. +However, the ancestor of this collection was called the `Jargon File', +and hackish slang is traditionally `the jargon'. When talking about the +jargon there is therefore no convenient way to distinguish it from what +a *linguist* would call hackers' jargon --- the formal vocabulary they +learn from textbooks, technical papers, and manuals. + +To make a confused situation worse, the line between hackish slang and +the vocabulary of technical programming and computer science is fuzzy, +and shifts over time. Further, this vocabulary is shared with a wider +technical culture of programmers, many of whom are not hackers and do +not speak or recognize hackish slang. + +Accordingly, this lexicon will try to be as precise as the facts of +usage permit about the distinctions among three categories: + + * `slang': informal language from mainstream English or non-technical + subcultures (bikers, rock fans, surfers, etc). + + * `jargon': without qualifier, denotes informal `slangy' language + peculiar to or predominantly found among hackers --- the subject of + this lexicon. + + * `techspeak': the formal technical vocabulary of programming, + computer science, electronics, and other fields connected to + hacking. + +This terminology will be consistently used throughout the remainder of +this lexicon. + +The jargon/techspeak distinction is the delicate one. A lot of +techspeak originated as jargon, and there is a steady continuing uptake +of jargon into techspeak. On the other hand, a lot of jargon arises +from overgeneralization of techspeak terms (there is more about this in +the "Jargon Construction" section below). + +In general, we have considered techspeak any term that communicates +primarily by a denotation well established in textbooks, technical +dictionaries, or standards documents. + +A few obviously techspeak terms (names of operating systems, languages, +or documents) are listed when they are tied to hacker folklore that +isn't covered in formal sources, or sometimes to convey critical +historical background necessary to understand other entries to which +they are cross-referenced. Some other techspeak senses of jargon words +are listed in order to make the jargon senses clear; where the text does +not specify that a straight technical sense is under discussion, these +are marked with `[techspeak]' as an etymology. Some entries have a +primary sense marked this way, with subsequent jargon meanings explained +in terms of it. + +We have also tried to indicate (where known) the apparent origins of +terms. The results are probably the least reliable information in the +lexicon, for several reasons. For one thing, it is well known that many +hackish usages have been independently reinvented multiple times, even +among the more obscure and intricate neologisms. It often seems that +the generative processes underlying hackish jargon formation have an +internal logic so powerful as to create substantial parallelism across +separate cultures and even in different languages! For another, the +networks tend to propagate innovations so quickly that `first use' is +often impossible to pin down. And, finally, compendia like this one +alter what they observe by implicitly stamping cultural approval on +terms and widening their use. + +Despite these problems, the organized collection of jargon-related oral +history for the File's 2.x.x versions has enabled us to put to rest +quite a number of folk etymologies, place credit where credit is due, +and illuminate the early history of many important hackerisms such as +{kluge}, {cruft}, and {foo}. We believe specialist lexicographers will +find many of the historical notes more than casually instructive. + +:Revision History: +================== + +The original Jargon File was a collection of hacker jargon from +technical cultures including the MIT AI Lab, the Stanford AI lab (SAIL), +and others of the old ARPANET AI/LISP/PDP-10 communities including Bolt, +Beranek and Newman (BBN), Carnegie-Mellon University (CMU), and +Worcester Polytechnic Institute (WPI). + +The Jargon File (hereafter referred to as `jargon-1' or `the File') was +begun by Raphael Finkel at Stanford in 1975. From this time until the +plug was finally pulled on the SAIL computer in 1991, the File was named +AIWORD.RF[UP,DOC] there. Some terms in it date back considerably +earlier ({frob} and some senses of {moby}, for instance, go back to the +Tech Model Railroad Club at MIT and are believed to date at least back +to the early 1960s). The revisions of jargon-1 were all unnumbered and +may be collectively considered `Version 1'. + +In 1976, Mark Crispin, having seen an announcement about the File on the +SAIL computer, {FTP}ed a copy of the File to MIT. He noticed that it +was hardly restricted to `AI words' and so stored the file on his +directory as AI:MRC;SAIL JARGON. + +The file was quickly renamed JARGON > (the `>' caused versioning under +ITS) as a flurry of enhancements were made by Mark Crispin and Guy L. +Steele Jr. Unfortunately, amidst all this activity, nobody thought of +correcting the term `jargon' to `slang' until the compendium had already +become widely known as the Jargon File. + +Raphael Finkel dropped out of active participation shortly thereafter +and Don Woods became the SAIL contact for the File (which was +subsequently kept in duplicate at SAIL and MIT, with periodic +resynchronizations). + +The File expanded by fits and starts until about 1983; Richard Stallman +was prominent among the contributors, adding many MIT and ITS-related +coinages. + +In Spring 1981, a hacker named Charles Spurgeon got a large chunk of the +File published in Stewart Brand's `CoEvolution Quarterly' (issue 29, +pages 26--35) with illustrations by Phil Wadler and Guy Steele +(including a couple of the Crunchly cartoons). This appears to have +been the File's first paper publication. + +A late version of jargon-1, expanded with commentary for the mass +market, was edited by Guy Steele into a book published in 1983 as `The +Hacker's Dictionary' (Harper & Row CN 1082, ISBN 0-06-091082-8). The +other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin) +contributed to this revision, as did Richard M. Stallman and Geoff +Goodfellow. This book (now out of print) is hereafter referred to as +`Steele-1983' and those six as the Steele-1983 coauthors. + +Shortly after the publication of Steele-1983, the File effectively +stopped growing and changing. Originally, this was due to a desire to +freeze the file temporarily to facilitate the production of Steele-1983, +but external conditions caused the `temporary' freeze to become +permanent. + +The AI Lab culture had been hit hard in the late 1970s by funding cuts +and the resulting administrative decision to use vendor-supported +hardware and software instead of homebrew whenever possible. At MIT, +most AI work had turned to dedicated LISP Machines. At the same time, +the commercialization of AI technology lured some of the AI Lab's best +and brightest away to startups along the Route 128 strip in +Massachusetts and out West in Silicon Valley. The startups built LISP +machines for MIT; the central MIT-AI computer became a {TWENEX} system +rather than a host for the AI hackers' beloved {ITS}. + +The Stanford AI Lab had effectively ceased to exist by 1980, although +the SAIL computer continued as a Computer Science Department resource +until 1991. Stanford became a major {TWENEX} site, at one point +operating more than a dozen TOPS-20 systems; but by the mid-1980s most +of the interesting software work was being done on the emerging BSD UNIX +standard. + +In April 1983, the PDP-10-centered cultures that had nourished the File +were dealt a death-blow by the cancellation of the Jupiter project at +Digital Equipment Corporation. The File's compilers, already dispersed, +moved on to other things. Steele-1983 was partly a monument to what its +authors thought was a dying tradition; no one involved realized at the +time just how wide its influence was to be. + +By the mid-1980s the File's content was dated, but the legend that had +grown up around it never quite died out. The book, and softcopies +obtained off the ARPANET, circulated even in cultures far removed from +MIT and Stanford; the content exerted a strong and continuing influence +on hackish language and humor. Even as the advent of the microcomputer +and other trends fueled a tremendous expansion of hackerdom, the File +(and related materials such as the AI Koans in Appendix A) came to be +seen as a sort of sacred epic, a hacker-culture Matter of Britain +chronicling the heroic exploits of the Knights of the Lab. The pace of +change in hackerdom at large accelerated tremendously --- but the Jargon +File, having passed from living document to icon, remained essentially +untouched for seven years. + +This revision contains nearly the entire text of a late version of +jargon-1 (a few obsolete PDP-10-related entries were dropped after +careful consultation with the editors of Steele-1983). It merges in +about 80% of the Steele-1983 text, omitting some framing material and a +very few entries introduced in Steele-1983 that are now also obsolete. + +This new version casts a wider net than the old Jargon File; its aim is +to cover not just AI or PDP-10 hacker culture but all the technical +computing cultures wherein the true hacker-nature is manifested. More +than half of the entries now derive from {USENET} and represent jargon +now current in the C and UNIX communities, but special efforts have been +made to collect jargon from other cultures including IBM PC programmers, +Amiga fans, Mac enthusiasts, and even the IBM mainframe world. + +Eric S. Raymond maintains the new File with +assistance from Guy L. Steele Jr. ; these are the persons +primarily reflected in the File's editorial `we', though we take +pleasure in acknowledging the special contribution of the other +coauthors of Steele-1983. Please email all additions, corrections, and +correspondence relating to the Jargon File to jargon@thyrsus.com +(UUCP-only sites without connections to an autorouting smart site can +use ...!uunet!snark!jargon). + +(Warning: other email addresses appear in this file *but are not +guaranteed to be correct* later than the revision date on the first +line. *Don't* email us if an attempt to reach your idol bounces --- we +have no magic way of checking addresses or looking up people.) + +The 2.9.6 version became the main text of `The New Hacker's Dictionary', +by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6. The +maintainers are committed to updating the on-line version of the Jargon +File through and beyond paper publication, and will continue to make it +available to archives and public-access sites as a trust of the hacker +community. + +Here is a chronology of the high points in the recent on-line revisions: + +Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a +seven-year hiatus. Reorganization and massive additions were by Eric +S. Raymond, approved by Guy Steele. Many items of UNIX, C, USENET, and +microcomputer-based jargon were added at that time (as well as The +Untimely Demise of Mabel The Monkey). + +Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for book. +This version had 18952 lines, 148629 words, 975551 characters, and 1702 +entries. + +Version 2.9.8, Jan 01 1992: first public release since the book, +including over fifty new entries and numerous corrections/additions to +old ones. Packaged with version 1.1 of vh(1) hypertext reader. This +version had 19509 lines, 153108 words, 1006023 characters, and 1760 +entries. + +Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon. This version +had 20298 lines, 159651 words, 1048909 characters, and 1821 entries. + +Version 2.9.10, Jul 01 1992: lots of new historical material. This +version had 21349 lines, 168330 words, 1106991 characters, and 1891 +entries. + +Version 2.9.11, Jan 01 1993: lots of new historical material. This +version had 21725 lines, 171169 words, 1125880 characters, and 1922 +entries. + +Version 2.9.12, May 10 1993: a few new entries & changes, marginal +MUD/IRC slang and some borderline techspeak removed, all in preparation +for 2nd Edition of TNHD. This version had 22238 lines, 175114 words, +1152467 characters, and 1946 entries. + +Version numbering: Version numbers should be read as +major.minor.revision. Major version 1 is reserved for the `old' (ITS) +Jargon File, jargon-1. Major version 2 encompasses revisions by ESR +(Eric S. Raymond) with assistance from GLS (Guy L. Steele, Jr.) leading +up to and including the second paper edition. From now on, major +version number N.00 will probably correspond to the Nth paper edition. +Usually later versions will either completely supersede or incorporate +earlier versions, so there is generally no point in keeping old versions +around. + +Our thanks to the coauthors of Steele-1983 for oversight and assistance, +and to the hundreds of USENETters (too many to name here) who +contributed entries and encouragement. More thanks go to several of the +old-timers on the USENET group alt.folklore.computers, who contributed +much useful commentary and many corrections and valuable historical +perspective: Joseph M. Newcomer , Bernie Cosell +, Earl Boebert , and Joe Morris +. + +We were fortunate enough to have the aid of some accomplished +linguists. David Stampe and Charles +Hoequist contributed valuable criticism; Joe Keane + helped us improve the pronunciation guides. + +A few bits of this text quote previous works. We are indebted to Brian +A. LaMacchia for obtaining permission for us to +use material from the `TMRC Dictionary'; also, Don Libes + contributed some appropriate material from his +excellent book `Life With UNIX'. We thank Per Lindberg , +author of the remarkable Swedish-language 'zine `Hackerbladet', for +bringing `FOO!' comics to our attention and smuggling one of the IBM +hacker underground's own baby jargon files out to us. Thanks also to +Maarten Litmaath for generously allowing the inclusion of the ASCII +pronunciation guide he formerly maintained. And our gratitude to Marc +Weiser of XEROX PARC for securing us +permission to quote from PARC's own jargon lexicon and shipping us a +copy. + +It is a particular pleasure to acknowledge the major contributions of +Mark Brader to the final manuscript; he read and reread +many drafts, checked facts, caught typos, submitted an amazing number of +thoughtful comments, and did yeoman service in catching typos and minor +usage bobbles. Mr. Brader's rare combination of enthusiasm, +persistence, wide-ranging technical knowledge, and precisionism in +matters of language made his help invaluable, and the sustained volume +and quality of his input over many months only allowed him to escape +co-editor credit by the slimmest of margins. + +Finally, George V. Reilly helped with TeX arcana and +painstakingly proofread some 2.7 and 2.8 versions; Steve Summit + contributed a number of excellent new entries and +many small improvements to 2.9.10; and Eric Tiedemann +contributed sage advice throughout on rhetoric, amphigory, and +philosophunculism. + +:How Jargon Works: +****************** + +:Jargon Construction: +===================== + +There are some standard methods of jargonification that became +established quite early (i.e., before 1970), spreading from such sources +as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers, and John +McCarthy's original crew of LISPers. These include the following: + + +:Verb Doubling: --------------- A standard construction in English is to +double a verb and use it as an exclamation, such as "Bang, bang!" or +"Quack, quack!". Most of these are names for noises. Hackers also +double verbs as a concise, sometimes sarcastic comment on what the +implied subject does. Also, a doubled verb is often used to terminate a +conversation, in the process remarking on the current state of affairs +or what the speaker intends to do next. Typical examples involve {win}, +{lose}, {hack}, {flame}, {barf}, {chomp}: + + "The disk heads just crashed." "Lose, lose." + "Mostly he talked about his latest crock. Flame, flame." + "Boy, what a bagbiter! Chomp, chomp!" + +Some verb-doubled constructions have special meanings not immediately +obvious from the verb. These have their own listings in the lexicon. + +The {USENET} culture has one *tripling* convention unrelated to +this; the names of `joke' topic groups often have a tripled last +element. The first and paradigmatic example was +alt.swedish.chef.bork.bork.bork (a "Muppet Show" reference); +other infamous examples have included: + + alt.french.captain.borg.borg.borg + alt.wesley.crusher.die.die.die + comp.unix.internals.system.calls.brk.brk.brk + sci.physics.edward.teller.boom.boom.boom + alt.sadistic.dentists.drill.drill.drill + + +:Soundalike slang: ------------------ Hackers will often make rhymes or +puns in order to convert an ordinary word or phrase into something more +interesting. It is considered particularly {flavorful} if the phrase is +bent so as to include some other jargon word; thus the computer hobbyist +magazine `Dr. Dobb's Journal' is almost always referred to among hackers +as `Dr. Frob's Journal' or simply `Dr. Frob's'. Terms of this kind that +have been in fairly wide use include names for newspapers: + + Boston Herald => Horrid (or Harried) + Boston Globe => Boston Glob + Houston (or San Francisco) Chronicle + => the Crocknicle (or the Comical) + New York Times => New York Slime + +However, terms like these are often made up on the spur of the moment. +Standard examples include: + + Data General => Dirty Genitals + IBM 360 => IBM Three-Sickly + Government Property --- Do Not Duplicate (on keys) + => Government Duplicity --- Do Not Propagate + for historical reasons => for hysterical raisins + Margaret Jacks Hall (the CS building at Stanford) + => Marginal Hacks Hall + +This is not really similar to the Cockney rhyming slang it has been +compared to in the past, because Cockney substitutions are opaque +whereas hacker punning jargon is intentionally transparent. + + +:The `-P' convention: --------------------- Turning a word into a +question by appending the syllable `P'; from the LISP convention of +appending the letter `P' to denote a predicate (a boolean-valued +function). The question should expect a yes/no answer, though it +needn't. (See {T} and {NIL}.) + + At dinnertime: + Q: "Foodp?" + A: "Yeah, I'm pretty hungry." or "T!" + + At any time: + Q: "State-of-the-world-P?" + A: (Straight) "I'm about to go home." + A: (Humorous) "Yes, the world has a state." + + On the phone to Florida: + Q: "State-p Florida?" + A: "Been reading JARGON.TXT again, eh?" + +[One of the best of these is a {Gosperism}. Once, when we were at a +Chinese restaurant, Bill Gosper wanted to know whether someone would +like to share with him a two-person-sized bowl of soup. His inquiry +was: "Split-p soup?" --- GLS] + + +:Overgeneralization: -------------------- A very conspicuous feature of +jargon is the frequency with which techspeak items such as names of +program tools, command language primitives, and even assembler opcodes +are applied to contexts outside of computing wherever hackers find +amusing analogies to them. Thus (to cite one of the best-known +examples) UNIX hackers often {grep} for things rather than searching for +them. Many of the lexicon entries are generalizations of exactly this +kind. + +Hackers enjoy overgeneralization on the grammatical level as well. Many +hackers love to take various words and add the wrong endings to them to +make nouns and verbs, often by extending a standard rule to nonuniform +cases (or vice versa). For example, because + + porous => porosity + generous => generosity + +hackers happily generalize: + + mysterious => mysteriosity + ferrous => ferrosity + obvious => obviosity + dubious => dubiosity + +Another class of common construction uses the suffix `-itude' to +abstract a quality from just about any adjective or noun. This +is used especially in cases where mainstream English would perform the +same abstraction through `-iness' or `-ingness'. Thus: + +win =>winnitude (a common exclamation)loss =>lossitudecruft =>cruftitudelame =>lameitude +Some hackers cheerfully reverse this; they argue, for example, that +the horizontal degree lines on a globe ought to be called `lats' --- +after all, they're measuring latitude! + +Also, note that all nouns can be verbed. E.g.: "All nouns can be +verbed", "I'll mouse it up", "Hang on while I clipboard it over", "I'm +grepping the files". English as a whole is already heading in this +direction (towards pure-positional grammar like Chinese); hackers are +simply a bit ahead of the curve. + +However, hackers avoid the unimaginative verb-making techniques +characteristic of marketroids, bean-counters, and the Pentagon; a hacker +would never, for example, `productize', `prioritize', or `securitize' +things. Hackers have a strong aversion to bureaucratic bafflegab and +regard those who use it with contempt. + +Similarly, all verbs can be nouned. This is only a slight +overgeneralization in modern English; in hackish, however, it is good +form to mark them in some standard nonstandard way. Thus: + + win => winnitude, winnage + disgust => disgustitude + hack => hackification + +Further, note the prevalence of certain kinds of nonstandard plural +forms. Some of these go back quite a ways; the TMRC Dictionary includes +an entry which implies that the plural of `mouse' is {meeces}, and notes +that the defined plural of `caboose' is `cabeese'. This latter has +apparently been standard (or at least a standard joke) among railfans +(railroad enthusiasts) for many years. + +On a similarly Anglo-Saxon note, almost anything ending in `x' may form +plurals in `-xen' (see {VAXen} and {boxen} in the main text). Even +words ending in phonetic /k/ alone are sometimes treated this way; e.g., +`soxen' for a bunch of socks. Other funny plurals are `frobbotzim' for +the plural of `frobbozz' (see {frobnitz}) and `Unices' and `Twenices' +(rather than `Unixes' and `Twenexes'; see {UNIX}, {TWENEX} in main +text). But note that `Unixen' and `Twenexen' are never used; it has +been suggested that this is because `-ix' and `-ex' are Latin singular +endings that attract a Latinate plural. Finally, it has been suggested +to general approval that the plural of `mongoose' ought to be +`polygoose'. + +The pattern here, as with other hackish grammatical quirks, is +generalization of an inflectional rule that in English is either an +import or a fossil (such as the Hebrew plural ending `-im', or the +Anglo-Saxon plural suffix `-en') to cases where it isn't normally +considered to apply. + +This is not `poor grammar', as hackers are generally quite well aware of +what they are doing when they distort the language. It is grammatical +creativity, a form of playfulness. It is done not to impress but to +amuse, and never at the expense of clarity. + + +:Spoken inarticulations: ------------------------ Words such as +`mumble', `sigh', and `groan' are spoken in places where their referent +might more naturally be used. It has been suggested that this usage +derives from the impossibility of representing such noises on a comm +link or in electronic mail (interestingly, the same sorts of +constructions have been showing up with increasing frequency in comic +strips). Another expression sometimes heard is "Complain!", meaning "I +have a complaint!" + + +:Anthromorphization: -------------------- Semantically, one rich source +of jargon constructions is the hackish tendency to anthropomorphize +hardware and software. This isn't done in a naive way; hackers don't +personalize their stuff in the sense of feeling empathy with it, nor do +they mystically believe that the things they work on every day are +`alive'. What *is* common is to hear hardware or software talked about +as though it has homunculi talking to each other inside it, with +intentions and desires. Thus, one hears "The protocol handler got +confused", or that programs "are trying" to do things, or one may say of +a routine that "its goal in life is to X". One even hears explanations +like "... and its poor little brain couldn't understand X, and it +died." Sometimes modelling things this way actually seems to make them +easier to understand, perhaps because it's instinctively natural to +think of anything with a really complex behavioral repertoire as `like a +person' rather than `like a thing'. + + + +Of the six listed constructions, verb doubling, peculiar noun +formations, anthromorphization, and (especially) spoken inarticulations +have become quite general; but punning jargon is still largely confined +to MIT and other large universities, and the `-P' convention is found +only where LISPers flourish. + +Finally, note that many words in hacker jargon have to be understood as +members of sets of comparatives. This is especially true of the +adjectives and nouns used to describe the beauty and functional quality +of code. Here is an approximately correct spectrum: + + monstrosity brain-damage screw bug lose misfeature + crock kluge hack win feature elegance perfection + +The last is spoken of as a mythical absolute, approximated but never +actually attained. Another similar scale is used for describing the +reliability of software: + + broken flaky dodgy fragile brittle + solid robust bulletproof armor-plated + +Note, however, that `dodgy' is primarily Commonwealth hackish (it is +rare in the U.S.) and may change places with `flaky' for some speakers. + +Coinages for describing {lossage} seem to call forth the very finest in +hackish linguistic inventiveness; it has been truly said that hackers +have even more words for equipment failures than Yiddish has for +obnoxious people. + +:Hacker Writing Style: +====================== + +We've already seen that hackers often coin jargon by overgeneralizing +grammatical rules. This is one aspect of a more general fondness for +form-versus-content language jokes that shows up particularly in hackish +writing. One correspondent reports that he consistently misspells +`wrong' as `worng'. Others have been known to criticize glitches in +Jargon File drafts by observing (in the mode of Douglas Hofstadter) +"This sentence no verb", or "Too repetetetive", or "Bad speling", or +"Incorrectspa cing." Similarly, intentional spoonerisms are often made +of phrases relating to confusion or things that are confusing; `dain +bramage' for `brain damage' is perhaps the most common (similarly, a +hacker would be likely to write "Excuse me, I'm cixelsyd today", rather +than "I'm dyslexic today"). This sort of thing is quite common and is +enjoyed by all concerned. + +Hackers tend to use quotes as balanced delimiters like parentheses, much +to the dismay of American editors. Thus, if "Jim is going" is a phrase, +and so are "Bill runs" and "Spock groks", then hackers generally prefer +to write: "Jim is going", "Bill runs", and "Spock groks". This is +incorrect according to standard American usage (which would put the +continuation commas and the final period inside the string quotes); +however, it is counter-intuitive to hackers to mutilate literal strings +with characters that don't belong in them. Given the sorts of examples +that can come up in discussions of programming, American-style quoting +can even be grossly misleading. When communicating command lines or +small pieces of code, extra characters can be a real pain in the neck. + +Consider, for example, a sentence in a {vi} tutorial that looks like this: + + Then delete a line from the file by typing "dd". + +Standard usage would make this + + Then delete a line from the file by typing "dd." + +but that would be very bad --- because the reader would be prone to type +the string d-d-dot, and it happens that in `vi(1)' dot repeats the last +command accepted. The net result would be to delete *two* lines! + +The Jargon File follows hackish usage throughout. + +Interestingly, a similar style is now preferred practice in Great +Britain, though the older style (which became established for +typographical reasons having to do with the aesthetics of comma and +quotes in typeset text) is still accepted there. `Hart's Rules' and the +`Oxford Dictionary for Writers and Editors' call the hacker-like style +`new' or `logical' quoting. + +Another hacker quirk is a tendency to distinguish between `scare' quotes +and `speech' quotes; that is, to use British-style single quotes for +marking and reserve American-style double quotes for actual reports of +speech or text included from elsewhere. Interestingly, some authorities +describe this as correct general usage, but mainstream American English +has gone to using double-quotes indiscriminately enough that hacker +usage appears marked [and, in fact, I thought this was a personal quirk +of mine until I checked with USENET --- ESR]. One further permutation +that is definitely *not* standard is a hackish tendency to do marking +quotes by using apostrophes (single quotes) in pairs; that is, 'like +this'. This is modelled on string and character literal syntax in some +programming languages (reinforced by the fact that many character-only +terminals display the apostrophe in typewriter style, as a vertical +single quote). + +One quirk that shows up frequently in the {email} style of UNIX hackers +in particular is a tendency for some things that are normally +all-lowercase (including usernames and the names of commands and C +routines) to remain uncapitalized even when they occur at the beginning +of sentences. It is clear that, for many hackers, the case of such +identifiers becomes a part of their internal representation (the +`spelling') and cannot be overridden without mental effort (an +appropriate reflex because UNIX and C both distinguish cases and +confusing them can lead to {lossage}). A way of escaping this dilemma +is simply to avoid using these constructions at the beginning of +sentences. + +There seems to be a meta-rule behind these nonstandard hackerisms to the +effect that precision of expression is more important than conformance +to traditional rules; where the latter create ambiguity or lose +information they can be discarded without a second thought. It is +notable in this respect that other hackish inventions (for example, in +vocabulary) also tend to carry very precise shades of meaning even when +constructed to appear slangy and loose. In fact, to a hacker, the +contrast between `loose' form and `tight' content in jargon is a +substantial part of its humor! + +Hackers have also developed a number of punctuation and emphasis +conventions adapted to single-font all-ASCII communications links, and +these are occasionally carried over into written documents even when +normal means of font changes, underlining, and the like are available. + +One of these is that TEXT IN ALL CAPS IS INTERPRETED AS `LOUD', and this +becomes such an ingrained synesthetic reflex that a person who goes to +caps-lock while in {talk mode} may be asked to "stop shouting, please, +you're hurting my ears!". + +Also, it is common to use bracketing with unusual characters to signify +emphasis. The asterisk is most common, as in "What the *hell*?" even +though this interferes with the common use of the asterisk suffix as a +footnote mark. The underscore is also common, suggesting underlining +(this is particularly common with book titles; for example, "It is often +alleged that Joe Haldeman wrote _The_Forever_War_ as a rebuttal to +Robert Heinlein's earlier novel of the future military, +_Starship_Troopers_."). Other forms exemplified by "=hell=", "\hell/", +or "/hell/" are occasionally seen (it's claimed that in the last example +the first slash pushes the letters over to the right to make them +italic, and the second keeps them from falling over). Finally, words +may also be emphasized L I K E T H I S, or by a series of carets (^) +under them on the next line of the text. + +There is a semantic difference between *emphasis like this* (which +emphasizes the phrase as a whole), and *emphasis* *like* *this* (which +suggests the writer speaking very slowly and distinctly, as if to a +very young child or a mentally impaired person). Bracketing a word with +the `*' character may also indicate that the writer wishes readers to +consider that an action is taking place or that a sound is being made. +Examples: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*, *mumble*. + +Another habit is that of using angle-bracket enclosure to genericize a +term; this derives from conventions used in {BNF}. Uses like the +following are common: + + So this walks into a bar one day, and... + +There is also an accepted convention for `writing under erasure'; the +text + + Be nice to this fool^H^H^H^Hgentleman, he's in from corporate HQ. + +would be read as "Be nice to this fool, I mean this gentleman...". This +comes from the fact that the digraph ^H is often used as a print +representation for a backspace. It parallels (and may have been +influenced by) the ironic use of `slashouts' in science-fiction +fanzines. + +In a formula, `*' signifies multiplication but two asterisks in a row +are a shorthand for exponentiation (this derives from FORTRAN). Thus, +one might write 2 ** 8 = 256. + +Another notation for exponentiation one sees more frequently uses the +caret (^, ASCII 1011110); one might write instead `2^8 = 256'. This +goes all the way back to Algol-60, which used the archaic ASCII +`up-arrow' that later became the caret; this was picked up by Kemeny and +Kurtz's original BASIC, which in turn influenced the design of the +`bc(1)' and `dc(1)' UNIX tools, which have probably done most to +reinforce the convention on USENET. The notation is mildly confusing to +C programmers, because `^' means bitwise {XOR} in C. Despite this, it +was favored 3:1 over ** in a late-1990 snapshot of USENET. It is used +consistently in this text. + +In on-line exchanges, hackers tend to use decimal forms or improper +fractions (`3.5' or `7/2') rather than `typewriter style' mixed +fractions (`3-1/2'). The major motive here is probably that the former +are more readable in a monospaced font, together with a desire to avoid +the risk that the latter might be read as `three minus one-half'. The +decimal form is definitely preferred for fractions with a terminating +decimal representation; there may be some cultural influence here from +the high status of scientific notation. + +Another on-line convention, used especially for very large or very small +numbers, is taken from C (which derived it from FORTRAN). This is a +form of `scientific notation' using `e' to replace `*10^'; for example, +one year is about 3e7 seconds long. + +The tilde (~) is commonly used in a quantifying sense of +`approximately'; that is, `~50' means `about fifty'. + +On USENET and in the {MUD} world, common C boolean, logical, and +relational operators such as `|', `&', `||', `&&', `!', `==', `!=', `>', +`<', `>=', and `=<' are often combined with English. The Pascal +not-equals, `<>', is also recognized, and occasionally one sees `/=' for +not-equals (from Ada, Common Lisp, and Fortran 90). The use of prefix +`!' as a loose synonym for `not-' or `no-' is particularly common; thus, +`!clue' is read `no-clue' or `clueless'. + +A related practice borrows syntax from preferred programming languages +to express ideas in a natural-language text. For example, one might +see the following: + + In J. R. Hacker wrote: + >I resently had occasion to field-test the Snafu + >Systems 2300E adaptive gonkulator. The price was + >right, and the racing stripe on the case looked + >kind of neat, but its performance left something + >to be desired. + + Yeah, I tried one out too. + + #ifdef FLAME + Hasn't anyone told those idiots that you can't get + decent bogon suppression with AFJ filters at today's + net volumes? + #endif /* FLAME */ + + I guess they figured the price premium for true + frame-based semantic analysis was too high. + Unfortunately, it's also the only workable approach. + I wouldn't recommend purchase of this product unless + you're on a *very* tight budget. + + #include + -- + == Frank Foonly (Fubarco Systems) + +In the above, the `#ifdef'/`#endif' pair is a conditional compilation +syntax from C; here, it implies that the text between (which is a +{flame}) should be evaluated only if you have turned on (or defined on) +the switch FLAME. The `#include' at the end is C for "include standard +disclaimer here"; the `standard disclaimer' is understood to read, +roughly, "These are my personal opinions and not to be construed as the +official position of my employer." + +The top section in the example, with > at the left margin, is an example +of an inclusion convention we'll discuss below. + +Hackers also mix letters and numbers more freely than in mainstream +usage. In particular, it is good hackish style to write a digit +sequence where you intend the reader to understand the text string that +names that number in English. So, hackers prefer to write `1970s' +rather than `nineteen-seventies' or `1970's' (the latter looks like a +possessive). + +It should also be noted that hackers exhibit much less reluctance to use +multiply nested parentheses than is normal in English. Part of this is +almost certainly due to influence from LISP (which uses deeply nested +parentheses (like this (see?)) in its syntax a lot), but it has also +been suggested that a more basic hacker trait of enjoying playing with +complexity and pushing systems to their limits is in operation. + +Finally, it is worth mentioning that many studies of on-line +communication have shown that electronic links have a de-inhibiting +effect on people. Deprived of the body-language cues through which +emotional state is expressed, people tend to forget everything about +other parties except what is presented over that ASCII link. This has +both good and bad effects. A good one is that it encourages honesty and +tends to break down hierarchical authority relationships; a bad one is +that it may encourage depersonalization and gratuitous rudeness. +Perhaps in response to this, experienced netters often display a sort of +conscious formal politesse in their writing that has passed out of +fashion in other spoken and written media (for example, the phrase "Well +said, sir!" is not uncommon). + +Many introverted hackers who are next to inarticulate in person +communicate with considerable fluency over the net, perhaps precisely +because they can forget on an unconscious level that they are dealing +with people and thus don't feel stressed and anxious as they would face +to face. + +Though it is considered gauche to publicly criticize posters for poor +spelling or grammar, the network places a premium on literacy and +clarity of expression. It may well be that future historians of +literature will see in it a revival of the great tradition of personal +letters as art. + +:Email Quotes and Inclusion Conventions: +======================================== + +One area where hackish conventions for on-line writing are still in some +flux is the marking of included material from earlier messages --- what +would be called `block quotations' in ordinary English. From the usual +typographic convention employed for these (smaller font at an extra +indent), there derived the notation of included text being indented by +one ASCII TAB (0001001) character, which under UNIX and many other +environments gives the appearance of an 8-space indent. + +Early mail and netnews readers had no facility for including messages +this way, so people had to paste in copy manually. BSD `Mail(1)' was +the first message agent to support inclusion, and early USENETters +emulated its style. But the TAB character tended to push included text +too far to the right (especially in multiply nested inclusions), leading +to ugly wraparounds. After a brief period of confusion (during which an +inclusion leader consisting of three or four spaces became established +in EMACS and a few mailers), the use of leading `>' or `> ' became +standard, perhaps owing to its use in `ed(1)' to display tabs +(alternatively, it may derive from the `>' that some early UNIX mailers +used to quote lines starting with "From" in text, so they wouldn't look +like the beginnings of new message headers). Inclusions within +inclusions keep their `>' leaders, so the `nesting level' of a quotation +is visually apparent. + +The practice of including text from the parent article when posting a +followup helped solve what had been a major nuisance on USENET: the fact +that articles do not arrive at different sites in the same order. +Careless posters used to post articles that would begin with, or even +consist entirely of, "No, that's wrong" or "I agree" or the like. It +was hard to see who was responding to what. Consequently, around 1984, +new news-posting software evolved a facility to automatically include +the text of a previous article, marked with "> " or whatever the poster +chose. The poster was expected to delete all but the relevant lines. +The result has been that, now, careless posters post articles containing +the *entire* text of a preceding article, *followed* only by "No, that's +wrong" or "I agree". + +Many people feel that this cure is worse than the original disease, and +there soon appeared newsreader software designed to let the reader skip +over included text if desired. Today, some posting software rejects +articles containing too high a proportion of lines beginning with `>' +--- but this too has led to undesirable workarounds, such as the +deliberate inclusion of zero-content filler lines which aren't quoted +and thus pull the message below the rejection threshold. + +Because the default mailers supplied with UNIX and other operating +systems haven't evolved as quickly as human usage, the older conventions +using a leading TAB or three or four spaces are still alive; however, +>-inclusion is now clearly the prevalent form in both netnews and mail. + +In 1991 practice is still evolving, and disputes over the `correct' +inclusion style occasionally lead to {holy wars}. One variant style +reported uses the citation character `|' in place of `>' for extended +quotations where original variations in indentation are being retained. +One also sees different styles of quoting a number of authors in the +same message: one (deprecated because it loses information) uses a +leader of `> ' for everyone, another (the most common) is `> > > > ', `> +> > ', etc. (or `>>>> ', `>>> ', etc., depending on line length and +nesting depth) reflecting the original order of messages, and yet +another is to use a different citation leader for each author, say `> ', +`: ', `| ', `} ' (preserving nesting so that the inclusion order of +messages is still apparent, or tagging the inclusions with authors' +names). Yet *another* style is to use each poster's initials (or login +name) as a citation leader for that poster. Occasionally one sees a `# +' leader used for quotations from authoritative sources such as +standards documents; the intended allusion is to the root prompt (the +special UNIX command prompt issued when one is running as the privileged +super-user). + +:Hacker Speech Style: +===================== + +Hackish speech generally features extremely precise diction, careful +word choice, a relatively large working vocabulary, and relatively +little use of contractions or street slang. Dry humor, irony, puns, and +a mildly flippant attitude are highly valued --- but an underlying +seriousness and intelligence are essential. One should use just enough +jargon to communicate precisely and identify oneself as a member of the +culture; overuse of jargon or a breathless, excessively gung-ho attitude +is considered tacky and the mark of a loser. + +This speech style is a variety of the precisionist English normally +spoken by scientists, design engineers, and academics in technical +fields. In contrast with the methods of jargon construction, it is +fairly constant throughout hackerdom. + +It has been observed that many hackers are confused by negative +questions --- or, at least, that the people to whom they are talking are +often confused by the sense of their answers. The problem is that they +have done so much programming that distinguishes between + + if (going) ... + +and + + if (!going) ... + +that when they parse the question "Aren't you going?" it seems to be +asking the opposite question from "Are you going?", and so merits an +answer in the opposite sense. This confuses English-speaking +non-hackers because they were taught to answer as though the negative +part weren't there. In some other languages (including Russian, +Chinese, and Japanese) the hackish interpretation is standard and the +problem wouldn't arise. Hackers often find themselves wishing for a +word like French `si' or German `doch' with which one could +unambiguously answer `yes' to a negative question. + +For similar reasons, English-speaking hackers almost never use double +negatives, even if they live in a region where colloquial usage allows +them. The thought of uttering something that logically ought to be an +affirmative knowing it will be misparsed as a negative tends to disturb +them. + +In a related vein, hackers sometimes make a game of answering +questions containing logical connectives with a strictly literal +rather than colloquial interpretation. A non-hacker who is indelicate +enough to ask a question like "So, are you working on finding that +bug *now* or leaving it until later?" is likely to get the +perfectly correct answer "Yes!" (that is, "Yes, I'm doing it either +now or later, and you didn't ask which!"). + +:International Style: +===================== + +Although the Jargon File remains primarily a lexicon of hacker usage in +American English, we have made some effort to get input from abroad. +Though the hacker-speak of other languages often uses translations of +jargon from English (often as transmitted to them by earlier Jargon File +versions!), the local variations are interesting, and knowledge of them +may be of some use to travelling hackers. + +There are some references herein to `Commonwealth English'. These are +intended to describe some variations in hacker usage as reported in the +English spoken in Great Britain and the Commonwealth (Canada, Australia, +India, etc. --- though Canada is heavily influenced by American usage). +There is also an entry on {{Commonwealth Hackish}} reporting some +general phonetic and vocabulary differences from U.S. hackish. + +Hackers in Western Europe and (especially) Scandinavia report that they +often use a mixture of English and their native languages for technical +conversation. Occasionally they develop idioms in their English usage +that are influenced by their native-language styles. Some of these are +reported here. + +A few notes on hackish usages in Russian have been added where they are +parallel with English idioms and thus comprehensible to +English-speakers. + +:How to Use the Lexicon: +************************ + +:Pronunciation Guide: +===================== + +Pronunciation keys are provided in the jargon listings for all entries +that are neither dictionary words pronounced as in standard English nor +obvious compounds thereof. Slashes bracket phonetic pronunciations, +which are to be interpreted using the following conventions: + + 1. Syllables are hyphen-separated, except that an accent or back-accent + follows each accented syllable (the back-accent marks a secondary + accent in some words of four or more syllables). + + 2. Consonants are pronounced as in American English. The letter `g' is + always hard (as in "got" rather than "giant"); `ch' is soft + ("church" rather than "chemist"). The letter `j' is the sound + that occurs twice in "judge". The letter `s' is always as in + "pass", never a z sound. The digraph `kh' is the guttural of + "loch" or "l'chaim". The digraph 'gh' is the aspirated g+h of + "bughouse" or "ragheap" (rare in English). + + 3. Uppercase letters are pronounced as their English letter names; thus + (for example) /H-L-L/ is equivalent to /aitch el el/. /Z/ may + be pronounced /zee/ or /zed/ depending on your local dialect. + + 4. Vowels are represented as follows: + + a + back, that + ar + far, mark + aw + flaw, caught + ay + bake, rain + e + less, men + ee + easy, ski + eir + their, software + i + trip, hit + i: + life, sky + o + father, palm + oh + flow, sew + oo + loot, through + or + more, door + ow + out, how + oy + boy, coin + uh + but, some + u + put, foot + y + yet, young + yoo + few, chew + [y]oo + /oo/ with optional fronting as in `news' (/nooz/ or /nyooz/) + +A /*/ is used for the `schwa' sound of unstressed or occluded vowels +(the one that is often written with an upside-down `e'). The schwa +vowel is omitted in syllables containing vocalic r, l, m or n; that is, +`kitten' and `color' would be rendered /kit'n/ and /kuhl'r/, not +/kit'*n/ and /kuhl'*r/. + +Note that the above table reflects only distinctions found in standard +American English (that is, the neutral dialect spoken by TV network +announcers and typical of educated speech in the Upper Midwest, Chicago, +Minneapolis/St.Paul and Philadelphia). Many American and British +dialects make different distinctions. One that's caused particular +comment is that our /o/ represents two different sounds in most other +dialects, one of which is often rendered as /ah/. + +Entries with a pronunciation of `//' are written-only usages. (No, UNIX +weenies, this does *not* mean `pronounce like previous pronunciation'!) + +:Other Lexicon Conventions: +=========================== + +Entries are sorted in case-blind ASCII collation order (rather than the +letter-by-letter order ignoring interword spacing common in mainstream +dictionaries), except that all entries beginning with nonalphabetic +characters are sorted after Z. The case-blindness is a feature, not a +bug. + +The beginning of each entry is marked by a colon (`:') at the +left margin. This convention helps out tools like hypertext browsers +that benefit from knowing where entry boundaries are, but aren't as +context-sensitive as humans. + +In pure ASCII renderings of the Jargon File, you will see {} used to +bracket words which themselves have entries in the File. This isn't +done all the time for every such word, but it is done everywhere that a +reminder seems useful that the term has a jargon meaning and one might +wish to refer to its entry. + +In this all-ASCII version, headwords for topic entries are distinguished +from those for ordinary entries by being followed by "::" rather than +":"; similarly, references are surrounded by "{{" and "}}" rather than +"{" and "}". + +Defining instances of terms and phrases appear in `slanted type'. A +defining instance is one which occurs near to or as part of an +explanation of it. + +Prefix ** is used as linguists do; to mark examples of incorrect usage. + +We follow the `logical' quoting convention described in the Writing +Style section above. In addition, we reserve double quotes for actual +excerpts of text or (sometimes invented) speech. Scare quotes (which +mark a word being used in a nonstandard way), and philosopher's quotes +(which turn an utterance into the string of letters or words that name +it) are both rendered with single quotes. + +References such as `malloc(3)' and `patch(1)' are to UNIX facilities +(some of which, such as `patch(1)', are actually freeware distributed +over USENET). The UNIX manuals use `foo(n)' to refer to item foo in +section (n) of the manual, where n=1 is utilities, n=2 is system calls, +n=3 is C library routines, n=6 is games, and n=8 (where present) is +system administration utilities. Sections 4, 5, and 7 of the manuals +have changed roles frequently and in any case are not referred to in any +of the entries. + +Various abbreviations used frequently in the lexicon are summarized here: + +abbrev. + abbreviation +adj. + adjective +adv. + adverb +alt. + alternate +cav. + caveat +esp. + especially +excl. + exclamation +imp. + imperative +interj. + interjection +n. + noun +obs. + obsolete +pl. + plural +poss. + possibly +pref. + prefix +prob. + probably +prov. + proverbial +quant. + quantifier +suff. + suffix +syn. + synonym (or synonymous with) +v. + verb (may be transitive or intransitive) +var. + variant +vi. + intransitive verb +vt. + transitive verb + +Where alternate spellings or pronunciations are given, alt. +separates two possibilities with nearly equal distribution, while +var. prefixes one that is markedly less common than the primary. + +Where a term can be attributed to a particular subculture or is known +to have originated there, we have tried to so indicate. Here is a +list of abbreviations used in etymologies: + +Berkeley + University of California at Berkeley +Cambridge + the university in England (*not* the city in Massachusetts where + MIT happens to be located!) +BBN + Bolt, Beranek & Newman +CMU + Carnegie-Mellon University +Commodore + Commodore Business Machines +DEC + The Digital Equipment Corporation +Fairchild + The Fairchild Instruments Palo Alto development group +Fidonet + See the {Fidonet} entry +IBM + International Business Machines +MIT + Massachusetts Institute of Technology; esp. the legendary MIT AI Lab + culture of roughly 1971 to 1983 and its feeder groups, including the + Tech Model Railroad Club +NRL + Naval Research Laboratories +NYU + New York University +OED + The Oxford English Dictionary +Purdue + Purdue University +SAIL + Stanford Artificial Intelligence Laboratory (at Stanford + University) +SI + From Syst`eme International, the name for the standard + conventions of metric nomenclature used in the sciences +Stanford + Stanford University +Sun + Sun Microsystems +TMRC + Some MITisms go back as far as the Tech Model Railroad Club (TMRC) at + MIT c. 1960. Material marked TMRC is from `An Abridged Dictionary + of the TMRC Language', originally compiled by Pete Samson in 1959 +UCLA + University of California at Los Angeles +UK + the United Kingdom (England, Wales, Scotland, Northern Ireland) +USENET + See the {USENET} entry +WPI + Worcester Polytechnic Institute, site of a very active community of + PDP-10 hackers during the 1970s +XEROX PARC + XEROX's Palo Alto Research Center, site of much pioneering research in + user interface design and networking +Yale + Yale University + +Some other etymology abbreviations such as {UNIX} and {PDP-10} +refer to technical cultures surrounding specific operating systems, +processors, or other environments. The fact that a term is labelled +with any one of these abbreviations does not necessarily mean its use +is confined to that culture. In particular, many terms labelled `MIT' +and `Stanford' are in quite general use. We have tried to give some +indication of the distribution of speakers in the usage notes; +however, a number of factors mentioned in the introduction conspire to +make these indications less definite than might be desirable. + +A few new definitions attached to entries are marked [proposed]. +These are usually generalizations suggested by editors or USENET +respondents in the process of commenting on previous definitions of +those entries. These are *not* represented as established +jargon. + +:Format For New Entries: +======================== + +All contributions and suggestions about the Jargon File will be +considered donations to be placed in the public domain as part of this +File, and may be used in subsequent paper editions. Submissions may +be edited for accuracy, clarity and concision. + +Try to conform to the format already being used --- head-words +separated from text by a colon (double colon for topic entries), +cross-references in curly brackets (doubled for topic entries), +pronunciations in slashes, etymologies in square brackets, +single-space after definition numbers and word classes, etc. Stick to +the standard ASCII character set (7-bit printable, no high-half +characters or [nt]roff/TeX/Scribe escapes), as one of the versions +generated from the master file is an info document that has to be +viewable on a character tty. + +We are looking to expand the file's range of technical specialties covered. +There are doubtless rich veins of jargon yet untapped in the scientific +computing, graphics, and networking hacker communities; also in numerical +analysis, computer architectures and VLSI design, language design, and many +other related fields. Send us your jargon! + +We are *not* interested in straight technical terms explained by +textbooks or technical dictionaries unless an entry illuminates +`underground' meanings or aspects not covered by official histories. +We are also not interested in `joke' entries --- there is a lot of +humor in the file but it must flow naturally out of the explanations +of what hackers do and how they think. + +It is OK to submit items of jargon you have originated if they have spread +to the point of being used by people who are not personally acquainted with +you. We prefer items to be attested by independent submission from two +different sites. + +The Jargon File will be regularly maintained and re-posted from now on +and will include a version number. Read it, pass it around, +contribute --- this is *your* monument! + +The Jargon Lexicon +****************** + += A = +===== + +:abbrev: /*-breev'/, /*-brev'/ n. Common abbreviation for + `abbreviation'. + +:ABEND: [ABnormal END] /o'bend/, /*-bend'/ n. 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'. + +:accumulator: n. 1. Archaic term for a register. On-line use of it + as a synonym for `register' is a fairly reliable indication that + the user has been around for quite a while and/or that the + architecture under discussion is quite old. The term in full is + almost never used of microprocessor registers, for example, though + symbolic names for arithmetic registers beginning in `A' derive + from historical use of the term `accumulator' (and not, actually, + from `arithmetic'). Confusingly, though, an `A' register name + prefix may also stand for `address', as for example on the + Motorola 680x0 family. 2. A register being used for arithmetic or + logic (as opposed to addressing or a loop index), especially one + being used to accumulate a sum or count of many items. This use is + in context of a particular routine or stretch of code. "The + FOOBAZ routine uses A3 as an accumulator." 3. One's in-basket + (esp. among old-timers who might use sense 1). "You want this + reviewed? Sure, just put it in the accumulator." (See {stack}.) + +:ACK: /ak/ interj. 1. [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". + + 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 2), i.e., "I'm not here"). + +:ad-hockery: /ad-hok'*r-ee/ [Purdue] n. 1. Gratuitous assumptions + made inside certain programs, esp. expert systems, which lead to + the appearance of semi-intelligent behavior but are in fact + entirely arbitrary. For example, fuzzy-matching against input + tokens that might be typing errors against a symbol table can make + it look as though a program knows how to spell. 2. Special-case + code to cope with some awkward input that would otherwise cause a + program to {choke}, presuming normal inputs are dealt with in + some cleaner and more regular way. Also called `ad-hackery', + `ad-hocity' (/ad-hos'*-tee/), `ad-crockery'. See also + {ELIZA effect}. + +:Ada:: n. A {{Pascal}}-descended language that has been 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 is "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. + +:adger: /aj'r/ [UCLA] vt. 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}. + +:admin: /ad-min'/ n. Short for `administrator'; very commonly + used in speech or on-line to refer to the systems person in charge + on a computer. Common constructions on this include `sysadmin' + and `site admin' (emphasizing the administrator's role as a site + contact for email and news) or `newsadmin' (focusing specifically + on news). Compare {postmaster}, {sysop}, {system + mangler}. + +:ADVENT: /ad'vent/ n. The prototypical computer adventure game, first + implemented on the {PDP-10} by Will Crowther as an attempt at + computer-refereed fantasy gaming, and expanded into a + puzzle-oriented game by Don Woods. Now better known as Adventure, + but the {{TOPS-10}} operating system permitted only six-letter + filenames. See also {vadding}. + + This game defined the terse, dryly humorous style now 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. + +:AFJ: // n. Written-only abbreviation for "April Fool's Joke". + Elaborate April Fool's hoaxes are a long-established tradition on + USENET and Internet; see {kremvax} for an example. In fact, + April Fool's Day is the *only* seasonal holiday marked by + customary observances on the hacker networks. + +:AI: /A-I/ n. Abbreviation for `Artificial Intelligence', so + common that the full form is almost never written or spoken among + hackers. + +:AI-complete: /A-I k*m-pleet'/ [MIT, Stanford: by analogy with + `NP-complete' (see {NP-})] adj. Used to describe problems or + subproblems in AI, to indicate that the solution presupposes a + solution to the `strong AI problem' (that is, the synthesis of a + human-level intelligence). A problem that is AI-complete is, in + other words, just too hard. + + Examples of AI-complete problems are `The Vision Problem' + (building a system that can see as well as a human) and `The + Natural Language Problem' (building a system that can understand + and speak a natural language as well as a human). These may appear + to be modular, but all attempts so far (1993) to solve them have + foundered on the amount of context information and `intelligence' + they seem to require. See also {gedanken}. + +:AI koans: /A-I koh'anz/ pl.n. A series of pastiches of Zen + teaching riddles created by Danny Hillis at the MIT AI Lab around + various major figures of the Lab's culture (several are included + under "{A Selection of AI Koans}" in {Appendix + A}). See also {ha ha only serious}, {mu}, and {{Humor, + Hacker}}. + +:AIDS: /aydz/ n. Short for A* Infected Disk Syndrome (`A*' is a + {glob} pattern that matches, but is not limited to, Apple), + this condition is quite often the result of practicing unsafe + {SEX}. See {virus}, {worm}, {Trojan horse}, + {virgin}. + +:AIDX: n. /aydkz/ n. Derogatory term for IBM's perverted version + of UNIX, AIX, especially for the AIX 3.? used in the IBM RS/6000 + series. A victim of the dreaded "hybridism" disease, this + attempt to combine the two main currents of the UNIX stream + ({BSD} and {USG UNIX}) became a {monstrosity} to haunt + system administrators' dreams. For example, if new accounts are + created while many users are logged on, the load average jumps + quickly over 20 due to silly implementation of the user databases. + For a quite similar disease, compare {HP-SUX}. Also, compare + {terminak}, {Macintrash} {Nominal Semidestructor}, + {Open DeathTrap}, {ScumOS}, {sun-stools}. + +:airplane rule: n. "Complexity increases the possibility of + failure; a twin-engine airplane has twice as many engine problems + as a single-engine airplane." By analogy, in both software and + electronics, the rule that simplicity increases robustness. It is + correspondingly argued that the right way to build reliable systems + is to put all your eggs in one basket, after making sure that + you've built a really *good* basket. See also {KISS + Principle}. + +:aliasing bug: n. A class of subtle programming errors that can + arise in code that does dynamic allocation, esp. via + `malloc(3)' or equivalent. If several pointers address + (`aliases for') a given hunk of storage, it may happen that the + storage is freed or reallocated (and thus moved) through one alias + and then referenced through another, which may lead to subtle (and + possibly intermittent) lossage depending on the state and the + allocation history of the malloc {arena}. Avoidable by use of + allocation strategies that never alias allocated core, or by use of + higher-level languages, such as {LISP}, which employ a garbage + collector (see {GC}). Also called a {stale pointer bug}. + See also {precedence lossage}, {smash the stack}, + {fandango on core}, {memory leak}, {memory smash}, + {overrun screw}, {spam}. + + Historical note: Though this term is nowadays associated with + C programming, it was already in use in a very similar sense in the + Algol-60 and FORTRAN communities in the 1960s. + +:all-elbows: [MS-DOS] adj. Of a TSR (terminate-and-stay-resident) + IBM PC program, such as the N pop-up calendar and calculator + utilities that circulate on {BBS} systems: unsociable. Used to + describe a program that rudely steals the resources that it needs + without considering that other TSRs may also be resident. One + particularly common form of rudeness is lock-up due to programs + fighting over the keyboard interrupt. See {rude}, also + {mess-dos}. + +:alpha particles: n. See {bit rot}. + +:alt: /awlt/ 1. n. The alt shift key on an IBM PC or {clone} + keyboard; see {bucky bits}, sense 2 (though typical PC usage does + not simply set the 0200 bit). 2. n. The `clover' or `Command' + key on a Macintosh; use of this term usually reveals that the + speaker hacked PCs before coming to the Mac (see also {feature + key}). Some Mac hackers, confusingly, reserve `alt' for the Option + key (and it is so labeled on some Mac II keyboards). 3. n.obs. + [PDP-10; often capitalized to ALT] Alternate name for the ASCII + ESC character (ASCII 0011011), after the keycap labeling on some + older terminals; also `altmode' (/awlt'mohd/). This character + was almost never pronounced `escape' on an ITS system, in + {TECO}, or under TOPS-10 --- always alt, as in "Type alt alt to + end a TECO command" or "alt-U onto the system" (for "log onto + the [ITS] system"). This usage probably arose because alt is more + convenient to say than `escape', especially when followed by + another alt or a character (or another alt *and* a character, + for that matter). + +:alt bit: /awlt bit/ [from alternate] adj. See {meta bit}. + +:altmode: n. Syn. {alt} sense 3. + +:Aluminum Book: [MIT] n. `Common LISP: The Language', by + Guy L. Steele Jr. (Digital Press, first edition 1984, second + edition 1990). Note that due to a technical screwup some printings + of the second edition are actually of a color the author describes + succinctly as "yucky green". See also {{book titles}}. + +:amoeba: n. Humorous term for the Commodore Amiga personal computer. + +:amp off: [Purdue] vt. To run in {background}. From the UNIX shell `&' + operator. + +:amper: n. Common abbreviation for the name of the ampersand (`&', + ASCII 0100110) character. See {{ASCII}} for other synonyms. + +:angle brackets: n. Either of the characters `<' (ASCII + 0111100) and `>' (ASCII 0111110) (ASCII less-than or + greater-than signs). Typographers in the {Real World} use angle + brackets which are either taller and slimmer (the ISO `Bra' and + `Ket' characters), or significantly smaller (single or double + guillemets) than the less-than and greater-than signs. + See {broket}, {{ASCII}}. + +:angry fruit salad: n. A bad visual-interface design that uses too + many colors. (This term derives, of course, from the bizarre + day-glo colors found in canned fruit salad.) Too often one sees + similar effects from interface designers using color window systems + such as {X}; there is a tendency to create displays that are + flashy and attention-getting but uncomfortable for long-term + use. + +:annoybot: /*-noy-bot/ [IRC] n. See {robot}. + +:AOS: 1. /aws/ (East Coast), /ay-os/ (West Coast) [based on a + PDP-10 increment instruction] vt.,obs. To increase the amount of + something. "AOS the campfire." Usage: considered silly, and now + obsolete. Now largely supplanted by {bump}. See {SOS}. + 2. n. A {{Multics}}-derived OS supported at one time by Data + General. This was pronounced /A-O-S/ or /A-os/. A spoof of + the standard AOS system administrator's manual (`How to Load + and Generate your AOS System') was created, issued a part number, + and circulated as photocopy folklore; it was called `How to + Goad and Levitate your CHAOS System'. 3. n. Algebraic Operating + System, in reference to those calculators which use infix instead + of postfix (reverse Polish) notation. + + Historical note: AOS in sense 1 was the name of a {PDP-10} + instruction that took any memory location in the computer and added + 1 to it; AOS meant `Add One and do not Skip'. Why, you may ask, + does the `S' stand for `do not Skip' rather than for `Skip'? Ah, + here was a beloved piece of PDP-10 folklore. There were eight such + instructions: AOSE added 1 and then skipped the next instruction + if the result was Equal to zero; AOSG added 1 and then skipped if + the result was Greater than 0; AOSN added 1 and then skipped + if the result was Not 0; AOSA added 1 and then skipped Always; + and so on. Just plain AOS didn't say when to skip, so it never + skipped. + + For similar reasons, AOJ meant `Add One and do not Jump'. Even + more bizarre, SKIP meant `do not SKIP'! If you wanted to skip the + next instruction, you had to say `SKIPA'. Likewise, JUMP meant + `do not JUMP'; the unconditional form was JUMPA. However, hackers + never did this. By some quirk of the 10's design, the {JRST} + (Jump and ReSTore flag with no flag specified) was actually faster + and so was invariably used. Such were the perverse mysteries of + assembler programming. + +:app: /ap/ n. Short for `application program', as opposed to a + systems program. Apps are what systems vendors are forever chasing + developers to create for their environments so they can sell more + boxes. Hackers tend not to think of the things they themselves run + as apps; thus, in hacker parlance the term excludes compilers, + program editors, games, and messaging systems, though a user would + consider all those to be apps. (Broadly, an app is often a + self-contained environment for performing some well-defined task + such as `word processing'; hackers tend to prefer more + general-purpose tools.) Oppose {tool}, {operating + system}. + +:arena: [UNIX] n. The area of memory attached to a process by + `brk(2)' and `sbrk(2)' and used by `malloc(3)' as + dynamic storage. So named from a `malloc: corrupt arena' + message emitted when some early versions detected an impossible + value in the free block list. See {overrun screw}, {aliasing + bug}, {memory leak}, {memory smash}, {smash the + stack}. + +:arg: /arg/ n. Abbreviation for `argument' (to a function), + used so often as to have become a new word (like `piano' from + `pianoforte'). "The sine function takes 1 arg, but the + arc-tangent function can take either 1 or 2 args." Compare + {param}, {parm}, {var}. + +:ARMM: [acronym, `Automated Retroactive Minimal Moderation'] n. A + USENET robot created by Dick Depew of Munroe Falls, Ohio. It was + intended to automatically cancel posts from anonymous-posting + sites. Unfortunately, the robot's recognizer for anonymous + postings triggered on its own automatically-generated control + messages! Transformed by this stroke of programming ineptitude + into a monster of Frankensteinian proportions, it broke loose on + the night of March 31, 1993 and proceeded to spam + news.admin.policy with a recursive explosion of over 200 + messages. + + ARMM's bug produced a recursive {cascade} of messages each of which + mechanically added text to the ID and Subject and some other + headers of its parent. This produced a flood of messages in which + each header took up several screens and each message ID and subject + line got longer and longer and longer. + + Reactions varied from amusememt to outrage. The pathological + messages crashed at least one mail system, and upset people paying + line charges for their USENET feeds. One poster described the ARMM + debacle as "instant USENET history" (instantly establishing the + term {despew}), and it has since been widely cited as a + cautionary example of the havoc the combination of good intentions + and incompetence can wreak on a network. Compare {Great Worm, + The}; {sorcerer's apprentice mode}. See also {software + laser}, {network meltdown}. + +:armor-plated: n. Syn. for {bulletproof}. + +:asbestos: adj. Used as a modifier to anything intended to protect + one from {flame}s; also in other highly {flame}-suggestive + usages. See, for example, {asbestos longjohns} and {asbestos + cork award}. + +:asbestos cork award: n. Once, long ago at MIT, there was a + {flamer} so consistently obnoxious that another hacker designed, + had made, and distributed posters announcing that said flamer had + been nominated for the `asbestos cork award'. (Any reader in + doubt as to the intended application of the cork should consult the + etymology under {flame}.) Since then, it is agreed that only a + select few have risen to the heights of bombast required to earn + this dubious dignity --- but there is no agreement on *which* + few. + +:asbestos longjohns: n. Notional garments donned by {USENET} + posters just before emitting a remark they expect will elicit + {flamage}. This is the most common of the {asbestos} + coinages. Also `asbestos underwear', `asbestos overcoat', + etc. + +:ASCII:: [American Standard Code for Information Interchange] + /as'kee/ n. The predominant character set encoding of present-day + computers. he modern version uses 7 bits for each character, + whereas most earlier codes (including an early version of ASCII) + used fewer. This change allowed the inclusion of lowercase letters + --- a major {win} --- but it did not provide for accented + letters or any other letterforms not used in English (such as the + German sharp-S + or the ae-ligature + which is a letter in, for example, Norwegian). It could be worse, + though. It could be much worse. See {{EBCDIC}} to understand how. + + Computers are much pickier and less flexible about spelling than + humans; thus, hackers need to be very precise when talking about + characters, and have developed a considerable amount of verbal + shorthand for them. Every character has one or more names --- some + formal, some concise, some silly. Common jargon names for ASCII + characters are collected here. See also individual entries for + {bang}, {excl}, {open}, {ques}, {semi}, {shriek}, + {splat}, {twiddle}, and {Yu-Shiang Whole Fish}. + + This list derives from revision 2.3 of the USENET ASCII + pronunciation guide. Single characters are listed in ASCII order; + character pairs are sorted in by first member. For each character, + common names are given in rough order of popularity, followed by + names that are reported but rarely seen; official ANSI/CCITT names + are surrounded by brokets: <>. Square brackets mark the + particularly silly names introduced by {INTERCAL}. The + abbreviations "l/r" and "o/c" stand for left/right and + "open/close" respectively. Ordinary parentheticals provide some + usage information. + + ! + Common: {bang}; pling; excl; shriek; . + Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey; + wham; eureka; [spark-spot]; soldier. + + " + 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; cross-hatch; oc-to-thorpe; flash; + , pig-pen; tic-tac-toe; scratchmark; thud; thump; + {splat}. + + $ + Common: dollar; . Rare: currency symbol; buck; + cash; string (from BASIC); escape (when used as the echo of + ASCII ESC); ding; cache; [big money]. + + % + Common: percent; ; mod; grapes. Rare: + [double-oh-seven]. + + & + Common: ; amper; and. Rare: address (from C); + reference (from C++); andpersand; bitand; background (from + `sh(1)'); pretzel; amp. [INTERCAL called this `ampersand'; + what could be sillier?] + + ' + Common: single quote; quote; . Rare: prime; + glitch; tick; irk; pop; [spark]; ; . + + ( ) + + Common: l/r paren; l/r parenthesis; left/right; o-pen-/-close; + par-en/the-sis; o/c paren; o/c par-en-the-sis; l/r + paren-the-sis; l/r ba-na-na. Rare: so/al-ready; + lparen/rparen; ; o/c round + bracket, l/r round bracket, [wax/wane]; + par-en-this-ey/un-par-en-this-ey; l/r ear. + + * + Common: star; [{splat}]; . Rare: wildcard; gear; + dingle; mult; spider; aster; times; twinkle; glob (see + {glob}); {Nathan Hale}. + + + + Common: ; add. Rare: cross; [intersection]. + + , + Common: . Rare: ; [tail]. + + - + Common: dash; ; . Rare: [worm]; option; dak; + bithorpe. + + . + Common: dot; point; ; . Rare: radix + point; full stop; [spot]. + + / + Common: slash; stroke; ; forward slash. Rare: + diagonal; solidus; over; slak; virgule; [slat]. + + : + Common: . Rare: dots; [two-spot]. + + ; + Common: ; semi. Rare: weenie; [hybrid], + pit-thwong. + + < > + Common: ; bra/ket; l/r angle; l/r angle + bracket; l/r broket. Rare: from/{into, towards}; read + from/write to; suck/blow; comes-from/gozinta; in/out; + crunch/zap (all from UNIX); [angle/right angle]. + + = + Common: ; gets; takes. Rare: quadrathorpe; + [half-mesh]. + + ? + Common: query; ; {ques}. Rare: whatmark; + [what]; wildchar; huh; hook; buttonhook; hunchback. + + @ + Common: at sign; at; strudel. Rare: each; vortex; whorl; + [whirlpool]; cyclone; snail; ape; cat; rose; cabbage; + . + + V + Rare: [book]. + + [ ] + Common: l/r square bracket; l/r bracket; ; brack-et/un-brack-et. Rare: square-/-un-square; [U + turn/U turn back]. + + \ + Common: backslash; escape (from C/UNIX); reverse slash; slosh; + backslant; backwhack. Rare: bash; ; reversed + virgule; [backslat]. + + ^ + Common: hat; control; uparrow; caret; . Rare: + chevron; [shark (or shark-fin)]; to the (`to the power of'); + fang; pointer (in Pascal). + + _ + Common: ; underscore; underbar; under. Rare: + score; backarrow; skid; [flatworm]. + + ` + Common: backquote; left quote; left single quote; open quote; + ; grave. Rare: backprime; [backspark]; + unapostrophe; birk; blugle; back tick; back glitch; push; + ; quasiquote. + + { } + Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly + bracket/brace; l/r curly bracket/brace; . Rare: brace/unbrace; curly/un-curly; leftit/rytit; + l/r squirrelly; [embrace/bracelet]. + + | + Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: + ; gozinta; thru; pipesinta (last three from + UNIX); [spike]. + + ~ + Common: ; squiggle; {twiddle}; not. Rare: approx; + wiggle; swung dash; enyay; [sqiggle (sic)]. + + The pronunciation of `#' as `pound' is common in the U.S. + but a bad idea; {{Commonwealth Hackish}} has its own, rather more + apposite use of `pound sign' (confusingly, on British keyboards + the pound graphic + happens to replace `#'; thus Britishers sometimes + call `#' on a U.S.-ASCII keyboard `pound', compounding the + American error). The U.S. usage derives from an old-fashioned + commercial practice of using a `#' suffix to tag pound weights + on bills of lading. The character is usually pronounced `hash' + outside the U.S. + + 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 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. + +: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 + + Figure 1. + + And here are some very silly examples: + + + |\/\/\/| ____/| ___ |\_/| ___ + | | \ o.O| ACK! / \_ |` '| _/ \ + | | =(_)= THPHTH! / \/ \/ \ + | (o)(o) U / \ + C _) (__) \/\/\/\ _____ /\/\/\/ + | ,___| (oo) \/ \/ + | / \/-------\ U (__) + /____\ || | \ /---V `v'- oo ) + / \ ||---W|| * * |--| || |`. |_/\ + + Figure 2. + + There is an important subgenre of humorous ASCII art that takes + advantage of the names of the various characters to tell a + pun-based joke. + + +--------------------------------------------------------+ + | ^^^^^^^^^^^^ | + | ^^^^^^^^^^^ ^^^^^^^^^ | + | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ | + | ^^^^^^^ B ^^^^^^^^^ | + | ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ | + +--------------------------------------------------------+ + " A Bee in the Carrot Patch " + + Figure 3. + + Within humorous ASCII art, there is for some reason an entire + flourishing subgenre of pictures of silly cows. Four of these are + reproduced in Figure 2; here are three more: + + + (__) (__) (__) + (\/) ($$) (**) + /-------\/ /-------\/ /-------\/ + / | 666 || / |=====|| / | || + * ||----|| * ||----|| * ||----|| + ~~ ~~ ~~ ~~ ~~ ~~ + Satanic cow This cow is a Yuppie Cow in love + + Figure 4. + +:ASCIIbetical order: /as'kee-be'-t*-kl or'dr/ adj.,n. Used to + indicate that data is sorted in ASCII collated order rather than + alphabetical order. This lexicon is sorted in something close to + ASCIIbetical order, but with case ignored and entries beginning + with non-alphabetic characters moved to the end. + +:atomic: [from Gk. `atomos', indivisible] adj. Indivisible; + cannot be split up. For example, an instruction may be said to do + several things `atomically', i.e., all the things are done + immediately, and there is no chance of the instruction being + half-completed. Esp. used to convey that an operation cannot be + screwed up by interrupts. "This routine locks the file and + increments the file's semaphore atomically." This usage has none + of the connotations that `atomic' has in mainstream English (i.e. + of particles of matter, nuclear explosions etc.). + +:attoparsec: n. About an inch. `atto-' is the standard SI + prefix for multiplication by 10^(-18). A parsec + (parallax-second) is 3.26 light-years; an attoparsec is thus + 3.26 * 10^(-18) light years, or about 3.1 cm (thus, + 1 attoparsec/{microfortnight} equals about 1 inch/sec). This + unit is reported to be in use (though probably not very seriously) + among hackers in the U.K. See {micro-}. + +:autobogotiphobia: /aw'to-boh-got`*-foh'bee-*/ n. See {bogotify}. + +:automagically: /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ adv. + Automatically, but in a way that, for some reason (typically + because it is too complicated, or too ugly, or perhaps even too + trivial), the speaker doesn't feel like explaining to you. See + {magic}. "The C-INTERCAL compiler generates C, then automagically + invokes `cc(1)' to produce an executable." + +:avatar: [CMU, Tektronix] n. Syn. {root}, {superuser}. There + are quite a few UNIX machines on which the name of the superuser + account is `avatar' rather than `root'. This quirk was + originated by a CMU hacker who disliked the term `superuser', + and was propagated through an ex-CMU hacker at Tektronix. + +:awk: 1. n. [UNIX techspeak] An interpreted language for massaging + text data developed by Alfred Aho, Peter Weinberger, and Brian + Kernighan (the name derives from their initials). It is + characterized by C-like syntax, a declaration-free approach to + variable typing and declarations, associative arrays, and + field-oriented text processing. See also {Perl}. 2. n. + Editing term for an expression awkward to manipulate through normal + {regexp} facilities (for example, one containing a + {newline}). 3. vt. To process data using `awk(1)'. + += B = +===== + +:back door: n. A hole in the security of a system deliberately left + in place by designers or maintainers. The motivation for such + holes is not always sinister; some operating systems, for example, + come out of the box with privileged accounts intended for use by + field service technicians or the vendor's maintenance programmers. + Syn. {trap door}; may also be called a `wormhole'. See also + {iron box}, {cracker}, {worm}, {logic bomb}. + + Historically, back doors have often lurked in systems longer than + anyone expected or planned, and a few have become widely known. + The infamous {RTM} worm of late 1988, for example, used a back door + in the {BSD} UNIX `sendmail(8)' utility. + + Ken Thompson's 1983 Turing Award lecture to the ACM revealed the + existence of a back door in early UNIX versions that may have + qualified as the most fiendishly clever security hack of all time. + The C compiler contained code that would recognize when the + `login' command was being recompiled and insert some code + recognizing a password chosen by Thompson, giving him entry to the + system whether or not an account had been created for him. + + Normally such a back door could be removed by removing it from the + source code for the compiler and recompiling the compiler. But to + recompile the compiler, you have to *use* the compiler --- so + Thompson also arranged that the compiler would *recognize when + it was compiling a version of itself*, and insert into the + recompiled compiler the code to insert into the recompiled + `login' the code to allow Thompson entry --- and, of course, the + code to recognize itself and do the whole thing again the next time + around! And having done this once, he was then able to recompile + the compiler from the original sources; the hack perpetuated itself + invisibly, leaving the back door in place and active but with no + trace in the sources. + + The talk that revealed this truly moby hack was published as + "Reflections on Trusting Trust", `Communications of the + ACM 27', 8 (August 1984), pp. 761--763. + +: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. The cabal {mailing list} disbanded in + late 1988 after a bitter internal catfight. + +:backbone site: n. A key USENET and email site; one that processes + a large amount of third-party traffic, especially if it is the home + site of any of the regional coordinators for the USENET maps. + Notable backbone sites as of early 1993 include 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}. + +:backgammon:: See {bignum} (sense 3), {moby} (sense 4), and + {pseudoprime}. + +:background: n.,adj.,vt. To do a task `in background' is to do + it whenever {foreground} matters are not claiming your undivided + attention, and `to background' something means to relegate it to + a lower priority. "For now, we'll just print a list of nodes and + links; I'm working on the graph-printing problem in background." + Note that this implies ongoing activity but at a reduced level or + in spare time, in contrast to mainstream `back burner' (which + connotes benign neglect until some future resumption of activity). + Some people prefer to use the term for processing that they have + queued up for their unconscious minds (a tack that one can often + fruitfully take upon encountering an obstacle in creative work). + Compare {amp off}, {slopsucker}. + + Technically, a task running in background is detached from the + terminal where it was started (and often running at a lower + priority); oppose {foreground}. Nowadays this term is primarily + associated with {{UNIX}}, but it appears to have been first used + in this sense on OS/360. + +:backspace and overstrike: interj. Whoa! Back up. Used to suggest + that someone just said or did something wrong. Common among + APL programmers. + +:backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ [from + `backward compatibility'] n. A property of hardware or software + revisions in which previous protocols, formats, layouts, etc. are + irrevocably discarded in favor of `new and improved' protocols, + formats, and layouts, leaving the previous ones not merely + deprecated but actively defeated. (Too often, the old and new + versions cannot definitively be distinguished, such that lingering + instances of the previous ones yield crashes or other infelicitous + effects, as opposed to a simple "version mismatch" message.) A + backwards compatible change, on the other hand, allows old versions + to coexist without crashes or error messages, but too many major + changes incorporating elaborate backwards compatibility processing + can lead to extreme {software bloat}. See also {flag + day}. + +:BAD: /B-A-D/ [IBM: acronym, `Broken As Designed'] adj. Said + of a program that is {bogus} because of bad design and misfeatures + rather than because of bugginess. See {working as designed}. + +:Bad Thing: [from the 1930 Sellar & Yeatman parody `1066 And + All That'] n. 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. + +:bag on the side: n. An extension to an established hack that is + supposed to add some functionality to the original. Usually + derogatory, implying that the original was being overextended and + should have been thrown away, and the new product is ugly, + inelegant, or bloated. Also v. phrase, `to hang a bag on the side + [of]'. "C++? That's just a bag on the side of C ...." + "They want me to hang a bag on the side of the accounting + system." + +:bagbiter: /bag'bi:t-*r/ n. 1. Something, such as a program or a + computer, that fails to work, or works in a remarkably clumsy + manner. "This text editor won't let me make a file with a line + longer than 80 characters! What a bagbiter!" 2. A person who has + caused you some trouble, inadvertently or otherwise, typically by + failing to program the computer properly. Synonyms: {loser}, + {cretin}, {chomper}. 3. adj. `bagbiting' Having the + quality of a bagbiter. "This bagbiting system won't let me + compute the factorial of a negative number." Compare {losing}, + {cretinous}, {bletcherous}, `barfucious' (under + {barfulous}) and `chomping' (under {chomp}). 4. `bite + the bag' vi. To fail in some manner. "The computer keeps crashing + every five minutes." "Yes, the disk controller is really biting + the bag." The original loading of these terms was almost + undoubtedly obscene, possibly referring to the scrotum, but in + their current usage they have become almost completely + sanitized. + + A program called Lexiphage on the old MIT AI PDP-10 would draw on a + selected victim's bitmapped terminal the words "THE BAG" in + ornate letters, followed a pair of jaws biting pieces of it off. + This is the first and to date only known example of a program + *intended* to be a bagbiter. + +:bamf: /bamf/ 1. [from old X-Men comics] interj. Notional sound + made by a person or object teleporting in or out of the hearer's + vicinity. Often used in {virtual reality} (esp. {MUD}) + electronic {fora} when a character wishes to make a dramatic + entrance or exit. 2. The sound of magical transformation, used in + virtual reality {fora} like sense 1. + +:banana label: n. The labels often used on the sides of {macrotape} + reels, so called because they are shaped roughly like blunt-ended + bananas. This term, like macrotapes themselves, is still current + but visibly headed for obsolescence. + +:banana problem: n. [from the story of the little girl who said "I + know how to spell `banana', but I don't know when to stop"]. Not + knowing where or when to bring a production to a close (compare + {fencepost error}). One may say `there is a banana problem' of an + algorithm with poorly defined or incorrect termination conditions, + or in discussing the evolution of a design that may be succumbing + to featuritis (see also {creeping elegance}, {creeping + featuritis}). See item 176 under {HAKMEM}, which describes a + banana problem in a {Dissociated Press} implementation. Also, + see {one-banana problem} for a superficially similar but + unrelated usage. + +:bandwidth: n. 1. 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}. 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. + +:bang: 1. n. Common spoken name for `!' (ASCII 0100001), + especially when used in pronouncing a {bang path} in spoken + hackish. In {elder days} this was considered a CMUish usage, + with MIT and Stanford hackers preferring {excl} or {shriek}; + but the spread of UNIX has carried `bang' with it (esp. via the + term {bang path}) and it is now certainly the most common spoken + name for `!'. Note that it is used exclusively for + non-emphatic written `!'; one would not say "Congratulations + bang" (except possibly for humorous purposes), but if one wanted + to specify the exact characters `foo!' one would speak "Eff oh oh + bang". See {shriek}, {{ASCII}}. 2. interj. An exclamation + signifying roughly "I have achieved enlightenment!", or "The + dynamite has cleared out my brain!" Often used to acknowledge + that one has perpetrated a {thinko} immediately after one has + been called on it. + +:bang on: vt. To stress-test a piece of hardware or software: "I + banged on the new version of the simulator all day yesterday and it + didn't crash once. I guess it is ready for release." The term + {pound on} is synonymous. + +:bang path: n. An old-style UUCP electronic-mail address specifying + hops to get from some assumed-reachable location to the addressee, + so called because each {hop} is signified by a {bang} sign. + Thus, for example, the path ...!bigsite!foovax!barbox!me + directs people to route their mail to machine bigsite (presumably + a well-known location accessible to everybody) and from there + through the machine foovax to the account of user me on + barbox. + + In the bad old days of not so long ago, before autorouting mailers + became commonplace, people often published compound bang addresses + using the { } convention (see {glob}) to give paths from + *several* big machines, in the hopes that one's correspondent + might be able to get mail to one of them reliably (example: + ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me). Bang paths + of 8 to 10 hops were not uncommon in 1981. Late-night dial-up + UUCP links would cause week-long transmission times. Bang paths + were often selected by both transmission time and reliability, as + messages would often get lost. See {{Internet address}}, + {network, the}, and {sitename}. + +: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. + +:bar: /bar/ n. 1. The second {metasyntactic variable}, after {foo} + and before {baz}. "Suppose we have two functions: FOO and BAR. + FOO calls BAR...." 2. Often appended to {foo} to produce + {foobar}. + +:bare metal: n. 1. New computer hardware, unadorned with such + snares and delusions as an {operating system}, an {HLL}, or + even assembler. Commonly used in the phrase `programming on the + bare metal', which refers to the arduous work of {bit bashing} + needed to create these basic tools for a new machine. Real + bare-metal programming involves things like building boot proms and + BIOS chips, implementing basic monitors used to test device + drivers, and writing the assemblers that will be used to write the + compiler back ends that will give the new machine a real + development environment. 2. `Programming on the bare metal' is + also used to describe a style of {hand-hacking} that relies on + bit-level peculiarities of a particular hardware design, esp. + tricks for speed and space optimization that rely on crocks such as + overlapping instructions (or, as in the famous case described in + {The Story of Mel, a Real Programmer} (in {Appendix A}), + interleaving of opcodes on a magnetic drum to minimize fetch delays + due to the device's rotational latency). This sort of thing has + become less common as the relative costs of programming time and + machine resources have changed, but is still found in heavily + constrained environments such as industrial embedded systems, and + in the code of hackers who just can't let go of that low-level + control. See {Real Programmer}. + + In the world of personal computing, bare metal programming + (especially in sense 1 but sometimes also in sense 2) is often + considered a {Good Thing}, or at least a necessary evil + (because these machines have often been sufficiently slow and + poorly designed to make it necessary; see {ill-behaved}). + There, the term usually refers to bypassing the BIOS or OS + interface and writing the application to directly access device + registers and machine addresses. "To get 19.2 kilobaud on the + serial port, you need to get down to the bare metal." People who + can do this sort of thing well are held in high regard. + +:barf: /barf/ [from mainstream slang meaning `vomit'] + 1. interj. Term of disgust. This is the closest hackish + equivalent of the Val\-speak "gag me with a spoon". (Like, + euwww!) See {bletch}. 2. vi. To say "Barf!" or emit some + similar expression of disgust. "I showed him my latest hack and + he barfed" means only that he complained about it, not that he + literally vomited. 3. vi. To fail to work because of unacceptable + input, perhaps with a suitable error message, perhaps not. + Examples: "The division operation barfs if you try to divide by + 0." (That is, the division operation checks for an attempt to + divide by zero, and if one is encountered it causes the operation + to fail in some unspecified, but generally obvious, manner.) "The + text editor barfs if you try to read in a new file before writing + out the old one." See {choke}, {gag}. In Commonwealth + hackish, `barf' is generally replaced by `puke' or `vom'. + {barf} is sometimes also used as a {metasyntactic variable}, + like {foo} or {bar}. + +:barfmail: n. Multiple {bounce message}s accumulating to the + level of serious annoyance, or worse. The sort of thing that + happens when an inter-network mail gateway goes down or + wonky. + +:barfulation: /bar`fyoo-lay'sh*n/ interj. Variation of {barf} + used around the Stanford area. An exclamation, expressing disgust. + On seeing some particularly bad code one might exclaim, + "Barfulation! Who wrote this, Quux?" + +:barfulous: /bar'fyoo-l*s/ adj. (alt. `barfucious', + /bar-fyoo-sh*s/) Said of something that would make anyone barf, + if only for esthetic reasons. + +:barney: n. In Commonwealth hackish, `barney' is to {fred} + (sense #1) as {bar} is to {foo}. That is, people who + commonly use `fred' as their first metasyntactic variable will + often use `barney' second. The reference is, of course, to Fred + Flintstone and Barney Rubble in the Flintstones cartoons. + +:baroque: adj. Feature-encrusted; complex; gaudy; verging on + excessive. Said of hardware or (esp.) software designs, this has + many of the connotations of {elephantine} or {monstrosity} but is + less extreme and not pejorative in itself. "Metafont even has + features to introduce random variations to its letterform output. + Now *that* is baroque!" See also {rococo}. + +:BASIC: [acronym, from Beginner's All-purpose Symbolic Instruction + Code] n. A programming language, originally designed for + Dartmouth's experimental timesharing system in the early 1960s, + which has since become the leading cause of brain-damage in + proto-hackers. 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 is (a) very painful, and (b) + encourages bad habits that will make it harder to use more powerful + languages well. This wouldn't be so bad if historical accidents + hadn't made BASIC so common on low-end micros. As it is, it ruins + thousands of potential wizards a year. + +:batch: adj. 1. Non-interactive. Hackers use this somewhat more + loosely than the traditional technical definitions justify; in + particular, switches on a normally interactive program that prepare + it to receive non-interactive command input are often referred to + as `batch mode' switches. A `batch file' is a series of + instructions written to be handed to an interactive program running + in batch mode. 2. Performance of dreary tasks all at one sitting. + "I finally sat down in batch mode and wrote out checks for all + those bills; I guess they'll turn the electricity back on next + week..." 3. `batching up': Accumulation of a number of small + tasks that can be lumped together for greater efficiency. "I'm + batching up those letters to send sometime" "I'm batching up + bottles to take to the recycling center." + +:bathtub curve: n. Common term for the curve (resembling an + end-to-end section of one of those claw-footed antique bathtubs) + that describes the expected failure rate of electronics with time: + initially high, dropping to near 0 for most of the system's + lifetime, then rising again as it `tires out'. See also {burn-in + period}, {infant mortality}. + +:baud: /bawd/ [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 + International Telegraph Conference of 1927, and named after J.M.E. + Baudot (1845--1903), the French engineer who constructed the first + successful teleprinter. + +:baud barf: /bawd barf/ n. The garbage one gets on the monitor + 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. + +:baz: /baz/ n. 1. The third {metasyntactic variable} "Suppose we + have three functions: FOO, BAR, and BAZ. FOO calls BAR, which + calls BAZ...." (See also {fum}) 2. interj. A term of mild + annoyance. In this usage the term is often drawn out for 2 or 3 + seconds, producing an effect not unlike the bleating of a sheep; + /baaaaaaz/. 3. Occasionally appended to {foo} to produce + `foobaz'. + + Earlier versions of this lexicon derived `baz' as a Stanford + corruption of {bar}. However, Pete Samson (compiler of the + {TMRC} lexicon) reports it was already current when he joined TMRC + in 1958. He says "It came from `Pogo'. Albert the Alligator, + when vexed or outraged, would shout `Bazz Fazz!' or `Rowrbazzle!' + The club layout was said to model the (mythical) New England + counties of Rowrfolk and Bassex (Rowrbazzle mingled with + (Norfolk/Suffolk/Middlesex/Essex)." + +:bboard: /bee'bord/ [contraction of `bulletin board'] n. + 1. Any electronic bulletin board; esp. used of {BBS} systems + running on personal micros, less frequently of a USENET + {newsgroup} (in fact, use of this term for a newsgroup generally + marks one either as a {newbie} fresh in from the BBS world or as + a real old-timer predating USENET). 2. At CMU and other colleges + with similar facilities, refers to campus-wide electronic bulletin + boards. 3. The term `physical bboard' is sometimes used to refer + to a old-fashioned, non-electronic cork-and-thumbtack memo board. + At CMU, it refers to a particular one outside the CS Lounge. + + In either of senses 1 or 2, the term is usually prefixed by the + name of the intended board (`the Moonlight Casino bboard' or + `market bboard'); however, if the context is clear, the better-read + bboards may be referred to by name alone, as in (at CMU) "Don't + post for-sale ads on general". + +:BBS: /B-B-S/ [abbreviation, `Bulletin Board System'] n. 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. Thousands of local BBS systems are in + operation throughout the U.S., 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 tend to consider local BBSes + the low-rent district of the hacker culture, but they serve a + valuable function by knitting together lots of hackers and users in + the personal-micro world who would otherwise be unable to exchange + code at all. See also {bboard}. + +:beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. 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'. Compare {blast}, {snarf}, {BLT}. + +:beanie key: [Mac users] n. See {command key}. + +:beep: n.,v. Syn. {feep}. This term seems to be preferred among micro + hobbyists. + +:beige toaster: n. A Macintosh. See {toaster}; compare + {Macintrash}, {maggotbox}. + +:bells and whistles: [by analogy with the toyboxes on theater + organs] n. 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. + +:bells, whistles, and gongs: n. A standard elaborated form of + {bells and whistles}; typically said with a pronounced and ironic + accent on the `gongs'. + +:benchmark: [techspeak] n. An inaccurate measure of computer + performance. "In the computer industry, there are three kinds of + lies: lies, damn lies, and benchmarks." Well-known ones include + Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP + benchmarks (see {gabriel}), the SPECmark suite, and LINPACK. See + also {machoflops}, {MIPS}, {smoke and mirrors}. + +:Berkeley Quality Software: adj. (often abbreviated `BQS') Term used + in a pejorative sense to refer to software that was apparently + created by rather spaced-out hackers late at night to solve some + unique problem. It usually has nonexistent, incomplete, or + incorrect documentation, has been tested on at least two examples, + and core dumps when anyone else attempts to use it. This term was + frequently applied to early versions of the `dbx(1)' debugger. + See also {Berzerkeley}. + + Note to British and Commonwealth readers: that's /berk'lee/, not + /bark'lee/ as in British Received Pronunciation. + +:berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See + {BSD}. Not used at Berkeley itself. May be more common among + {suit}s attempting to sound like cognoscenti than among hackers, + who usually just say `BSD'. + +:Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a + now-deceased record label] n. Humorous distortion of `Berkeley' + used esp. to refer to the practices or products of the + {BSD} UNIX hackers. See {software bloat}, {Missed'em-five}, + {Berkeley Quality Software}. + + Mainstream use of this term in reference to the cultural and + political peculiarities of UC Berkeley as a whole has been reported + from as far back as the 1960s. + +:beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n. + 1. Mostly working, but still under test; usu. used with `in': `in + beta'. In the {Real World}, systems (hardware or software) + software often go through two stages of release testing: Alpha + (in-house) and Beta (out-house?). Beta releases are generally made + to a small number 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 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. + +: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'. + +:bible: n. 1. One of a small number of fundamental source books + such as {Knuth} and {K&R}. 2. The most detailed and + authoritative reference for a particular language, operating + system, or other complex software system. + +:BiCapitalization: n. The act said to have been performed on + trademarks (such as {PostScript}, NeXT, {NeWS}, VisiCalc, + FrameMaker, TK!solver, EasyWriter) that have been raised above the + ruck of common coinage by nonstandard capitalization. Too many + {marketroid} types think this sort of thing is really cute, even + the 2,317th time they do it. Compare {studlycaps}. + +:BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the + prototypical {newbie}. Articles from BIFF are characterized by + all uppercase letters sprinkled liberally with bangs, typos, + `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A + K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE + THIS!!!), use (and often misuse) of fragments of {talk mode} + abbreviations, a long {sig block} (sometimes even a {doubled + sig}), and unbounded naivet'e. BIFF posts articles using his + elder brother's VIC-20. BIFF's location is a mystery, as his + articles appear to come from a variety of sites. However, + {BITNET} seems to be the most frequent origin. The theory that + BIFF is a denizen of BITNET is supported by BIFF's (unfortunately + invalid) electronic mail address: BIFF@BIT.NET. + + [1993: Now It Can Be Told! My spies inform me that BIFF was + originally created by Joe Talmadge , also the + author of the infamous and much-plagiarized "Flamer's Bible". + The BIFF filter he wrote was later passed to Richard Sexton, who + posted BIFFisms much more widely. Versions have since been posted + for the amusement of the net at large. --- ESR] + +:biff: /bif/ vt. To notify someone of incoming mail. From the + BSD utility `biff(1)', which was in turn named after a + friendly golden Labrador who used to chase frisbees in the halls at + UCB while 4.2BSD was in development (it had a well-known habit of + barking whenever the mailman came). No relation to + {BIFF}. + +:Big Gray Wall: n. What faces a {VMS} user searching for + documentation. A full VMS kit comes on a pallet, the documentation + taking up around 15 feet of shelf space before the addition of + layered products such as compilers, databases, multivendor + networking, and programming tools. Recent (since VMS version 5) + DEC documentation comes with gray binders; under VMS version 4 the + binders were orange (`big orange wall'), and under version 3 they + were blue. See {VMS}. Often contracted to `Gray Wall'. + +:big iron: n. Large, expensive, ultra-fast computers. Used generally + of {number-crunching} supercomputers such as Crays, but can include + more conventional big commercial IBMish mainframes. Term of + approval; compare {heavy metal}, oppose {dinosaur}. + +:Big Red Switch: [IBM] n. The power switch on a computer, esp. the + `Emergency Pull' switch on an IBM {mainframe} or the power switch + on an IBM PC where it really is large and red. "This !@%$% + {bitty box} is hung again; time to hit the Big Red Switch." + Sources at IBM report that, in tune with the company's passion for + {TLA}s, this is often abbreviated as `BRS' (this has also + become established on FidoNet and in the PC {clone} world). It + is alleged that the emergency pull switch on an IBM 360/91 actually + fired a non-conducting bolt into the main power feed; the BRSes on + more recent mainframes physically drop a block into place so that + they can't be pushed back in. People get fired for pulling them, + especially inappropriately (see also {molly-guard}). Compare + {power cycle}, {three-finger salute}, {120 reset}; see + also {scram switch}. + +:Big Room, the: n. The extremely large room with the blue ceiling + and intensely bright light (during the day) or black ceiling with + lots of tiny night-lights (during the night) found outside all + computer installations. "He can't come to the phone right now, + he's somewhere out in the Big Room." + +:big win: n. Serendipity. "Yes, those two physicists discovered + high-temperature superconductivity in a batch of ceramic that had + been prepared incorrectly according to their experimental schedule. + Small mistake; big win!" See {win big}. + +:big-endian: [From Swift's `Gulliver's Travels' via the famous + paper `On Holy Wars and a Plea for Peace' by Danny Cohen, + USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer + architecture in which, within a given multi-byte numeric + representation, the most significant byte has the lowest address + (the word is stored `big-end-first'). Most processors, + including the IBM 370 family, the {PDP-10}, the Motorola + microprocessor families, and most of the various RISC designs + current in mid-1993, are big-endian. See {little-endian}, + {middle-endian}, {NUXI problem}, {swab}. 2. An + {{Internet address}} the wrong way round. Most of the world + follows the Internet standard and writes email addresses starting + with the name of the computer and ending up with the name of the + country. In the U.K. the Joint Networking Team had decided to do + it the other way round before the Internet domain standard was + established; e.g., me@uk.ac.wigan.cs. Most gateway sites have + {ad-hockery} in their mailers to handle this, but can still be + confused. In particular, the address above could be in the + U.K. (domain uk) or Czechoslovakia (domain cs). + +:bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A + multiple-precision computer representation for very large + integers. 2. More generally, any very large number. "Have you ever + looked at the United States Budget? There's bignums for you!" + 3. [Stanford] In backgammon, large numbers on the dice especially a + roll of double fives or double sixes (compare {moby}, sense 4). + See also {El Camino Bignum}. + + Sense 1 may require some explanation. Most computer languages + provide a kind of data called `integer', but such computer + integers are usually very limited in size; usually they must be + smaller than than 2^(31) (2,147,483,648) or (on a + {bitty box}) 2^(15) (32,768). If you want to work + with numbers larger than that, you have to use floating-point + numbers, which are usually accurate to only six or seven decimal + places. Computer languages that provide bignums can perform exact + calculations on very large numbers, such as 1000! (the factorial + of 1000, which is 1000 times 999 times 998 times ... times 2 + times 1). For example, this value for 1000! was computed by the + MacLISP system using bignums: + + 40238726007709377354370243392300398571937486421071 + 46325437999104299385123986290205920442084869694048 + 00479988610197196058631666872994808558901323829669 + 94459099742450408707375991882362772718873251977950 + 59509952761208749754624970436014182780946464962910 + 56393887437886487337119181045825783647849977012476 + 63288983595573543251318532395846307555740911426241 + 74743493475534286465766116677973966688202912073791 + 43853719588249808126867838374559731746136085379534 + 52422158659320192809087829730843139284440328123155 + 86110369768013573042161687476096758713483120254785 + 89320767169132448426236131412508780208000261683151 + 02734182797770478463586817016436502415369139828126 + 48102130927612448963599287051149649754199093422215 + 66832572080821333186116811553615836546984046708975 + 60290095053761647584772842188967964624494516076535 + 34081989013854424879849599533191017233555566021394 + 50399736280750137837615307127761926849034352625200 + 01588853514733161170210396817592151090778801939317 + 81141945452572238655414610628921879602238389714760 + 88506276862967146674697562911234082439208160153780 + 88989396451826324367161676217916890977991190375403 + 12746222899880051954444142820121873617459926429565 + 81746628302955570299024324153181617210465832036786 + 90611726015878352075151628422554026517048330422614 + 39742869330616908979684825901254583271682264580665 + 26769958652682272807075781391858178889652208164348 + 34482599326604336766017699961283186078838615027946 + 59551311565520360939881806121385586003014356945272 + 24206344631797460594682573103790084024432438465657 + 24501440282188525247093519062092902313649327349756 + 55139587205596542287497740114133469627154228458623 + 77387538230483865688976461927383814900140767310446 + 64025989949022222176590433990188601856652648506179 + 97023561938970178600408118897299183110211712298459 + 01641921068884387121855646124960798722908519296819 + 37238864261483965738229112312502418664935314397013 + 74285319266498753372189406942814341185201580141233 + 44828015051399694290153483077644569099073152433278 + 28826986460278986432113908350621709500259738986355 + 42771967428222487575867657523442202075736305694988 + 25087968928162753848863396909959826280956121450994 + 87170124451646126037902930912088908694202851064018 + 21543994571568059418727489980942547421735824010636 + 77404595741785160829230135358081840096996372524230 + 56085590370062427124341690900415369010593398383577 + 79394109700277534720000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000 + 000000000000000000. + +:bigot: n. A person who is religiously attached to a particular + computer, language, operating system, editor, or other tool (see + {religious issues}). Usually found with a specifier; thus, + `cray bigot', `ITS bigot', `APL bigot', `VMS bigot', + `Berkeley bigot'. Real bigots can be distinguished from mere + partisans or zealots by the fact that they refuse to learn + alternatives even when the march of time and/or technology is + threatening to obsolete the favored tool. It is truly said "You + can tell a bigot, but you can't tell him much." Compare + {weenie}. + +:bit: [from the mainstream meaning and `Binary digIT'] n. + 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 1949, and seems to have been coined by early computer + scientist John Tukey. Tukey records that it evolved over a lunch + table as a handier alternative to `bigit' or `binit'. + +:bit bang: n. Transmission of data on a serial line, when + accomplished by rapidly tweaking a single output bit, in software, + at the appropriate times. The technique is a simple loop with + eight OUT and SHIFT instruction pairs for each byte. Input is more + interesting. And full duplex (doing input and output at the same + time) is one way to separate the real hackers from the + {wannabee}s. + + Bit bang was used on certain early models of Prime computers, + presumably when UARTs were too expensive, and on archaic Z80 micros + with a Zilog PIO but no SIO. In an interesting instance of the + {cycle of reincarnation}, this technique is now (1991) coming + back into use on some RISC architectures because it consumes such + an infinitesimal part of the processor that it actually makes sense + not to have a UART. + +:bit bashing: n. (alt. `bit diddling' or {bit twiddling}) Term + used to describe any of several kinds of low-level programming + characterized by manipulation of {bit}, {flag}, {nybble}, + and other smaller-than-character-sized pieces of data; these + include low-level device control, encryption algorithms, checksum + and error-correcting codes, hash functions, some flavors of + graphics programming (see {bitblt}), and assembler/compiler code + generation. May connote either tedium or a real technical + challenge (more usually the former). "The command decoding for + the new tape driver looks pretty solid but the bit-bashing for the + control registers still has bugs." See also {bit bang}, + {mode bit}. + +:bit bucket: n. 1. The universal data sink (originally, the + mythical receptacle used to catch bits when they fall off the end + of a register during a shift instruction). Discarded, lost, or + destroyed data is said to have `gone to the bit bucket'. On + {{UNIX}}, often used for {/dev/null}. Sometimes amplified as + `the Great Bit Bucket in the Sky'. 2. The place where all lost + mail and news messages eventually go. The selection is performed + according to {Finagle's Law}; important mail is much more likely + to end up in the bit bucket than junk mail, which has an almost + 100% probability of getting delivered. Routing to the bit bucket + is automatically performed by mail-transfer agents, news systems, + and the lower layers of the network. 3. The ideal location for all + unwanted mail responses: "Flames about this article to the bit + bucket." Such a request is guaranteed to overflow one's mailbox + with flames. 4. Excuse for all mail that has not been sent. "I + mailed you those figures last week; they must have landed in the + bit bucket." Compare {black hole}. + + This term is used purely in jest. It is based on the fanciful + notion that bits are objects that are not destroyed but only + misplaced. This appears to have been a mutation of an earlier term + `bit box', about which the same legend was current; old-time + hackers also report that trainees used to be told that when the CPU + stored bits into memory it was actually pulling them `out of the + bit box'. See also {chad box}. + + Another variant of this legend has it that, as a consequence of the + `parity preservation law', the number of 1 bits that go to the bit + bucket must equal the number of 0 bits. Any imbalance results in + bits filling up the bit bucket. A qualified computer technician + can empty a full bit bucket as part of scheduled maintenance. + +:bit decay: n. See {bit rot}. People with a physics background + tend to prefer this variant for the analogy with particle decay. See + also {computron}, {quantum bogodynamics}. + +:bit rot: n. Also {bit decay}. Hypothetical disease the existence + of which has been deduced from the observation that unused programs + or features will often stop working after sufficient time has + passed, even if `nothing has changed'. The theory explains that + bits decay as if they were radioactive. As time passes, the + contents of a file or the code in a program will become + increasingly garbled. + + There actually are physical processes that produce such effects + (alpha particles generated by trace radionuclides in ceramic chip + packages, for example, can change the contents of a computer memory + unpredictably, and various kinds of subtle media failures can + corrupt files in mass storage), but they are quite rare (and + computers are built with error-detecting circuitry to compensate + for them). The notion long favored among hackers that cosmic + rays are among the causes of such events turns out to be a myth; + see the {cosmic rays} entry for details. + + The term {software rot} is almost synonymous. Software rot is + the effect, bit rot the notional cause. + +:bit twiddling: n. 1. (pejorative) An exercise in tuning (see + {tune}) in which incredible amounts of time and effort go to + produce little noticeable improvement, often with the result that + the code becomes incomprehensible. 2. Aimless small + modification to a program, esp. for some pointless goal. + 3. Approx. syn. for {bit bashing}; esp. used for the act of + frobbing the device control register of a peripheral in an attempt + to get it back to a known state. + +: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 more of a Rube Goldberg kluge than + it already was, the design had to group characters that shared the + same basic bit pattern on one key. + + Looking at the ASCII chart, we find: + + high low bits + bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 + 010 ! " # $ % & ' ( ) + 011 0 1 2 3 4 5 6 7 8 9 + + This is why the characters !"#$%&'() appear where they do on a + Teletype (thankfully, they didn't use shift-0 for space). This was + *not* the weirdest variant of the {QWERTY} layout widely + seen, by the way; that prize should probably go to one of several + (differing) arrangements on IBM's even clunkier 026 and 029 card + punches. + + When electronic terminals became popular, in the early 1970s, there + was no agreement in the industry over how the keyboards should be + laid out. Some vendors opted to emulate the Teletype keyboard, + while others used the flexibility of electronic circuitry to make + their product look like an office typewriter. These alternatives + became known as `bit-paired' and `typewriter-paired' keyboards. To + a hacker, the bit-paired keyboard seemed far more logical --- and + because most hackers in those days had never learned to touch-type, + there was little pressure from the pioneering users to adapt + keyboards to the typewriter standard. + + The doom of the bit-paired keyboard was the large-scale + introduction of the computer terminal into the normal office + environment, where out-and-out technophobes were expected to use + the equipment. The `typewriter-paired' standard became universal, + `bit-paired' hardware was quickly junked or relegated to dusty + corners, and both terms passed into disuse. + +:bitblt: /bit'blit/ n. [from {BLT}, q.v.] 1. Any of a family + of closely related algorithms for moving and copying rectangles of + bits between main and display memory on a bit-mapped device, or + between two areas of either main or display memory (the requirement + to do the {Right Thing} in the case of overlapping source and + destination rectangles is what makes BitBlt tricky). 2. Synonym + for {blit} or {BLT}. Both uses are borderline techspeak. + +:BITNET: /bit'net/ [acronym: Because It's Time NETwork] n. + Everybody's least favorite piece of the network (see {network, + the}). The BITNET hosts are 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 is also notorious as the apparent home + of {BIFF}. + +:bits: n.pl. 1. Information. Examples: "I need some bits about file + formats." ("I need to know about file formats.") Compare {core + dump}, sense 4. 2. Machine-readable representation of a document, + specifically as contrasted with paper: "I have only a photocopy + of the Jargon File; does anyone know where I can get the bits?". + See {softcopy}, {source of all good bits} See also {bit}. + +:bitty box: /bit'ee boks/ n. 1. A computer sufficiently small, + primitive, or incapable as to cause a hacker acute claustrophobia + at the thought of developing software on or for it. Especially + used of small, obsolescent, single-tasking-only personal machines + such as the Atari 800, Osborne, Sinclair, VIC-20, TRS-80, or + IBM PC. 2. [Pejorative] More generally, the opposite of `real + computer' (see {Get a real computer!}). See also {mess-dos}, + {toaster}, and {toy}. + +:bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the Byte + Information eXchange). The {smiley} bixie is <@_@>, apparently + intending to represent two cartoon eyes and a mouth. A few others + have been reported. + +:black art: n. A collection of arcane, unpublished, and (by + implication) mostly ad-hoc techniques developed for a particular + application or systems area (compare {black magic}). VLSI design + and compiler code optimization were (in their beginnings) + considered classic examples of black art; as theory developed they + became {deep magic}, and once standard textbooks had been written, + became merely {heavy wizardry}. The huge proliferation of formal + and informal channels for spreading around new computer-related + technologies during the last twenty years has made both the term + `black art' and what it describes less common than formerly. See + also {voodoo programming}. + +:black hole: n. What a piece of email or netnews 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. Compare {bit + bucket}. + +:black magic: n. A technique that works, though nobody really + understands why. More obscure than {voodoo programming}, which + may be done by cookbook. Compare also {black art}, {deep + magic}, and {magic number} (sense 2). + +:blargh: /blarg/ [MIT] n. The opposite of {ping}, sense 5; an + exclamation indicating that one has absorbed or is emitting a + quantum of unhappiness. Less common than {ping}. + +:blast: 1. vt.,n. Synonym for {BLT}, used esp. for large data + sends over a network or comm line. Opposite of {snarf}. Usage: + uncommon. The variant `blat' has been reported. 2. vt. + [HP/Apollo] Synonymous with {nuke} (sense 3). Sometimes the + message `Unable to kill all processes. Blast them (y/n)?' would + appear in the command window upon logout. + +:blat: n. 1. Syn. {blast}, sense 1. 2. See {thud}. + +:bletch: /blech/ [from Yiddish/German `brechen', to vomit, poss. + via comic-strip exclamation `blech'] interj. Term of disgust. + Often used in "Ugh, bletch". Compare {barf}. + +:bletcherous: /blech'*-r*s/ adj. Disgusting in design or function; + esthetically unappealing. This word is seldom used of people. + "This keyboard is bletcherous!" (Perhaps the keys don't work very + well, or are misplaced.) See {losing}, {cretinous}, + {bagbiter}, {bogus}, and {random}. The term {bletcherous} + applies to the esthetics of the thing so described; similarly for + {cretinous}. By contrast, something that is `losing' or + `bagbiting' may be failing to meet objective criteria. See also + {bogus} and {random}, which have richer and wider shades of + meaning than any of the above. + +:blinkenlights: /blink'*n-li:tz/ n. Front-panel diagnostic lights + on a computer, esp. a {dinosaur}. Derives from the last word + of the famous blackletter-Gothic sign in mangled pseudo-German that + once graced about half the computer rooms in the English-speaking + world. One version ran in its entirety as follows: + + ACHTUNG! ALLES LOOKENSPEEPERS! Das + computermachine ist nicht fuer gefingerpoken und mittengrabben. + Ist easy schnappen der springenwerk, blowenfusen und poppencorken + mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen. + Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das + pockets muss; relaxen und watchen das blinkenlichten. + + + This silliness dates back at least as far as 1959 at Stanford + University and had already gone international by the early 1960s, + when it was reported at London University's ATLAS computing site. + There are several variants of it in circulation, some of which + actually do end with the word `blinkenlights'. + + In an amusing example of turnabout-is-fair-play, German hackers + have developed their own versions of the blinkenlights poster in + fractured English, one of which is reproduced here: + + ATTENTION + This room is fullfilled mit special electronische equippment. + Fingergrabbing and pressing the cnoeppkes from the computers is + allowed for die experts only! So all the "lefthanders" stay away + and do not disturben the brainstorming von here working + intelligencies. Otherwise you will be out thrown and kicked + anderswhere! Also: please keep still and only watchen astaunished + the blinkenlights. + + See also {geef}. + +:blit: /blit/ vt. 1. To copy a large array of bits from one part + of a computer's memory to another part, particularly when the + memory is being used to determine what is shown on a display + screen. "The storage allocator picks through the table and copies + the good parts up into high memory, and then blits it all back down + again." See {bitblt}, {BLT}, {dd}, {cat}, {blast}, + {snarf}. More generally, to perform some operation (such as + toggling) on a large array of bits while moving them. 2. Sometimes + all-capitalized as `BLIT': an early experimental bit-mapped + terminal designed by Rob Pike at Bell Labs, later commercialized as + the AT&T 5620. (The folk etymology from `Bell Labs Intelligent + Terminal' is incorrect. Its creators liked to claim that "Blit" + stood for the Bacon, Lettuce, and Interactive Tomato.) + +:blitter: /blit'r/ n. A special-purpose chip or hardware system + built to perform {blit} operations, esp. used for fast + implementation of bit-mapped graphics. The Commodore Amiga and a + few other micros have these, but in 1991 the trend is away from + them (however, see {cycle of reincarnation}). Syn. {raster + blaster}. + +:blivet: /bliv'*t/ [allegedly from a World War II military term + meaning "ten pounds of manure in a five-pound bag"] n. 1. An + intractable problem. 2. A crucial piece of hardware that can't be + fixed or replaced if it breaks. 3. A tool that has been hacked + over by so many incompetent programmers that it has become an + unmaintainable tissue of hacks. 4. An out-of-control but + unkillable development effort. 5. An embarrassing bug that pops up + during a customer demo. 6. In the subjargon of computer security + specialists, a denial-of-service attack performed by hogging + limited resources that have no access controls (for example, shared + spool space on a multi-user system). + + This term has other meanings in other technical cultures; among + experimental physicists and hardware engineers of various kinds it + seems to mean any random object of unknown purpose (similar to + hackish use of {frob}). It has also been used to describe an + amusing trick-the-eye drawing resembling a three-pronged fork that + appears to depict a three-dimensional object until one realizes + that the parts fit together in an impossible way. + +:BLOB: [acronym, Binary Large OBject] n. Used by database people to + refer to any random large block of bits that needs to be stored in + a database, such as a picture or sound file. The essential point + about a BLOB is that it's an object that cannot be interpreted + within the database itself. + +:block: [from process scheduling terminology in OS theory] 1. vi. + To delay or sit idle while waiting for something. "We're blocking + until everyone gets here." Compare {busy-wait}. 2. `block + on' vt. To block, waiting for (something). "Lunch is blocked on + Phil's arrival." + +:block transfer computations: [from the television series + "Dr. Who"] n. Computations so fiendishly subtle and complex + that they could not be performed by machines. Used to refer to any + task that should be expressible as an algorithm in theory, but + isn't. + +:Bloggs Family, the: n. An imaginary family consisting of Fred and + Mary Bloggs and their children. Used as a standard example in + knowledge representation to show the difference between extensional + and intensional objects. For example, every occurrence of "Fred + Bloggs" is the same unique person, whereas occurrences of + "person" may refer to different people. Members of the Bloggs + family have been known to pop up in bizarre places such as the DEC + Telephone Directory. Compare {Mbogo, Dr. Fred}. + +:blow an EPROM: /bloh *n ee'prom/ v. (alt. `blast an EPROM', + `burn an EPROM') To program a read-only memory, e.g. for use + with an embedded system. This term arose because the programming + process for the Programmable Read-Only Memories (PROMs) that + preceded present-day Erasable Programmable Read-Only Memories + (EPROMs) involved intentionally blowing tiny electrical fuses on + the chip. The usage lives on (it's too vivid and expressive to + discard) even though the write process on EPROMs is + nondestructive. + +:blow away: vt. To remove (files and directories) from permanent + storage, generally by accident. "He reformatted the wrong + partition and blew away last night's netnews." Oppose {nuke}. + +:blow out: [prob. from mining and tunneling jargon] vi. Of + software, to fail spectacularly; almost as serious as {crash and + burn}. See {blow past}, {blow up}, {die + horribly}. + +:blow past: vt. To {blow out} despite a safeguard. "The server blew + past the 5K reserve buffer." + +:blow up: vi. 1. [scientific computation] To become unstable. Suggests + that the computation is diverging so rapidly that it will soon + overflow or at least go {nonlinear}. 2. Syn. {blow out}. + +:BLT: /B-L-T/, /bl*t/ or (rarely) /belt/ n.,vt. Synonym for + {blit}. This is the original form of {blit} and the ancestor + of {bitblt}. It referred to any large bit-field copy or move + operation (one resource-intensive memory-shuffling operation done + on pre-paged versions of ITS, WAITS, and TOPS-10 was sardonically + referred to as `The Big BLT'). The jargon usage has outlasted the + {PDP-10} BLock Transfer instruction from which {BLT} derives; + nowadays, the assembler mnemonic {BLT} almost always means + `Branch if Less Than zero'. + +:Blue Book: n. 1. Informal name for one of the three standard + references on the page-layout and graphics-control language + {{PostScript}} (`PostScript Language Tutorial and Cookbook', + Adobe Systems, Addison-Wesley 1985, QA76.73.P67P68, ISBN + 0-201-10179-3); the other three official guides are known as the + {Green Book}, the {Red Book}, and the {White Book} (sense + 2). 2. Informal name for one of the three standard references on + Smalltalk: `Smalltalk-80: The Language and its + Implementation', David Robson, Addison-Wesley 1983, QA76.8.S635G64, + ISBN 0-201-11371-63 (this book also has green and red siblings). + 3. Any of the 1988 standards issued by the CCITT's ninth plenary + assembly. These include, among other things, the X.400 email spec + and the Group 1 through 4 fax standards. See also {{book + titles}}. + +:Blue Glue: [IBM] n. IBM's SNA (Systems Network Architecture), an + incredibly {losing} and {bletcherous} communications protocol + widely favored at commercial shops that don't know any better. 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'. + +:blue goo: n. Term for `police' {nanobot}s intended to prevent + {gray goo}, denature hazardous waste, destroy pollution, put + ozone back into the stratosphere, prevent halitosis, and promote + truth, justice, and the American way, etc. See + {{nanotechnology}}. + +:blue wire: [IBM] n. Patch wires added to circuit boards at the factory to + correct design or fabrication problems. These may be necessary if + there hasn't been time to design and qualify another board version. + Compare {purple wire}, {red wire}, {yellow wire}. + +:blurgle: /bler'gl/ [Great Britain] n. Spoken {metasyntactic + variable}, to indicate some text that is obvious from context, or + which is already known. If several words are to be replaced, + blurgle may well be doubled or trebled. "To look for something in + several files use `grep string blurgle blurgle'." In each case, + "blurgle blurgle" would be understood to be replaced by the file + you wished to search. Compare {mumble}, sense 6. + +:BNF: /B-N-F/ n. 1. [techspeak] Acronym for `Backus-Naur 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 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. + +:boa: [IBM] n. Any one of the fat cables that lurk under the floor + in a {dinosaur pen}. Possibly so called because they display a + ferocious life of their own when you try to lay them straight and + flat after they have been coiled for some time. It is rumored + within IBM that channel cables for the 370 are limited to 200 feet + because beyond that length the boas get dangerous --- and it is + worth noting that one of the major cable makers uses the trademark + `Anaconda'. + +:board: n. 1. In-context synonym for {bboard}; sometimes used + even for USENET newsgroups (but see usage note under {bboard}, + sense 1). 2. An electronic circuit board. + +:boat anchor: n. 1. Like {doorstop} but more severe; implies + that the offending hardware is irreversibly dead or useless. + "That was a working motherboard once. One lightning strike later, + instant boat anchor!" 2. A person who just takes up space. + 3. (affectionate) Obsolete but still working hardware, especially + used of an old S100-bus hobbyist system; originally a term of + annoyance, but became more and more affectionate as the hardware + became more and more obsolete. + +:BOF: /B-O-F/ or /bof/ n. 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. + +: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." Compare + {bogus}, {brute force}, {Lasherism}. + +:bogometer: /boh-gom'-*t-er/ n. A notional instrument for + measuring {bogosity}. Compare the `wankometer' described in + the {wank} entry; see also {bogus}. + +:bogon: /boh'gon/ [by analogy with proton/electron/neutron, but + doubtless reinforced after 1980 by the similarity to Douglas + Adams's `Vogons'; see the Bibliography in {Appendix C}] n. + 1. The elementary particle of bogosity (see {quantum + bogodynamics}). For instance, "the Ethernet is emitting bogons + again" means that it is broken or acting in an erratic or bogus + fashion. 2. A query packet sent from a TCP/IP domain resolver to a + root server, having the reply bit set instead of the query bit. + 3. Any bogus or incorrectly formed packet sent on a network. 4. By + synecdoche, used to refer to any bogus thing, as in "I'd like to + go to lunch with you but I've got to go to the weekly staff + bogon". 5. A person who is bogus or who says bogus things. This + was historically the original usage, but has been overtaken by its + derivative senses 1--4. See also {bogosity}, {bogus}; + compare {psyton}, {fat electrons}, {magic smoke}. + + The bogon has become the type case for a whole bestiary of nonce + particle names, including the `clutron' or `cluon' (indivisible + particle of cluefulness, obviously the antiparticle of the bogon) + and the futon (elementary particle of {randomness}). These are + not so much live usages in themselves as examples of a live + meta-usage: that is, it has become a standard joke or linguistic + maneuver to "explain" otherwise mysterious circumstances by inventing + nonce particle names. And these imply nonce particle theories, with + all their dignity or lack thereof (we might note parenthetically that + this is a generalization from "(bogus particle) theories" to "bogus + (particle theories)"!). Perhaps such particles are the modern-day + equivalents of trolls and wood-nymphs as standard starting-points + around which to construct explanatory myths. Of course, playing on + an existing word (as in the `futon') yields additional flavor. + Compare {magic smoke}. + +:bogon filter: /boh'gon fil'tr/ n. Any device, software or hardware, + that limits or suppresses the flow and/or emission of bogons. + "Engineering hacked a bogon filter between the Cray and + the VAXen, and now we're getting fewer dropped packets." See + also {bogosity}, {bogus}. + +:bogon flux: /boh'gon fluhks/ n. A measure of a supposed field of + {bogosity} emitted by a speaker, measured by a {bogometer}; + as a speaker starts to wander into increasing bogosity a listener + might say "Warning, warning, bogon flux is rising". See + {quantum bogodynamics}. + +:bogosity: /boh-go's*-tee/ n. 1. The degree to which something is + {bogus}. At CMU, bogosity is measured with a {bogometer}; in + a seminar, when a speaker says something bogus, a listener might + raise his hand and say "My bogometer just triggered". More + extremely, "You just pinned my bogometer" means you just said or + did something so outrageously bogus that it is off the scale, + pinning the bogometer needle at the highest possible reading (one + might also say "You just redlined my bogometer"). The + agreed-upon unit of bogosity is the microLenat /mi:k`roh-len'*t/ + (uL); the consensus is that this is the largest unit practical + for everyday use. 2. The potential field generated by a {bogon + flux}; see {quantum bogodynamics}. See also {bogon flux}, + {bogon filter}, {bogus}. + + Historical note: The microLenat was invented as an attack against + noted computer scientist Doug Lenat by a {tenured graduate + student}. Doug had failed the student on an important exam for + giving only "AI is bogus" as his answer to the questions. The + slur is generally considered unmerited, but it has become a running + gag nevertheless. Some of Doug's friends argue that *of + course* a microLenat is bogus, since it is only one millionth of a + Lenat. Others have suggested that the unit should be redesignated + after the grad student, as the microReid. + +:bogotify: /boh-go't*-fi:/ vt. To make or become bogus. A + program that has been changed so many times as to become completely + disorganized has become bogotified. If you tighten a nut too hard + and strip the threads on the bolt, the bolt has become bogotified + and you had better not use it any more. This coinage led to the + notional `autobogotiphobia' defined as `the fear of becoming + bogotified'; but is not clear that the latter has ever been + `live' jargon rather than a self-conscious joke in jargon about + jargon. See also {bogosity}, {bogus}. + +:bogue out: /bohg owt/ vi. To become bogus, suddenly and + unexpectedly. "His talk was relatively sane until somebody asked + him a trick question; then he bogued out and did nothing but + {flame} afterwards." See also {bogosity}, {bogus}. + +: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 (see + {autobogotiphobia} under {bogotify}). The word spread into + hackerdom from CMU and MIT. By the early 1980s it was also + current in something like the hackish 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". + +:Bohr bug: /bohr buhg/ [from quantum physics] n. A repeatable + {bug}; one that manifests reliably under a possibly unknown but + well-defined set of conditions. Antonym of {heisenbug}; see also + {mandelbug}, {schroedinbug}. + +:boink: /boynk/ [USENET: ascribed to the TV series "Cheers" + and "Moonlighting"] 1. To have sex with; compare {bounce}, + sense 3. (This is mainstream slang.) In Commonwealth hackish the + variant `bonk' is more common. 2. After the original Peter Korn + `Boinkon' {USENET} parties, used for almost any net social + gathering, e.g., Miniboink, a small boink held by Nancy Gillett in + 1988; Minniboink, a Boinkcon in Minnesota in 1989; Humpdayboinks, + Wednesday get-togethers held in the San Francisco Bay Area. + Compare {@-party}. 3. Var of `bonk'; see + {bonk/oif}. + +:bomb: 1. v. General synonym for {crash} (sense 1) except that + it is not used as a noun; esp. used of software or OS failures. + "Don't run Empire with less than 32K stack, it'll bomb." + 2. n.,v. Atari ST and Macintosh equivalents of a UNIX `panic' or + Amiga {guru} (sense 2), in which icons of little black-powder + bombs or mushroom clouds are displayed, indicating that the system + has died. On the Mac, this may be accompanied by a decimal (or + occasionally hexadecimal) number indicating what went wrong, + similar to the Amiga {guru meditation} number. {{MS-DOS}} + machines tend to get {locked up} in this situation. + +:bondage-and-discipline language: A language (such as {{Pascal}}, + {{Ada}}, APL, or Prolog) that, though ostensibly general-purpose, + is designed so as to enforce an author's theory of `right + programming' even though said theory is demonstrably inadequate for + systems hacking or even vanilla general-purpose programming. Often + abbreviated `B&D'; thus, one may speak of things "having the + B&D nature". See {{Pascal}}; oppose {languages of + choice}. + +:bonk/oif: /bonk/, /oyf/ interj. In the {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. See also {talk mode}. + +:book titles:: There is a tradition in hackerdom of informally + tagging important textbooks and standards documents with the + dominant color of their covers or with some other conspicuous + feature of the cover. Many of these are described in this lexicon + under their own entries. See {Aluminum Book}, {Blue Book}, + {Cinderella Book}, {Devil Book}, {Dragon Book}, {Green + Book}, {Orange Book}, {Pink-Shirt Book}, {Purple Book}, + {Red Book}, {Silver Book}, {White Book}, {Wizard Book}, + {Yellow Book}, and {bible}; see also {rainbow + series}. + +:boot: [techspeak; from `by one's bootstraps'] v.,n. To load and + initialize the operating system on a machine. This usage is no + longer jargon (having passed into techspeak) but has given rise to + some derivatives that are still jargon. + + The derivative `reboot' implies that the machine hasn't been + down for long, or that the boot is a {bounce} intended to clear + some state of {wedgitude}. This is sometimes used of human + thought processes, as in the following exchange: "You've lost + me." "OK, reboot. Here's the theory...." + + This term is also found in the variants `cold boot' (from + power-off condition) and `warm boot' (with the CPU and all + devices already powered up, as after a hardware reset or software + crash). + + Another variant: `soft boot', reinitialization of only part of a + system, under control of other software still running: "If + you're running the {mess-dos} emulator, control-alt-insert will + cause a soft-boot of the emulator, while leaving the rest of the + system running." + + Opposed to this there is `hard boot', which connotes hostility + towards or frustration with the machine being booted: "I'll have + to hard-boot this losing Sun." "I recommend booting it + hard." One often hard-boots by performing a {power cycle}. + + Historical note: this term derives from `bootstrap loader', a short + program that was read in from cards or paper tape, or toggled in + from the front panel switches. This program was always very short + (great efforts were expended on making it short in order to + minimize the labor and chance of error involved in toggling it in), + but was just smart enough to read in a slightly more complex + program (usually from a card or paper tape reader), to which it + handed control; this program in turn was smart enough to read the + application or operating system from a magnetic tape drive or disk + drive. Thus, in successive steps, the computer `pulled itself up + by its bootstraps' to a useful operating state. Nowadays the + bootstrap is usually found in ROM or EPROM, and reads the first + stage in from a fixed location on the disk, called the `boot + block'. When this program gains control, it is powerful enough to + load the actual OS and hand control over to it. + +:bottom feeder: n. syn. for {slopsucker}, derived from the + fishermen's and naturalists' term for finny creatures who subsist + on the primordial ooze. + +:bottom-up implementation: n. Hackish opposite of the techspeak term + `top-down design'. It is now received wisdom in most + programming cultures that it is best to design from higher levels + of abstraction down to lower, specifying sequences of action in + increasing detail until you get to actual code. Hackers often find + (especially in exploratory designs that cannot be closely + specified in advance) that it works best to *build* things in + the opposite order, by writing and testing a clean set of primitive + operations and then knitting them together. + +:bounce: v. 1. [perhaps by analogy to a bouncing check] An + electronic mail message that is undeliverable and returns an error + notification to the sender is said to `bounce'. See also + {bounce message}. 2. [Stanford] To play volleyball. The + now-demolished {D. C. Power Lab} building used by the Stanford + AI Lab in the 1970s had a volleyball court on the front lawn. From + 5 P.M. to 7 P.M. was the scheduled maintenance time for the + computer, so every afternoon at 5 would come over the intercom the + cry: "Now hear this: bounce, bounce!", followed by Brian McCune + loudly bouncing a volleyball on the floor outside the offices of + known volleyballers. 3. To engage in sexual intercourse; prob. + from the expression `bouncing the mattress', but influenced by + Roo's psychosexually loaded "Try bouncing me, Tigger!" from the + "Winnie-the-Pooh" books. Compare {boink}. 4. To casually + reboot a system in order to clear up a transient problem. Reported + primarily among {VMS} 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. + +:bounce message: [UNIX] n. Notification message returned to sender + by a site unable to relay {email} to the intended {{Internet + address}} recipient or the next link in a {bang path} (see + {bounce}). Reasons might include a nonexistent or misspelled + username or a {down} relay site. Bounce messages can themselves + fail, with occasionally ugly results; see {sorcerer's apprentice + mode} and {software laser}. The terms `bounce mail' and + `barfmail' are also common. + +:boustrophedon: [from a Greek word for turning like an ox while + plowing] n. An ancient method of writing using alternate + left-to-right and right-to-left lines. This term is actually + philologists' techspeak and typesetters' jargon. Erudite hackers + use it for an optimization performed by some computer typesetting + software and moving-head printers. The adverbial form + `boustrophedonically' is also found (hackers purely love + constructions like this). + +:box: n. 1. A computer; esp. in the construction `foo box' + where foo is some functional qualifier, like `graphics', or + the name of an OS (thus, `UNIX box', `MS-DOS box', etc.) "We + preprocess the data on UNIX boxes before handing it up to the + mainframe." 2. [IBM] Without qualification but within an + SNA-using site, this refers specifically to an IBM front-end + processor or FEP /F-E-P/. An FEP is a small computer necessary + to enable an IBM {mainframe} to communicate beyond the limits of + the {dinosaur pen}. Typically used in expressions like the cry + that goes up when an SNA network goes down: "Looks like the + {box} has fallen over." (See {fall over}.) See also + {IBM}, {fear and loathing}, {fepped out}, {Blue + Glue}. + +:boxed comments: n. Comments (explanatory notes attached to program + instructions) that occupy several lines by themselves; so called + because in assembler and C code they are often surrounded by a box + in a style something like this: + + /************************************************* + * + * This is a boxed comment in C style + * + *************************************************/ + + Common variants of this style omit the asterisks in column 2 or add + a matching row of asterisks closing the right side of the box. The + sparest variant omits all but the comment delimiters themselves; + the `box' is implied. Oppose {winged comments}. + +:boxen: /bok'sn/ [by analogy with {VAXen}] pl.n. Fanciful + plural of {box} often encountered in the phrase `UNIX boxen', + used to describe commodity {{UNIX}} hardware. The connotation is + that any two UNIX boxen are interchangeable. + +:boxology: /bok-sol'*-jee/ n. Syn. {ASCII art}. This term + implies a more restricted domain, that of box-and-arrow drawings. + "His report has a lot of boxology in it." Compare + {macrology}. + +:bozotic: /boh-zoh'tik/ or /boh-zo'tik/ [from the name of a TV + clown even more losing than Ronald McDonald] adj. Resembling or + having the quality of a bozo; that is, clownish, ludicrously wrong, + unintentionally humorous. Compare {wonky}, {demented}. Note + that the noun `bozo' occurs in slang, but the mainstream + adjectival form would be `bozo-like' or (in New England) + `bozoish'. + +:BQS: /B-Q-S/ adj. Syn. {Berkeley Quality Software}. + +:brain dump: n. The act of telling someone everything one knows + about a particular topic or project. Typically used when someone + is going to let a new party maintain a piece of code. Conceptually + analogous to an operating system {core dump} in that it saves a + lot of useful {state} before an exit. "You'll have to + give me a brain dump on FOOBAR before you start your new job at + HackerCorp." See {core dump} (sense 4). At Sun, this is also + known as `TOI' (transfer of information). + +:brain fart: n. The actual result of a {braino}, as opposed to + the mental glitch that is the braino itself. E.g., typing + `dir' on a UNIX box after a session with DOS. + +:brain-damaged: 1. [generalization of `Honeywell Brain Damage' + (HBD), a theoretical disease invented to explain certain utter + cretinisms in Honeywell {{Multics}}] adj. Obviously wrong; + {cretinous}; {demented}. There is an implication that the + person responsible must have suffered brain damage, because he + should have known better. Calling something brain-damaged is + really bad; it also implies it is unusable, and that its failure to + work is due to poor design rather than some accident. "Only six + monocase characters per file name? Now *that's* + brain-damaged!" 2. [esp. in the Mac world] May refer to free + demonstration software that has been deliberately crippled in some + way so as not to compete with the commercial product it is + intended to sell. Syn. {crippleware}. + +:brain-dead: adj. Brain-damaged in the extreme. It tends to imply + terminal design failure rather than malfunction or simple + stupidity. "This comm program doesn't know how to send a break + --- how brain-dead!" + +:braino: /bray'no/ n. Syn. for {thinko}. See also {brain + fart}. + +:branch to Fishkill: [IBM: from the location of one of the + corporation's facilities] n. Any unexpected jump in a program that + produces catastrophic or just plain weird results. See {jump + off into never-never land}, {hyperspace}. + +:bread crumbs: n. Debugging statements inserted into a program that + emit output or log indicators of the program's {state} to a file + so you can see where it dies or pin down the cause of surprising + behavior. The term is probably a reference to the Hansel and Gretel + story from the Brothers Grimm; in several variants, a character + leaves a trail of bread crumbs so as not to get lost in the + woods. + +:break: 1. vt. To cause to be {broken} (in any sense). "Your latest + patch to the editor broke the paragraph commands." 2. v. (of a + program) To stop temporarily, so that it may debugged. The place + where it stops is a `breakpoint'. 3. [techspeak] vi. To send an + RS-232 break (two character widths of line high) over a serial comm + line. 4. [UNIX] vi. To strike whatever key currently causes the + tty driver to send SIGINT to the current process. Normally, break + (sense 3), delete or {control-C} does this. 5. `break break' + may be said to interrupt a conversation (this is an example of verb + doubling). This usage comes from radio communications, which in + turn probably came from landline telegraph/teleprinter usage, as + badly abused in the Citizen's Band craze a few years ago. + +:break-even point: n. in the process of implementing a new computer + language, the point at which the language is sufficiently effective + that one can implement the language in itself. That is, for a new + language called, hypothetically, FOOGOL, one has reached break-even + when one can write a demonstration compiler for FOOGOL in FOOGOL, + discard the original implementation language, and thereafter use + working versions of FOOGOL to develop newer ones. This is an + important milestone; see {MFTL}. + + [Since this entry was first written, several correspondents have + reported that there actually was a compiler for a tiny Algol-like + language called Foogol floating around on various {vaxen} in the + early and mid-1980s. The above example may not, after all, be + hypothetical. -- ESR] + +:breath-of-life packet: [XEROX PARC] n. An Ethernet packet that + contains bootstrap (see {boot}) code, periodically sent out + from a working computer to infuse the `breath of life' into any + computer on the network that has happened to crash. Machines + depending on such packets have sufficient hardware or firmware code + to wait for (or request) such a packet during the reboot process. + See also {dickless workstation}. + + The `kiss-of-death packet', with a function complementary to that of + a breath-of-life packet, is recommended for dealing with hosts that + consume too many network resources. There is at least one documented + instance of an Internet subnet with limited addres-table slots in a + gateway machine in which kiss-of-death packets were routinely used + to compete for slots, rather like Christmas shoppers competing for + scarce parking spaces. + +:breedle: n. See {feep}. + +:bring X to its knees: v. To present a machine, operating system, + piece of software, or algorithm with a load so extreme or + {pathological} that it grinds to a halt. "To bring a MicroVAX + to its knees, try twenty users running {vi} --- or four running + {EMACS}." Compare {hog}. + +: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 commercially + developed software, which displays the quality far more often than + it ought to. Oppose {robust}. + +:broadcast storm: n. An incorrect packet broadcast on a network that + causes most hosts to respond all at once, typically with wrong + answers that start the process over again. See {network + meltdown}. + +:brochureware: n. Planned but non-existent product like + {vaporware}, but with the added implication that marketing is + actively selling and promoting it (they've printed brochures). + Brochureware is often deployed as a strategic weapon; the idea is + to con customers into not committing to an existing product of the + competition's. It is a safe bet that when a brochureware product + finally becomes real, it will be more expensive than and inferior + to the alternatives that had been available for years. + +:broken: adj. 1. Not working properly (of programs). 2. Behaving + strangely; especially (when used of people) exhibiting extreme + depression. + +:broken arrow: [IBM] n. The error code displayed on line 25 of a + 3270 terminal (or a PC emulating a 3270) for various kinds of + protocol violations and "unexpected" error conditions (including + connection to a {down} computer). On a PC, simulated with + `->/_', with the two center characters overstruck. + + Note: to appreciate this term fully, it helps to know that `broken + arrow' is also military jargon for an accident involving nuclear + weapons.... + +:broket: /broh'k*t/ or /broh'ket`/ [by analogy with `bracket': a + `broken bracket'] n. Either of the characters `<' and `>', + when used as paired enclosing delimiters. This word + originated as a contraction of the phrase `broken bracket', that + is, a bracket that is bent in the middle. (At MIT, and apparently + in the {Real World} as well, these are usually called {angle + brackets}.) + +: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 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; too often, {management} still does. See + also {creationism}, {second-system effect}, + {optimism}. + +:BRS: /B-R-S/ n. Syn. {Big Red Switch}. This abbreviation is + fairly common on-line. + +:brute force: adj. Describes a primitive programming style, one in + which the programmer relies on the computer's processing power + instead of using his or her own intelligence to simplify the + problem, often ignoring problems of scale and applying naive + methods suited to small problems directly to large ones. The term + can also be used in reference to programming style: brute-force + programs are written in a heavyhanded, tedious way, full of + repetition and devoid of any elegance or useful abstraction (see + also {brute force and ignorance}). + + The {canonical} example of a brute-force algorithm is associated + with the `traveling salesman problem' (TSP), a classical + {NP-}hard problem: Suppose a person is in, say, Boston, and + wishes to drive to N other cities. In what order should the + cities be visited in order to minimize the distance travelled? The + brute-force method is to simply generate all possible routes and + compare the distances; while guaranteed to work and simple to + implement, this algorithm is clearly very stupid in that it + considers even obviously absurd routes (like going from Boston to + Houston via San Francisco and New York, in that order). For very + small N it works well, but it rapidly becomes absurdly + inefficient when N increases (for N = 15, there are + already 1,307,674,368,000 possible routes to consider, and for + N = 1000 --- well, see {bignum}). Sometimes, + unfortunately, there is no better general solution than brute + force. See also {NP-}. + + A more simple-minded example of brute-force programming is finding + the smallest number in a large list by first using an existing + program to sort the list in ascending order, and then picking the + first number off the front. + + Whether brute-force programming should actually be considered + stupid or not depends on the context; if the problem is not + terribly big, the extra CPU time spent on a brute-force solution + may cost less than the programmer time it would take to develop a + more `intelligent' algorithm. Additionally, a more intelligent + algorithm may imply more long-term complexity cost and bug-chasing + than are justified by the speed improvement. + + Ken Thompson, co-inventor of UNIX, is reported to have uttered the + epigram "When in doubt, use brute force". He probably intended + this as a {ha ha only serious}, but the original UNIX kernel's + preference for simple, robust, and portable algorithms over + {brittle} `smart' ones does seem to have been a significant + factor in the success of that OS. Like so many other tradeoffs in + software design, the choice between brute force and complex, + finely-tuned cleverness is often a difficult one that requires both + engineering savvy and delicate esthetic judgment. + +:brute force and ignorance: n. A popular design technique at many + software houses --- {brute force} coding unrelieved by any + knowledge of how problems have been previously solved in elegant + ways. Dogmatic adherence to design methodologies tends to + encourage this sort of thing. Characteristic of early {larval + stage} programming; unfortunately, many never outgrow it. Often + abbreviated BFI: "Gak, they used a {bubble sort}! That's + strictly from BFI." Compare {bogosity}. + +:BSD: /B-S-D/ n. [abbreviation for `Berkeley System Distribution'] a + family of {{UNIX}} versions for the DEC {VAX} and PDP-11 + developed by Bill Joy and others at {Berzerkeley} starting + around 1980, incorporating paged virtual memory, TCP/IP networking + enhancements, and many other features. The BSD versions (4.1, 4.2, + and 4.3) and the commercial versions derived from them (SunOS, + ULTRIX, and Mt. Xinu) held the technical lead in the UNIX world + until AT&T's successful standardization efforts after about 1986, + and are still widely popular. See {{UNIX}}, {USG UNIX}. + +:BUAF: // [abbreviation, from alt.fan.warlord] n. Big + Ugly ASCII Font --- a special form of {ASCII art}. Various + programs exist for rendering text strings into block, bloob, and + pseudo-script fonts in cells between four and six character cells + on a side; this is smaller than the letters generated by older + {banner} (sense 2) programs. These are sometimes used to render + one's name in a {sig block}, and are critically referred to as + `BUAF's. See {warlording}. + +:BUAG: // [abbreviation, from alt.fan.warlord] n. Big Ugly + ASCII Graphic. Pejorative term for ugly {ASCII ART}, especially + as found in {sig block}s. For some reason, mutations of the + head of Bart Simpson are particularly common in the least + imaginative {sig block}s. See {warlording}. + +: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. 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. + +:bucky bits: /buh'kee bits/ n. 1. obs. The bits produced by the + CONTROL and META shift keys on a SAIL keyboard (octal 200 and 400 + respectively), resulting in a 9-bit keyboard character set. The + MIT AI TV (Knight) keyboards extended this with TOP and separate + left and right CONTROL and META keys, resulting in a 12-bit + character set; later, LISP Machines added such keys as SUPER, + HYPER, and GREEK (see {space-cadet keyboard}). 2. By extension, + bits associated with `extra' shift keys on any keyboard, e.g., + the ALT on an IBM PC or command and option keys on a Macintosh. + + It has long been rumored that `bucky bits' were named for + Buckminster Fuller during a period when he was consulting at + Stanford. Actually, bucky bits were invented by Niklaus Wirth when + *he* was at Stanford; he first suggested the idea of an EDIT + key to set the 8th bit of an otherwise 7-bit ASCII character. This + was used in a number of editors written at Stanford or in its + environs (TV-EDIT and NLS being the best-known). Some sources + claim that `Bucky' was Niklaus Wirth's nickname st Stanford, + but Wirth himself does not recall this. + + Whatever its origins, the term spread to MIT and CMU early and is + now in general use. See {double bucky}, {quadruple + bucky}. + +:buffer overflow: n. What happens when you try to stuff more data + into a buffer (holding area) than it can handle. 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}. + +: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 persistent {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! + + Actually, use of `bug' in the general sense of a disruptive event + goes back to Shakespeare! In the first edition of Samuel Johnson's + dictionary one meaning of `bug' is "A frightful object; a + walking spectre"; this is traced to `bugbear', a Welsh term for + a variety of mythological monster which (to complete the circle) + has recently been reintroduced into the popular lexicon through + fantasy role-playing games. + + In any case, in jargon the word almost never refers to insects. + Here is a plausible conversation that never actually happened: + + "There is a bug in this ant farm!" + + "What do you mean? I don't see any ants in it." + + "That's the bug." + + [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. Thus, the + process of investigating the original-computer-bug bug fixed it in + an entirely unexpected way, by making the myth true! --- ESR] + + [1992 update: the plot thickens! A usually reliable source reports + having seen The Bug at the Smithsonian in 1978. I am unable to + reconcile the conflicting histories I have been offered, and merely + report this fact here. --- ESR.] + +:bug-compatible: adj. Said of a design or revision that has been + badly compromised by a requirement to be compatible with + {fossil}s or {misfeature}s in other programs or (esp.) + previous releases of itself. "MS-DOS 2.0 used \ as a path + separator to be bug-compatible with some cretin's choice of / as an + option character in 1.0." + +:bug-for-bug compatible: n. Same as {bug-compatible}, with the + additional implication that much tedious effort went into ensuring + that each (known) bug was replicated. + +:buglix: /buhg'liks/ n. Pejorative term referring to DEC's ULTRIX + operating system in its earlier *severely* buggy versions. + Still used to describe ULTRIX, but without nearly so much venom. + Compare {AIDX}, {HP-SUX}, {Nominal Semidestructor}, + {Telerat}, {sun-stools}. + +: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. Syn. {armor-plated}. + +: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 {elder days}, John McCarthy (inventor + of {LISP}) used to compare some efficiency-obsessed hackers + among his students to "ski bums"; thus, optimization became + "program bumming", and eventually just "bumming". 2. To + squeeze out excess; to remove something in order to improve + whatever it was removed from (without changing function; this + distinguishes the process from a {featurectomy}). 3. n. A small + change to an algorithm, program, or hardware device to make it more + efficient. "This hardware bum makes the jump instruction + faster." Usage: now uncommon, largely superseded by v. {tune} + (and n. {tweak}, {hack}), though none of these exactly + capture sense 2. All these uses are rare in Commonwealth hackish, + because in the parent dialects of English `bum' is a rude synonym + for `buttocks'. + +:bump: vt. Synonym for increment. Has the same meaning as + C's ++ operator. Used esp. of counter variables, pointers, and + index dummies in `for', `while', and `do-while' + loops. + +:burble: [from Lewis Carroll's "Jabberwocky"] v. Like {flame}, + but connotes that the source is truly clueless and ineffectual + (mere flamers can be competent). A term of deep contempt. + "There's some guy on the phone burbling about how he got a DISK + FULL error and it's all our comm software's fault." This + is mainstream slang in some parts of England. + +:buried treasure: n. A surprising piece of code found in some + program. While usually not wrong, it tends to vary from {crufty} + to {bletcherous}, and has lain undiscovered only because it was + functionally correct, however horrible it is. Used sarcastically, + because what is found is anything *but* treasure. Buried + treasure almost always needs to be dug up and removed. "I just + found that the scheduler sorts its queue using {bubble sort}! + Buried treasure!" + +:burn-in period: n. 1. A factory test designed to catch systems + with {marginal} components before they get out the door; the + theory is that burn-in will protect customers by outwaiting the + steepest part of the {bathtub curve} (see {infant + mortality}). 2. A period of indeterminate length in which a person + using a computer is so intensely involved in his project that he + forgets basic needs such as food, drink, sleep, etc. Warning: + Excessive burn-in can lead to burn-out. See {hack mode}, + {larval stage}. + +:burst page: n. Syn. {banner}, sense 1. + +: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. This + is a wasteful technique, best avoided on time-sharing systems where + a busy-waiting program may {hog} the processor. + +: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 by applying an AC rather than DC signal. Some wire + faults will pass DC tests but fail a 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." + +:BWQ: /B-W-Q/ [IBM: abbreviation, `Buzz Word Quotient'] The + percentage of buzzwords in a speech or documents. Usually roughly + proportional to {bogosity}. See {TLA}. + +:by hand: adv. 1. Said of an operation (especially a repetitive, + trivial, and/or tedious one) that ought to be performed + automatically by the computer, but which a hacker instead has to + step tediously through. "My mailer doesn't have a command to + include the text of the message I'm replying to, so I have to do it + by hand." This does not necessarily mean the speaker has to + retype a copy of the message; it might refer to, say, dropping into + a subshell from the mailer, making a copy of one's mailbox + file, reading that into an editor, locating the top and bottom of + the message in question, deleting the rest of the file, inserting + `>' characters on each line, writing the file, leaving the editor, + returning to the mailer, reading the file in, and later remembering + to delete the file. Compare {eyeball search}. 2. By extension, + writing code which does something in an explicit or low-level way + for which a presupplied library routine ought to have been + available. "This cretinous B-tree library doesn't supply a decent + iterator, so I'm having to walk the trees by hand." + +:byte:: /bi:t/ [techspeak] n. A unit of memory or data equal to + the amount used to represent one character; on modern architectures + this is usually 8 bits, but may be 9 on 36-bit machines. Some + older architectures used `byte' for quantities of 6 or 7 bits, and + the PDP-10 supported `bytes' that were actually bitfields of + 1 to 36 bits! These usages are now obsolete, and even 9-bit bytes + have become rare in the general trend toward power-of-2 word sizes. + + Historical note: The term was coined by Werner Buchholz in 1956 + during the early design phase for the IBM Stretch computer; + originally it was described as 1 to 6 bits (typical I/O equipment + of the period used 6-bit chunks of information). The move to an + 8-bit byte happened in late 1956, and this size was later adopted + and promulgated as a standard by the System/360. The word was + coined by mutating the word `bite' so it would not be + accidentally misspelled as {bit}. See also {nybble}. + +:bytesexual: /bi:t`sek'shu-*l/ adj. Said of hardware, denotes + willingness to compute or pass data in either {big-endian} or + {little-endian} format (depending, presumably, on a {mode bit} + somewhere). See also {NUXI problem}. + +:bzzzt, wrong: /bzt rong/ [USENET/Internet] From a Robin Williams + routine in the movie "Dead Poets Society" spoofing radio or + TV quiz programs, such as *Truth or Consequences*, where an + incorrect answer earns one a blast from the buzzer and condolences + from the interlocutor. A way of expressing mock-rude disagreement, + usually immediately following an included quote from another + poster. The less abbreviated "*Bzzzzt*, wrong, but thank you for + playing" is also common; capitalization and emphasis of the + buzzer sound varies. + += C = +===== + +:C: n. 1. The third letter of the English alphabet. 2. ASCII + 1000011. 3. The name of a programming language designed by + Dennis Ritchie during the early 1970s and immediately used to + reimplement {{UNIX}}; so called because many features derived + from an earlier compiler named `B' in commemoration of + *its* parent, BCPL. Before Bjarne Stroustrup settled the + question by designing C++, there was a humorous debate over whether + C's successor should be named `D' or `P'. C became immensely + popular outside Bell Labs after about 1980 and is now the dominant + language in systems and microcomputer applications programming. + See also {languages of choice}, {indent style}. + + C is often described, with a mixture of fondness and disdain + varying according to the speaker, as "a language that combines + all the elegance and power of assembly language with all the + readability and maintainability of assembly language". + +:C Programmer's Disease: n. The tendency of the undisciplined C + programmer to set arbitrary but supposedly generous static limits + on table sizes (defined, if you're lucky, by constants in header + files) rather than taking the trouble to do proper dynamic storage + allocation. If an application user later needs to put 68 elements + into a table of size 50, the afflicted programmer reasons that he + or she can easily reset the table size to 68 (or even as much as + 70, to allow for future expansion) and recompile. This gives the + programmer the comfortable feeling of having made the effort to + satisfy the user's (unreasonable) demands, and often affords the + user multiple opportunities to explore the marvelous consequences + of {fandango on core}. In severe cases of the disease, the + programmer cannot comprehend why each fix of this kind seems only + to further disgruntle the user. + +:calculator: [Cambridge] n. Syn. for {bitty box}. + +: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. + Alternatively, this may derive from mainstream slang `canned' for + being laid off or fired. + +:can't happen: The traditional program comment for code executed + under a condition that should never be true, for example a file + size computed as negative. Often, such a condition being true + indicates data corruption or a faulty algorithm; it is almost + always handled by emitting a fatal error message and terminating or + crashing, since there is little else that can be done. Some case + variant of "can't happen" is also often the text emitted if the + `impossible' error actually happens! Although "can't happen" + events are genuinely infrequent in production code, programmers + wise enough to check for them habitually are often surprised at how + frequently they are triggered during development and how many + headaches checking for them turns out to head off. See also + {firewall code} (sense 2). + +: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 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] + +:canonical: [historically, `according to religious law'] adj. The + usual or standard state or manner of something. This word has a + somewhat more technical meaning in mathematics. Two formulas such + as 9 + x and x + 9 are said to be equivalent because + they mean the same thing, but the second one is in `canonical + form' because it is written in the usual way, with the highest + power of x first. Usually there are fixed rules you can use + to decide whether something is in canonical form. The jargon + meaning, a relaxation of the technical meaning, acquired its + present loading in computer-science culture largely through its + prominence in Alonzo Church's work in computation theory and + mathematical logic (see {Knights of the Lambda Calculus}). + Compare {vanilla}. + + This word has an interesting history. Non-technical academics do + not use the adjective `canonical' in any of the senses defined + above with any regularity; they do however use the nouns `canon' + and `canonicity' (not **canonicalness or **canonicality). The + `canon' of a given author is the complete body of authentic works + by that author (this usage is familiar to Sherlock Holmes fans as + well as to literary scholars). `*The* canon' is the body of + works in a given field (e.g., works of literature, or of art, or of + music) deemed worthwhile for students to study and for scholars to + investigate. + + The word `canon' derives ultimately from the Greek + `kanon' + (akin to the English `cane') referring to a reed. Reeds were used + for measurement, and in Latin and later Greek the word `canon' + meant a rule or a standard. The establishment of a canon of + scriptures within Christianity was meant to define a standard or a + rule for the religion. The above non-techspeak academic usages + stem from this instance of a defined and accepted body of work. + Alongside this usage was the promulgation of `canons' (`rules') + for the government of the Catholic Church. The techspeak usages + ("according to religious law") derive from this use of the Latin + `canon'. + + Hackers invest this term with a playfulness that makes an ironic + contrast with its historical meaning. A true story: One Bob + Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use + of jargon. Over his loud objections, GLS and RMS made a point of + using it as much as possible in his presence, and eventually it + began to sink in. Finally, in one conversation, he used the word + `canonical' in jargon-like fashion without thinking. Steele: + "Aha! We've finally got you talking jargon too!" Stallman: + "What did he say?" Steele: "Bob just used `canonical' in the + canonical way." + + Of course, canonicality depends on context, but it is implicitly + defined as the way *hackers* normally expect things to be. + Thus, a hacker may claim with a straight face that `according to + religious law' is *not* the canonical meaning of `canonical'. + +:card walloper: n. An EDP programmer who grinds out batch programs + that do stupid things like print people's paychecks. Compare + {code grinder}. See also {{punched card}}, {eighty-column + mind}. + +:careware: /keir'weir/ n. {Shareware} for which either the + author suggests that some payment be made to a nominated charity + or a levy directed to charity is included on top of the + distribution charge. Syn. {charityware}; compare + {crippleware}, sense 2. + +:cargo cult programming: n. A style of (incompetent) programming + dominated by ritual inclusion of code or program structures that + serve no real purpose. A cargo cult programmer will usually + explain the extra code as a way of working around some bug + encountered in the past, but usually neither the bug nor the reason + the code apparently avoided the bug was ever fully understood + (compare {shotgun debugging}, {voodoo programming}). + + The term `cargo cult' is a reference to aboriginal religions that + grew up in the South Pacific after World War II. The practices of + these cults center on building elaborate mockups of airplanes and + military style landing strips in the hope of bringing the return of + the god-like airplanes that brought such marvelous cargo during the + war. Hackish usage probably derives from Richard Feynman's + characterization of certain practices as "cargo cult science" in + his book `Surely You're Joking, Mr. Feynman' (W. W. Norton + & Co, New York 1985, ISBN 0-393-01921-7). + +:cascade: n. 1. A huge volume of spurious error-message output + produced by a compiler with poor error recovery. Too frequently, + one trivial syntax error (such as a missing `)' or `}') throws the + parser out of synch so that much of the remaining program text is + interpreted as garbaged or ill-formed. 2. A chain of USENET + followups, each adding some trivial variation or riposte to the text + of the previous one, all of which is reproduced in the new message; + an {include war} in which the object is to create a sort of + communal graffito. + +:case and paste: [from `cut and paste'] n. 1. The addition of a new + {feature} to an existing system by selecting the code from an + existing feature and pasting it in with minor changes. Common in + telephony circles because most operations in a telephone switch are + selected using `case' statements. Leads to {software bloat}. + + In some circles of EMACS users this is called `programming by + Meta-W', because Meta-W is the EMACS command for copying a block of + text to a kill buffer in preparation to pasting it in elsewhere. + The term is condescending, implying that the programmer is acting + mindlessly rather than thinking carefully about what is required to + integrate the code for two similar cases. + +:casters-up mode: [IBM] n. Yet another synonym for `broken' or + `down'. Usually connotes a major failure. A system (hardware or + software) which is `down' may be already being restarted before + the failure is noticed, whereas one which is `casters up' is + usually a good excuse to take the rest of the day off (as long as + you're not responsible for fixing it). + +:casting the runes: n. What a {guru} does when you ask him or + her to run a particular program and type at it because it never + works for anyone else; esp. used when nobody can ever see what + the guru is doing different from what J. Random Luser does. + Compare {incantation}, {runes}, {examining the entrails}; + also see the AI koan about Tom Knight in "{A Selection + of AI Koans}" ({Appendix A}). + +:cat: [from `catenate' via {{UNIX}} `cat(1)'] vt. + 1. [techspeak] To spew an entire file to the screen or some other + output sink without pause. 2. By extension, to dump large amounts + of data at an unprepared target or with no intention of browsing it + carefully. Usage: considered silly. Rare outside UNIX sites. See + also {dd}, {BLT}. + + Among UNIX fans, `cat(1)' is considered an excellent example + of user-interface design, because it delivers the file contents + without such verbosity as spacing or headers between the files, and + because it does not require the files to consist of lines of text, + but works with any sort of data. + + Among UNIX haters, `cat(1)' is considered the {canonical} + example of *bad* user-interface design, because of its + woefully unobvious name. It is far more often used to {blast} a + file to standard output than to concatenate two files. The name + `cat' for the former operation is just as unintuitive as, say, + LISP's {cdr}. + + Of such oppositions are {holy wars} made.... + +:catatonic: adj. Describes a condition of suspended animation in + which something is so {wedged} or {hung} that it makes no + response. If you are typing on a terminal and suddenly the + computer doesn't even echo the letters back to the screen as you + type, let alone do what you're asking it to do, then the computer + is suffering from catatonia (possibly because it has crashed). + "There I was in the middle of a winning game of {nethack} and it + went catatonic on me! Aaargh!" Compare {buzz}. + +:cd tilde: /C-D til-d*/ vi. To go home. From the UNIX C-shell + and Korn-shell command `cd ~', which takes one to + one's `$HOME' (`cd' with no arguments happens to do the + same thing). By extension, may be used with other arguments; thus, + over an electronic chat link, `cd ~coffee' would + mean "I'm going to the coffee machine." + +:cdr: /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the + first item from a list of things (generalized from the LISP + operation on binary tree structures, which returns a list + consisting of all but the first element of its argument). In the + form `cdr down', to trace down a list of elements: "Shall we + cdr down the agenda?" Usage: silly. See also {loop through}. + + Historical note: The instruction format of the IBM 7090 that hosted + the original LISP implementation featured two 15-bit fields called + the `address' and `decrement' parts. The term `cdr' was originally + `Contents of Decrement part of Register'. Similarly, `car' stood + for `Contents of Address part of Register'. + + The cdr and car operations have since become bases for + formation of compound metaphors in non-LISP contexts. GLS recalls, + for example, a programming project in which strings were + represented as linked lists; the get-character and skip-character + operations were of course called CHAR and CHDR. + +:chad: /chad/ n. 1. The perforated edge strips on printer paper, after + they have been separated from the printed portion. Also called + {selvage} and {perf}. 2. obs. The confetti-like paper bits punched + out of cards or paper tape; this was also called `chaff', `computer + confetti', and `keypunch droppings'. + + Historical note: One correspondent believes `chad' (sense 2) + derives from the Chadless keypunch (named for its inventor), which + cut little u-shaped tabs in the card to make a hole when the tab + folded back, rather than punching out a circle/rectangle; it was + clear that if the Chadless keypunch didn't make them, then the + stuff that other keypunches made had to be `chad'. + +:chad box: n. boxes inside them, A metal box about the size of a + lunchbox (or in some models a large wastebasket), for collecting + the {chad} (sense 2) that accumulated in {Iron Age} card + punches. You had to open the covers of the card punch periodically + and empty the chad box. The {bit bucket} was notionally the + equivalent device in the CPU enclosure, which was typically across + the room in another great gray-and-blue box. + +:chain: 1. [orig. from BASIC's `CHAIN' statement] vi. To hand + off execution to a child or successor without going through the + {OS} command interpreter that invoked it. The state of the + parent program is lost and there is no returning to it. Though + this facility used to be common on memory-limited micros and is + still widely supported for backward compatibility, the jargon usage + is semi-obsolescent; in particular, most UNIX programmers will + think of this as an {exec}. Oppose the more modern + `subshell'. 2. A series of linked data areas within an + operating system or application. `Chain rattling' is the process + of repeatedly running through the linked data areas searching for + one which is of interest to the executing program. The implication + is that there is a very large number of links on the chain. + +:channel: [IRC] n. The basic unit of discussion on {IRC}. Once + one joins a channel, everything one types is read by others on that + channel. Channels can either be named with numbers or with strings + that begin with a `#' sign and can have topic descriptions (which + are generally irrelevant to the actual subject of discussion). + Some notable channels are `#initgame', `#hottub', and + `#report'. At times of international crisis, `#report' + has hundreds of members, some of whom take turns listening to + various news services and typing in summaries of the news, or in + some cases, giving first-hand accounts of the action (e.g., Scud + missile attacks in Tel Aviv during the Gulf War in 1991). + +:channel hopping: [IRC, GEnie] n. To rapidly switch channels on + {IRC}, or a GEnie chat board, just as a social butterfly might hop + from one group to another at a party. This term may derive from the TV + watcher's idiom, `channel surfing'. + +:channel op: /chan'l op/ [IRC] n. Someone who is endowed with + privileges on a particular {IRC} channel; commonly abbreviated + `chanop' or `CHOP'. These privileges include the right to + {kick} users, to change various status bits, and to make others + into CHOPs. + +:chanop: /chan'-op/ [IRC] n. See {channel op}. + +:char: /keir/ or /char/; rarely, /kar/ n. Shorthand for + `character'. Esp. used by C programmers, as `char' is + C's typename for character data. + +:charityware: /cha'rit-ee-weir`/ n. Syn. {careware}. + +:chase pointers: 1. vi. To go through multiple levels of + indirection, as in traversing a linked list or graph structure. + Used esp. by programmers in C, where explicit pointers are a very + common data type. This is techspeak, but it remains jargon when + used of human networks. "I'm chasing pointers. Bob said you + could tell me who to talk to about...." See {dangling + pointer} and {snap}. 2. [Cambridge] `pointer chase' or + `pointer hunt': The process of going through a {core dump} + (sense 1), interactively or on a large piece of paper printed with + hex {runes}, following dynamic data-structures. Used only in a + debugging context. + +:check: n. A hardware-detected error condition, most commonly used + to refer to actual hardware failures rather than software-induced + traps. E.g., a `parity check' is the result of a + hardware-detected parity error. Recorded here because the word + often humorously extended to non-technical problems. For example, + the term `child check' has been used to refer to the problems + caused by a small child who is curious to know what happens when + s/he presses all the cute buttons on a computer's console (of + course, this particular problem could have been prevented with + {molly-guard}s). + +:chemist: [Cambridge] n. Someone who wastes computer time on + {number-crunching} when you'd far rather the machine were doing + something more productive, such as working out anagrams of your + name or printing Snoopy calendars or running {life} patterns. + May or may not refer to someone who actually studies chemistry. + +:Chernobyl chicken: n. See {laser chicken}. + +:Chernobyl packet: /cher-noh'b*l pak'*t/ n. A network packet that + induces a {broadcast storm} and/or {network meltdown}, + in memory of the April 1986 nuclear accident at Chernobyl + in Ukraine. The typical scenario involves an IP Ethernet datagram + that passes through a gateway with both source and destination + Ether and IP address set as the respective broadcast addresses for + the subnetworks being gated between. Compare {Christmas tree + packet}. + +:chicken head: [Commodore] n. The Commodore Business Machines logo, + which strongly resembles a poultry part. Rendered in ASCII as + `C='. With the arguable exception of the Amiga (see {amoeba}), + Commodore's machines are notoriously crocky little {bitty box}es + (see also {PETSCII}). 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. + +:chiclet keyboard: n. A keyboard with a small, flat rectangular or + lozenge-shaped rubber or plastic keys that look like pieces of + chewing gum. (Chiclets is the brand name of a variety of chewing + gum that does in fact resemble the keys of chiclet keyboards.) + Used esp. to describe the original IBM PCjr keyboard. Vendors + unanimously liked these because they were cheap, and a lot of early + portable and laptop products got launched using them. Customers + rejected the idea with almost equal unanimity, and chiclets are not + often seen on anything larger than a digital watch any more. + +:chine nual: /sheen'yu-*l/ [MIT] n.,obs. The LISP Machine Manual, so + called because the title was wrapped around the cover so only those + letters showed on the front. + +:Chinese Army technique: n. Syn. {Mongolian Hordes technique}. + +:choke: v. 1. To reject input, often ungracefully. "NULs make System + V's `lpr(1)' choke." "I tried building an {EMACS} binary to + use {X}, but `cpp(1)' choked on all those `#define's." + See {barf}, {gag}, {vi}. 2. [MIT] More generally, to fail at any + endeavor, but with some flair or bravado; the popular definition is + "to snatch defeat from the jaws of victory." + +:chomp: vi. To {lose}; specifically, to chew on something of + which more was bitten off than one can. Probably related to + gnashing of teeth. See {bagbiter}. + + A hand gesture commonly accompanies this. 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. + +:chomper: n. Someone or something that is chomping; a loser. See + {loser}, {bagbiter}, {chomp}. + +:CHOP: /chop/ [IRC] n. See {channel op}. + +:Christmas tree: n. A kind of RS-232 line tester or breakout box + featuring rows of blinking red and green LEDs suggestive of + Christmas lights. + +:Christmas tree packet: n. A packet with every single option set for + whatever protocol is in use. See {kamikaze packet}, {Chernobyl + packet}. (The term doubtless derives from a fanciful image of each + little option bit being represented by a different-colored light + bulb, all turned on.) + +:chrome: [from automotive slang via wargaming] n. Showy features + added to attract users but contributing little or nothing to + the power of a system. "The 3D icons in Motif are just chrome, + but they certainly are *pretty* chrome!" Distinguished from + {bells and whistles} by the fact that the latter are usually + added to gratify developers' own desires for featurefulness. + Often used as a term of contempt. + +:chug: vi. To run slowly; to {grind} or {grovel}. "The disk is + chugging like crazy." + +:Church of the SubGenius: n. A mutant offshoot of + {Discordianism} launched in 1981 as a spoof of fundamentalist + Christianity by the `Reverend' Ivan Stang, a brilliant satirist + with a gift for promotion. Popular among hackers as a rich source + of bizarre imagery and references such as "Bob" the divine + drilling-equipment salesman, the Benevolent Space Xists, and the + Stark Fist of Removal. Much SubGenius theory is concerned with the + acquisition of the mystical substance or quality of {slack}. + +:Cinderella Book: [CMU] n. `Introduction to Automata Theory, + Languages, and Computation', by John Hopcroft and Jeffrey Ullman, + (Addison-Wesley, 1979). So called because the cover depicts a girl + (putatively Cinderella) sitting in front of a Rube Goldberg device + and holding a rope coming out of it. On the back cover, the device + is in shambles after she has (inevitably) pulled on the rope. See + also {{book titles}}. + +:CI$: // n. Hackerism for `CIS', CompuServe Information Service. + The dollar sign refers to CompuServe's rather steep line charges. + Often used in {sig block}s just before a CompuServe address. + Syn. {Compu$erve}. + +:Classic C: /klas'ik C/ [a play on `Coke Classic'] n. The + C programming language as defined in the first edition of {K&R}, + with some small additions. It is also known as `K&R C'. The name + came into use while C was being standardized by the ANSI X3J11 + committee. Also `C Classic'. + + An analogous construction is sometimes applied elsewhere: thus, + `X Classic', where X = Star Trek (referring to the original TV + series) or X = PC (referring to IBM's ISA-bus machines as opposed + to the PS/2 series). This construction is especially used of + product series in which the newer versions are considered serious + losers relative to the older ones. + +:clean: 1. adj. Used of hardware or software designs, implies + `elegance in the small', that is, a design or implementation that + may not hold any surprises but does things in a way that is + reasonably intuitive and relatively easy to comprehend from the + outside. The antonym is `grungy' or {crufty}. 2. v. To remove + unneeded or undesired files in a effort to reduce clutter: "I'm + cleaning up my account." "I cleaned up the garbage and now have + 100 Meg free on that partition." + +:CLM: /C-L-M/ [Sun: `Career Limiting Move'] 1. n. An action + endangering one's future prospects of getting plum projects and + raises, and possibly one's job: "His Halloween costume was a + parody of his manager. He won the prize for `best CLM'." + 2. adj. Denotes extreme severity of a bug, discovered by a + customer and obviously missed earlier because of poor testing: + "That's a CLM bug!" + +:clobber: vt. To overwrite, usually unintentionally: "I walked off + the end of the array and clobbered the stack." Compare {mung}, + {scribble}, {trash}, and {smash the stack}. + +:clocks: n. Processor logic cycles, so called because each + generally corresponds to one clock pulse in the processor's timing. + The relative execution times of instructions on a machine are + usually discussed in clocks rather than absolute fractions of a + second; one good reason for this is that clock speeds for various + models of the machine may increase as technology improves, and it + is usually the relative times one is interested in when discussing + the instruction set. Compare {cycle}. + +: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. `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. + 5. 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. 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". + +:clover key: [Mac users] n. See {feature key}. + +:clustergeeking: /kluh'st*r-gee`king/ [CMU] n. Spending more time + at a computer cluster doing CS homework than most people spend + breathing. + +:COBOL: /koh'bol/ [COmmon Business-Oriented Language] n. + (Synonymous with {evil}.) A weak, verbose, and flabby language + used by {card walloper}s to do boring mindless things on + {dinosaur} mainframes. Hackers believe that all COBOL + programmers are {suit}s or {code grinder}s, and no + self-respecting hacker will ever admit to having learned the + language. Its very name is seldom uttered without ritual + expressions of disgust or horror. See also {fear and loathing}, + {software rot}. + +:COBOL fingers: /koh'bol fing'grz/ n. Reported from Sweden, a + (hypothetical) disease one might get from coding in COBOL. The + language requires code verbose beyond all reason (see + {candygrammar}); thus it is alleged that programming too much in + COBOL causes one's fingers to wear down to stubs by the endless + typing. "I refuse to type in all that source code again; it would + give me COBOL fingers!" + +:code grinder: n. 1. A {suit}-wearing minion of the sort hired in + legion strength by banks and insurance companies to implement + payroll packages in RPG and other such unspeakable horrors. In its + native habitat, the code grinder often removes the suit jacket to + reveal an underplumage consisting of button-down shirt (starch + optional) and a tie. In times of dire stress, the sleeves (if + long) may be rolled up and the tie loosened about half an inch. It + seldom helps. The {code grinder}'s milieu is about as far from + hackerdom as one can get and still touch a computer; the term + connotes pity. See {Real World}, {suit}. 2. Used of or to a + hacker, a really serious slur on the person's creative ability; + connotes a design style characterized by primitive technique, + rule-boundedness, {brute force}, and utter lack of imagination. + Compare {card walloper}; contrast {hacker}, {real + programmer}. + +:code police: [by analogy with George Orwell's `thought police'] n. + A mythical team of Gestapo-like storm troopers that might burst + into one's office and arrest one for violating programming style + rules. May be used either seriously, to underline a claim that a + particular style violation is dangerous, or ironically, to suggest + that the practice under discussion is condemned mainly by + anal-retentive {weenie}s. "Dike out that goto or the code + police will get you!" The ironic usage is perhaps more common. + +:codewalker: n. A program component that traverses other programs for + a living. Compilers have codewalkers in their front ends; so do + cross-reference generators and some database front ends. Other + utility programs that try to do too much with source code may turn + into codewalkers. As in "This new `vgrind' feature would require a + codewalker to implement." + +:coefficient of X: n. Hackish speech makes heavy use of + pseudo-math-ema-tic-al metaphors. Four particularly important + ones involve the terms `coefficient', `factor', `index', and + `quotient'. They are often loosely applied to things you cannot + really be quantitative about, but there are subtle distinctions + among them that convey information about the way the speaker + mentally models whatever he or she is describing. + + `Foo factor' and `foo quotient' tend to describe something for + which the issue is one of presence or absence. The canonical + example is {fudge factor}. It's not important how much you're + fudging; the term simply acknowledges that some fudging is needed. + You might talk of liking a movie for its silliness factor. + Quotient tends to imply that the property is a ratio of two + opposing factors: "I would have won except for my luck quotient." + This could also be "I would have won except for the luck factor", + but using *quotient* emphasizes that it was bad luck + overpowering good luck (or someone else's good luck overpowering + your own). + + `Foo index' and `coefficient of foo' both tend to imply + that foo is, if not strictly measurable, at least something that + can be larger or smaller. Thus, you might refer to a paper or + person as having a `high bogosity index', whereas you would be less + likely to speak of a `high bogosity factor'. `Foo index' suggests + that foo is a condensation of many quantities, as in the mundane + cost-of-living index; `coefficient of foo' suggests that foo is a + fundamental quantity, as in a coefficient of friction. The choice + between these terms is often one of personal preference; e.g., some + people might feel that bogosity is a fundamental attribute and thus + say `coefficient of bogosity', whereas others might feel it is a + combination of factors and thus say `bogosity index'. + +:cokebottle: /kohk'bot-l/ n. Any very unusual character, + particularly one you can't type because it it isn't on your + keyboard. MIT people used to complain about the + `control-meta-cokebottle' commands at SAIL, and SAIL people + complained right back about the `{altmode}-altmode-cokebottle' + commands at MIT. After the demise of the {space-cadet + keyboard}, `cokebottle' faded away as serious usage, but was + often invoked humorously to describe an (unspecified) weird or + non-intuitive keystroke command. It may be due for a second + inning, however. The OSF/Motif window manager, `mwm(1)', has + a reserved keystroke for switching to the default set of + keybindings and behavior. This keystroke is (believe it or not) + `control-meta-bang' (see {bang}). Since the exclamation point + looks a lot like an upside down Coke bottle, Motif hackers have + begun referring to this keystroke as `cokebottle'. See also + {quadruple bucky}. + +:cold boot: n. See {boot}. + +:COME FROM: n. A semi-mythical language construct dual to the `go + to'; `COME FROM'