= A = ===== :abbrev: /*-breev'/, /*-brev'/ n. Common abbreviation for `abbreviation'. :ABEND: /a'bend/, /*-bend'/ n. [ABnormal END] 1. Abnormal termination (of software); {crash}; {lossage}. Derives from an error message on the IBM 360; used jokingly by hackers but seriously mainly by {code grinder}s. Usually capitalized, but may appear as `abend'. Hackers will try to persuade you that ABEND is called `abend' because it is what system operators do to the machine late on Friday when they want to call it a day, and hence is from the German `Abend' = `Evening'. 2. [alt.callahans] Absent By Enforced Net Deprivation - used in the subject lines of postings warning friends of an imminent loss of Internet access. (This can be because of computer downtime, loss of provider, moving or illness.) Variants of this also appear: ABVND = `Absent By Voluntary Net Deprivation' and ABSEND = `Absent By Self-Enforced Net Deprivation' have been sighted. :accumulator: n. obs. 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. [common; from the ASCII mnemonic for 0000110] Acknowledge. Used to register one's presence (compare mainstream _Yo!_). An appropriate response to {ping} or {ENQ}. 2. [from the comic strip "Bloom County"] An exclamation of surprised disgust, esp. in "Ack pffft!" Semi-humorous. Generally this sense is not spelled in caps (ACK) and is distinguished by a following exclamation point. 3. Used to politely interrupt someone to tell them you understand their point (see {NAK}). Thus, for example, you might cut off an overly long explanation with "Ack. Ack. Ack. I get it now". 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"). :Acme: n. The canonical supplier of bizarre, elaborate, and non-functional gadgetry - where Rube Goldberg and Heath Robinson (two cartoonists who specialized in elaborate contraptions) shop. The name has been humorously expanded as A Company Making Everything. Describing some X as an "Acme X" either means "This is {insanely great}", or, more likely, "This looks {insanely great} on paper, but in practice it's really easy to shoot yourself in the foot with it." Compare {pistol}. This term, specially cherished by American hackers and explained here for the benefit of our overseas brethren, comes from the Warner Brothers' series of "Roadrunner" cartoons. In these cartoons, the famished Wile E. Coyote was forever attempting to catch up with, trap, and eat the Roadrunner. His attempts usually involved one or more high-technology Rube Goldberg devices - rocket jetpacks, catapults, magnetic traps, high-powered slingshots, etc. These were usually delivered in large cardboard boxes, labeled prominently with the Acme name. These devices invariably malfunctioned in improbable and violent ways. :acolyte: n. obs. [TMRC] An {OSU} privileged enough to submit data and programs to a member of the {priesthood}. :ad-hockery: /ad-hok'*r-ee/ n. [Purdue] 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 of 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. :address harvester: n. A robot that searches web pages and/or filters netnews traffic looking for valid email addresses. Some address harvesters are benign, used only for compiling address directories. Most, unfortunately, are run by miscreants compiling address lists to {spam}. Address harvesters can be foiled by a {teergrube}. :adger: /aj'r/ vt. [UCLA mutant of {nadger}, poss. from the middle name of an infamous {tenured graduate student}] To make a bonehead move with consequences that could have been foreseen with even slight mental effort. E.g., "He started removing files and promptly adgered the whole project". Compare {dumbass attack}. :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 designed by Will Crowther on the {PDP-10} in the mid-1970s as an attempt at computer-refereed fantasy gaming, and expanded into a puzzle-oriented game by Don Woods at Stanford in 1976. (Crowther went on to write the first core software for the first TCP/IP router.) Now better known as Adventure, but the {{TOPS-10}} operating system permitted only six-letter filenames. See also {vadding}, {Zork}, and {Infocom}. This game defined the terse, dryly humorous style since expected in text adventure games, and popularized several tag lines that have become fixtures of hacker-speak: "A huge green fierce snake bars the way!" "I see no X here" (for some noun X). "You are in a maze of twisty little passages, all alike." "You are in a little maze of twisty passages, all different." The `magic words' {xyzzy} and {plugh} also derive from this game. Crowther, by the way, participated in the exploration of the Mammoth & Flint Ridge cave system; it actually _has_ a `Colossal Cave' and a `Bedquilt' as in the game, and the `Y2' that also turns up is cavers' jargon for a map reference to a secondary entrance. ADVENT sources are available for FTP at `ftp://ftp.wustl.edu/doc/misc/if-archive/games/source/advent.tar.Z'. :AFAIK: // n. [Usenet] Abbrev. for "As Far As I Know". :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 consistently marked by customary observances on Internet and other 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'/ adj. [MIT, Stanford: by analogy with `NP-complete' (see {NP-})] 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 (1999) 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 {AI Koans} in Appendix A). See also {ha ha only serious}, {mu}, and {{hacker humor}}. :AIDS: /aydz/ n. Short for A* Infected Disk Syndrome (`A*' is a {glob} pattern that matches, but is not limited to, Apple or Amiga), this condition is quite often the result of practicing unsafe {SEX}. See {virus}, {worm}, {Trojan horse}, {virgin}. :AIDX: /ayd'k*z/ n. Derogatory term for IBM's perverted version of Unix, AIX, especially for the AIX 3.? used in the IBM RS/6000 series (some hackers think it is funnier just to pronounce "AIX" as "aches"). 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 {Macintrash}, {Nominal Semidestructor}, {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}. :Alderson loop: n. [Intel] A special version of an {infinite loop} where there is an exit condition available, but inaccessible in the current implementation of the code. Typically this is created while debugging user interface code. An example would be when there is a menu stating, "Select 1-3 or 9 to quit" and 9 is not allowed by the function that takes the selection from the user. This term received its name from a programmer who had coded a modal message box in MSAccess with no Ok or Cancel buttons, thereby disabling the entire program whenever the box came up. The message box had the proper code for dismissal and even was set up so that when the non-existent Ok button was pressed the proper code would be called. :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: adj. [MS-DOS] 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 geek: n. [from animal ethologists' `alpha male'] The most technically accomplished or skillful person in some implied context. "Ask Larry, he's the alpha geek here." :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 `option' key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also {feature key}, which is sometimes _incorrectly_ called `alt'). 3. n.,obs. [PDP-10; often capitalized to ALT] Alternate name for the ASCII ESC character (ASCII 0011011), after the keycap labeling on some older terminals; also `altmode' (/awlt'mohd/). This character was almost never pronounced `escape' on an ITS system, in {TECO}, or under TOPS-10 -- always alt, as in "Type alt alt to end a TECO command" or "alt-U onto the system" (for "log onto the [ITS] system"). This usage probably arose because alt is more convenient to say than `escape', especially when followed by another alt or a character (or another alt _and_ a character, for that matter). 4. The alt hierarchy on Usenet, the tree of newsgroups created by users without a formal vote and approval procedure. There is a myth, not entirely implausible, that alt is acronymic for "anarchists, lunatics, and terrorists"; but in fact it is simply short for "alternative". :alt bit: /awlt bit/ [from alternate] adj. See {meta bit}. :Aluminum Book: n. [MIT] "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}}. :ambimouseterous: /am-b*-mows'ter-us/ or /am-b*-mows'trus/ adj. [modeled on ambidextrous] Able to use a mouse with either hand. :Amiga: n A series of personal computer models originally sold by Commodore, based on 680x0 processors, custom support chips and an operating system that combined some of the best features of Macintosh and Unix with compatibility with neither. The Amiga was released just as the personal computing world standardized on IBM-PC clones. This prevented it from gaining serious market share, despite the fact that the first Amigas had a substantial technological lead on the IBM XTs of the time. Instead, it acquired a small but zealous population of enthusiastic hackers who dreamt of one day unseating the clones (see {Amiga Persecution Complex}). The traits of this culture are both spoofed and illuminated in The BLAZE Humor Viewer (http://www-ccsl.cs.umass.edu/~barrett/bm/Viewer_Sections/Main.HTML). The strength of the Amiga platform seeded a small industry of companies building software and hardware for the platform, especially in graphics and video applications (see {video toaster}). Due to spectacular mismanagement, Commodore did hardly any R&D, allowing the competition to close Amiga's technological lead. After Commodore went bankrupt in 1994 the technology passed through several hands, none of whom did much with it. However, the Amiga is still being produced in Europe under license and has a substantial number of fans, which will probably extend the platform's life considerably. :Amiga Persecution Complex: n. The disorder suffered by a particularly egregious variety of {bigot}, those who believe that the marginality of their preferred machine is the result of some kind of industry-wide conspiracy (for without a conspiracy of some kind, the eminent superiority of their beloved shining jewel of a platform would obviously win over all, market pressures be damned!) Those afflicted are prone to engaging in {flame war}s and calling for boycotts and mailbombings. Amiga Persecution Complex is by no means limited to Amiga users; NeXT, {NeWS}, {OS/2}, Macintosh, {LISP}, and {GNU} users are also common victims. {Linux} users used to display symptoms very frequently before Linux started winning; some still do. See also {newbie}, {troll}, {holy wars}, {weenie}, {Get a life!}. :amoeba: n. Humorous term for the Commodore Amiga personal computer. :amp off: vt. [Purdue] 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/ n. [IRC] See {robot}. :annoyware: n. A type of {shareware} that frequently disrupts normal program operation to display requests for payment to the author in return for the ability to disable the request messages. (Also called `nagware') The requests generally require user action to acknowledge the message before normal operation is resumed and are often tied to the most frequently used features of the software. See also {careware}, {charityware}, {crippleware}, {freeware}, {FRS}, {guiltware}, {postcardware}, and {-ware}; compare {payware}. :ANSI: /an'see/ 1. n. [techspeak] The American National Standards Institute. ANSI, along with the International Organization for Standards (ISO), standardized the C programming language (see {K&R}, {Classic C}), and promulgates many other important software standards. 2. n. [techspeak] A terminal may be said to be `ANSI' if it meets the ANSI X.364 standard for terminal control. Unfortunately, this standard was both over-complicated and too permissive. It has been retired and replaced by the ECMA-48 standard, which shares both flaws. 3. n. [BBS jargon] The set of screen-painting codes that most MS-DOS and Amiga computers accept. This comes from the ANSI.SYS device driver that must be loaded on an MS-DOS computer to view such codes. Unfortunately, neither DOS ANSI nor the BBS ANSIs derived from it exactly match the ANSI X.364 terminal standard. For example, the ESC-[1m code turns on the bold highlight on large machines, but in IBM PC/MS-DOS ANSI, it turns on `intense' (bright) colors. Also, in BBS-land, the term `ANSI' is often used to imply that a particular computer uses or can emulate the IBM high-half character set from MS-DOS. Particular use depends on context. Occasionally, the vanilla ASCII character set is used with the color codes, but on BBSs, ANSI and `IBM characters' tend to go together. :ANSI standard pizza: /an'see stan'd*rd peet'z*/ [CMU] Pepperoni and mushroom pizza. Coined allegedly because most pizzas ordered by CMU hackers during some period leading up to mid-1990 were of that flavor. See also {rotary debugger}; compare {ISO standard cup of tea}. :AOL!: n. [Usenet] Common synonym for "Me, too!" alluding to the legendary propensity of America Online users to utter contentless "Me, too!" postings. The number of exclamation points following varies from zero to five or so. The pseudo-HTML Me, too! is also frequently seen. See also {September that never ended}. :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.) See {killer app}; oppose {tool}, {operating system}. :arena: [common; 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: n. [acronym, `Automated Retroactive Minimal Moderation'] A Usenet {cancelbot} created by Dick Depew of Munroe Falls, Ohio. ARMM 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 amusement 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" (also 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}; {sorcerer's apprentice mode}. See also {software laser}, {network meltdown}. :armor-plated: n. Syn. for {bulletproof}. :asbestos: adj. [common] 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:: /as'kee/ n. [acronym: American Standard Code for Information Interchange] The predominant character set encoding of present-day computers. The modern version uses 7 bits for each character, whereas most earlier codes (including an early version of ASCII) used fewer. This change allowed the inclusion of lowercase letters -- a major {win} -- but it did not provide for accented letters or any other letterforms not used in English (such as the German sharp-S or the ae-ligature which is a letter in, for example, Norwegian). It could be worse, though. It could be much worse. See {{EBCDIC}} to understand how. Computers are much pickier and less flexible about spelling than humans; thus, hackers need to be very precise when talking about characters, and have developed a considerable amount of verbal shorthand for them. Every character has one or more names -- some formal, some concise, some silly. Common jargon names for ASCII characters are collected here. See also individual entries for {bang}, {excl}, {open}, {ques}, {semi}, {shriek}, {splat}, {twiddle}, and {Yu-Shiang Whole Fish}. This list derives from revision 2.3 of the Usenet ASCII pronunciation guide. Single characters are listed in ASCII order; character pairs are sorted in by first member. For each character, common names are given in rough order of popularity, followed by names that are reported but rarely seen; official ANSI/CCITT names are surrounded by brokets: <>. Square brackets mark the particularly silly names introduced by {INTERCAL}. The abbreviations "l/r" and "o/c" stand for left/right and "open/close" respectively. Ordinary parentheticals provide some usage information. ! Common: {bang}; pling; excl; shriek; . Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey; wham; eureka; [spark-spot]; soldier, control. " Common: double quote; quote. Rare: literal mark; double-glitch; ; ; dirk; [rabbit-ears]; double prime. # Common: number sign; pound; pound sign; hash; sharp; {crunch}; hex; [mesh]. Rare: grid; crosshatch; octothorpe; flash; , pig-pen; tictactoe; scratchmark; thud; thump; {splat}. $ Common: dollar; . Rare: currency symbol; buck; cash; string (from BASIC); escape (when used as the echo of ASCII ESC); ding; cache; [big money]. % Common: percent; ; mod; grapes. Rare: [double-oh-seven]. & Common: ; amper; and. Rare: address (from C); reference (from C++); andpersand; bitand; background (from `sh(1)'); pretzel; amp. [INTERCAL called this `ampersand'; what could be sillier?] ' Common: single quote; quote; . Rare: prime; glitch; tick; irk; pop; [spark]; ; . ( ) Common: l/r paren; l/r parenthesis; left/right; open/close; paren/thesis; o/c paren; o/c parenthesis; l/r parenthesis; l/r banana. Rare: so/already; lparen/rparen; ; o/c round bracket, l/r round bracket, [wax/wane]; parenthisey/unparenthisey; l/r ear. * Common: star; [{splat}]; . Rare: wildcard; gear; dingle; mult; spider; aster; times; twinkle; glob (see {glob}); {Nathan Hale}. + Common: ; add. Rare: cross; [intersection]. , Common: . Rare: ; [tail]. - Common: dash; ; . Rare: [worm]; option; dak; bithorpe. . Common: dot; point; ; . Rare: radix point; full stop; [spot]. / Common: slash; stroke; ; forward slash. Rare: diagonal; solidus; over; slak; virgule; [slat]. : Common: . Rare: dots; [two-spot]. ; Common: ; semi. Rare: weenie; [hybrid], pit-thwong. < > Common: ; bra/ket; l/r angle; l/r angle bracket; l/r broket. Rare: from/{into, towards}; read from/write to; suck/blow; comes-from/gozinta; in/out; crunch/zap (all from UNIX); [angle/right angle]. = Common: ; gets; takes. Rare: quadrathorpe; [half-mesh]. ? Common: query; ; {ques}. Rare: whatmark; [what]; wildchar; huh; hook; buttonhook; hunchback. @ Common: at sign; at; strudel. Rare: each; vortex; whorl; [whirlpool]; cyclone; snail; ape; cat; rose; cabbage; . V Rare: [book]. [ ] Common: l/r square bracket; l/r bracket; ; bracket/unbracket. Rare: square/unsquare; [U turn/U turn back]. \ Common: backslash, hack, whack; escape (from C/UNIX); reverse slash; slosh; backslant; backwhack. Rare: bash; ; reversed virgule; [backslat]. ^ Common: hat; control; uparrow; caret; . Rare: chevron; [shark (or shark-fin)]; to the (`to the power of'); fang; pointer (in Pascal). _ Common: ; underscore; underbar; under. Rare: score; backarrow; skid; [flatworm]. ` Common: backquote; left quote; left single quote; open quote; ; grave. Rare: backprime; [backspark]; unapostrophe; birk; blugle; back tick; back glitch; push; ; quasiquote. { } Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly bracket/brace; l/r curly bracket/brace; . Rare: brace/unbrace; curly/uncurly; leftit/rytit; l/r squirrelly; [embrace/bracelet]. | Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: ; gozinta; thru; pipesinta (last three from UNIX); [spike]. ~ Common: ; squiggle; {twiddle}; not. Rare: approx; wiggle; swung dash; enyay; [sqiggle (sic)]. The pronunciation of `#' as `pound' is common in the U.S. but a bad idea; {{Commonwealth Hackish}} has its own, rather more apposite use of `pound sign' (confusingly, on British keyboards the pound graphic happens to replace `#'; thus Britishers sometimes call `#' on a U.S.-ASCII keyboard `pound', compounding the American error). The U.S. usage derives from an old-fashioned commercial practice of using a `#' suffix to tag pound weights on bills of lading. The character is usually pronounced `hash' outside the U.S. There are more culture wars over the correct pronunciation of this character than any other, which has led to the {ha ha only serious} suggestion that it be pronounced `shibboleth' (see Judges 12.6 in an Old Testament or Torah). The `uparrow' name for circumflex and `leftarrow' name for underline are historical relics from archaic ASCII (the 1963 version), which had these graphics in those character positions rather than the modern punctuation characters. The `swung dash' or `approximation' sign is not quite the same as tilde in typeset material but the ASCII tilde serves for both (compare {angle brackets}). Some other common usages cause odd overlaps. The `#', `$', `>', and `&' characters, for example, are all pronounced "hex" in different communities because various assemblers use them as a prefix tag for hexadecimal constants (in particular, `#' in many assembler-programming cultures, `$' in the 6502 world, `>' at Texas Instruments, and `&' on the BBC Micro, Sinclair, and some Z80 machines). See also {splat}. The inability of ASCII text to correctly represent any of the world's other major languages makes the designers' choice of 7 bits look more and more like a serious {misfeature} as the use of international networks continues to increase (see {software rot}). Hardware and software from the U.S. still tends to embody the assumption that ASCII is the universal character set and that characters have 7 bits; this is a major irritant to people who want to use a character set suited to their own languages. Perversely, though, efforts to solve this problem by proliferating `national' character sets produce an evolutionary pressure to use a _smaller_ subset common to all those in use. :ASCII art: n. The fine art of drawing diagrams using the ASCII character set (mainly `|', `-', `/', `\', and `+'). Also known as `character graphics' or `ASCII graphics'; see also {boxology}. Here is a serious example: o----)||(--+--|<----+ +---------o + D O L )||( | | | C U A I )||( +-->|-+ | +-\/\/-+--o - T C N )||( | | | | P E )||( +-->|-+--)---+--|(--+-o U )||( | | | GND T o----)||(--+--|<----+----------+ A power supply consisting of a full wave rectifier circuit feeding a capacitor input filter circuit And here are some very silly examples: |\/\/\/| ____/| ___ |\_/| ___ | | \ o.O| ACK! / \_ |` '| _/ \ | | =(_)= THPHTH! / \/ \/ \ | (o)(o) U / \ C _) (__) \/\/\/\ _____ /\/\/\/ | ,___| (oo) \/ \/ | / \/-------\ U (__) /____\ || | \ /---V `v'- oo ) / \ ||---W|| * * |--| || |`. |_/\ //-o-\\ ____---=======---____ ====___\ /.. ..\ /___==== Klingons rule OK! // ---\__O__/--- \\ \_\ /_/ There is an important subgenre of ASCII art that puns on the standard character names in the fashion of a rebus. +--------------------------------------------------------+ | ^^^^^^^^^^^^ | | ^^^^^^^^^^^ ^^^^^^^^^ | | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ | | ^^^^^^^ B ^^^^^^^^^ | | ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ | +--------------------------------------------------------+ " A Bee in the Carrot Patch " Within humorous ASCII art, there is for some reason an entire flourishing subgenre of pictures of silly cows. Four of these are reproduced in the silly examples above, here are three more: (__) (__) (__) (\/) ($$) (**) /-------\/ /-------\/ /-------\/ / | 666 || / |=====|| / | || * ||----|| * ||----|| * ||----|| ~~ ~~ ~~ ~~ ~~ ~~ Satanic cow This cow is a Yuppie Cow in love Finally, here's a magnificent example of ASCII art depicting an Edwardian train station in Dunedin, New Zealand: .-. /___\ |___| |]_[| / I \ JL/ | \JL .-. i () | () i .-. |_| .^. /_\ LJ=======LJ /_\ .^. |_| ._/___\._./___\_._._._._.L_J_/.-. .-.\_L_J._._._._._/___\._./___\._._._ ., |-,-| ., L_J |_| [I] |_| L_J ., |-,-| ., ., JL |-O-| JL L_J%%%%%%%%%%%%%%%L_J JL |-O-| JL JL IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_ -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]- _/\_ ||\\_I_//|| _/\_ [_] []_/_L_J_\_[] [_] _/\_ ||\\_I_//|| _/\_ ||\ |__| ||=/_|_\=|| |__|_|_| _L_L_J_J_ |_|_|__| ||=/_|_\=|| |__| ||- |__| |||__|__||| |__[___]__--__===__--__[___]__| |||__|__||| |__| ||| IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_] \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_] ./ \.L_J/ \L_J./ L_JI I[]/ \[]I IL_J \.L_J/ \L_J./ \.L_J | |L_J| |L_J| L_J| |[]| |[]| |L_J |L_J| |L_J| |L_J |_____JL_JL___JL_JL____|-|| |[]| |[]| ||-|_____JL_JL___JL_JL_____JL_J There is a newsgroup, rec.arts.ascii, devoted to this genre; however, see also {warlording}. :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. "At my video store, they used their computer to sort the videos into ASCIIbetical order, so I couldn't find `"Crocodile" Dundee' until I thought to look before `2001' and `48 HRS.'!" :astroturfing: n. The use of paid shills to create the impression of a popular movement, through means like letters to newspapers from soi-disant `concerned citizens', paid opinion pieces, and the formation of grass-roots lobbying groups that are actually funded by a PR group (astroturf is fake grass; hence the term). This term became common among hackers after it came to light in early 1998 that Microsoft had attempted to use such tactics to forestall the U.S. Department of Justice's antitrust action against the company. This backfired horribly, angering a number of state attorneys-general enough to induce them to go public with plans to join the Federal suit. It also set anybody defending Microsoft on the net for the accusation "You're just astroturfing!". :atomic: adj. [from Gk. `atomos', indivisible] 1. 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 or of another being interspersed. Used esp. to convey that an operation cannot be screwed up by interrupts. "This routine locks the file and increments the file's semaphore atomically." 2. [primarily techspeak] Guaranteed to complete successfully or not at all, usu. refers to database transactions. If an error prevents a partially-performed transaction from proceeding to completion, it must be "backed out," as the database must not be left in an inconsistent state. Computer usage, in either of the above senses, 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-}. :AUP: /A-U-P/ Abbreviation, "Acceptable Use Policy". The policy of a given ISP which sets out what the ISP considers to be (un)acceptable uses of its Internet resources. :autobogotiphobia: /aw'toh-boh-got`*-foh'bee-*/ n. See {bogotify}. :automagically: /aw-toh-maj'i-klee/ adv. Automatically, but in a way that, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), the speaker doesn't feel like explaining to you. See {magic}. "The C-INTERCAL compiler generates C, then automagically invokes `cc(1)' to produce an executable." This term is quite old, going back at least to the mid-70s in jargon and probably much earlier. The word `automagic' occurred in advertising (for a shirt-ironing gadget) as far back as the late 1940s. :avatar: n. Syn. [in Hindu mythology, the incarnation of a god] 1. Among people working on virtual reality and {cyberspace} interfaces, an "avatar" is an icon or representation of a user in a shared virtual reality. The term is sometimes used on {MUD}s. 2. [CMU, Tektronix] {root}, {superuser}. There are quite a few Unix machines on which the name of the superuser account is `avatar' rather than `root'. This quirk was originated by a CMU hacker who found the terms `root' and `superuser' unimaginative, and thought `avatar' might better impress people with the responsibility they were accepting. :awk: /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 = ===== :B5: // [common] Abbreviation for "Babylon 5", a science-fiction TV series as revered among hackers as was the original Star Trek. :back door: n. [common] A hole in the security of a system deliberately left in place by designers or maintainers. The motivation for such holes is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by field service technicians or the vendor's maintenance programmers. Syn. {trap door}; may also be called a `wormhole'. See also {iron box}, {cracker}, {worm}, {logic bomb}. Historically, back doors have often lurked in systems longer than anyone expected or planned, and a few have become widely known. Ken Thompson's 1983 Turing Award lecture to the ACM admitted the existence of a back door in early Unix versions that may have qualified as the most fiendishly clever security hack of all time. In this scheme, the C compiler contained code that would recognize when the `login' command was being recompiled and insert some code recognizing a password chosen by Thompson, giving him entry to the system whether or not an account had been created for him. Normally such a back door could be removed by removing it from the source code for the compiler and recompiling the compiler. But to recompile the compiler, you have to _use_ the compiler -- so Thompson also arranged that the compiler would _recognize when it was compiling a version of itself_, and insert into the recompiled compiler the code to insert into the recompiled `login' the code to allow Thompson entry -- and, of course, the code to recognize itself and do the whole thing again the next time around! And having done this once, he was then able to recompile the compiler from the original sources; the hack perpetuated itself invisibly, leaving the back door in place and active but with no trace in the sources. The talk that suggested this truly moby hack was published as "Reflections on Trusting Trust", "Communications of the ACM 27", 8 (August 1984), pp. 761-763 (text available at `http://www.acm.org/classics'). Ken Thompson has since confirmed that this hack was implemented and that the Trojan Horse code did appear in the login binary of a Unix Support group machine. Ken says the crocked compiler was never distributed. Your editor has heard two separate reports that suggest that the crocked login did make it out of Bell Labs, notably to BBN, and that it enabled at least one late-night login across the network by someone using the login name `kt'. :backbone cabal: n. A group of large-site administrators who pushed through the {Great Renaming} and reined in the chaos of {Usenet} during most of the 1980s. During most of its lifetime, the Cabal (as it was sometimes capitalized) steadfastly denied its own existence; it was almost obligatory for anyone privy to their secrets to respond "There is no Cabal" whenever the existence or activities of the group were speculated on in public. The result of this policy was an attractive aura of mystery. Even a decade after the cabal {mailing list} disbanded in late 1988 following a bitter internal catfight, many people believed (or claimed to believe) that it had not actually disbanded but only gone deeper underground with its power intact. This belief became a model for various paranoid theories about various Cabals with dark nefarious objectives beginning with taking over the Usenet or Internet. These paranoias were later satirized in ways that took on a life of their own. See {Eric Conspiracy} for one example. See {NANA} for the subsequent history of "the Cabal". :backbone site: n.,obs. Formerly, a key Usenet and email site, one that processes a large amount of third-party traffic, especially if it is the home site of any of the regional coordinators for the Usenet maps. Notable backbone sites as of early 1993, when this sense of the term was beginning to pass out of general use due to wide availability of cheap Internet connections, included uunet and the mail machines at Rutgers University, UC Berkeley, {DEC}'s Western Research Laboratories, Ohio State University, and the University of Texas. Compare {rib site}, {leaf site}. [1996 update: This term is seldom heard any more. The UUCP network world that gave it meaning has nearly disappeared; everyone is on the Internet now and network traffic is distributed in very different patterns. Today one might see references to a `backbone router' instead --ESR] :backgammon:: See {bignum} (sense 3), {moby} (sense 4), and {pseudoprime}. :background: n.,adj.,vt. [common] 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. :backreference: n. 1. In a regular expression or pattern match, the text which was matched within grouping parentheses parentheses. 2. The part of the pattern which refers back to the matched text. 3. By extension, anything which refers back to something which has been seen or discussed before. "When you said `she' just now, who were you backreferencing?" :backronym: n. [portmanteau of back + acronym] A word interpreted as an acronym that was not originally so intended. Examples are given under {BASIC}, {recursive acronym} (Cygnus), {Acme}, and {mung}. Discovering backronyms is a common form of wordplay among hackers. :backspace and overstrike: interj. [rare] Whoa! Back up. Used to suggest that someone just said or did something wrong. Once common among APL programmers; may now be obsolete. :backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ n. [CMU, Tektronix: from `backward compatibility'] 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/ adj. [IBM: acronym, `Broken As Designed'] Said of a program that is {bogus} because of bad design and misfeatures rather than because of bugginess. See {working as designed}. :Bad and Wrong: adj. [Durham, UK] Said of something that is both badly designed and wrongly executed. This common term is the prototype of, and is used by contrast with, three less common terms - Bad and Right (a kludge, something ugly but functional); Good and Wrong (an overblown GUI or other attractive nuisance); and (rare praise) Good and Right. These terms entered common use at Durham c.1994 and may have been imported from elsewhere. There are standard abbreviations: they start with B&R, a typo for "Bad and Wrong". Consequently, B&W is actually "Bad and Right", G&R = "Good and Wrong", and G&W = "Good and Right". Compare {evil and rude}, {Good Thing}, {Bad Thing}. :Bad Thing: n. [very common; from the 1930 Sellar & Yeatman parody "1066 And All That"] Something that can't possibly result in improvement of the subject. This term is always capitalized, as in "Replacing all of the 9600-baud modems with bicycle couriers would be a Bad Thing". Oppose {Good Thing}. British correspondents confirm that {Bad Thing} and {Good Thing} (and prob. therefore {Right Thing} and {Wrong Thing}) come from the book referenced in the etymology, which discusses rulers who were Good Kings but Bad Things. This has apparently created a mainstream idiom on the British side of the pond. It is very common among American hackers, but not in mainstream usage here. Compare {Bad and Wrong}. :bag on the side: n. [prob. originally related to a colostomy bag] 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. `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 a douche bag or the scrotum (we have reports of "Bite the douche bag!" being used as an insult at MIT 1970-1976), but in their current usage they have become almost completely sanitized. ITS's `lexiphage' program was the first and to date only known example of a program _intended_ to be a bagbiter. :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' (under {barfulous}) and `chomping' (under {chomp}). :balloonian variable: n. [Commodore users; perh. a deliberate phonetic mangling of `boolean variable'?] Any variable that doesn't actually hold or control state, but must nevertheless be declared, checked, or set. A typical balloonian variable started out as a flag attached to some environment feature that either became obsolete or was planned but never implemented. Compatibility concerns (or politics attached to same) may require that such a flag be treated as though it were {live}. :bamf: /bamf/ 1. [from X-Men comics; originally "bampf"] interj. Notional sound made by a person or object teleporting in or out of the hearer's vicinity. Often used in {virtual reality} (esp. {MUD}) electronic {fora} when a character wishes to make a dramatic entrance or exit. 2. The sound of magical transformation, used in virtual reality {fora} like MUDs. 3. In MUD circles, "bamf" is also used to refer to the act by which a MUD server sends a special notification to the MUD client to switch its connection to another server ("I'll set up the old site to just bamf people over to our new location."). 4. Used by MUDders on occasion in a more general sense related to sense 3, to refer to directing someone to another location or resource ("A user was asking about some technobabble so I bamfed them to http://www.tuxedo.org/jargon/jargon.html.") :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. :binary four: n. [Usenet] The finger, in the sense of `digitus impudicus'. This comes from an analogy between binary and the hand, i.e. 1=00001=thumb, 2=00010=index finger, 3=00011=index and thumb, 4=00100. Considered silly. Prob. from humorous derivative of {finger}, sense 4. :bandwidth: n. 1. [common] Used by hackers (in a generalization of its technical meaning) as the volume of information per unit time that a computer, person, or transmission medium can handle. "Those are amazing graphics, but I missed some of the detail -- not enough bandwidth, I guess." Compare {low-bandwidth}. This generalized usage began to go mainstream after the Internet population explosion of 1993-1994. 2. Attention span. 3. On {Usenet}, a measure of network capacity that is often wasted by people complaining about how items posted by others are a waste of bandwidth. :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. [now historical] 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}}, {the network}, 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. This is probably now the commonest sense. :banner ad: n. Any of the annoying advertisements that span the tops of way too many Web pages. :bar: /bar/ n. 1. [very common] 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. [common] 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} (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/ n.,v. [common; from mainstream slang meaning `vomit'] 1. interj. Term of disgust. This is the closest hackish equivalent of the Valspeak "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. :barn: n. [uncommon; prob. from the nuclear military] An unexpectedly large quantity of something: a unit of measurement. "Why is /var/adm taking up so much space?" "The logs have grown to several barns." The source of this is clear: when physicists were first studying nuclear interactions, the probability was thought to be proportional to the cross-sectional area of the nucleus (this probability is still called the cross-section). Upon experimenting, they discovered the interactions were far more probable than expected; the nuclei were `as big as a barn'. The units for cross-sections were christened Barns, (10^-24 cm^2) and the book containing cross-sections has a picture of a barn on the cover. :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. [common] 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: /bay'-sic/ n. A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." This is another case (like {Pascal}) of the cascading {lossage} that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer (a) is very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros in the 1980s. As it is, it probably ruined tens of thousands of potential wizards. [1995: Some languages called `BASIC' aren't quite this nasty any more, having acquired Pascal- and C-like procedures and control structures and shed their line numbers. --ESR] Note: the name is commonly parsed as Beginner's All-purpose Symbolic Instruction Code, but this is a {backronym}. BASIC was originally named Basic, simply because it was a simple and basic programming language. Because most programming language names were in fact acronyms, BASIC was often capitalized just out of habit or to be silly. No acronym for BASIC originally existed or was intended (as one can verify by reading texts through the early 1970s). Later, around the mid-1970s, people began to make up backronyms for BASIC because they weren't sure. Beginner's All-purpose Symbolic Instruction Code is the one that caught on. :batbelt: n. Many hackers routinely hang numerous devices such as pagers, cell-phones, personal organizers, leatherman multitools, pocket knives, flashlights, walkie-talkies, even miniature computers from their belts. When many of these devices are worn at once, the hacker's belt somewhat resembles Batman's utility belt; hence it is referred to as a batbelt. :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/ n. [simplified from its technical meaning] n. Bits per second. Hence kilobaud or Kbaud, thousands of bits per second. The technical meaning is `level transitions per second'; this coincides with bps only for two-level modulation with no framing or stop bits. Most hackers are aware of these nuances but blithely ignore them. Historical note: `baud' was originally a unit of telegraph signalling speed, set at one pulse per second. It was proposed at the 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. [common] 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)." :bazaar: n.,adj. In 1997, after contemplating the success of {Linux} for three years, the Jargon File's own editor ESR wrote an analytical paper on hacker culture and development models titled The Cathedral and the Bazaar (http://www.tuxedo.org/~esr/writings/cathedral-bazaar/). The title metaphor caught on (see also {cathedral}), and the style of development typical in the Linux community is now often referred to as the bazaar mode. Its characteristics include releasing code early and often, and actively seeking the largest possible pool of peer reviewers. :bboard: /bee'bord/ n. [contraction of `bulletin board'] 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 an 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/ n. [common; abbreviation, `Bulletin Board System'] An electronic bulletin board system; that is, a message database where people can log in and leave broadcast messages for others grouped (typically) into {topic group}s. The term was especially applied tto the thousands of local BBS systems that operated during the pre-Internet microcomputer era of roughly 1980 to 1995., typically run by amateurs for fun out of their homes on MS-DOS boxes with a single modem line each. Fans of Usenet and Internet or the big commercial timesharing bboards such as CompuServe and GEnie tended to consider local BBSes the low-rent district of the hacker culture, but they served a valuable function by knitting together lots of hackers and users in the personal-micro world who would otherwise have been unable to exchange code at all. Post-Internet, BBSs are likely to be local newsgroups on an ISP; efficiency has increased but a certain flavor has been lost. See also {bboard}. :BCPL: // n. [abbreviation, `Basic Combined Programming Language') A programming language developed by Martin Richards in Cambridge in 1967. It is remarkable for its rich syntax, small size of compiler (it can be run in 16k) and extreme portability. It reached break-even point at a very early stage, and was the language in which the original {hello world} program was written. It has been ported to so many different systems that its creator confesses to having lost count. It has only one data type (a machine word) which can be used as an integer, a character, a floating point number, a pointer, or almost anything else, depending on context. BCPL was a precursor of C, which inherited some of its features. :beam: vt. [from Star Trek Classic's "Beam me up, Scotty!"] 1. To transfer {softcopy} of a file electronically; most often in combining forms such as `beam me a copy' or `beam that over to his site'. 2. Palm Pilot users very commonly use this term for the act of exchanging bits via the infrared links on their machines. Compare {blast}, {snarf}, {BLT}. :beanie key: n. [Mac users] See {command key}. :beep: n.,v. Syn. {feep}. This term is techspeak under MS-DOS and OS/2, and seems to be generally preferred among micro hobbyists. :Befunge: n. A worthy companion to {INTERCAL}; a computer language family which escapes the quotidian limitation of linear control flow and embraces program counters flying through multiple dimensions with exotic topologies. For details, see the Befunge home page at `http://www.cats-eye.com/cet/soft/lang/befunge/'. :beige toaster: n. A Macintosh. See {toaster}; compare {Macintrash}, {maggotbox}. :bells and whistles: n. [common] Features added to a program or system to make it more {flavorful} from a hacker's point of view, without necessarily adding to its utility for its primary function. Distinguished from {chrome}, which is intended to attract users. "Now that we've got the basic program working, let's go back and add some bells and whistles." No one seems to know what distinguishes a bell from a whistle. The recognized emphatic form is "bells, whistles, and gongs". It used to be thought that this term derived from the toyboxes on theater organs. However, the "and gongs" strongly suggests a different origin, at sea. Before powered horns, ships routinely used bells, whistles, and gongs to signal each other over longer distances than voice can carry. :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/ n. [from `berserk', via the name of a now-deceased record label; poss. originated by famed columnist Herb Caen] 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 group of lucky (or unlucky) trusted customers. 2. Anything that is new and experimental. "His girlfriend is in beta" means that he is still testing for compatibility and reserving judgment. 3. Flaky; dubious; suspect (since beta software is notoriously buggy). Historical note: More formally, to beta-test is to test a pre-release (potentially unreliable) version of a piece of software by making it available to selected (or self-selected) customers and users. This term derives from early 1960s terminology for product cycle checkpoints, first used at IBM but later standard throughout the industry. `Alpha Test' was the unit, module, or component test phase; `Beta Test' was initial system test. These themselves came from earlier A- and B-tests for hardware. The A-test was a feasibility and manufacturability evaluation done before any commitment to design and development. The B-test was a demonstration that the engineering model functioned as specified. The C-test (corresponding to today's beta) was the B-test performed on early samples of the production design, and the D test was the C test repeated after the model had been in production a while. :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}. :B1FF: /bif/ [Usenet] (alt. `BIFF') n. The most famous {pseudo}, and the prototypical {newbie}. Articles from B1FF feature 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 naivete. B1FF posts articles using his elder brother's VIC-20. B1FF'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 B1FF is a denizen of BITNET is supported by B1FF's (unfortunately invalid) electronic mail address: B1FF@BIT.NET. [1993: Now It Can Be Told! My spies inform me that B1FF 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] :BI: // Common written abbreviation for {Breidbart Index}. :biff: /bif/ vt. To notify someone of incoming mail. From the BSD utility `biff(1)', which was in turn named after a friendly dog who used to chase frisbees in the halls at UCB while 4.2BSD was in development. There was a legend that it had a habit of barking whenever the mailman came, but the author of `biff' says this is not true. No relation to {B1FF}. :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) 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. [common] 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: n. [IBM] 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: n. (Also `Big Blue Room') 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. 1. [common] Major success. 2. [MIT] 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: adj. [common; From Swift's "Gulliver's Travels" via the famous paper "On Holy Wars and a Plea for Peace" by Danny Cohen, USC/ISI IEN 137, dated April 1, 1980] 1. Describes a computer architecture in which, within a given multi-byte numeric representation, the most significant byte has the lowest address (the word is stored `big-end-first'). Most processors, including the IBM 370 family, the {PDP-10}, the Motorola microprocessor families, and most of the various RISC designs are big-endian. Big-endian byte order is also sometimes called `network order'. See {little-endian}, {middle-endian}, {NUXI problem}, {swab}. 2. An {{Internet address}} the wrong way round. Most of the world follows the Internet standard and writes email addresses starting with the name of the computer and ending up with the name of the country. In the U.K. the Joint Networking Team had decided to do it the other way round before the Internet domain standard was established. Most gateway sites have {ad-hockery} in their mailers to handle this, but can still be confused. In particular, the address me@uk.ac.bris.pys.as could be interpreted in JANET's big-endian way as one in the U.K. (domain uk) or in the standard little-endian way as one in the domain as (American Samoa) on the opposite side of the world. :bignum: /big'nuhm/ n. [common; orig. from MIT MacLISP] 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 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. [common] 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}, {Amiga Persecution Complex}. :bit: n. [from the mainstream meaning and `Binary digIT'] 1. [techspeak] The unit of information; the amount of information obtained by asking a yes-or-no question for which the two outcomes are equally probable. 2. [techspeak] A computational quantity that can take on one of two values, such as true and false or 0 and 1. 3. A mental flag: a reminder that something should be done eventually. "I have a bit set for you." (I haven't seen you for a while, and I'm supposed to tell or ask you something.) 4. More generally, a (possibly incorrect) mental state of belief. "I have a bit set that says that you were the last guy to hack on EMACS." (Meaning "I think you were the last guy to hack on EMACS, and what I am about to say is predicated on this, so please stop me if this isn't true.") "I just need one bit from you" is a polite way of indicating that you intend only a short interruption for a question that can presumably be answered yes or no. A bit is said to be `set' if its value is true or 1, and `reset' or `clear' if its value is false or 0. One speaks of setting and clearing bits. To {toggle} or `invert' a bit is to change it, either from 0 to 1 or from 1 to 0. See also {flag}, {trit}, {mode bit}. The term `bit' first appeared in print in the computer-science sense in 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 returned to use in the early 1990s on some RISC architectures because it consumes such an infinitesimal part of the processor that it actually makes sense not to have a UART. Compare {cycle of reincarnation}. :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. [very common] 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. [common] 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. [very common] 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 even more of a kluge than it already was, the design had to group characters that shared the same basic bit pattern on one key. Looking at the ASCII chart, we find: high low bits bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 010 ! " # $ % & ' ( ) 011 0 1 2 3 4 5 6 7 8 9 This is why the characters !"#$%&'() appear where they do on a Teletype (thankfully, they didn't use shift-0 for space). This was _not_ the weirdest variant of the {QWERTY} layout widely seen, by the way; that prize should probably go to one of several (differing) arrangements on IBM's even clunkier 026 and 029 card punches. When electronic terminals became popular, in the early 1970s, there was no agreement in the industry over how the keyboards should be laid out. Some vendors opted to emulate the Teletype keyboard, while others used the flexibility of electronic circuitry to make their product look like an office typewriter. These alternatives became known as `bit-paired' and `typewriter-paired' keyboards. To a hacker, the bit-paired keyboard seemed far more logical -- and because most hackers in those days had never learned to touch-type, there was little pressure from the pioneering users to adapt keyboards to the typewriter standard. The doom of the bit-paired keyboard was the large-scale introduction of the computer terminal into the normal office environment, where out-and-out technophobes were expected to use the equipment. The `typewriter-paired' standard became universal, `bit-paired' hardware was quickly junked or relegated to dusty corners, and both terms passed into disuse. However, in countries without a long history of touch typing, the argument against the bit-paired keyboard layout was weak or nonexistent. As a result, the standard Japanese keyboard, used on PC's, Unix boxen etc. still has all of the !"#$%&'() characters above the numbers in the ASR-33 layout. :bitblt: /bit'blit/ n. [from {BLT}, q.v.] 1. [common] 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/ n., obs. [acronym: Because It's Time NETwork] Everybody's least favorite piece of the network (see {the network}) - until AOL happened. The BITNET hosts were a collection of IBM dinosaurs and VAXen (the latter with lobotomized comm hardware) that communicate using 80-character {{EBCDIC}} card images (see {eighty-column mind}); thus, they tend to mangle the headers and text of third-party traffic from the rest of the ASCII/{RFC}-822 world with annoying regularity. BITNET was also notorious as the apparent home of {B1FF}. By 1995 it had, much to everyone's relief, been obsolesced and absorbed into the Internet. Unfortunately, around this time we also got AOL. :bits: pl.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 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}. :bixen: pl.n. Users of BIX (the BIX Information eXchange, formerly the Byte Information eXchange). Parallels other plurals like vixen, {VAXen}, oxen. :bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the Byte Information eXchange). The most common ({smiley}) bixie is <@_@>, representing two cartoon eyes and a mouth. These were originally invented in an SF fanzine called APA-L and imported to BIX by one of the earliest users. :black art: n. [common] 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.,vt. [common] What data (a piece of email or netnews, or a stream of TCP/IP packets) has fallen into if it disappears mysteriously between its origin and destination sites (that is, without returning a {bounce message}). "I think there's a black hole at foovax!" conveys suspicion that site foovax has been dropping a lot of stuff on the floor lately (see {drop on the floor}). The implied metaphor of email as interstellar travel is interesting in itself. Readily verbed as `blackhole': "That router is blackholing IDP packets." Compare {bit bucket}. :black magic: n. [common] 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). :Black Screen of Death: n. [prob. related to the Floating Head of Death in a famous "Far Side" cartoon.] A failure mode of {Microsloth Windows}. On an attempt to launch a DOS box, a networked Windows system not uncommonly blanks the screen and locks up the PC so hard that it requires a cold {boot} to recover. This unhappy phenomenon is known as The Black Screen of Death. See also {Blue Screen of Death}, which has become rather more common. :Black Thursday: n. February 8th, 1996 - the day of the signing into law of the {CDA}, so called by analogy with the catastrophic "Black Friday" in 1929 that began the Great Depression. :blammo: v. [Oxford Brookes University and alumni, UK] To forcibly remove someone from any interactive system, especially talker systems. The operators, who may remain hidden, may `blammo' a user who is misbehaving. Very similar to MIT {gun}; in fact, the `blammo-gun' is a notional device used to `blammo' someone. While in actual fact the only incarnation of the blammo-gun is the command used to forcibly eject a user, operators speak of different levels of blammo-gun fire; e.g., a blammo-gun to `stun' will temporarily remove someone, but a blammo-gun set to `maim' will stop someone coming back on for a while. :blargh: /blarg/ n. [MIT; now common] 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. v.,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/ interj. [very common; from Yiddish/German `brechen', to vomit, poss. via comic-strip exclamation `blech'] 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}, {bagbiting}, {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. :blink: vi.,n. To use a navigator or off-line message reader to minimize time spent on-line to a commercial network service. As of late 1994, this term was said to be in wide use in the UK, but is rare or unknown in the US. :blinkenlights: /blink'*n-li:tz/ n. [common] Front-panel diagnostic lights on a computer, esp. a {dinosaur}. Now that dinosaurs are rare, this term usually refers to status lights on a modem, network hub, or the like. This term derives from the last word of the famous blackletter-Gothic sign in mangled pseudo-German that once graced about half the computer rooms in the English-speaking world. One version ran in its entirety as follows: ACHTUNG! ALLES LOOKENSPEEPERS! Das computermachine ist nicht fuer gefingerpoken und mittengrabben. Ist easy schnappen der springenwerk, blowenfusen und poppencorken mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen. Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das pockets muss; relaxen und watchen das blinkenlichten. This silliness dates back at least as far as 1959 at Stanford University and had already gone international by the early 1960s, when it was reported at London University's ATLAS computing site. There are several variants of it in circulation, some of which actually do end with the word `blinkenlights'. In an amusing example of turnabout-is-fair-play, German hackers have developed their own versions of the blinkenlights poster in fractured English, one of which is reproduced here: ATTENTION This room is fullfilled mit special electronische equippment. Fingergrabbing and pressing the cnoeppkes from the computers is allowed for die experts only! So all the "lefthanders" stay away and do not disturben the brainstorming von here working intelligencies. Otherwise you will be out thrown and kicked anderswhere! Also: please keep still and only watchen astaunished the blinkenlights. See also {geef}. Old-time hackers sometimes get nostalgic for blinkenlights because they were so much more fun to look at than a blank panel. Sadly, very few computers still have them (the three LEDs on a PC keyboard certainly don't count). The obvious reasons (cost of wiring, cost of front-panel cutouts, almost nobody needs or wants to interpret machine-register states on the fly anymore) are only part of the story. Another part of it is that radio-frequency leakage from the lamp wiring was beginning to be a problem as far back as transistor machines. But the most fundamental fact is that there are very few signals slow enough to blink an LED these days! With slow CPUs, you could watch the bus register or instruction counter tick, but at 33/66/150MHz it's all a blur. Finally, a version updated for the Internet has been seen on news.admin.net-abuse.email: ACHTUNG! ALLES LOOKENSPEEPERS! Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist easy droppenpacket der routers und overloaden der backbone mit der spammen und der me-tooen. Ist nicht fuer gewerken bei das dumpkopfen. Das mausklicken sichtseeren keepen das bandwit-spewin hans in das pockets muss; relaxen und watchen das cursorblinken. :blit: /blit/ vt. 1. [common] 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. [historical, rare] 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. [common] 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 since 1990 the trend has been away from them (however, see {cycle of reincarnation}). Syn. {raster blaster}. :blivet: /bliv'*t/ n. [allegedly from a World War II military term meaning "ten pounds of manure in a five-pound bag"] 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. :bloatware: n. [common] Software that provides minimal functionality while requiring a disproportionate amount of diskspace and memory. Especially used for application and OS upgrades. This term is very common in the Windows/NT world. So is its cause. :BLOB: 1. n. [acronym: Binary Large OBject] Used by database people to refer to any random large block of bits that needs to be stored in a database, such as a picture or sound file. The essential point about a BLOB is that it's an object that cannot be interpreted within the database itself. 2. v. To {mailbomb} someone by sending a BLOB to him/her; esp. used as a mild threat. "If that program crashes again, I'm going to BLOB the core dump to you." :block: v. [common; 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: n. [from the television series "Dr. Who"] Computations so fiendishly subtle and complex that they could not be performed by machines. Used to refer to any task that should be expressible as an algorithm in theory, but isn't. (The Z80's LDIR instruction, "Computed Block Transfer with increment", may also be relevant.) :Bloggs Family: 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 old {DEC} Telephone Directory. Compare {Dr. Fred Mbogo}; {J. Random Hacker}; {Fred Foobar}. :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: vi. [prob. from mining and tunneling jargon] 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 four 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 box: n. 1. obs. Once upon a time, before all-digital switches made it possible for the phone companies to move them out of band, one could actually hear the switching tones used to route long-distance calls. Early {phreaker}s built devices called `blue boxes' that could reproduce these tones, which could be used to commandeer portions of the phone network. (This was not as hard as it may sound; one early phreak acquired the sobriquet `Captain Crunch' after he proved that he could generate switching tones with a plastic whistle pulled out of a box of Captain Crunch cereal!) There were other colors of box with more specialized phreaking uses; red boxes, black boxes, silver boxes, etc. 2. n. An {IBM} machine, especially a large (non-PC) one. :Blue Glue: n. [IBM] 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. The term `Blue Goo' can be found in Dr. Seuss's "Fox In Socks" to refer to a substance much like bubblegum. `Would you like to chew blue goo, sir?'. See {{nanotechnology}}. :Blue Screen of Death: n. [common] This term is closely related to the older {Black Screen of Death} but much more common (many non-hackers have picked it up). Due to the extreme fragility and bugginess of Microsoft Windows (3.1/95/NT versions), misbehaving applications can crash the OS. The Blue Screen of Death, sometimes decorated with hex error codes, is what you get when this happens. (Commonly abbreviated {BSOD}.) This event is sufficiently common to have inspired the following haiku from Alan Tuplin: Your system which soared So freely on gliding wings now hangs, frozen and blue The following entry from the Salon Haiku Contest (http://www.salonmagazine.com/21st/chal/1998/02/10chal2.html), seems to have predated popular use of the term (and may indeed have inspired it): Windows NT crashed. I am the Blue Screen of Death No one hears your screams. :blue wire: n. [IBM] 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}, {pink wire}. :blurgle: /bler'gl/ n. [UK] 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 tripled. "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 7. :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 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. [common; from ham radio] 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. Obsolete but still working hardware, especially when 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. :bob: n. At Demon Internet, all tech support personal are called "Bob". (Female support personnel have an option on "Bobette"). This has nothing to do with Bob the divine drilling-equipment salesman of the {Church of the SubGenius}. Nor is it acronymized from "Brother Of {BOFH}", though all parties agree it could have been. Rather, it was triggered by an unusually large draft of new tech-support people in 1995. It was observed that there would be much duplication of names. To ease the confusion, it was decided that all support techs would henceforth be known as "Bob", and identity badges were created labelled "Bob 1" and "Bob 2". (No, we never got any further). The reason for "Bob" rather than anything else is due to a {luser} calling and asking to speak to "Bob", despite the fact that no "Bob" was currently working for Tech Support. Since we all know "the customer is always right", it was decided that there had to be at least one "Bob" on duty at all times, just in case. This sillyness inexorably snowballed. Shift leaders and managers began to refer to their groups of "bobs". Whole ranks of support machines were set up (and still exist in the DNS as of 1999) as bob1 through bobN. Then came alt.tech-support.recovery, and it was filled with Demon support personnel. They all referred to themselves, and to others, as `bob', and after a while it caught on. There is now a Bob Code (http://bob.bob.bofh.org/~giolla/bobcode.html) describing the Bob nature. :bodysurf code: n. A program or segment of code written quickly in the heat of inspiration without the benefit of formal design or deep thought. Like its namesake sport, the result is too often a wipeout that leaves the programmer eating sand. :BOF: /B-O-F/ or /bof/ n. 1. [common] Abbreviation for the phrase "Birds Of a Feather" (flocking together), an informal discussion group and/or bull session scheduled on a conference program. It is not clear where or when this term originated, but it is now associated with the USENIX conferences for Unix techies and was already established there by 1984. It was used earlier than that at DECUS conferences and is reported to have been common at SHARE meetings as far back as the early 1960s. 2. Acronym, `Beginning of File'. :BOFH: // n. [common] Acronym, Bastard Operator From Hell. A system administrator with absolutely no tolerance for {luser}s. "You say you need more filespace? Seems to me you have plenty left..." Many BOFHs (and others who would be BOFHs if they could get away with it) hang out in the newsgroup alt.sysadmin.recovery, although there has also been created a top-level newsgroup hierarchy (bofh.*) of their own. Several people have written stories about BOFHs. The set usually considered canonical is by Simon Travaglia and may be found at the Bastard Home Page, `http://prime-mover.cc.waikato.ac.nz/Bastard.html'. BOFHs and BOFH wannabes hang out on {scary devil monastery} and wield {LART}s. :bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The archetypical perversely awful algorithm (as opposed to {bubble sort}, which is merely the generic _bad_ algorithm). Bogo-sort is equivalent to repeatedly throwing a deck of cards in the air, picking them up at random, and then testing whether they are in order. It serves as a sort of canonical example of awfulness. Looking at a program and seeing a dumb algorithm, one might say "Oh, I see, this program uses bogo-sort." Esp. appropriate for algorithms with factorial or super-exponential running time in the average case and probabilistically infinite worst-case running time. Compare {bogus}, {brute force}, {Lasherism}. A spectacular variant of bogo-sort has been proposed which has the interesting property that, if the Many Worlds interpretation of quantum mechanics is true, it can sort an arbitrarily large array in constant time. (In the Many-Worlds model, the result of any quantum action is to split the universe-before into a sheaf of universes-after, one for each possible way the state vector can collapse; in any one of the universes-after the result appears random.) The steps are: 1. Permute the array randomly using a quantum process, 2. If the array is not sorted, destroy the universe. Implementation of step 2 is left as an exercise for the reader. :bogometer: /boh-gom'-*t-er/ n. A notional instrument for measuring {bogosity}. Compare the {Troll-O-Meter} and the `wankometer' described in the {wank} entry; see also {bogus}. :bogon: /boh'gon/ n. [very common; by analogy with proton/electron/neutron, but doubtless reinforced after 1980 by the similarity to Douglas Adams's `Vogons'; see the {Bibliography} in Appendix C and note that Arthur Dent actually mispronounces `Vogons' as `Bogons' at one point] 1. The elementary particle of bogosity (see {quantum bogodynamics}). For instance, "the Ethernet is emitting bogons again" means that it is broken or acting in an erratic or bogus fashion. 2. A query packet sent from a TCP/IP domain resolver to a root server, having the reply bit set instead of the query bit. 3. Any bogus or incorrectly formed packet sent on a network. 4. By synecdoche, used to refer to any bogus thing, as in "I'd like to go to lunch with you but I've got to go to the weekly staff bogon". 5. A person who is bogus or who says bogus things. This was historically the original usage, but has been overtaken by its derivative senses 1-4. See also {bogosity}, {bogus}; compare {psyton}, {fat electrons}, {magic smoke}. The bogon has become the type case for a whole bestiary of nonce particle names, including the `clutron' or `cluon' (indivisible particle of cluefulness, obviously the antiparticle of the bogon) and the futon (elementary particle of {randomness}, or sometimes of lameness). These are not so much live usages in themselves as examples of a live meta-usage: that is, it has become a standard joke or linguistic maneuver to "explain" otherwise mysterious circumstances by inventing nonce particle names. And these imply nonce particle t