home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / modem / freeb40.zip / DICT < prev    next >
Text File  |  1993-03-25  |  163KB  |  3,168 lines

  1.         
  2.         Following is a dictionary of computer terms and slang.
  3.         The letters A and B are included here. Because of space limitations 
  4.         on this disk only a small part of the dictionary could be included - 
  5.         A and B terms. The complete dictionary in the registered version is over 
  6.         1 megabyte. That's 1 million bytes (300 + pages) of valuable information 
  7.         about almost every computer topic and term. In addition to definitions 
  8.         of terms there are also stories, legends, tables, charts, guides, etc. 
  9.         It will come in an easy to use format and you won't have to wait for 
  10.         the file to load. Can be viewed from the menu just as you're doing now.
  11.                  
  12.         Please note: The term hacker is used throughout this dictionary
  13.         to mean a serious computer user. This was the original meaning
  14.         of the word. It has unfortunately recently come to mean something
  15.         negative and is confused with the term 'cracker'. There are no tips 
  16.         in this dictionary for doing anything unnacceptable with a computer. 
  17.         Only definitions, terms, helpful info, anecdotes, listings, etc.   
  18.               
  19.  
  20.   #========= THIS IS THE JARGON FILE, VERSION 2.9.9, =========#
  21.  
  22. This is the Jargon File, a comprehensive compendium of hacker slang
  23. illuminating many aspects of hackish tradition, folklore, and humor.
  24.  
  25. This document (the Jargon File) is in the public domain, to be freely
  26. used, shared, and modified.  There are (by intention) no legal
  27. restraints on what you can do with it, but there are traditions about
  28. its proper use to which many hackers are quite strongly attached.
  29. Please extend the courtesy of proper citation when you quote the File,
  30. ideally with a version number, as it will change and grow over time.
  31. (Examples of appropropriate citation form: "Jargon File 2.9.9" or
  32. "The on-line hacker Jargon File, version 2.9.9.)
  33.  
  34. The Jargon File is a common heritage of the hacker culture.
  35. Over the years a number of individuals have volunteered considerable
  36. time to maintaining the File and been recognized by the net at large
  37. as editors of it.  Editorial responsibilities include: to collate
  38. contributions and suggestions from others; to seek out corroborating
  39. information; to cross-reference related entries; to keep the file in a
  40. consistent format; and to announce and distribute updated versions
  41. periodically.  Current volunteer editors include:
  42.  
  43.      Eric Raymond    eric@snark.thyrsus.com       
  44.  
  45. Although there is no requirement that you do so, it is considered good
  46. form to check with an editor before quoting the File in a published work
  47. or commercial product.  We may have additional information that would be
  48. helpful to you and can assist you in framing your quote to reflect
  49. not only the letter of the File but its spirit as well.
  50.  
  51. All contributions and suggestions about this file sent to a volunteer
  52. editor are gratefully received and will be regarded, unless otherwise
  53. labelled, as freely given donations for possible use as part of this
  54. public-domain file.
  55.  
  56. From time to time a snapshot of this file has been polished, edited,
  57. and formatted for commercial publication with the cooperation of the
  58. volunteer editors and the hacker community at large.  If you wish to
  59. have a bound paper copy of this file, you may find it convenient to
  60. purchase one of these.  They often contain additional material not
  61. found in on-line versions.  The two `authorized' editions so far are
  62. described in the Revision History section; there may be more in the
  63. future.
  64.  
  65. :Introduction:
  66. **************
  67.  
  68. :About This File:
  69. =================
  70.  
  71. This document is a collection of slang terms used by various subcultures
  72. of computer hackers.  Though some technical material is included for
  73. background and flavor, it is not a technical dictionary; what we
  74. describe here is the language hackers use among themselves for fun,
  75. social communication, and technical debate.
  76.  
  77. The `hacker culture' is actually a loosely networked collection of
  78. subcultures that is nevertheless conscious of some important shared
  79. experiences, shared roots, and shared values.  It has its own myths,
  80. heroes, villains, folk epics, in-jokes, taboos, and dreams.  Because
  81. hackers as a group are particularly creative people who define
  82. themselves partly by rejection of `normal' values and working habits, it
  83. has unusually rich and conscious traditions for an intentional culture
  84. less than 35 years old.
  85.  
  86. As usual with slang, the special vocabulary of hackers helps hold their
  87. culture together --- it helps hackers recognize each other's places in
  88. the community and expresses shared values and experiences.  Also as
  89. usual, *not* knowing the slang (or using it inappropriately) defines one
  90. as an outsider, a mundane, or (worst of all in hackish vocabulary)
  91. possibly even a {suit}.  All human cultures use slang in this threefold
  92. way --- as a tool of communication, and of inclusion, and of exclusion.
  93.  
  94. Among hackers, though, slang has a subtler aspect, paralleled perhaps in
  95. the slang of jazz musicians and some kinds of fine artists but hard to
  96. detect in most technical or scientific cultures; parts of it are code
  97. for shared states of *consciousness*.  There is a whole range of altered
  98. states and problem-solving mental stances basic to high-level hacking
  99. which don't fit into conventional linguistic reality any better than a
  100. Coltrane solo or one of Maurits Escher's `trompe l'oeil' compositions
  101. (Escher is a favorite of hackers), and hacker slang encodes these
  102. subtleties in many unobvious ways.  As a simple example, take the
  103. distinction between a {kluge} and an {elegant} solution, and the
  104. differing connotations attached to each.  The distinction is not only of
  105. engineering significance; it reaches right back into the nature of the
  106. generative processes in program design and asserts something important
  107. about two different kinds of relationship between the hacker and the
  108. hack.  Hacker slang is unusually rich in implications of this kind, of
  109. overtones and undertones that illuminate the hackish psyche.
  110.  
  111. But there is more.  Hackers, as a rule, love wordplay and are very
  112. conscious and inventive in their use of language.  These traits seem to
  113. be common in young children, but the conformity-enforcing machine we are
  114. pleased to call an educational system bludgeons them out of most of us
  115. before adolescence.  Thus, linguistic invention in most subcultures of
  116. the modern West is a halting and largely unconscious process.  Hackers,
  117. by contrast, regard slang formation and use as a game to be played for
  118. conscious pleasure.  Their inventions thus display an almost unique
  119. combination of the neotenous enjoyment of language-play with the
  120. discrimination of educated and powerful intelligence.  Further, the
  121. electronic media which knit them together are fluid, `hot' connections,
  122. well adapted to both the dissemination of new slang and the ruthless
  123. culling of weak and superannuated specimens.  The results of this
  124. process give us perhaps a uniquely intense and accelerated view of
  125. linguistic evolution in action.
  126.  
  127. The intensity and consciousness of hackish invention make a compilation
  128. of hacker slang a particularly effective window into the surrounding
  129. culture --- and, in fact, this one is the latest version of an evolving
  130. compilation called the `Jargon File', maintained by hackers themselves
  131. for over 15 years.  This one (like its ancestors) is primarily a
  132. lexicon, but also includes `topic entries' which collect background or
  133. sidelight information on hacker culture that would be awkward to try to
  134. subsume under individual entries.
  135.  
  136. Though the format is that of a reference volume, it is intended that the
  137. material be enjoyable to browse.  Even a complete outsider should find
  138. at least a chuckle on nearly every page, and much that is amusingly
  139. thought-provoking.  But it is also true that hackers use humorous
  140. wordplay to make strong, sometimes combative statements about what they
  141. feel.  Some of these entries reflect the views of opposing sides in
  142. disputes that have been genuinely passionate; this is deliberate.  We
  143. have not tried to moderate or pretty up these disputes; rather we have
  144. attempted to ensure that *everyone's* sacred cows get gored,
  145. impartially.  Compromise is not particularly a hackish virtue, but the
  146. honest presentation of divergent viewpoints is.
  147.  
  148. The reader with minimal computer background who finds some references
  149. incomprehensibly technical can safely ignore them.  We have not felt it
  150. either necessary or desirable to eliminate all such; they, too,
  151. contribute flavor, and one of this document's major intended audiences
  152. --- fledgling hackers already partway inside the culture --- will
  153. benefit from them.
  154.  
  155. A selection of longer items of hacker folklore and humor is included in
  156. {appendix A}.  The `outside' reader's attention is particularly directed
  157. to {appendix B}, "A Portrait of J. Random Hacker".  {Appendix C} is a
  158. bibliography of non-technical works which have either influenced or
  159. described the hacker culture.
  160.  
  161. Because hackerdom is an intentional culture (one each individual must
  162. choose by action to join), one should not be surprised that the line
  163. between description and influence can become more than a little blurred.
  164. Earlier versions of the Jargon File have played a central role in
  165. spreading hacker language and the culture that goes with it to
  166. successively larger populations, and we hope and expect that this one
  167. will do likewise.
  168.  
  169. The 2.9.6 version (an earlier version) became the main text of `The New
  170. Hacker's Dictionary', by Eric Raymond (ed.), MIT Press 1991, ISBN
  171. 0-262-68069-6.  The maintainers are committed to updating the on-line version
  172. of the Jargon File through and beyond paper publication, and will continue to
  173. make it available to archives and public-access sites as a trust of the
  174. hacker community.
  175.  
  176. :How Jargon Works:
  177. ******************
  178.  
  179. :Jargon Construction:
  180. =====================
  181.  
  182. There are some standard methods of jargonification that became
  183. established quite early (i.e., before 1970), spreading from such sources
  184. as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers, and John
  185. McCarthy's original crew of LISPers.  These include the following:
  186.  
  187.  
  188. :1. Verb doubling: ------------------ A standard construction in English
  189. is to double a verb and use it as an exclamation, such as "Bang, bang!"
  190. or "Quack, quack!".  Most of these are names for noises.  Hackers also
  191. double verbs as a concise, sometimes sarcastic comment on what the
  192. implied subject does.  Also, a doubled verb is often used to terminate a
  193. conversation, in the process remarking on the current state of affairs
  194. or what the speaker intends to do next.  Typical examples involve {win},
  195. {lose}, {hack}, {flame}, {barf}, {chomp}:
  196.  
  197.      "The disk heads just crashed."  "Lose, lose."
  198.      "Mostly he talked about his latest crock.  Flame, flame."
  199.      "Boy, what a bagbiter!  Chomp, chomp!"
  200.  
  201. Some verb-doubled constructions have special meanings not immediately
  202. obvious from the verb.  These have their own listings in the lexicon.
  203.  
  204. The USENET culture has one *tripling* convention unrelated to this; the
  205. names of `joke' topic groups often have a tripled last element.  The
  206. paradigmatic example was alt.swedish.chef.bork.bork.bork (a "Sesame
  207. Street" reference); other classics include
  208. alt.wesley.crusher.die.die.die,
  209. comp.unix.internals.system.calls.brk.brk.brk,
  210. sci.physics.edward.teller.boom.boom.boom, and
  211. alt.sadistic.dentists.drill.drill.drill.
  212.  
  213.  
  214. :2. Soundalike slang: --------------------- Hackers will often make
  215. rhymes or puns in order to convert an ordinary word or phrase into
  216. something more interesting.  It is considered particularly {flavorful}
  217. if the phrase is bent so as to include some other jargon word; thus the
  218. computer hobbyist magazine `Dr. Dobb's Journal' is almost always
  219. referred to among hackers as `Dr. Frob's Journal' or simply `Dr.
  220. Frob's'.  Terms of this kind that have been in fairly wide use include
  221. names for newspapers:
  222.  
  223.      Boston Herald => Horrid (or Harried)
  224.      Boston Globe => Boston Glob
  225.      Houston (or San Francisco) Chronicle
  226.             => the Crocknicle (or the Comical)
  227.      New York Times => New York Slime
  228.  
  229. However, terms like these are often made up on the spur of the moment.
  230. Standard examples include:
  231.  
  232.      Data General => Dirty Genitals
  233.      IBM 360 => IBM Three-Sickly
  234.      Government Property --- Do Not Duplicate (on keys)
  235.             => Government Duplicity --- Do Not Propagate
  236.      for historical reasons => for hysterical raisins
  237.      Margaret Jacks Hall (the CS building at Stanford)
  238.             => Marginal Hacks Hall
  239.  
  240. This is not really similar to the Cockney rhyming slang it has been
  241. compared to in the past, because Cockney substitutions are opaque
  242. whereas hacker punning jargon is intentionally transparent.
  243.  
  244.  
  245. :3. The `-P' convention: ------------------------ Turning a word into a
  246. question by appending the syllable `P'; from the LISP convention of
  247. appending the letter `P' to denote a predicate (a boolean-valued
  248. function).  The question should expect a yes/no answer, though it
  249. needn't.  (See {T} and {NIL}.)
  250.  
  251.      At dinnertime:
  252.            Q: "Foodp?"
  253.            A: "Yeah, I'm pretty hungry." or "T!"
  254.  
  255.      At any time:
  256.            Q: "State-of-the-world-P?"
  257.            A: (Straight) "I'm about to go home."
  258.            A: (Humorous) "Yes, the world has a state."
  259.  
  260.      On the phone to Florida:
  261.            Q: "State-p Florida?"
  262.            A: "Been reading JARGON.TXT again, eh?"
  263.  
  264. [One of the best of these is a {Gosperism}.  Once, when we were at a
  265. Chinese restaurant, Bill Gosper wanted to know whether someone would
  266. like to share with him a two-person-sized bowl of soup.  His inquiry
  267. was: "Split-p soup?" --- GLS]
  268.  
  269.  
  270. :4. Overgeneralization: ----------------------- A very conspicuous
  271. feature of jargon is the frequency with which techspeak items such as
  272. names of program tools, command language primitives, and even assembler
  273. opcodes are applied to contexts outside of computing wherever hackers
  274. find amusing analogies to them.  Thus (to cite one of the best-known
  275. examples) UNIX hackers often {grep} for things rather than searching for
  276. them.  Many of the lexicon entries are generalizations of exactly this
  277. kind.
  278.  
  279. Hackers enjoy overgeneralization on the grammatical level as well.  Many
  280. hackers love to take various words and add the wrong endings to them to
  281. make nouns and verbs, often by extending a standard rule to nonuniform
  282. cases (or vice versa).  For example, because
  283.  
  284.      porous => porosity
  285.      generous => generosity
  286.  
  287. hackers happily generalize:
  288.  
  289.      mysterious => mysteriosity
  290.      ferrous => ferrosity
  291.      obvious => obviosity
  292.      dubious => dubiosity
  293.  
  294. Also, note that all nouns can be verbed.  E.g.: "All nouns can be
  295. verbed", "I'll mouse it up", "Hang on while I clipboard it over", "I'm
  296. grepping the files".  English as a whole is already heading in this
  297. direction (towards pure-positional grammar like Chinese); hackers are
  298. simply a bit ahead of the curve.
  299.  
  300. However, note that hackers avoid the unimaginative verb-making
  301. techniques characteristic of marketroids, bean-counters, and the
  302. Pentagon; a hacker would never, for example, `productize', `prioritize',
  303. or `securitize' things.  Hackers have a strong aversion to bureaucratic
  304. bafflegab and regard those who use it with contempt.
  305.  
  306. Similarly, all verbs can be nouned.  This is only a slight
  307. overgeneralization in modern English; in hackish, however, it is good
  308. form to mark them in some standard nonstandard way.  Thus:
  309.  
  310.      win => winnitude, winnage
  311.      disgust => disgustitude
  312.      hack => hackification
  313.  
  314. Further, note the prevalence of certain kinds of nonstandard plural
  315. forms.  Some of these go back quite a ways; the TMRC Dictionary noted
  316. that the defined plural of `caboose' is `cabeese', and includes an entry
  317. which implies that the plural of `mouse' is {meeces}.  On a similarly
  318. Anglo-Saxon note, almost anything ending in `x' may form plurals in
  319. `-xen' (see {VAXen} and {boxen} in the main text).  Even words ending in
  320. phonetic /k/ alone are sometimes treated this way; e.g., `soxen' for a
  321. bunch of socks.  Other funny plurals are `frobbotzim' for the plural of
  322. `frobbozz' (see {frobnitz}) and `Unices' and `Twenices' (rather than
  323. `Unixes' and `Twenexes'; see {UNIX}, {TWENEX} in main text).  But note
  324. that `Unixen' and `Twenexen' are never used; it has been suggested that
  325. this is because `-ix' and `-ex' are Latin singular endings that attract
  326. a Latinate plural.  Finally, it has been suggested to general approval
  327. that the plural of `mongoose' ought to be `polygoose'.
  328.  
  329. The pattern here, as with other hackish grammatical quirks, is
  330. generalization of an inflectional rule that in English is either an
  331. import or a fossil (such as the Hebrew plural ending `-im', or the
  332. Anglo-Saxon plural suffix `-en') to cases where it isn't normally
  333. considered to apply.
  334.  
  335. This is not `poor grammar', as hackers are generally quite well aware of
  336. what they are doing when they distort the language.  It is grammatical
  337. creativity, a form of playfulness.  It is done not to impress but to
  338. amuse, and never at the expense of clarity.
  339.  
  340.  
  341. :5. Spoken inarticulations: --------------------------- Words such as
  342. `mumble', `sigh', and `groan' are spoken in places where their referent
  343. might more naturally be used.  It has been suggested that this usage
  344. derives from the impossibility of representing such noises on a comm
  345. link or in electronic mail (interestingly, the same sorts of
  346. constructions have been showing up with increasing frequency in comic
  347. strips).  Another expression sometimes heard is "Complain!", meaning "I
  348. have a complaint!"
  349.  
  350.  
  351. :6. Anthromorphization: ----------------------- Semantically, one rich
  352. source of jargon constructions is the hackish tendency to
  353. anthropomorphize hardware and software.  This isn't done in a na"ive
  354. way; hackers don't personalize their stuff in the sense of feeling
  355. empathy with it, nor do they mystically believe that the things they
  356. work on every day are `alive'.  What *is* common is to hear hardware or
  357. software talked about as though it has homunculi talking to each other
  358. inside it, with intentions and desires.  Thus, one hears "The protocol
  359. handler got confused", or that programs "are trying" to do things, or
  360. one may say of a routine that "its goal in life is to X".  One even
  361. hears explanations like "...  and its poor little brain couldn't
  362. understand X, and it died."  Sometimes modelling things this way
  363. actually seems to make them easier to understand, perhaps because it's
  364. instinctively natural to think of anything with a really complex
  365. behavioral repertoire as `like a person' rather than `like a thing'.
  366.  
  367.  
  368.  
  369. Of the six listed constructions, verb doubling, peculiar noun
  370. formations, anthromorphization, and (especially) spoken inarticulations
  371. have become quite general; but punning jargon is still largely confined
  372. to MIT and other large universities, and the `-P' convention is found
  373. only where LISPers flourish.
  374.  
  375. Finally, note that many words in hacker jargon have to be understood as
  376. members of sets of comparatives.  This is especially true of the
  377. adjectives and nouns used to describe the beauty and functional quality
  378. of code.  Here is an approximately correct spectrum:
  379.  
  380.      monstrosity  brain-damage  screw  bug  lose  misfeature
  381.      crock  kluge  hack  win  feature  elegance  perfection
  382.  
  383. The last is spoken of as a mythical absolute, approximated but never
  384. actually attained.  Another similar scale is used for describing the
  385. reliability of software:
  386.  
  387.      broken  flaky  dodgy  fragile  brittle
  388.      solid  robust  bulletproof  armor-plated
  389.  
  390. Note, however, that `dodgy' is primarily Commonwealth hackish (it is
  391. rare in the U.S.) and may change places with `flaky' for some speakers.
  392.  
  393. Coinages for describing {lossage} seem to call forth the very finest in
  394. hackish linguistic inventiveness; it has been truly said that hackers
  395. have even more words for equipment failures than Yiddish has for
  396. obnoxious people.
  397.  
  398. :How to Use the Lexicon:
  399. ************************
  400.  
  401. :Pronunciation Guide:
  402. =====================
  403.  
  404. Pronunciation keys are provided in the jargon listings for all entries
  405. that are neither dictionary words pronounced as in standard English nor
  406. obvious compounds thereof.  Slashes bracket phonetic pronunciations,
  407. which are to be interpreted using the following conventions:
  408.  
  409.   1. Syllables are hyphen-separated, except that an accent or back-accent
  410.      follows each accented syllable (the back-accent marks a secondary
  411.      accent in some words of four or more syllables).
  412.  
  413.   2. Consonants are pronounced as in American English.  The letter `g' is
  414.      always hard (as in "got" rather than "giant"); `ch' is soft
  415.      ("church" rather than "chemist").  The letter `j' is the sound
  416.      that occurs twice in "judge".  The letter `s' is always as in
  417.      "pass", never a z sound.  The digraph `kh' is the guttural of
  418.      "loch" or "l'chaim".
  419.  
  420.   3. Uppercase letters are pronounced as their English letter names; thus
  421.      (for example) /H-L-L/ is equivalent to /aitch el el/.  /Z/ may
  422.      be pronounced /zee/ or /zed/ depending on your local dialect.
  423.  
  424.   4. Vowels are represented as follows:
  425.  
  426.      a
  427.             back, that
  428.      ar
  429.             far, mark
  430.      aw
  431.             flaw, caught
  432.      ay
  433.             bake, rain
  434.      e
  435.             less, men
  436.      ee
  437.             easy, ski
  438.      eir
  439.             their, software
  440.      i
  441.             trip, hit
  442.      i:
  443.             life, sky
  444.      o
  445.             father, palm
  446.      oh
  447.             flow, sew
  448.      oo
  449.             loot, through
  450.      or
  451.             more, door
  452.      ow
  453.             out, how
  454.      oy
  455.             boy, coin
  456.      uh
  457.             but, some
  458.      u
  459.             put, foot
  460.      y
  461.             yet, young
  462.      yoo
  463.             few, chew
  464.      [y]oo
  465.             /oo/ with optional fronting as in `news' (/nooz/ or /nyooz/)
  466.  
  467. A /*/ is used for the `schwa' sound of unstressed or occluded vowels
  468. (the one that is often written with an upside-down `e').  The schwa
  469. vowel is omitted in syllables containing vocalic r, l, m or n; that is,
  470. `kitten' and `color' would be rendered /kit'n/ and /kuhl'r/, not
  471. /kit'*n/ and /kuhl'*r/.
  472.  
  473. Entries with a pronunciation of `//' are written-only usages.  (No, UNIX
  474. weenies, this does *not* mean `pronounce like previous pronunciation'!)
  475.  
  476. Various abbreviations used frequently in the lexicon are summarized here:
  477.  
  478. abbrev.
  479.      abbreviation
  480. adj.
  481.      adjective
  482. adv.
  483.      adverb
  484. alt.
  485.      alternate
  486. cav.
  487.      caveat
  488. esp.
  489.      especially
  490. excl.
  491.      exclamation
  492. imp.
  493.      imperative
  494. interj.
  495.      interjection
  496. n.
  497.      noun
  498. obs.
  499.      obsolete
  500. pl.
  501.      plural
  502. poss.
  503.      possibly
  504. pref.
  505.      prefix
  506. prob.
  507.      probably
  508. prov.
  509.      proverbial
  510. quant.
  511.      quantifier
  512. suff.
  513.      suffix
  514. syn.
  515.      synonym (or synonymous with)
  516. v.
  517.      verb (may be transitive or intransitive)
  518. var.
  519.      variant
  520. vi.
  521.      intransitive verb
  522. vt.
  523.      transitive verb
  524.  
  525. Where alternate spellings or pronunciations are given, alt.
  526. separates two possibilities with nearly equal distribution, while
  527. var. prefixes one that is markedly less common than the primary.
  528.  
  529. Where a term can be attributed to a particular subculture or is known
  530. to have originated there, we have tried to so indicate.  Here is a
  531. list of abbreviations used in etymologies:
  532.  
  533. Berkeley
  534.      University of California at Berkeley
  535. Cambridge
  536.      the university in England (*not* the city in Massachusetts where
  537.      MIT happens to be located!)
  538. BBN
  539.      Bolt, Beranek & Newman
  540. CMU
  541.      Carnegie-Mellon University
  542. Commodore
  543.      Commodore Business Machines
  544. DEC
  545.      The Digital Equipment Corporation
  546. Fairchild
  547.      The Fairchild Instruments Palo Alto development group
  548. Fidonet
  549.      See the {Fidonet} entry
  550. IBM
  551.      International Business Machines
  552. MIT
  553.      Massachusetts Institute of Technology; esp. the legendary MIT AI Lab
  554.      culture of roughly 1971 to 1983 and its feeder groups, including the
  555.      Tech Model Railroad Club
  556. NYU
  557.      New York University
  558. OED
  559.      The Oxford English Dictionary
  560. Purdue
  561.      Purdue University
  562. SAIL
  563.      Stanford Artificial Intelligence Laboratory (at Stanford
  564.      University)
  565. SI
  566.      From Syst`eme International, the name for the standard
  567.      conventions of metric nomenclature used in the sciences
  568. Stanford
  569.      Stanford University
  570. Sun
  571.      Sun Microsystems
  572. TMRC
  573.      Some MITisms go back as far as the Tech Model Railroad Club (TMRC) at
  574.      MIT c. 1960.  Material marked TMRC is from `An Abridged Dictionary
  575.      of the TMRC Language', originally compiled by Pete Samson in 1959
  576. UCLA
  577.      University of California at Los Angeles
  578. UK
  579.      the United Kingdom (England, Wales, Scotland, Northern Ireland)
  580. USENET
  581.      See the {USENET} entry
  582. WPI
  583.      Worcester Polytechnic Institute, site of a very active community of
  584.      PDP-10 hackers during the 1970s
  585. XEROX PARC
  586.      XEROX's Palo Alto Research Center, site of much pioneering research in
  587.      user interface design and networking
  588. Yale
  589.      Yale University
  590.  
  591. The Jargon Lexicon
  592. ******************
  593.  
  594. = A =
  595. =====
  596.  
  597. :abbrev: /*-breev'/, /*-brev'/ n. Common abbreviation for
  598.    `abbreviation'.
  599.  
  600. :ABEND: [ABnormal END] /ah'bend/, /*-bend'/ n. Abnormal
  601.    termination (of software); {crash}; {lossage}.  Derives from an
  602.    error message on the IBM 360; used jokingly by hackers but
  603.    seriously mainly by {code grinder}s.  Usually capitalized, but may
  604.    appear as `abend'.  Hackers will try to persuade you that ABEND is
  605.    called `abend' because it is what system operators do to the
  606.    machine late on Friday when they want to call it a day, and hence
  607.    is from the German `Abend' = `Evening'.
  608.  
  609. :accumulator: n. 1. Archaic term for a register.  On-line use of it
  610.    as a synonym for `register' is a fairly reliable indication that
  611.    the user has been around for quite a while and/or that the
  612.    architecture under discussion is quite old.  The term in full is
  613.    almost never used of microprocessor registers, for example, though
  614.    symbolic names for arithmetic registers beginning in `A' derive
  615.    from historical use of the term `accumulator' (and not, actually,
  616.    from `arithmetic').  Confusingly, though, an `A' register name
  617.    prefix may also stand for `address', as for example on the
  618.    Motorola 680x0 family.  2. A register being used for arithmetic or
  619.    logic (as opposed to addressing or a loop index), especially one
  620.    being used to accumulate a sum or count of many items.  This use is
  621.    in context of a particular routine or stretch of code.  "The
  622.    FOOBAZ routine uses A3 as an accumulator."  3. One's in-basket
  623.    (esp. among old-timers who might use sense 1).  "You want this
  624.    reviewed?  Sure, just put it in the accumulator."  (See {stack}.)
  625.  
  626. :ACK: /ak/ interj. 1. [from the ASCII mnemonic for 0000110]
  627.    Acknowledge.  Used to register one's presence (compare mainstream
  628.    *Yo!*).  An appropriate response to {ping} or {ENQ}.
  629.    2. [from the comic strip "Bloom County"] An exclamation of
  630.    surprised disgust, esp. in "Ack pffft!"  Semi-humorous.
  631.    Generally this sense is not spelled in caps (ACK) and is
  632.    distinguished by a following exclamation point.  3. Used to
  633.    politely interrupt someone to tell them you understand their point
  634.    (see {NAK}).  Thus, for example, you might cut off an overly
  635.    long explanation with "Ack.  Ack.  Ack.  I get it now".
  636.  
  637.    There is also a usage "ACK?" (from sense 1) meaning "Are you
  638.    there?", often used in email when earlier mail has produced no
  639.    reply, or during a lull in {talk mode} to see if the person has
  640.    gone away (the standard humorous response is of course {NAK}
  641.    (sense 2), i.e., "I'm not here").
  642.  
  643. :ad-hockery: /ad-hok'*r-ee/ [Purdue] n. 1. Gratuitous assumptions
  644.    made inside certain programs, esp. expert systems, which lead to
  645.    the appearance of semi-intelligent behavior but are in fact
  646.    entirely arbitrary.  For example, fuzzy-matching input tokens that
  647.    might be typing errors against a symbol table can make it look as
  648.    though a program knows how to spell.  2. Special-case code to cope
  649.    with some awkward input that would otherwise cause a program to
  650.    {choke}, presuming normal inputs are dealt with in some cleaner
  651.    and more regular way.  Also called `ad-hackery', `ad-hocity'
  652.    (/ad-hos'*-tee/).  See also {ELIZA effect}.
  653.  
  654. :Ada:: n. A {{Pascal}}-descended language that has been made
  655.    mandatory for Department of Defense software projects by the
  656.    Pentagon.  Hackers are nearly unanimous in observing that,
  657.    technically, it is precisely what one might expect given that kind
  658.    of endorsement by fiat; designed by committee, crockish, difficult
  659.    to use, and overall a disastrous, multi-billion-dollar boondoggle
  660.    (one common description is "The PL/I of the 1980s").  Hackers
  661.    find Ada's exception-handling and inter-process communication
  662.    features particularly hilarious.  Ada Lovelace (the daughter of
  663.    Lord Byron who became the world's first programmer while
  664.    cooperating with Charles Babbage on the design of his mechanical
  665.    computing engines in the mid-1800s) would almost certainly blanch
  666.    at the use to which her name has latterly been put; the kindest
  667.    thing that has been said about it is that there is probably a good
  668.    small language screaming to get out from inside its vast,
  669.    {elephantine} bulk.
  670.  
  671. :adger: /aj'r/ [UCLA] vt. To make a bonehead move with consequences
  672.    that could have been foreseen with a slight amount of mental
  673.    effort.  E.g., "He started removing files and promptly adgered the
  674.    whole project".  Compare {dumbass attack}.
  675.  
  676. :admin: /ad-min'/ n. Short for `administrator'; very commonly
  677.    used in speech or on-line to refer to the systems person in charge
  678.    on a computer.  Common constructions on this include `sysadmin'
  679.    and `site admin' (emphasizing the administrator's role as a site
  680.    contact for email and news) or `newsadmin' (focusing specifically
  681.    on news).  Compare {postmaster}, {sysop}, {system
  682.    mangler}.
  683.  
  684. :ADVENT: /ad'vent/ n. The prototypical computer adventure game, first
  685.    implemented on the {PDP-10} by Will Crowther as an attempt at
  686.    computer-refereed fantasy gaming, and expanded into a
  687.    puzzle-oriented game by Don Woods.  Now better known as Adventure,
  688.    but the {{TOPS-10}} operating system permitted only 6-letter
  689.    filenames.  See also {vadding}.
  690.  
  691.    This game defined the terse, dryly humorous style now expected in
  692.    text adventure games, and popularized several tag lines that have
  693.    become fixtures of hacker-speak:  "A huge green fierce snake bars
  694.    the way!"  "I see no X here" (for some noun X).  "You are in a
  695.    maze of twisty little passages, all alike."  "You are in a little
  696.    maze of twisty passages, all different."  The `magic words'
  697.    {xyzzy} and {plugh} also derive from this game.
  698.  
  699.    Crowther, by the way, participated in the exploration of the
  700.    Mammoth & Flint Ridge cave system; it actually *has* a
  701.    `Colossal Cave' and a `Bedquilt' as in the game, and the `Y2' that
  702.    also turns up is cavers' jargon for a map reference to a secondary
  703.    entrance.
  704.  
  705. :AI-complete: /A-I k*m-pleet'/ [MIT, Stanford: by analogy with
  706.    `NP-complete' (see {NP-})] adj. Used to describe problems or
  707.    subproblems in AI, to indicate that the solution presupposes a
  708.    solution to the `strong AI problem' (that is, the synthesis of a
  709.    human-level intelligence).  A problem that is AI-complete is, in
  710.    other words, just too hard.
  711.  
  712.    Examples of AI-complete problems are `The Vision Problem'
  713.    (building a system that can see as well as a human) and `The
  714.    Natural Language Problem' (building a system that can understand
  715.    and speak a natural language as well as a human).  These may appear
  716.    to be modular, but all attempts so far (1991) to solve them have
  717.    foundered on the amount of context information and `intelligence'
  718.    they seem to require. See also {gedanken}.
  719.  
  720. :AI koans: /A-I koh'anz/ pl.n. A series of pastiches of Zen
  721.    teaching riddles created by Danny Hillis at the MIT AI Lab around
  722.    various major figures of the Lab's culture (several are included
  723.    under "{A Selection of AI Koans}" in {appendix
  724.    A}).  See also {ha ha only serious}, {mu}, and {{Humor,
  725.    Hacker}}.
  726.  
  727. :AIDS: /aydz/ n. Short for A* Infected Disk Syndrome (`A*' is a
  728.    {glob} pattern that matches, but is not limited to, Apple),
  729.    this condition is quite often the result of practicing unsafe
  730.    {SEX}.  See {virus}, {worm}, {Trojan horse},
  731.    {virgin}.
  732.  
  733. :AIDX: n. /aydkz/ n. Derogatory term for IBM's perverted version
  734.    of UNIX, AIX, especially for the AIX 3.? used in the IBM RS/6000
  735.    series.  A victim of the dreaded "hybridism" disease, this
  736.    attempt to combine the two main currents of the UNIX stream
  737.    ({BSD} and {USG UNIX}) became a {monstrosity} to haunt
  738.    system administrators' dreams.  For example, if new accounts are
  739.    created while many users are logged on, the load average jumps
  740.    quickly over 20 due to silly implementation of the user databases.
  741.    For a quite similar disease, compare {HP-SUX}.
  742.  
  743. :airplane rule: n. "Complexity increases the possibility of
  744.    failure; a twin-engine airplane has twice as many engine problems
  745.    as a single-engine airplane."  By analogy, in both software and
  746.    electronics, the rule that simplicity increases robustness (see
  747.    also {KISS Principle}).  It is correspondingly argued that the
  748.    right way to build reliable systems is to put all your eggs in one
  749.    basket, after making sure that you've built a really *good*
  750.    basket.
  751.  
  752. :aliasing bug: n. A class of subtle programming errors that can
  753.    arise in code that does dynamic allocation, esp. via
  754.    `malloc(3)' or equivalent.  If more than one pointer addresses
  755.    (`aliases for') a given hunk of storage, it may happen that the
  756.    storage is freed through one alias and then referenced through
  757.    another, which may lead to subtle (and possibly intermittent)
  758.    lossage depending on the state and the allocation history of the
  759.    malloc {arena}.  Avoidable by use of allocation strategies that
  760.    never alias allocated core.  Also avoidable by use of higher-level
  761.    languages, such as {LISP}, which employ a garbage collector
  762.    (see {GC}).  Also called a {stale pointer bug}.  See also
  763.    {precedence lossage}, {smash the stack}, {fandango on
  764.    core}, {memory leak}, {memory smash}, {overrun screw},
  765.    {spam}.
  766.  
  767.    Historical note: Though this term is nowadays associated with
  768.    C programming, it was already in use in a very similar sense in the
  769.    Algol-60 and FORTRAN communities in the 1960s.
  770.  
  771. :all-elbows: adj. Of a TSR (terminate-and-stay-resident) IBM PC
  772.    program, such as the N pop-up calendar and calculator utilities
  773.    that circulate on {BBS} systems: unsociable.  Used to describe a
  774.    program that rudely steals the resources that it needs without
  775.    considering that other TSRs may also be resident.  One particularly
  776.    common form of rudeness is lock-up due to programs fighting over
  777.    the keyboard interrupt.  See {rude}, also {mess-dos}.
  778.  
  779. :alpha particles: n. See {bit rot}.
  780.  
  781. :ALT: /awlt/ 1. n. The ALT shift key on an IBM PC or {clone}.
  782.    2. [possibly lowercased] n. The `clover' or `Command' key on a
  783.    Macintosh; use of this term usually reveals that the speaker hacked
  784.    PCs before coming to the Mac (see also {feature key}).  Some Mac
  785.    hackers, confusingly, reserve `ALT' for the Option key.  3. n.obs.
  786.    [PDP-10] Alternate name for the ASCII ESC character (ASCII
  787.    0011011), after the keycap labeling on some older terminals.  Also
  788.    `ALTMODE' (/awlt'mohd/).  This character was almost never
  789.    pronounced `escape' on an ITS system, in {TECO}, or under
  790.    TOPS-10 --- always ALT, as in "Type ALT ALT to end a TECO
  791.    command" or "ALT U onto the system" (for "log onto the [ITS]
  792.    system").  This was probably because ALT is more convenient to say
  793.    than `escape', especially when followed by another ALT or a
  794.    character (or another ALT *and* a character, for that matter).
  795.  
  796. :alt bit: /awlt bit/ [from alternate] adj. See {meta bit}.
  797.  
  798. :Aluminum Book: [MIT] n. `Common LISP: The Language', by
  799.    Guy L.  Steele Jr. (Digital Press, first edition 1984, second
  800.    edition 1990).  Note that due to a technical screwup some printings
  801.    of the second edition are actually of a color the author describes
  802.    succinctly as "yucky green".  See also {{book titles}}.
  803.  
  804. :amoeba: n. Humorous term for the Commodore Amiga personal computer.
  805.  
  806. :amp off: [Purdue] vt. To run in {background}.  From the UNIX shell `&'
  807.    operator.
  808.  
  809. :amper: n. Common abbreviation for the name of the ampersand (`&',
  810.    ASCII 0100110) character.  See {{ASCII}} for other synonyms.
  811.  
  812. :angle brackets: n. Either of the characters `<' (ASCII
  813.    0111100) and `>' (ASCII 0111110) (ASCII less-than or
  814.    greater-than signs).  The {Real World} angle brackets used by
  815.    typographers are actually taller than a less-than or greater-than
  816.    sign.
  817.    See {broket}, {{ASCII}}.
  818.  
  819. :angry fruit salad: n. A bad visual-interface design that uses too
  820.    many colors.  This derives, of course, from the bizarre day-glo
  821.    colors found in canned fruit salad.  Too often one sees similar
  822.    affects from interface designers using color window systems such as
  823.    {X}; there is a tendency to create displays that are flashy and
  824.    attention-getting but uncomfortable for long-term use.
  825.  
  826. :annoybot: /*-noy-nott/ [IRC] n. See {robot}.
  827.  
  828. :AOS: 1. /aws/ (East Coast), /ay-os/ (West Coast) [based on a
  829.    PDP-10 increment instruction] vt.,obs. To increase the amount of
  830.    something.  "AOS the campfire."  Usage: considered silly, and now
  831.    obsolete.  Now largely supplanted by {bump}.  See {SOS}.  2. A
  832.    {{Multics}}-derived OS supported at one time by Data General.  This
  833.    was pronounced /A-O-S/ or /A-os/.  A spoof of the standard
  834.    AOS system administrator's manual (`How to Load and Generate
  835.    your AOS System') was created, issued a part number, and circulated
  836.    as photocopy folklore.  It was called `How to Goad and
  837.    Levitate your CHAOS System'.  3. Algebraic Operating System, in
  838.    reference to those calculators which use infix instead of postfix
  839.    (reverse Polish) notation.
  840.  
  841.    Historical note: AOS in sense 1 was the name of a {PDP-10}
  842.    instruction that took any memory location in the computer and added
  843.    1 to it; AOS meant `Add One and do not Skip'.  Why, you may ask,
  844.    does the `S' stand for `do not Skip' rather than for `Skip'?  Ah,
  845.    here was a beloved piece of PDP-10 folklore.  There were eight such
  846.    instructions: AOSE added 1 and then skipped the next instruction
  847.    if the result was Equal to zero; AOSG added 1 and then skipped if
  848.    the result was Greater than 0; AOSN added 1 and then skipped
  849.    if the result was Not 0; AOSA added 1 and then skipped Always;
  850.    and so on.  Just plain AOS didn't say when to skip, so it never
  851.    skipped.
  852.  
  853.    For similar reasons, AOJ meant `Add One and do not Jump'.  Even
  854.    more bizarre, SKIP meant `do not SKIP'!  If you wanted to skip the
  855.    next instruction, you had to say `SKIPA'.  Likewise, JUMP meant
  856.    `do not JUMP'; the unconditional form was JUMPA.  However, hackers
  857.    never did this.  By some quirk of the 10's design, the {JRST}
  858.    (Jump and ReSTore flag with no flag specified) was actually faster
  859.    and so was invariably used.  Such were the perverse mysteries of
  860.    assembler programming.
  861.  
  862. :app: /ap/ n. Short for `application program', as opposed to a
  863.    systems program.  What systems vendors are forever chasing
  864.    developers to create for their environments so they can sell more
  865.    boxes.  Hackers tend not to think of the things they themselves run
  866.    as apps; thus, in hacker parlance the term excludes compilers,
  867.    program editors, games, and messaging systems, though a user would
  868.    consider all those to be apps.  Oppose {tool}, {operating
  869.    system}.
  870.  
  871. :arc: [primarily MSDOS] vt. To create a compressed {archive} from a
  872.    group of files using SEA ARC, PKWare PKARC, or a compatible
  873.    program.  Rapidly becoming obsolete as the ARC compression method
  874.    is falling into disuse, having been replaced by newer compression
  875.    techniques.  See {tar and feather}, {zip}.
  876.  
  877. :arc wars: [primarily MSDOS] n. {holy wars} over which archiving
  878.    program one should use.  The first arc war was sparked when System
  879.    Enhancement Associates (SEA) sued PKWare for copyright and
  880.    trademark infringement on its ARC program.  PKWare's PKARC
  881.    outperformed ARC on both compression and speed while largely
  882.    retaining compatibility (it introduced a new compression type that
  883.    could be disabled for backward-compatibility).  PKWare settled out
  884.    of court to avoid enormous legal costs (both SEA and PKWare are
  885.    small companies); as part of the settlement, the name of PKARC was
  886.    changed to PKPAK.  The public backlash against SEA for bringing
  887.    suit helped to hasten the demise of ARC as a standard when PKWare
  888.    and others introduced new, incompatible archivers with better
  889.    compression algorithms.
  890.  
  891. :archive: n. 1. A collection of several files bundled into one file
  892.    by a program such as `ar(1)', `tar(1)', `cpio(1)',
  893.    or {arc} for shipment or archiving (sense 2).  See also {tar
  894.    and feather}.  2. A collection of files or archives (sense 1) made
  895.    available from an `archive site' via {FTP} or an email server.
  896.  
  897. :arena: [UNIX] n. The area of memory attached to a process by
  898.    `brk(2)' and `sbrk(2)' and used by `malloc(3)' as
  899.    dynamic storage.  So named from a semi-mythical `malloc:
  900.    corrupt arena' message supposedly emitted when some early versions
  901.    became terminally confused.  See {overrun screw}, {aliasing
  902.    bug}, {memory leak}, {memory smash}, {smash the stack}.
  903.  
  904. :arg: /arg/ n. Abbreviation for `argument' (to a function),
  905.    used so often as to have become a new word (like `piano' from
  906.    `pianoforte').  "The sine function takes 1 arg, but the
  907.    arc-tangent function can take either 1 or 2 args."  Compare
  908.    {param}, {parm}, {var}.
  909.  
  910. :armor-plated: n. Syn. for {bulletproof}.
  911.  
  912. :asbestos: adj. Used as a modifier to anything intended to protect
  913.    one from {flame}s.  Important cases of this include {asbestos
  914.    longjohns} and {asbestos cork award}, but it is used more
  915.    generally.
  916.  
  917. :asbestos cork award: n. Once, long ago at MIT, there was a {flamer}
  918.    so consistently obnoxious that another hacker designed, had made,
  919.    and distributed posters announcing that said flamer had been
  920.    nominated for the `asbestos cork award'.  Persons in any doubt as
  921.    to the intended application of the cork should consult the
  922.    etymology under {flame}.  Since then, it is agreed that only a
  923.    select few have risen to the heights of bombast required to earn
  924.    this dubious dignity --- but there is no agreement on *which*
  925.    few.
  926.  
  927. :asbestos longjohns: n. Notional garments often donned by {USENET}
  928.    posters just before emitting a remark they expect will elicit
  929.    {flamage}.  This is the most common of the {asbestos} coinages.
  930.    Also `asbestos underwear', `asbestos overcoat', etc.
  931.  
  932. :ASCII:: [American Standard Code for Information Interchange]
  933.    /as'kee/ n. The predominant character set encoding of present-day
  934.    computers.  Uses 7 bits for each character, whereas most earlier
  935.    codes (including an early version of ASCII) used fewer.  This
  936.    change allowed the inclusion of lowercase letters --- a major
  937.    {win} --- but it did not provide for accented letters or any
  938.    other letterforms not used in English (such as the German sharp-S
  939.    and the ae-ligature
  940.    which is a letter in, for example, Norwegian).  It could be worse,
  941.    though.  It could be much worse.  See {{EBCDIC}} to understand how.
  942.    
  943.    Computers are much pickier and less flexible about spelling than
  944.    humans; thus, hackers need to be very precise when talking about
  945.    characters, and have developed a considerable amount of verbal
  946.    shorthand for them.  Every character has one or more names --- some
  947.    formal, some concise, some silly.  Common jargon names for ASCII
  948.    characters are collected here.  See also individual entries for
  949.    {bang}, {excl}, {open}, {ques}, {semi}, {shriek},
  950.    {splat}, {twiddle}, and {Yu-Shiang Whole Fish}.
  951.  
  952.    This list derives from revision 2.3 of the USENET ASCII
  953.    pronunciation guide.  Single characters are listed in ASCII order;
  954.    character pairs are sorted in by first member.  For each character,
  955.    common names are given in rough order of popularity, followed by
  956.    names that are reported but rarely seen; official ANSI/CCITT names
  957.    are surrounded by brokets: <>.  Square brackets mark the
  958.    particularly silly names introduced by {INTERCAL}.  Ordinary
  959.    parentheticals provide some usage information.
  960.  
  961.      !
  962.           Common: {bang}; pling; excl; shriek; <exclamation mark>.
  963.           Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey;
  964.           wham; [spark-spot]; soldier.
  965.  
  966.      "
  967.           Common: double quote; quote.  Rare: literal mark;
  968.           double-glitch; <quotation marks>; <dieresis>; dirk;
  969.           [rabbit-ears]; double prime.
  970.  
  971.      #
  972.           Common: <number sign>; pound; pound sign; hash; sharp;
  973.           {crunch}; hex; [mesh]; octothorpe.  Rare: flash; crosshatch;
  974.           grid; pig-pen; tictactoe; scratchmark; thud; thump; {splat}.
  975.  
  976.      $
  977.           Common: dollar; <dollar sign>.  Rare: currency symbol; buck;
  978.           cash; string (from BASIC); escape (when used as the echo of
  979.           ASCII ESC); ding; cache; [big money].
  980.  
  981.      %
  982.           Common: percent; <percent sign>; mod; grapes.  Rare:
  983.           [double-oh-seven].
  984.  
  985.      &
  986.           Common: <ampersand>; amper; and.  Rare: address (from C);
  987.           reference (from C++); andpersand; bitand; background (from
  988.           `sh(1)'); pretzel; amp.  [INTERCAL called this `ampersand';
  989.           what could be sillier?]
  990.  
  991.      '
  992.           Common: single quote; quote; <apostrophe>.  Rare: prime;
  993.           glitch; tick; irk; pop; [spark]; <closing single quotation
  994.           mark>; <acute accent>.
  995.  
  996.      ()
  997.           Common: left/right paren; left/right parenthesis; left/right;
  998.           paren/thesis; open/close paren; open/close; open/close
  999.           parenthesis; left/right banana.  Rare: so/al-ready;
  1000.           lparen/rparen; <opening/closing parenthesis>; open/close round
  1001.           bracket, parenthisey/unparenthisey; [wax/wane]; left/right
  1002.           ear.
  1003.  
  1004.      *
  1005.           Common: star; [{splat}]; <asterisk>.  Rare: wildcard; gear;
  1006.           dingle; mult; spider; aster; times; twinkle; glob (see
  1007.           {glob}); {Nathan Hale}.
  1008.  
  1009.      +
  1010.           Common: <plus>; add.  Rare: cross; [intersection].
  1011.  
  1012.      ,
  1013.           Common: <comma>.  Rare: <cedilla>; [tail].
  1014.  
  1015.      -
  1016.           Common: dash; <hyphen>; <minus>.  Rare: [worm]; option; dak;
  1017.           bithorpe.
  1018.  
  1019.      .
  1020.           Common: dot; point; <period>; <decimal point>.  Rare: radix
  1021.           point; full stop; [spot].
  1022.  
  1023.      /
  1024.           Common: slash; stroke; <slant>; forward slash.  Rare:
  1025.           diagonal; solidus; over; slak; virgule; [slat].
  1026.  
  1027.      :
  1028.           Common: <colon>.  Rare: dots; [two-spot].
  1029.  
  1030.      ;
  1031.           Common: <semicolon>; semi.  Rare: weenie; [hybrid],
  1032.           pit-thwong.
  1033.  
  1034.      <>
  1035.           Common: <less/greater than>; left/right angle bracket;
  1036.           bra/ket; left/right broket.  Rare: from/{into, towards}; read
  1037.           from/write to; suck/blow; comes-from/gozinta; in/out;
  1038.           crunch/zap (all from UNIX); [angle/right angle].
  1039.  
  1040.      =
  1041.           Common: <equals>; gets; takes.  Rare: quadrathorpe;
  1042.           [half-mesh].
  1043.  
  1044.      ?
  1045.           Common: query; <question mark>; {ques}.  Rare: whatmark;
  1046.           [what]; wildchar; huh; hook; buttonhook; hunchback.
  1047.  
  1048.      @
  1049.           Common: at sign; at; strudel.  Rare: each; vortex; whorl;
  1050.           [whirlpool]; cyclone; snail; ape; cat; rose; cabbage;
  1051.           <commercial at>.
  1052.  
  1053.      V
  1054.           Rare: [book].
  1055.  
  1056.      []
  1057.           Common: left/right square bracket; <opening/closing bracket>;
  1058.           bracket/unbracket; left/right bracket.  Rare: square/unsquare;
  1059.           [U turn/U turn back].
  1060.  
  1061.      \
  1062.           Common: backslash; escape (from C/UNIX); reverse slash; slosh;
  1063.           backslant; backwhack.  Rare: bash; <reverse slant>; reversed
  1064.           virgule; [backslat].
  1065.  
  1066.      ^
  1067.           Common: hat; control; uparrow; caret; <circumflex>.  Rare:
  1068.           chevron; [shark (or shark-fin)]; to the (`to the power of');
  1069.           fang; pointer (in Pascal).
  1070.  
  1071.      _
  1072.           Common: <underline>; underscore; underbar; under.  Rare:
  1073.           score; backarrow; skid; [flatworm].
  1074.  
  1075.      `
  1076.           Common: backquote; left quote; left single quote; open quote;
  1077.           <grave accent>; grave.  Rare: backprime; [backspark];
  1078.           unapostrophe; birk; blugle; back tick; back glitch; push;
  1079.           <opening single quotation mark>; quasiquote.
  1080.  
  1081.      {}
  1082.           Common: open/close brace; left/right brace; left/right
  1083.           squiggly; left/right squiggly bracket/brace; left/right curly
  1084.           bracket/brace; <opening/closing brace>.  Rare: brace/unbrace;
  1085.           curly/uncurly; leftit/rytit; left/right squirrelly;
  1086.           [embrace/bracelet].
  1087.  
  1088.      |
  1089.           Common: bar; or; or-bar; v-bar; pipe; vertical bar.  Rare:
  1090.           <vertical line>; gozinta; thru; pipesinta (last three from
  1091.           UNIX); [spike].
  1092.  
  1093.      ~
  1094.           Common: <tilde>; squiggle; {twiddle}; not.  Rare: approx;
  1095.           wiggle; swung dash; enyay; [sqiggle (sic)].
  1096.  
  1097.    The pronunciation of `#' as `pound' is common in the U.S.
  1098.    but a bad idea; {{Commonwealth Hackish}} has its own, rather more
  1099.    apposite use of `pound sign' (confusingly, on British keyboards
  1100.    the pound graphic
  1101.    happens to replace `#'; thus Britishers sometimes
  1102.    call `#' on a U.S.-ASCII keyboard `pound', compounding the
  1103.    American error).  The U.S. usage derives from an old-fashioned
  1104.    commercial practice of using a `#' suffix to tag pound weights
  1105.    on bills of lading.  The character is usually pronounced `hash'
  1106.    outside the U.S.
  1107.  
  1108.    The `uparrow' name for circumflex and `leftarrow' name for
  1109.    underline are historical relics from archaic ASCII (the 1963
  1110.    version), which had these graphics in those character positions
  1111.    rather than the modern punctuation characters.
  1112.  
  1113.    The `swung dash' or `approximation' sign is not quite the same
  1114.    as tilde in typeset material
  1115.    but the ASCII tilde serves for both (compare {angle
  1116.    brackets}).
  1117.  
  1118.    Some other common usages cause odd overlaps.  The `#',
  1119.    `$', `>', and `&' characters, for example, are all
  1120.    pronounced "hex" in different communities because various
  1121.    assemblers use them as a prefix tag for hexadecimal constants (in
  1122.    particular, `#' in many assembler-programming cultures,
  1123.    `$' in the 6502 world, `>' at Texas Instruments, and
  1124.    `&' on the BBC Micro, Sinclair, and some Z80 machines).  See
  1125.    also {splat}.
  1126.  
  1127.    The inability of ASCII text to correctly represent any of the
  1128.    world's other major languages makes the designers' choice of 7 bits
  1129.    look more and more like a serious {misfeature} as the use of
  1130.    international networks continues to increase (see {software
  1131.    rot}).  Hardware and software from the U.S. still tends to embody
  1132.    the assumption that ASCII is the universal character set; this is a
  1133.    a major irritant to people who want to use a character set suited
  1134.    to their own languages.  Perversely, though, efforts to solve this
  1135.    problem by proliferating `national' character sets produce an
  1136.    evolutionary pressure to use a *smaller* subset common to all
  1137.    those in use.
  1138.  
  1139. :ASCII art: n. The fine art of drawing diagrams using the ASCII
  1140.    character set (mainly `|', `-', `/', `\', and
  1141.    `+').  Also known as `character graphics' or `ASCII
  1142.    graphics'; see also {boxology}.  Here is a serious example:
  1143.  
  1144.  
  1145.          o----)||(--+--|<----+   +---------o + D O
  1146.            L  )||(  |        |   |             C U
  1147.          A I  )||(  +-->|-+  |   +-\/\/-+--o -   T
  1148.          C N  )||(        |  |   |      |        P
  1149.            E  )||(  +-->|-+--)---+--)|--+-o      U
  1150.               )||(  |        |          | GND    T
  1151.          o----)||(--+--|<----+----------+     
  1152.  
  1153.             A power supply consisting of a full
  1154.             wave rectifier circuit feeding a
  1155.             capacitor input filter circuit
  1156.  
  1157.                                Figure 1.
  1158.  
  1159.    And here are some very silly examples:
  1160.  
  1161.  
  1162.        |\/\/\/|     ____/|              ___    |\_/|    ___
  1163.        |      |     \ o.O|   ACK!      /   \_  |` '|  _/   \
  1164.        |      |      =(_)=  THPHTH!   /      \/     \/      \
  1165.        | (o)(o)        U             /                       \
  1166.        C      _)  (__)                \/\/\/\  _____  /\/\/\/
  1167.        | ,___|    (oo)                       \/     \/
  1168.        |   /       \/-------\         U                  (__)
  1169.       /____\        ||     | \    /---V  `v'-            oo )
  1170.      /      \       ||---W||  *  * |--|   || |`.         |_/\
  1171.  
  1172.                                Figure 2.
  1173.  
  1174.    There is an important subgenre of humorous ASCII art that takes
  1175.    advantage of the names of the various characters to tell a
  1176.    pun-based joke.
  1177.  
  1178.      +--------------------------------------------------------+
  1179.      |      ^^^^^^^^^^^^                                      |
  1180.      | ^^^^^^^^^^^            ^^^^^^^^^                       |
  1181.      |                 ^^^^^^^^^^^^^            ^^^^^^^^^^^^^ |
  1182.      |        ^^^^^^^         B       ^^^^^^^^^               |
  1183.      |  ^^^^^^^^^          ^^^            ^^^^^^^^^^^^^^      |
  1184.      +--------------------------------------------------------+
  1185.                   " A Bee in the Carrot Patch "
  1186.  
  1187.                                Figure 3.
  1188.  
  1189.    Within humorous ASCII art, there is for some reason an entire
  1190.    flourishing subgenre of pictures of silly cows.  Four of these are
  1191.    reproduced in Figure 2; here are three more:
  1192.  
  1193.  
  1194.               (__)              (__)              (__)
  1195.               (\/)              ($$)              (**)
  1196.        /-------\/        /-------\/        /-------\/
  1197.       / | 666 ||        / |=====||        / |     ||
  1198.      *  ||----||       *  ||----||       *  ||----||
  1199.         ~~    ~~          ~~    ~~          ~~    ~~ 
  1200.      Satanic cow    This cow is a Yuppie   Cow in love
  1201.  
  1202.                                Figure 4.
  1203.  
  1204. :attoparsec: n. `atto-' is the standard SI prefix for
  1205.    multiplication by 10^(-18).  A parsec (parallax-second) is
  1206.    3.26 light-years; an attoparsec is thus 3.26 * 10^(-18) light
  1207.    years, or about 3.1 cm (thus, 1 attoparsec/{microfortnight}
  1208.    equals about 1 inch/sec).  This unit is reported to be in use
  1209.    (though probably not very seriously) among hackers in the U.K.  See
  1210.    {micro-}.
  1211.  
  1212. :autobogotiphobia: /aw'to-boh-got`*-foh'bee-*/ n. See {bogotify}.
  1213.  
  1214. :automagically: /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ adv.
  1215.    Automatically, but in a way that, for some reason (typically
  1216.    because it is too complicated, or too ugly, or perhaps even too
  1217.    trivial), the speaker doesn't feel like explaining to you.  See
  1218.    {magic}.  "The C-INTERCAL compiler generates C, then automagically
  1219.    invokes `cc(1)' to produce an executable."
  1220.  
  1221. :avatar: [CMU, Tektronix] n. Syn. {root}, {superuser}.  There
  1222.    are quite a few UNIX machines on which the name of the superuser
  1223.    account is `avatar' rather than `root'.  This quirk was
  1224.    originated by a CMU hacker who disliked the term `superuser',
  1225.    and was propagated through an ex-CMU hacker at Tektronix.
  1226.  
  1227. :awk: 1. n. [UNIX techspeak] An interpreted language for massaging
  1228.    text data developed by Alfred Aho, Peter Weinberger, and Brian
  1229.    Kernighan (the name is from their initials).  It is characterized
  1230.    by C-like syntax, a declaration-free approach to variable typing
  1231.    and declarations, associative arrays, and field-oriented text
  1232.    processing.  See also {Perl}.  2. n.  Editing term for an
  1233.    expression awkward to manipulate through normal {regexp}
  1234.    facilities (for example, one containing a {newline}).  3. vt. To
  1235.    process data using `awk(1)'.
  1236.  
  1237. = B =
  1238. =====
  1239.  
  1240. :back door: n. A hole in the security of a system deliberately left
  1241.    in place by designers or maintainers.  The motivation for this is
  1242.    not always sinister; some operating systems, for example, come out
  1243.    of the box with privileged accounts intended for use by field
  1244.    service technicians or the vendor's maintenance programmers.
  1245.  
  1246.    Historically, back doors have often lurked in systems longer than
  1247.    anyone expected or planned, and a few have become widely known.
  1248.    The infamous {RTM} worm of late 1988, for example, used a back door
  1249.    in the {BSD} UNIX `sendmail(8)' utility.
  1250.  
  1251.    Ken Thompson's 1983 Turing Award lecture to the ACM revealed the
  1252.    existence of a back door in early UNIX versions that may have
  1253.    qualified as the most fiendishly clever security hack of all time.
  1254.    The C compiler contained code that would recognize when the
  1255.    `login' command was being recompiled and insert some code
  1256.    recognizing a password chosen by Thompson, giving him entry to the
  1257.    system whether or not an account had been created for him.
  1258.  
  1259.    Normally such a back door could be removed by removing it from the
  1260.    source code for the compiler and recompiling the compiler.  But to
  1261.    recompile the compiler, you have to *use* the compiler --- so
  1262.    Thompson also arranged that the compiler would *recognize when
  1263.    it was compiling a version of itself*, and insert into the
  1264.    recompiled compiler the code to insert into the recompiled `login'
  1265.    the code to allow Thompson entry --- and, of course, the code to
  1266.    recognize itself and do the whole thing again the next time around!
  1267.    And having done this once, he was then able to recompile the
  1268.    compiler from the original sources, leaving his back door in place
  1269.    and active but with no trace in the sources.
  1270.  
  1271.    The talk that revealed this truly moby hack was published as
  1272.    "Reflections on Trusting Trust", `Communications of the
  1273.    ACM 27', 8 (August 1984), pp. 761--763.
  1274.  
  1275.    Syn. {trap door}; may also be called a `wormhole'.  See also
  1276.    {iron box}, {cracker}, {worm}, {logic bomb}.
  1277.  
  1278. :backbone cabal: n. A group of large-site administrators who pushed
  1279.    through the {Great Renaming} and reined in the chaos of {USENET}
  1280.    during most of the 1980s.  The cabal {mailing list} disbanded in
  1281.    late 1988 after a bitter internal catfight, but the net hardly
  1282. noticed.
  1283.  
  1284. :backbone site: n. A key USENET and email site; one that processes
  1285.    a large amount of third-party traffic, especially if it is the home
  1286.    site of any of the regional coordinators for the USENET maps.
  1287.    Notable backbone sites as of early 1991 include uunet and the
  1288.    mail machines at Rutgers University, UC Berkeley, DEC's Western
  1289.    Research Laboratories, Ohio State University, and the University of
  1290.    Texas.  Compare {rib site}, {leaf site}.
  1291.  
  1292. :backgammon:: See {bignum}, {moby}, and {pseudoprime}.
  1293.  
  1294. :background: n.,adj.,vt.  To do a task `in background' is to do
  1295.    it whenever {foreground} matters are not claiming your undivided
  1296.    attention, and `to background' something means to relegate it to
  1297.    a lower priority.  "For now, we'll just print a list of nodes and
  1298.    links; I'm working on the graph-printing problem in background."
  1299.    Note that this implies ongoing activity but at a reduced level or
  1300.    in spare time, in contrast to mainstream `back burner' (which
  1301.    connotes benign neglect until some future resumption of activity).
  1302.    Some people prefer to use the term for processing that they have
  1303.    queued up for their unconscious minds (a tack that one can often
  1304.    fruitfully take upon encountering an obstacle in creative work).
  1305.    Compare {amp off}, {slopsucker}.
  1306.  
  1307.    Technically, a task running in background is detached from the
  1308.    terminal where it was started (and often running at a lower
  1309.    priority); oppose {foreground}.  Nowadays this term is primarily
  1310.    associated with {{UNIX}}, but it appears to have been first used
  1311.    in this sense on OS/360.
  1312.  
  1313. :backspace and overstrike: interj. Whoa!  Back up.  Used to suggest
  1314.    that someone just said or did something wrong.  Common among
  1315.    APL programmers.
  1316.  
  1317. :backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ [from
  1318.    `backward compatibility'] n. A property of hardware or software
  1319.    revisions in which previous protocols, formats, and layouts are
  1320.    discarded in favor of `new and improved' protocols, formats, and
  1321.    layouts.  Occurs usually when making the transition between major
  1322.    releases.  When the change is so drastic that the old formats are
  1323.    not retained in the new version, it is said to be `backward
  1324.    combatable'.  See {flag day}.
  1325.  
  1326. :BAD: /B-A-D/ [IBM: acronym, `Broken As Designed'] adj.  Said
  1327.    of a program that is {bogus} because of bad design and misfeatures
  1328.    rather than because of bugginess.  See {working as designed}.
  1329.  
  1330. :Bad Thing: [from the 1930 Sellar & Yeatman parody `1066 And
  1331.    All That'] n. Something that can't possibly result in improvement
  1332.    of the subject.  This term is always capitalized, as in "Replacing
  1333.    all of the 9600-baud modems with bicycle couriers would be a Bad
  1334.    Thing".  Oppose {Good Thing}.  British correspondents confirm
  1335.    that {Bad Thing} and {Good Thing} (and prob. therefore {Right
  1336.    Thing} and {Wrong Thing}) come from the book referenced in the
  1337.    etymology, which discusses rulers who were Good Kings but Bad
  1338.    Things.  This has apparently created a mainstream idiom on the
  1339.    British side of the pond.
  1340.  
  1341. :bag on the side: n. An extension to an established hack that is
  1342.    supposed to add some functionality to the original.  Usually
  1343.    derogatory, implying that the original was being overextended and
  1344.    should have been thrown away, and the new product is ugly,
  1345.    inelegant, or bloated.  Also v. phrase, `to hang a bag on the side
  1346.    [of]'.  "C++?  That's just a bag on the side of C ...." "They
  1347.    want me to hang a bag on the side of the accounting system."
  1348.  
  1349. :bagbiter: /bag'bi:t-*r/ n. 1. Something, such as a program or a
  1350.    computer, that fails to work, or works in a remarkably clumsy
  1351.    manner.  "This text editor won't let me make a file with a line
  1352.    longer than 80 characters!  What a bagbiter!"  2. A person who has
  1353.    caused you some trouble, inadvertently or otherwise, typically by
  1354.    failing to program the computer properly.  Synonyms: {loser},
  1355.    {cretin}, {chomper}.  3. adj. `bagbiting' Having the
  1356.    quality of a bagbiter.  "This bagbiting system won't let me
  1357.    compute the factorial of a negative number."  Compare {losing},
  1358.    {cretinous}, {bletcherous}, `barfucious' (under
  1359.    {barfulous}) and `chomping' (under {chomp}).  4. `bite
  1360.    the bag' vi. To fail in some manner.  "The computer keeps crashing
  1361.    every 5 minutes."  "Yes, the disk controller is really biting the
  1362.    bag."  The original loading of these terms was almost undoubtedly
  1363.    obscene, possibly referring to the scrotum, but in their current
  1364.    usage they have become almost completely sanitized.
  1365.  
  1366.    A program called Lexiphage on the old MIT AI PDP-10 would draw on
  1367.    a selected victim's bitmapped terminal the words "THE BAG" in
  1368.    ornate letters, and then a pair of jaws biting pieces of it off.
  1369.    This is the first and to date only known example of a program
  1370.    *intended* to be a bagbiter.
  1371.  
  1372. :bamf: /bamf/ 1. [from old X-Men comics] interj. Notional sound
  1373.    made by a person or object teleporting in or out of the hearer's
  1374.    vicinity.  Often used in {virtual reality} (esp. {MUD})
  1375.    electronic {fora} when a character wishes to make a dramatic
  1376.    entrance or exit.  2. The sound of magical transformation, used in
  1377.    virtual reality {fora} like sense 1.  3. [from `Don
  1378.    Washington's Survival Guide'] n. Acronym for `Bad-Ass Mother
  1379.    Fucker', used to refer to one of the handful of nastiest monsters
  1380.    on an LPMUD or other similar MUD.
  1381.  
  1382. :banana label: n. The labels often used on the sides of {macrotape}
  1383.    reels, so called because they are shaped roughly like blunt-ended
  1384.    bananas.  This term, like macrotapes themselves, is still current
  1385.    but visibly headed for obsolescence.
  1386.  
  1387. :banana problem: n. [from the story of the little girl who said "I
  1388.    know how to spell `banana', but I don't know when to stop"].  Not
  1389.    knowing where or when to bring a production to a close (compare
  1390.    {fencepost error}).  One may say `there is a banana problem' of an
  1391.    algorithm with poorly defined or incorrect termination conditions,
  1392.    or in discussing the evolution of a design that may be succumbing
  1393.    to featuritis (see also {creeping elegance}, {creeping
  1394.    featuritis}).  See item 176 under {HAKMEM}, which describes a
  1395.    banana problem in a {Dissociated Press} implementation.  Also,
  1396.    see {one-banana problem} for a superficially similar but
  1397.    unrelated usage.
  1398.  
  1399. :bandwidth: n. 1. Used by hackers in a generalization of its
  1400.    technical meaning as the volume of information per unit time that a
  1401.    computer, person, or transmission medium can handle.  "Those are
  1402.    amazing graphics, but I missed some of the detail --- not enough
  1403.    bandwidth, I guess."  Compare {low-bandwidth}.  2. Attention
  1404.    span.  3. On {USENET}, a measure of network capacity that is
  1405.    often wasted by people complaining about how items posted by others
  1406.    are a waste of bandwidth.
  1407.  
  1408. :bang: 1. n. Common spoken name for `!' (ASCII 0100001),
  1409.    especially when used in pronouncing a {bang path} in spoken
  1410.    hackish.  In {elder days} this was considered a CMUish usage,
  1411.    with MIT and Stanford hackers preferring {excl} or {shriek};
  1412.    but the spread of UNIX has carried `bang' with it (esp. via the
  1413.    term {bang path}) and it is now certainly the most common spoken
  1414.    name for `!'.  Note that it is used exclusively for
  1415.    non-emphatic written `!'; one would not say "Congratulations
  1416.    bang" (except possibly for humorous purposes), but if one wanted
  1417.    to specify the exact characters `foo!' one would speak "Eff oh oh
  1418.    bang".  See {shriek}, {{ASCII}}.  2. interj. An exclamation
  1419.    signifying roughly "I have achieved enlightenment!", or "The
  1420.    dynamite has cleared out my brain!"  Often used to acknowledge
  1421.    that one has perpetrated a {thinko} immediately after one has
  1422.    been called on it.
  1423.  
  1424. :bang on: vt. To stress-test a piece of hardware or software: "I
  1425.    banged on the new version of the simulator all day yesterday and it
  1426.    didn't crash once.  I guess it is ready for release."  The term
  1427.    {pound on} is synonymous.
  1428.  
  1429. :bang path: n. An old-style UUCP electronic-mail address specifying
  1430.    hops to get from some assumed-reachable location to the addressee,
  1431.    so called because each {hop} is signified by a {bang} sign.
  1432.    Thus, for example, the path ...!bigsite!foovax!barbox!me
  1433.    directs people to route their mail to machine bigsite (presumably
  1434.    a well-known location accessible to everybody) and from there
  1435.    through the machine foovax to the account of user me on
  1436.    barbox.
  1437.  
  1438.    In the bad old days of not so long ago, before autorouting mailers
  1439.    became commonplace, people often published compound bang addresses
  1440.    using the { } convention (see {glob}) to give paths from
  1441.    *several* big machines, in the hopes that one's correspondent
  1442.    might be able to get mail to one of them reliably (example:
  1443.    ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me).  Bang paths
  1444.    of 8 to 10 hops were not uncommon in 1981.  Late-night dial-up
  1445.    UUCP links would cause week-long transmission times.  Bang paths
  1446.    were often selected by both transmission time and reliability, as
  1447.    messages would often get lost.  See {{Internet address}},
  1448.    {network, the}, and {sitename}.
  1449.  
  1450. :banner: n. 1. The title page added to printouts by most print
  1451.    spoolers (see {spool}).  Typically includes user or account ID
  1452.    information in very large character-graphics capitals.  Also called
  1453.    a `burst page', because it indicates where to burst (tear apart)
  1454.    fanfold paper to separate one user's printout from the next.  2. A
  1455.    similar printout generated (typically on multiple pages of fan-fold
  1456.    paper) from user-specified text, e.g., by a program such as UNIX's
  1457.    `banner({1,6})'.  3. On interactive software, a first screen
  1458.    containing a logo and/or author credits and/or a copyright notice.
  1459.  
  1460. :bar: /bar/ n. 1. The second {metasyntactic variable}, after {foo}
  1461.    and before {baz}.  "Suppose we have two functions: FOO and BAR.
  1462.    FOO calls BAR...."  2. Often appended to {foo} to produce
  1463.    {foobar}.
  1464.  
  1465. :bare metal: n. 1. New computer hardware, unadorned with such
  1466.    snares and delusions as an {operating system}, an {HLL}, or
  1467.    even assembler.  Commonly used in the phrase `programming on the
  1468.    bare metal', which refers to the arduous work of {bit bashing}
  1469.    needed to create these basic tools for a new machine.  Real
  1470.    bare-metal programming involves things like building boot proms and
  1471.    BIOS chips, implementing basic monitors used to test device
  1472.    drivers, and writing the assemblers that will be used to write the
  1473.    compiler back ends that will give the new machine a real
  1474.    development environment.  2. `Programming on the bare metal' is
  1475.    also used to describe a style of {hand-hacking} that relies on
  1476.    bit-level peculiarities of a particular hardware design, esp.
  1477.    tricks for speed and space optimization that rely on crocks such as
  1478.    overlapping instructions (or, as in the famous case described in
  1479.    {The Story of Mel, a Real Programmer} (in {appendix A}),
  1480.    interleaving of opcodes on a magnetic drum to minimize fetch delays
  1481.    due to the device's rotational latency).  This sort of thing has
  1482.    become less common as the relative costs of programming time and
  1483.    machine resources have changed, but is still found in heavily
  1484.    constrained environments such as industrial embedded systems.  See
  1485.    {real programmer}.
  1486.  
  1487.    In the world of personal computing, bare metal programming
  1488.    (especially in sense 1 but sometimes also in sense 2) is often
  1489.    considered a {Good Thing}, or at least a necessary thing
  1490.    (because these machines have often been sufficiently slow and
  1491.    poorly designed to make it necessary; see {ill-behaved}).
  1492.    There, the term usually refers to bypassing the BIOS or OS
  1493.    interface and writing the application to directly access device
  1494.    registers and machine addresses.  "To get 19.2 kilobaud on the
  1495.    serial port, you need to get down to the bare metal."  People who
  1496.    can do this sort of thing are held in high regard.
  1497.  
  1498. :barf: /barf/ [from mainstream slang meaning `vomit']
  1499.    1. interj.  Term of disgust.  This is the closest hackish
  1500.    equivalent of the Val\-speak "gag me with a spoon". (Like, euwww!)
  1501.    See {bletch}.  2. vi. To say "Barf!" or emit some similar
  1502.    expression of disgust.  "I showed him my latest hack and he
  1503.    barfed" means only that he complained about it, not that he
  1504.    literally vomited.  3. vi. To fail to work because of unacceptable
  1505.    input.  May mean to give an error message.  Examples: "The
  1506.    division operation barfs if you try to divide by 0."  (That is,
  1507.    the division operation checks for an attempt to divide by zero, and
  1508.    if one is encountered it causes the operation to fail in some
  1509.    unspecified, but generally obvious, manner.) "The text editor
  1510.    barfs if you try to read in a new file before writing out the old
  1511.    one."  See {choke}, {gag}.  In Commonwealth hackish,
  1512.    `barf' is generally replaced by `puke' or `vom'.  {barf}
  1513.    is sometimes also used as a {metasyntactic variable}, like {foo} or
  1514.    {bar}.
  1515.  
  1516. :barfmail: n. Multiple {bounce message}s accumulating to the
  1517.    level of serious annoyance, or worse.  The sort of thing that
  1518.    happens when an inter-network mail gateway goes down or
  1519.    wonky.
  1520.  
  1521. :barfulation: /bar`fyoo-lay'sh*n/ interj. Variation of {barf}
  1522.    used around the Stanford area.  An exclamation, expressing disgust.
  1523.    On seeing some particularly bad code one might exclaim,
  1524.    "Barfulation!  Who wrote this, Quux?"
  1525.  
  1526. :barfulous: /bar'fyoo-l*s/ adj. (alt. `barfucious',
  1527.    /bar-fyoo-sh*s/) Said of something that would make anyone barf,
  1528.    if only for esthetic reasons.
  1529.  
  1530. :barney: n. In Commonwealth hackish, `barney' is to {fred}
  1531.    (sense #1) as {bar} is to {foo}.  That is, people who
  1532.    commonly use `fred' as their first metasyntactic variable will
  1533.    often use `barney' second.  The reference is, of course, to Fred
  1534.    Flintstone and Barney Rubble in old Hanna-Barbera cartoons.
  1535.  
  1536. :baroque: adj. Feature-encrusted; complex; gaudy; verging on
  1537.    excessive.  Said of hardware or (esp.) software designs, this has
  1538.    many of the connotations of {elephantine} or {monstrosity} but is
  1539.    less extreme and not pejorative in itself.  "Metafont even has 
  1540.    features to introduce random variations to its letterform output.
  1541.    Now *that* is baroque!"  See also {rococo}.
  1542.  
  1543. :BartleMUD: /bar'tl-muhd/ n. Any of the MUDs derived from the
  1544.    original MUD game by Richard Bartle and Roy Trubshaw (see
  1545.    {MUD}).  BartleMUDs are noted for their (usually slightly
  1546.    offbeat) humor, dry but friendly syntax, and lack of adjectives in
  1547.    object descriptions, so a player is likely to come across
  1548.    `brand172', for instance (see {brand brand brand}).  Bartle has
  1549.    taken a bad rap in some MUDding circles for supposedly originating
  1550.    this term, but (like the story that MUD is a trademark) this
  1551.    appears to be a myth; he uses `MUD1'.
  1552.  
  1553. :BASIC: n. A programming language, originally designed for
  1554.    Dartmouth's experimental timesharing system in the early 1960s,
  1555.    which has since become the leading cause of brain-damage in
  1556.    proto-hackers.  This is another case (like {Pascal}) of the bad
  1557.    things that happen when a language deliberately designed as an
  1558.    educational toy gets taken too seriously.  A novice can write short
  1559.    BASIC programs (on the order of 10--20 lines) very easily; writing
  1560.    anything longer is (a) very painful, and (b) encourages bad habits
  1561.    that will bite him/her later if he/she tries to hack in a real
  1562.    language.  This wouldn't be so bad if historical accidents hadn't
  1563.    made BASIC so common on low-end micros.  As it is, it ruins
  1564.    thousands of potential wizards a year.
  1565.  
  1566. :batch: adj. 1. Non-interactive.  Hackers use this somewhat more
  1567.    loosely than the traditional technical definitions justify; in
  1568.    particular, switches on a normally interactive program that prepare
  1569.    it to receive non-interactive command input are often referred to
  1570.    as `batch mode' switches.  A `batch file' is a series of
  1571.    instructions written to be handed to an interactive program running
  1572.    in batch mode.  2. Performance of dreary tasks all at one sitting.
  1573.    "I finally sat down in batch mode and wrote out checks for all
  1574.    those bills; I guess they'll turn the electricity back on next
  1575.    week..." 3. Accumulation of a number of small tasks that can be
  1576.    lumped together for greater efficiency.  "I'm batching up those
  1577.    letters to send sometime" "I'm batching up bottles to take to the
  1578.    recycling center."
  1579.  
  1580. :bathtub curve: n. Common term for the curve (resembling an
  1581.    end-to-end section of one of those claw-footed antique bathtubs)
  1582.    that describes the expected failure rate of electronics with time:
  1583.    initially high, dropping to near 0 for most of the system's
  1584.    lifetime, then rising again as it `tires out'.  See also {burn-in
  1585.    period}, {infant mortality}.
  1586.  
  1587. :baud: /bawd/ [simplified from its technical meaning] n. Bits per
  1588.    second.  Hence kilobaud or Kbaud, thousands of bits per second.
  1589.    The technical meaning is `level transitions per second'; this
  1590.    coincides with bps only for two-level modulation with no framing or
  1591.    stop bits.  Most hackers are aware of these nuances but blithely
  1592.    ignore them.
  1593.  
  1594. :baud barf: /bawd barf/ n. The garbage one gets on the monitor
  1595.    when using a modem connection with some protocol setting (esp.
  1596.    line speed) incorrect, or when someone picks up a voice extension
  1597.    on the same line, or when really bad line noise disrupts the
  1598.    connection.  Baud barf is not completely {random}, by the way;
  1599.    hackers with a lot of serial-line experience can usually tell
  1600.    whether the device at the other end is expecting a higher or lower
  1601.    speed than the terminal is set to.  *Really* experienced ones
  1602.    can identify particular speeds.
  1603.  
  1604. :baz: /baz/ n. 1. The third {metasyntactic variable} "Suppose we
  1605.    have three functions: FOO, BAR, and BAZ.  FOO calls BAR, which
  1606.    calls BAZ...." (See also {fum}) 2. interj. A term of mild
  1607.    annoyance.  In this usage the term is often drawn out for 2 or 3
  1608.    seconds, producing an effect not unlike the bleating of a sheep;
  1609.    /baaaaaaz/.  3. Occasionally appended to {foo} to produce
  1610.    `foobaz'.
  1611.  
  1612.    Earlier versions of this lexicon derived `baz' as a Stanford
  1613.    corruption of {bar}.  However, Pete Samson (compiler of the
  1614.    {TMRC} lexicon) reports it was already current when he joined TMRC
  1615.    in 1958.  He says "It came from `Pogo'.  Albert the Alligator,
  1616.    when vexed or outraged, would shout `Bazz Fazz!' or `Rowrbazzle!'
  1617.    The club layout was said to model the (mythical) New England
  1618.    counties of Rowrfolk and Bassex (Rowrbazzle mingled with
  1619.    (Norfolk/Suffolk/Middlesex/Essex)."
  1620.  
  1621. :bboard: /bee'bord/ [contraction of `bulletin board'] n.
  1622.    1. Any electronic bulletin board; esp. used of {BBS} systems
  1623.    running on personal micros, less frequently of a USENET
  1624.    {newsgroup} (in fact, use of the term for a newsgroup generally
  1625.    marks one either as a {newbie} fresh in from the BBS world or as
  1626.    a real old-timer predating USENET).  2. At CMU and other colleges
  1627.    with similar facilities, refers to campus-wide electronic bulletin
  1628.    boards.  3. The term `physical bboard' is sometimes used to
  1629.    refer to a old-fashioned, non-electronic cork memo board.  At CMU,
  1630.    it refers to a particular one outside the CS Lounge.
  1631.  
  1632.    In either of senses 1 or 2, the term is usually prefixed by the
  1633.    name of the intended board (`the Moonlight Casino bboard' or
  1634.    `market bboard'); however, if the context is clear, the better-read
  1635.    bboards may be referred to by name alone, as in (at CMU) "Don't
  1636.    post for-sale ads on general".
  1637.  
  1638. :BBS: /B-B-S/ [abbreviation, `Bulletin Board System'] n. An electronic
  1639.    bulletin board system; that is, a message database where people can
  1640.    log in and leave broadcast messages for others grouped (typically)
  1641.    into {topic group}s.  Thousands of local BBS systems are in
  1642.    operation throughout the U.S., typically run by amateurs for fun
  1643.    out of their homes on MS-DOS boxes with a single modem line each.
  1644.    Fans of USENET and Internet or the big commercial timesharing
  1645.    bboards such as CompuServe and GEnie tend to consider local BBSes
  1646.    the low-rent district of the hacker culture, but they serve a
  1647.    valuable function by knitting together lots of hackers and users in
  1648.    the personal-micro world who would otherwise be unable to exchange
  1649.    code at all.
  1650.  
  1651. :beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. To
  1652.    transfer {softcopy} of a file electronically; most often in
  1653.    combining forms such as `beam me a copy' or `beam that over to
  1654.    his site'.  Compare {blast}, {snarf}, {BLT}.
  1655.  
  1656. :beanie key: [Mac users] n. See {command key}.
  1657.  
  1658. :beep: n.,v. Syn. {feep}.  This term seems to be preferred among micro
  1659.    hobbyists.
  1660.  
  1661. :beige toaster: n. A Macintosh. See {toaster}; compare
  1662.    {Macintrash}, {maggotbox}.
  1663.  
  1664. :bells and whistles: [by analogy with the toyboxes on theater
  1665.    organs] n. Features added to a program or system to make it more
  1666.    {flavorful} from a hacker's point of view, without necessarily
  1667.    adding to its utility for its primary function.  Distinguished from
  1668.    {chrome}, which is intended to attract users.  "Now that we've
  1669.    got the basic program working, let's go back and add some bells and
  1670.    whistles."  No one seems to know what distinguishes a bell from a
  1671.    whistle.
  1672.  
  1673. :bells, whistles, and gongs: n. A standard elaborated form of
  1674.    {bells and whistles}; typically said with a pronounced and ironic
  1675.    accent on the `gongs'.
  1676.  
  1677. :benchmark: [techspeak] n. An inaccurate measure of computer
  1678.    performance.  "In the computer industry, there are three kinds of
  1679.    lies: lies, damn lies, and benchmarks."  Well-known ones include
  1680.    Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP
  1681.    benchmarks (see {gabriel}), the SPECmark suite, and LINPACK.  See
  1682.    also {machoflops}, {MIPS}.
  1683.  
  1684. :Berkeley Quality Software: adj. (often abbreviated `BQS') Term used
  1685.    in a pejorative sense to refer to software that was apparently
  1686.    created by rather spaced-out hackers late at night to solve some
  1687.    unique problem.  It usually has nonexistent, incomplete, or
  1688.    incorrect documentation, has been tested on at least two examples,
  1689.    and core dumps when anyone else attempts to use it.  This term was
  1690.    frequently applied to early versions of the `dbx(1)' debugger.
  1691.    See also {Berzerkeley}.
  1692.  
  1693. :berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See
  1694.    {BSD}.  Not used at Berkeley itself.  May be more common among
  1695.    {suit}s attempting to sound like cognoscenti than among hackers,
  1696.    who usually just say `BSD'.
  1697.  
  1698. :berserking: vi. A {MUD} term meaning to gain points *only*
  1699.    by killing other players and mobiles (non-player characters).
  1700.    Hence, a Berserker-Wizard is a player character that has achieved
  1701.    enough points to become a wizard, but only by killing other
  1702.    characters.  Berserking is sometimes frowned upon because of its
  1703.    inherently antisocial nature, but some MUDs have a `berserker
  1704.    mode' in which a player becomes *permanently* berserk, can
  1705.    never flee from a fight, cannot use magic, gets no score for
  1706.    treasure, but does get double kill points.  "Berserker
  1707.    wizards can seriously damage your elf!"
  1708.  
  1709. :Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a
  1710.    now-deceased record label] n. Humorous distortion of `Berkeley'
  1711.    used esp. to refer to the practices or products of the
  1712.    {BSD} UNIX hackers.  See {software bloat}, {Missed'em-five},
  1713.    {Berkeley Quality Software}.
  1714.  
  1715.    Mainstream use of this term in reference to the cultural and
  1716.    political peculiarities of UC Berkeley as a whole has been reported
  1717.    from as far back as the 1960s.
  1718.  
  1719. :beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n. 1. In
  1720.    the {Real World}, software often goes through two stages of
  1721.    testing: Alpha (in-house) and Beta (out-house?).  Software is said
  1722.    to be `in beta'.  2. Anything that is new and experimental is in
  1723.    beta. "His girlfriend is in beta" means that he is still testing
  1724.    for compatibility and reserving judgment.  3. Beta software is
  1725.    notoriously buggy, so `in beta' connotes flakiness.
  1726.  
  1727.    Historical note: More formally, to beta-test is to test a
  1728.    pre-release (potentially unreliable) version of a piece of software
  1729.    by making it available to selected customers and users.  This term
  1730.    derives from early 1960s terminology for product cycle checkpoints,
  1731.    first used at IBM but later standard throughout the industry.
  1732.    `Alpha Test' was the unit, module, or component test phase; `Beta
  1733.    Test' was initial system test.  These themselves came from earlier
  1734.    A- and B-tests for hardware.  The A-test was a feasibility and
  1735.    manufacturability evaluation done before any commitment to design
  1736.    and development.  The B-test was a demonstration that the
  1737.    engineering model functioned as specified.  The C-test
  1738.    (corresponding to today's beta) was the B-test performed on early
  1739.    samples of the production design.
  1740.  
  1741. :BFI: /B-F-I/ n. See {brute force and ignorance}.  Also
  1742.    encountered in the variants `BFMI', `brute force and
  1743.    *massive* ignorance' and `BFBI' `brute force and bloody
  1744.    ignorance'.
  1745.  
  1746. :bible: n. 1. One of a small number of fundamental source books
  1747.    such as {Knuth} and {K&R}.  2. The most detailed and
  1748.    authoritative reference for a particular language, operating
  1749.    system, or other complex software system.
  1750.  
  1751. :BiCapitalization: n. The act said to have been performed on
  1752.    trademarks (such as NeXT, {NeWS}, VisiCalc, FrameMaker,
  1753.    TK!solver, EasyWriter) that have been raised above the ruck of
  1754.    common coinage by nonstandard capitalization.  Too many
  1755.    {marketroid} types think this sort of thing is really cute, even
  1756.    the 2,317th time they do it.  Compare {studlycaps}.
  1757.  
  1758. :BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the
  1759.    prototypical {newbie}.  Articles from BIFF are characterized by
  1760.    all uppercase letters sprinkled liberally with bangs, typos,
  1761.    `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A
  1762.    K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE
  1763.    THIS!!!), use (and often misuse) of fragments of {talk mode}
  1764.    abbreviations, a long {sig block} (sometimes even a {doubled
  1765.    sig}), and unbounded na"ivet'e.  BIFF posts articles using his
  1766.    elder brother's VIC-20.  BIFF's location is a mystery, as his
  1767.    articles appear to come from a variety of sites.  However,
  1768.    {BITNET} seems to be the most frequent origin.  The theory that
  1769.    BIFF is a denizen of BITNET is supported by BIFF's (unfortunately
  1770.    invalid) electronic mail address: BIFF@BIT.NET.
  1771.  
  1772. :biff: /bif/ vt. To notify someone of incoming mail.  From the
  1773.    BSD utility `biff(1)', which was in turn named after a
  1774.    friendly golden Labrador who used to chase frisbees in the halls at
  1775.    UCB while 4.2BSD was in development (it had a well-known habit of
  1776.    barking whenever the mailman came).  No relation to
  1777.    {BIFF}.
  1778.  
  1779. :Big Gray Wall: n. What faces a {VMS} user searching for
  1780.    documentation.  A full VMS kit comes on a pallet, the documentation
  1781.    taking up around 15 feet of shelf space before the addition of
  1782.    layered products such as compilers, databases, multivendor
  1783.    networking, and programming tools.  Recent (since VMS version 5)
  1784.    DEC documentation comes with gray binders; under VMS version 4 the
  1785.    binders were orange (`big orange wall'), and under version 3 they
  1786.    were blue.  See {VMS}.
  1787.  
  1788. :big iron: n. Large, expensive, ultra-fast computers.  Used generally
  1789.    of {number-crunching} supercomputers such as Crays, but can include
  1790.    more conventional big commercial IBMish mainframes.  Term of
  1791.    approval; compare {heavy metal}, oppose {dinosaur}.
  1792.  
  1793. :Big Red Switch: [IBM] n. The power switch on a computer, esp. the
  1794.    `Emergency Pull' switch on an IBM {mainframe} or the power switch
  1795.    on an IBM PC where it really is large and red.  "This !@%$%
  1796.    {bitty box} is hung again; time to hit the Big Red Switch."
  1797.    Sources at IBM report that, in tune with the company's passion for
  1798.    {TLA}s, this is often abbreviated as `BRS' (this has also
  1799.    become established on FidoNet and in the PC {clone} world).  It
  1800.    is alleged that the emergency pull switch on an IBM 360/91 actually
  1801.    fired a non-conducting bolt into the main power feed; the BRSes on
  1802.    more recent machines physically drop a block into place so that
  1803.    they can't be pushed back in.  People get fired for pulling them,
  1804.    especially inappropriately (see also {molly-guard}).  Compare
  1805.    {power cycle}, {three-finger salute}, {120 reset}.
  1806.  
  1807. :Big Room, the: n. The extremely large room with the blue ceiling
  1808.    and intensely bright light (during the day) or black ceiling with
  1809.    lots of tiny night-lights (during the night) found outside all
  1810.    computer installations.  "He can't come to the phone right now,
  1811.    he's somewhere out in the Big Room."
  1812.  
  1813. :big win: n. Serendipity.  "Yes, those two physicists discovered
  1814.    high-temperature superconductivity in a batch of ceramic that had
  1815.    been prepared incorrectly according to their experimental schedule.
  1816.    Small mistake; big win!" See {win big}.
  1817.  
  1818. :big-endian: [From Swift's `Gulliver's Travels' via the famous
  1819.    paper `On Holy Wars and a Plea for Peace' by Danny Cohen,
  1820.    USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer
  1821.    architecture in which, within a given multi-byte numeric
  1822.    representation, the most significant byte has the lowest address
  1823.    (the word is stored `big-end-first').  Most processors,
  1824.    including the IBM 370 family, the {PDP-10}, the Motorola
  1825.    microprocessor families, and most of the various RISC designs
  1826.    current in mid-1991, are big-endian.  See {little-endian},
  1827.    {middle-endian}, {NUXI problem}.  2. An {{Internet address}}
  1828.    the wrong way round.  Most of the world follows the Internet
  1829.    standard and writes email addresses starting with the name of the
  1830.    computer and ending up with the name of the country.  In the U.K.
  1831.    the Joint Networking Team had decided to do it the other way round
  1832.    before the Internet domain standard was established; e.g.,
  1833.    me@uk.ac.wigan.cs.  Most gateway sites have {ad-hockery} in
  1834.    their mailers to handle this, but can still be confused.  In
  1835.    particular, the address above could be in the U.K. (domain uk)
  1836.    or Czechoslovakia (domain cs).
  1837.  
  1838. :bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A
  1839.    multiple-precision computer representation for very large integers.
  1840.    More generally, any very large number.  "Have you ever looked at
  1841.    the United States Budget?  There's bignums for you!"
  1842.    2. [Stanford] In backgammon, large numbers on the dice are called
  1843.    `bignums', especially a roll of double fives or double sixes
  1844.    (compare {moby}, sense 4).  See also {El Camino Bignum}.
  1845.  
  1846.    Sense 1 may require some explanation.  Most computer languages
  1847.    provide a kind of data called `integer', but such computer
  1848.    integers are usually very limited in size; usually they must be
  1849.    smaller than than 2^(31) (2,147,483,648) or (on a losing
  1850.    {bitty box}) 2^(15) (32,768).  If you want to work with
  1851.    numbers larger than that, you have to use floating-point numbers,
  1852.    which are usually accurate to only six or seven decimal places.
  1853.    Computer languages that provide bignums can perform exact
  1854.    calculations on very large numbers, such as 1000!  (the factorial
  1855.    of 1000, which is 1000 times 999 times 998 times ... times 2
  1856.    times 1).  For example, this value for 1000!  was computed by the
  1857.    MacLISP system using bignums:
  1858.  
  1859.      40238726007709377354370243392300398571937486421071
  1860.      46325437999104299385123986290205920442084869694048
  1861.      00479988610197196058631666872994808558901323829669
  1862.      94459099742450408707375991882362772718873251977950
  1863.      59509952761208749754624970436014182780946464962910
  1864.      56393887437886487337119181045825783647849977012476
  1865.      63288983595573543251318532395846307555740911426241
  1866.      74743493475534286465766116677973966688202912073791
  1867.      43853719588249808126867838374559731746136085379534
  1868.      52422158659320192809087829730843139284440328123155
  1869.      86110369768013573042161687476096758713483120254785
  1870.      89320767169132448426236131412508780208000261683151
  1871.      02734182797770478463586817016436502415369139828126
  1872.      48102130927612448963599287051149649754199093422215
  1873.      66832572080821333186116811553615836546984046708975
  1874.      60290095053761647584772842188967964624494516076535
  1875.      34081989013854424879849599533191017233555566021394
  1876.      50399736280750137837615307127761926849034352625200
  1877.      01588853514733161170210396817592151090778801939317
  1878.      81141945452572238655414610628921879602238389714760
  1879.      88506276862967146674697562911234082439208160153780
  1880.      88989396451826324367161676217916890977991190375403
  1881.      12746222899880051954444142820121873617459926429565
  1882.      81746628302955570299024324153181617210465832036786
  1883.      90611726015878352075151628422554026517048330422614
  1884.      39742869330616908979684825901254583271682264580665
  1885.      26769958652682272807075781391858178889652208164348
  1886.      34482599326604336766017699961283186078838615027946
  1887.      59551311565520360939881806121385586003014356945272
  1888.      24206344631797460594682573103790084024432438465657
  1889.      24501440282188525247093519062092902313649327349756
  1890.      55139587205596542287497740114133469627154228458623
  1891.      77387538230483865688976461927383814900140767310446
  1892.      64025989949022222176590433990188601856652648506179
  1893.      97023561938970178600408118897299183110211712298459
  1894.      01641921068884387121855646124960798722908519296819
  1895.      37238864261483965738229112312502418664935314397013
  1896.      74285319266498753372189406942814341185201580141233
  1897.      44828015051399694290153483077644569099073152433278
  1898.      28826986460278986432113908350621709500259738986355
  1899.      42771967428222487575867657523442202075736305694988
  1900.      25087968928162753848863396909959826280956121450994
  1901.      87170124451646126037902930912088908694202851064018
  1902.      21543994571568059418727489980942547421735824010636
  1903.      77404595741785160829230135358081840096996372524230
  1904.      56085590370062427124341690900415369010593398383577
  1905.      79394109700277534720000000000000000000000000000000
  1906.      00000000000000000000000000000000000000000000000000
  1907.      00000000000000000000000000000000000000000000000000
  1908.      00000000000000000000000000000000000000000000000000
  1909.      00000000000000000000000000000000000000000000000000
  1910.      000000000000000000.
  1911.  
  1912. :bigot: n. A person who is religiously attached to a particular
  1913.    computer, language, operating system, editor, or other tool (see
  1914.    {religious issues}).  Usually found with a specifier; thus,
  1915.    `cray bigot', `ITS bigot', `APL bigot', `VMS bigot',
  1916.    `Berkeley bigot'.  True bigots can be distinguished from mere
  1917.    partisans or zealots by the fact that they refuse to learn
  1918.    alternatives even when the march of time and/or technology is
  1919.    threatening to obsolete the favored tool.  It is said "You can
  1920.    tell a bigot, but you can't tell him much."  Compare
  1921.    {weenie}.
  1922.  
  1923. :bit: [from the mainstream meaning and `Binary digIT'] n.
  1924.    1. [techspeak] The unit of information; the amount of information
  1925.    obtained by asking a yes-or-no question for which the two outcomes
  1926.    are equally probable.  2. [techspeak] A computational quantity that
  1927.    can take on one of two values, such as true and false or 0 and 1.
  1928.    3. A mental flag: a reminder that something should be done
  1929.    eventually.  "I have a bit set for you."  (I haven't seen you for
  1930.    a while, and I'm supposed to tell or ask you something.)  4. More
  1931.    generally, a (possibly incorrect) mental state of belief.  "I have
  1932.    a bit set that says that you were the last guy to hack on EMACS."
  1933.    (Meaning "I think you were the last guy to hack on EMACS, and what
  1934.    I am about to say is predicated on this, so please stop me if this
  1935.    isn't true.")
  1936.  
  1937.    "I just need one bit from you" is a polite way of indicating that
  1938.    you intend only a short interruption for a question that can
  1939.    presumably be answered yes or no.
  1940.  
  1941.    A bit is said to be `set' if its value is true or 1, and
  1942.    `reset' or `clear' if its value is false or 0.  One
  1943.    speaks of setting and clearing bits.  To {toggle} or
  1944.    `invert' a bit is to change it, either from 0 to 1 or from
  1945.    1 to 0.  See also {flag}, {trit}, {mode bit}.
  1946.  
  1947. :bit bang: n. Transmission of data on a serial line, when
  1948.    accomplished by rapidly tweaking a single output bit at the
  1949.    appropriate times.  The technique is a simple
  1950.    loop with eight OUT and SHIFT instruction pairs for each byte.
  1951.    Input is more interesting.  And full duplex (doing input and output
  1952.    at the same time) is one way to separate the real hackers from the
  1953.    {wannabee}s.
  1954.  
  1955.    Bit bang was used on certain early models of Prime computers,
  1956.    presumably when UARTs were too expensive, and on archaic Z80 micros
  1957.    with a Zilog PIO but no SIO.  In an interesting instance of the
  1958.    {cycle of reincarnation}, this technique is now (1991) coming
  1959.    back into use on some RISC architectures because it consumes such
  1960.    an infinitesimal part of the processor that it actually makes sense
  1961.    not to have a UART.
  1962.  
  1963. :bit bashing: n. (alt. `bit diddling' or {bit twiddling}) Term
  1964.    used to describe any of several kinds of low-level programming
  1965.    characterized by manipulation of {bit}, {flag}, {nybble},
  1966.    and other smaller-than-character-sized pieces of data; these
  1967.    include low-level device control, encryption algorithms, checksum
  1968.    and error-correcting codes, hash functions, some flavors of
  1969.    graphics programming (see {bitblt}), and assembler/compiler code
  1970.    generation.  May connote either tedium or a real technical
  1971.    challenge (more usually the former).  "The command decoding for
  1972.    the new tape driver looks pretty solid but the bit-bashing for the
  1973.    control registers still has bugs."  See also {bit bang},
  1974.    {mode bit}.
  1975.  
  1976. :bit bucket: n. 1. The universal data sink (originally, the
  1977.    mythical receptacle used to catch bits when they fall off the end
  1978.    of a register during a shift instruction).  Discarded, lost, or
  1979.    destroyed data is said to have `gone to the bit bucket'.  On
  1980.    {{UNIX}}, often used for {/dev/null}.  Sometimes amplified as
  1981.    `the Great Bit Bucket in the Sky'.  2. The place where all lost
  1982.    mail and news messages eventually go.  The selection is performed
  1983.    according to {Finagle's Law}; important mail is much more likely
  1984.    to end up in the bit bucket than junk mail, which has an almost
  1985.    100% probability of getting delivered.  Routing to the bit bucket
  1986.    is automatically performed by mail-transfer agents, news systems,
  1987.    and the lower layers of the network.  3. The ideal location for all
  1988.    unwanted mail responses: "Flames about this article to the bit
  1989.    bucket."  Such a request is guaranteed to overflow one's mailbox
  1990.    with flames.  4. Excuse for all mail that has not been sent.  "I
  1991.    mailed you those figures last week; they must have ended in the bit
  1992.    bucket."  Compare {black hole}.
  1993.  
  1994.    This term is used purely in jest.  It is based on the fanciful
  1995.    notion that bits are objects that are not destroyed but only
  1996.    misplaced.  This appears to have been a mutation of an earlier term
  1997.    `bit box', about which the same legend was current; old-time
  1998.    hackers also report that trainees used to be told that when the CPU
  1999.    stored bits into memory it was actually pulling them `out of the
  2000.    bit box'.  See also {chad box}.
  2001.  
  2002.    Another variant of this legend has it that, as a consequence of the
  2003.    `parity preservation law', the number of 1 bits that go to the bit
  2004.    bucket must equal the number of 0 bits.  Any imbalance results in
  2005.    bits filling up the bit bucket.  A qualified computer technician
  2006.    can empty a full bit bucket as part of scheduled maintenance.
  2007.  
  2008. :bit decay: n. See {bit rot}.  People with a physics background
  2009.    tend to prefer this one for the analogy with particle decay.  See
  2010.    also {computron}, {quantum bogodynamics}.
  2011.  
  2012. :bit rot: n. Also {bit decay}.  Hypothetical disease the existence
  2013.    of which has been deduced from the observation that unused programs
  2014.    or features will often stop working after sufficient time has
  2015.    passed, even if `nothing has changed'.  The theory explains that
  2016.    bits decay as if they were radioactive.  As time passes, the
  2017.    contents of a file or the code in a program will become
  2018.    increasingly garbled.
  2019.  
  2020.    There actually are physical processes that produce such effects
  2021.    (alpha particles generated by trace radionuclides in ceramic chip
  2022.    packages, for example, can change the contents of a computer memory
  2023.    unpredictably, and various kinds of subtle media failures can
  2024.    corrupt files in mass storage), but they are quite rare (and
  2025.    computers are built with error-detecting circuitry to compensate
  2026.    for them).  The notion long favored among hackers that cosmic
  2027.    rays are among the causes of such events turns out to be a myth;
  2028.    see the {cosmic rays} entry for details.
  2029.  
  2030.    The term {software rot} is almost synonymous.  Software rot is
  2031.    the effect, bit rot the notional cause.
  2032.  
  2033. :bit twiddling: n. 1. (pejorative) An exercise in tuning (see
  2034.    {tune}) in which incredible amounts of time and effort go to
  2035.    produce little noticeable improvement, often with the result that
  2036.    the code has become incomprehensible.  2. Aimless small
  2037.    modification to a program, esp. for some pointless goal.
  2038.    3. Approx. syn. for {bit bashing}; esp. used for the act of
  2039.    frobbing the device control register of a peripheral in an attempt
  2040.    to get it back to a known state.
  2041.  
  2042. :bit-paired keyboard: n. obs. (alt. `bit-shift keyboard') A
  2043.    non-standard keyboard layout that seems to have originated with the
  2044.    Teletype ASR-33 and remained common for several years on early
  2045.    computer equipment.  The ASR-33 was a mechanical device (see
  2046.    {EOU}), so the only way to generate the character codes from
  2047.    keystrokes was by some physical linkage.  The design of the ASR-33
  2048.    assigned each character key a basic pattern that could be modified
  2049.    by flipping bits if the SHIFT or the CTRL key was pressed.  In
  2050.    order to avoid making the thing more of a Rube Goldberg kluge than
  2051.    it already was, the design had to group characters that shared the
  2052.    same basic bit pattern on one key.
  2053.  
  2054.    Looking at the ASCII chart, we find:
  2055.  
  2056.      high  low bits
  2057.      bits  0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
  2058.       010        !    "    #    $    %    &    '    (    )
  2059.       011   0    1    2    3    4    5    6    7    8    9
  2060.  
  2061.    This is why the characters !"#$%&'() appear where they do on a
  2062.    Teletype (thankfully, they didn't use shift-0 for space).  This was
  2063.    *not* the weirdest variant of the {QWERTY} layout widely
  2064.    seen, by the way; that prize should probably go to one of several
  2065.    (differing) arrangements on IBM's even clunkier 026 and 029 card
  2066.    punches.
  2067.  
  2068.    When electronic terminals became popular, in the early 1970s, there
  2069.    was no agreement in the industry over how the keyboards should be
  2070.    laid out.  Some vendors opted to emulate the Teletype keyboard,
  2071.    while others used the flexibility of electronic circuitry to make
  2072.    their product look like an office typewriter.  These alternatives
  2073.    became known as `bit-paired' and `typewriter-paired' keyboards.  To
  2074.    a hacker, the bit-paired keyboard seemed far more logical --- and
  2075.    because most hackers in those days had never learned to touch-type,
  2076.    there was little pressure from the pioneering users to adapt
  2077.    keyboards to the typewriter standard.
  2078.  
  2079.    The doom of the bit-paired keyboard was the large-scale
  2080.    introduction of the computer terminal into the normal office
  2081.    environment, where out-and-out technophobes were expected to use
  2082.    the equipment.  The `typewriter-paired' standard became universal,
  2083.    `bit-paired' hardware was quickly junked or relegated to dusty
  2084.    corners, and both terms passed into disuse.
  2085.  
  2086. :bitblt: /bit'blit/ n. [from {BLT}, q.v.] 1. Any of a family
  2087.    of closely related algorithms for moving and copying rectangles of
  2088.    bits between main and display memory on a bit-mapped device, or
  2089.    between two areas of either main or display memory (the requirement
  2090.    to do the {Right Thing} in the case of overlapping source and
  2091.    destination rectangles is what makes BitBlt tricky).  2. Synonym
  2092.    for {blit} or {BLT}.  Both uses are borderline techspeak.
  2093.  
  2094. :BITNET: /bit'net/ [acronym: Because It's Time NETwork] n.
  2095.    Everybody's least favorite piece of the network (see {network,
  2096.    the}).  The BITNET hosts are a collection of IBM dinosaurs and
  2097.    VAXen (the latter with lobotomized comm hardware) that communicate
  2098.    using 80-character {{EBCDIC}} card images (see {eighty-column
  2099.    mind}); thus, they tend to mangle the headers and text of
  2100.    third-party traffic from the rest of the ASCII/RFC-822 world with
  2101.    annoying regularity.  BITNET is also notorious as the apparent home
  2102.    of {BIFF}.
  2103.  
  2104. :bits: n.pl. 1. Information.  Examples: "I need some bits about file
  2105.    formats."  ("I need to know about file formats.")  Compare {core
  2106.    dump}, sense 4.  2. Machine-readable representation of a document,
  2107.    specifically as contrasted with paper:  "I have only a photocopy
  2108.    of the Jargon File; does anyone know where I can get the bits?".
  2109.    See {softcopy}, {source of all good bits} See also {bit}.
  2110.  
  2111. :bitty box: /bit'ee boks/ n. 1. A computer sufficiently small,
  2112.    primitive, or incapable as to cause a hacker acute claustrophobia
  2113.    at the thought of developing software for it.  Especially used of
  2114.    small, obsolescent, single-tasking-only personal machines such as
  2115.    the Atari 800, Osborne, Sinclair, VIC-20, TRS-80, or IBM PC.
  2116.    2. [Pejorative]  More generally, the opposite of `real computer'
  2117.    (see {Get a real computer!}).  See also {mess-dos},
  2118.    {toaster}, and {toy}.
  2119.  
  2120. :bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the Byte
  2121.    Information eXchange).  The {smiley} bixie is <@_@>, apparently
  2122.    intending to represent two cartoon eyes and a mouth.  A few others
  2123.    have been reported.
  2124.  
  2125. :black art: n. A collection of arcane, unpublished, and (by
  2126.    implication) mostly ad-hoc techniques developed for a particular
  2127.    application or systems area (compare {black magic}).  VLSI design
  2128.    and compiler code optimization were (in their beginnings)
  2129.    considered classic examples of black art; as theory developed they
  2130.    became {deep magic}, and once standard textbooks had been written,
  2131.    became merely {heavy wizardry}.  The huge proliferation of formal
  2132.    and informal channels for spreading around new computer-related
  2133.    technologies during the last twenty years has made both the term
  2134.    `black art' and what it describes less common than formerly.  See
  2135.    also {voodoo programming}.
  2136.  
  2137. :black hole: n. When a piece of email or netnews disappears
  2138.    mysteriously between its origin and destination sites (that is,
  2139.    without returning a {bounce message}) it is commonly said to have
  2140.    `fallen into a black hole'.  "I think there's a black hole at
  2141.    foovax!" conveys suspicion that site foovax has been dropping
  2142.    a lot of stuff on the floor lately (see {drop on the floor}).
  2143.    The implied metaphor of email as interstellar travel is interesting
  2144.    in itself.  Compare {bit bucket}.
  2145.  
  2146. :black magic: n. A technique that works, though nobody really
  2147.    understands why.  More obscure than {voodoo programming}, which
  2148.    may be done by cookbook.  Compare also {black art}, {deep
  2149.    magic}, and {magic number} (sense 2).
  2150.  
  2151. :blargh: /blarg/ [MIT] n. The opposite of {ping}, sense 5; an
  2152.    exclamation indicating that one has absorbed or is emitting a
  2153.    quantum of unhappiness.  Less common than {ping}.
  2154.  
  2155. :blast: 1. vt.,n. Synonym for {BLT}, used esp. for large data
  2156.    sends over a network or comm line.  Opposite of {snarf}.  Usage:
  2157.    uncommon.  The variant `blat' has been reported.  2. vt.
  2158.    [HP/Apollo] Synonymous with {nuke} (sense 3).  Sometimes the
  2159.    message `Unable to kill all processes.  Blast them (y/n)?' would
  2160.    appear in the command window upon logout.
  2161.  
  2162. :blat: n. 1. Syn. {blast}, sense 1.  2. See {thud}.
  2163.  
  2164. :bletch: /blech/ [from Yiddish/German `brechen', to vomit, poss.
  2165.    via comic-strip exclamation `blech'] interj.  Term of disgust.
  2166.    Often used in "Ugh, bletch".  Compare {barf}.
  2167.  
  2168. :bletcherous: /blech'*-r*s/ adj. Disgusting in design or function;
  2169.    esthetically unappealing.  This word is seldom used of people.
  2170.    "This keyboard is bletcherous!" (Perhaps the keys don't work very
  2171.    well, or are misplaced.)  See {losing}, {cretinous},
  2172.    {bagbiter}, {bogus}, and {random}.  The term {bletcherous}
  2173.    applies to the esthetics of the thing so described; similarly for
  2174.    {cretinous}.  By contrast, something that is `losing' or
  2175.    `bagbiting' may be failing to meet objective criteria.  See also
  2176.    {bogus} and {random}, which have richer and wider shades of
  2177.    meaning than any of the above.
  2178.  
  2179. :blinkenlights: /blink'*n-li:tz/ n. Front-panel diagnostic lights
  2180.    on a computer, esp. a {dinosaur}.  Derives from the last word
  2181.    of the famous blackletter-Gothic sign in mangled pseudo-German that
  2182.    once graced about half the computer rooms in the English-speaking
  2183.    world.  One version ran in its entirety as follows:
  2184.  
  2185.                    ACHTUNG!  ALLES LOOKENSPEEPERS!  Das
  2186.      computermachine ist nicht fuer gefingerpoken und mittengrabben.
  2187.      Ist easy schnappen der springenwerk, blowenfusen und poppencorken
  2188.      mit spitzensparken.  Ist nicht fuer gewerken bei das dumpkopfen.
  2189.      Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
  2190.      pockets muss; relaxen und watchen das blinkenlichten.
  2191.  
  2192.  
  2193.    This silliness dates back at least as far as 1959 at Stanford
  2194.    University and had already gone international by the early 1960s,
  2195.    when it was reported at London University's ATLAS computing site.
  2196.    There are several variants of it in circulation, some of which
  2197.    actually do end with the word `blinkenlights'.
  2198.  
  2199.    In an amusing example of turnabout-is-fair-play, German hackers
  2200.    have developed their own versions of the blinkenlights poster in
  2201.    fractured English, one of which is reproduced here:
  2202.  
  2203.                                ATTENTION
  2204.         This room is fullfilled mit special electronische equippment.
  2205.         Fingergrabbing and pressing the cnoeppkes from the computers is
  2206.         allowed for die experts only!  So all the "lefthanders" stay away
  2207.         and do not disturben the brainstorming von here working
  2208.         intelligencies.  Otherwise you will be out thrown and kicked
  2209.         anderswhere!  Also: please keep still and only watchen astaunished
  2210.         the blinkenlights.
  2211.  
  2212.    See also {geef}.
  2213.  
  2214. :blit: /blit/ vt. 1. To copy a large array of bits from one part
  2215.    of a computer's memory to another part, particularly when the
  2216.    memory is being used to determine what is shown on a display
  2217.    screen.  "The storage allocator picks through the table and copies
  2218.    the good parts up into high memory, and then blits it all back
  2219.    down again."  See {bitblt}, {BLT}, {dd}, {cat},
  2220.    {blast}, {snarf}.  More generally, to perform some operation
  2221.    (such as toggling) on a large array of bits while moving them.
  2222.    2. All-capitalized as `BLIT': an early experimental bit-mapped
  2223.    terminal designed by Rob Pike at Bell Labs, later commercialized as
  2224.    the AT&T 5620.  (The folk etymology from `Bell Labs Intelligent
  2225.    Terminal' is incorrect.)
  2226.  
  2227. :blitter: /blit'r/ n. A special-purpose chip or hardware system
  2228.    built to perform {blit} operations, esp. used for fast
  2229.    implementation of bit-mapped graphics.  The Commodore Amiga and a
  2230.    few other micros have these, but in 1991 the trend is away from
  2231.    them (however, see {cycle of reincarnation}).  Syn. {raster
  2232.    blaster}.
  2233.  
  2234. :blivet: /bliv'*t/ [allegedly from a World War II military term
  2235.    meaning "ten pounds of manure in a five-pound bag"] n. 1. An
  2236.    intractable problem.  2. A crucial piece of hardware that can't be
  2237.    fixed or replaced if it breaks.  3. A tool that has been hacked
  2238.    over by so many incompetent programmers that it has become an
  2239.    unmaintainable tissue of hacks.  4. An out-of-control but
  2240.    unkillable development effort.  5. An embarrassing bug that pops up
  2241.    during a customer demo.
  2242.  
  2243.    This term has other meanings in other technical cultures; among
  2244.    experimental physicists and hardware engineers of various kinds it
  2245.    seems to mean any random object of unknown purpose (similar to
  2246.    hackish use of {frob}).  It has also been used to describe an
  2247.    amusing trick-the-eye drawing resembling a three-pronged fork that
  2248.    appears to depict a three-dimensional object until one realizes
  2249.    that the parts fit together in an impossible way.
  2250.  
  2251. :BLOB: [acronym, Binary Large OBject] n. Used by database people
  2252.    for any random large block of bits which needs to be stored in a
  2253.    database, such as a picture or sound file.  The essential point
  2254.    about a BLOB is that it's an object you can't interpret within the
  2255.    database itself.
  2256.  
  2257. :block: [from process scheduling terminology in OS theory] 1. vi.
  2258.    To delay or sit idle while waiting for something.  "We're blocking
  2259.    until everyone gets here."  Compare {busy-wait}.  2. `block
  2260.    on' vt. To block, waiting for (something).  "Lunch is blocked on
  2261.    Phil's arrival."
  2262.  
  2263. :block transfer computations: n. From the television series
  2264.    "Dr. Who", in which it referred to computations so fiendishly
  2265.    subtle and complex that they could not be performed by machines.
  2266.    Used to refer to any task that should be expressible as an
  2267.    algorithm in theory, but isn't.
  2268.  
  2269. :blow an EPROM: /bloh *n ee'prom/ v. (alt. `blast an EPROM',
  2270.    `burn an EPROM') To program a read-only memory, e.g. for use
  2271.    with an embedded system.  This term arises because the programming
  2272.    process for the Programmable Read-Only Memories (PROMs) that
  2273.    preceded present-day Erasable Programmable Read-Only Memories
  2274.    (EPROMs) involved intentionally blowing tiny electrical fuses on
  2275.    the chip.  Thus, one was said to `blow' (or `blast') a PROM, and
  2276.    the terminology carried over even though the write process on
  2277.    EPROMs is nondestructive.
  2278.  
  2279. :blow away: vt. To remove (files and directories) from permanent
  2280.    storage, generally by accident.  "He reformatted the wrong
  2281.    partition and blew away last night's netnews."  Oppose {nuke}.
  2282.  
  2283. :blow out: vi. Of software, to fail spectacularly; almost as
  2284.    serious as {crash and burn}.  See {blow past}, {blow up},
  2285.    {die horribly}.
  2286.  
  2287. :blow past: vt. To {blow out} despite a safeguard.  "The server blew
  2288.    past the 5K reserve buffer."
  2289.  
  2290. :blow up: vi. 1. [scientific computation] To become unstable.  Suggests
  2291.    that the computation is diverging so rapidly that it will soon
  2292.    overflow or at least go {nonlinear}.  2.  Syn. {blow out}.
  2293.  
  2294. :BLT: /B-L-T/, /bl*t/ or (rarely) /belt/ n.,vt. Synonym for
  2295.    {blit}.  This is the original form of {blit} and the ancestor
  2296.    of {bitblt}.  It referred to any large bit-field copy or move
  2297.    operation (one resource-intensive memory-shuffling operation done
  2298.    on pre-paged versions of ITS, WAITS, and TOPS-10 was sardonically
  2299.    referred to as `The Big BLT').  The jargon usage has outlasted the
  2300.    {PDP-10} BLock Transfer instruction from which {BLT} derives;
  2301.    nowadays, the assembler mnemonic {BLT} almost always means
  2302.    `Branch if Less Than zero'.
  2303.  
  2304. :Blue Book: n. 1. Informal name for one of the three standard
  2305.    references on the page-layout and graphics-control language
  2306.    PostScript (`PostScript Language Tutorial and Cookbook', Adobe
  2307.    Systems, Addison-Wesley 1985, QA76.73.P67P68, ISBN 0-201-10179-3);
  2308.    the other two official guides are known as the {Green Book} and
  2309.    {Red Book}.  2. Informal name for one of the three standard
  2310.    references on Smalltalk: `Smalltalk-80: The Language and its
  2311.    Implementation', David Robson, Addison-Wesley 1983, QA76.8.S635G64,
  2312.    ISBN 0-201-11371-63 (this is also associated with green and red
  2313.    books).  3. Any of the 1988 standards issued by the CCITT's
  2314.    ninth plenary assembly.  Until now, they have changed color each
  2315.    review cycle (1984 was {Red Book}, 1992 would be {Green
  2316.    Book}); however, it is rumored that this convention is going to be
  2317.    dropped before 1992.  These include, among other things, the
  2318.    X.400 email spec and the Group 1 through 4 fax standards.  See also
  2319.    {{book titles}}.
  2320.  
  2321. :Blue Glue: [IBM] n. IBM's SNA (Systems Network Architecture), an
  2322.    incredibly {losing} and {bletcherous} communications protocol
  2323.    widely favored at commercial shops that don't know any better.  The
  2324.    official IBM definition is "that which binds blue boxes
  2325.    together."  See {fear and loathing}.  It may not be irrelevant
  2326.    that {Blue Glue} is the trade name of a 3M product that is
  2327.    commonly used to hold down the carpet squares to the removable
  2328.    panel floors common in {dinosaur pen}s.  A correspondent at
  2329.    U. Minn. reports that the CS department there has about 80 bottles
  2330.    of the stuff hanging about, so they often refer to any messy work
  2331.    to be done as `using the blue glue'.
  2332.  
  2333. :blue goo: n. Term for `police' {nanobot}s intended to prevent
  2334.    {gray goo}, denature hazardous waste, destroy pollution, put
  2335.    ozone back into the stratosphere, prevent halitosis, and promote
  2336.    truth, justice, and the American way, etc.  See
  2337.    {{nanotechnology}}.
  2338.  
  2339. :blurgle: /bl'gl/ [Great Britain] n. Spoken {metasyntactic variable},
  2340.    to indicate some text which is obvious from context, or which is
  2341.    already known. If several words are to be replaced, blurgle may
  2342.    well be doubled or trebled. "To look for something in several
  2343.    files use `grep string blurgle blurgle'."  In each case, "blurgle
  2344.    blurgle" would be understood to be replaced by the command you
  2345.    wished to run.  Compare {mumble}, sense 6.
  2346.  
  2347. :BNF: /B-N-F/ n. 1. [techspeak] Acronym for `Backus-Naur Form', a
  2348.    metasyntactic notation used to specify the syntax of programming
  2349.    languages, command sets, and the like.  Widely used for language
  2350.    descriptions but seldom documented anywhere, so that it must
  2351.    usually be learned by osmosis from other hackers.  Consider this
  2352.    BNF for a U.S. postal address:
  2353.  
  2354.       <postal-address> ::= <name-part> <street-address> <zip-part>
  2355.  
  2356.       <personal-part> ::= <name> | <initial> "."
  2357.  
  2358.       <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
  2359.                     | <personal-part> <name-part>
  2360.  
  2361.       <street-address> ::= [<apt>] <house-num> <street-name> <EOL>
  2362.  
  2363.       <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>
  2364.  
  2365.    This translates into English as: "A postal-address consists of a
  2366.    name-part, followed by a street-address part, followed by a
  2367.    zip-code part.  A personal-part consists of either a first name or
  2368.    an initial followed by a dot.  A name-part consists of either: a
  2369.    personal-part followed by a last name followed by an optional
  2370.    `jr-part' (Jr., Sr., or dynastic number) and end-of-line, or a
  2371.    personal part followed by a name part (this rule illustrates the
  2372.    use of recursion in BNFs, covering the case of people who use
  2373.    multiple first and middle names and/or initials).  A street address
  2374.    consists of an optional apartment specifier, followed by a street
  2375.    number, followed by a street name.  A zip-part consists of a
  2376.    town-name, followed by a comma, followed by a state code, followed
  2377.    by a ZIP-code followed by an end-of-line."  Note that many things
  2378.    (such as the format of a personal-part, apartment specifier, or
  2379.    ZIP-code) are left unspecified.  These are presumed to be obvious
  2380.    from context or detailed somewhere nearby.  See also {parse}.
  2381.    2. The term is also used loosely for any number of variants and
  2382.    extensions, possibly containing some or all of the {regexp}
  2383.    wildcards such as `*' or `+'.  In fact the example above
  2384.    isn't the pure form invented for the Algol-60 report; it uses
  2385.    `[]', which was introduced a few years later in IBM's PL/I
  2386.    definition but is now universally recognized.  3. In
  2387.    {{science-fiction fandom}}, BNF means `Big-Name Fan'
  2388.    (someone famous or notorious).  Years ago a fan started handing out
  2389.    black-on-green BNF buttons at SF conventions; this confused the
  2390.    hacker contingent terribly.
  2391.  
  2392. :boa: [IBM] n. Any one of the fat cables that lurk under the floor
  2393.    in a {dinosaur pen}.  Possibly so called because they display a
  2394.    ferocious life of their own when you try to lay them straight and
  2395.    flat after they have been coiled for some time.  It is rumored
  2396.    within IBM that channel cables for the 370 are limited to 200 feet
  2397.    because beyond that length the boas get dangerous --- and it is
  2398.    worth noting that one of the major cable makers uses the trademark
  2399.    `Anaconda'.
  2400.  
  2401. :board: n. 1. In-context synonym for {bboard}; sometimes used
  2402.    even for USENET newsgroups.  2. An electronic circuit board
  2403.    (compare {card}).
  2404.  
  2405. :boat anchor: n. 1. Like {doorstop} but more severe; implies that
  2406.    the offending hardware is irreversibly dead or useless.  "That was
  2407.    a working motherboard once.  One lightning strike later, instant
  2408.    boat anchor!"  2. A person who just takes up space.
  2409.  
  2410. :BOF: /B-O-F/ or /bof/ n. Abbreviation for the phrase "Birds
  2411.    Of a Feather" (flocking together), an informal discussion group
  2412.    and/or bull session scheduled on a conference program.  It is not
  2413.    clear where or when this term originated, but the term is
  2414.    associated with the USENIX conferences for UNIX techies and was
  2415.    already established there by 1984.
  2416.  
  2417. :bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The
  2418.    archetypical perversely awful algorithm (as opposed to {bubble
  2419.    sort}, which is merely the generic *bad* algorithm).
  2420.    Bogo-sort is equivalent to repeatedly throwing a deck of cards in
  2421.    the air, picking them up at random, and then testing whether they
  2422.    are in order.  It serves as a sort of canonical example of
  2423.    awfulness.  Looking at a program and seeing a dumb algorithm, one
  2424.    might say "Oh, I see, this program uses bogo-sort."  Compare
  2425.    {bogus}, {brute force}.
  2426.  
  2427. :bogometer: /boh-gom'-*t-er/ n. See {bogosity}.  Compare the
  2428.    `wankometer' described in the {wank} entry; see also
  2429.    {bogus}.
  2430.  
  2431. :bogon: /boh'gon/ [by analogy with proton/electron/neutron, but
  2432.    doubtless reinforced after 1980 by the similarity to Douglas
  2433.    Adams's `Vogons'; see the Bibliography in {appendix C}] n.
  2434.    1. The elementary particle of bogosity (see {quantum
  2435.    bogodynamics}).  For instance, "the Ethernet is emitting bogons
  2436.    again" means that it is broken or acting in an erratic or bogus
  2437.    fashion.  2. A query packet sent from a TCP/IP domain resolver to a
  2438.    root server, having the reply bit set instead of the query bit.
  2439.    3. Any bogus or incorrectly formed packet sent on a network.  4. By
  2440.    synecdoche, used to refer to any bogus thing, as in "I'd like to
  2441.    go to lunch with you but I've got to go to the weekly staff
  2442.    bogon".  5. A person who is bogus or who says bogus things.  This
  2443.    was historically the original usage, but has been overtaken by its
  2444.    derivative senses 1--4.  See also {bogosity}, {bogus};
  2445.    compare {psyton}, {fat electrons}, {magic smoke}.
  2446.  
  2447. :bogon filter: /boh'gon fil'tr/ n. Any device, software or hardware,
  2448.    that limits or suppresses the flow and/or emission of bogons.
  2449.    "Engineering hacked a bogon filter between the Cray and
  2450.    the VAXen, and now we're getting fewer dropped packets."  See
  2451.    also {bogosity}, {bogus}.
  2452.  
  2453. :bogon flux: /boh'gon fluhks/ n. A measure of a supposed field of
  2454.    {bogosity} emitted by a speaker, measured by a {bogometer};
  2455.    as a speaker starts to wander into increasing bogosity a listener
  2456.    might say "Warning, warning, bogon flux is rising".  See
  2457.    {quantum bogodynamics}.
  2458.  
  2459. :bogosity: /boh-go's*-tee/ n. 1. The degree to which something is
  2460.    {bogus}.  At CMU, bogosity is measured with a {bogometer}; in
  2461.    a seminar, when a speaker says something bogus, a listener might
  2462.    raise his hand and say "My bogometer just triggered".  More
  2463.    extremely, "You just pinned my bogometer" means you just said or
  2464.    did something so outrageously bogus that it is off the scale,
  2465.    pinning the bogometer needle at the highest possible reading (one
  2466.    might also say "You just redlined my bogometer").  The
  2467.    agreed-upon unit of bogosity is the microLenat /mi:k`roh-len'*t/
  2468.    (uL).  The consensus is that this is the largest unit practical
  2469.    for everyday use.  2. The potential field generated by a {bogon
  2470.    flux}; see {quantum bogodynamics}.  See also {bogon flux},
  2471.    {bogon filter}, {bogus}.
  2472.  
  2473.    Historical note: The microLenat was invented as an attack against
  2474.    noted computer scientist Doug Lenat by a {tenured graduate
  2475.    student}.  Doug had failed the student on an important exam for
  2476.    giving only "AI is bogus" as his answer to the questions.  The
  2477.    slur is generally considered unmerited, but it has become a running
  2478.    gag nevertheless.  Some of Doug's friends argue that *of
  2479.    course* a microLenat is bogus, since it is only one millionth of a
  2480.    Lenat.  Others have suggested that the unit should be redesignated
  2481.    after the grad student, as the microReid.
  2482.  
  2483. :bogotify: /boh-go't*-fi:/ vt. To make or become bogus.  A
  2484.    program that has been changed so many times as to become completely
  2485.    disorganized has become bogotified.  If you tighten a nut too hard
  2486.    and strip the threads on the bolt, the bolt has become bogotified
  2487.    and you had better not use it any more.  This coinage led to the
  2488.    notional `autobogotiphobia' defined as `the fear of becoming
  2489.    bogotified'; but is not clear that the latter has ever been
  2490.    `live' jargon rather than a self-conscious joke in jargon about
  2491.    jargon.  See also {bogosity}, {bogus}.
  2492.  
  2493. :bogue out: /bohg owt/ vi. To become bogus, suddenly and
  2494.    unexpectedly.  "His talk was relatively sane until somebody asked
  2495.    him a trick question; then he bogued out and did nothing but
  2496.    {flame} afterwards."  See also {bogosity}, {bogus}.
  2497.  
  2498. :bogus: adj. 1. Non-functional.  "Your patches are bogus."
  2499.    2. Useless.  "OPCON is a bogus program."  3. False.  "Your
  2500.    arguments are bogus."  4. Incorrect.  "That algorithm is bogus."
  2501.    5. Unbelievable.  "You claim to have solved the halting problem
  2502.    for Turing Machines?  That's totally bogus."  6. Silly.  "Stop
  2503.    writing those bogus sagas."
  2504.  
  2505.    Astrology is bogus.  So is a bolt that is obviously about to break.
  2506.    So is someone who makes blatantly false claims to have solved a
  2507.    scientific problem.  (This word seems to have some, but not all, of
  2508.    the connotations of {random} --- mostly the negative ones.)
  2509.  
  2510.    It is claimed that `bogus' was originally used in the hackish sense
  2511.    at Princeton in the late 1960s.  It was spread to CMU and Yale by
  2512.    Michael Shamos, a migratory Princeton alumnus.  A glossary of bogus
  2513.    words was compiled at Yale when the word was first popularized (see
  2514.    {autobogotiphobia} under {bogotify}). The word spread into
  2515.    hackerdom from CMU and MIT.  By the early 1980s it was also
  2516.    current in something like the hackish sense in West Coast teen
  2517.    slang, and it had gone mainstream by 1985.  A correspondent from
  2518.    Cambridge reports, by contrast, that these uses of `bogus' grate on
  2519.    British nerves; in Britain the word means, rather specifically,
  2520.    `counterfeit', as in "a bogus 10-pound note".
  2521.  
  2522. :Bohr bug: /bohr buhg/ [from quantum physics] n. A repeatable
  2523.    {bug}; one that manifests reliably under a possibly unknown but
  2524.    well-defined set of conditions.  Antonym of {heisenbug}; see also
  2525.    {mandelbug}.
  2526.  
  2527. :boink: /boynk/ [USENET: ascribed there to the TV series
  2528.    "Cheers" and "Moonlighting"] 1. To have sex with;
  2529.    compare {bounce}, sense 3. (This is mainstream slang.) In
  2530.    Commonwealth hackish the variant `bonk' is more common.  2. After
  2531.    the original Peter Korn `Boinkon' {USENET} parties, used for
  2532.    almost any net social gathering, e.g., Miniboink, a small boink
  2533.    held by Nancy Gillett in 1988; Minniboink, a Boinkcon in Minnesota
  2534.    in 1989; Humpdayboinks, Wednesday get-togethers held in the San
  2535.    Francisco Bay Area.  Compare {@-party}.  3. Var of `bonk';
  2536.    see {bonk/oif}.
  2537.  
  2538. :bomb: 1. v. General synonym for {crash} (sense 1) except that
  2539.    it is not used as a noun; esp. used of software or OS failures.
  2540.    "Don't run Empire with less than 32K stack, it'll bomb."
  2541.    2. n.,v. Atari ST and Macintosh equivalents of a UNIX `panic' or
  2542.    Amiga {guru} (sense 2), where icons of little black-powder bombs
  2543.    or mushroom clouds are displayed, indicating that the system has
  2544.    died.  On the Mac, this may be accompanied by a decimal (or
  2545.    occasionally hexadecimal) number indicating what went wrong,
  2546.    similar to the Amiga {guru meditation} number.  {{MS-DOS}}
  2547.    machines tend to get {locked up} in this situation.
  2548.  
  2549. :bondage-and-discipline language: A language (such as Pascal, Ada,
  2550.    APL, or Prolog) that, though ostensibly general-purpose, is
  2551.    designed so as to enforce an author's theory of `right
  2552.    programming' even though said theory is demonstrably inadequate for
  2553.    systems hacking or even vanilla general-purpose programming.  Often
  2554.    abbreviated `B&D'; thus, one may speak of things "having the
  2555.    B&D nature".  See {{Pascal}}; oppose {languages of choice}.
  2556.  
  2557. :bonk/oif: /bonk/, /oyf/ interj. In the {MUD} community, it has
  2558.    become traditional to express pique or censure by `bonking' the
  2559.    offending person.  There is a convention that one should
  2560.    acknowledge a bonk by saying `oif!' and a myth to the effect that
  2561.    failing to do so upsets the cosmic bonk/oif balance, causing much
  2562.    trouble in the universe.  Some MUDs have implemented special
  2563.    commands for bonking and oifing.  See also {talk mode},
  2564.    {posing}.
  2565.  
  2566. :book titles:: There is a tradition in hackerdom of informally
  2567.    tagging important textbooks and standards documents with the
  2568.    dominant color of their covers or with some other conspicuous
  2569.    feature of the cover.  Many of these are described in this lexicon
  2570.    under their own entries. See {Aluminum Book}, {Blue Book},
  2571.    {Cinderella Book}, {Devil Book}, {Dragon Book}, {Green
  2572.    Book}, {Orange Book}, {Pink-Shirt Book}, {Purple Book},
  2573.    {Red Book}, {Silver Book}, {White Book}, {Wizard Book},
  2574.    {Yellow Book}, and {bible}.
  2575.  
  2576. :boot: [techspeak; from `by one's bootstraps'] v.,n. To load and
  2577.    initialize the operating system on a machine.  This usage is no
  2578.    longer jargon (having passed into techspeak) but has given rise to
  2579.    some derivatives that are still jargon.
  2580.  
  2581.    The derivative `reboot' implies that the machine hasn't been
  2582.    down for long, or that the boot is a {bounce} intended to clear
  2583.    some state of {wedgitude}.  This is sometimes used of human
  2584.    thought processes, as in the following exchange: "You've lost
  2585.    me." "OK, reboot.  Here's the theory...."
  2586.  
  2587.    This term is also found in the variants `cold boot' (from
  2588.    power-off condition) and `warm boot' (with the CPU and all
  2589.    devices already powered up, as after a hardware reset or software
  2590.    crash).
  2591.  
  2592.    Another variant: `soft boot', reinitialization of only part of a
  2593.    system, under control of other software still running: "If
  2594.    you're running the {mess-dos} emulator, control-alt-insert will
  2595.    cause a soft-boot of the emulator, while leaving the rest of the
  2596.    system running."
  2597.  
  2598.    Opposed to this there is `hard boot', which connotes hostility
  2599.    towards or frustration with the machine being booted:  "I'll have
  2600.    to hard-boot this losing Sun." "I recommend booting it
  2601.    hard." One often hard-boots by performing a {power cycle}.
  2602.  
  2603.    Historical note: this term derives from `bootstrap loader', a short
  2604.    program that was read in from cards or paper tape, or toggled in
  2605.    from the front panel switches.  This program was always very short
  2606.    (great efforts were expended on making it short in order to
  2607.    minimize the labor and chance of error involved in toggling it in),
  2608.    but was just smart enough to read in a slightly more complex
  2609.    program (usually from a card or paper tape reader), to which it
  2610.    handed control; this program in turn was smart enough to read the
  2611.    application or operating system from a magnetic tape drive or disk
  2612.    drive.  Thus, in successive steps, the computer `pulled itself up
  2613.    by its bootstraps' to a useful operating state.  Nowadays the
  2614.    bootstrap is usually found in ROM or EPROM, and reads the first
  2615.    stage in from a fixed location on the disk, called the `boot
  2616.    block'.  When this program gains control, it is powerful enough to
  2617.    load the actual OS and hand control over to it.
  2618.  
  2619. :bottom-up implementation: n. Hackish opposite of the techspeak term
  2620.    `top-down design'.  It is now received wisdom in most
  2621.    programming cultures that it is best to design from higher levels
  2622.    of abstraction down to lower, specifying sequences of action in
  2623.    increasing detail until you get to actual code.  Hackers often find
  2624.    (especially in exploratory designs that cannot be closely
  2625.    specified in advance) that it works best to *build* things in
  2626.    the opposite order, by writing and testing a clean set of primitive
  2627.    operations and then knitting them together.
  2628.  
  2629. :bounce: v. 1. [perhaps from the image of a thrown ball bouncing
  2630.    off a wall] An electronic mail message that is undeliverable and
  2631.    returns an error notification to the sender is said to `bounce'.
  2632.    See also {bounce message}.  2. [Stanford] To play volleyball.
  2633.    At the now-demolished {D. C. Power Lab} building used by the
  2634.    Stanford AI Lab in the 1970s, there was a volleyball court on the
  2635.    front lawn.  From 5 P.M. to 7 P.M. was the scheduled
  2636.    maintenance time for the computer, so every afternoon at 5 the
  2637.    computer would become unavailable, and over the intercom a voice
  2638.    would cry, "Now hear this: bounce, bounce!" followed by Brian
  2639.    McCune loudly bouncing a volleyball on the floor outside the
  2640.    offices of known volleyballers.  3. To engage in sexual
  2641.    intercourse; prob. from the expression `bouncing the mattress',
  2642.    but influenced by Roo's psychosexually loaded "Try bouncing me,
  2643.    Tigger!" from the "Winnie-the-Pooh" books.  Compare
  2644.    {boink}.  4. To casually reboot a system in order to clear up a
  2645.    transient problem.  Reported primarily among {VMS} users.
  2646.    5. [IBM] To {power cycle} a peripheral in order to reset it.
  2647.  
  2648. :bounce message: [UNIX] n. Notification message returned to sender by
  2649.    a site unable to relay {email} to the intended {{Internet address}}
  2650.    recipient or the next link in a {bang path} (see {bounce}).
  2651.    Reasons might include a nonexistent or misspelled username or a
  2652.    {down} relay site.  Bounce messages can themselves fail, with
  2653.    occasionally ugly results; see {sorcerer's apprentice mode}.
  2654.    The terms `bounce mail' and `barfmail' also common.
  2655.  
  2656. :box: n. 1. A computer; esp. in the construction `foo box'
  2657.    where foo is some functional qualifier, like `graphics', or
  2658.    the name of an OS (thus, `UNIX box', `MS-DOS box', etc.)  "We
  2659.    preprocess the data on UNIX boxes before handing it up to the
  2660.    mainframe."  2. [within IBM] Without qualification but within an
  2661.    SNA-using site, this refers specifically to an IBM front-end
  2662.    processor or FEP /F-E-P/.  An FEP is a small computer necessary
  2663.    to enable an IBM {mainframe} to communicate beyond the limits of
  2664.    the {dinosaur pen}.  Typically used in expressions like the cry
  2665.    that goes up when an SNA network goes down: "Looks like the
  2666.    {box} has fallen over." (See {fall over}.) See also
  2667.    {IBM}, {fear and loathing}, {fepped out}, {Blue
  2668.    Glue}.
  2669.  
  2670. :boxed comments: n. Comments (explanatory notes attached to program
  2671.    instructions) that occupy several lines by themselves; so called
  2672.    because in assembler and C code they are often surrounded by a box
  2673.    in a style something like this:
  2674.  
  2675.      /*************************************************
  2676.       *
  2677.       * This is a boxed comment in C style
  2678.       *
  2679.       *************************************************/
  2680.  
  2681.    Common variants of this style omit the asterisks in column 2 or add
  2682.    a matching row of asterisks closing the right side of the box.  The
  2683.    sparest variant omits all but the comment delimiters themselves;
  2684.    the `box' is implied.  Oppose {winged comments}.
  2685.  
  2686. :boxen: /bok'sn/ [by analogy with {VAXen}] pl.n. Fanciful
  2687.    plural of {box} often encountered in the phrase `UNIX boxen',
  2688.    used to describe commodity {{UNIX}} hardware.  The connotation is
  2689.    that any two UNIX boxen are interchangeable.
  2690.  
  2691. :boxology: /bok-sol'*-jee/ n. Syn. {ASCII art}.  This term
  2692.    implies a more restricted domain, that of box-and-arrow drawings.
  2693.    "His report has a lot of boxology in it."  Compare
  2694.    {macrology}.
  2695.  
  2696. :bozotic: /boh-zoh'tik/ or /boh-zo'tik/ [from the name of a TV
  2697.    clown even more losing than Ronald McDonald] adj. Resembling or
  2698.    having the quality of a bozo; that is, clownish, ludicrously wrong,
  2699.    unintentionally humorous.  Compare {wonky}, {demented}.  Note
  2700.    that the noun `bozo' occurs in slang, but the mainstream
  2701.    adjectival form would be `bozo-like' or (in New England)
  2702.    `bozoish'.
  2703.  
  2704. :BQS: /B-Q-S/ adj. Syn. {Berkeley Quality Software}.
  2705.  
  2706. :brain dump: n. The act of telling someone everything one knows
  2707.    about a particular topic or project.  Typically used when someone
  2708.    is going to let a new party maintain a piece of code.  Conceptually
  2709.    analogous to an operating system {core dump} in that it saves a
  2710.    lot of useful {state} before an exit.  "You'll have to
  2711.    give me a brain dump on FOOBAR before you start your new job at
  2712.    HackerCorp."  See {core dump} (sense 4).  At Sun, this is also
  2713.    known as `TOI' (transfer of information).
  2714.  
  2715. :brain fart: n. The actual result of a {braino}, as opposed to
  2716.    the mental glitch which is the braino itself.  E.g. typing
  2717.    `dir' on a UNIX box after a session with DOS.
  2718.  
  2719. :brain-damaged: 1. [generalization of `Honeywell Brain Damage'
  2720.    (HBD), a theoretical disease invented to explain certain utter
  2721.    cretinisms in Honeywell {{Multics}}] adj. Obviously wrong;
  2722.    {cretinous}; {demented}.  There is an implication that the
  2723.    person responsible must have suffered brain damage, because he
  2724.    should have known better.  Calling something brain-damaged is
  2725.    really bad; it also implies it is unusable, and that its failure to
  2726.    work is due to poor design rather than some accident.  "Only six
  2727.    monocase characters per file name?  Now *that's*
  2728.    brain-damaged!"  2. [esp. in the Mac world] May refer to free
  2729.    demonstration software that has been deliberately crippled in some
  2730.    way so as not to compete with the commercial product it is
  2731.    intended to sell.  Syn.  {crippleware}.
  2732.  
  2733. :brain-dead: adj. Brain-damaged in the extreme.  It tends to imply
  2734.    terminal design failure rather than malfunction or simple
  2735.    stupidity.  "This comm program doesn't know how to send a break
  2736.    --- how brain-dead!"
  2737.  
  2738. :braino: /bray'no/ n. Syn. for {thinko}. See also {brain
  2739.    fart}.
  2740.  
  2741. :branch to Fishkill: [IBM: from the location of one of the
  2742.    corporation's facilities] n. Any unexpected jump in a program that
  2743.    produces catastrophic or just plain weird results.  See {jump
  2744.    off into never-never land}, {hyperspace}.
  2745.  
  2746. :brand brand brand: n. Humorous catch-phrase from {BartleMUD}s, in
  2747.    which players were described carrying a list of objects, the most
  2748.    common of which would usually be a brand.  Often used as a joke in
  2749.    {talk mode} as in "Fred the wizard is here, carrying brand ruby
  2750.    brand brand brand kettle broadsword flamethrower".  A brand is a
  2751.    torch, of course; one burns up a lot of those exploring dungeons.
  2752.    Prob. influenced by the famous Monty Python "Spam" skit.
  2753.  
  2754. :break: 1. vt. To cause to be broken (in any sense).  "Your latest
  2755.    patch to the editor broke the paragraph commands."  2. v.  (of a
  2756.    program) To stop temporarily, so that it may debugged.  The place
  2757.    where it stops is a `breakpoint'.  3. [techspeak] vi. To send an
  2758.    RS-232 break (125 msec of line high) over a serial comm line.
  2759.    4. [UNIX] vi. To strike whatever key currently causes the tty
  2760.    driver to send SIGINT to the current process.  Normally, break
  2761.    (sense 3) or delete does this.  5. `break break' may be said to
  2762.    interrupt a conversation (this is an example of verb doubling).
  2763.  
  2764. :break-even point: n. in the process of implementing a new computer
  2765.    language, the point at which the language is sufficiently effective
  2766.    that one can implement the language in itself.  That is, for a new
  2767.    language called, hypothetically, FOOGOL, one has reached break-even
  2768.    when one can write a demonstration compiler for FOOGOL in FOOGOL,
  2769.    discard the original implementation language, and thereafter use
  2770.    older versions of FOOGOL to develop newer ones.  This is an
  2771.    important milestone; see {MFTL}.
  2772.  
  2773. :breath-of-life packet: [XEROX PARC] n. An Ethernet packet that
  2774.    contained bootstrap (see {boot}) code, periodically sent out
  2775.    from a working computer to infuse the `breath of life' into any
  2776.    computer on the network that had happened to crash.  The machines
  2777.    had hardware or firmware that would wait for such a packet after a
  2778.    catastrophic error.
  2779.  
  2780. :breedle: n. See {feep}.
  2781.  
  2782. :bring X to its knees: v. To present a machine, operating system,
  2783.    piece of software, or algorithm with a load so extreme or
  2784.    {pathological} that it grinds to a halt.  "To bring a MicroVAX
  2785.    to its knees, try twenty users running {vi} --- or four running
  2786.    {EMACS}."  Compare {hog}.
  2787.  
  2788. :brittle: adj. Said of software that is functional but easily broken
  2789.    by changes in operating environment or configuration, or by any
  2790.    minor tweak to the software itself.  Also, any system that
  2791.    responds inappropriately and disastrously to expected external
  2792.    stimuli; e.g., a file system that is usually totally scrambled by a
  2793.    power failure is said to be brittle.  This term is often used to
  2794.    describe the results of a research effort that were never intended
  2795.    to be robust, but it can be applied to commercially developed
  2796.    software, which displays the quality far more often than it ought
  2797.    to.  Oppose {robust}.
  2798.  
  2799. :broadcast storm: n. An incorrect packet broadcast on a network that
  2800.    causes most hosts to respond all at once, typically with wrong
  2801.    answers that start the process over again.  See {network
  2802.    meltdown}.
  2803.  
  2804. :broken: adj. 1. Not working properly (of programs).  2. Behaving
  2805.    strangely; especially (when used of people) exhibiting extreme
  2806.    depression.
  2807.  
  2808. :broken arrow: [IBM] n. The error code displayed on line 25 of a
  2809.    3270 terminal (or a PC emulating a 3270) for various kinds of
  2810.    protocol violations and "unexpected" error conditions (including
  2811.    connection to a {down} computer).  On a PC, simulated with
  2812.    `->/_', with the two center characters overstruck. In true
  2813.    {luser} fashion, the original documentation of these codes
  2814.    (visible on every 3270 terminal, and necessary for debugging
  2815.    network problems) was confined to an IBM customer engineering
  2816.    manual.
  2817.  
  2818.    Note: to appreciate this term fully, it helps to know that `broken
  2819.    arrow' is also military jargon for an accident involving nuclear
  2820.    weapons.... 
  2821.  
  2822. :broket: /broh'k*t/ or /broh'ket`/ [by analogy with `bracket': a
  2823.    `broken bracket'] n. Either of the characters `<' and `>',
  2824.    when used as paired enclosing delimiters.  This word
  2825.    originated as a contraction of the phrase `broken bracket', that
  2826.    is, a bracket that is bent in the middle.  (At MIT, and apparently
  2827.    in the {Real World} as well, these are usually called {angle
  2828.    brackets}.)
  2829.  
  2830. :Brooks's Law: prov. "Adding manpower to a late software project
  2831.    makes it later" --- a result of the fact that the advantage from
  2832.    splitting work among N programmers is O(N) (that is,
  2833.    proportional to N), but the complexity and communications
  2834.    cost associated with coordinating and then merging their work
  2835.    is O(N^2) (that is, proportional to the square of N).
  2836.    The quote is from Fred Brooks, a manager of IBM's OS/360 project
  2837.    and author of `The Mythical Man-Month' (Addison-Wesley, 1975,
  2838.    ISBN 0-201-00650-2), an excellent early book on software
  2839.    engineering.  The myth in question has been most tersely expressed
  2840.    as "Programmer time is fungible" and Brooks established
  2841.    conclusively that it is not.  Hackers have never forgotten his
  2842.    advice; too often, {management} does.  See also
  2843.    {creationism}, {second-system effect}.
  2844.  
  2845. :BRS: /B-R-S/ n. Syn. {Big Red Switch}.  This abbreviation is
  2846.    fairly common on-line.
  2847.  
  2848. :brute force: adj. Describes a primitive programming style, one in
  2849.    which the programmer relies on the computer's processing power
  2850.    instead of using his or her own intelligence to simplify the
  2851.    problem, often ignoring problems of scale and applying na"ive
  2852.    methods suited to small problems directly to large ones.
  2853.  
  2854.    The {canonical} example of a brute-force algorithm is associated
  2855.    with the `traveling salesman problem' (TSP), a classical NP-hard
  2856.    problem: Suppose a person is in, say, Boston, and wishes to drive
  2857.    to N other cities.  In what order should he or she visit
  2858.    them in order to minimize the distance travelled?  The brute-force
  2859.    method is to simply generate all possible routes and compare the
  2860.    distances; while guaranteed to work and simple to implement, this
  2861.    algorithm is clearly very stupid in that it considers even
  2862.    obviously absurd routes (like going from Boston to Houston via San
  2863.    Francisco and New York, in that order).  For very small N it
  2864.    works well, but it rapidly becomes absurdly inefficient when
  2865.    N increases (for N = 15, there are already
  2866.    1,307,674,368,000 possible routes to consider, and for
  2867.    N = 1000 --- well, see {bignum}).  See
  2868.    also {NP-}.
  2869.  
  2870.    A more simple-minded example of brute-force programming is finding
  2871.    the smallest number in a large list by first using an existing
  2872.    program to sort the list in ascending order, and then picking the
  2873.    first number off the front.
  2874.  
  2875.    Whether brute-force programming should be considered stupid or not
  2876.    depends on the context; if the problem isn't too big, the extra CPU
  2877.    time spent on a brute-force solution may cost less than the
  2878.    programmer time it would take to develop a more `intelligent'
  2879.    algorithm.  Alternatively, a more intelligent algorithm may imply
  2880.    more long-term complexity cost and bug-chasing than are justified
  2881.    by the speed improvement.
  2882.  
  2883.    Ken Thompson, co-inventor of UNIX, is reported to have uttered the
  2884.    epigram "When in doubt, use brute force".  He probably intended
  2885.    this as a {ha ha only serious}, but the original UNIX kernel's
  2886.    preference for simple, robust, and portable algorithms over
  2887.    {brittle} `smart' ones does seem to have been a significant
  2888.    factor in the success of that OS.  Like so many other tradeoffs in
  2889.    software design, the choice between brute force and complex,
  2890.    finely-tuned cleverness is often a difficult one that requires both
  2891.    engineering savvy and delicate esthetic judgment.
  2892.  
  2893. :brute force and ignorance: n. A popular design technique at many
  2894.    software houses --- {brute force} coding unrelieved by any
  2895.    knowledge of how problems have been previously solved in elegant
  2896.    ways.  Dogmatic adherence to design methodologies tends to
  2897.    encourage it.  Characteristic of early {larval stage}
  2898.    programming; unfortunately, many never outgrow it.  Often
  2899.    abbreviated BFI: "Gak, they used a bubble sort!  That's strictly
  2900.    from BFI."  Compare {bogosity}.
  2901.  
  2902. :BSD: /B-S-D/ n. [abbreviation for `Berkeley System Distribution'] a
  2903.    family of {{UNIX}} versions for the DEC {VAX} and PDP-11
  2904.    developed by Bill Joy and others at {Berzerkeley} starting
  2905.    around 1980, incorporating paged virtual memory, TCP/IP networking
  2906.    enhancements, and many other features.  The BSD versions (4.1, 4.2,
  2907.    and 4.3) and the commercial versions derived from them (SunOS,
  2908.    ULTRIX, and Mt. Xinu) held the technical lead in the UNIX world
  2909.    until AT&T's successful standardization efforts after about 1986,
  2910.    and are still widely popular.  See {{UNIX}}, {USG UNIX}.
  2911.  
  2912. :bubble sort: n. Techspeak for a particular sorting technique in
  2913.    which pairs of adjacent values in the list to be sorted are
  2914.    compared and interchanged if they are out of order; thus, list
  2915.    entries `bubble upward' in the list until they bump into one with a
  2916.    lower sort value.  Because it is not very good relative to other
  2917.    methods and is the one typically stumbled on by {na"ive} and
  2918.    untutored programmers, hackers consider it the {canonical}
  2919.    example of a na"ive algorithm.  The canonical example of a really
  2920.    *bad* algorithm is {bogo-sort}.  A bubble sort might be used
  2921.    out of ignorance, but any use of bogo-sort could issue only from
  2922.    brain damage or willful perversity.
  2923.  
  2924. :bucky bits: /buh'kee bits/ n. 1. obs. The bits produced by the
  2925.    CONTROL and META shift keys on a SAIL keyboard (octal 200 and 400
  2926.    respectively), resulting in a 9-bit keyboard character set.  The
  2927.    MIT AI TV (Knight) keyboards extended this with TOP and separate
  2928.    left and right CONTROL and META keys, resulting in a 12-bit
  2929.    character set; later, LISP Machines added such keys as SUPER,
  2930.    HYPER, and GREEK (see {space-cadet keyboard}).  2. By extension,
  2931.    bits associated with `extra' shift keys on any keyboard, e.g.,
  2932.    the ALT on an IBM PC or command and option keys on a Macintosh.
  2933.  
  2934.    It is rumored that `bucky bits' were named for Buckminster Fuller
  2935.    during a period when he was consulting at Stanford.  Actually,
  2936.    `Bucky' was Niklaus Wirth's nickname when *he* was at
  2937.    Stanford; he first suggested the idea of an EDIT key to set the
  2938.    8th bit of an otherwise 7-bit ASCII character.  This was used in a
  2939.    number of editors written at Stanford or in its environs (TV-EDIT
  2940.    and NLS being the best-known).  The term spread to MIT and CMU
  2941.    early and is now in general use.  See {double bucky},
  2942.    {quadruple bucky}.
  2943.  
  2944. :buffer overflow: n. What happens when you try to stuff more data
  2945.    into a buffer (holding area) than it can handle.  This may be due
  2946.    to a mismatch in the processing rates of the producing and
  2947.    consuming processes (see {overrun} and {firehose syndrome}),
  2948.    or because the buffer is simply too small to hold all the data that
  2949.    must accumulate before a piece of it can be processed. For example,
  2950.    in a text-processing tool that {crunch}es a line at a time, a
  2951.    short line buffer can result in {lossage} as input from a long
  2952.    line overflows the buffer and trashes data beyond it.  Good
  2953.    defensive programming would check for overflow on each character
  2954.    and stop accepting data when the buffer is full up.  The term is
  2955.    used of and by humans in a metaphorical sense. "What time did I
  2956.    agree to meet you?  My buffer must have overflowed."  Or "If I
  2957.    answer that phone my buffer is going to overflow."  See also
  2958.    {spam}, {overrun screw}.
  2959.  
  2960. :bug: n. An unwanted and unintended property of a program or
  2961.    hardware, esp. one that causes it to malfunction.  Antonym of
  2962.    {feature}.  Examples: "There's a bug in the editor: it writes
  2963.    things out backwards."  "The system crashed because of a hardware
  2964.    bug."  "Fred is a winner, but he has a few bugs" (i.e., Fred is
  2965.    a good guy, but he has a few personality problems).
  2966.  
  2967.    Historical note: Some have said this term came from telephone
  2968.    company usage, in which "bugs in a telephone cable" were blamed
  2969.    for noisy lines, but this appears to be an incorrect folk
  2970.    etymology.  Admiral Grace Hopper (an early computing pioneer better
  2971.    known for inventing {COBOL}) liked to tell a story in which a
  2972.    technician solved a persistent {glitch} in the Harvard Mark II
  2973.    machine by pulling an actual insect out from between the contacts
  2974.    of one of its relays, and she subsequently promulgated {bug} in
  2975.    its hackish sense as a joke about the incident (though, as she was
  2976.    careful to admit, she was not there when it happened).  For many
  2977.    years the logbook associated with the incident and the actual bug
  2978.    in question (a moth) sat in a display case at the Naval Surface
  2979.    Warfare Center.  The entire story, with a picture of the logbook
  2980.    and the moth taped into it, is recorded in the `Annals of the
  2981.    History of Computing', Vol. 3, No. 3 (July 1981), pp. 285--286.
  2982.  
  2983.    The text of the log entry (from September 9, 1945), reads "1545
  2984.    Relay #70 Panel F (moth) in relay.  First actual case of bug being
  2985.    found".  This wording seems to establish that the term was already
  2986.    in use at the time in its current specific sense --- and Hopper
  2987.    herself reports that the term `bug' was regularly applied to
  2988.    problems in radar electronics during WWII.  Indeed, the use of
  2989.    `bug' to mean an industrial defect was already established in
  2990.    Thomas Edison's time, and `bug' in the sense of an disruptive
  2991.    event goes back to Shakespeare!  In the first edition of Samuel
  2992.    Johnson's dictionary one meaning of `bug' is "A frightful
  2993.    object; a walking spectre"; this is traced to `bugbear', a Welsh
  2994.    term for a variety of mythological monster which (to complete the
  2995.    circle) has recently been reintroduced into the popular lexicon
  2996.    through fantasy role-playing games.
  2997.  
  2998.    In any case, in jargon the word almost never refers to insects.
  2999.    Here is a plausible conversation that never actually happened:
  3000.  
  3001.    "There is a bug in this ant farm!"
  3002.  
  3003.    "What do you mean?  I don't see any ants in it."
  3004.  
  3005.    "That's the bug."
  3006.  
  3007.    [There has been a widespread myth that the original bug was moved
  3008.    to the Smithsonian, and an earlier version of this entry so
  3009.    asserted.  A correspondent who thought to check discovered that the
  3010.    bug was not there.  While investigating this in late 1990, your
  3011.    editor discovered that the NSWC still had the bug, but had
  3012.    unsuccessfully tried to get the Smithsonian to accept it --- and
  3013.    that the present curator of the History of American Technology
  3014.    Museum didn't know this and agreed that it would make a worthwhile
  3015.    exhibit.  It was moved to the Smithsonian in mid-1991.  Thus, the
  3016.    process of investigating the original-computer-bug bug fixed it in
  3017.    an entirely unexpected way, by making the myth true!  --- ESR]
  3018.  
  3019. :bug-compatible: adj. Said of a design or revision that has been
  3020.    badly compromised by a requirement to be compatible with
  3021.    {fossil}s or {misfeature}s in other programs or (esp.)
  3022.    previous releases of itself. "MS-DOS 2.0 used \ as a path
  3023.    separator to be bug-compatible with some cretin's choice of / as an
  3024.    option character in 1.0."
  3025.  
  3026. :bug-for-bug compatible: n. Same as {bug-compatible}, with the
  3027.    additional implication that much tedious effort went into ensuring
  3028.    that each (known) bug was replicated.
  3029.  
  3030. :buglix: /buhg'liks/ n. Pejorative term referring to DEC's ULTRIX
  3031.    operating system in its earlier *severely* buggy versions.
  3032.    Still used to describe ULTRIX, but without venom.  Compare
  3033.    {HP-SUX}, {Nominal Semidestructor}, {Telerat},
  3034.    {sun-stools}.
  3035.  
  3036. :bulletproof: adj. Used of an algorithm or implementation considered
  3037.    extremely {robust}; lossage-resistant; capable of correctly
  3038.    recovering from any imaginable exception condition.  This is a rare
  3039.    and valued quality.  Syn. {armor-plated}.
  3040.  
  3041. :bum: 1. vt. To make highly efficient, either in time or space,
  3042.    often at the expense of clarity.  "I managed to bum three more
  3043.    instructions out of that code."  "I spent half the night bumming
  3044.    the interrupt code."  In {elder days}, John McCarthy (inventor
  3045.    of {LISP}) used to compare some efficiency-obsessed hackers
  3046.    among his students to "ski bums"; thus, optimization became
  3047.    "program bumming", and eventually just "bumming".  2. To
  3048.    squeeze out excess; to remove something in order to improve
  3049.    whatever it was removed from (without changing function; this
  3050.    distinguishes the process from a {featurectomy}).  3. n. A small
  3051.    change to an algorithm, program, or hardware device to make it more
  3052.    efficient.  "This hardware bum makes the jump instruction
  3053.    faster."  Usage: now uncommon, largely superseded by v. {tune}
  3054.    (and n. {tweak}, {hack}), though none of these exactly
  3055.    capture sense 2.  All these uses are rare in Commonwealth hackish,
  3056.    because in the parent dialects of English `bum' is a rude synonym
  3057.    for `buttocks'.
  3058.  
  3059. :bump: vt. Synonym for increment.  Has the same meaning as
  3060.    C's ++ operator.  Used esp. of counter variables, pointers, and
  3061.    index dummies in `for', `while', and `do-while'
  3062.    loops.
  3063.  
  3064. :burble: [from Lewis Carroll's "Jabberwocky"] v. Like {flame},
  3065.    but connotes that the source is truly clueless and ineffectual
  3066.    (mere flamers can be competent).  A term of deep contempt.
  3067.    "There's some guy on the phone burbling about how he got a DISK
  3068.    FULL error and it's all our comm software's fault."
  3069.  
  3070. :buried treasure: n. A surprising piece of code found in some
  3071.    program.  While usually not wrong, it tends to vary from {crufty}
  3072.    to {bletcherous}, and has lain undiscovered only because it was
  3073.    functionally correct, however horrible it is.  Used sarcastically,
  3074.    because what is found is anything *but* treasure.  Buried
  3075.    treasure almost always needs to be dug up and removed.  "I just
  3076.    found that the scheduler sorts its queue using {bubble sort}!
  3077.    Buried treasure!"
  3078.  
  3079. :burn-in period: n. 1. A factory test designed to catch systems
  3080.    with {marginal} components before they get out the door; the
  3081.    theory is that burn-in will protect customers by outwaiting the
  3082.    steepest part of the {bathtub curve} (see {infant
  3083.    mortality}).  2. A period of indeterminate length in which a person
  3084.    using a computer is so intensely involved in his project that he
  3085.    forgets basic needs such as food, drink, sleep, etc.  Warning:
  3086.    Excessive burn-in can lead to burn-out.  See {hack mode},
  3087.    {larval stage}.
  3088.  
  3089. :burst page: n. Syn. {banner}, sense 1.
  3090.  
  3091. :busy-wait: vi. Used of human behavior, conveys that the subject is
  3092.    busy waiting for someone or something, intends to move instantly as
  3093.    soon as it shows up, and thus cannot do anything else at the
  3094.    moment.  "Can't talk now, I'm busy-waiting till Bill gets off the
  3095.    phone."
  3096.  
  3097.    Technically, `busy-wait' means to wait on an event by
  3098.    {spin}ning through a tight or timed-delay loop that polls for
  3099.    the event on each pass, as opposed to setting up an interrupt
  3100.    handler and continuing execution on another part of the task.  This
  3101.    is a wasteful technique, best avoided on time-sharing systems where
  3102.    a busy-waiting program may {hog} the processor.
  3103.  
  3104. :buzz: vi. 1. Of a program, to run with no indication of progress
  3105.    and perhaps without guarantee of ever finishing; esp. said of
  3106.    programs thought to be executing tight loops of code.  A program
  3107.    that is buzzing appears to be {catatonic}, but you never get out
  3108.    of catatonia, while a buzzing loop may eventually end of its own
  3109.    accord.  "The program buzzes for about 10 seconds trying to sort
  3110.    all the names into order."  See {spin}; see also {grovel}.
  3111.    2. [ETA Systems] To test a wire or printed circuit trace for
  3112.    continuity by applying an AC rather than DC signal.  Some wire
  3113.    faults will pass DC tests but fail a buzz test.  3. To process an
  3114.    array or list in sequence, doing the same thing to each element.
  3115.    "This loop buzzes through the tz array looking for a terminator
  3116.    type."
  3117.  
  3118. :BWQ: /B-W-Q/ [IBM: abbreviation, `Buzz Word Quotient'] The
  3119.    percentage of buzzwords in a speech or documents.  Usually roughly
  3120.    proportional to {bogosity}.  See {TLA}.
  3121.  
  3122. :by hand: adv. Said of an operation (especially a repetitive,
  3123.    trivial, and/or tedious one) that ought to be performed
  3124.    automatically by the computer, but which a hacker instead has to
  3125.    step tediously through.  "My mailer doesn't have a command to
  3126.    include the text of the message I'm replying to, so I have to do it
  3127.    by hand."  This does not necessarily mean the speaker has to
  3128.    retype a copy of the message; it might refer to, say, dropping into
  3129.    a {subshell} from the mailer, making a copy of one's mailbox file,
  3130.    reading that into an editor, locating the top and bottom of the
  3131.    message in question, deleting the rest of the file, inserting `>'
  3132.    characters on each line, writing the file, leaving the editor,
  3133.    returning to the mailer, reading the file in, and later remembering
  3134.    to delete the file.  Compare {eyeball search}.
  3135.  
  3136. :byte:: /bi:t/ [techspeak] n. A unit of memory or data equal to
  3137.    the amount used to represent one character; on modern architectures
  3138.    this is usually 8 bits, but may be 9 on 36-bit machines.  Some
  3139.    older architectures used `byte' for quantities of 6 or 7 bits, and
  3140.    the PDP-10 supported `bytes' that were actually bitfields of
  3141.    1 to 36 bits!  These usages are now obsolete, and even 9-bit bytes
  3142.    have become rare in the general trend toward power-of-2 word sizes.
  3143.  
  3144.    Historical note: The term originated in 1956 during the early
  3145.    design phase for the IBM Stretch computer; originally it was
  3146.    described as 1 to 6 bits (typical I/O equipment of the period
  3147.    used 6-bit chunks of information).  The move to an 8-bit byte
  3148.    happened in late 1956, and this size was later adopted and
  3149.    promulgated as a standard by the System/360.  The term `byte' was
  3150.    coined by mutating the word `bite' so it would not be accidentally
  3151.    misspelled as {bit}.  See also {nybble}.
  3152.  
  3153. :bytesexual: /bi:t`sek'shu-*l/ adj. Said of hardware, denotes
  3154.    willingness to compute or pass data in either {big-endian} or
  3155.    {little-endian} format (depending, presumably, on a {mode bit}
  3156.    somewhere).  See also {NUXI problem}.
  3157.  
  3158. :bzzzt, wrong: /bzt rong/ [USENET/Internet] From a Robin Williams
  3159.    routine in the movie "Dead Poets Society" spoofing radio or
  3160.    TV quiz programs, such as *Truth or Consequences*, where an
  3161.    incorrect answer earns one a blast from the buzzer and condolences
  3162.    from the interlocutor.  A way of expressing mock-rude disagreement,
  3163.    usually immediately following an included quote from another
  3164.    poster.  The less abbreviated "*Bzzzzt*, wrong, but thank you for
  3165.    playing."  is also common; capitalization and emphasis of the
  3166.    buzzer sound varies.
  3167.  
  3168.