========= THIS IS THE JARGON FILE, VERSION 2.2.1 15 DEC 1990 ================= Introduction ************ This `jargon file' is a collection of slang terms used by various subcultures of computer hackers. The original `jargon file' was a collection of hacker slang from technical cultures including 1) the MIT AI Lab, 2) the Stanford AI lab, 3) the old ARPANET AI/LISP/PDP-10 communities, 3) Carnegie-Mellon University, 4) Worcester Polytechnic Institute. Some entries dated back to the early 1970s. This file contains essentially the entire text of a late version of that file intermingled with the newer entries. A version of the original jargon-file (expanded with commentary for the mass market) was edited by by Guy L. Steele into a book published in 1983 as _The_Hacker's_Dictionary_ (Harper & Row CN 1082, ISBN 0-06-091082-8). It is now out of print, but this version contains about 80% of its text (omitting the introductions, the author bios, and a very few obsolescent entries). This new version casts a wider net than the old jargon file; its aim is to cover not just AI but all the technical computing cultures wherein the true hacker-nature is manifested. More than half of the entries now derive from USENET and the C and UNIX communities. The present maintainer of the jargon file is Eric S. Raymond (eric@snark.thyrsus.com) with assistance from Guy L. Steele (gls@think.com). Send all additions, corrections and correspondence relating to the jargon file to jargon@snark.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) It is intended that some `snapshot' of this on-line version will become the main text of a second paper edition, possibly as early as Fall 1991. 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. Revision History ================ The original jargon file was compiled by Guy L. Steele Jr., Raphael Finkel, Don 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. The `old' jargon file was last revised in 1983; its revisions are all un-numbered and may be collectively considered `Version 1'. Version 2.1.1, Jun 12 1990: the jargon file reorganization and massive additions were by Eric S. Raymond, approved by Guy Steele. Many items of UNIX, C, USENET and microcomputer-based slang were added at that time (as well as The Untimely Demise of Mabel The Monkey). Some obsolescent usages (mostly PDP-10 derived) were moved to appendix B. Version 2.1.5, Nov 28 1990: Changes and additions by ESR in response to numerous USENET submissions and comment from the First Edition coauthors. The bibliography (Appendix C) was also appended. Version 2.2.1: most of the contents of the 1983 paper edition edited by Guy Steele was merged in. Many more USENET submissions added, including the `INTERNATIONAL STYLE' and `COMMONWEALTH HACKISH' material. Version numbering: Read versions as ... Major version 1 is reserved for the `old' (ITS) Jargon File, jargon-1. Major version 2 encompasses revisions by ESR with assistance from GLS. Someday, the next maintainer will take over and spawn `version 3'. In general, later versions will either completely obsolesce or incorporate earlier versions, so there is generally no point in keeping old versions around. Our thanks to all the USENETters who contributed entries and encouragement. Special thanks to our Scandinavian correspondent Per Lindberg (per@front.se), author of the remarkable Swedish language 'zine _Hackerbladet_, for bring FOO! comics to our attention and smuggling the IBM hacker underground's own baby jargon file out to us. Also, much gratitude to ace hacker/linguist Joe Keane (jkg@osc.osc.com) for helping us improve the pronunciation guides; and to Maarten Litmath for generously allowing the inclusion of the ASCII prononunciation guide he formerly maintained. Format For New Entries ====================== Try to conform to the format already being used -- pronunciations in slashes, etymologies in brackets, single-space after definition numbers and word classes, etc. Stick to the standard ASCII character set (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 slang! 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 slang 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. A few new definitions attached to entries are marked [proposed]. These are coinages generated by editors or USENET correspondents in the process of responding to previous definitions of those entries. These are *not* represented as established jargon. 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! Jargon Construction =================== There are some standard methods of jargonification which became established quite early (i.e before 1970), spreading from such sources as the MIT Model Railroad Club, the PDP-1 SPACEWAR hackers and John McCarthy's original crew of LISPers. These include: 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!" Some verb-doubled constructions have special meanings not immediately obvious from the verb. These have their own listings in the lexicon. Soundalike slang: Phonetic distortions of a phrase intended to produce the effect of a pun or wordplay. Not really similar to the Cockney rhyming slang it has been compared to in the past, because Cockney substitutions are opaque whereas hacker rhyming slang is intentionally transparent. Often made up on the spur of the moment. Standard examples: Boston Globe => Boston Glob Herald American => Horrid (or Harried) American New York Times => New York Slime Prime Time => Slime Time Data General => Dirty Genitals Government Property - Do Not Duplicate (seen on keys) => Government Duplicity - Do Not Propagate for historical reasons => for hysterical raisins 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 Margaret Jacks Hall => Marginal Hacks Hall 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!" 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 (i.e., due to Bill Gosper). When we were at a Chinese restaurant, he 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] Peculiar grammar: 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. For example, because porous => porosity generous => generosity hackers happily generalize: mysterious => mysteriosity ferrous => ferrocity 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. Similarly, all verbs can be nouned. Thus: win -> winnitude, winnage disgust -> disgustitude hack -> hackification Finally, note the prevalence of certain kinds of nonstandard plural forms. 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; ex. `soxen' for a bunch of socks. Other funny plurals are `frobbotzim' for the plural of FROBBOTZ (see main text) and `Unices' and `Tenices' (rather than `Unixes' and `Tenexes'; see UNIX, TENEX in main text). But note that `Unixen' and `Tenexen' are *never* used; there seems to be a rule that operating system names take the default English or Latin plural rather than the Anglo-Saxon or Hebrew. The pattern here, as with other hackish grammatical quirks, is generalization of an inflectional rule which (in English) is either an import or a fossil (such as Hebrew plural in `-im', or the Anglo-Saxen plural in `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. 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. Another expression sometimes heard is "complain!", meaning "I have a complaint!" Of the five listed constructions, verb doubling, peculiar noun formations, and (especially!) spoken inarticulations have become quite general; but rhyming slang 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, never actually attained. Hacker Speech Style =================== 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 is essential. One should use just enough jargon to communicate precisely and identify oneself as "in the culture"; overuse of jargon or a breathless, excessively gung-ho attitude are 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. Unlike the jargon construction methods it is fairly constant throughout hackerdom. It has been observed that many hackers are confused by negative questions -- or, at least, the people they're talking to are confused by the sense of their answers. The problem is that they've done so much coding that distinguishes between if (going) { and if (!going) { that when they parse the question "Are you not going?" it seems to be asking the opposite question from "Are you going?", and so merits the opposite answer. This confuses non-hackers because they were taught to answer as though the negative part weren't there. Hackers often find themselves wishing for a word like french "si" with which one could unambiguously answer `yes' to a negative question. For similar reasons, English-speaking hackers almost never use a double negative even if they live in a region where colloquial usage allows it. The thought of uttering something that logically ought to be an affirmative knowing it will be mis-parsed as a negative tends to disturb them. Hacker Writing Style ==================== Hackers tend to use quotes as balanced delimiters like parens, much to the dismay of editors. Thus, if "Jim is going" is a phrase, and so is "Bill runs" and "Spock groks", then hackers generally prefer to write: "Jim is going", "Bill runs", and"Spock groks". This is incorrect according to prevalent usage (which would put the continuation commas and the final period inside the string quotes) but it is counter-intuitive to hackers to mutilate literal strings with characters that don't belong there. The Jargon File follows hackish usage fairly consistently throughout. 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 a synesthetic reflex that a person who goes to caps-lock while in TALK MODE (see main text) may be asked to "stop shouting, please, you're hurting my ears!". Also, it is common to use bracketing with asterisks to signify emphasis, as in "What the *hell*?". Underlining is often suggested by substituting underscores for spaces and prepending and appending one underscore to the underlined phrase. Example: "It is often alleged that Haldeman wrote _The_Forever_War_ in response to Robert Heinlein's earlier _Starship_Troopers_". Another habit is that of using enclosure to "genericize" a term; this derives from conventions used in BNF (q.v.). Uses like the following are common: So this walks into a bar one day, and... Another special form of enclosure uses the square brackets [, ]. This is often interpreted as "comment by an editor" in contexts where that's reasonable, and there's a semi-standard way to identify the editor where there might be more than one. For example: [This is an editorial comment -- ESR] is a comment by an editor with initials ESR. You'll see examples of this in the lexicon at places where present or past editors have added their own glosses on various entries. It is also common in moderated groups on USENET (q.v.). One quirk that shows up frequently in the email style of UNIX hackers in particular is a tendency for some things which 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 and cannot be overridden without mental effort (an appopriate reflex because UNIX and C both distinguish cases and confusing them can lead to lossage). The *rest* of us simply avoid using these constructions at the beginning of sentences. Finally, it should be noted that hackers exhibit much less reluctance to use multiply-nested parentheses than is normal in English (this is almost certainly due to influence from LISP (which uses deeply nested parentheses in its syntax)). 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 English slang (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 traveling hackers. There are some references 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.) There is also an entry on COMMONWEALTH HACKISH, which see. Hackers in Western Europe and (especially) Scandinavia are reported to often use a mixture of English and their native languages for technical conversation. Occasionally they develop idioms in their English usage which are influenced by their native-language styles. Some of these are reported here. A note or two on hackish usages in Russian have been added where they are parallel with and comprehensible to English-speakers. UNIX Conventions ================ 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 and n=6 is games. Sections 4, 5, 7 and 8 have changed roles frequently and in any case are not referred to from any of the entries. Pronunciation Guide =================== Pronunciation keys are provided in the jargon listing for all entries which are neither dictionary words pronounced as in standard English nor obvious compounds of same. Slashes bracket a phonetic pronunciation to be interpreted using the following conventions: 1. Syllables are hyphen-separated, except that an apostrophe or back-apostrophe follows each accented syllable (the back apostrophe 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 (but it is sometimes doubled at the end of syllables to emphasize this). The digraph `dh' is the th of `these clothes', not of `thick'. The digraph `kh' is the guttural of `loch' or `l'chaim'. 3. Vowels are represented as follows: a back, that ah father, palm ar far, mark aw flaw, caught ay bake, rain e less, men ee easy, ski eir their, software i trip, hit ie life, sky o cot, top oh flow, sew oo loot, through or more, door ow out, how oy boy, coin uh but, some u put, foot y yet yoo few [y]oo oo with optional fronting as in `news' (noos or nyoos) An at-sign 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 /kul'r/, not /kit'@n/ and /kul'@r/. The Jargon (Low Moby, Current Terminology) ****************************************** {= =} @-SIGN PARTY n. Semi-closed parties thrown at SF conventions (esp. the annual Worldcon) for hackers; one must have a NETWORK ADDRESS to get in, or at least be in company with someone who is. One of the most reliable opportunities for hackers to meet face to face with people who might otherwise be represented by mere phosphor dots on their screens. Compare BOINK. @BEGIN [primarily CMU] with @End, used humorously in writing to indicate a context or to remark on the surrounded text. From the SCRIBE command of the same name. For example: @Begin(Flame) Predicate logic is the only good programming language. Anyone who would use anything else is an idiot. Also, computers should be tredecimal instead of binary. @End(Flame) On USENET, this construct would more frequently be rendered as and . /DEV/NULL [from the UNIX null device, used as a data sink; note, if you are viewing an ASCII-only version of this file, that the actual case is all-lower: "/dev/null"] n. A notional `black hole' in any information space being discussed, used or referred to. A controversial posting, for example, might end "Kudos to rasputin@kremlin.org, flames to /dev/null". See BIT BUCKET, NULL DEVICE. 2 INFIX n. In translation software written by hackers, infix 2 often represents the syllable "to" with the comnnotation "translate to"; as in dvi2ps (DVI to PostScript), int2string (integer to string) and texi2roff (Texinfo to [nt]roff). {= A =} ACK /ak/ interj. 1. [from the ASCII mnemonic for 00110] Acknowledge. Used to register one's presence (compare mainstream "Yo!"). An appropriate response to PING or ENQ (q.v.). 2. [prob. from _Bloom_County_] An exclamation of surprised disgust, esp. in "Oop ack!". Semi-humorous. Also in the form ACK? 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 (010101), i.e. "I'm not here"). ADGER /adj'r/ [UCLA] v. To make a bonehead move that could have been foreseen with a slight amount of mental effort. E.g., "He started removing files and promptly adgered the whole project." Compare DUMBASS ATTACK. 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. 2. Special-case code to cope with some awkward input which would otherwise cause a program to CHOKE, presuming normal inputs are dealt with in some cleaner and more regular way. 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 only permitted 6-letter filenames. 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 X some noun). "You are in a maze of twisty little passages, all alike". 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. AI KOANS pl.n. A series of pastiches of Zen teaching riddles created at the MIT AI Lab around various major figures of the Lab's culture. A selection are included in Appendix A. See also HA HA ONLY SERIOUS and HUMOR, HACKER. ALIASING BUG [C programmers] n. A class of subtle programming errors which can arise in code that does dynamic allocation via malloc(3). If more than one pointer addresses (`aliases for') a given hunk of storage, it may happen that the storage is freed through one alias and then referenced through another, leading 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. Also called a STALE POINTER BUG. See also PRECEDENCE LOSSAGE, SMASH THE STACK, FANDANGO ON CORE, MEMORY LEAK, OVERRUN SCREW. ALT BIT /ahlt bit/ [from alternate?] adj. See META BIT. AMP OFF [Purdue] v. To run in BACKGROUND. From the UNIX shell '&' operator. ANGLE BRACKETS [primarily MIT] n. Either of the characters "<" and ">" (ASCII less-than or greater-than signs). The `real world' angle bracket used by typographers is actually taller than these. See BROKET, ASCII. APP /ap/ n. Short for `application program', as opposed to a systems program. What systems vendors are forever chasing developers to do 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 apps. 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 semi-mythical "malloc: corrupt arena" message supposedly emitted when some early versions became terminally confused. See OVERRUN SCREW, ALIASING BUG, MEMORY LEAK, 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 one arg, but the arc-tangent function can take either one or two args". Compare PARAM, VAR. ASBESTOS LONGJOHNS, UNDERPANTS, or OVERCOAT n. Metaphoric garments often donned by USENET posters just before emitting a remark they expect will elicit FLAMAGE. ASCII /as'kee/ Common slang names for ASCII characters are collected here. See individual entries for BANG, CLOSE, EXCL, OPEN, QUES, SEMI, SHRIEK, SPLAT, TWIDDLE, WHAT, WOW, and YU-SHIANG WHOLE FISH. This list derives from revision 2.2 of the USENET ASCII pronunciation guide. Single characters are listed in ASCII order, character pairs are sorted in by first member. For each character, "official" names appear first, then others in order of popularity (more or less). ! exclamation point, exclamation, bang, factorial, excl, ball-bat, pling, smash, shriek, cuss, wow, hey, " double quote, quote, dirk, literal mark, rabbit ears # pound sign, number sign, sharp, crunch, mesh, hex, hash, flash, grid, pig-pen, tictactoe, scratchmark, octothorpe (from Bell System) $ dollar sign, currency symbol, buck, cash, string (from BASIC), escape (from TOPS-10), ding, big-money % percent sign, percent, mod, double-oh-seven & ampersand, amper, and, address (from C), andpersand ' apostrophe, single quote, quote, prime, tick, irk, pop, spark () open/close parenthesis, left/right parenthesis, paren/thesis, lparen/rparen, parenthisey, unparenthisey, open/close round bracket, ears, so/already, wax/wane * asterisk, star, splat, wildcard, gear, dingle, mult + plus sign, plus, add, cross, intersection , comma, tail - hyphen, dash, minus sign, worm . period, dot, decimal point, radix point, point, full stop, spot / virgule, slash, stroke, slant, diagonal, solidus, over, slat : colon ; semicolon, semi <> angle brackets, brokets, left/right angle, less/greater than, read from/write to, from/into, from/toward, in/out, comesfrom/ gozinta (all from UNIX), funnel, crunch/zap, suck/blow = equal sign, equals, quadrathorp, gets, half-mesh ? question mark, query, whatmark, what, wildchar, ques, huh, hook @ at sign, at, each, vortex, whorl, whirlpool, cyclone, snail, ape, cat V vee, book [] square brackets, left/right bracket, bracket/unbracket, bra/ket, square/unsquare, U turns \ reversed virgule, backslash, bash, backslant, backwhack, backslat, escape (from UNIX), slosh. ^ circumflex, caret, uparrow, hat, chevron, sharkfin, to ("to the power of"), fang _ underscore, underline, underbar, under, score, backarrow ` grave accent, grave, backquote, left quote, open quote, backprime, unapostrophe, backspark, birk, blugle, back tick, push {} open/close brace, left/right brace, brace/unbrace, curly bracket, curly/uncurly, leftit/rytit, embrace/bracelet | vertical bar, bar, or, or-bar, v-bar, pipe, gozinta, thru, pipesinta (last four from UNIX) ~ tilde, squiggle, approx, wiggle, twiddle, swung dash, enyay ASYMPTOTIC adj. Infinitely close to. This is used in a generalization of its mathematical meaning to allege that something is WITHIN EPSILON OF some standard, reference or goal (see EPSILON). AUTOBOGOTIPHOBIA /aw'to-boh-got'@-foh`bee-uh/ n. See BOGOTIFY. AUTOMAGICALLY /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k@l-ee/ adv. Automatically, but in a way which, 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." AWK n. 1. [UNIX] An interpreted language developed by Aho, Weinberg and Kernighan, characterized by: C-like syntax, a BASIC-like approach to variable typing and declarations, associative arrays, and field-oriented text processing. See also PERL. 2. Editing term for an expression awkward to manipulate through normal regular expression facilities. {= B =} BACKBONE CABAL n. Semi-mythical 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, but the net hardly noticed. BACK DOOR n. A hole in the security of a system deliberately left in place by designers or maintainers. The motivation for this is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by field service or the vendor's maintenance programmers. Historically, back doors have often lurked in systems longer than anyone expected or planned, and a few have become widely known. The famous RTM worm of late 1988, for example, used a back door in the BSD UNIX sendmail(1) utility. Syn. TRAP DOOR. See also IRON BOX, CRACKER, WORM, LOGIC BOMB. BACKGROUND vt.,adj. 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 was appears first to have been used in this sense on OS/360. By extension, 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. Compare AMP OFF, SLOPSUCKER. BAD THING n. Something which 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. One correspondent suggests that BAD THING and GOOD THING (and prob. therefore RIGHT THING and WRONG THING) come from the book "1066 and All That", which discusses rulers who were Good Kings, but Bad Things. BAGBITER /bag'biet-@r/ n. 1. Something, such as a program or a computer, that fails to work, or works in a remarkably clumsy manner. Example: "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. Also in the form BAGBITING adj. 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 and CHOMPING; and 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, probably referring to the scrotum, but in their current usage they have become almost completely sanitized. BAMF /bamf/ [from comix] interj. Notional sound made by a person or object teleporting in or out of the hearer's vicinity. Often used in VIRTUAL REALITY (q.v.) electronic fora when a character wishes to make a dramatic entrance or exit. BANDWIDTH n. 1. Used by hackers in a generalization of its techniucal 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." 2. Attention span. 3. Very loosely, total data volume. "Never underestimate the bandwidth of a station-wagon full of magtapes." 4. On USENET, a measure of network capacity that is often wasted by people complaining about how network news items posted by others are a waste of bandwidth. BANG 1. n. Common spoken name for `!' (ASCII 33), especially when used in pronouncing a BANG PATH (q.v.) 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.", 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 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 the path "...!bigsite!foovax!barbox!me" directs correspondents 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". See INTERNET ADDRESS, NETWORK, and SITENAME. BAR /bar/ 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, HLL or even assembler. Commonly 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. The same phrase 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 like overlapping opcodes (or, in one famous case, 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 like industrial embedded systems. See REAL PROGRAMMER. BARF /barf/ [from mainstream slang meaning "vomit"] 1. interj. Term of disgust. See BLETCH. 2. To say "Barf!" or emit some similar expression of disgust. 3. vi. To fail to work because of unacceptable input. May mean to give an error message. Examples: "The division operation barfs if you try to divide by zero." (that is, division by zero fails in some unspecified spectacular way) "The text editor barfs if you try to read in a new file before writing out the old one." 4. Also BARFULOUS, BARFUCIOUS: adj. Said of something which would make anyone barf, if only for aesthetic reasons. See CHOKE, GAG. Note that in Commonwealth English, "barf" is generally replaced by "puke" or "vom". BARF is sometimes also used as a metasyntactic variable like FOO or BAR. 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/ 1. The third metasyntactic variable, after FOO and BAR and before QUX. "Suppose we have three functions FOO, BAR, and BAZ. FOO calls BAR, which calls BAZ..." 2. interj. Term of mild annoyance. In this usage the term is often drawn out for two or three seconds, producing an effect not unlike the bleating of a sheep; /baaaaaaz/. 3. Occasionally appended to FOO to produce FOOBAZ. BEAM [from "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. BELLS AND WHISTLES [by analogy with steam calliopies] 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." However, no one seems to know what distinguishes a bell from a whistle. BENCHMARK n. An inaccurate measure of computer performance. "In the computer industry, there are three kinds of lies: lies, damn lies, and benchmarks." See also MIPS. BERKLIX /ber'kliks/ n.,adj. Contraction of Berkeley UNIX. See BSD. Not used at Berkeley itself. May be more common among SUITS attempting to sound like cognoscenti than hackers, who usually just say `BSD'. BERZERKELY /b@r-zer'klee/ [from the name of a now-deceased record label] n. Humorous, often-used distortion of "Berkeley" used esp. to refer to the practices or products of the BSD UNIX hackers. BIBLE n. As used by hackers, usually refers to one of a small number of fundamental source books including Donald Knuth's "The Art Of Computer Programming" or the WHITE BOOK. BIFF /bif/ [USENET] n. The most famous PSEUDO, and the prototypical NEWBIE. Articles from BIFF are characterized by all upper case 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!!!), a long SIG (sometimes even a DOUBLED SIG), and unbounded naivete. 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. See also DOUBLED SIG. BIG-ENDIAN [From Swift's "Gulliver's Travels" via a famous 1980 paper by Danny Cohen] adj. Describes a computer architecture in which, within a given 16- or 32-bit word, lower byte addresses have higher significance (the word is stored `big-end-first'). Most processors including the IBM 370 family and the PDP-10 and Motorola microprocessor families and most of the various RISC designs current in 1990 are big-endian. See LITTLE-ENDIAN, MIDDLE-ENDIAN. 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. 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 TLAs (q.v.) this is often acronymized as "BRS". BIGNUM /big'num/ [orig. from MIT MACLISP; the name is said to derive from a pun on the FORTRAN REAL type] n. 1. A multiple-precision computer representation for very large integers. More generally, any very large number. "Have you ever looked at the United States Budget? There's bignums for you!" 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 2 ^ 31 (2147483648) or (on losing BITTY BOXES) 2 ^ 15 (32767). If you want to work with numbers larger than that, you have to use floating-point numbers, which are usually only accurate to 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) exactly. For example, this value for 1000! was computed by the MACLISP system using bignums: 4023872600770937735437024339230039857193748642107146325437999104 2993851239862902059204420848696940480047998861019719605863166687 2994808558901323829669944590997424504087073759918823627727188732 5197795059509952761208749754624970436014182780946464962910563938 8743788648733711918104582578364784997701247663288983595573543251 3185323958463075557409114262417474349347553428646576611667797396 6688202912073791438537195882498081268678383745597317461360853795 3452422158659320192809087829730843139284440328123155861103697680 1357304216168747609675871348312025478589320767169132448426236131 4125087802080002616831510273418279777047846358681701643650241536 9139828126481021309276124489635992870511496497541990934222156683 2572080821333186116811553615836546984046708975602900950537616475 8477284218896796462449451607653534081989013854424879849599533191 0172335555660213945039973628075013783761530712776192684903435262 5200015888535147331611702103968175921510907788019393178114194545 2572238655414610628921879602238389714760885062768629671466746975 6291123408243920816015378088989396451826324367161676217916890977 9911903754031274622289988005195444414282012187361745992642956581 7466283029555702990243241531816172104658320367869061172601587835 2075151628422554026517048330422614397428693306169089796848259012 5458327168226458066526769958652682272807075781391858178889652208 1643483448259932660433676601769996128318607883861502794659551311 5655203609398818061213855860030143569452722420634463179746059468 2573103790084024432438465657245014402821885252470935190620929023 1364932734975655139587205596542287497740114133469627154228458623 7738753823048386568897646192738381490014076731044664025989949022 2221765904339901886018566526485061799702356193897017860040811889 7299183110211712298459016419210688843871218556461249607987229085 1929681937238864261483965738229112312502418664935314397013742853 1926649875337218940694281434118520158014123344828015051399694290 1534830776445690990731524332782882698646027898643211390835062170 9500259738986355427719674282224875758676575234422020757363056949 8825087968928162753848863396909959826280956121450994871701244516 4612603790293091208890869420285106401821543994571568059418727489 9809425474217358240106367740459574178516082923013535808184009699 6372524230560855903700624271243416909004153690105933983835777939 4109700277534720000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000. 2. BIGNUMS [from Macsyma] n. In backgammon, large numbers on the dice, especially a roll of double fives or double sixes. See also EL CAMINO BIGNUM. BIT [from the unit of information] n. 1. The unit of information; the amount of information obtained by asking a yes-or-no question (this is straight technicalese). 2. A computational quantity that can take on one of two values, such as true and false, or zero and one. 3. A mental flag: a reminder that something should be done eventually. Example: "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.) A bit is said to be "set" if its value is true or one, and "reset" or "clear" if its value is false or zero. One speaks of setting and clearing bits. To "toggle" or "invert" a bit is to change it, either from zero to one or from one to zero. BIT BANG n. Transmission of data on a serial line accomplished by rapidly tweaking a single output bit at the appropriate times (popular on certain early models of Prime computers, presumably when UARTs were too expensive; and on archaic Z-80 micros with a Zilog PIO but no SIO). The technique is a simple loop with eight OUT, SHIFT, OUT etc. instructions 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 wannabees. BIT BASHING n. (also, "bit diddling") 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, BIT MASK. BIT BUCKET n. The great data sink in the sky (originally, the mythical receptacle used to catch bits when they fall off the end of a register during a shift instruction). Data that is discarded, lost, or destroyed is said to "go to the bit bucket". On UNIX, often used for /DEV/NULL (q.v.). Sometimes amplified as "the Great Bit Bucket in the Sky". This term is used purely in jest. It's based on the fanciful notion that bits are objects that are not destroyed, but only misplaced. See also NULL DEVICE. BIT DECAY n. See SOFTWARE ROT. People with a physics background tend to prefer this one for the analogy with particle decay. BIT ROT n. See SOFTWARE ROT. BITBLT /bit'blit/ or /bit'belt/ n. [from BLT, q.v.] 1. Any of a closely related family of 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 (q.v.) BITS n. 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 only have a photocopy of the Jargon File; does anyone know where I can get the bits?". See SOFTCOPY. 3. Also in THE SOURCE OF ALL GOOD BITS n. A person from whom (or a place from which) information may be obtained. If you need to know about a program, a WIZARD might be the source of all good bits. The title is often applied to a particularly competent secretary. 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 for it. Especially used of small, obsolescent, single-tasking-only personal machines like the Atari 800, Osborne, Sinclair, VIC-20, or TRS-80. 2. More generally, the opposite of `real computer' (see GET A REAL COMPUTER). Pejorative. See also MESS-DOS, TOASTER, and TOY. BIXIE /biks'ee/ n. Synonym for EMOTICON (q.v.) used on BIX (the Byte Information Exchange); BIXers believe (probably incorrectly) the emoticon was invented there. BLACK ART n. A collection of arcane, unpublished, and (by implication) mostly ad-hoc techniques developed for a particular application or systems area. 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. BLACK HOLE n. When a piece of email or netnews disappears mysteriously between its origin and destination sites it is commonly said to have "fallen into a black hole". Similarly, one might say "I think there's a black hole at foovax!" to convey suspicion that site foovax has been dropping a lot of stuff on the floor lately. The implied metaphor of email as interstellar travel is interesting in itself. BLAST vt.,n. Synonym for BLT (q.v.), used esp. for large data sends over a network or comm line. Opposite of SNARF. Usage: uncommon. BLAZER n. Nickname for the Telebit Trailblazer, an expensive but extremely reliable and effective high-speed modem, popular at UNIX sites that pass large volumes of EMAIL and USENET news. BLETCH /blech/ [from Yiddish/German "brechen", to vomit] 1. interj. Term of disgust. BLETCHEROUS /blech'@-rus/ adj. Disgusting in design or function; aesthetically 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, BAGBITING, BOGUS, and RANDOM. BLETCHEROUS applies to the aesthetics of the thing so described; similarly for CRETINOUS. By contrast, something that is LOSING or BAGBITING may be failing to meet objective criteria. See BOGUS and RANDOM, which have richer and wider shades of meaning than any of the above. BLINKENLIGHTS /blink'@n-lietz/ n. Front-panel diagnostic lights on a mainframe CPU. Derives from the last word of the famous blackletter-Gothic "ACHTUNG! ALLES LOOKENSPEEPERS!" notice in mangled pseudo-German that once graced about half the computer rooms in the English-speaking world. The sign in its entiretu ran: ACHTUNG! ALLES LOOKENSPEEPERS Das computermachine ist nicht fur gefingerpoken und mittengrabben. Ist easy schnappen der springenwerk, blowenfusen und poppencorken mit spitzensparken. Ist nicht fur gewerken bei das dumpkopfen. Das rubbernecken sichtseeren keepen hans in das pockets muss; relaxen und watch das blinkenlichten. This silliness dates back at least as far as 1959 at Stanford University and had already gone international by the early '60s, when it was reported at London University's ATLAS computing site. There are several variants of it in circulation. 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 at the end BLITs it all back down again." See BITBLT, BLT, DD, CAT, BLAST, SNARF, Appendix B. More generally, to perform some operation (such as toggling) on a large array of bits while moving them. 2. An early experimental bit-mapped terminal designed by Rob Pike at Bell Labs, later commercialized as the AT&T 5620. BLOCK [From computer science usage] 1. vi. To delay while waiting for something. "We're blocking until everyone gets here." 2. in BLOCK ON vt. To block, waiting for (something). "Lunch is blocked on Phil's arrival." BLOCK TRANSFER COMPUTATIONS n. From the Dr. Who television series: in the show, it referred to 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. BLOW AWAY vt. To remove files and directories from permanant storage with extreme prejudice, generally by accident. Oppose NUKE. BLOW OUT vi. Of software, to fail spectacularly; almost as serious as CRASH AND BURN. See BLOW PAST. BLOW PAST vi. To BLOW OUT despite a safeguard. "The server blew past the 5K reserve buffer." BLT /bee ell tee/ or (rarely) /belt/ n.,v. 1. Synonym for BLIT. This is the original form of BLIT and the ancestor of BITBLT (q.v.). In these versions the usage has outlasted the PDP-10 BLock Transfer instruction for 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; the others are known as the GREEN BOOK and RED BOOK. 2. Any of the 1988 standards issues by the CCIT 9th plenary assembly. They change color each review cycle (1984 was RED BOOK, 1992 will be GREEN BOOK). These include, among other things, the X.400 email spec and the Group 1 through 4 fax standards. See also RED BOOK, GREEN BOOK, SILVER BOOK, PURPLE BOOK, ORANGE BOOK, WHITE BOOK, PINK-SHIRT BOOK, DRAGON BOOK. BLUE GLUE [IBM] n. IBM's SNA (Systems Network Architecture) an incredibly losing and bletcherous protocol suite widely favored at commercial shops that don't know any better. 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 so common in computer installations. A correspondent at U.Minn. reports "The CS dept here has about 80 bottles of BLUE GLUE hanging about, so we're occasionally calling [sic] any messy work to be done `using the BLUE GLUE"'. BLUE GOO n. Term for "police" NANOBOTS intended to prevent GRAY GOO (q.v.), denature hazardous waste, destroy pollution, put ozone back into the stratosphere, prevent halitosis, and to promote truth, justice, and the American way, etc., etc. See NANOTECHNOLOGY. BNF /bee-en-ef/ n. Hacker 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 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 name-part consists of a first-name followed by an optional middle-part followed by a last-name. A middle-part consists of either a middle name or a middle initial followed by a dot. A street address consists of an optional apartment specifier followed by a street number, followed by a street name. A zip-part consts of a town-name, followed by a state code, followed by a zip code. Note that many things such as the format of a first-name, apartment specifier or zip-code are left unspecified. These are presumed to be obvious from context or detailed in another part of the specification the BNF is part of. See also PARSE. It is worth noting that the term BNF is also used loosely for extensions of this notation containing some or all of the GLOB wildcards. BOA [IBM] n. Any one of the fat cables that lurk under the floor in DINOSAUR PENS. It is rumored within IBM that 370 channel cables are limited to 200 feet because beyond that length the boas get dangerous... BOAT ANCHOR n. Like DOORSTOP (q.v.) but more severe, implies that the offending hardware is irreversibly dead or useless. BOGOMETER n. See BOGOSITY. BOGON /boh'gon/ [by analogy with proton/electron/neutron, but doubtless reinforced after 1980 by the similarity to the "Vogons", see Appendix C] n. 1. The elementary particle of bogosity (see QUANTUM BOGODYNAMICS). For instance, "the ethernet is emitting bogons again," meaning 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 extension, used to refer metasyntactically 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 derivatives in 1-4. BOGON FILTER /boh'gon fil'tr/ n. Any device, software or hardware, which limits or suppresses the flow and/or emission of bogons. Example: "Engineering hacked a bogon filter between the Cray and the VAXen and now we're getting fewer dropped packets." BOGOSITY /boh-go's@-tee/ n. 1. 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). 2. The potential field generated by a bogon flux; see QUANTUM BOGODYNAMICS. BOGOTIFY /boh-go't@-fie/ 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'd better not use it any more. This coinage led to the notional AUTOBOGOTIPHOBIA (aw'to-boh-got'@-foh`bee-uh) n., defined as the fear of becoming bogotified; but is not clear that the latter has ever been `live' slang rather than a self-conscious joke in jargon about jargon. BOGUE OUT /bohg owt/ vi. to becomes 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". 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. 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.) [Etymological note: "Bogus" was originally used in the hackish sense at Princeton, in the late 60s. 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 (see AUTOBOGOTIPHOBIA under BOGOTIFY). By the mid-1980s it was also current in something like the hackish sense in West Coast teen slang] Further note: A correspondent at Cambridge claims these uses of bogus grate on British nerves; in Britain the word means rather specifically `counterfeit' as in "a bogus pound note". BOHR BUG /bohr buhg/ [from quantum physics] n. A repeatable BUG; one which manifests reliably under a possibly unknown but well-defined set of conditions. Antonym of HEISENBUG. BOINK /boynk/ [USENET] 1. To have sex with; compare BOUNCE, sense #3. In Commonwealth English this the variant "bonk" is more common. 2. After the original Peter Korn "Boinkcon" 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 @-SIGN PARTY. BOMB vi. 1. General synonym for CRASH, esp. used of software or OS failures. "Don't run Empire with less than 32K stack, it'll bomb out" 2. Atari ST and Macintosh equivalents of PANIC or GURU (sense 2), where icons of little black-powder bombs or mushroom clouds are displayed indicating the system has died. On the Mac this may be accomanied by a hexadecimal number indicating what went wrong, similar to the Amiga GURU MEDITION number. MESS-DOS machines tend to get LOCKED UP in this situation. BONDAGE-AND-DISCIPLINE LANGUAGE A language such as Pascal, 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 or even vanilla general-purpose programming. See LANGUAGES OF CHOICE. BOOT [from "by one's bootstraps"] vi.,n. To load and initialize the operating system on a machine. This usage is no longer slang (having become jargon in the strict sense), but it is sometimes used of human thought processes, as in the following exchange: "You've lost me." "O.K., reboot. Here's the theory...". 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). BOTTLENECKED adj. 1. Used by hackers specifically to describe hardware under which performance is usually limited by contention for one particular resource (such as disk, memory or processor CLOCKS); the opposite condition is called `balanced', which is more jargon in the strict sense and may be found in technical dictionaries. 2. Less often, applied to the software analogue of sense #1, a slow code section or algorithm through which all computation must pass (see also HOT SPOT). BOUNCE v. 1. [UNIX, perhaps from "to bounce a check"] An electronic mail message which is undeliverable and returns an error notification to the sender is said to `bounce'. See also BOUNCE MESSAGE. 2. [Stanford] To play volleyball. At one time there was a volleyball court next to the computer laboratory. From 5:00 PM to 7:00 PM was the scheduled maintenance time for the computer, so every afternoon at 5:00 the computer would become unavailable, and over the intercom a voice would cry , "Bounce, bounce!" 3. To engage in sexual intercourse; prob. fr. the expression "bouncing the mattress", but influenced by Piglet's psychosexually-loaded "Bounce on me too, Tigger!" from the Winnie the Pooh books. 4. To casually reboot a system in order to clear up a transient problem. Reported primarily among VMS users. 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. BOXEN /bok'sn/ pl n. [back-formation from VAXEN] Fanciful plural of `box' often encountered in the phrase `UNIX boxen', used to describe commodity UNIX hardware. The implication is that any two UNIX boxen are interchangeable. BRAIN-DAMAGED [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. BRAIN-DEAD adj. Brain-damaged in the extreme. Not quite like mainstream use, as it tends to imply terminal design failure rather than malfunction or simple stupidity. BRAINO /bray'no/ n. Syn. for THINKO (q.v.). BRANCH TO FISHKILL [IBM, from the location of one of their facilities] n. Any unexpected jump in a program that produces catastrophic or just plain weird results. See HYPERSPACE. BREAK v. 1. To cause to be broken (in any sense). "Your latest patch to the editor broke the paragraph commands." 2. (of a program) To stop temporarily, so that it may be examined for debugging purposes. The place where it stops is a "breakpoint". 3. To send an RS-232 "break" (125 msec. of line high) over a serial comm line. 4. [UNIX] To strike whatever key currently causes the tty driver to send SIGINT to the current process. Normally "break" (sense 3) or delete does this. BREAKAGE [IBM] n. The extra people that must be added to an organization because its master plan has changed; used esp. of software and hardware development teams. BRITTLE adj. Said of software that's functional but easily broken by changes in operating environment or configuration. Often describes the results of a research effort that were never intended to be robust, but can be applied to commercially developed software. 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. Also called NETWORK MELTDOWN. See also CHERNOBYL PACKET. BROKEN adj. 1. Not working properly (of programs). 2. Behaving strangely; especially (of people), exhibiting extreme depression. BROKET /broh'k@t/ or /broh'ket/ [by analogy with "bracket": a "broken bracket"] (primarily Stanford) n. Either of the characters "<" and ">". 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 (q.v.) as well, these are usually called ANGLE BRACKETS.) BRUTE FORCE adj. Describes a certain kind of primitive programming style. Brute-force programs typically work by enumerating all possible combinations of things in an effort to find the one combination that solves the problem. An example of a brute-force program is one that sorts a thousand numbers by examining them all, picking the smallest one, and saving it in another table; then examining all the numbers again, and picking the smallest one except for the one it already picked; and in general choosing the next number by examining all one thousand numbers and choosing the smallest one that hasn't yet been picked (as determined by examining all the ones already picked). Yes, the program will produce the right answer, but it will be much slower than a program that uses even a modicum of cleverness to avoid most of the work. (A little bit of computer science---specifically, the theory of algorithms---will show that if a typical large computer can sort a thousand numbers in a tenth of a second using a clever sorting method, the brute-force method outlined above would take about 14 hours.) 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 it. Characteristic of early LARVAL STAGE programming; unfortunately, many never outgrow it. Often abbreviated BFI, as in: "Gak, they used a bubble sort! That's strictly from BFI." (this comment might be used by a hacker to describe the example given under BRUTE FORCE above). Compare BOGOSITY. BSD /bee-ess-dee/ n. [acronym for Berkeley System Distribution] a family of UNIX versions for the DEC VAX developed by Bill Joy and others at University of California at Berkeley starting around 1980, incorporating TCP/IP networking enhancements and many other features. The BSD versions (4.1, 4.2, and 4.3) and commercial versions derived from them (SunOS 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. BUCKY BITS /buh'kee bits/ [primarily Stanford] n. The bits produced by the CTRL and META shift keys, esp. on a Stanford (or Knight) keyboard (see SPACE-CADET KEYBOARD). It is rumored that these were in fact named for Buckminster Fuller during a period when he was consulting at Stanford. Unfortunately, legend also has it that "Bucky" was Niklaus Wirth's nickname when *he* was consulting at Stanford and that he first suggested the idea of the meta key, so its bit was named after him. See DOUBLE BUCKY, QUADRUPLE BUCKY. BUFFER OVERFLOW n. What typically happens when an OS or application is fed data faster than it can handle. Used metaphorically of human mental processes. "Sorry, I got four phone calls in three minutes last night and lost your message to a buffer overflow." BUG n. An unwanted and unintended property of a program or hardware, esp. one which 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." (e.g. Fred is a good guy, but he has a few personality problems.) Some have said this term came from telephone company usage: "bugs in a telephone cable" were blamed for noisy lines, but this appears to be a `folk etymology'. 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 physical bug out 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, and now resides in the Smithsonian. Interestingly, the text of the log entry, which is said to read "First example of a real computer `bug"' establishes that the term was already in use at the time; and a similar incident is alleged to have occurred on the original ENIAC machine. Indeed, the use of "bug" to mean an industrial defect was already established in Thomas Edison's time, and "bug" in the sense of an annoyance goes back to Shakespeare! In any case, in hacker's slang the word almost never refers to insects. Here is a plausible conversation that never actually happened: "This ant-farm has a bug." "What do you mean? There aren't even any ants in it." "That's the bug." BUG COMPATIBLE n. Said of a design or revision the design of which has been badly compromised by a requirement to be compatible with FOSSILS or MISFEATURES in other programs or (esp.) previous releases of itself. BULLETPROOF adj. Used of an algorithm or implementation considered extremely robust; lossage-resistant; capable of correctly recovering from any imaginable exception condition. This is a rare and valued quality. 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." 2. 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 TUNE (q.v.). Note that both these uses are rare in Commonwealth English, where "bum" is interpreted as a rude synonym for "buttocks". BUMP vt. Synonym for increment. Has the same meaning as C's ++ operator. Used esp. of counter variables, pointers (see POINTER ARITHMETIC) and index dummies in for, while, and do-until loops. BURBLE vi. Like FLAME, but connotes that the source is truly clueless and ineffectual (mere flamers can be competent). A term of deep contempt. BUSY-WAIT vi. To wait on an event by SPINning 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. A wasteful technique, best avoided on time-sharing systems where a busy-waiting program may hog the processor. Syn. SPIN-LOCK 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. The state of a buzzing program resembles CATATONIA, but you never get out of catatonia, while a buzzing loop may eventually end of its own accord. Example: "The program buzzes for about ten seconds trying to sort all the names into order." See SPIN. 2. [ETA Systems] To test a wire or PCB trace for continuity by applying an AC signal as opposed to applying a DC signal. Some wire faults will pass DC tests but fail a BUZZ test. BWQ /bee duhb'l-yoo kyoo/ [IBM] n. Buzz Word Quotient. Usually roughly proportional to BOGOSITY. See TLA. BYTESEXUAL /biet-seks'u-@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). {= C =} C n. 1. The third letter of the Latin alphabet. 2. The name of a programming language designed by Dennis Ritchie during the early 1970s and first used to implement UNIX (q.v.). So called because many features derived from an earlier interpreter 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 LANGUAGES OF CHOICE. 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 OSs. CALCULATOR [Cambridge] n. Syn. for BITTY BOX. CANONICAL adj. The usual or standard state or manner of something. This word has a somewhat more technical meaning in mathematics. For example, one sometimes speaks of a formula as being in canonical form. 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 slang meaning is a relaxation of the technical meaning (this generalization is actually not confined to hackers, and may be found throughout academia). 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: "Bob just used `canonical' in the canonical way." CARD WALLOPER n. An EDP programmer who works on batch programs that do stupid things like print people's paychecks. Compare CODE GRINDER. CASTERS-UP MODE /cas'trz uhp mohd/ [IBM] n. Yet another synonym for `broken' or `down'. CASTING THE RUNES n. The act of getting a GURU 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 J. RANDOM LOSER does. Compare INCANTATION, RUNES, EXAMINING THE ENTRAILS. CAT [from "concatenate" via UNIX cat(1)] vt. To spew an entire (notionally large) file to the screen or some other output sink without pause; 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. CATATONIA n. A condition of suspended animation in which something is so WEDGED that it makes no response. For example, 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). CDR /ku'dr/ [from LISP] v. To remove the first item from a list of things. In the form CDR DOWN, to trace down a list of elements. "Shall we cdr down the agenda?" Usage: silly. 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'. CHAIN [orig. from BASIC's CHAIN statement] vi. When used of programming languages, refers to a statement that allows a parent executable to hand off execution to a child without going through the OS command interpreter. 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. CHAR /keir/ or /char/; rarely, /kar/ n. Shorthand for `character'. Esp. used by C programmers, as `char' is C's typename for character data. 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 almost jargon in the strict sense, but remains slang when used of human networks. "I'm chasing pointers. Bob said you could tell me who to talk to about..." 2. [Cambridge] POINTER CHASE or POINTER HUNT: the process of going through a dump (intractively or on a large piece of paper printed with hex RUNES) following dynamic data-structures. Only used in a debugging context. CHEMIST [Cambridge University] n. Someone who wastes CPU time on number-crunching when you'd far rather the CPU was 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 PACKET /cher-no'b@l pa'k@t/ n. An IP Ethergram with both source and destination Ether and IP address set as the respective broadcast address. So called because it induces NETWORK MELTDOWN. CHOKE vt. To reject input, often ungracefully. "I tried building X, but cpp choked on all those #define's." See BARF, GAG, VI. CHOMP vt. 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 (much like what the PacMan does in the classic video game, though this pantomime seems to predate that). The gesture alone means CHOMP CHOMP (see Verb Doubling). The hand may be pointed at the object of complaint, and for real emphasis you can use both hands at once. For example, to do 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. CHRISTMAS TREE n. A kind of RS-232 line tester or breakout box featuring rows of blinking red and green LEDs like Christmas lights. CHRISTMAS TREE PACKET n. A packet with every single option set for whatever protocol is in use. CHROME [from automotive slang via wargaming] n. Showy features added to attract users, but which contribute little or nothing to the power of a system. "The 3D icons in Motif are just chrome!" Distinguished from BELLS AND WHISTLES by the fact that the latter are usually added to gratify developers' own desires for featurefulness. CHURCH OF THE SUB-GENIUS n. A mutant offshoot of DISCORDIANISM launched in 1981 as a spoof of fundamentalist Christianity by the "Rev." 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 Sub-Genius theory is concerned with the acquisition of the mystical substance or quality of "slack". See also HA HA ONLY SERIOUS. CLASSIC C /klas'ik see/ [a play on `Coke Classic'] n. The C programming language as defined in the first edition of the book "The C Programming Language" by "Brian W. Kernighan and Dennis M. Ritchie" with some small additions. It is also known as "K & R C." The name came into use during the standardisation process for C by the ANSI X3J11 committee. Also "C CLASSIC". This is sometimes generalized to "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 generalization is especially used of product series in which the newer versions are considered serious losers relative to the older ones. CLEAN adj. Used of hardware or software designs, implies "elegance in the small", that is a design or implementation which may not hold any surprises but does things in a way that is reasonably intutive and relatively easy to comprehend from the outside. The antonym is GRUNGY or CRUFTY. 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. Compare CYCLES. CLONE n. 1. An exact duplicate, as in "our product is a clone of their product." 2. A shoddy, spurious copy, as in "their product is a clone of our product." 3. A blatant ripoff, most likely violating copyright, patent, or trade secret protections, as in "your product is a clone of my product." This usage implies legal action is pending. 4. A PC-BUS/ISA or EISA-compatible 80x86 based microcomputer (in-context shorthand for "PC clone"). 5. In the construction UNIX CLONE: An OS designed to deliver a UNIX-lookalike environment sans UNIX license fees, or with additional "mission-critical" features such as support for real-time programming. CLOSE /klohz/ [from the verb "to close", thus the `z' sound] 1. n. Abbreviation for "close (or right) parenthesis", used when necessary to eliminate oral ambiguity. See OPEN. 2. adj. Of a delimiting character, used at the right-hand end of a grouping. Used in such terms as "close parenthesis", "close bracket", etc. 3. vt. To release a file or communication channel after access. CLUSTERGEEKING /kluh'ster-gee`king/ [CMU] n. An activity defined by spending more time at a computer cluster doing CS homework than most people spend breathing. COBOL FINGERS /koh'bol fing'grs/ n. Reported from Sweden, a (hypothetical) disease one might get from programming in COBOL. The language requires extremely voluminous code. Programming too much in COBOL causes the fingers to wear down (by endless typing), until short stubs remain. This malformity is called COBOL FINGERS. "I refuse to type in all that source code again, it will 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. This is about as far from hackerdom as you can get and still touch a computer. Connotes pity. See REAL WORLD. 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, and utter lack of imagination. Compare CARD WALLOPER. CODE POLICE [by analogy with "thought police"] n. A mythical team of Gestapo-like storm troopers that might burst into one's office and arrest one for violating 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 weenies. 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 which try to do too much with source code may turn into codewalkers. As in "This new vgrind feature would require a codewalker to implement." COKEBOTTLE /kohk'bot-l/ n. Any very unusual character, particularly one that isn't on your keyboard so you can't type it. 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. Since the demise of the SPACE-CADET KEYBOARD this is no longer a serious usage, but may be invoked humorously to describe an (unspecified) weird or non-intuitive keystroke command. COME FROM n. A semi-mythical language construct dual to the `go to'; COME FROM