#======= THIS IS THE JARGON FILE, VERSION 4.4.7, 29 DEC 2003 =======#

The Jargon File

(version 4.4.7)
     ________________________________________________________________

   Table of Contents

   Welcome to the Jargon File
   I. Introduction

        1. Hacker Slang and Hacker Culture
        2. Of Slang, Jargon, and Techspeak
        3. Revision History
        4. Jargon Construction

              Verb Doubling
              Soundalike Slang
              The -P Convention
              Overgeneralization
              Spoken inarticulations
              Anthropomorphization
              Comparatives

        5. Hacker Writing Style
        6. Email Quotes and Inclusion Conventions
        7. Hacker Speech Style
        8. International Style
        9. Crackers, Phreaks, and Lamers
        10. Pronunciation Guide
        11. Other Lexicon Conventions
        12. Format for New Entries

   II. The Jargon Lexicon

        Glossary

   III. Appendices

        A. Hacker Folklore

              The Meaning of `Hack'
              TV Typewriters: A Tale of Hackish Ingenuity
              A Story About `Magic'
              Some AI Koans

                    Tom Knight and the Lisp Machine
                    Moon instructs a student
                    Sussman attains enlightenment
                    Drescher and the toaster

              OS and JEDGAR
              The Story of Mel

        B. A Portrait of J. Random Hacker

              General Appearance
              Dress
              Reading Habits
              Other Interests
              Physical Activity and Sports
              Education
              Things Hackers Detest and Avoid
              Food
              Politics
              Gender and Ethnicity
              Religion
              Ceremonial Chemicals
              Communication Style
              Geographical Distribution
              Sexual Habits
              Personality Characteristics
              Weaknesses of the Hacker Personality
              Miscellaneous

        C. Helping Hacker Culture Grow
        Bibliography

Welcome to the Jargon File

   This  is  the Jargon File, a comprehensive compendium of hacker slang
   illuminating many aspects of hackish tradition, folklore, and humor.

   This document (the Jargon File) is in the public domain, to be freely
   used,  shared,  and  modified.  There  are  (by  intention)  no legal
   restraints on what you can do with it, but there are traditions about
   its  proper  use  to  which many hackers are quite strongly attached.
   Please  extend  the  courtesy  of  proper citation when you quote the
   File,  ideally with a version number, as it will change and grow over
   time.  (Examples of appropriate citation form: "Jargon File 4.4.7" or
   "The on-line hacker Jargon File, version 4.4.7, 29 Dec 2003".)

   The  Jargon File is a common heritage of the hacker culture. Over the
   years  a  number of individuals have volunteered considerable time to
   maintaining  the  File  and  been  recognized  by the net at large as
   editors   of  it.  Editorial  responsibilities  include:  to  collate
   contributions  and suggestions from others; to seek out corroborating
   information;  to cross-reference related entries; to keep the file in
   a  consistent format; and to announce and distribute updated versions
   periodically. Current volunteer editors include:

   Eric Raymond 

   Although  there  is  no  requirement that you do so, it is considered
   good  form  to  check  with  an  editor  before quoting the File in a
   published   work  or  commercial  product.  We  may  have  additional
   information  that  would  be  helpful  to  you  and can assist you in
   framing your quote to reflect not only the letter of the File but its
   spirit as well.

   All contributions and suggestions about this file sent to a volunteer
   editor are gratefully received and will be regarded, unless otherwise
   labelled,  as freely given donations for possible use as part of this
   public-domain file.

   From  time to time a snapshot of this file has been polished, edited,
   and  formatted for commercial publication with the cooperation of the
   volunteer  editors  and the hacker community at large. If you wish to
   have  a  bound paper copy of this file, you may find it convenient to
   purchase  one  of  these.  They often contain additional material not
   found in on-line versions. The three `authorized' editions so far are
   described  in  the Revision History section; there may be more in the
   future.

   The  Jargon File's online rendition uses an unusually large number of
   special  characters.  This test page lists them so you can check what
   your browser does with each one.
   glyph description
   a     greek character alpha
   k     greek character kappa
   l     greek character lambda
   L     greek character Lambda
   n     greek character nu
   o     greek character omicron
   p     greek character pi
   £     pound sterling
         left angle bracket
         right angle bracket
   æ     ae ligature
   ß     German sharp-s sign
   ?1    similarity sign
   (+)   circle-plus
   (×)   circle-times
   ×     times
   {}    empty set (used for APL null)
   µ     micro quantifier sign
   ->    right arrow
   <=>   horizontal double arrow
   (TM)  trademark symbol
   ®     registered-trademark symbol
   -     minus
   ±     plus-or-minus
   Ø     slashed-O
   @     schwa
   ´     acute accent
   ·     medial dot

   We  normally  test  with  the latest build of Mozilla. If some of the
   special  characters  above  look  wrong, your browser has bugs in its
   standards-conformance and you should replace it.

Introduction

   Table of Contents

   1. Hacker Slang and Hacker Culture
   2. Of Slang, Jargon, and Techspeak
   3. Revision History
   4. Jargon Construction

        Verb Doubling
        Soundalike Slang
        The -P Convention
        Overgeneralization
        Spoken inarticulations
        Anthropomorphization
        Comparatives

   5. Hacker Writing Style
   6. Email Quotes and Inclusion Conventions
   7. Hacker Speech Style
   8. International Style
   9. Crackers, Phreaks, and Lamers
   10. Pronunciation Guide
   11. Other Lexicon Conventions
   12. Format for New Entries

Chapter 1. Hacker Slang and Hacker Culture

   This  document  is  a  collection  of  slang  terms  used  by various
   subcultures  of  computer  hackers. Though some technical material is
   included for background and flavor, it is not a technical dictionary;
   what  we  describe  here is the language hackers use among themselves
   for fun, social communication, and technical debate.

   The  `hacker  culture'  is actually a loosely networked collection of
   subcultures  that  is nevertheless conscious of some important shared
   experiences,  shared  roots, and shared values. It has its own myths,
   heroes,  villains,  folk epics, in-jokes, taboos, and dreams. Because
   hackers  as  a  group  are  particularly  creative  people who define
   themselves partly by rejection of `normal' values and working habits,
   it  has  unusually  rich  and conscious traditions for an intentional
   culture less than 50 years old.

   As  usual  with  slang,  the special vocabulary of hackers helps hold
   places  in the community and expresses shared values and experiences.
   Also  as  usual,  not knowing the slang (or using it inappropriately)
   defines  one  as  an outsider, a mundane, or (worst of all in hackish
   vocabulary)  possibly  even  a  suit. All human cultures use slang in
   this  threefold  way -- as a tool of communication, and of inclusion,
   and of exclusion.

   Among hackers, though, slang has a subtler aspect, paralleled perhaps
   in  the  slang  of  jazz musicians and some kinds of fine artists but
   hard  to detect in most technical or scientific cultures; parts of it
   are  code  for shared states of consciousness. There is a whole range
   of  altered  states  and  problem-solving  mental  stances  basic  to
   high-level  hacking  which  don't  fit  into  conventional linguistic
   reality  any  better  than a Coltrane solo or one of Maurits Escher's
   surreal trompe l'oeil compositions (Escher is a favorite of hackers),
   and  hacker slang encodes these subtleties in many unobvious ways. As
   a simple example, take the distinction between a kluge and an elegant
   solution,  and  the  differing  connotations  attached  to  each. The
   distinction is not only of engineering significance; it reaches right
   back  into  the  nature of the generative processes in program design
   and   asserts  something  important  about  two  different  kinds  of
   relationship  between  the  hacker  and  the  hack.  Hacker  slang is
   unusually  rich  in  implications  of  this  kind,  of  overtones and
   undertones that illuminate the hackish psyche.

   Hackers,  as  a  rule,  love  wordplay  and  are  very  conscious and
   inventive in their use of language. These traits seem to be common in
   young  children,  but the conformity-enforcing machine we are pleased
   to call an educational system bludgeons them out of most of us before
   adolescence.  Thus,  linguistic  invention in most subcultures of the
   modern West is a halting and largely unconscious process. Hackers, by
   contrast,  regard  slang formation and use as a game to be played for
   conscious  pleasure.  Their  inventions thus display an almost unique
   combination  of  the  neotenous  enjoyment  of language-play with the
   discrimination  of  educated  and powerful intelligence. Further, the
   electronic   media   which   knit  them  together  are  fluid,  `hot'
   connections,  well adapted to both the dissemination of new slang and
   the ruthless culling of weak and superannuated specimens. The results
   of  this  process  give us perhaps a uniquely intense and accelerated
   view of linguistic evolution in action.

   Hacker   slang   also   challenges   some   common   linguistic   and
   anthropological  assumptions.  For  example,  in  the  early 1990s it
   became  fashionable  to  speak of `low-context' versus `high-context'
   communication,  and  to  classify  cultures  by the preferred context
   level  of  their  languages and art forms. It is usually claimed that
   low-context  communication  (characterized by precision, clarity, and
   completeness  of  self-contained  utterances)  is typical in cultures
   which  value  logic,  objectivity, individualism, and competition; by
   contrast,    high-context    communication    (elliptical,   emotive,
   nuance-filled,   multi-modal,   heavily  coded)  is  associated  with
   cultures   which  value  subjectivity,  consensus,  cooperation,  and
   tradition.  What  then  are  we to make of hackerdom, which is themed
   around  extremely low-context interaction with computers and exhibits
   primarily  "low-context"  values,  but  cultivates an almost absurdly
   high-context slang style?

   The   intensity   and  consciousness  of  hackish  invention  make  a
   compilation  of hacker slang a particularly effective window into the
   surrounding  culture  -- and, in fact, this one is the latest version
   of  an  evolving  compilation called the `Jargon File', maintained by
   hackers  themselves  since  the  early  1970s.  This  one  (like  its
   ancestors)  is  primarily  a lexicon, but also includes topic entries
   which  collect  background or sidelight information on hacker culture
   that  would  be  awkward  to  try  to  subsume under individual slang
   definitions.

   Though  the format is that of a reference volume, it is intended that
   the  material be enjoyable to browse. Even a complete outsider should
   find  at  least  a  chuckle  on  nearly  every page, and much that is
   amusingly  thought-provoking.  But  it  is also true that hackers use
   humorous  wordplay  to  make  strong,  sometimes combative statements
   about  what  they  feel.  Some  of these entries reflect the views of
   opposing  sides in disputes that have been genuinely passionate; this
   is  deliberate.  We  have  not  tried  to moderate or pretty up these
   disputes;  rather  we have attempted to ensure that everyone's sacred
   cows get gored, impartially. Compromise is not particularly a hackish
   virtue, but the honest presentation of divergent viewpoints is.

   The reader with minimal computer background who finds some references
   incomprehensibly  technical  can safely ignore them. We have not felt
   it  either  necessary  or desirable to eliminate all such; they, too,
   contribute   flavor,  and  one  of  this  document's  major  intended
   audiences  -- fledgling hackers already partway inside the culture --
   will benefit from them.

   A  selection of longer items of hacker folklore and humor is included
   in  Appendix  A.  The  `outside'  reader's  attention is particularly
   directed  to  the  Portrait  of  J.  Random Hacker in Appendix B. The
   Bibliography,  lists  some  non-technical  works  which  have  either
   influenced or described the hacker culture.

   Because hackerdom is an intentional culture (one each individual must
   choose  by action to join), one should not be surprised that the line
   between  description  and  influence  can  become  more than a little
   blurred.  Earlier  versions  of the Jargon File have played a central
   role  in  spreading hacker language and the culture that goes with it
   to  successively larger populations, and we hope and expect that this
   one will do likewise.

Chapter 2. Of Slang, Jargon, and Techspeak

   Linguists  usually  refer to informal language as `slang' and reserve
   the   term   `jargon'  for  the  technical  vocabularies  of  various
   occupations.  However, the ancestor of this collection was called the
   `Jargon  File',  and hacker slang is traditionally `the jargon'. When
   talking  about  the  jargon  there  is therefore no convenient way to
   distinguish it from what a linguist would call hackers' jargon -- the
   formal  vocabulary  they  learn from textbooks, technical papers, and
   manuals.

   To make a confused situation worse, the line between hacker slang and
   the  vocabulary  of  technical  programming  and  computer science is
   fuzzy,  and shifts over time. Further, this vocabulary is shared with
   a  wider  technical  culture  of  programmers,  many  of whom are not
   hackers and do not speak or recognize hackish slang.

   Accordingly,  this  lexicon will try to be as precise as the facts of
   usage permit about the distinctions among three categories:

   slang
          informal  language  from  mainstream  English or non-technical
          subcultures (bikers, rock fans, surfers, etc).

   jargon
          without qualifier, denotes informal `slangy' language peculiar
          to or predominantly found among hackers -- the subject of this
          lexicon.

   techspeak
          the  formal  technical  vocabulary  of  programming,  computer
          science, electronics, and other fields connected to hacking.

   This  terminology  will be consistently used throughout the remainder
   of this lexicon.

   The  jargon/techspeak  distinction  is  the  delicate  one.  A lot of
   techspeak  originated  as  jargon,  and  there is a steady continuing
   uptake  of  jargon into techspeak. On the other hand, a lot of jargon
   arises  from  overgeneralization  of  techspeak  terms (there is more
   about this in the Jargon Construction section below).

   In  general,  we  have considered techspeak any term that communicate
   primarily  by  a  denotation well established in textbooks, technical
   dictionaries, or standards documents.

   A   few  obviously  techspeak  terms  (names  of  operating  systems,
   languages,  or  documents)  are  listed  when they are tied to hacker
   folklore that isn't covered in formal sources, or sometimes to convey
   critical  historical background necessary to understand other entries
   to  which  they  are cross-referenced. Some other techspeak senses of
   jargon  words  are  listed  in order to make the jargon senses clear;
   where  the  text  does not specify that a straight technical sense is
   under   discussion,   these  are  marked  with  `[techspeak]'  as  an
   etymology.  Some  entries  have a primary sense marked this way, with
   subsequent jargon meanings explained in terms of it.

   We  have also tried to indicate (where known) the apparent origins of
   terms. The results are probably the least reliable information in the
   lexicon,  for  several  reasons. For one thing, it is well known that
   many  hackish  usages  have  been  independently  reinvented multiple
   times, even among the more obscure and intricate neologisms. It often
   seems   that  the  generative  processes  underlying  hackish  jargon
   formation have an internal logic so powerful as to create substantial
   parallelism across separate cultures and even in different languages!
   For  another,  the  networks tend to propagate innovations so quickly
   that  `first  use'  is  often  impossible  to pin down. And, finally,
   compendia  like  this  one  alter  what  they  observe  by implicitly
   stamping cultural approval on terms and widening their use.

   Despite  these  problems,  the organized collection of jargon-related
   oral  history  for the new compilations has enabled us to put to rest
   quite a number of folk etymologies, place credit where credit is due,
   and illuminate the early history of many important hackerisms such as
   kluge, cruft, and foo. We believe specialist lexicographers will find
   many of the historical notes more than casually instructive.

Chapter 3. Revision History

   The  original  Jargon  File  was  a  collection of hacker jargon from
   technical  cultures  including  the  MIT  AI Lab, the Stanford AI lab
   (SAIL),  and  others  of  the  old ARPANET AI/LISP/PDP-10 communities
   including  Bolt, Beranek and Newman (BBN), Carnegie-Mellon University
   (CMU), and Worcester Polytechnic Institute (WPI).

   The  Jargon  File (hereafter referred to as `jargon-1' or `the File')
   was begun by Raphael Finkel at Stanford in 1975. From this time until
   the  plug  was  finally pulled on the SAIL computer in 1991, the File
   was  named  AIWORD.RF[UP,DOC]  there.  Some  terms  in  it  date back
   considerably  earlier (frob and some senses of moby, for instance, go
   back  to the Tech Model Railroad Club at MIT and are believed to date
   at least back to the early 1960s). The revisions of jargon-1 were all
   unnumbered and may be collectively considered `Version 1'.

   In  1976, Mark Crispin, having seen an announcement about the File on
   the  SAIL  computer, FTPed a copy of the File to MIT. He noticed that
   it  was hardly restricted to `AI words' and so stored the file on his
   directory as AI:MRC;SAIL JARGON.

   The  file  was  quickly  renamed  JARGON > (the `>' caused versioning
   under  ITS) as a flurry of enhancements were made by Mark Crispin and
   Guy  L.  Steele  Jr.  Unfortunately, amidst all this activity, nobody
   thought  of  correcting  the  term  `jargon'  to  `slang'  until  the
   compendium had already become widely known as the Jargon File.

   Raphael Finkel dropped out of active participation shortly thereafter
   and  Don  Woods  became  the  SAIL  contact  for  the File (which was
   subsequently  kept  in  duplicate  at  SAIL  and  MIT,  with periodic
   resynchronizations).

   The  File  expanded  by  fits  and  starts  until about 1983; Richard
   Stallman  was  prominent  among the contributors, adding many MIT and
   ITS-related coinages.

   In  Spring 1981, a hacker named Charles Spurgeon got a large chunk of
   the  File  published  in Stewart Brand's CoEvolution Quarterly (issue
   29,  pages  26--35)  with illustrations by Phil Wadler and Guy Steele
   (including  a  couple of the Crunchly cartoons). This appears to have
   been the File's first paper publication.

   A  late  version  of  jargon-1, expanded with commentary for the mass
   market, was edited by Guy Steele into a book published in 1983 as The
   Hacker's  Dictionary  (Harper & Row CN 1082, ISBN 0-06-091082-8). The
   other  jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin)
   contributed  to  this  revision, as did Richard M. Stallman and Geoff
   Goodfellow.  This book (now out of print) is hereafter referred to as
   `Steele-1983' and those six as the Steele-1983 coauthors.

   Shortly  after  the  publication of Steele-1983, the File effectively
   stopped growing and changing. Originally, this was due to a desire to
   freeze   the   file  temporarily  to  facilitate  the  production  of
   Steele-1983, but external conditions caused the `temporary' freeze to
   become permanent.

   The  AI  Lab  culture  had been hit hard in the late 1970s by funding
   cuts    and    the   resulting   administrative   decision   to   use
   vendor-supported  hardware  and software instead of homebrew whenever
   possible. At MIT, most AI work had turned to dedicated LISP Machines.
   At  the  same time, the commercialization of AI technology lured some
   of  the  AI Lab's best and brightest away to startups along the Route
   128  strip  in  Massachusetts  and  out  West  in Silicon Valley. The
   startups  built  LISP  machines  for MIT; the central MIT-AI computer
   became a TWENEX system rather than a host for the AI hackers' beloved
   ITS.

   The Stanford AI Lab had effectively ceased to exist by 1980, although
   the SAIL computer continued as a Computer Science Department resource
   until  1991.  Stanford  became  a  major  TWENEX  site,  at one point
   operating  more  than  a  dozen TOPS-20 systems; but by the mid-1980s
   most  of the interesting software work was being done on the emerging
   BSD Unix standard.

   In  April  1983,  the PDP-10-centered cultures that had nourished the
   File  were  dealt  a  death-blow  by  the cancellation of the Jupiter
   project  at  Digital  Equipment  Corporation.  The  File's compilers,
   already dispersed, moved on to other things. Steele-1983 was partly a
   monument  to  what  its authors thought was a dying tradition; no one
   involved realized at the time just how wide its influence was to be.

   By  the  mid-1980s  the File's content was dated, but the legend that
   had grown up around it never quite died out. The book, and softcopies
   obtained  off  the  ARPANET,  circulated even in cultures far removed
   from  MIT  and  Stanford; the content exerted a strong and continuing
   influence  on  hacker  language  and humor. Even as the advent of the
   microcomputer  and  other  trends  fueled  a  tremendous expansion of
   hackerdom,  the File (and related materials such as the Some AI Koans
   in  Appendix  A)  came  to  be  seen  as  a  sort  of  sacred epic, a
   hacker-culture  Matter  of Britain chronicling the heroic exploits of
   the  Knights  of  the  Lab.  The pace of change in hackerdom at large
   accelerated  tremendously  -- but the Jargon File, having passed from
   living  document  to  icon,  remained essentially untouched for seven
   years.

   This  revision  contains  nearly the entire text of a late version of
   jargon-1  (a  few  obsolete PDP-10-related entries were dropped after
   careful  consultation  with the editors of Steele-1983). It merges in
   about 80% of the Steele-1983 text, omitting some framing material and
   a  very  few  entries  introduced  in  Steele-1983  that are now also
   obsolete.

   This  new version casts a wider net than the old Jargon File; its aim
   is  to  cover  not  just  AI  or  PDP-10  hacker  culture but all the
   technical  computing  cultures  wherein  the  true  hacker-nature  is
   manifested.  More than half of the entries now derive from Usenet and
   represent  jargon  now  current  in  the  C and Unix communities, but
   special  efforts have been made to collect jargon from other cultures
   including  IBM  PC programmers, Amiga fans, Mac enthusiasts, and even
   the IBM mainframe world.

   Eric  S.  Raymond    maintains  the  new  File  with
   assistance  from  Guy  L.  Steele  Jr. ; these are the
   persons  primarily  reflected in the File's editorial `we', though we
   take  pleasure in acknowledging the special contribution of the other
   coauthors  of  Steele-1983.  Please email all additions, corrections,
   and correspondence relating to the Jargon File to Eric.

   (Warning:  other email addresses and URLs appear in this file but are
   not  guaranteed  to be correct after date of publication. Don't email
   us  if an attempt to reach someone bounces -- we have no magic way of
   checking  addresses  or  looking  up  people. If a web reference goes
   stale, try a Google or Alta Vista search for relevant phrases.

   Please  try  to  review  a recent copy of the on-line document before
   submitting entries; it is available on the Web. It will often contain
   new  material  not  recorded  in the latest paper snapshot that could
   save you some typing. It also includes some submission guidelines not
   reproduced here.

   The   2.9.6  version  became  the  main  text  of  The  New  Hacker's
   Dictionary,   by   Eric   Raymond   (ed.),   MIT   Press  1991,  ISBN
   0-262-68069-6.

   The  3.0.0 version was published in August 1993 as the second edition
   of   The   New  Hacker's  Dictionary,  again  from  MIT  Press  (ISBN
   0-262-18154-1).

   The  4.0.0  version  was  published  in  September  1996 as the third
   edition   of  The  New  Hacker's  Dictionary  from  MIT  Press  (ISBN
   0-262-68092-0).

   The  maintainers are committed to updating the on-line version of the
   Jargon  File  through and beyond paper publication, and will continue
   to  make  it available to archives and public-access sites as a trust
   of the hacker community.

   Here is a chronology of major revisions:
   Version Date Lines Words Characters Entries Comments
   2.1.1 Jun 12 1990 5485 42842 278958 790

   The Jargon File comes alive again after a seven-year hiatus.
   Reorganization and massive additions were by Eric S. Raymond,
   approved by Guy Steele. Many items of UNIX, C, USENET, and
   microcomputer-based jargon were added at that time.
   2.1.5 Nov 28 1990 6028 46946 307510 866

   Changes   and  additions  by  ESR  in  response  to  numerous  USENET
   submissions  and  comment  from  the  First  Edition  co-authors. The
   Bibliography (Appendix C) was also appended.
   2.2.1 Dec 15 1990 9394 75954 490501 1046

   Most  of  the contents of the 1983 paper edition edited by Guy Steele
   was  merged  in.  Many  more  USENET submissions added, including the
   International Style and the material on Commonwealth Hackish.
   2.3.1 Jan 03 1991 10728 85070 558261 1138

   The  great format change -- case is no longer smashed in lexicon keys
   and  cross-references.  A  very  few entries from jargon-1 which were
   basically  straight  techspeak were deleted; this enabled the rest of
   Appendix  B  (created  in 2.1.1) to be merged back into main text and
   the  appendix  replaced  with  the Portrait of J. Random Hacker. More
   USENET submissions were added.
   2.4.1 Jan 14 1991 12362 97819 642899 1239

   The  Story  of  Mel  and many more USENET submissions merged in. More
   material on hackish writing habits added. Numerous typo fixes.
   2.6.1 Feb 12 1991 15011 118277 774942 1484

   Second   great   format  change;  no  more  <>  around  headwords  or
   references.  Merged  in results of serious copy-editing passes by Guy
   Steele, Mark Brader. Still more entries added.
   2.7.1 Mar 01 1991 16087 126885 831872 1533

   New  section on slang/jargon/techspeak added. Results of Guy's second
   edit pass merged in.
   2.8.1 Mar 22 1991 17154 135647 888333 1602

   Material from the TMRC Dictionary and MRC's editing pass merged in.
   2.9.6 Aug 16 1991 18952 148629 975551 1702

   Corresponds to reproduction copy for book.
   2.9.8 Jan 01 1992 19509 153108 1006023 1760

   First public release since the book, including over fifty new entries
   and numerous corrections/additions to old ones. Packaged with version
   1.1 of vh(1) hypertext reader.
   2.9.9 Apr 01 1992 20298 159651 1048909 1821

   Folded in XEROX PARC lexicon.
   2.9.10 Jul 01 1992 21349 168330 1106991 1891

   lots of new historical material.
   2.9.11 Jan 01 1993 21725 171169 1125880 1922

   Lots of new historical material.
   2.9.12 May 10 1993 22238 175114 1152467 1946

   A  few  new  entries  &  changes,  marginal  MUD/IRC  slang  and some
   borderline  techspeak  removed, all in preparation for 2nd Edition of
   TNHD.
   3.0.0 Jul 27 1993 22548 177520 1169372 1961

   Manuscript freeze for 2nd edition of TNHD.
   3.1.0 Oct 15 1994 23197 181001 1193818 1990

   Interim release to test WWW conversion.
   3.2.0 Mar 15 1995 23822 185961 1226358 2031

   Spring 1995 update.
   3.3.0 Jan 20 1996 24055 187957 1239604 2045

   Winter 1996 update.
   3.3.1 Jan 25 1996 24147 188728 1244554 2050

   Copy-corrected  improvement  on  3.3.0 shipped to MIT Press as a step
   towards TNHD III.
   4.0.0 Jul 25 1996 24801 193697 1281402 2067

   The actual TNHD III version after copy-edit
   4.1.0 8 Apr 1999 25777 206825 1359992 2217

   The Jargon File rides again after three years.
   4.2.0 31 Jan 2000 26598 214639 1412243 2267

   Fix processing of URLs.
   4.3.0 30 Apr 2001 27805 224978 1480215 2319

   Special  edition  in  honor  of the first implementation of RFC 1149.
   Also cleaned up a number of obsolete entries.
   4.4.0 10 May 2003 32004 230012 1707139 2290

   XML-Docbook  format  conversion. Serious pruning of old slang, nearly
   100 entries failed the Google test and were removed.
   4.4.1 13 May 2003 37157 234687 1618716 2290

   XML-Docbook format fixes.
   4.4.2 22 May 2003 32629 227852 1555125 2290

   Fix filename collisions and other small problems.
   4.4.3 15 Jul 2003 37363 235135 1629667 2293

   Fix some stylesheet problems leading to missing links.
   4.4.4 14 Aug 2003 37392 235271 1630579 2295

   Corrected build machinery; we can make RPMS now.
   4.4.5 4 Oct 2003 37482 235858 1634767 2299

   Minor updates. Four new entries and a better original-bug picture.
   4.4.6 25 Oct 2003 37560 236406 1638454 2302

   Added  glider  illustration.  Amended  FUD  entry  pursuent  to SCO's
   attempt to abuse it.
   4.4.7 29 Dec 2003 37666 237206 1643609 2307

   Winter 2003 update.

   Version    numbering:    Version    numbers   should   be   read   as
   major.minor.revision. Major version 1 is reserved for the `old' (ITS)
   Jargon  File,  jargon-1. Major version 2 encompasses revisions by ESR
   (Eric  S.  Raymond)  with  assistance  from  GLS (Guy L. Steele, Jr.)
   leading  up  to  and including the second paper edition. From now on,
   major  version  number N.00 will probably correspond to the Nth paper
   edition.  Usually  later versions will either completely supersede or
   incorporate  earlier  versions,  so  there  is  generally no point in
   keeping old versions around.

   Our  thanks  to  the  coauthors  of  Steele-1983  for  oversight  and
   assistance, and to the hundreds of Usenetters (too many to name here)
   who  contributed entries and encouragement. More thanks go to several
   of  the  old-timers  on  the Usenet group alt.folklore.computers, who
   contributed  much useful commentary and many corrections and valuable
   historical  perspective:  Joseph  M. Newcomer ,
   Bernie  Cosell , Earl Boebert , and
   Joe Morris .

   We  were  fortunate  enough  to  have  the  aid  of some accomplished
   linguists.  David  Stampe    and  Charles Hoequist
      contributed   valuable   criticism;   Joe   Keane
    helped us improve the pronunciation guides.

   A  few  bits  of  this  text quote previous works. We are indebted to
   Brian  A.  LaMacchia  for obtaining permission
   for  us  to  use  material  from the TMRC Dictionary; also, Don Libes
     contributed  some appropriate material from his
   excellent  book Life With UNIX. We thank Per Lindberg ,
   author  of  the  remarkable  Swedish-language 'zine Hackerbladet, for
   bringing  FOO!  comics  to our attention and smuggling one of the IBM
   hacker  underground's own baby jargon files out to us. Thanks also to
   Maarten  Litmaath  for generously allowing the inclusion of the ASCII
   pronunciation guide he formerly maintained. And our gratitude to Marc
   Weiser  of  XEROX  PARC   for securing us
   permission  to quote from PARC's own jargon lexicon and shipping us a
   copy.

   It is a particular pleasure to acknowledge the major contributions of
   Mark  Brader  and  Steve  Summit    to  the  File and
   Dictionary;  they  have  read  and reread many drafts, checked facts,
   caught typos, submitted an amazing number of thoughtful comments, and
   done  yeoman service in catching typos and minor usage bobbles. Their
   rare  combination  of enthusiasm, persistence, wide-ranging technical
   knowledge,  and  precisionism  in  matters  of  language  has been of
   invaluable  help.  Indeed,  the  sustained  volume and quality of Mr.
   Brader's  input over a decade and several different editions has only
   allowed him to escape co-editor credit by the slimmest of margins.

   Finally,  George  V.  Reilly  helped with TeX
   arcana  and  painstakingly  proofread  some 2.7 and 2.8 versions, and
   Eric  Tiedemann   contributed sage advice throughout
   on rhetoric, amphigory, and philosophunculism.

Chapter 4. Jargon Construction

   Table of Contents

   Verb Doubling
   Soundalike Slang
   The -P Convention
   Overgeneralization
   Spoken inarticulations
   Anthropomorphization
   Comparatives

   There  are  some  standard  methods  of  jargonification  that became
   established  quite  early  (i.e.,  before  1970), spreading from such
   sources  as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers,
   and  John  McCarthy's  original  crew  of LISPers. These include verb
   doubling,  soundalike slang, the `-P' convention, overgeneralization,
   spoken  inarticulations,  and anthropomorphization. Each is discussed
   below. We also cover the standard comparatives for design quality.

   Of      these     six,     verb     doubling,     overgeneralization,
   anthropomorphization,  and  (especially)  spoken inarticulations have
   become  quite general; but soundalike slang is still largely confined
   to MIT and other large universities, and the `-P' convention is found
   only where LISPers flourish.

Verb Doubling

   A  standard construction in English is to double a verb and use it as
   an  exclamation,  such  as  "Bang, bang!" or "Quack, quack!". Most of
   these  are  names for noises. Hackers also double verbs as a concise,
   sometimes sarcastic comment on what the implied subject does. Also, a
   doubled  verb  is  often  used  to  terminate  a conversation, in the
   process remarking on the current state of affairs or what the speaker
   intends  to do next. Typical examples involve win, lose, hack, flame,
   barf, chomp:

     "The disk heads just crashed." "Lose, lose."

     "Mostly he talked about his latest crock. Flame, flame."

     "Boy, what a bagbiter! Chomp, chomp!

   Some verb-doubled constructions have special meanings not immediately
   obvious from the verb. These have their own listings in the lexicon.

   The Usenet culture has one tripling convention unrelated to this; the
   names  of  `joke' topic groups often have a tripled last element. The
   first and paradigmatic example was alt.swedish.chef.bork.bork.bork (a
   Muppet Show reference); other infamous examples have included:
     * alt.french.captain.borg.borg.borg
     * alt.wesley.crusher.die.die.die
     * comp.unix.internals.system.calls.brk.brk.brk
     * sci.physics.edward.teller.boom.boom.boom
     * alt.sadistic.dentists.drill.drill.drill

   These two traditions fuse in the newsgroup
   alt.adjective.noun.verb.verb.verb,   devoted   to   humor   based  on
   deliberately  confounding  parts  of  speech.  Several observers have
   noted  that  the contents of this group is excellently representative
   of the peculiarities of hacker humor.

Soundalike Slang

   Hackers  will  often  make  rhymes  or  puns  in  order to convert an
   ordinary  word  or  phrase  into  something  more  interesting. It is
   considered  particularly  flavorful  if  the  phrase is bent so as to
   include  some  other jargon word; thus the computer hobbyist magazine
   Dr. Dobb's Journal is almost always referred to among hackers as `Dr.
   Frob's  Journal' or simply `Dr. Frob's'. Terms of this kind that have
   been in fairly wide use include names for newspapers:
     * Boston Herald -> Horrid (or Harried)
     * Boston Globe -> Boston Glob
     * Houston  (or  San  Francisco) Chronicle -> the Crocknicle (or the
       Comical)
     * New York Times -> New York Slime
     * Wall Street Journal -> Wall Street Urinal

   However,  terms  like  these  are  often  made  up on the spur of the
   moment. Standard examples include:
     * Data General -> Dirty Genitals
     * IBM 360 -> IBM Three-Sickly
     * Government  Property  -- Do Not Duplicate (on keys) -> Government
       Duplicity -- Do Not Propagate
     * for historical reasons -> for hysterical raisins
     * Margaret  Jacks  Hall  (the  CS building at Stanford) -> Marginal
       Hacks Hall
     * Microsoft -> Microsloth
     * Internet Explorer -> Internet Exploiter
     * FrontPage -> AffrontPage
     * VB.NET -> VB Nyet
     * Lotus Notes -> Lotus Bloats
     * Microsoft Outlook -> Microsoft Outhouse
     * Linux -> Linsux
     * FreeBSD -> FreeLSD
     * C# -> C Flat

   This  is  not really similar to the Cockney rhyming slang it has been
   compared  to  in  the  past, because Cockney substitutions are opaque
   whereas hacker punning jargon is intentionally transparent.

The -P Convention

   Turning  a  word  into a question by appending the syllable `P'; from
   the LISP convention of appending the letter `P' to denote a predicate
   (a  boolean-valued  function).  The  question  should expect a yes/no
   answer, though it needn't. (See T and NIL.)

       At dinnertime:
             Q: "Foodp?"
             A: "Yeah, I'm pretty hungry." or "T!"
       At any time:
             Q: "State-of-the-world-P?"
             A: (Straight) "I'm about to go home."
             A: (Humorous) "Yes, the world has a state."
       On the phone to Florida:
             Q: "State-p Florida?"
             A: "Been reading JARGON.TXT again, eh?"

   [Once,  when  we  were at a Chinese restaurant, Bill Gosper wanted to
   know  whether someone would like to share with him a two-person-sized
   bowl of soup. His inquiry was: "Split-p soup?" -- GLS]

Overgeneralization

   A  very  conspicuous  feature  of  jargon is the frequency with which
   techspeak  items  such  as  names  of program tools, command language
   primitives,  and  even  assembler  opcodes  are  applied  to contexts
   outside of computing wherever hackers find amusing analogies to them.
   Thus (to cite one of the best-known examples) Unix hackers often grep
   for  things  rather  than  searching  for  them.  Many of the lexicon
   entries are generalizations of exactly this kind.

   Hackers  enjoy  overgeneralization  on the grammatical level as well.
   Many  hackers love to take various words and add the wrong endings to
   them  to  make nouns and verbs, often by extending a standard rule to
   nonuniform  cases  (or  vice  versa).  For example, because porous ->
   porosity and generous -> generosity, hackers happily generalize:
     * mysterious -> mysteriosity
     * ferrous -> ferrosity
     * obvious -> obviosity
     * dubious -> dubiosity

   Another  class  of  common  construction  uses the suffix `-itude' to
   abstract  a quality from just about any adjective or noun. This usage
   arises especially in cases where mainstream English would perform the
   same abstraction through `-iness' or `-ingness'. Thus:
     * win -> winnitude (a common exclamation)
     * loss -> lossitude
     * cruft -> cruftitude
     * lame -> lameitude

   Some  hackers cheerfully reverse this transformation; they argue, for
   example,  that  the  horizontal  degree  lines on a globe ought to be
   called `lats' -- after all, they're measuring latitude!

   Also,  note  that  all  nouns  can be verbed. E.g.: "All nouns can be
   verbed",  "I'll  mouse  it  up", "Hang on while I clipboard it over",
   "I'm  grepping  the  files". English as a whole is already heading in
   this   direction  (towards  pure-positional  grammar  like  Chinese);
   hackers are simply a bit ahead of the curve.

   The  suffix  "-full"  can also be applied in generalized and fanciful
   ways, as in "As soon as you have more than one cachefull of data, the
   system  starts  thrashing,"  or  "As  soon  as  I  have more than one
   headfull  of  ideas,  I  start  writing it all down." A common use is
   "screenfull", meaning the amount of text that will fit on one screen,
   usually  in  text mode where you have no choice as to character size.
   Another common form is "bufferfull".

   However,  hackers  avoid  the  unimaginative  verb-making  techniques
   characteristic  of  marketroids,  bean-counters,  and the Pentagon; a
   hacker  would  never,  for  example,  `productize',  `prioritize', or
   `securitize'  things.  Hackers have a strong aversion to bureaucratic
   bafflegab and regard those who use it with contempt.

   Similarly,   all   verbs  can  be  nouned.  This  is  only  a  slight
   overgeneralization in modern English; in hackish, however, it is good
   form to mark them in some standard nonstandard way. Thus:
     * win -> winnitude, winnage
     * disgust -> disgustitude
     * hack -> hackification

   Further,  note  the prevalence of certain kinds of nonstandard plural
   forms.  Some  of  these  go  back  quite  a ways; the TMRC Dictionary
   includes an entry which implies that the plural of `mouse' is meeces,
   and  notes  that  the  defined plural of `caboose' is `cabeese'. This
   latter  has  apparently  been  standard (or at least a standard joke)
   among railfans (railroad enthusiasts) for many years

   On  a  similarly  Anglo-Saxon note, almost anything ending in `x' may
   form  plurals  in `-xen' (see VAXen and boxen in the main text). Even
   words  ending  in  phonetic /k/ alone are sometimes treated this way;
   e.g.,  `soxen'  for  a  bunch  of  socks. Other funny plurals are the
   Hebrew-style `frobbotzim' for the plural of `frobbozz' (see frobnitz)
   and `Unices' and `Twenices' (rather than `Unixes' and `Twenexes'; see
   Unix,  TWENEX in main text). But note that `Twenexen' was never used,
   and  `Unixen'  was  seldom  sighted  in the wild until the year 2000,
   thirty years after it might logically have come into use; it has been
   suggested  that  this  is  because `-ix' and `-ex' are Latin singular
   endings  that  attract  a  Latinate  plural. Among Perl hackers it is
   reported  that  `comma'  and  `semicolon'  pluralize as `commata' and
   `semicola'  respectively.  Finally,  it has been suggested to general
   approval that the plural of `mongoose' ought to be `polygoose'.

   The  pattern  here,  as  with  other  hackish  grammatical quirks, is
   generalization  of  an inflectional rule that in English is either an
   import  or  a  fossil (such as the Hebrew plural ending `-im', or the
   Anglo-Saxon  plural  suffix  `-en')  to cases where it isn't normally
   considered to apply.

   This is not `poor grammar', as hackers are generally quite well aware
   of  what  they  are  doing  when  they  distort  the  language. It is
   grammatical  creativity,  a  form  of  playfulness. It is done not to
   impress but to amuse, and never at the expense of clarity.

Spoken inarticulations

   Words  such  as  `mumble',  `sigh',  and `groan' are spoken in places
   where  their  referent  might  more  naturally  be  used. It has been
   suggested   that   this  usage  derives  from  the  impossibility  of
   representing  such noises on a comm link or in electronic mail, MUDs,
   and IRC channels (interestingly, the same sorts of constructions have
   been  showing  up with increasing frequency in comic strips). Another
   expression   sometimes  heard  is  "Complain!",  meaning  "I  have  a
   complaint!"

Anthropomorphization

   Semantically,  one rich source of jargon constructions is the hackish
   tendency  to  anthropomorphize hardware and software. English purists
   and  academic  computer scientists frequently look down on others for
   anthropomorphizing  hardware  and  software, considering this sort of
   behavior  to  be  characteristic  of naive misunderstanding. But most
   hackers   anthropomorphize   freely,  frequently  describing  program
   behavior in terms of wants and desires.

   Thus it is common to hear hardware or software talked about as though
   it has homunculi talking to each other inside it, with intentions and
   desires. Thus, one hears "The protocol handler got confused", or that
   programs  "are trying" to do things, or one may say of a routine that
   "its goal in life is to X". Or: "You can't run those two cards on the
   same bus; they fight over interrupt 9."

   One  even  hears  explanations  like  "...  and its poor little brain
   couldn't  understand X, and it died." Sometimes modelling things this
   way actually seems to make them easier to understand, perhaps because
   it's instinctively natural to think of anything with a really complex
   behavioral repertoire as `like a person' rather than `like a thing'.

   At  first  glance,  to  anyone  who  understands  how  these programs
   actually work, this seems like an absurdity. As hackers are among the
   people who know best how these phenomena work, it seems odd that they
   would  use  language that seems to ascribe consciousness to them. The
   mind-set behind this tendency thus demands examination.

   The  key to understanding this kind of usage is that it isn't done in
   a  naive  way;  hackers don't personalize their stuff in the sense of
   feeling  empathy  with  it,  nor  do they mystically believe that the
   things  they  work on every day are `alive'. To the contrary: hackers
   who  anthropomorphize are expressing not a vitalistic view of program
   behavior but a mechanistic view of human behavior.

   Almost  all  hackers  subscribe  to  the  mechanistic,  materialistic
   ontology  of  science  (this  is in practice true even of most of the
   minority  with contrary religious theories). In this view, people are
   biological  machines  -- consciousness is an interesting and valuable
   epiphenomenon,  but  mind  is  implemented  in machinery which is not
   fundamentally   different  in  information-processing  capacity  from
   computers.

   Hackers  tend  to  take  this  a  step  further  and  argue  that the
   difference  between  a  substrate  of  CHON  atoms  and  water  and a
   substrate  of silicon and metal is a relatively unimportant one; what
   matters,  what  makes a thing `alive', is information and richness of
   pattern.  This  is animism from the flip side; it implies that humans
   and  computers  and  dolphins and rocks are all machines exhibiting a
   continuum   of   modes   of   `consciousness'   according   to  their
   information-processing capacity.

   Because  hackers  accept that a human machine can have intentions, it
   is  therefore easy for them to ascribe consciousness and intention to
   other  complex  patterned systems such as computers. If consciousness
   is  mechanical,  it  is  neither more or less absurd to say that "The
   program  wants to go into an infinite loop" than it is to say that "I
   want  to  go  eat  some chocolate" -- and even defensible to say that
   "The  stone,  once  dropped,  wants to move towards the center of the
   earth".

   This viewpoint has respectable company in academic philosophy. Daniel
   Dennett  organizes  explanations of behavior using three stances: the
   "physical  stance"  (thing-to-be-explained as a physical object), the
   "design  stance"  (thing-to-be-explained  as  an  artifact),  and the
   "intentional  stance" (thing-to-be-explained as an agent with desires
   and  intentions).  Which  stances  are appropriate is a matter not of
   abstract truth but of utility. Hackers typically view simple programs
   from  the  design  stance,  but  more complex ones are often modelled
   using the intentional stance.

   It has also been argued that the anthropomorphization of software and
   hardware  reflects  a blurring of the boundary between the programmer
   and his artifacts -- the human qualities belong to the programmer and
   the  code  merely expresses these qualities as his/her proxy. On this
   view, a hacker saying a piece of code `got confused' is really saying
   that  he  (or  she)  was  confused  about  exactly what he wanted the
   computer  to  do, the code naturally incorporated this confusion, and
   the  code  expressed  the  programmer's  confusion  when  executed by
   crashing or otherwise misbehaving.

   Note  that  by displacing from "I got confused" to "It got confused",
   the  programmer  is  not  avoiding responsibility, but rather getting
   some  analytical  distance  in  order  to be able to consider the bug
   dispassionately.

   It has also been suggested that anthropomorphizing complex systems is
   actually an expression of humility, a way of acknowleging that simple
   rules  we  do  understand  (or that we invented) can lead to emergent
   behavioral complexities that we don't completely understand.

   All three explanations accurately model hacker psychology, and should
   be considered complementary rather than competing.

Comparatives

   Finally,  note that many words in hacker jargon have to be understood
   as  members  of  sets of comparatives. This is especially true of the
   adjectives  and  nouns  used  to  describe  the beauty and functional
   quality of code. Here is an approximately correct spectrum:

   monstrosity  brain-damage  screw bug lose misfeature crock kluge hack
   win feature elegance perfection

   The  last is spoken of as a mythical absolute, approximated but never
   actually  attained.  Another similar scale is used for describing the
   reliability of software:

   broken   flaky   dodgy   fragile  brittle  solid  robust  bulletproof
   armor-plated

   Note,  however, that `dodgy' is primarily Commonwealth Hackish (it is
   rare  in  the  U.S.,  where  `squirrelly' may be more common) and may
   change places with `flaky' for some speakers.

   Coinages for describing lossage seem to call forth the very finest in
   hackish linguistic inventiveness; it has been truly said that hackers
   have  even  more  words  for  equipment failures than Yiddish has for
   obnoxious people.

Chapter 5. Hacker Writing Style

   We've already seen that hackers often coin jargon by overgeneralizing
   grammatical  rules. This is one aspect of a more general fondness for
   form-versus-content  language  jokes  that  shows  up particularly in
   hackish  writing.  One  correspondent  reports  that  he consistently
   misspells  `wrong'  as  `worng'.  Others have been known to criticize
   glitches  in  Jargon File drafts by observing (in the mode of Douglas
   Hofstadter)  "This  sentence no verb", or "Too repetetetive", or "Bad
   speling",  or "Incorrectspa cing." Similarly, intentional spoonerisms
   are  often  made  of phrases relating to confusion or things that are
   confusing;  `dain  bramage'  for  `brain  damage' is perhaps the most
   common  (similarly, a hacker would be likely to write "Excuse me, I'm
   cixelsyd  today",  rather  than  "I'm  dyslexic today"). This sort of
   thing is quite common and is enjoyed by all concerned.

   Hackers  tend  to use quotes as balanced delimiters like parentheses,
   much  to the dismay of American editors. Thus, if "Jim is going" is a
   phrase,  and  so  are  "Bill  runs"  and  "Spock groks", then hackers
   generally  prefer  to  write: "Jim is going", "Bill runs", and "Spock
   groks". This is incorrect according to standard American usage (which
   would  put  the  continuation  commas and the final period inside the
   string  quotes);  however,  it  is  counter-intuitive  to  hackers to
   mutilate  literal  strings with characters that don't belong in them.
   Given  the  sorts  of  examples  that  can  come up in discussions of
   programming,  American-style  quoting can even be grossly misleading.
   When  communicating  command  lines  or  small  pieces of code, extra
   characters can be a real pain in the neck.

   Consider,  for  example,  a sentence in a vi tutorial that looks like
   this:

     Then delete a line from the file by typing "dd".

   Standard usage would make this

     Then delete a line from the file by typing "dd."

   but  that  would  be very bad -- because the reader would be prone to
   type  the  string  d-d-dot, and it happens that in vi(1), dot repeats
   the  last  command  accepted.  The  net result would be to delete two
   lines!

   The Jargon File follows hackish usage throughout.

   Interestingly,  a  similar  style  is now preferred practice in Great
   Britain,  though  the  older  style  (which  became  established  for
   typographical  reasons  having to do with the aesthetics of comma and
   quotes in typeset text) is still accepted there. Hart's Rules and the
   Oxford  Dictionary for Writers and Editors call the hacker-like style
   `new' or `logical' quoting. This returns British English to the style
   many  other  languages  (including Spanish, French, Italian, Catalan,
   and German) have been using all along.

   Another  hacker  habit  is  a tendency to distinguish between `scare'
   quotes  and  `speech'  quotes;  that  is, to use British-style single
   quotes  for  marking  and  reserve  American-style  double quotes for
   actual   reports   of   speech   or  text  included  from  elsewhere.
   Interestingly,  some  authorities  describe  this  as correct general
   usage,   but   mainstream   American   English   has  gone  to  using
   double-quotes  indiscriminately  enough  that  hacker  usage  appears
   marked  [and,  in  fact,  I thought this was a personal quirk of mine
   until  I  checked  with Usenet --ESR] One further permutation that is
   definitely not standard is a hackish tendency to do marking quotes by
   using  apostrophes  (single  quotes)  in pairs; that is, 'like this'.
   This  is  modelled  on  string  and  character literal syntax in some
   programming   languages   (reinforced   by   the   fact   that   many
   character-only  terminals display the apostrophe in typewriter style,
   as a vertical single quote).

   One quirk that shows up frequently in the email style of Unix hackers
   in  particular  is  a  tendency  for  some  things  that are normally
   all-lowercase  (including  usernames  and the names of commands and C
   routines)  to  remain  uncapitalized  even  when  they  occur  at the
   beginning  of sentences. It is clear that, for many hackers, the case
   of  such  identifiers becomes a part of their internal representation
   (the  `spelling')  and cannot be overridden without mental effort (an
   appropriate  reflex  because  Unix  and  C both distinguish cases and
   confusing  them  can lead to lossage). A way of escaping this dilemma
   is  simply  to  avoid  using  these constructions at the beginning of
   sentences.

   There  seems to be a meta-rule behind these nonstandard hackerisms to
   the  effect  that  precision  of  expression  is  more important than
   conformance  to  traditional rules; where the latter create ambiguity
   or  lose  information they can be discarded without a second thought.
   It  is  notable  in  this  respect that other hackish inventions (for
   example,  in  vocabulary)  also  tend to carry very precise shades of
   meaning even when constructed to appear slangy and loose. In fact, to
   a  hacker,  the  contrast between `loose' form and `tight' content in
   jargon is a substantial part of its humor!

   Hackers  have  also  developed  a  number of punctuation and emphasis
   conventions  adapted  to  single-font all-ASCII communications links,
   and  these  are occasionally carried over into written documents even
   when  normal  means  of  font  changes, underlining, and the like are
   available.

   One  of  these is that TEXT IN ALL CAPS IS INTERPRETED AS `LOUD', and
   this  becomes  such an ingrained synesthetic reflex that a person who
   goes  to caps-lock while in talk mode may be asked to "stop shouting,
   please, you're hurting my ears!".

   Also,  it  is  common  to  use  bracketing with unusual characters to
   signify  emphasis.  The  asterisk  is  most  common,  as in "What the
   *hell*?"  even  though  this  interferes  with  the common use of the
   asterisk  suffix  as  a footnote mark. The underscore is also common,
   suggesting underlining (this is particularly common with book titles;
   for   example,   "It   is  often  alleged  that  Joe  Haldeman  wrote
   _The_Forever_War_ as a rebuttal to Robert Heinlein's earlier novel of
   the  future military, _Starship_Troopers_."). Other forms exemplified
   by  "=hell=",  "\hell/",  or  "/hell/"  are  occasionally  seen (it's
   claimed  that  in the last example the first slash pushes the letters
   over to the right to make them italic, and the second keeps them from
   falling  over).  On  FidoNet, you might see #bright# and ^dark^ text,
   which  was  actually  interpreted  by  some reader software. Finally,
   words  may  also  be  emphasized  L  I K E T H I S, or by a series of
   carets (^) under them on the next line of the text.

   There  is  a  semantic difference between *emphasis like this* (which
   emphasizes  the  phrase  as  a  whole),  and *emphasis* *like* *this*
   (which suggests the writer speaking very slowly and distinctly, as if
   to  a  very  young child or a mentally impaired person). Bracketing a
   word  with the `*' character may also indicate that the writer wishes
   readers to consider that an action is taking place or that a sound is
   being made. Examples: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*,
   *mumble*.

   One  might also see the above sound effects as , , ,
   , , , . This use of angle brackets to mark
   their  contents  originally derives from conventions used in BNF, but
   since  about  1993  it has been reinforced by the HTML markup used on
   the World Wide Web.

   Angle-bracket  enclosure  is also used to indicate that a term stands
   for some random member of a larger class (this is straight from BNF).
   Examples like the following are common:

     So this  walks into a bar one day...

   There is also an accepted convention for `writing under erasure'; the
   text>

     Be   nice   to  this  fool^H^H^H^Hgentleman,  he's  visiting  from
     corporate HQ.

   reads roughly as "Be nice to this fool, er, gentleman...", with irony
   emphasized.  The  digraph  ^H is often used as a print representation
   for  a backspace, and was actually very visible on old-style printing
   terminals.  As  the  text  was being composed the characters would be
   echoed  and  printed  immediately, and when a correction was made the
   backspace keystrokes would be echoed with the string `^H'. Of course,
   the  final  composed  text  would  have  no  trace  of  the backspace
   characters (or the original erroneous text).

   Accidental  writing  under  erasure  occurs  when using the Unix talk
   program to chat interactively to another user. On a PC-style keyboard
   most  users instinctively press the backspace key to delete mistakes,
   but this may not achieve the desired effect, and merely displays a ^H
   symbol. The user typically presses backspace a few times before their
   brain  realises  the  problem  --  especially likely if the user is a
   touch-typist -- and since each character is transmitted as soon as it
   is  typed,  Freudian  slips  and  other  inadvertent  admissions  are
   (barring network delays) clearly visible for the other user to see.

   Deliberate  use  of  ^H  for writing under erasure parallels (and may
   have   been   influenced   by)  the  ironic  use  of  `slashouts'  in
   science-fiction fanzines.

   A  related  habit  uses  editor  commands  to  signify corrections to
   previous  text.  This  custom faded in email as more mailers got good
   editing  capabilities,  only  to  take  on new life on IRCs and other
   line-based chat systems.
charlie: I've seen that term used on alt.foobar often.
lisa: Send it to Erik for the File.
lisa: Oops...s/Erik/Eric/.

   The  s/Erik/Eric/  says  "change Erik to Eric in the preceding". This
   syntax  is  borrowed  from  the Unix editing tools ed and sed, but is
   widely recognized by non-Unix hackers as well.

   In  a  formula, * signifies multiplication but two asterisks in a row
   are a shorthand for exponentiation (this derives from FORTRAN, and is
   also used in Ada). Thus, one might write 2 ** 8 = 256.

   Another notation for exponentiation one sees more frequently uses the
   caret  (^,  ASCII  1011110);  one might write instead 2^8 = 256. This
   goes  all  the  way  back  to  Algol-60, which used the archaic ASCII
   `up-arrow'  that later became the caret; this was picked up by Kemeny
   and  Kurtz's  original  BASIC, which in turn influenced the design of
   the  bc(1)  and  dc(1)  Unix  tools, which have probably done most to
   reinforce  the  convention  on Usenet. (TeX math mode also uses ^ for
   exponention.)  The  notation  is  mildly  confusing to C programmers,
   because  ^  means  bitwise  exclusive-or  in  C. Despite this, it was
   favored  3:1  over  **  in a late-1990 snapshot of Usenet. It is used
   consistently in this lexicon.

   In  on-line  exchanges, hackers tend to use decimal forms or improper
   fractions  (`3.5'  or  `7/2')  rather  than  `typewriter style' mixed
   fractions  (`3-1/2').  The  major  motive  here  is probably that the
   former are more readable in a monospaced font, together with a desire
   to  avoid  the  risk  that  the  latter might be read as `three minus
   one-half'.  The  decimal  form  is definitely preferred for fractions
   with a terminating decimal representation; there may be some cultural
   influence here from the high status of scientific notation.

   Another  on-line  convention,  used especially for very large or very
   small  numbers, is taken from C (which derived it from FORTRAN). This
   is  a  form of `scientific notation' using `e' to replace `*10^'; for
   example, one year is about 3e7 (that is, 3 × 10 7) seconds long.

   The   tilde   (~)   is  commonly  used  in  a  quantifying  sense  of
   `approximately'; that is, ~50 means `about fifty'.

   On  Usenet  and  in  the  MUD  world,  common C boolean, logical, and
   relational  operators  such as |, &, ||, &&, !, ==, !=, >, <, >=, and
   <=  are  often  combined  with English. The Pascal not-equals, <>, is
   also  recognized,  and  occasionally one sees /= for not-equals (from
   Ada,  Common  Lisp, and Fortran 90). The use of prefix `!' as a loose
   synonym  for `not-' or `no-' is particularly common; thus, `!clue' is
   read `no-clue' or `clueless'.

   A   related   practice  borrows  syntax  from  preferred  programming
   languages  to  express ideas in a natural-language text. For example,
   one might see the following:
In  J. R. Hacker wrote:

--
                 == Frank Foonly (Fubarco Systems)

   In  the  above,  the  #ifdef/#endif pair is a conditional compilation
   syntax  from  C;  here,  it implies that the text between (which is a
   flame) should be evaluated only if you have turned on (or defined on)
   the  switch FLAME. The #include at the end is C for "include standard
   disclaimer  here";  the  `standard disclaimer' is understood to read,
   roughly,  "These  are my personal opinions and not to be construed as
   the official position of my employer."

   The  top  section  in  the  example, with < at the left margin, is an
   example of an inclusion convention we'll discuss below.

   More  recently,  following  on  the huge popularity of the World Wide
   Web, pseudo-HTML markup has become popular for similar purposes:

Your mother was a hamster and your father smelt of elderberries!


   You'll even see this with an HTML-style attribute modifier:

You seem well-suited for a career in government.


   Another  recent  (late 1990s) construction now common on Usenet seems
   to be borrowed from Unix shell syntax or Perl. It consists of using a
   dollar sign before an uppercased form of a word or acronym to suggest
   any  random  member  of the class indicated by the word. Thus: `$PHB'
   means "any random member of the class `Pointy-Haired Boss'".

   Hackers  also  mix letters and numbers more freely than in mainstream
   usage.  In  particular,  it  is  good  hackish style to write a digit
   sequence  where  you  intend the reader to understand the text string
   that  names  that  number  in  English.  So,  hackers prefer to write
   `1970s'  rather  than  `nineteen-seventies'  or  `1970's' (the latter
   looks like a possessive).

   It  should also be noted that hackers exhibit much less reluctance to
   use  multiply-nested  parentheses  than is normal in English. Part of
   this  is  almost  certainly  due  to  influence from LISP (which uses
   deeply  nested  parentheses  (like this (see?)) in its syntax a lot),
   but  it  has  also  been  suggested that a more basic hacker trait of
   enjoying  playing with complexity and pushing systems to their limits
   is in operation.

   Finally,  it  is  worth  mentioning  that  many  studies  of  on-line
   communication  have  shown that electronic links have a de-inhibiting
   effect  on  people.  Deprived of the body-language cues through which
   emotional  state is expressed, people tend to forget everything about
   other parties except what is presented over that ASCII link. This has
   both  good  and bad effects. A good one is that it encourages honesty
   and  tends  to break down hierarchical authority relationships; a bad
   one  is  that  it  may  encourage  depersonalization  and  gratuitous
   rudeness.  Perhaps  in  response  to  this, experienced netters often
   display  a  sort  of conscious formal politesse in their writing that
   has  passed  out  of  fashion  in other spoken and written media (for
   example, the phrase "Well said, sir!" is not uncommon).

   Many  introverted  hackers  who  are  next  to inarticulate in person
   communicate with considerable fluency over the net, perhaps precisely
   because they can forget on an unconscious level that they are dealing
   with  people  and  thus don't feel stressed and anxious as they would
   face to face.

   Though it is considered gauche to publicly criticize posters for poor
   spelling  or  grammar,  the  network places a premium on literacy and
   clarity  of  expression.  It  may  well  be that future historians of
   literature  will  see  in  it  a  revival  of  the great tradition of
   personal letters as art.

Chapter 6. Email Quotes and Inclusion Conventions

   One area where conventions for on-line writing are still in some flux
   is  the  marking  of  included material from earlier messages -- what
   would  be  called  `block  quotations'  in ordinary English. From the
   usual  typographic  convention employed for these (smaller font at an
   extra  indent),  there  derived  a  practice  of  included text being
   indented  by  one ASCII TAB (0001001) character, which under Unix and
   many other environments gives the appearance of an 8-space indent.

   Early mail and netnews readers had no facility for including messages
   this  way,  so  people had to paste in copy manually. BSD Mail(1) was
   the  first  message  agent to support inclusion, and early Usenetters
   emulated  its  style.  But  the TAB character tended to push included
   text too far to the right (especially in multiply nested inclusions),
   leading  to  ugly  wraparounds.  After  a  brief  period of confusion
   (during  which an inclusion leader consisting of three or four spaces
   became  established in EMACS and a few mailers), the use of leading >
   or  >  became  standard, perhaps owing to its use in ed(1) to display
   tabs  (alternatively,  it  may derive from the > that some early Unix
   mailers  used  to  quote  lines starting with "From" in text, so they
   wouldn't look like the beginnings of new message headers). Inclusions
   within  inclusions  keep their > leaders, so the `nesting level' of a
   quotation is visually apparent.

   The practice of including text from the parent article when posting a
   followup  helped  solve what had been a major nuisance on Usenet: the
   fact  that  articles  do  not  arrive  at different sites in the same
   order.  Careless posters used to post articles that would begin with,
   or  even  consist entirely of, "No, that's wrong" or "I agree" or the
   like.  It  was  hard to see who was responding to what. Consequently,
   around   1984,  new  news-posting  software  evolved  a  facility  to
   automatically  include the text of a previous article, marked with ">
   " or whatever the poster chose. The poster was expected to delete all
   but  the  relevant  lines.  The  result  has been that, now, careless
   posters  post  articles  containing  the  entire  text of a preceding
   article, followed only by "No, that's wrong" or "I agree".

   Many  people  feel that this cure is worse than the original disease,
   and  there  soon  appeared  newsreader  software  designed to let the
   reader  skip  over  included  text  if  desired.  Today, some posting
   software  rejects  articles containing too high a proportion of lines
   beginning   with   `>'  --  but  this  too  has  led  to  undesirable
   workarounds,  such as the deliberate inclusion of zero-content filler
   lines  which  aren't  quoted  and  thus  pull  the  message below the
   rejection threshold.

   Inclusion practice is still evolving, and disputes over the `correct'
   inclusion style occasionally lead to holy wars.

   Most  netters  view an inclusion as a promise that comment on it will
   immediately  follow.  The  preferred, conversational style looks like
   this,

        > relevant excerpt 1
        response to excerpt
        > relevant excerpt 2
        response to excerpt
        > relevant excerpt 3
        response to excerpt

   or for short messages like this:

        > entire message
        response to message

   Thanks to poor design of some PC-based mail agents (notably Microsoft
   Outlook  and  Outlook  Express), one will occasionally see the entire
   quoted message after the response, like this

        response to message
        > entire message

   but this practice is strongly deprecated.

   Though  >  remains  the  standard inclusion leader, | is occasionally
   used for extended quotations where original variations in indentation
   are  being retained (one mailer even combines these and uses |>). One
   also sees different styles of quoting a number of authors in the same
   message:  one (deprecated because it loses information) uses a leader
   of  >  for  everyone,  another (the most common) is > > > > , > > > ,
   etc.  (or  >>>>  ,  >>>,  etc.,  depending on line length and nesting
   depth)  reflecting the original order of messages, and yet another is
   to use a different citation leader for each author, say > , : , | , @
   (preserving  nesting so that the inclusion order of messages is still
   apparent, or tagging the inclusions with authors' names). Yet another
   style  is to use each poster's initials (or login name) as a citation
   leader for that poster.

   Occasionally   one   sees   a  #  leader  used  for  quotations  from
   authoritative  sources  such  as  standards  documents;  the intended
   allusion  is  to  the  root  prompt  (the special Unix command prompt
   issued when one is running as the privileged super-user).

Chapter 7. Hacker Speech Style

   Hackish  speech generally features extremely precise diction, careful
   word  choice,  a  relatively large working vocabulary, and relatively
   little  use  of contractions or street slang. Dry humor, irony, puns,
   and a mildly flippant attitude are highly valued -- but an underlying
   seriousness  and  intelligence  are  essential.  One  should use just
   enough  jargon  to  communicate  precisely  and identify oneself as a
   member of the culture; overuse of jargon or a breathless, excessively
   gung-ho attitude is considered tacky and the mark of a loser.

   This  speech  style is a variety of the precisionist English normally
   spoken  by  scientists,  design engineers, and academics in technical
   fields.  In  contrast  with the methods of jargon construction, it is
   fairly constant throughout hackerdom.

   It  has  been  observed  that  many  hackers are confused by negative
   questions  --  or, at least, that the people to whom they are talking
   are often confused by the sense of their answers. The problem is that
   they have done so much programming that distinguishes between
   if (going) ...

   and
   if (!going) ...

   that  when they parse the question "Aren't you going?" it may seem to
   be  asking  the  opposite  question  from "Are you going?", and so to
   merit an answer in the opposite sense. This confuses English-speaking
   non-hackers because they were taught to answer as though the negative
   part  weren't  there.  In  some  other  languages (including Russian,
   Chinese, and Japanese) the hackish interpretation is standard and the
   problem  wouldn't  arise. Hackers often find themselves wishing for a
   word like French `si', German `doch', or Dutch `jawel' -- a word with
   which  one  could  unambiguously answer `yes' to a negative question.
   (See also mu)

   For similar reasons, English-speaking hackers almost never use double
   negatives,  even  if  they  live  in  a region where colloquial usage
   allows  them.  The thought of uttering something that logically ought
   to be an affirmative knowing it will be misparsed as a negative tends
   to disturb them.

   In  a  related  vein,  hackers  sometimes  make  a  game of answering
   questions  containing  logical  connectives  with  a strictly literal
   rather than colloquial interpretation. A non-hacker who is indelicate
   enough  to  ask  a question like "So, are you working on finding that
   bug  now  or  leaving it until later?" is likely to get the perfectly
   correct  answer  "Yes!"  (that  is,  "Yes, I'm doing it either now or
   later, and you didn't ask which!").

Chapter 8. International Style

   Although  the Jargon File remains primarily a lexicon of hacker usage
   in  American  English,  we  have  made  some effort to get input from
   abroad.  Though  the  hacker-speak  of  other  languages  often  uses
   translations  of jargon from English (often as transmitted to them by
   earlier Jargon File versions!), the local variations are interesting,
   and knowledge of them may be of some use to travelling hackers.

   There are some references herein to `Commonwealth hackish'. These are
   intended  to  describe some variations in hacker usage as reported in
   the  English  spoken  in  Great Britain and the Commonwealth (Canada,
   Australia,  India,  etc.  --  though  Canada is heavily influenced by
   American  usage).  There  is  also  an  entry on Commonwealth Hackish
   reporting  some general phonetic and vocabulary differences from U.S.
   hackish.

   Hackers  in  Western  Europe and (especially) Scandinavia report that
   they  often  use  a mixture of English and their native languages for
   technical  conversation.  Occasionally  they  develop idioms in their
   English  usage  that  are influenced by their native-language styles.
   Some of these are reported here.

   On  the  other  hand,  English  often  gives  rise to grammatical and
   vocabulary  mutations  in  the  native language. For example, Italian
   hackers  often  use the nonexistent verbs `scrollare' (to scroll) and
   `deletare'  (to  delete)  rather  than  native  Italian  scorrere and
   cancellare.  Similarly,  the  English  verb  `to  hack' has been seen
   conjugated  in  Swedish.  In  German,  many Unix terms in English are
   casually   declined   as   if   they   were  German  verbs  --  thus:
   mount/mounten/gemountet;   grep/grepen/gegrept;  fork/forken/geforkt;
   core  dump/core-dumpen, gecoredumpt. And Spanish-speaking hackers use
   `linkear' (to link), `debugear' (to debug), and `lockear' (to lock).

   European  hackers report that this happens partly because the English
   terms  make  finer  distinctions  than  are available in their native
   vocabularies,  and  partly because deliberate language-crossing makes
   for amusing wordplay.

   A  few  notes on hackish usages in Russian have been added where they
   are   parallel   with  English  idioms  and  thus  comprehensible  to
   English-speakers.

Chapter 9. Crackers, Phreaks, and Lamers

   From  the  early  1980s  onward,  a  flourishing  culture  of  local,
   MS-DOS-based  bulletin  boards  developed  separately  from  Internet
   hackerdom.  The BBS culture has, as its seamy underside, a stratum of
   `pirate  boards'  inhabited  by  crackers,  phone  phreaks, and warez
   d00dz.  These  people  (mostly  teenagers  running IBM-PC clones from
   their  bedrooms)  have  developed  their  own  characteristic jargon,
   heavily  influenced  by  skateboard lingo and underground-rock slang.
   While  BBS  technology  essentially died out after the Great Internet
   Explosion,  the cracker culture moved to IRC and other Internet-based
   network channels and maintained a semi-underground existence.

   Though  crackers  often  call themselves `hackers', they aren't (they
   typically  have neither significant programming ability, nor Internet
   expertise,   nor  experience  with  UNIX  or  other  true  multi-user
   systems).  Their  vocabulary has little overlap with hackerdom's, and
   hackers  regard  them with varying degrees of contempt. But ten years
   on  the  brightest  crackers tend to become hackers, and sometimes to
   recall  their  origins by using cracker slang in a marked and heavily
   ironic way.

   This  lexicon  covers  much  of  cracker slang (which is often called
   "leet-speak")  so  the  reader  will  be able to understand both what
   leaks out of the cracker underground and the occasional ironic use by
   hackers.

   Here is a brief guide to cracker and warez d00dz usage:
     * Misspell frequently. The substitutions phone -> fone and freak ->
       phreak are obligatory.
     * Always  substitute  `z's for `s's. (i.e. "codes" -> "codez"). The
       substitution  of  `z'  for  `s'  has evolved so that a `z' is now
       systematically  put  at  the end of words to denote an illegal or
       cracking  connection.  Examples : Appz, passwordz, passez, utilz,
       MP3z,  distroz,  pornz, sitez, gamez, crackz, serialz, downloadz,
       FTPz, etc.
     * Type  random  emphasis  characters  after  a post line (i.e. "Hey
       Dudes!#!$#$!#!$").
     * Use  the  emphatic  `k'  prefix  ("k-kool", "k-rad", "k-awesome")
       frequently.
     * Abbreviate compulsively ("I got lotsa warez w/ docs").
     * TYPE  ALL  IN  CAPS LOCK, SO IT LOOKS LIKE YOU'RE YELLING ALL THE
       TIME.

   The following letter substitutions are common:

       a -> 4
       e -> 3
       f -> ph
       i -> 1 or |
       l -> | or 1
       m -> |\/|
       n -> |\|
       o -> 0
       s -> 5
       t -> 7 or +

   Thus,  "elite" comes out "31337" and "all your base are belong to us"
   becomes  "4ll  y0ur  b4s3  4r3  b3l0ng  t0  us",  Other  less  common
   substitutions include:

       b -> 8
       c -> ( or k or |< or /<
       d -> <|
       g -> 6 or 9
       h -> |-|
       k -> |< or /<
       p -> |2
       u -> |_|
       v -> / or \/
       w -> // or \/\/
       x -> ><
       y -> '/

   The  word "cool" is spelled "kewl" and normally used ironically; when
   crackers  really  want to praise something they use the prefix "uber"
   (from German) which comes out "ub3r" or even "|_|83r"

   These traits are similar to those of B1FF, who originated as a parody
   of  naive  BBS  users;  also  of  his  latter-day equivalent Jeff K..
   Occasionally, this sort of distortion may be used as heavy sarcasm or
   ironically by a real hacker, as in:
    > I got X Windows running under Linux!

    d00d!  u R an 31337 hax0r

   The  words  "hax0r" for "hacker" and "sux0r" for "sucks" are the most
   common  references;  more  generally, to mark a term as cracker-speak
   one may add "0r" or "xor". Examples:

       "The nightly build is sux0r today."
       "Gotta go reboot those b0x0rz."
       "Man, I really ought to fix0r my .fetchmailrc."
       "Yeah, well he's a 'leet VMS operat0r now, so he's too good for u
   s."

   The  only  practice  resembling  this  in  native hacker usage is the
   substitution  of a dollar sign of `s' in names of products or service
   felt to be excessively expensive, e.g. Compu$erve, Micro$oft.

   For  further  discussion  of  the pirate-board subculture, see lamer,
   elite,  leech,  poser,  cracker,  and  especially warez d00dz, banner
   site, ratio site, leech mode.

Chapter 10. Pronunciation Guide

   Pronunciation  keys  are  provided  in  the  jargon  listings for all
   entries  that  are neither dictionary words pronounced as in standard
   English  nor  obvious  compounds  thereof.  Slashes  bracket phonetic
   pronunciations,  which  are  to  be  interpreted  using the following
   conventions:

   Syllables  are hyphen-separated, except that an accent or back-accent
   follows  each  accented  syllable  (the back-accent marks a secondary
   accent  in  some  words  of  four or more syllables). If no accent is
   given,  the  word  is  pronounced  with  equal  accentuation  on  all
   syllables (this is common for abbreviations).

   Consonants  are  pronounced as in American English. The letter `g' is
   always hard (as in "got" rather than "giant"); `ch' is soft ("church"
   rather than "chemist"). The letter `j' is the sound that occurs twice
   in  "judge".  The letter `s' is always as in "pass", never a z sound.
   The  digraph `kh' is the guttural of "loch" or "l'chaim". The digraph
   `gh'  is  the  aspirated  g+h  of  "bughouse"  or  "ragheap" (rare in
   English).

   Uppercase  letters are pronounced as their English letter names; thus
   (for  example)  /H-L-L/  is  equivalent  to  /aych el el/. /Z/ may be
   pronounced /zee/ or /zed/ depending on your local dialect.

   Vowels are represented as follows:

   Table 10.1. Vowels
   a     back, that
   ah    father, palm (see note)
   ar    far, mark
   aw    flaw, caught
   ay    bake, rain
   e     less, men
   ee    easy, ski
   eir   their, software
   i     trip, hit
   i:    life, sky
   o     block, stock (see note)
   oh    flow, sew
   oo    loot, through
   or    more, door
   ow    out, how
   oy    boy, coin
   uh    but, some
   u     put, foot
   y     yet, young
   yoo   few, chew
   [y]oo /oo/ with optional fronting as in `news' (/nooz/ or /nyooz/)

   The glyph /@/ is used for the `schwa' sound of unstressed or occluded
   vowels.

   The schwa vowel is omitted in syllables containing vocalic r, l, m or
   n;  that  is,  `kitten'  and  `color'  would  be rendered /kit'n/ and
   /kuhl'r/, not /kit'@n/ and /kuhl'@r/.

   Note  that  the  above  table  reflects  mainly distinctions found in
   standard  American English (that is, the neutral dialect spoken by TV
   network  announcers  and  typical  of  educated  speech  in the Upper
   Midwest, Chicago, Minneapolis/St. Paul and Philadelphia). However, we
   separate  /o/  from  /ah/,  which tend to merge in standard American.
   This  may  help  readers  accustomed  to  accents  resembling British
   Received Pronunciation.

   The intent of this scheme is to permit as many readers as possible to
   map  the  pronunciations  into  their  local dialect by ignoring some
   subset  of  the  distinctions  we  make.  Speakers of British RP, for
   example,  can  smash terminal /r/ and all unstressed vowels. Speakers
   of  many varieties of southern American will automatically map /o/ to
   /aw/; and so forth. (Standard American makes a good reference dialect
   for  this  purpose  because  it  has  crisp consonants and more vowel
   distinctions   than   other  major  dialects,  and  tends  to  retain
   distinctions  between  unstressed  vowels. It also happens to be what
   your editor speaks.)

   Entries  with  a  pronunciation of `//' are written-only usages. (No,
   Unix   weenies,   this   does   not  mean  `pronounce  like  previous
   pronunciation'!)

Chapter 11. Other Lexicon Conventions

   Entries  are  sorted in case-blind ASCII collation order (rather than
   the  letter-by-letter  order  ignoring  interword  spacing  common in
   mainstream  dictionaries),  except  that  all  entries beginning with
   nonalphabetic  characters  are  sorted  before A, except that leading
   dash is ignored. The case-blindness is a feature, not a bug.

   Prefix  **  is  used  as  linguists do; to mark examples of incorrect
   usage.

   We  follow  the `logical' quoting convention described in the Writing
   Style section above. In addition, we reserve double quotes for actual
   excerpts  of text or (sometimes invented) speech. Scare quotes (which
   mark  a  word  being  used  in  a nonstandard way), and philosopher's
   quotes  (which  turn an utterance into the string of letters or words
   that name it) are both rendered with single quotes.

   References  such  as  malloc(3)  and  patch(1) are to Unix facilities
   (some   of   which,  such  as  patch(1),  are  actually  open  source
   distributed  over  Usenet).  The  Unix manuals use foo(n) to refer to
   item foo in section (n) of the manual, where n=1 is utilities, n=2 is
   system calls, n=3 is C library routines, n=6 is games, and n=8 (where
   present)  is system administration utilities. Sections 4, 5, and 7 of
   the  manuals  have  changed  roles frequently and in any case are not
   referred to in any of the entries.

   Various  abbreviations  used frequently in the lexicon are summarized
   here:

   Table 11.1. Abbreviations
   abbrev.               abbreviation
   adj.    adjective
   adv.    adverb
   alt.    alternate
   cav.    caveat
   conj.   conjunction
   esp.    especially
   excl.   exclamation
   imp.    imperative
   interj. interjection
   n.      noun
   obs.    obsolete
   pl.     plural
   poss.   possibly
   pref.   prefix
   prob.   probably
   prov.   proverbial
   quant.  quantifier
   suff.   suffix
   syn.    synonym (or synonymous with)
   v.      verb (may be transitive or intransitive)
   var.    variant
   vi.     intransitive verb
   vt.     transitive verb

   Where alternate spellings or pronunciations are given, alt. separates
   two possibilities with nearly equal distribution, while var. prefixes
   one that is markedly less common than the primary.

   Where a term can be attributed to a particular subculture or is known
   to  have  originated  there,  we have tried to so indicate. Here is a
   list of abbreviations used in etymologies:

   Table 11.2. Origins
   Amateur Packet Radio A technical culture of ham-radio sites using
   AX.25 and TCP/IP for wide-area networking and BBS systems.
   Berkeley University of California at Berkeley
   BBN Bolt, Beranek & Newman
   Cambridge  the  university  in England (not the city in Massachusetts
   where MIT happens to be located!)
   CMU Carnegie-Mellon University
   Commodore Commodore Business Machines
   DEC The Digital Equipment Corporation (now HP).
   Fairchild The Fairchild Instruments Palo Alto development group
   FidoNet See the FidoNet entry
   IBM International Business Machines
   MIT  Massachusetts Institute of Technology; esp. the legendary MIT AI
   Lab  culture of roughly 1971 to 1983 and its feeder groups, including
   the Tech Model Railroad Club
   NRL Naval Research Laboratories
   NYU New York University
   OED The Oxford English Dictionary
   Purdue Purdue University
   SAIL   Stanford   Artificial  Intelligence  Laboratory  (at  Stanford
   University)
   SI   From   Système   International,   the   name  for  the  standard
   abbreviations of metric nomenclature used in the sciences
   Stanford Stanford University
   Sun Sun Microsystems
   TMRC  Some  MITisms  go  back  as far as the Tech Model Railroad Club
   (TMRC)  at  MIT  c.  1960.  Material  marked TMRC is from An Abridged
   Dictionary  of  the TMRC Language, originally compiled by Pete Samson
   in 1959
   UCLA University of California, Los Angeles
   UK the United Kingdom (England, Wales, Scotland, Northern Ireland)
   Usenet See the Usenet entry
   WPI  Worcester Polytechnic Institute, site of a very active community
   of PDP-10 hackers during the 1970s
   WWW The World-Wide-Web.
   XEROX PARC XEROX's Palo Alto Research Center, site of much pioneering
   research in user interface design and networking
   Yale Yale University

   Other  etymology  abbreviations  such  as  Unix  and  PDP-10 refer to
   technical    cultures   surrounding   specific   operating   systems,
   processors,  or  other environments. The fact that a term is labelled
   with any one of these abbreviations does not necessarily mean its use
   is confined to that culture. In particular, many terms labelled `MIT'
   and  `Stanford'  are in quite general use. We have tried to give some
   indication  of  the  distribution  of  speakers  in  the usage notes;
   however,  a  number of factors mentioned in the introduction conspire
   to make these indications less definite than might be desirable.

   A  few  new  definitions  attached  to entries are marked [proposed].
   These  are  usually  generalizations  suggested  by editors or Usenet
   respondents  in  the process of commenting on previous definitions of
   those entries. These are not represented as established jargon.

Chapter 12. Format for New Entries

   We  welcome  new  jargon,  and  corrections  to  or amplifications of
   existing  entries. You can improve your submission's chances of being
   included  by  adding  background  information  on user population and
   years  of currency. References to actual usage via URLs and/or Google
   pointers are particularly welcomed.

   All  contributions  and  suggestions  about  the  Jargon File will be
   considered  donations  to  be  placed in the public domain as part of
   this  File, and may be used in subsequent paper editions. Submissions
   may be edited for accuracy, clarity and concision.

   We  are  looking  to expand the File's range of technical specialties
   covered. There are doubtless rich veins of jargon yet untapped in the
   scientific  computing,  graphics,  and networking hacker communities;
   also  in  numerical analysis, computer architectures and VLSI design,
   language design, and many other related fields. Send us your jargon!

   We  are  not  interested  in  straight  technical  terms explained by
   textbooks  or  technical  dictionaries  unless  an  entry illuminates
   `underground'  meanings or aspects not covered by official histories.
   We  are  also  not  interested in `joke' entries -- there is a lot of
   humor  in the file but it must flow naturally out of the explanations
   of what hackers do and how they think.

   It  is  OK to submit items of jargon you have originated if they have
   spread  to  the  point of being used by people who are not personally
   acquainted  with  you.  We prefer items to be attested by independent
   submission from two different sites.

   The  Jargon  File will be regularly maintained and made available for
   browsing  on  the  World Wide Web, and will include a version number.
   Read it, pass it around, contribute -- this is your monument!

The Jargon Lexicon

   [crunchly-1.png]

   The Crunchly saga begins here.

   (The next cartoon in the Crunchly saga is 73-05-18.)

   The  infamous  Crunchly cartoons by The Great Quux are woven into the
   lexicon,  each  next  to  an  appropriate  entry. To read them in the
   sequence  in  which they were written, chase pointers from here using
   the `next cartoon' information in the captions. A few don't have next
   pointers; these are vignettes from the 1973 Crunchland tableau spread
   that inaugurated the strip.

   Here is a framed version of the glossary.

   Table of Contents

   Glossary

Glossary

   0

        (TM)
        /dev/null
        /me
        0
        1TBS
        2
        404
        404 compliant
        @-party

   A

        abbrev
        ABEND
        accumulator
        ACK
        Acme
        ad-hockery
        address harvester
        adger
        admin
        ADVENT
        adware
        AFAIK
        AFJ
        AFK
        AI
        AI-complete
        airplane rule
        Alderson loop
        aliasing bug
        Alice and Bob
        All hardware sucks, all software sucks.
        all your base are belong to us
        alpha geek
        alpha particles
        alt
        alt bit
        Aluminum Book
        ambimouseterous
        Amiga
        Amiga Persecution Complex
        amp off
        amper
        and there was much rejoicing
        Angband
        angle brackets
        angry fruit salad
        annoybot
        annoyware
        ANSI standard
        ANSI standard pizza
        anti-idiotarianism
        AOL!
        app
        Archimedes
        arena
        arg
        ARMM
        armor-plated
        asbestos
        asbestos cork award
        asbestos longjohns
        ASCII
        ASCII art
        ASCIIbetical order
        astroturfing
        atomic
        attoparsec
        Aunt Tillie
        AUP
        autobogotiphobia
        autoconfiscate
        automagically
        avatar
        awk

   B

        B1FF
        B5
        back door
        backbone cabal
        backbone site
        backgammon
        background
        backreference
        backronym
        backward combatability
        BAD
        Bad and Wrong
        Bad Thing
        bag on the side
        bagbiter
        bagbiting
        baggy pantsing
        balloonian variable
        bamf
        banana problem
        bandwidth
        bang
        bang on
        bang path
        banner
        banner ad
        banner site
        bar
        bare metal
        barf
        barfmail
        barfulation
        barfulous
        barn
        barney
        baroque
        BASIC
        batbelt
        batch
        bathtub curve
        Batman factor
        baud
        baz
        bazaar
        bboard
        BBS
        BCPL
        BDFL
        beam
        beanie key
        beep
        Befunge
        beige toaster
        bells and whistles
        bells whistles and gongs
        benchmark
        Berkeley Quality Software
        Berzerkeley
        beta
        BFI
        BI
        bible
        BiCapitalization
        biff
        big iron
        Big Red Switch
        Big Room
        big win
        big-endian
        bignum
        bigot
        bikeshedding
        binary four
        bit
        bit bang
        bit bashing
        bit bucket
        bit decay
        bit rot
        bit twiddling
        bit-paired keyboard
        bitblt
        bits
        bitty box
        bixie
        black art
        black hat
        black hole
        black magic
        Black Screen of Death
        blammo
        blargh
        blast
        blat
        bletch
        bletcherous
        blinkenlights
        blit
        blitter
        blivet
        bloatware
        BLOB
        block
        blog
        Bloggs Family
        blogosphere
        blogrolling
        blow an EPROM
        blow away
        blow out
        blow past
        blow up
        BLT
        blue box
        Blue Glue
        blue goo
        Blue Screen of Death
        blue wire
        blurgle
        BNF
        boa
        board
        boat anchor
        bob
        bodge
        BOF
        BOFH
        bogo-sort
        bogometer
        BogoMIPS
        bogon
        bogon filter
        bogon flux
        bogosity
        bogotify
        bogue out
        bogus
        Bohr bug
        boink
        bomb
        bondage-and-discipline language
        bonk/oif
        book titles
        boot
        Borg
        borken
        bot
        bottom feeder
        bottom-post
        bottom-up implementation
        bounce
        bounce message
        boustrophedon
        box
        boxed comments
        boxen
        boxology
        bozotic
        brain dump
        brain fart
        brain-damaged
        brain-dead
        braino
        brainwidth
        bread crumbs
        break
        break-even point
        breath-of-life packet
        breedle
        Breidbart Index
        brick
        bricktext
        bring X to its knees
        brittle
        broadcast storm
        broken
        broken arrow
        broken-ring network
        BrokenWindows
        broket
        Brooks's Law
        brown-paper-bag bug
        browser
        BRS
        brute force
        brute force and ignorance
        BSD
        BSOD
        BUAF
        BUAG
        bubble sort
        bucky bits
        buffer chuck
        buffer overflow
        bug
        bug-compatible
        bug-for-bug compatible
        bug-of-the-month club
        bulletproof
        bullschildt
        bump
        burble
        buried treasure
        burn a CD
        burn-in period
        burst page
        busy-wait
        buzz
        buzzword-compliant
        BWQ
        by hand
        byte
        byte sex
        bytesexual
        Bzzzt! Wrong.

   C

        C
        C Programmer's Disease
        C&C
        C++
        calculator
        Camel Book
        camelCase
        camelCasing
        can't happen
        cancelbot
        Cancelmoose[tm]
        candygrammar
        canonical
        careware
        cargo cult programming
        cascade
        case and paste
        case mod
        casters-up mode
        casting the runes
        cat
        catatonic
        cathedral
        cd tilde
        CDA
        cdr
        chad
        chad box
        chain
        chainik
        channel
        channel hopping
        channel op
        chanop
        char
        charityware
        chase pointers
        chawmp
        check
        cheerfully
        chemist
        Chernobyl chicken
        Chernobyl packet
        chicken head
        chickenboner
        chiclet keyboard
        Chinese Army technique
        choad
        choke
        chomp
        chomper
        CHOP
        Christmas tree
        Christmas tree packet
        chrome
        chug
        Church of the SubGenius
        CI$
        Cinderella Book
        Classic C
        clean
        click of death
        CLM
        clobber
        clock
        clocks
        clone
        clone-and-hack coding
        clover key
        clue-by-four
        clustergeeking
        co-lo
        coaster
        coaster toaster
        COBOL
        COBOL fingers
        cobweb site
        code
        code grinder
        code monkey
        Code of the Geeks
        code police
        codes
        codewalker
        coefficient of X
        cokebottle
        cold boot
        COME FROM
        comm mode
        command key
        comment out
        Commonwealth Hackish
        compact
        compiler jock
        compo
        compress
        Compu$erve
        computer confetti
        computron
        con
        condition out
        condom
        confuser
        connector conspiracy
        cons
        considered harmful
        console
        console jockey
        content-free
        control-C
        control-O
        control-Q
        control-S
        Conway's Law
        cookbook
        cooked mode
        cookie
        cookie bear
        cookie file
        cookie jar
        cookie monster
        copious free time
        copper
        copy protection
        copybroke
        copycenter
        copyleft
        copyparty
        copywronged
        core
        core cancer
        core dump
        core leak
        Core Wars
        cosmic rays
        cough and die
        courier
        cow orker
        cowboy
        CP/M
        CPU Wars
        crack
        crack root
        cracker
        cracking
        crank
        crapplet
        CrApTeX
        crash
        crash and burn
        crawling horror
        CRC handbook
        creationism
        creep
        creeping elegance
        creeping featurism
        creeping featuritis
        cretin
        cretinous
        crippleware
        critical mass
        crlf
        crock
        cross-post
        crossload
        crudware
        cruft
        cruft together
        cruftsmanship
        crufty
        crumb
        crunch
        cryppie
        cthulhic
        CTSS
        cube
        cup holder
        cursor dipped in X
        cuspy
        cut a tape
        cybercrud
        cyberpunk
        cyberspace
        cycle
        cycle of reincarnation
        cycle server
        cypherpunk
        C|N>K

   D

        daemon
        daemon book
        dahmum
        dancing frog
        dangling pointer
        dark-side hacker
        Datamation
        DAU
        Dave the Resurrector
        day mode
        dd
        DDT
        de-rezz
        dead
        dead beef attack
        dead code
        dead-tree version
        DEADBEEF
        deadlock
        deadly embrace
        death code
        Death Square
        Death Star
        Death, X of
        DEC
        DEC Wars
        decay
        deckle
        DED
        deep hack mode
        deep magic
        deep space
        defenestration
        defined as
        deflicted
        dehose
        Dejagoo
        deletia
        deliminator
        delint
        delta
        demented
        demigod
        demo
        demo mode
        demoeffect
        demogroup
        demon
        demon dialer
        demoparty
        demoscene
        dentro
        depeditate
        deprecated
        derf
        deserves to lose
        despew
        dickless workstation
        dictionary flame
        diddle
        die
        die horribly
        diff
        dike
        Dilbert
        ding
        dink
        dinosaur
        dinosaur pen
        dinosaurs mating
        dirtball
        dirty power
        disclaimer
        Discordianism
        disemvowel
        disk farm
        display hack
        dispress
        Dissociated Press
        distribution
        distro
        disusered
        DMZ
        do protocol
        doc
        documentation
        dodgy
        dogcow
        dogfood
        dogpile
        dogwash
        Don't do that then!
        dongle
        dongle-disk
        Doom, X of
        doorstop
        DoS attack
        dot file
        double bucky
        doubled sig
        down
        download
        DP
        DPer
        Dr. Fred Mbogo
        dragon
        Dragon Book
        drain
        dread high-bit disease
        dread questionmark disease
        DRECNET
        driver
        droid
        drone
        drool-proof paper
        drop on the floor
        drop-ins
        drop-outs
        drugged
        drum
        drunk mouse syndrome
        DSW
        dub dub dub
        Duff's device
        dumb terminal
        dumbass attack
        dumbed down
        dump
        dumpster diving
        dusty deck
        DWIM
        dynner

   E

        Easter egg
        Easter egging
        eat flaming death
        EBCDIC
        ECP
        ed
        egg
        egosurf
        eighty-column mind
        El Camino Bignum
        elder days
        elegant
        elephantine
        elevator controller
        elite
        ELIZA effect
        elvish
        EMACS
        email
        emoticon
        EMP
        empire
        engine
        English
        enhancement
        ENQ
        EOD
        EOF
        EOL
        EOU
        epoch
        epsilon
        epsilon squared
        era
        Eric Conspiracy
        Eris
        erotics
        error 33
        eurodemo
        evil
        evil and rude
        Evil Empire
        exa-
        examining the entrails
        EXCH
        excl
        EXE
        exec
        exercise, left as an
        Exon
        Exploder
        exploit
        external memory
        eye candy
        eyeball search

   F

        face time
        factor
        fairings
        fall over
        fall through
        fan
        fandango on core
        FAQ
        FAQ list
        FAQL
        faradize
        farkled
        farm
        fascist
        fat electrons
        fat pipe
        fat-finger
        faulty
        fear and loathing
        feature
        feature creature
        feature creep
        feature key
        feature shock
        featurectomy
        feep
        feeper
        feeping creature
        feeping creaturism
        feetch feetch
        fence
        fencepost error
        fiber-seeking backhoe
        FidoNet
        field circus
        field servoid
        file signature
        filk
        film at 11
        filter
        Finagle's Law
        fine
        finger
        finger trouble
        finger-pointing syndrome
        finn
        firebottle
        firefighting
        firehose syndrome
        firewall code
        firewall machine
        fireworks mode
        firmware
        fish
        FISH queue
        fisking
        FITNR
        fix
        FIXME
        flag
        flag day
        flaky
        flamage
        flame
        flame bait
        flame on
        flame war
        flamer
        flap
        flarp
        flash crowd
        flat
        flat-ASCII
        flat-file
        flatten
        flavor
        flavorful
        flippy
        flood
        flowchart
        flower key
        flush
        flypage
        Flyspeck 3
        flytrap
        FM
        fnord
        FOAF
        FOD
        fold case
        followup
        fontology
        foo
        foobar
        fool
        fool file
        Foonly
        footprint
        for free
        for the rest of us
        for values of
        fora
        foreground
        fork
        fork bomb
        forked
        Formosa's Law
        Fortrash
        fortune cookie
        forum
        fossil
        four-color glossies
        frag
        fragile
        Frankenputer
        fred
        Fred Foobar
        frednet
        free software
        freeware
        freeze
        fried
        frink
        friode
        fritterware
        frob
        frobnicate
        frobnitz
        frog
        frogging
        front end
        frotz
        frotzed
        frowney
        FRS
        fry
        fscking
        FSF
        -fu
        FUBAR
        fuck me harder
        FUD
        FUD wars
        fudge
        fudge factor
        fuel up
        Full Monty
        fum
        functino
        funky
        funny money
        furrfu

   G

        G
        gang bang
        Gang of Four
        garbage collect
        garply
        gas
        Gates's Law
        gawble
        GC
        GCOS
        GECOS
        gedanken
        geef
        geek
        geek code
        geek out
        geekasm
        gen
        gender mender
        General Public Virus
        generate
        Genius From Mars Technique
        gensym
        Get a life!
        Get a real computer!
        GandhiCon
        gib
        GIFs at 11
        gig
        giga-
        GIGO
        gilley
        gillion
        ginger
        GIPS
        GIYF
        glark
        glass
        glass tty
        glassfet
        glitch
        glob
        glork
        glue
        gnarly
        GNU
        gnubie
        GNUMACS
        go flatline
        go gold
        go root
        go-faster stripes
        GoAT
        goat file
        gobble
        Godwin's Law
        Godzillagram
        golden
        golf-ball printer
        gonk
        gonkulator
        gonzo
        Good Thing
        google
        google juice
        gopher
        gopher hole
        gorets
        gorilla arm
        gorp
        GOSMACS
        gotcha
        GPL
        GPV
        gray goo
        gray hat
        Great Internet Explosion
        Great Renaming
        Great Runes
        Great Worm
        great-wall
        green bytes
        green card
        green lightning
        green machine
        Green's Theorem
        greenbar
        grep
        gribble
        grilf
        grind
        grind crank
        gritch
        grok
        gronk
        gronk out
        gronked
        grovel
        grue
        grunge
        gubbish
        Guido
        guiltware
        gumby
        gunch
        gunpowder chicken
        guru
        guru meditation
        gweep
        GWF

   H

        h
        ha ha only serious
        hack
        hack attack
        hack mode
        hack on
        hack together
        hack up
        hack value
        hacked off
        hacked up
        hacker
        hacker ethic
        hacker humor
        Hackers (the movie)
        hacking run
        Hacking X for Y
        Hackintosh
        hackish
        hackishness
        hackitude
        hair
        hairball
        hairy
        HAKMEM
        hakspek
        Halloween Documents
        ham
        hammer
        hamster
        HAND
        hand cruft
        hand-hacking
        hand-roll
        handle
        handshaking
        handwave
        hang
        Hanlon's Razor
        happily
        hard boot
        hardcoded
        hardwarily
        hardwired
        has the X nature
        hash bucket
        hash collision
        hat
        HCF
        heads down
        heartbeat
        heatseeker
        heavy metal
        heavy wizardry
        heavyweight
        Hed Rat
        heisenbug
        hell desk
        hello sailor!
        hello world
        hello, wall!
        hex
        hexadecimal
        hexit
        HHOK
        HHOS
        hidden flag
        high bit
        high moby
        highly
        hing
        hired gun
        hirsute
        HLL
        hoarding
        hog
        hole
        hollised
        holy penguin pee
        holy wars
        home box
        home machine
        home page
        honey pot
        hook
        hop
        horked
        hose
        hosed
        hot chat
        hot spot
        hotlink
        house wizard
        HP-SUX
        HTH
        huff
        hung
        hungry puppy
        hungus
        hyperspace
        hysterical reasons

   I

        I didn't change anything!
        I see no X here.
        I for one welcome our new X overlords
        IANAL
        IBM
        ICBM address
        ice
        ID10T error
        idempotent
        IDP
        If you want X, you know where to find it.
        ifdef out
        IIRC
        ill-behaved
        IMHO
        Imminent Death Of The Net Predicted!
        in the extreme
        incantation
        include
        include war
        indent style
        Indent-o-Meter
        index of X
        infant mortality
        infinite
        infinite loop
        Infinite-Monkey Theorem
        infinity
        inflate
        Infocom
        initgame
        insanely great
        installfest
        INTERCAL
        InterCaps
        interesting
        Internet
        Internet Death Penalty
        Internet Exploder
        Internet Exploiter
        interrupt
        interrupts locked out
        intertwingled
        intro
        IRC
        iron
        Iron Age
        iron box
        ironmonger
        ISO standard cup of tea
        ISP
        Itanic
        ITS
        IWBNI
        IYFEG

   J

        J. Random
        J. Random Hacker
        jack in
        jaggies
        Java
        JCL
        JEDR
        Jeff K.
        jello
        Jeopardy-style quoting
        jibble
        jiffy
        job security
        jock
        joe code
        joe-job
        juggling eggs
        juice
        jump off into never-never land
        jupiter

   K

        K
        K&R
        k-
        kahuna
        kamikaze packet
        kangaroo code
        ken
        kernel-of-the-week club
        kgbvax
        KIBO
        kiboze
        kibozo
        kick
        kill file
        killer app
        killer micro
        killer poke
        kilo-
        kilogoogle
        KIPS
        KISS Principle
        kit
        KLB
        klone
        kludge
        kluge
        kluge around
        kluge up
        Knights of the Lambda Calculus
        knobs
        knurd
        Knuth
        koan
        kook
        Kool-Aid
        kremvax
        kyrka

   L

        lag
        lamer
        LAN party
        language lawyer
        languages of choice
        LART
        larval stage
        lase
        laser chicken
        leaf site
        leak
        leaky heap
        leapfrog attack
        leech
        leech mode
        legal
        legalese
        lenna
        LER
        LERP
        let the smoke out
        letterbomb
        lexer
        life
        Life is hard
        light pipe
        lightweight
        like kicking dead whales down the beach
        like nailing jelly to a tree
        line 666
        line eater, the
        line noise
        linearithmic
        link farm
        link rot
        link-dead
        lint
        Lintel
        Linus
        Linux
        lion food
        Lions Book
        LISP
        list-bomb
        lithium lick
        little-endian
        live
        live data
        Live Free Or Die!
        livelock
        liveware
        lobotomy
        locals, the
        locked and loaded
        locked up
        logic bomb
        logical
        loop through
        loose bytes
        lord high fixer
        lose
        lose lose
        loser
        losing
        loss
        lossage
        lossy
        lost in the noise
        lost in the underflow
        lots of MIPS but no I/O
        low-bandwidth
        Lubarsky's Law of Cybernetic Entomology
        Lumber Cartel
        lunatic fringe
        lurker
        luser

   M

        M
        M$
        macdink
        machoflops
        Macintoy
        Macintrash
        macro
        macro-
        macrology
        maggotbox
        magic
        magic cookie
        magic number
        magic smoke
        mail storm
        mailbomb
        mailing list
        main loop
        mainframe
        mainsleaze
        malware
        man page
        management
        mandelbug
        manged
        mangle
        mangled name
        mangler
        manularity
        marching ants
        marbles
        marginal
        marginally
        marketroid
        Mars
        martian
        massage
        math-out
        Matrix
        mav
        maximum Maytag mode
        McQuary limit
        meatspace
        meatware
        meeces
        meg
        mega-
        megapenny
        MEGO
        meltdown, network
        meme
        meme plague
        memetics
        memory farts
        memory leak
        memory smash
        menuitis
        mess-dos
        meta
        meta bit
        metasyntactic variable
        MFTL
        mickey
        mickey mouse program
        micro-
        MicroDroid
        microfortnight
        microLenat
        microReid
        microserf
        Microsloth Windows
        Microsoft
        micros~1
        middle-endian
        middle-out implementation
        milliLampson
        minor detail
        MIPS
        misbug
        misfeature
        missile address
        MiSTing
        miswart
        MMF
        mobo
        moby
        mockingbird
        mod
        mode
        mode bit
        modulo
        mojibake
        molly-guard
        Mongolian Hordes technique
        monkey up
        monkey, scratch
        monstrosity
        monty
        Moof
        Moore's Law
        moria
        MOTAS
        MOTOS
        MOTSS
        mouse ahead
        mouse belt
        mouse droppings
        mouse elbow
        mouse pusher
        mouso
        MS-DOS
        mu
        MUD
        muddie
        mudhead
        muggle
        Multics
        multitask
        mumblage
        mumble
        munch
        munching
        munching squares
        munchkin
        mundane
        mung
        munge
        Murphy's Law
        music
        mutter

   N

        N
        nadger
        nagware
        nailed to the wall
        nailing jelly
        naive
        naive user
        NAK
        NANA
        nano
        nano-
        nanoacre
        nanobot
        nanocomputer
        nanofortnight
        nanotechnology
        narg
        nasal demons
        nastygram
        Nathan Hale
        nature
        neat hack
        neats vs. scruffies
        neep-neep
        neophilia
        nerd
        nerd knob
        net.-
        net.god
        net.personality
        net.police
        netburp
        netdead
        nethack
        netiquette
        netlag
        netnews
        Netscrape
        netsplit
        netter
        network address
        network meltdown
        New Jersey
        New Testament
        newbie
        newgroup wars
        newline
        NeWS
        newsfroup
        newsgroup
        nick
        nickle
        night mode
        Nightmare File System
        NIL
        Ninety-Ninety Rule
        nipple mouse
        NMI
        no-op
        noddy
        non-optimal solution
        nonlinear
        nontrivial
        not entirely unlike X
        not ready for prime time
        notwork
        NP-
        NSA line eater
        NSP
        nude
        nugry
        nuke
        number-crunching
        numbers
        NUXI problem
        nybble
        nyetwork

   O

        Ob-
        Obfuscated C Contest
        obi-wan error
        Objectionable-C
        obscure
        octal forty
        off the trolley
        off-by-one error
        offline
        ogg
        -oid
        old fart
        Old Testament
        on the gripping hand
        one-banana problem
        one-line fix
        one-liner wars
        ooblick
        OP
        op
        open
        open source
        open switch
        operating system
        operator headspace
        optical diff
        optical grep
        optimism
        Oracle, the
        Orange Book
        oriental food
        orphan
        orphaned i-node
        orthogonal
        OS
        OS/2
        OSS
        OT
        OTOH
        out-of-band
        overclock
        overflow bit
        overrun
        overrun screw
        owned

   P

        P.O.D.
        packet over air
        padded cell
        page in
        page out
        pain in the net
        paper-net
        param
        PARC
        parent message
        parity errors
        Parkinson's Law of Data
        parm
        parse
        Pascal
        PascalCasing
        pastie
        patch
        patch pumpkin
        patch space
        path
        pathological
        payware
        PBD
        PD
        PDP-10
        PDP-11
        PDP-20
        PEBKAC
        peek
        pencil and paper
        Pentagram Pro
        Pentium
        peon
        percent-S
        perf
        perfect programmer syndrome
        Perl
        person of no account
        pessimal
        pessimizing compiler
        peta-
        pffft
        PFY
        phage
        phase
        phase of the moon
        phase-wrapping
        PHB
        phreaker
        phreaking
        pico-
        pig-tail
        pilot error
        ping
        Ping O' Death
        ping storm
        pink contract
        pink wire
        pipe
        pistol
        pixel sort
        pizza box
        plaid screen
        plain-ASCII
        Plan 9
        plan file
        platinum-iridium
        playpen
        playte
        plokta
        plonk
        plug-and-pray
        plugh
        plumbing
        PM
        point release
        point-and-drool interface
        pointy hat
        pointy-haired
        poke
        poll
        polygon pusher
        POM
        ponytail
        pop
        poser
        post
        postcardware
        Postel's Prescription
        posting
        postmaster
        PostScript
        pound on
        power cycle
        power hit
        pr0n
        precedence lossage
        pred
        prepend
        prestidigitization
        pretty pictures
        prettyprint
        pretzel key
        priesthood
        prime time
        print
        printing discussion
        priority interrupt
        profile
        progasm
        proggy
        proglet
        program
        Programmer's Cheer
        programming
        programming fluid
        propeller head
        propeller key
        proprietary
        protocol
        provocative maintenance
        prowler
        pseudo
        pseudoprime
        pseudosuit
        psychedelicware
        psyton
        pubic directory
        puff
        pumpkin holder
        pumpking
        punched card
        punt
        Purple Book
        purple wire
        push
        Python

   Q

        quad
        quadruple bucky
        quantifiers
        quantum bogodynamics
        quarter
        ques
        quick-and-dirty
        quine
        Quirk objection
        quote chapter and verse
        quotient
        quux
        qux
        QWERTY

   R

        rabbit job
        rain dance
        rainbow series
        random
        Random Number God
        random numbers
        randomness
        rape
        rare mode
        raster blaster
        raster burn
        rasterbation
        rat belt
        rat dance
        rathole
        ratio site
        rave
        rave on!
        ravs
        raw mode
        RBL
        rc file
        RE
        read-only user
        README file
        real
        real estate
        real hack
        real operating system
        Real Programmer
        Real Soon Now
        real time
        real user
        Real World
        reality check
        reality-distortion field
        reaper
        recompile the world
        rectangle slinger
        recursion
        recursive acronym
        red wire
        regexp
        register dancing
        rehi
        reincarnation, cycle of
        reinvent the wheel
        relay rape
        religion of CHI
        religious issues
        replicator
        reply
        restriction
        retcon
        RETI
        retrocomputing
        return from the dead
        RFC
        RFE
        Right Thing
        rip
        ripoff
        RL
        roach
        robocanceller
        robot
        robust
        rococo
        rogue
        room-temperature IQ
        root
        root mode
        rootkit
        rot13
        rotary debugger
        RSN
        RTBM
        RTFAQ
        RTFB
        RTFM
        RTFS
        RTI
        RTM
        RTS
        rubber-hose cryptanalysis
        rude
        runes
        runic
        rusty iron
        rusty wire

   S

        S/N ratio
        sacred
        saga
        sagan
        SAIL
        salescritter
        salt
        salt mines
        salt substrate
        same-day service
        samizdat
        samurai
        sandbender
        sandbox
        sanity check
        Saturday-night special
        say
        scag
        scanno
        scary devil monastery
        schroedinbug
        science-fiction fandom
        SCNR
        scram switch
        scratch
        scratch monkey
        scream and die
        screaming tty
        screen
        screen name
        screen scraping
        screw
        screwage
        scribble
        script kiddies
        scrog
        scrool
        scrozzle
        scruffies
        SCSI
        SCSI voodoo
        search-and-destroy mode
        second-system effect
        secondary damage
        security through obscurity
        SED
        See figure 1
        segfault
        seggie
        segment
        segmentation fault
        segv
        self-reference
        selvage
        semi
        semi-automated
        semi-infinite
        senior bit
        September that never ended
        server
        SEX
        sex changer
        shambolic link
        shar file
        sharchive
        Share and enjoy!
        shareware
        sharing violation
        shebang
        shelfware
        shell
        shell out
        shift left (or right) logical
        shim
        shitogram
        shotgun debugging
        shovelware
        showstopper
        shriek
        Shub-Internet
        SIG
        sig block
        sig quote
        sig virus
        sigmonster
        signal-to-noise ratio
        silicon
        silly walk
        silo
        since time T equals minus infinity
        sitename
        skrog
        skulker
        slab
        slack
        slash
        slashdot effect
        sleep
        slim
        slop
        slopsucker
        Slowlaris
        slurp
        slurp the robot
        smart
        smart terminal
        smash case
        smash the stack
        smiley
        smoke
        smoke and mirrors
        smoke test
        smoking clover
        smoot
        SMOP
        smurf
        SNAFU principle
        snail
        snail-mail
        snap
        snarf
        snarf & barf
        snarf down
        snark
        sneaker
        sneakernet
        sniff
        snippage
        SO
        social engineering
        social science number
        sock puppet
        sodium substrate
        soft boot
        softcopy
        software bloat
        software hoarding
        software laser
        software rot
        softwarily
        softy
        some random X
        sorcerer's apprentice mode
        source
        source of all good bits
        space-cadet keyboard
        spaceship operator
        SPACEWAR
        spaghetti code
        spaghetti inheritance
        spam
        spam bait
        spamblock
        spamhaus
        spamvertize
        spangle
        spawn
        special-case
        speed of light
        speedometer
        spell
        spelling flame
        spider
        spider food
        spiffy
        spike
        spin
        Spinning Pizza of Death
        spl
        splash screen
        splat
        splat out
        splork!
        spod
        spoiler
        spoiler space
        sponge
        spoof
        spool
        spool file
        sporgery
        sport death
        spungle
        spyware
        squirrelcide
        stack
        stack puke
        stale pointer bug
        Stanford Bunny
        star out
        state
        stealth manager
        steam-powered
        steved
        STFW
        stir-fried random
        stomp on
        Stone Age
        stone knives and bearskins
        stoppage
        store
        STR
        strided
        stroke
        strudel
        stubroutine
        studly
        studlycaps
        stunning
        stupid-sort
        Stupids
        Sturgeon's Law
        sucking mud
        sufficiently small
        suit
        suitable win
        suitably small
        Sun
        sun lounge
        sun-stools
        sunspots
        super source quench
        superloser
        superprogrammer
        superuser
        support
        surf
        Suzie COBOL
        swab
        swap
        swap space
        swapped in
        swapped out
        Swiss-Army chainsaw
        swizzle
        sync
        syntactic salt
        syntactic sugar
        sys-frog
        sysadmin
        sysape
        sysop
        system
        system mangler
        systems jock

   T

        T
        tail recursion
        talk mode
        talker system
        TAN
        tanked
        TANSTAAFL
        tape monkey
        tar and feather
        tarball
        tardegy
        taste
        tayste
        TCB
        TCP/IP
        TECO
        tee
        teergrube
        teledildonics
        ten-finger interface
        tense
        tentacle
        tenured graduate student
        tera-
        teraflop club
        terminak
        terminal brain death
        terminal illness
        terminal junkie
        test
        TeX
        text
        thanks in advance
        That's not a bug, that's a feature!
        the literature
        the network
        the X that can be Y is not the true X
        theology
        theory
        thinko
        This can't happen
        This time, for sure!
        thrash
        thread
        three-finger salute
        throwaway account
        thud
        thumb
        thundering herd problem
        thunk
        tick
        tick-list features
        tickle a bug
        tiger team
        time bomb
        time sink
        time T
        times-or-divided-by
        timesharing
        TINC
        Tinkerbell program
        TINLC
        tip of the ice-cube
        tired iron
        tits on a keyboard
        TLA
        TMRC
        TMRCie
        TMTOWTDI
        to a first approximation
        to a zeroth approximation
        toad
        toast
        toaster
        toeprint
        TOFU
        toggle
        tool
        toolchain
        toolsmith
        toor
        top-post
        topic drift
        topic group
        TOPS-10
        TOPS-20
        TOS
        tourist
        tourist information
        touristic
        toy
        toy language
        toy problem
        toy program
        trampoline
        trap
        trap door
        trash
        trawl
        tree-killer
        treeware
        trit
        trivial
        troff
        troglodyte
        troglodyte mode
        Trojan horse
        troll
        Troll-O-Meter
        tron
        troughie
        true-hacker
        tty
        tube
        tube time
        tumbler
        tunafish
        tune
        turbo nerd
        Turing tar-pit
        turist
        Tux
        tweak
        TWENEX
        twiddle
        twilight zone
        twink
        twirling baton
        two pi
        two-to-the-N
        tyop

   U

        u-
        UBD
        UBE
        ubergeek
        UCE
        UDP
        UN*X
        undefined external reference
        under the hood
        undocumented feature
        uninteresting
        Unix
        Unix brain damage
        Unix conspiracy
        Unix weenie
        unixism
        unswizzle
        unwind the stack
        unwind-protect
        up
        upload
        upstream
        upthread
        uptime
        urchin
        URL
        Usenet
        Usenet Death Penalty
        user
        user-friendly
        user-obsequious
        userland
        Utah teapot, the
        UTSL
        UUOC

   V

        V7
        vadding
        vanilla
        vanity domain
        vannevar
        vaporware
        var
        vaston
        VAX
        VAXen
        vaxocentrism
        vdiff
        veeblefester
        velveeta
        Venus flytrap
        verbage
        verbiage
        Version 7
        vgrep
        vi
        video toaster
        videotex
        virgin
        virtual
        virtual beer
        virtual Friday
        virtual reality
        virtual shredder
        virus
        visionary
        Visual Fred
        VMS
        voice
        voice-net
        voodoo programming
        VR
        Vulcan nerve pinch
        vulture capitalist

   W

        w00t
        wabbit
        WAITS
        waldo
        walk
        walk off the end of
        walking drives
        wall
        wall follower
        wall time
        wall wart
        wallhack
        wango
        wank
        wannabee
        war dialer
        war-driving
        war-chalking
        -ware
        warez
        warez d00dz
        warez kiddies
        warlording
        warm boot
        wart
        washing machine
        washing software
        water MIPS
        wave a dead chicken
        weasel
        web pointer
        web ring
        web toaster
        webify
        webmaster
        wedged
        wedgie
        wedgitude
        weeble
        weeds
        weenie
        Weenix
        well-behaved
        well-connected
        wetware
        whack
        whack-a-mole
        whacker
        whales
        What's a spline?
        wheel
        wheel bit
        wheel of reincarnation
        wheel wars
        white hat
        whitelist
        whizzy
        Whorfian mind-lock
        wibble
        WIBNI
        widget
        wiggles
        wild side
        WIMP environment
        win
        win big
        win win
        Winchester
        windoid
        window shopping
        Windowsitis
        Windoze
        winged comments
        winkey
        winnage
        winner
        winnitude
        Wintel
        Wintendo
        wired
        wirehead
        wirewater
        wish list
        within delta of
        within epsilon of
        wizard
        Wizard Book
        wizard hat
        wizard mode
        wizardly
        wok-on-the-wall
        womb box
        WOMBAT
        womble
        wonky
        workaround
        working as designed
        worm
        wormhole
        wound around the axle
        wrap around
        write-only code
        write-only language
        write-only memory
        Wrong Thing
        wugga wugga
        wumpus
        WYSIAYG
        WYSIWYG

   X

        X
        XEROX PARC
        XOFF
        XON
        xor
        xref
        XXX
        xyzzy

   Y

        YA-
        YABA
        YAFIYGI
        yak shaving
        YAUN
        yellow card
        yellow wire
        Yet Another
        YHBT
        YKYBHTLW
        YMMV
        You are not expected to understand this
        You know you've been hacking too long when
        Your mileage may vary
        Yow!
        yoyo mode
        Yu-Shiang Whole Fish

   Z

        zap
        zapped
        Zawinski's Law
        zbeba
        zen
        zero
        zero-content
        Zero-One-Infinity Rule
        zeroth
        zigamorph
        zip
        zipperhead
        zombie
        zorch
        Zork
        zorkmid

0

   (TM)
   /dev/null
   /me
   0
   1TBS
   2
   404
   404 compliant
   @-party

:(TM): //

   [Usenet]  ASCII  rendition  of  the (TM) appended to phrases that the
   author  feels  should  be  recorded  for posterity, perhaps in future
   editions  of  this  lexicon.  Sometimes  used ironically as a form of
   protest  against  the  recent spate of software and algorithm patents
   and look and feel lawsuits. See also {UN*X}.

:/dev/null: /dev·nuhl/, n.

   [from  the  Unix  null device, used as a data sink] A notional `black
   hole' in any information space being discussed, used, or referred to.
   A   controversial   posting,   for   example,  might  end  "Kudos  to
   rasputin@kremlin.org, flames to /dev/null". See {bit bucket}.

:/me: //

   [IRC;  common]  Under most IRC, /me is the "pose" command; if you are
   logged  on  as  Foonly  and  type  "/me  laughs", others watching the
   channel  will  see "* Joe Foonly laughs". This usage has been carried
   over  to  mail  and news, where the reader is expected to perform the
   same expansion in his or her head.

:0:

   Numeric  zero,  as  opposed to the letter `O' (the 15th letter of the
   English  alphabet).  In their unmodified forms they look a lot alike,
   and  various  kluges  invented  to  make  them visually distinct have
   compounded  the confusion. If your zero is center-dotted and letter-O
   is  not,  or if letter-O looks almost rectangular but zero looks more
   like  an  American  football  stood  on  end (or the reverse), you're
   probably  looking  at  a  modern character display (though the dotted
   zero  seems to have originated as an option on IBM 3270 controllers).
   If  your zero is slashed but letter-O is not, you're probably looking
   at  an  old-style  ASCII  graphic  set  descended  from  the  default
   typewheel on the venerable ASR-33 Teletype (Scandinavians, for whom Ø
   is  a  letter,  curse  this arrangement). (Interestingly, the slashed
   zero  long  predates computers; Florian Cajori's monumental A History
   of  Mathematical  Notations notes that it was used in the twelfth and
   thirteenth centuries.) If letter-O has a slash across it and the zero
   does not, your display is tuned for a very old convention used at IBM
   and  a  few  other  early  mainframe makers (Scandinavians curse this
   arrangement  even  more,  because  it  means  two  of  their  letters
   collide).  Some  Burroughs/Unisys  equipment  displays  a zero with a
   reversed  slash.  Old  CDC computers rendered letter O as an unbroken
   oval  and  0 as an oval broken at upper right and lower left. And yet
   another   convention   common   on  early  line  printers  left  zero
   unornamented  but  added  a  tail  or hook to the letter-O so that it
   resembled  an  inverted  Q  or  cursive  capital  letter-O  (this was
   endorsed  by  a draft ANSI standard for how to draw ASCII characters,
   but  the  final  standard changed the distinguisher to a tick-mark in
   the upper-left corner). Are we sufficiently confused yet?

:1TBS: //, n.

   The "One True Brace Style"; see {indent style}.

:2: infix.

   In  translation software written by hackers, infix 2 often represents
   the  syllable  to  with  the connotation `translate to': as in dvi2ps
   (DVI  to  PostScript),  int2string (integer to string), and texi2roff
   (Texinfo to [nt]roff). Several versions of a joke have floated around
   the  internet  in  which  some  idiot programmer fixes the Y2K bug by
   changing  all  the  Y's in something to K's, as in Januark, Februark,
   etc.

:404: //, n.

   [from  the  HTTP error "file not found on server"] Extended to humans
   to  convey  that  the  subject has no idea or no clue -- sapience not
   found. May be used reflexively; "Uh, I'm 404ing" means "I'm drawing a
   blank".

:404 compliant: adj.

   The status of a website which has been completely removed, usually by
   the  administrators  of  the hosting site as a result of net abuse by
   the website operators. The term is a tongue-in-cheek reference to the
   standard  "301 compliant" Murkowski Bill disclaimer used by spammers.
   See also: {spam}, {spamvertize}.

:@-party: /at´par`tee/, n.

   [from  the  @-sign  in  an  Internet  address]  (alt.: `@-sign party'
   /at´si:n  par`tee/)  A  semi-closed  party  thrown  for  hackers at a
   science-fiction  convention  (esp.  the  annual World Science Fiction
   Convention  or  "Worldcon"); one must have a {network address} to get
   in,  or at least be in company with someone who does. One of the most
   reliable  opportunities  for hackers to meet face to face with people
   who  might  otherwise  be  represented by mere phosphor dots on their
   screens. Compare {boink}.

   The  first recorded @-party was held at the Westercon (a U.S. western
   regional  SF convention) over the July 4th weekend in 1980. It is not
   clear  exactly  when  the  canonical  @-party  venue  shifted  to the
   Worldcon  but it had certainly become established by Constellation in
   1983.  Sadly,  the  @-party tradition has been in decline since about
   1996,  mainly  because  having an @-address no longer functions as an
   effective lodge pin.

   We  are informed, however, that rec.skydiving members have maintained
   a tradition of formation jumps in the shape of an @.

A

   abbrev
   ABEND
   accumulator
   ACK
   Acme
   ad-hockery
   address harvester
   adger
   admin
   ADVENT
   adware
   AFAIK
   AFJ
   AFK
   AI
   AI-complete
   airplane rule
   Alderson loop
   aliasing bug
   Alice and Bob
   All hardware sucks, all software sucks.
   all your base are belong to us
   alpha geek
   alpha particles
   alt
   alt bit
   Aluminum Book
   ambimouseterous
   Amiga
   Amiga Persecution Complex
   amp off
   amper
   and there was much rejoicing
   Angband
   angle brackets
   angry fruit salad
   annoybot
   annoyware
   ANSI standard
   ANSI standard pizza
   anti-idiotarianism
   AOL!
   app
   Archimedes
   arena
   arg
   ARMM
   armor-plated
   asbestos
   asbestos cork award
   asbestos longjohns
   ASCII
   ASCII art
   ASCIIbetical order
   astroturfing
   atomic
   attoparsec
   Aunt Tillie
   AUP
   autobogotiphobia
   autoconfiscate
   automagically
   avatar
   awk

:abbrev: /@·breev´/, /@·brev´/, n.

   Common abbreviation for `abbreviation'.

:ABEND: /a´bend/, /@·bend´/, n.

   [ABnormal END]

   1.  Abnormal  termination  (of software); {crash}; {lossage}. Derives
   from  an  error  message on the IBM 360; used jokingly by hackers but
   seriously  mainly  by  {code  grinder}s. Usually capitalized, but may
   appear  as  `abend'.  Hackers  will try to persuade you that ABEND is
   called  abend  because  it is what system operators do to the machine
   late on Friday when they want to call it a day, and hence is from the
   German Abend = `Evening'.

   2.  [alt.callahans] Absent By Enforced Net Deprivation -- used in the
   subject  lines  of  postings  warning  friends of an imminent loss of
   Internet  access.  (This can be because of computer downtime, loss of
   provider,  moving  or illness.) Variants of this also appear: ABVND =
   `Absent  By  Voluntary  Net  Deprivation'  and  ABSEND  =  `Absent By
   Self-Enforced Net Deprivation' have been sighted.

:accumulator: n. obs.

   1.  Archaic  term  for a register. On-line use of it as a synonym for
   register  is  a  fairly  reliable  indication  that the user has been
   around   for  quite  a  while  and/or  that  the  architecture  under
   discussion  is  quite  old.  The term in full is almost never used of
   microprocessor  registers,  for  example,  though  symbolic names for
   arithmetic  registers  beginning in `A' derive from historical use of
   the   term   accumulator  (and  not,  actually,  from  `arithmetic').
   Confusingly,  though,  an `A' register name prefix may also stand for
   address, as for example on the Motorola 680x0 family.

   2.  A  register  being  used  for  arithmetic or logic (as opposed to
   addressing  or a loop index), especially one being used to accumulate
   a  sum or count of many items. This use is in context of a particular
   routine  or  stretch  of  code.  "The  FOOBAZ  routine  uses A3 as an
   accumulator."

   3.  One's  in-basket  (esp.  among old-timers who might use sense 1).
   "You  want this reviewed? Sure, just put it in the accumulator." (See
   {stack}.)

:ACK: /ak/, interj.

   1. [common; from the ASCII mnemonic for 0000110] Acknowledge. Used to
   register  one's  presence  (compare  mainstream  Yo!). An appropriate
   response to {ping} or {ENQ}.

   2.  [from  the  comic strip Bloom County] An exclamation of surprised
   disgust,  esp. in "Ack pffft!" Semi-humorous. Generally this sense is
   not  spelled  in  caps  (ACK)  and  is  distinguished  by a following
   exclamation point.

   3.  Used  to  politely  interrupt someone to tell them you understand
   their  point  (see  {NAK}).  Thus,  for example, you might cut off an
   overly long explanation with "Ack. Ack. Ack. I get it now".

   4. An affirmative. "Think we ought to ditch that damn NT server for a
   Linux box?" "ACK!"

   There is also a usage "ACK?" (from sense 1) meaning "Are you there?",
   often  used  in  email  when  earlier  mail has produced no reply, or
   during  a lull in {talk mode} to see if the person has gone away (the
   standard humorous response is of course {NAK}, i.e., "I'm not here").

:Acme: n.

   [from  Greek  akme  highest  point  of perfection or achievement] The
   canonical supplier of bizarre, elaborate, and non-functional gadgetry
   --  where  Rube  Goldberg  and  Heath  Robinson  (two cartoonists who
   specialized  in  elaborate  contraptions)  shop.  The  name  has been
   humorously expanded as A (or American) Company Making Everything. (In
   fact,  Acme  was a real brand sold from Sears Roebuck catalogs in the
   early  1900s.) Describing some X as an "Acme X" either means "This is
   {insanely  great}",  or, more likely, "This looks {insanely great} on
   paper, but in practice it's really easy to shoot yourself in the foot
   with it." Compare {pistol}.

   This term, specially cherished by American hackers and explained here
   for  the  benefit  of  our  overseas  brethren, comes from the Warner
   Brothers'  series  of  "Road-runner" cartoons. In these cartoons, the
   famished  Wile  E.  Coyote  was  forever attempting to catch up with,
   trap,  and  eat the Road-runner. His attempts usually involved one or
   more  high-technology  Rube  Goldberg  devices  --  rocket  jetpacks,
   catapults,  magnetic  traps, high-powered slingshots, etc. These were
   usually delivered in large wooden crates labeled prominently with the
   Acme  name  -- which, probably not by coincidence, was the trade name
   of  a  peg  bar  system  for  superimposing  animation  cels  used by
   cartoonists  since  forever. Acme devices invariably malfunctioned in
   improbable and violent ways.

:ad-hockery: /ad·hok'@r·ee/, n.

   [Purdue]

   1.  Gratuitous  assumptions made inside certain programs, esp. expert
   systems,  which  lead  to the appearance of semi-intelligent behavior
   but  are  in  fact entirely arbitrary. For example, fuzzy-matching of
   input  tokens  that might be typing errors against a symbol table can
   make it look as though a program knows how to spell.

   2.  Special-case  code  to  cope  with  some awkward input that would
   otherwise  cause  a  program  to {choke}, presuming normal inputs are
   dealt with in some cleaner and more regular way.

   Also  called ad-hackery, ad-hocity (/ad-hos'@-tee/), ad-crockery. See
   also {ELIZA effect}.

   [73-10-31.png]

   This is {ad-hockery} in action.

   (The  next cartoon in the Crunchly saga is 74-08-18. The previous one
   is 73-07-29.)

:address harvester: n.

   A  robot  that  searches  web  pages  and/or  filters netnews traffic
   looking  for  valid  email  addresses.  Some  address  harvesters are
   benign,   used   only   for   compiling  address  directories.  Most,
   unfortunately,  are  run  by  miscreants  compiling  address lists to
   {spam}. Address harvesters can be foiled by a {teergrube}.

:adger: /aj´r/, vt.

   [UCLA  mutant  of  {nadger},  poss.  also  from the middle name of an
   infamous  {tenured  graduate  student}]  To make a bonehead move with
   consequences  that  could  have been foreseen with even slight mental
   effort.  E.g.,  "He  started  removing files and promptly adgered the
   whole project". Compare {dumbass attack}.

:admin: /ad·min´/, n.

   Short for `administrator'; very commonly used in speech or on-line to
   refer  to  the  systems  person  in  charge  on  a  computer.  Common
   constructions  on  this  include sysadmin and site admin (emphasizing
   the  administrator's  role  as  a site contact for email and news) or
   newsadmin  (focusing  specifically  on  news).  Compare {postmaster},
   {sysop}, {system mangler}.

:ADVENT: /ad´vent/, n.

   The  prototypical  computer  adventure  game,  first designed by Will
   Crowther   on  the  {PDP-10}  in  the  mid-1970s  as  an  attempt  at
   computer-refereed fantasy gaming, and expanded into a puzzle-oriented
   game  by  Don  Woods  at Stanford in 1976. (Woods had been one of the
   authors  of  {INTERCAL}.)  Now  better known as Adventure or Colossal
   Cave  Adventure,  but  the  {TOPS-10} operating system permitted only
   six-letter  filenames  in  uppercase. See also {vadding}, {Zork}, and
   {Infocom}.

   Figure 1. Screen shot of the original ADVENT game
Orange River Chamber
You are in a splendid chamber thirty feet high. The walls are frozen rivers of
orange stone. An awkward canyon and a good passage exit from east and west
sidesof the chamber.

A cheerful little bird is sitting here singing.

>drop rod
Dropped.

>take bird
You catch the bird in the wicker cage.

>take rod
Taken.

>w
At Top of Small Pit
At your feet is a small pit breathing traces of white mist. A west passage end
s
here except for a small crack leading on.

Rough stone steps lead down the pit.

>down

In Hall of Mists
You are at one end of a vast hall stretching forward out of sight to the west.
There are openings to either side. Nearby, a wide stone staircase leads
downward. The hall is filled with wisps of white mist swaying to and fro almos
t
as if alive. A cold wind blows up the staircase. There is a passage at the top
of a dome behind you.

Rough stone steps lead up the dome.

   This  game  defined the terse, dryly humorous style since expected in
   text  adventure  games,  and  popularized several tag lines that have
   become  fixtures of hacker-speak: "A huge green fierce snake bars the
   way!"  "I  see  no  X  here" (for some noun X). "You are in a maze of
   twisty  little  passages,  all  alike."  "You are in a little maze of
   twisty  passages,  all  different."  The  `magic  words'  {xyzzy} and
   {plugh} also derive from this game.

   Crowther,  by the way, participated in the exploration of the Mammoth
   &  Flint  Ridge  cave  system;  it actually has a Colossal Cave and a
   Bedquilt  as  in  the  game, and the Y2 that also turns up is cavers'
   jargon for a map reference to a secondary entrance.

   ADVENT sources are available for FTP at
   ftp://ftp.wustl.edu/doc/misc/if-archive/games/source/advent.tar.Z.
   You  can  also  play  it  as  a  Java applet. There is a good page of
   resources at the Colossal Cave Adventure Page.

:adware: n.

   Software which is free to download and use but includes pop-up banner
   ads somewhere. See also {-ware}.

:AFAIK: //, n.

   [Usenet;  common]  Abbrev. for "As Far As I Know". There is a variant
   AFAICT  "As  Far As I Can Tell"; where AFAIK suggests that the writer
   knows  his  knowledge  is  limited, AFAICT suggests that he feels his
   knowledge  is  as  complete  as  anybody  else's  but  that  the best
   available knowledge does not support firm conclusions.

:AFJ: //, n.

   Written-only  abbreviation  for  "April Fool's Joke". Elaborate April
   Fool's   hoaxes  are  a  long-established  tradition  on  Usenet  and
   Internet;  see {kremvax} for an example. In fact, April Fool's Day is
   the   only   seasonal   holiday   consistently  marked  by  customary
   observances on Internet and other hacker networks.

:AFK:

   [MUD]  Abbrev.  for  "Away From Keyboard". Used to notify others that
   you  will  be  momentarily unavailable online. eg. "Let's not go kill
   that  frost  giant yet, I need to go AFK to make a phone call". Often
   MUDs  will  have  a command to politely inform others of your absence
   when  they  try to talk with you. The term is not restricted to MUDs,
   however,  and  has become common in many chat situations, from IRC to
   Unix talk.

:AI: /A·I/, n.

   Abbreviation  for  `Artificial Intelligence', so common that the full
   form is almost never written or spoken among hackers.

:AI-complete: /A·I k@m·pleet'/, adj.

   [MIT,  Stanford:  by  analogy  with  NP-complete (see {NP-})] Used to
   describe problems or subproblems in AI, to indicate that the solution
   presupposes  a  solution  to  the  `strong  AI problem' (that is, the
   synthesis   of   a  human-level  intelligence).  A  problem  that  is
   AI-complete is, in other words, just too hard.

   Examples of AI-complete problems are `The Vision Problem' (building a
   system  that  can  see  as well as a human) and `The Natural Language
   Problem'  (building  a system that can understand and speak a natural
   language as well as a human). These may appear to be modular, but all
   attempts  so far (2003) to solve them have foundered on the amount of
   context information and `intelligence' they seem to require. See also
   {gedanken}.

:airplane rule: n.

   "Complexity  increases  the  possibility  of  failure;  a twin-engine
   airplane  has  twice  as  many  engine  problems  as  a single-engine
   airplane."  By  analogy,  in  both software and electronics, the rule
   that  simplicity  increases  robustness. It is correspondingly argued
   that  the right way to build reliable systems is to put all your eggs
   in  one  basket,  after  making  sure that you've built a really good
   basket. See also {KISS Principle}, {elegant}.

:Alderson loop: n.

   [Intel]  A  special  version  of an {infinite loop} where there is an
   exit   condition   available,   but   inaccessible   in  the  current
   implementation of the code. Typically this is created while debugging
   user  interface  code.  An  example  would  be  when  there is a menu
   stating,  "Select  1-3  or  9  to  quit"  and 9 is not allowed by the
   function that takes the selection from the user.

   This  term  received its name from a programmer who had coded a modal
   message  box  in  MSAccess  with  no  Ok  or  Cancel buttons, thereby
   disabling  the  entire  program whenever the box came up. The message
   box  had  the  proper  code for dismissal and even was set up so that
   when  the non-existent Ok button was pressed the proper code would be
   called.

:aliasing bug: n.

   A class of subtle programming errors that can arise in code that does
   dynamic  allocation,  esp.  via  malloc(3)  or equivalent. If several
   pointers  address  (are  aliases for) a given hunk of storage, it may
   happen  that  the  storage  is  freed or reallocated (and thus moved)
   through one alias and then referenced through another, which may lead
   to  subtle (and possibly intermittent) lossage depending on the state
   and the allocation history of the malloc {arena}. Avoidable by use of
   allocation  strategies  that never alias allocated core, or by use of
   higher-level  languages,  such  as  {LISP},  which  employ  a garbage
   collector  (see  {GC}).  Also  called a {stale pointer bug}. See also
   {precedence  lossage}, {smash the stack}, {fandango on core}, {memory
   leak}, {memory smash}, {overrun screw}, {spam}.

   Historical  note:  Though  this  term  is  nowadays associated with C
   programming,  it  was  already  in use in a very similar sense in the
   Algol-60 and FORTRAN communities in the 1960s.

:Alice and Bob: n.

   The  archetypal  individuals  used  as  examples  in  discussions  of
   cryptographic  protocols.  Originally,  theorists would say something
   like: "A communicates with someone who claims to be B, So to be sure,
   A  tests  that  B  knows  a secret number K. So A sends to B a random
   number X. B then forms Y by encrypting X under key K and sends Y back
   to  A"  Because this sort of thing is quite hard to follow, theorists
   stopped  using  the  unadorned  letters A and B to represent the main
   players  and started calling them Alice and Bob. So now we say "Alice
   communicates  with  someone claiming to be Bob, and to be sure, Alice
   tests  that  Bob knows a secret number K. Alice sends to Bob a random
   number  X.  Bob  then forms Y by encrypting X under key K and sends Y
   back  to  Alice".  A  whole  mythology  rapidly  grew  up  around the
   metasyntactic names; see http://www.conceptlabs.co.uk/alicebob.html.

   In Bruce Schneier's definitive introductory text Applied Cryptography
   (2nd  ed., 1996, John Wiley & Sons, ISBN 0-471-11709-9) he introduced
   a  table of dramatis personae headed by Alice and Bob. Others include
   Carol  (a  participant  in  three- and four-party protocols), Dave (a
   participant  in four-party protocols), Eve (an eavesdropper), Mallory
   (a  malicious  active attacker), Trent (a trusted arbitrator), Walter
   (a warden), Peggy (a prover) and Victor (a verifier). These names for
   roles  are  either  already standard or, given the wide popularity of
   the book, may be expected to quickly become so.

:All hardware sucks, all software sucks.: prov.

   [from   {scary   devil  monastery}]  A  general  recognition  of  the
   fallibility of any computer system, ritually intoned as an attempt to
   quell  incipient  {holy wars}. It is a common response to any sort of
   {bigot}.  When  discussing  {Wintel}  systems,  however,  it is often
   snidely appended with, `but some suck more than others.'

:all your base are belong to us:

   A declaration of victory or superiority. The phrase stems from a 1991
   adaptation  of Toaplan's "Zero Wing" shoot-'em-up arcade game for the
   Sega  Genesis  game  console.  A  brief introduction was added to the
   opening  screen,  and  it  has  what  many  consider  to be the worst
   Japanese-to-English   translation   in   video   game   history.  The
   introduction  shows  the bridge of a starship in chaos as a Borg-like
   figure named CATS materializes and says, "How are you gentlemen!! All
   your   base   are   belong  to  us."  [sic]  In  2001,  this  amusing
   mistranslation  spread virally through the Internet, bringing with it
   a  slew  of  JPEGs  and a movie of hacked photographs, each showing a
   street  sign,  store  front,  package label, etc. hacked to read "All
   your  base are belong to us" or one of the other many supremely dopey
   lines from the game (such as "Somebody set up usthe bomb!!!" or "What
   happen?").  When  these phrases are used properly, the overall effect
   is both screamingly funny and somewhat chilling, reminiscent of the B
   movie "They Live".

   The  original  has been generalized to "All your X are belong to us",
   where  X  is  filled  in to connote a sinister takeover of some sort.
   Thus, "When Joe signed up for his new job at Yoyodyne, he had to sign
   a  draconian NDA. It basically said: All your code are belong to us."
   Has  many  of  the connotations of "Resistance is futile; you will be
   assimilated"  (see  {Borg}).  Considered silly, and most likely to be
   used by the type of person that finds {Jeff K.} hilarious.

:alpha geek: n.

   [from   animal   ethologists'   alpha   male]  The  most  technically
   accomplished  or skillful person in some implied context. "Ask Larry,
   he's the alpha geek here."

:alpha particles: n.

   See {bit rot}.

:alt: /awlt/

   1.  n. The alt shift key on an IBM PC or {clone} keyboard; see {bucky
   bits},  sense 2 (though typical PC usage does not simply set the 0200
   bit).

   2. n. The option key on a Macintosh; use of this term usually reveals
   that  the  speaker  hacked  PCs  before  coming  to the Mac (see also
   {feature key}, which is sometimes incorrectly called `alt').

   3.  The  alt  hierarchy  on Usenet, the tree of newsgroups created by
   users  without a formal vote and approval procedure. There is a myth,
   not  entirely  implausible,  that  alt  is acronymic for "anarchists,
   lunatics,  and  terrorists";  but  in  fact  it  is  simply short for
   "alternative".

   4.  n.,obs.  Rare  alternate  name for the ASCII ESC character (ASCII
   0011011).  This  use,  derives, with the alt key itself, from archaic
   PDP-10 operating systems, especially {ITS}.

:alt bit: /awlt bit/, adj.

   See {meta bit}.

:Aluminum Book: n.

   [MIT] Common LISP: The Language, by Guy L. Steele Jr. (Digital Press,
   first  edition  1984,  second  edition  1990).  Note  that  due  to a
   technical  screwup  some printings of the second edition are actually
   of a color the author describes succinctly as "yucky green". See also
   {book titles}.

:ambimouseterous: /am·b@·mows´ter·us/, /am·b@·mows´trus/, adj

   [modeled on ambidextrous] Able to use a mouse with either hand.

:Amiga: n

   A  series  of  personal computer models originally sold by Commodore,
   based  on  680x0  processors,  custom  support chips and an operating
   system  that combined some of the best features of Macintosh and Unix
   with compatibility with neither.

   The   Amiga  was  released  just  as  the  personal  computing  world
   standardized on IBM-PC clones. This prevented it from gaining serious
   market   share,  despite  the  fact  that  the  first  Amigas  had  a
   substantial  technological  lead on the IBM XTs of the time. Instead,
   it  acquired  a  small but zealous population of enthusiastic hackers
   who  dreamt  of  one day unseating the clones (see {Amiga Persecution
   Complex}).   The   traits  of  this  culture  are  both  spoofed  and
   illuminated  in  The  BLAZE  Humor  Viewer. The strength of the Amiga
   platform  seeded  a small industry of companies building software and
   hardware   for   the  platform,  especially  in  graphics  and  video
   applications (see {video toaster}).

   Due  to  spectacular  mismanagement,  Commodore  did  hardly any R&D,
   allowing  the  competition to close Amiga's technological lead. After
   Commodore went bankrupt in 1994 the technology passed through several
   hands,  none  of  whom  did much with it. However, the Amiga is still
   being  produced  in Europe under license and has a substantial number
   of fans, which will probably extend the platform's life considerably.

:Amiga Persecution Complex: n.

   The disorder suffered by a particularly egregious variety of {bigot},
   those  who believe that the marginality of their preferred machine is
   the  result  of  some kind of industry-wide conspiracy (for without a
   conspiracy  of  some  kind,  the eminent superiority of their beloved
   shining  jewel  of  a  platform  would obviously win over all, market
   pressures be damned!) Those afflicted are prone to engaging in {flame
   war}s  and  calling  for boycotts and mailbombings. Amiga Persecution
   Complex  is by no means limited to Amiga users; NeXT, {NeWS}, {OS/2},
   Macintosh,  {LISP},  and {GNU} users are also common victims. {Linux}
   users  used  to display symptoms very frequently before Linux started
   winning;  some  still  do.  See  also {newbie}, {troll}, {holy wars},
   {weenie}, {Get a life!}.

:amp off: vt.

   [Purdue] To run in {background}. From the Unix shell `&' operator.

:amper: n.

   Common  abbreviation  for  the  name  of  the  ampersand  (`&', ASCII
   0100110) character. See {ASCII} for other synonyms.

:and there was much rejoicing:

   [from the movie Monty Python and the Holy Grail.]

   Acknowledgement  of a notable accomplishment. Something long-awaited,
   widely  desired,  possibly unexpected but secretly wished-for, with a
   suggestion  that  something  about the problem (and perhaps the steps
   necessary  to  make  it  go  away)  was  deeply  disturbing to hacker
   sensibilities.

   In  person,  the phrase is almost invariably pronounced with the same
   portentious   intonation   as  the  movie.  The  customary  in-person
   (approving)  response is a weak and halfhearted "Yaaaay...", with one
   index  finger  raised  like  a  flag and moved in a small circle. The
   reason  for this, like most of the Monty Python oeuvre, cannot easily
   be explained outside its original context.

   Example:  "changelog  entry  #436:  with  the foo driver brain damage
   taken  care  of,  finally  obsoleted BROKEN_EVIL_KLUDGE. Removed from
   source tree. (And there was much rejoicing)."

:Angband: n., /ang´band/

   Like  {nethack},  {moria},  and  {rogue},  one  of  the  large freely
   distributed Dungeons-and-Dragons-like simulation games, available for
   a  wide  range  of  machines  and operating systems. The name is from
   Tolkien's  Pits of Angband (compare {elder days}, {elvish}). Has been
   described  as "Moria on steroids"; but, unlike Moria, many aspects of
   the  game  are  customizable.  This  leads  many hackers and would-be
   hackers  into  fooling  with  these instead of doing productive work.
   There  are  many  Angband  variants,  of  which the most notorious is
   probably the rather whimsical Zangband. In this game, when a key that
   does  not  correspond  to a command is pressed, the game will display
   "Type  ? for help" 50% of the time. The other 50% of the time, random
   error  messages  including "An error has occurred because an error of
   type  42 has occurred" and "Windows 95 uninstalled successfully" will
   be  displayed.  Zangband  also  allows the player to kill Santa Claus
   (who  has  some  really  good  stuff, but also has a lot of friends),
   "Bull  Gates", and Barney the Dinosaur (but be watchful; Barney has a
   nasty  case  of halitosis). There is an official angband home page at
   http://thangorodrim.angband.org/    and    a    zangband    one    at
   http://www.zangband.org/. See also {Random Number God}.

:angle brackets: n.

   Either  of  the  characters  <  (ASCII 0111100) and > (ASCII 0111110)
   (ASCII  less-than  or  greater-than signs). Typographers in the {Real
   World}  use  angle  brackets which are either taller and slimmer (the
   ISO  lang  and  rang characters), or significantly smaller (single or
   double  guillemets)  than  the  less-than and greater-than signs. See
   {broket}, {ASCII}.

:angry fruit salad: n.

   A  bad  visual-interface design that uses too many colors. (This term
   derives,  of  course, from the bizarre day-glo colors found in canned
   fruit  salad.)  Too  often  one  sees  similar effects from interface
   designers using color window systems such as {X}; there is a tendency
   to   create  displays  that  are  flashy  and  attention-getting  but
   uncomfortable for long-term use.

:annoybot: /@·noy·bot/, n.

   [IRC] See {bot}.

:annoyware: n.

   A  type  of  {shareware}  that  frequently  disrupts  normal  program
   operation to display requests for payment to the author in return for
   the  ability  to  disable the request messages. (Also called nagware)
   The requests generally require user action to acknowledge the message
   before  normal  operation  is  resumed and are often tied to the most
   frequently  used  features  of  the  software.  See  also {careware},
   {charityware},   {crippleware},   {freeware},   {FRS},   {guiltware},
   {postcardware}, and {-ware}; compare {payware}.

:ANSI standard: /an´see stan´d@rd/

   The ANSI standard usage of ANSI standard refers to any practice which
   is typical or broadly done. It's most appropriately applied to things
   that  everyone  does that are not quite regulation. For example: ANSI
   standard  shaking of a laser printer cartridge to get extra life from
   it, or the ANSI standard word tripling in names of usenet alt groups.

   This  usage  derives  from the American National Standards Institute.
   ANSI,  along with the International Organization for Standards (ISO),
   standardized the C programming language (see {K&R}, {Classic C}), and
   promulgates many other important software standards.

:ANSI standard pizza: /an´see stan´d@rd peet´z@/

   [CMU]  Pepperoni  and  mushroom  pizza. Coined allegedly because most
   pizzas  ordered  by  CMU  hackers  during  some  period leading up to
   mid-1990  were  of  that  flavor. See also {rotary debugger}; compare
   {ISO standard cup of tea}.

:anti-idiotarianism: n.

   [very  common]  Opposition  to idiots of all political stripes. First
   coined  in  the {blog} named Little Green Footballs as part of a post
   expressing   disgust   with  inane  responses  to  post-9/11  Islamic
   terrorism.  Anti-idiotarian  wrath  has focused on Islamic terrorists
   and  their  sympathizers  in  the  Western  political  left, but also
   routinely   excoriated   right-wing  politicians  backing  repressive
   'anti-terror` legislation and Christian religious figures who (in the
   blogosphere's  view of the matter) have descended nearly to the level
   of jihad themselves.

:AOL!: n.

   [Usenet]  Common  synonym  for  "Me,  too!" alluding to the legendary
   propensity  of  America  Online users to utter contentless "Me, too!"
   postings. The number of exclamation points following varies from zero
   to five or so. The pseudo-HTML

     Me, too!

   is also frequently seen. See also {September that never ended}.

:app: /ap/, n.

   Short  for  `application  program',  as opposed to a systems program.
   Apps  are  what  systems  vendors  are  forever chasing developers to
   create  for  their  environments so they can sell more boxes. Hackers
   tend not to think of the things they themselves run as apps; thus, in
   hacker  parlance the term excludes compilers, program editors, games,
   and  messaging  systems, though a user would consider all those to be
   apps.  (Broadly,  an  app  is  often a self-contained environment for
   performing  some well-defined task such as `word processing'; hackers
   tend  to prefer more general-purpose tools.) See {killer app}; oppose
   {tool}, {operating system}.

:Archimedes:

   The  world's  first RISC microcomputer, available only in the British
   Commonwealth  and  europe.  Built  in  1987 in Great Britain by Acorn
   Computers,  it  was legendary for its use of the ARM-2 microprocessor
   as  a  CPU. Many a novice hacker in the Commonwealth first learnt his
   or  her  skills on the Archimedes, since it was specifically designed
   for use in schools and educational institutions. Owners of Archimedes
   machines  are often still treated with awe and reverence. Familiarly,
   "archi".

:arena: n.

   [common; Unix] The area of memory attached to a process by brk(2) and
   sbrk(2)  and  used  by  malloc(3) as dynamic storage. So named from a
   malloc:  corrupt  arena  message  emitted  when  some  early versions
   detected  an  impossible  value  in the free block list. See {overrun
   screw},  {aliasing  bug},  {memory  leak}, {memory smash}, {smash the
   stack}.

:arg: /arg/, n.

   Abbreviation for `argument' (to a function), used so often as to have
   become  a  new  word  (like  `piano'  from  `pianoforte').  "The sine
   function  takes 1 arg, but the arc-tangent function can take either 1
   or 2 args." Compare {param}, {parm}, {var}.

:ARMM: n.

   [acronym,   `Automated  Retroactive  Minimal  Moderation']  A  Usenet
   {cancelbot}  created  by  Dick  Depew of Munroe Falls, Ohio. ARMM was
   intended  to automatically cancel posts from anonymous-posting sites.
   Unfortunately,   the   robot's   recognizer  for  anonymous  postings
   triggered   on  its  own  automatically-generated  control  messages!
   Transformed  by  this stroke of programming ineptitude into a monster
   of  Frankensteinian proportions, it broke loose on the night of March
   30,  1993  and proceeded to {spam} news.admin.policy with a recursive
   explosion of over 200 messages.

   ARMM's  bug  produced a recursive {cascade} of messages each of which
   mechanically  added text to the ID and Subject and some other headers
   of its parent. This produced a flood of messages in which each header
   took  up  several  screens  and  each message ID and subject line got
   longer and longer and longer.

   Reactions varied from amusement to outrage. The pathological messages
   crashed  at  least  one  mail  system,  and  upset people paying line
   charges for their Usenet feeds. One poster described the ARMM debacle
   as  "instant  Usenet  history" (also establishing the term {despew}),
   and  it  has  since  been widely cited as a cautionary example of the
   havoc  the  combination of good intentions and incompetence can wreak
   on  a  network.  The  Usenet  thread on the subject is archived here.
   Compare   {Great   Worm};  {sorcerer's  apprentice  mode}.  See  also
   {software laser}, {network meltdown}.

:armor-plated: n.

   Syn. for {bulletproof}.

:asbestos: adj.

   [common]  Used as a modifier to anything intended to protect one from
   {flame}s;  also  in  other highly {flame}-suggestive usages. See, for
   example, {asbestos longjohns} and {asbestos cork award}.

:asbestos cork award: n.

   Once, long ago at MIT, there was a {flamer} so consistently obnoxious
   that  another  hacker  designed,  had  made,  and distributed posters
   announcing  that said flamer had been nominated for the asbestos cork
   award.  (Any  reader  in  doubt as to the intended application of the
   cork  should  consult the etymology under {flame}.) Since then, it is
   agreed  that  only  a select few have risen to the heights of bombast
   required to earn this dubious dignity -- but there is no agreement on
   which few.

:asbestos longjohns: n.

   Notional  garments  donned by {Usenet} posters just before emitting a
   remark  they expect will elicit {flamage}. This is the most common of
   the  {asbestos} coinages. Also asbestos underwear, asbestos overcoat,
   etc.

:ASCII: /as´kee/, n.

   [originally  an  acronym  (American  Standard  Code  for  Information
   Interchange)  but  now merely conventional] The predominant character
   set  encoding  of  present-day computers. The standard version uses 7
   bits  for each character, whereas most earlier codes (including early
   drafts  of  ASCII prior to June 1961) used fewer. This change allowed
   the inclusion of lowercase letters -- a major {win} -- but it did not
   provide  for  accented  letters  or any other letterforms not used in
   English  (such as the German sharp-S ß. or the ae-ligature æ which is
   a  letter  in, for example, Norwegian). It could be worse, though. It
   could  be  much  worse.  See {EBCDIC} to understand how. A history of
   ASCII and its ancestors is at
   http://www.wps.com/texts/codes/index.html.

   Computers  are  much  pickier  and  less flexible about spelling than
   humans;  thus,  hackers  need  to  be very precise when talking about
   characters,  and  have  developed  a  considerable  amount  of verbal
   shorthand  for  them.  Every  character has one or more names -- some
   formal,  some  concise,  some  silly.  Common  jargon names for ASCII
   characters  are  collected  here.  See  also  individual  entries for
   {bang}, {excl}, {open}, {ques}, {semi}, {shriek}, {splat}, {twiddle},
   and {Yu-Shiang Whole Fish}.

   This list derives from revision 2.3 of the Usenet ASCII pronunciation
   guide.  Single  characters are listed in ASCII order; character pairs
   are  sorted  in by first member. For each character, common names are
   given  in  rough  order  of  popularity,  followed  by names that are
   reported but rarely seen; official ANSI/CCITT names are surrounded by
   brokets:  <>.  Square  brackets  mark  the  particularly  silly names
   introduced by {INTERCAL}. The abbreviations "l/r" and "o/c" stand for
   left/right  and  "open/close"  respectively.  Ordinary parentheticals
   provide some usage information.

   ! Common: {bang} ; pling; excl; not; shriek; ball-bat; . Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey;
   wham; eureka; [spark-spot]; soldier, control.
   "  Common:  double  quote;  quote. Rare: literal mark; double-glitch;
   snakebite; ; ; dirk; [rabbit-ears]; double
   prime.
   #  Common:  number  sign;  pound; pound sign; hash; sharp; {crunch} ;
   hex;  [mesh].  Rare:  grid;  crosshatch; octothorpe; flash; ,
   pig-pen; tictactoe; scratchmark; thud; thump; {splat} .
   $  Common:  dollar; . Rare: currency symbol; buck; cash;
   bling;  string  (from  BASIC); escape (when used as the echo of ASCII
   ESC); ding; cache; [big money].
   %    Common:    percent;   ;   mod;   grapes.   Rare:
   [double-oh-seven].
   & Common: ; amp; amper; and, and sign. Rare: address (from
   C);  reference (from C++); andpersand; bitand; background (from sh(1)
   ); pretzel. [INTERCAL called this ampersand ; what could be sillier?]
   '  Common:  single  quote;  quote; . Rare: prime; glitch;
   tick;  irk;  pop;  [spark];  ; .
   (  ) Common: l/r paren; l/r parenthesis; left/right; open/close; par­
   en/thesis;  o/c  paren; o/c parenthesis; l/r parenthesis; l/r banana.
   Rare:  so/already;  lparen/rparen; ; o/c
   round  bracket,  l/r  round bracket, [wax/wane]; parenthisey/unparen­
   thisey; l/r ear.
   *  Common:  star;  [  {splat}  ];  .  Rare: wildcard; gear;
   dingle;  mult;  spider;  aster;  times;  twinkle; glob (see {glob} );
   {Nathan Hale} .
   + Common: ; add. Rare: cross; [intersection].
   , Common: . Rare: ; [tail].
   -  Common:  dash;  ;  .  Rare:  [worm];  option;  dak;
   bithorpe.
   .  Common:  dot; point; ; . Rare: radix point;
   full stop; [spot].
   /  Common:  slash;  stroke;  ;  forward slash. Rare: diagonal;
   solidus; over; slak; virgule; [slat].
: Common: . Rare: dots; [two-spot].
   ; Common: ; semi. Rare: weenie; [hybrid], pit-thwong.
   <  >  Common:  ;  bra/ket;  l/r  angle; l/r angle
   bracket;  l/r broket. Rare: from/{into, towards}; read from/write to;
   suck/blow;  comes-from/gozinta;  in/out;  crunch/zap (all from UNIX);
   tic/tac; [angle/right angle].
   = Common: ; gets; takes. Rare: quadrathorpe; [half-mesh].
   ?  Common:  query;  ;  {ques} . Rare: quiz; whatmark;
   [what]; wildchar; huh; hook; buttonhook; hunchback.
   @   Common:   at  sign;  at;  strudel.  Rare:  each;  vortex;  whorl;
   [whirlpool];  cyclone;  snail;  ape;  cat; rose; cabbage; .
   V Rare: [book].
   [  ] Common: l/r square bracket; l/r bracket; ; bracket/unbracket. Rare: square/unsquare; [U turn/U turn back].
   \  Common:  backslash,  hack,  whack;  escape  (from C/UNIX); reverse
   slash;  slosh;  backslant;  backwhack.  Rare:  bash; ;
   reversed virgule; [backslat].
   ^ Common: hat; control; uparrow; caret; . Rare: xor sign,
   chevron;  [shark  (or  shark-fin)]; to the (`to the power of'); fang;
   pointer (in Pascal).
   _  Common:  ;  underscore;  underbar;  under. Rare: score;
   backarrow; skid; [flatworm].
   `  Common:  backquote;  left  quote;  left  single quote; open quote;
   ;  grave.  Rare: backprime; [backspark]; unapostrophe;
   birk; blugle; back tick; back glitch; push; ; quasiquote.
   {  }  Common:  o/c  brace;  l/r  brace;  l/r  squiggly;  l/r squiggly
   bracket/brace;  l/r  curly  bracket/brace;  .
   Rare:  brace/unbrace;  curly/uncurly;  leftit/rytit;  l/r squirrelly;
   [embrace/bracelet]. A balanced pair of these may be called curlies .
   | Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: ; gozinta; thru; pipesinta (last three from UNIX); [spike].
   ~  Common:  ; squiggle; {twiddle} ; not. Rare: approx; wiggle;
   swung dash; enyay; [sqiggle (sic)].

   The  pronunciation  of  #  as `pound' is common in the U.S. but a bad
   idea; {Commonwealth Hackish} has its own, rather more apposite use of
   `pound  sign'  (confusingly,  on  British  keyboards the £ happens to
   replace  #; thus Britishers sometimes call # on a U.S.-ASCII keyboard
   `pound', compounding the American error). The U.S. usage derives from
   an old-fashioned commercial practice of using a # suffix to tag pound
   weights  on  bills  of  lading.  The  character is usually pronounced
   `hash'  outside the U.S. There are more culture wars over the correct
   pronunciation  of this character than any other, which has led to the
   {ha  ha  only  serious} suggestion that it be pronounced "shibboleth"
   (see Judges 12:6 in an Old Testament or Tanakh).

   The  `uparrow' name for circumflex and `leftarrow' name for underline
   are  historical  relics  from archaic ASCII (the 1963 version), which
   had  these  graphics  in  those  character  positions rather than the
   modern punctuation characters.

   The  `swung  dash' or `approximation' sign (?1) is not quite the same
   as  tilde  ~ in typeset material, but the ASCII tilde serves for both
   (compare {angle brackets}).

   Some  other  common  usages  cause  odd  overlaps. The #, $, >, and &
   characters,  for  example,  are  all  pronounced  "hex"  in different
   communities  because  various assemblers use them as a prefix tag for
   hexadecimal constants (in particular, # in many assembler-programming
   cultures,  $  in the 6502 world, > at Texas Instruments, and & on the
   BBC Micro, Sinclair, and some Z80 machines). See also {splat}.

   The inability of ASCII text to correctly represent any of the world's
   other major languages makes the designers' choice of 7 bits look more
   and  more  like  a  serious  {misfeature} as the use of international
   networks  continues  to  increase  (see {software rot}). Hardware and
   software  from  the  U.S.  still  tends to embody the assumption that
   ASCII is the universal character set and that characters have 7 bits;
   this  is  a  major irritant to people who want to use a character set
   suited  to  their own languages. Perversely, though, efforts to solve
   this  problem  by  proliferating `national' character sets produce an
   evolutionary  pressure to use a smaller subset common to all those in
   use.

:ASCII art: n.

   The  fine  art  of  drawing  diagrams  using  the ASCII character set
   (mainly |, -, /, \, and +). Also known as character graphics or ASCII
   graphics; see also {boxology}. Here is a serious example:


    o----)||(--+--|<----+   +---------o + D O
      L  )||(  |        |   |             C U
    A I  )||(  +-->|-+  |   +-\/\/-+--o -   T
    C N  )||(        |  |   |      |        P
      E  )||(  +-->|-+--)---+--|(--+-o      U
         )||(  |        |          | GND    T
    o----)||(--+--|<----+----------+

    A power supply consisting of a full wave rectifier circuit
    feeding a capacitor input filter circuit

   And here are some very silly examples:


  |\/\/\/|     ____/|              ___    |\_/|    ___
  |      |     \ o.O|   ACK!      /   \_  |` '|  _/   \
  |      |      =(_)=  THPHTH!   /      \/     \/      \
  | (o)(o)        U             /                       \
  C      _)  (__)                \/\/\/\  _____  /\/\/\/
  | ,___|    (oo)                       \/     \/
  |   /       \/-------\         U                  (__)
 /____\        ||     | \    /---V  `v'-            oo )
/      \       ||---W||  *  * |--|   || |`.         |_/\

               //-o-\\
        ____---=======---____
    ====___\   /.. ..\   /___====      Klingons rule OK!
  //        ---\__O__/---        \\
  \_\                           /_/

   There is an important subgenre of ASCII art that puns on the standard
   character names in the fashion of a rebus.

+--------------------------------------------------------+
|      ^^^^^^^^^^^^                                      |
| ^^^^^^^^^^^            ^^^^^^^^^                       |
|                 ^^^^^^^^^^^^^            ^^^^^^^^^^^^^ |
|        ^^^^^^^         B       ^^^^^^^^^               |
|  ^^^^^^^^^          ^^^            ^^^^^^^^^^^^^^      |
+--------------------------------------------------------+
             " A Bee in the Carrot Patch "

   Within  humorous  ASCII  art,  there  is  for  some  reason an entire
   flourishing  subgenre  of  pictures  of silly cows. Four of these are
   reproduced in the examples above, here are three more:


         (__)              (__)              (__)
         (\/)              ($$)              (**)
  /-------\/        /-------\/        /-------\/
 / | 666 ||        / |=====||        / |     ||
*  ||----||       *  ||----||       *  ||----||
   ~~    ~~          ~~    ~~          ~~    ~~
Satanic cow    This cow is a Yuppie   Cow in love

   Finally,  here's  a  magnificent  example  of  ASCII art depicting an
   Edwardian train station in Dunedin, New Zealand:

                                  .-.
                                 /___\
                                 |___|
                                 |]_[|
                                 / I \
                              JL/  |  \JL
   .-.                    i   ()   |   ()   i                    .-.
   |_|     .^.           /_\  LJ=======LJ  /_\           .^.     |_|
._/___\._./___\_._._._._.L_J_/.-.     .-.\_L_J._._._._._/___\._./___\._._._
       ., |-,-| .,       L_J  |_| [I] |_|  L_J       ., |-,-| .,        .,
       JL |-O-| JL       L_J%%%%%%%%%%%%%%%L_J       JL |-O-| JL        JL
IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_
-------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]-
 _/\_  ||\\_I_//||  _/\_ [_] []_/_L_J_\_[] [_] _/\_  ||\\_I_//||  _/\_  ||\
 |__|  ||=/_|_\=||  |__|_|_|   _L_L_J_J_   |_|_|__|  ||=/_|_\=||  |__|  ||-
 |__|  |||__|__|||  |__[___]__--__===__--__[___]__|  |||__|__|||  |__|  |||
IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_]
 \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_]
./   \.L_J/   \L_J./   L_JI  I[]/     \[]I  IL_J    \.L_J/   \L_J./   \.L_J
|     |L_J|   |L_J|    L_J|  |[]|     |[]|  |L_J     |L_J|   |L_J|     |L_J
|_____JL_JL___JL_JL____|-||  |[]|     |[]|  ||-|_____JL_JL___JL_JL_____JL_J

   The next step beyond static tableaux in ASCII art is ASCII animation.
   There  are not many large examples of this; perhaps the best known is
   the   ASCII   animation   of   the   original   Star  Wars  movie  at
   http://www.asciimation.co.nz/.

   There  is a newsgroup, alt.ascii-art, devoted to this genre; however,
   see also {warlording}.

:ASCIIbetical order: /as´kee·be'·t@·kl or´dr/, adj.,n.

   Used  to  indicate that data is sorted in ASCII collated order rather
   than alphabetical order. This lexicon is sorted in something close to
   ASCIIbetical  order, but with case ignored and entries beginning with
   non-alphabetic characters moved to the beginning.

:astroturfing: n.

   1.  The  use  of  paid  shills  to create the impression of a popular
   movement,  through  means  like letters to newspapers from soi-disant
   `concerned  citizens',  paid  opinion  pieces,  and  the formation of
   grass-roots  lobbying  groups  that are actually funded by a PR group
   (AstroTurf  is  fake  grass; hence the term). See also {sock puppet},
   {tentacle}.

   2. What an individual posting to a public forum under an assumed name
   is said to be doing.

   This term became common among hackers after it came to light in early
   1998  that  Microsoft  had attempted to use such tactics to forestall
   the  U.S.  Department  of  Justice's  antitrust  action  against  the
   company.  The maneuver backfired horribly, angering a number of state
   attorneys-general  enough  to  induce them to go public with plans to
   join the Federal suit. It also set anybody defending Microsoft on the
   net for the accusation "You're just astroturfing!".

:atomic: adj.

   [from Gk. atomos, indivisible]

   1.  Indivisible;  cannot be split up. For example, an instruction may
   be  said  to do several things `atomically', i.e., all the things are
   done  immediately,  and  there  is no chance of the instruction being
   half-completed  or of another being interspersed. Used esp. to convey
   that  an  operation cannot be screwed up by interrupts. "This routine
   locks the file and increments the file's semaphore atomically."

   2.  [primarily  techspeak] Guaranteed to complete successfully or not
   at  all, usu. refers to database transactions. If an error prevents a
   partially-performed  transaction  from  proceeding  to completion, it
   must  be  "backed  out",  as  the  database  must  not  be left in an
   inconsistent state.

   Computer  usage,  in  either  of  the  above  senses, has none of the
   connotations  that  `atomic'  has  in  mainstream  English  (i.e.  of
   particles of matter, nuclear explosions etc.).

:attoparsec: n.

   About  an inch. atto- is the standard SI prefix for multiplication by
   10^-18. A parsec (parallax-second) is 3.26 light-years; an attoparsec
   is  thus  3.26  ×  10^-18  light  years,  or  about  3.1  cm (thus, 1
   attoparsec/{microfortnight}  equals  about  1 inch/sec). This unit is
   reported  to  be  in  use  (though probably not very seriously) among
   hackers in the U.K. See {micro-}.

:Aunt Tillie: n.

   [linux-kernel  mailing list] The archetypal non-technical user, one's
   elderly  and  scatterbrained  maiden  aunt. Invoked in discussions of
   usability  for  people  who  are  not  hackers  and  geeks;  one sees
   references to the "Aunt Tillie test".

:AUP: /A·U·P/

   Abbreviation,  "Acceptable  Use  Policy".  The  policy of a given ISP
   which  sets  out  what the ISP considers to be (un)acceptable uses of
   its Internet resources.

:autobogotiphobia: /aw´toh·boh·got`@·foh´bee·@/

   n. See {bogotify}.

:autoconfiscate:

   To  set  up  or  modify  a  source-code  {distribution}  so  that  it
   configures     and     builds     using     the     GNU     project's
   autoconf/automake/libtools  suite.  Among open-source hackers, a mere
   running  binary of a program is not considered a full release; what's
   interesting  is  a  source tree that can be built into binaries using
   standard  tools.  Since  the mid-1990s, autoconf and friends been the
   standard  way  to adapt a distribution for portability so that it can
   be built on multiple operating systems without change.

:automagically: /aw·toh·maj´i·klee/, adv.

   Automatically,  but in a way that, for some reason (typically because
   it is too complicated, or too ugly, or perhaps even too trivial), the
   speaker  doesn't  feel  like  explaining  to  you.  See {magic}. "The
   C-INTERCAL  compiler generates C, then automagically invokes cc(1) to
   produce an executable."

   This  term is quite old, going back at least to the mid-70s in jargon
   and   probably   much  earlier.  The  word  `automagic'  occurred  in
   advertising  (for  a  shirt-ironing  gadget)  as far back as the late
   1940s.

:avatar: n.

   [in Hindu mythology, the incarnation of a god]

   1.   Among   people  working  on  virtual  reality  and  {cyberspace}
   interfaces,  an  avatar  is  an icon or representation of a user in a
   shared virtual reality. The term is sometimes used on {MUD}s.

   2.  [CMU,  Tektronix] {root}, {superuser}. There are quite a few Unix
   machines  on  which  the  name  of  the superuser account is `avatar'
   rather  than  `root'.  This  quirk was originated by a CMU hacker who
   found  the  terms  root  and  superuser  unimaginative,  and  thought
   `avatar'  might  better  impress  people with the responsibility they
   were accepting.

:awk: /awk/

   1.  n.  [Unix  techspeak]  An interpreted language for massaging text
   data  developed  by Alfred Aho, Peter Weinberger, and Brian Kernighan
   (the name derives from their initials). It is characterized by C-like
   syntax,   a   declaration-free   approach   to  variable  typing  and
   declarations, associative arrays, and field-oriented text processing.
   See also {Perl}.

   2.  n.  Editing  term for an expression awkward to manipulate through
   normal {regexp} facilities (for example, one containing a {newline}).

   3. vt. To process data using awk(1).

B

   B1FF
   B5
   back door
   backbone cabal
   backbone site
   backgammon
   background
   backreference
   backronym
   backward combatability
   BAD
   Bad and Wrong
   Bad Thing
   bag on the side
   bagbiter
   bagbiting
   baggy pantsing
   balloonian variable
   bamf
   banana problem
   bandwidth
   bang
   bang on
   bang path
   banner
   banner ad
   banner site
   bar
   bare metal
   barf
   barfmail
   barfulation
   barfulous
   barn
   barney
   baroque
   BASIC
   batbelt
   batch
   bathtub curve
   Batman factor
   baud
   baz
   bazaar
   bboard
   BBS
   BCPL
   BDFL
   beam
   beanie key
   beep
   Befunge
   beige toaster
   bells and whistles
   bells whistles and gongs
   benchmark
   Berkeley Quality Software
   Berzerkeley
   beta
   BFI
   BI
   bible
   BiCapitalization
   biff
   big iron
   Big Red Switch
   Big Room
   big win
   big-endian
   bignum
   bigot
   bikeshedding
   binary four
   bit
   bit bang
   bit bashing
   bit bucket
   bit decay
   bit rot
   bit twiddling
   bit-paired keyboard
   bitblt
   bits
   bitty box
   bixie
   black art
   black hat
   black hole
   black magic
   Black Screen of Death
   blammo
   blargh
   blast
   blat
   bletch
   bletcherous
   blinkenlights
   blit
   blitter
   blivet
   bloatware
   BLOB
   block
   blog
   Bloggs Family
   blogosphere
   blogrolling
   blow an EPROM
   blow away
   blow out
   blow past
   blow up
   BLT
   blue box
   Blue Glue
   blue goo
   Blue Screen of Death
   blue wire
   blurgle
   BNF
   boa
   board
   boat anchor
   bob
   bodge
   BOF
   BOFH
   bogo-sort
   bogometer
   BogoMIPS
   bogon
   bogon filter
   bogon flux
   bogosity
   bogotify
   bogue out
   bogus
   Bohr bug
   boink
   bomb
   bondage-and-discipline language
   bonk/oif
   book titles
   boot
   Borg
   borken
   bot
   bottom feeder
   bottom-post
   bottom-up implementation
   bounce
   bounce message
   boustrophedon
   box
   boxed comments
   boxen
   boxology
   bozotic
   brain dump
   brain fart
   brain-damaged
   brain-dead
   braino
   brainwidth
   bread crumbs
   break
   break-even point
   breath-of-life packet
   breedle
   Breidbart Index
   brick
   bricktext
   bring X to its knees
   brittle
   broadcast storm
   broken
   broken arrow
   broken-ring network
   BrokenWindows
   broket
   Brooks's Law
   brown-paper-bag bug
   browser
   BRS
   brute force
   brute force and ignorance
   BSD
   BSOD
   BUAF
   BUAG
   bubble sort
   bucky bits
   buffer chuck
   buffer overflow
   bug
   bug-compatible
   bug-for-bug compatible
   bug-of-the-month club
   bulletproof
   bullschildt
   bump
   burble
   buried treasure
   burn a CD
   burn-in period
   burst page
   busy-wait
   buzz
   buzzword-compliant
   BWQ
   by hand
   byte
   byte sex
   bytesexual
   Bzzzt! Wrong.

:B1FF: /bif/, BIFF, n.

   The  most  famous  {pseudo},  and the prototypical {newbie}. Articles
   from  B1FF  feature  all  uppercase  letters sprinkled liberally with
   bangs,  typos,  `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ
   KØØL  DOOD  AN  HE  RITES  REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE
   THIS!!!),  use  (and  often  misuse)  of  fragments  of  {talk  mode}
   abbreviations,  a  long {sig block} (sometimes even a {doubled sig}),
   and  unbounded naivete. B1FF posts articles using his elder brother's
   VIC-20.  B1FF's location is a mystery, as his articles appear to come
   from  a  variety  of  sites.  However,  BITNET  seems  to be the most
   frequent  origin.  The  theory  that  B1FF  is a denizen of BITNET is
   supported  by B1FF's (unfortunately invalid) electronic mail address:
   B1FF@BIT.NET.

   [1993:  Now  It  Can  Be  Told!  My  spies  inform  me  that B1FF was
   originally  created by Joe Talmadge , also the author
   of  the  infamous  and  much-plagiarized  "Flamer's  Bible". The BIFF
   filter  he  wrote  was  later  passed  to  Richard Sexton, who posted
   BIFFisms  much  more  widely. Versions have since been posted for the
   amusement of the net at large. See also {Jeff K.} --ESR]

:B5: //

   [common] Abbreviation for "Babylon 5", a science-fiction TV series as
   revered among hackers as was the original Star Trek.

:back door: n.

   [common]  A  hole  in  the  security of a system deliberately left in
   place  by  designers or maintainers. The motivation for such holes is
   not always sinister; some operating systems, for example, come out of
   the  box  with  privileged accounts intended for use by field service
   technicians  or  the  vendor's  maintenance  programmers.  Syn. {trap
   door}; may also be called a wormhole. See also {iron box}, {cracker},
   {worm}, {logic bomb}.

   Historically,  back  doors  have  often lurked in systems longer than
   anyone  expected  or planned, and a few have become widely known. Ken
   Thompson's  1983  Turing  Award  lecture  to  the  ACM  admitted  the
   existence  of  a  back  door  in  early  Unix  versions that may have
   qualified as the most fiendishly clever security hack of all time. In
   this  scheme, the C compiler contained code that would recognize when
   the   login  command  was  being  recompiled  and  insert  some  code
   recognizing  a  password  chosen by Thompson, giving him entry to the
   system whether or not an account had been created for him.

   Normally  such  a  back door could be removed by removing it from the
   source  code  for  the  compiler and recompiling the compiler. But to
   recompile  the  compiler, you have to use the compiler -- so Thompson
   also arranged that the compiler would recognize when it was compiling
   a version of itself, and insert into the recompiled compiler the code
   to  insert into the recompiled login the code to allow Thompson entry
   --  and,  of  course,  the  code to recognize itself and do the whole
   thing  again  the next time around! And having done this once, he was
   then  able  to  recompile the compiler from the original sources; the
   hack perpetuated itself invisibly, leaving the back door in place and
   active but with no trace in the sources.

   The  Turing  lecture  that  reported  this  truly moby hack was later
   published  as  "Reflections on Trusting Trust", Communications of the
   ACM   27,   8   (August   1984),  pp.  761--763  (text  available  at
   http://www.acm.org/classics/).  Ken Thompson has since confirmed that
   this  hack  was implemented and that the Trojan Horse code did appear
   in  the  login  binary  of a Unix Support group machine. Ken says the
   crocked  compiler  was  never  distributed. Your editor has heard two
   separate  reports that suggest that the crocked login did make it out
   of  Bell  Labs,  notably  to  BBN,  and  that it enabled at least one
   late-night  login  across the network by someone using the login name
   "kt".

:backbone cabal: n.

   A  group  of  large-site administrators who pushed through the {Great
   Renaming}  and  reined  in  the  chaos of {Usenet} during most of the
   1980s.  During  most  of its lifetime, the Cabal (as it was sometimes
   capitalized)  steadfastly  denied  its  own  existence; it was almost
   obligatory  for anyone privy to their secrets to respond "There is no
   Cabal"  whenever  the  existence  or  activities  of  the  group were
   speculated on in public.

   The  result  of this policy was an attractive aura of mystery. Even a
   decade  after  the  cabal  {mailing  list}  disbanded  in  late  1988
   following  a  bitter  internal  catfight,  many  people  believed (or
   claimed  to believe) that it had not actually disbanded but only gone
   deeper underground with its power intact.

   This  belief  became  a  model  for  various  paranoid theories about
   various  Cabals  with dark nefarious objectives beginning with taking
   over  the Usenet or Internet. These paranoias were later satirized in
   ways  that took on a life of their own. See {Eric Conspiracy} for one
   example.  Part  of the background for this kind of humor is that many
   hackers  cultivate  a  fondness for conspiracy theory considered as a
   kind  of  surrealist  art; see the bibliography entry on Illuminatus!
   for the novel that launched this trend.

   See {NANA} for the subsequent history of "the Cabal".

:backbone site: n.,obs.

   Formerly,  a  key  Usenet  and email site, one that processes a large
   amount  of  third-party traffic, especially if it is the home site of
   any  of  the  regional  coordinators  for  the  Usenet  maps. Notable
   backbone  sites  as  of  early  1993, when this sense of the term was
   beginning  to  pass  out  of  general use due to wide availability of
   cheap  Internet  connections, included uunet and the mail machines at
   Rutgers   University,   UC   Berkeley,   {DEC}'s   Western   Research
   Laboratories,  Ohio  State  University,  and the University of Texas.
   Compare {leaf site}.

   [2001  update:  This  term  has passed into history. The UUCP network
   world  that  gave it meaning is gone; everyone is on the Internet now
   and  network traffic is distributed in very different patterns. Today
   one might see references to a "backbone router" instead --ESR]

:backgammon:

   See {bignum} (sense 3), {moby} (sense 4), and {pseudoprime}.

:background: n.,adj.,vt.

   [common] To do a task in background is to do it whenever {foreground}
   matters  are not claiming your undivided attention, and to background
   something  means  to relegate it to a lower priority. "For now, we'll
   just   print   a  list  of  nodes  and  links;  I'm  working  on  the
   graph-printing problem in background." Note that this implies ongoing
   activity  but  at  a  reduced  level or in spare time, in contrast to
   mainstream  `back  burner'  (which connotes benign neglect until some
   future  resumption  of  activity). Some people prefer to use the term
   for  processing  that they have queued up for their unconscious minds
   (a  tack  that  one  can  often  fruitfully take upon encountering an
   obstacle in creative work). Compare {amp off}, {slopsucker}.

   Technically,  a  task  running  in  background  is  detached from the
   terminal  where  it  was  started  (and  often  running  at  a  lower
   priority);  oppose  {foreground}.  Nowadays  this  term  is primarily
   associated  with  {Unix},  but  it appears to have been first used in
   this sense on OS/360.

:backreference: n.

   1.  In  a  regular  expression  or  pattern match, the text which was
   matched within grouping parentheses

   2. The part of the pattern which refers back to the matched text.

   3.  By  extension,  anything which refers back to something which has
   been  seen  or  discussed  before. "When you said `she' just now, who
   were you backreferencing?"

:backronym: n.

   [portmanteau of back + acronym] A word interpreted as an acronym that
   was  not  originally  so  intended.  This  is  a special case of what
   linguists  call  back  formation. Examples are given under {recursive
   acronym}  (Cygnus),  {Acme},  and {mung}. Discovering backronyms is a
   common form of wordplay among hackers. Compare {retcon}.

:backward combatability: /bak´w@rd k@m·bat'@·bil'@·tee/, n.

   [CMU,  Tektronix: from backward compatibility] A property of hardware
   or  software revisions in which previous protocols, formats, layouts,
   etc.  are  irrevocably  discarded  in  favor  of  `new  and improved'
   protocols, formats, and layouts, leaving the previous ones not merely
   deprecated  but  actively  defeated.  (Too  often,  the  old  and new
   versions  cannot  definitively  be distinguished, such that lingering
   instances  of  the  previous ones yield crashes or other infelicitous
   effects,  as  opposed  to  a  simple  "version  mismatch" message.) A
   backwards  compatible  change, on the other hand, allows old versions
   to  coexist  without  crashes  or  error messages, but too many major
   changes  incorporating  elaborate  backwards compatibility processing
   can lead to extreme {software bloat}. See also {flag day}.

:BAD: /B·A·D/, adj.

   [IBM:  acronym,  "Broken  As  Designed"]  Said  of  a program that is
   {bogus}  because of bad design and misfeatures rather than because of
   bugginess. See {working as designed}.

:Bad and Wrong: adj.

   [Durham,  UK]  Said  of  something  that  is  both badly designed and
   wrongly  executed.  This common term is the prototype of, and is used
   by contrast with, three less common terms -- Bad and Right (a kludge,
   something  ugly  but functional); Good and Wrong (an overblown GUI or
   other  attractive  nuisance); and (rare praise) Good and Right. These
   terms  entered common use at Durham c.1994 and may have been imported
   from elsewhere; they are also in use at Oxford, and the emphatic form
   "Evil  and  Bad  and Wrong" (abbreviated EBW) is reported from there.
   There  are  standard  abbreviations:  they start with B&R, a typo for
   "Bad and Wrong". Consequently, B&W is actually "Bad and Right", G&R =
   "Good  and  Wrong",  and  G&W  =  "Good and Right". Compare {evil and
   rude}, {Good Thing}, {Bad Thing}.

:Bad Thing: n.

   [very common; always pronounced as if capitalized. Orig. fr. the 1930
   Sellar  &  Yeatman  parody  of British history 1066 And All That, but
   well-established  among  hackers in the U.S. as well.] Something that
   can't  possibly  result  in  improvement of the subject. This term is
   always  capitalized,  as  in  "Replacing  all  of  the DSL links with
   bicycle  couriers would be a Bad Thing". Oppose {Good Thing}. British
   correspondents  confirm  that {Bad Thing} and {Good Thing} (and prob.
   therefore  {Right  Thing}  and  {Wrong  Thing})  come  from  the book
   referenced  in  the  etymology,  which discusses rulers who were Good
   Kings  but Bad Things. This has apparently created a mainstream idiom
   on  the  British  side  of the pond. It is very common among American
   hackers,  but  not  in  mainstream usage in the U.S. Compare {Bad and
   Wrong}.

:bag on the side: n.

   [prob.  originally  related  to  a  colostomy bag] An extension to an
   established  hack  that  is supposed to add some functionality to the
   original.  Usually  derogatory,  implying that the original was being
   overextended and should have been thrown away, and the new product is
   ugly,  inelegant,  or  bloated. Also v. phrase, "to hang a bag on the
   side [of]". "C++? That's just a bag on the side of C ...." "They want
   me to hang a bag on the side of the accounting system."

:bagbiter: /bag´bi:t·@r/, n.

   1. Something, such as a program or a computer, that fails to work, or
   works  in  a remarkably clumsy manner. "This text editor won't let me
   make a file with a line longer than 80 characters! What a bagbiter!"

   2.  A  person  who  has  caused  you  some  trouble, inadvertently or
   otherwise,  typically  by  failing  to program the computer properly.
   Synonyms: {loser}, {cretin}, {chomper}.

   3.  bite  the  bag  vi.  To  fail in some manner. "The computer keeps
   crashing  every  five  minutes."  "Yes, the disk controller is really
   biting the bag."

   The  original  loading of these terms was almost undoubtedly obscene,
   possibly referring to a douche bag or the scrotum (we have reports of
   "Bite the douche bag!" being used as a taunt at MIT 1970-1976, and we
   have  another  report that "Bite the bag!" was in common use at least
   as early as 1965), but in their current usage they have become almost
   completely sanitized.

:bagbiting: adj.

   [MIT;  now  rare] Having the quality of a {bagbiter}. "This bagbiting
   system  won't  let  me  compute  the factorial of a negative number."
   Compare   {losing},  {cretinous},  {bletcherous},  barfucious  (under
   {barfulous}) and chomping (under {chomp}).

:baggy pantsing: v.

   [Georgia  Tech]  A  "baggy pantsing" is used to reprimand hackers who
   incautiously  leave  their terminals unlocked. The affected user will
   come  back to find a post from them on internal newsgroups discussing
   exactly   how  baggy  their  pants  are,  an  accepted  stand-in  for
   "unattentive user who left their work unprotected in the clusters". A
   properly-done  baggy  pantsing  is highly mocking and humorous. It is
   considered bad form to post a baggy pantsing to off-campus newsgroups
   or  the  more  technical,  serious  groups. A particularly nice baggy
   pantsing may be "claimed" by immediately quoting the message in full,
   followed  by  your {sig block}; this has the added benefit of keeping
   the embarassed victim from being able to delete the post. Interesting
   baggy-pantsings  have  been  done  involving adding commands to login
   scripts  to  repost  the message every time the unlucky user logs in;
   Unix  boxes on the residential network, when cracked, oftentimes have
   their  homepages  replaced (after being politely backed-up to another
   file)  with  a baggy-pants message; .plan files are also occasionally
   targeted.  Usage:  "Prof. Greenlee fell asleep in the Solaris cluster
   again;  we  baggy-pantsed  him  to  git.cc.class.2430.flame." Compare
   {derf}.

:balloonian variable: n.

   [Commodore  users;  perh.  a  deliberate phonetic mangling of boolean
   variable?]  Any variable that doesn't actually hold or control state,
   but  must  nevertheless  be  declared,  checked,  or  set.  A typical
   balloonian   variable   started  out  as  a  flag  attached  to  some
   environment  feature  that  either became obsolete or was planned but
   never  implemented.  Compatibility  concerns (or politics attached to
   same)  may  require  that  such  a  flag be treated as though it were
   {live}.

:bamf: /bamf/

   1.  [from  X-Men  comics;  originally "bampf"] interj. Notional sound
   made  by  a  person  or  object teleporting in or out of the hearer's
   vicinity.  Often  used  in  {virtual reality} (esp. {MUD}) electronic
   {fora} when a character wishes to make a dramatic entrance or exit.

   2.  The  sound  of  magical  transformation,  used in virtual reality
   {fora} like MUDs.

   3. In MUD circles, "bamf" is also used to refer to the act by which a
   MUD  server  sends a special notification to the MUD client to switch
   its  connection  to another server ("I'll set up the old site to just
   bamf people over to our new location.").

   4.  Used  by  MUDders  on occasion in a more general sense related to
   sense  3,  to  refer  to  directing  someone  to  another location or
   resource ("A user was asking about some technobabble so I bamfed them
   to http://www.catb.org/~esr/jargon/".)

:banana problem: n.

   [from  the  story  of  the  little girl who said "I know how to spell
   `banana',  but I don't know when to stop"]. Not knowing where or when
   to bring a production to a close (compare {fencepost error}). One may
   say  there is a banana problem of an algorithm with poorly defined or
   incorrect termination conditions, or in discussing the evolution of a
   design  that  may  be  succumbing  to  featuritis (see also {creeping
   elegance}, {creeping featuritis}). See item 176 under {HAKMEM}, which
   describes  a  banana problem in a {Dissociated Press} implementation.
   Also,  see  {one-banana  problem}  for  a  superficially  similar but
   unrelated usage.

:bandwidth: n.

   1.  [common]  Used  by  hackers (in a generalization of its technical
   meaning)  as the volume of information per unit time that a computer,
   person,  or  transmission  medium  can  handle.  "Those  are  amazing
   graphics,  but I missed some of the detail -- not enough bandwidth, I
   guess."   Compare   {low-bandwidth};   see  also  {brainwidth}.  This
   generalized   usage   began  to  go  mainstream  after  the  Internet
   population explosion of 1993-1994.

   2. Attention span.

   3. On {Usenet}, a measure of network capacity that is often wasted by
   people  complaining  about  how items posted by others are a waste of
   bandwidth.

:bang:

   1.  n. Common spoken name for ! (ASCII 0100001), especially when used
   in  pronouncing a {bang path} in spoken hackish. In {elder days} this
   was  considered  a  CMUish  usage,  with  MIT  and  Stanford  hackers
   preferring  {excl}  or  {shriek};  but the spread of Unix has carried
   `bang'  with  it  (esp.  via  the  term  {bang  path})  and it is now
   certainly  the  most  common  spoken name for !. Note that it is used
   exclusively   for   non-emphatic   written   !;  one  would  not  say
   "Congratulations  bang"  (except possibly for humorous purposes), but
   if  one wanted to specify the exact characters "foo!" one would speak
   "Eff oh oh bang". See {shriek}, {ASCII}.

   2.  interj.  An  exclamation  signifying  roughly  "I  have  achieved
   enlightenment!",  or  "The  dynamite has cleared out my brain!" Often
   used  to  acknowledge that one has perpetrated a {thinko} immediately
   after one has been called on it.

:bang on: vt.

   To  stress-test a piece of hardware or software: "I banged on the new
   version  of the simulator all day yesterday and it didn't crash once.
   I guess it is ready for release." The term {pound on} is synonymous.

:bang path: n.

   [now historical] An old-style UUCP electronic-mail address specifying
   hops to get from some assumed-reachable location to the addressee, so
   called  because  each  {hop} is signified by a {bang} sign. Thus, for
   example,  the  path  ...!bigsite!foovax!barbox!me  directs  people to
   route their mail to machine bigsite (presumably a well-known location
   accessible to everybody) and from there through the machine foovax to
   the account of user me on barbox.

   In  the  bad  old days of not so long ago, before autorouting mailers
   and Internet became commonplace, people often published compound bang
   addresses  using  the  { } convention (see {glob}) to give paths from
   several  big machines, in the hopes that one's correspondent might be
   able  to  get  mail  to  one  of them reliably (example: ...!{seismo,
   ut-sally, ihnp4!rice!beta!gamma!me}). Bang paths of 8 to 10 hops were
   not  uncommon.  Late-night  dial-up  UUCP links would cause week-long
   transmission   times.   Bang   paths  were  often  selected  by  both
   transmission time and reliability, as messages would not infrequently
   get lost. See {the network} and {sitename}.

:banner: n.

   1. A top-centered graphic on a web page. Esp. used in {banner ad}.

   2.  On  interactive software, a first screen containing a logo and/or
   author credits and/or a copyright notice. Similar to {splash screen}.

   3.  The  title  page  added  to printouts by most print spoolers (see
   {spool}).  Typically  includes user or account ID information in very
   large  character-graphics capitals. Also called a burst page, because
   it  indicates  where  to burst (tear apart) fanfold paper to separate
   one user's printout from the next.

   4.  A  similar  printout  generated  (typically  on multiple pages of
   fan-fold  paper) from user-specified text, e.g., by a program such as
   Unix's banner({1,6)}.

:banner ad: n.

   Any  of  the  annoying graphical advertisements that span the tops of
   way too many Web pages.

:banner site: n.

   [warez  d00dz] An FTP site storing pirated files where one must first
   click on several banners and/or subscribe to various `free' services,
   usually  generating  some  form of revenues for the site owner, to be
   able  to  access the site. More often than not, the username/password
   painfully  obtained  by  clicking on banners and subscribing to bogus
   services or mailing lists turns out to be non-working or gives access
   to a site that always responds busy. See {ratio site}, {leech mode}.

:bar: /bar/, n.

   1. [very common] The second {metasyntactic variable}, after {foo} and
   before  {baz}. "Suppose we have two functions: FOO and BAR. FOO calls
   BAR...."

   2. Often appended to {foo} to produce {foobar}.

:bare metal: n.

   1.  [common]  New  computer  hardware, unadorned with such snares and
   delusions  as  an  {operating  system},  an {HLL}, or even assembler.
   Commonly  used  in  the  phrase  programming on the bare metal, which
   refers  to  the  arduous work of {bit bashing} needed to create these
   basic  tools  for a new machine. Real bare-metal programming involves
   things  like  building  boot proms and BIOS chips, implementing basic
   monitors used to test device drivers, and writing the assemblers that
   will  be  used to write the compiler back ends that will give the new
   machine a real development environment.

   2.  "Programming  on the bare metal" is also used to describe a style
   of  {hand-hacking}  that  relies  on  bit-level  peculiarities  of  a
   particular   hardware   design,  esp.  tricks  for  speed  and  space
   optimization  that  rely  on  crocks such as overlapping instructions
   (or,  as  in  the  famous  case  described  in  The Story of Mel' (in
   Appendix  A),  interleaving of opcodes on a magnetic drum to minimize
   fetch  delays  due  to the device's rotational latency). This sort of
   thing  has  become rare as the relative costs of programming time and
   machine  resources  have  changed,  but  is  still  found  in heavily
   constrained  environments  such  as  industrial embedded systems. See
   {Real Programmer}.

:barf: /barf/, n.,v.

   [common; from mainstream slang meaning `vomit']

   1. interj. Term of disgust. This is the closest hackish equivalent of
   the Valspeak "gag me with a spoon". (Like, euwww!) See {bletch}.

   2.  vi. To say "Barf!" or emit some similar expression of disgust. "I
   showed  him  my  latest  hack  and  he  barfed"  means  only  that he
   complained about it, not that he literally vomited.

   3.  vi. To fail to work because of unacceptable input, perhaps with a
   suitable   error   message,  perhaps  not.  Examples:  "The  division
   operation  barfs  if  you try to divide by 0." (That is, the division
   operation  checks  for  an  attempt  to divide by zero, and if one is
   encountered  it causes the operation to fail in some unspecified, but
   generally obvious, manner.) "The text editor barfs if you try to read
   in a new file before writing out the old one."

   See  {choke}.  In Commonwealth Hackish, barf is generally replaced by
   `puke'  or  `vom'.  {barf} is sometimes also used as a {metasyntactic
   variable}, like {foo} or {bar}.

:barfmail: n.

   Multiple  {bounce  message}s  accumulating  to  the  level of serious
   annoyance,  or  worse.  The  sort  of  thing  that  happens  when  an
   inter-network mail gateway goes down or wonky.

:barfulation: /bar`fyoo·lay´sh@n/, interj.

   Variation  of  {barf}  used around the Stanford area. An exclamation,
   expressing  disgust.  On  seeing some particularly bad code one might
   exclaim, "Barfulation! Who wrote this, Quux?"

:barfulous: /bar´fyoo·l@s/, adj.

   (alt.: barfucious, /bar-fyoo-sh@s/) Said of something that would make
   anyone barf, if only for esthetic reasons.

:barn: n.

   [uncommon;  prob.  from  the  nuclear military] An unexpectedly large
   quantity of something: a unit of measurement. "Why is /var/adm taking
   up so much space?" "The logs have grown to several barns." The source
   of  this  is  clear:  when  physicists  were  first  studying nuclear
   interactions,  the  probability was thought to be proportional to the
   cross-sectional area of the nucleus (this probability is still called
   the   cross-section).   Upon   experimenting,   they  discovered  the
   interactions  were  far  more probable than expected; the nuclei were
   "as  big  as  a  barn".  The units for cross-sections were christened
   Barns,  (10^-24  cm2)  and  the  book containing cross-sections has a
   picture of a barn on the cover.

:barney: n.

   In  Commonwealth  hackish, barney is to {fred} (sense #1) as {bar} is
   to  {foo}.  That  is,  people  who  commonly  use fred as their first
   metasyntactic  variable  will  often use barney second. The reference
   is,   of  course,  to  Fred  Flintstone  and  Barney  Rubble  in  the
   Flintstones cartoons.

:baroque: adj.

   [common]  Feature-encrusted;  complex;  gaudy;  verging on excessive.
   Said  of  hardware  or  (esp.) software designs, this has many of the
   connotations  of  {elephantine}  or {monstrosity} but is less extreme
   and  not pejorative in itself. In the absence of other, more negative
   descriptions this term suggests that the software is trembling on the
   edge  of  bad  taste but has not quite tipped over into it. "Metafont
   even  has  features  to introduce random variations to its letterform
   output. Now that is baroque!" See also {rococo}.

:BASIC: /bay'·sic/, n.

   A   programming   language,   originally   designed  for  Dartmouth's
   experimental  timesharing  system  in the early 1960s, which for many
   years  was the leading cause of brain damage in proto-hackers. Edsger
   W.  Dijkstra  observed  in Selected Writings on Computing: A Personal
   Perspective   that  "It  is  practically  impossible  to  teach  good
   programming  style to students that have had prior exposure to BASIC:
   as  potential  programmers they are mentally mutilated beyond hope of
   regeneration."  This is another case (like {Pascal}) of the cascading
   {lossage}  that  happens  when a language deliberately designed as an
   educational  toy  gets  taken too seriously. A novice can write short
   BASIC  programs  (on  the  order of 10-20 lines) very easily; writing
   anything  longer  (a)  is very painful, and (b) encourages bad habits
   that  will  make  it harder to use more powerful languages well. This
   wouldn't  be  so  bad  if  historical  accidents hadn't made BASIC so
   common  on  low-end micros in the 1980s. As it is, it probably ruined
   tens of thousands of potential wizards.

   [1995:  Some  languages  called  "BASIC"  aren't quite this nasty any
   more,  having  acquired  Pascal-  and  C-like  procedures and control
   structures and shed their line numbers. --ESR]

   BASIC  stands for "Beginner's All-purpose Symbolic Instruction Code".
   Earlier  versions of this entry claiming this was a later {backronym}
   were incorrect.

:batbelt: n.

   Many   hackers  routinely  hang  numerous  devices  such  as  pagers,
   cell-phones,   personal  organizers,  leatherman  multitools,  pocket
   knives,  flashlights,  walkie-talkies,  even miniature computers from
   their  belts.  When  many  of  these  devices  are  worn at once, the
   hacker's  belt  somewhat resembles Batman's utility belt; hence it is
   referred to as a batbelt.

:batch: adj.

   1.  Non-interactive.  Hackers use this somewhat more loosely than the
   traditional technical definitions justify; in particular, switches on
   a   normally   interactive   program   that  prepare  it  to  receive
   non-interactive  command  input  are  often referred to as batch mode
   switches.  A  batch  file  is  a series of instructions written to be
   handed to an interactive program running in batch mode.

   2.  Performance  of  dreary  tasks all at one sitting. "I finally sat
   down  in batch mode and wrote out checks for all those bills; I guess
   they'll turn the electricity back on next week..."

   3.  batching  up: Accumulation of a number of small tasks that can be
   lumped  together  for  greater  efficiency.  "I'm  batching  up those
   letters  to  send  sometime"  "I'm batching up bottles to take to the
   recycling center."

   [crunchly-2.png]

   (The  next cartoon in the Crunchly saga is 76-03-17:5-8. The previous
   one is 76-02-14.)

:bathtub curve: n.

   Common term for the curve (resembling an end-to-end section of one of
   those  claw-footed  antique  bathtubs)  that  describes  the expected
   failure  rate  of  electronics with time: initially high, dropping to
   near  0  for  most  of the system's lifetime, then rising again as it
   `tires out'. See also {burn-in period}, {infant mortality}.

:Batman factor: n.

   1.  An integer number representing the number of items hanging from a
   {batbelt}.  In  most  settings, a Batman factor of more than 3 is not
   acceptable  without  odd  stares  and whispering. This encourages the
   hacker in question to choose items for the batbelt carefully to avoid
   awkward social situations, usually amongst non-hackers.

   2.  A somewhat more vaguely defined index of contribution to sense 1.
   Devices  that  are  especially  obtrusive, such as large, older model
   cell  phones, "Pocket" PC devices and walkie talkies are said to have
   a  high  batman factor. Sleeker devices such as a later-model Palm or
   StarTac  phone  are  prized  for their low batman factor and lessened
   obtrusiveness and weight.

:baud: /bawd/, n.

   [simplified  from  its  technical  meaning] n. Bits per second. Hence
   kilobaud  or  Kbaud,  thousands  of  bits  per  second. The technical
   meaning is level transitions per second; this coincides with bps only
   for  two-level  modulation with no framing or stop bits. Most hackers
   are aware of these nuances but blithely ignore them.

   Historical  note:  baud was originally a unit of telegraph signalling
   speed,  set at one pulse per second. It was proposed at the November,
   1926   conference   of   the  Comité  Consultatif  International  Des
   Communications  Télégraphiques as an improvement on the then standard
   practice  of  referring  to line speeds in terms of words per minute,
   and  named  for  Jean  Maurice  Emile  Baudot  (1845-1903),  a French
   engineer who did a lot of pioneering work in early teleprinters.

:baz: /baz/, n.

   1. [common] The third {metasyntactic variable} "Suppose we have three
   functions:  FOO,  BAR,  and  BAZ. FOO calls BAR, which calls BAZ...."
   (See also {fum})

   2.  interj. A term of mild annoyance. In this usage the term is often
   drawn  out  for  2  or  3 seconds, producing an effect not unlike the
   bleating of a sheep; /baaaaaaz/.

   3. Occasionally appended to {foo} to produce `foobaz'.

   Earlier versions of this lexicon derived baz as a Stanford corruption
   of  {bar}.  However,  Pete  Samson  (compiler  of the {TMRC} lexicon)
   reports  it  was already current when he joined TMRC in 1958. He says
   "It  came  from  Pogo.  Albert the Alligator, when vexed or outraged,
   would shout `Bazz Fazz!' or `Rowrbazzle!' The club layout was said to
   model  the  (mythical)  New  England  counties of Rowrfolk and Bassex
   (Rowrbazzle mingled with (Norfolk/Suffolk/Middlesex/Essex)."

:bazaar: n.,adj.

   In  1997, after meditating on the success of {Linux} for three years,
   the  Jargon File's own editor ESR wrote an analytical paper on hacker
   culture  and  development models titled The Cathedral and the Bazaar.
   The  main  argument  of  the paper was that {Brooks's Law} is not the
   whole  story;  given  the  right  social  machinery, debugging can be
   efficiently  parallelized  across  large  numbers of programmers. The
   title  metaphor  caught  on  (see also {cathedral}), and the style of
   development  typical  in the Linux community is now often referred to
   as  the bazaar mode. Its characteristics include releasing code early
   and  often,  and  actively  seeking the largest possible pool of peer
   reviewers.  After  1998,  the  evident  success  of this way of doing
   things became one of the strongest arguments for {open source}.

:bboard: /bee´bord/, n.

   [contraction of `bulletin board']

   1.  Any electronic bulletin board; esp. used of {BBS} systems running
   on personal micros, less frequently of a Usenet {newsgroup} (in fact,
   use  of  this  term  for  a newsgroup generally marks one either as a
   {newbie} fresh in from the BBS world or as a real old-timer predating
   Usenet).

   2.  At  CMU  and  other  colleges  with similar facilities, refers to
   campus-wide electronic bulletin boards.

   3.  The  term  physical  bboard  is  sometimes  used  to  refer to an
   old-fashioned,  non-electronic cork-and-thumbtack memo board. At CMU,
   it refers to a particular one outside the CS Lounge.

   In  either of senses 1 or 2, the term is usually prefixed by the name
   of  the  intended  board  (`the  Moonlight  Casino bboard' or `market
   bboard');  however,  if the context is clear, the better-read bboards
   may be referred to by name alone, as in (at CMU) "Don't post for-sale
   ads on general".

:BBS: /B·B·S/, n.

   [common;   abbreviation,   "Bulletin  Board  System"]  An  electronic
   bulletin  board  system; that is, a message database where people can
   log  in  and  leave broadcast messages for others grouped (typically)
   into {topic group}s. The term was especially applied to the thousands
   of   local   BBS   systems  that  operated  during  the  pre-Internet
   microcomputer  era of roughly 1980 to 1995, typically run by amateurs
   for  fun  out of their homes on MS-DOS boxes with a single modem line
   each.  Fans  of Usenet and Internet or the big commercial timesharing
   bboards  such  as CompuServe and GEnie tended to consider local BBSes
   the  low-rent  district  of  the  hacker  culture,  but they served a
   valuable  function  by knitting together lots of hackers and users in
   the  personal-micro  world  who  would  otherwise have been unable to
   exchange  code  at  all.  Post-Internet,  BBSs are likely to be local
   newsgroups  on  an ISP; efficiency has increased but a certain flavor
   has been lost. See also {bboard}.

:BCPL: //, n.

   [abbreviation,  "Basic  Combined Programming Language") A programming
   language  developed  by  Martin  Richards in Cambridge in 1967. It is
   remarkable for its rich syntax, small size of compiler (it can be run
   in  16k)  and  extreme  portability. It reached break-even point at a
   very  early  stage, and was the language in which the original {hello
   world}  program  was written. It has been ported to so many different
   systems  that its creator confesses to having lost count. It has only
   one  data  type  (a  machine word) which can be used as an integer, a
   character,  a  floating  point  number, a pointer, or almost anything
   else,  depending  on  context.  BCPL  was  a  precursor  of  C, which
   inherited some of its features.

:BDFL:

   [Python; common] Benevolent Dictator For Life. {Guido}, considered in
   his  role  as  the project leader of {Python}. People who are feeling
   temporarily  cheesed  off by one of his decisions sometimes leave off
   the  B.  The  mental  image  that goes with this, of a cigar-chomping
   caudillo  in  gold braid and sunglasses, is extremely funny to anyone
   who has ever met Guido in person.

:beam: vt.

   [from Star Trek Classic's "Beam me up, Scotty!"]

   1.  To  transfer  {softcopy}  of a file electronically; most often in
   combining forms such as beam me a copy or beam that over to his site.

   2.  Palm  Pilot  users  very  commonly  use  this term for the act of
   exchanging  bits  via the infrared links on their machines (this term
   seems  to  have  originated  with  the ill-fated Newton Message Pad).
   Compare {blast}, {snarf}, {BLT}.

:beanie key: n.

   [Mac users] See {command key}.

:beep: n.,v.

   Syn.  {feep}.  This  term is techspeak under MS-DOS/Windows and OS/2,
   and seems to be generally preferred among micro hobbyists.

:Befunge: n.

   A  worthy  companion  to {INTERCAL}; a computer language family which
   escapes  the quotidian limitation of linear control flow and embraces
   program  counters  flying  through  multiple  dimensions  with exotic
   topologies. The Befunge home page is at
   http://www.catseye.mb.ca/esoteric/befunge/.

:beige toaster: n.

   [obs.]  An  original Macintosh in the boxy beige case. See {toaster};
   compare {Macintrash}, {maggotbox}.

:bells and whistles: n.

   [common]  Features  added  to  a  program  or  system to make it more
   {flavorful} from a hacker's point of view, without necessarily adding
   to its utility for its primary function. Distinguished from {chrome},
   which  is  intended  to  attract users. "Now that we've got the basic
   program  working,  let's go back and add some bells and whistles." No
   one  seems  to  know  what  distinguishes  a bell from a whistle. The
   recognized emphatic form is "bells, whistles, and gongs".

   It  used  to  be  thought that this term derived from the toyboxes on
   theater   organs.  However,  the  "and  gongs"  strongly  suggests  a
   different  origin, at sea. Before powered horns, ships routinely used
   bells, whistles, and gongs to signal each other over longer distances
   than voice can carry.

   [73-05-28.png]

   Sometimes `trouble' is spelled {bells and whistles}...

   (The  next cartoon in the Crunchly saga is 73-06-04. The previous one
   is 73-05-28.)

:bells whistles and gongs: n.

   A  standard  elaborated  form of {bells and whistles}; typically said
   with a pronounced and ironic accent on the `gongs'.

:benchmark: n.

   [techspeak]  An  inaccurate  measure of computer performance. "In the
   computer  industry,  there  are three kinds of lies: lies, damn lies,
   and   benchmarks."  Well-known  ones  include  Whetstone,  Dhrystone,
   Rhealstone  (see  {h}),  the  Gabriel  LISP  benchmarks, the SPECmark
   suite,  and  LINPACK.  See  also  {machoflops},  {MIPS},  {smoke  and
   mirrors}.

:Berkeley Quality Software: adj.

   (often abbreviated "BQS") Term used in a pejorative sense to refer to
   software  that  was  apparently  created by rather spaced-out hackers
   late   at  night  to  solve  some  unique  problem.  It  usually  has
   nonexistent,  incomplete, or incorrect documentation, has been tested
   on at least two examples, and core dumps when anyone else attempts to
   use  it.  This  term  was frequently applied to early versions of the
   dbx(1) debugger. See also {Berzerkeley}.

   Note  to  British  and  Commonwealth  readers: that's /berk´lee/, not
   /bark´lee/ as in British Received Pronunciation.

:Berzerkeley: /b@r·zer´klee/, n.

   [from  `berserk',  via the name of a now-deceased record label; poss.
   originated  by  famed  columnist  Herb  Caen]  Humorous distortion of
   "Berkeley"  used  esp.  to  refer to the practices or products of the
   {BSD}   Unix   hackers.   See  {software  bloat},  {Berkeley  Quality
   Software}.

   Mainstream  use  of  this  term  in  reference  to  the  cultural and
   political  peculiarities  of UC Berkeley as a whole has been reported
   from as far back as the 1960s.

:beta: /bay´t@/, /be´t@/, /bee´t@/, n.

   1.  Mostly  working,  but  still  under test; usu. used with "in": in
   beta.  In  the  {Real  World},  hardware or software systems often go
   through  two  stages  of  release  testing: Alpha (in-house) and Beta
   (out-house?).  Beta  releases  are generally made to a group of lucky
   (or unlucky) trusted customers.

   2. Anything that is new and experimental. "His girlfriend is in beta"
   means  that  he  is  still  testing  for  compatibility and reserving
   judgment.

   3.  Flaky;  dubious;  suspect  (since  beta  software  is notoriously
   buggy).

   Historical note: More formally, to beta-test is to test a pre-release
   (potentially  unreliable) version of a piece of software by making it
   available  to  selected  (or self-selected) customers and users. This
   term   derives   from  early  1960s  terminology  for  product  cycle
   checkpoints,  first  used  at  IBM  but later standard throughout the
   industry.  Alpha  Test was the unit, module, or component test phase;
   Beta Test was initial system test. These themselves came from earlier
   A-  and  B-tests  for  hardware.  The  A-test  was  a feasibility and
   manufacturability evaluation done before any commitment to design and
   development.  The  B-test  was  a  demonstration that the engineering
   model  functioned  as specified. The C-test (corresponding to today's
   beta)  was  the  B-test  performed on early samples of the production
   design,  and  the  D test was the C test repeated after the model had
   been in production a while.

:BFI: /B·F·I/, n.

   See  {brute  force  and  ignorance}. Also encountered in the variants
   BFMI,  "brute  force and massive ignorance" and BFBI "brute force and
   bloody  ignorance".  In  some parts of the U.S. this abbreviation was
   probably reinforced by a company called Browning-Ferris Industries in
   the  waste-management  business;  a  large  BFI logo in white-on-blue
   could be seen on the sides of garbage trucks.

:BI: //

   Common written abbreviation for {Breidbart Index}.

:bible: n.

   1. One of a small number of fundamental source books such as {Knuth},
   {K&R}, or the {Camel Book}.

   2.  The  most  detailed  and authoritative reference for a particular
   language, operating system, or other complex software system.

:BiCapitalization: n.

   The   act  said  to  have  been  performed  on  trademarks  (such  as
   {PostScript},   NeXT,   {NeWS},   VisiCalc,   FrameMaker,  TK!solver,
   EasyWriter) that have been raised above the ruck of common coinage by
   nonstandard  capitalization.  Too  many {marketroid} types think this
   sort  of  thing  is  really  cute,  even the 2,317th time they do it.
   Compare {studlycaps}, {InterCaps}.

:biff: /bif/, vt.

   [now  rare]  To notify someone of incoming mail. From the BSD utility
   biff(1),  which  was  in  turn named after a friendly dog who used to
   chase  frisbees  in the halls at UCB while 4.2BSD was in development.
   There  was  a  legend  that  it  had  a habit of barking whenever the
   mailman  came,  but  the  author  of  biff  says this is not true. No
   relation to {B1FF}.

:big iron: n.

   [common]  Large,  expensive,  ultra-fast computers. Used generally of
   {number-crunching}  supercomputers, but can include more conventional
   big  commercial  IBMish  mainframes. Term of approval; compare {heavy
   metal}, oppose {dinosaur}.

:Big Red Switch: n.

   [IBM]  The  power  switch  on  a  computer, esp. the `Emergency Pull'
   switch  on  an IBM {mainframe} or the power switch on an IBM PC where
   it  really  is  large and red. "This !@%$% {bitty box} is hung again;
   time  to hit the Big Red Switch." Sources at IBM report that, in tune
   with  the  company's passion for {TLA}s, this is often abbreviated as
   BRS  (this  has  also  become  established  on  FidoNet and in the PC
   {clone}  world).  It  is alleged that the emergency pull switch on an
   IBM  360/91  actually fired a non-conducting bolt into the main power
   feed;  the  BRSes  on  more recent mainframes physically drop a block
   into place so that they can't be pushed back in. People get fired for
   pulling  them,  especially  inappropriately (see also {molly-guard}).
   Compare   {power  cycle},  {three-finger  salute};  see  also  {scram
   switch}.

:Big Room: n.

   (Also  Big  Blue Room) The extremely large room with the blue ceiling
   and  intensely  bright  light  (during the day) or black ceiling with
   lots  of  tiny  night-lights  (during  the  night)  found outside all
   computer  installations.  "He can't come to the phone right now, he's
   somewhere out in the Big Room."

:big win: n.

   1. [common] Major success.

   2.   [MIT]   Serendipity.   "Yes,  those  two  physicists  discovered
   high-temperature  superconductivity  in  a  batch of ceramic that had
   been  prepared  incorrectly according to their experimental schedule.
   Small mistake; big win!" See {win big}.

:big-endian: adj.

   [common; From Swift's Gulliver's Travels via the famous paper On Holy
   Wars  and  a  Plea  for  Peace by Danny Cohen, USC/ISI IEN 137, dated
   April 1, 1980]

   1.  Describes  a  computer  architecture  in  which,  within  a given
   multi-byte  numeric representation, the most significant byte has the
   lowest address (the word is stored `big-end-first'). Most processors,
   including   the   IBM   370   family,   the  {PDP-10},  the  Motorola
   microprocessor  families,  and  most  of the various RISC designs are
   big-endian.  Big-endian  byte  order is also sometimes called network
   order. See {little-endian}, {middle-endian}, {NUXI problem}, {swab}.

   2. An Internet address the wrong way round. Most of the world follows
   the  Internet  standard  and writes email addresses starting with the
   name  of  the computer and ending up with the name of the country. In
   the U.K.: the Joint Academic Networking Team had decided to do it the
   other  way round before the Internet domain standard was established.
   Most gateway sites have {ad-hockery} in their mailers to handle this,
   but   can   still   be   confused.   In   particular,   the   address
   me@uk.ac.bris.pys.as  could  be interpreted in JANET's big-endian way
   as  one  in the U.K. (domain uk) or in the standard little-endian way
   as  one in the domain as (American Samoa) on the opposite side of the
   world.

:bignum: /big´nuhm/, n.

   [common; orig. from MIT MacLISP]

   1.  [techspeak] A multiple-precision computer representation for very
   large integers.

   2.  More  generally,  any very large number. "Have you ever looked at
   the United States Budget? There's bignums for you!"

   3.  [Stanford]  In backgammon, large numbers on the dice especially a
   roll  of  double fives or double sixes (compare {moby}, sense 4). See
   also {El Camino Bignum}.

   Sense 1 may require some explanation. Most computer languages provide
   a kind of data called integer, but such computer integers are usually
   very  limited  in  size;  usually  they  must  be  smaller  than 2^31
   (2,147,483,648).  If  you want to work with numbers larger than that,
   you have to use floating-point numbers, which are usually accurate to
   only  six  or  seven  decimal places. Computer languages that provide
   bignums can perform exact calculations on very large numbers, such as
   1000! (the factorial of 1000, which is 1000 times 999 times 998 times
   ...  times 2 times 1). For example, this value for 1000! was computed
   by the MacLISP system using bignums:

   40238726007709377354370243392300398571937486421071
   46325437999104299385123986290205920442084869694048
   00479988610197196058631666872994808558901323829669
   94459099742450408707375991882362772718873251977950
   59509952761208749754624970436014182780946464962910
   56393887437886487337119181045825783647849977012476
   63288983595573543251318532395846307555740911426241
   74743493475534286465766116677973966688202912073791
   43853719588249808126867838374559731746136085379534
   52422158659320192809087829730843139284440328123155
   86110369768013573042161687476096758713483120254785
   89320767169132448426236131412508780208000261683151
   02734182797770478463586817016436502415369139828126
   48102130927612448963599287051149649754199093422215
   66832572080821333186116811553615836546984046708975
   60290095053761647584772842188967964624494516076535
   34081989013854424879849599533191017233555566021394
   50399736280750137837615307127761926849034352625200
   01588853514733161170210396817592151090778801939317
   81141945452572238655414610628921879602238389714760
   88506276862967146674697562911234082439208160153780
   88989396451826324367161676217916890977991190375403
   12746222899880051954444142820121873617459926429565
   81746628302955570299024324153181617210465832036786
   90611726015878352075151628422554026517048330422614
   39742869330616908979684825901254583271682264580665
   26769958652682272807075781391858178889652208164348
   34482599326604336766017699961283186078838615027946
   59551311565520360939881806121385586003014356945272
   24206344631797460594682573103790084024432438465657
   24501440282188525247093519062092902313649327349756
   55139587205596542287497740114133469627154228458623
   77387538230483865688976461927383814900140767310446
   64025989949022222176590433990188601856652648506179
   97023561938970178600408118897299183110211712298459
   01641921068884387121855646124960798722908519296819
   37238864261483965738229112312502418664935314397013
   74285319266498753372189406942814341185201580141233
   44828015051399694290153483077644569099073152433278
   28826986460278986432113908350621709500259738986355
   42771967428222487575867657523442202075736305694988
   25087968928162753848863396909959826280956121450994
   87170124451646126037902930912088908694202851064018
   21543994571568059418727489980942547421735824010636
   77404595741785160829230135358081840096996372524230
   56085590370062427124341690900415369010593398383577
   79394109700277534720000000000000000000000000000000
   00000000000000000000000000000000000000000000000000
   00000000000000000000000000000000000000000000000000
   00000000000000000000000000000000000000000000000000
   00000000000000000000000000000000000000000000000000
   00000000000000000.

:bigot: n.

   [common]  A  person  who  is  religiously  attached  to  a particular
   computer,  language,  operating  system,  editor,  or other tool (see
   {religious  issues}).  Usually  found  with  a  specifier; thus, Cray
   bigot,  ITS  bigot, APL bigot, VMS bigot, Berkeley bigot. Real bigots
   can  be distinguished from mere partisans or zealots by the fact that
   they  refuse to learn alternatives even when the march of time and/or
   technology  is  threatening to obsolete the favored tool. It is truly
   said  "You  can  tell  a bigot, but you can't tell him much." Compare
   {weenie}, {Amiga Persecution Complex}.

:bikeshedding:

   [originally  BSD, now common] Technical disputes over minor, marginal
   issues  conducted  while  more serious ones are being overlooked. The
   implied  image  is  of  people  arguing  over what color to paint the
   bicycle shed while the house is not finished.

:binary four: n.

   [Usenet]  The  finger,  in the sense of digitus impudicus. This comes
   from  an  analogy  between  binary  and the hand, i.e. 1=00001=thumb,
   2=00010=index  finger,  3=00011=index  and thumb, 4=00100. Considered
   silly. Prob. from humorous derivative of {finger}, sense 4.

:bit: n.

   [from the mainstream meaning and "Binary digIT"]

   1.  [techspeak]  The  unit  of information; the amount of information
   obtained  from  knowing  the answer to a yes-or-no question for which
   the two outcomes are equally probable.

   2.  [techspeak]  A computational quantity that can take on one of two
   values, such as true and false or 0 and 1.

   3.   A  mental  flag:  a  reminder  that  something  should  be  done
   eventually.  "I  have  a  bit set for you." (I haven't seen you for a
   while, and I'm supposed to tell or ask you something.)

   4.  More generally, a (possibly incorrect) mental state of belief. "I
   have  a  bit  set  that  says  that  you were the last guy to hack on
   EMACS." (Meaning "I think you were the last guy to hack on EMACS, and
   what  I  am  about to say is predicated on this, so please stop me if
   this  isn't true.") "I just need one bit from you" is a polite way of
   indicating  that  you intend only a short interruption for a question
   that can presumably be answered yes or no.

   A bit is said to be set if its value is true or 1, and reset or clear
   if  its value is false or 0. One speaks of setting and clearing bits.
   To  {toggle}  or  invert a bit is to change it, either from 0 to 1 or
   from 1 to 0. See also {flag}, {trit}, {mode bit}.

   The term bit first appeared in print in the computer-science sense in
   a  1948  paper  by information theorist Claude Shannon, and was there
   credited  to  the early computer scientist John Tukey (who also seems
   to  have  coined  the  term software). Tukey records that bit evolved
   over  a  lunch table as a handier alternative to bigit or binit, at a
   conference in the winter of 1943-44.

:bit bang: n.

   Transmission  of  data on a serial line, when accomplished by rapidly
   tweaking  a single output bit, in software, at the appropriate times.
   The  technique  is a simple loop with eight OUT and SHIFT instruction
   pairs  for  each  byte.  Input  is  more interesting. And full duplex
   (doing  input and output at the same time) is one way to separate the
   real hackers from the {wannabee}s.

   Bit  bang  was  used  on  certain  early  models  of Prime computers,
   presumably  when  UARTs were too expensive, and on archaic Z80 micros
   with a Zilog PIO but no SIO. In an interesting instance of the {cycle
   of  reincarnation}, this technique returned to use in the early 1990s
   on  some RISC architectures because it consumes such an infinitesimal
   part  of  the  processor  that  it actually makes sense not to have a
   UART.  Compare  {cycle  of  reincarnation}.  Nowadays  it's  used  to
   describe I2C, a serial protocol for monitoring motherboard hardware.

:bit bashing: n.

   (alt.:  bit diddling or {bit twiddling}) Term used to describe any of
   several  kinds of low-level programming characterized by manipulation
   of  {bit},  {flag},  {nybble}, and other smaller-than-character-sized
   pieces  of  data;  these include low-level device control, encryption
   algorithms, checksum and error-correcting codes, hash functions, some
   flavors    of    graphics    programming    (see    {bitblt}),    and
   assembler/compiler  code  generation.  May connote either tedium or a
   real  technical  challenge  (more  usually  the former). "The command
   decoding  for  the  new  tape  driver  looks  pretty  solid  but  the
   bit-bashing for the control registers still has bugs." See also {mode
   bit}.

:bit bucket: n.

   [very common]

   1.  The universal data sink (originally, the mythical receptacle used
   to catch bits when they fall off the end of a register during a shift
   instruction). Discarded, lost, or destroyed data is said to have gone
   to  the  bit bucket. On {Unix}, often used for {/dev/null}. Sometimes
   amplified as the Great Bit Bucket in the Sky.

   2. The place where all lost mail and news messages eventually go. The
   selection  is  performed according to {Finagle's Law}; important mail
   is much more likely to end up in the bit bucket than junk mail, which
   has  an  almost 100% probability of getting delivered. Routing to the
   bit  bucket  is automatically performed by mail-transfer agents, news
   systems, and the lower layers of the network.

   3.  The ideal location for all unwanted mail responses: "Flames about
   this  article  to  the  bit  bucket." Such a request is guaranteed to
   overflow one's mailbox with flames.

   4.  Excuse  for  all mail that has not been sent. "I mailed you those
   figures  last week; they must have landed in the bit bucket." Compare
   {black hole}.

   This  term is used purely in jest. It is based on the fanciful notion
   that bits are objects that are not destroyed but only misplaced. This
   appears  to  have been a mutation of an earlier term `bit box', about
   which  the same legend was current; old-time hackers also report that
   trainees used to be told that when the CPU stored bits into memory it
   was actually pulling them "out of the bit box". See also {chad box}.

   Another  variant  of this legend has it that, as a consequence of the
   "parity  preservation  law",  the number of 1 bits that go to the bit
   bucket must equal the number of 0 bits. Any imbalance results in bits
   filling  up the bit bucket. A qualified computer technician can empty
   a full bit bucket as part of scheduled maintenance.

   The  source  for  all these meanings, is, historically, the fact that
   the  {chad  box}  on  a  paper-tape  punch was sometimes called a bit
   bucket.

   [75-10-04.png]

   A literal {bit bucket}.

   (The  next cartoon in the Crunchly saga is 76-02-14. The previous one
   is 75-10-04.)

:bit decay: n.

   See  {bit  rot}. People with a physics background tend to prefer this
   variant  for  the  analogy with particle decay. See also {computron},
   {quantum bogodynamics}.

:bit rot: n.

   [common]  Also  {bit  decay}.  Hypothetical  disease the existence of
   which  has  been deduced from the observation that unused programs or
   features  will  often  stop working after sufficient time has passed,
   even if `nothing has changed'. The theory explains that bits decay as
   if  they  were radioactive. As time passes, the contents of a file or
   the code in a program will become increasingly garbled.

   There  actually  are  physical  processes  that  produce such effects
   (alpha  particles  generated  by  trace radionuclides in ceramic chip
   packages,  for  example, can change the contents of a computer memory
   unpredictably, and various kinds of subtle media failures can corrupt
   files  in  mass  storage), but they are quite rare (and computers are
   built  with  error-detecting  circuitry  to compensate for them). The
   notion  long  favored  among  hackers  that cosmic rays are among the
   causes  of  such events turns out to be a myth; see the {cosmic rays}
   entry for details.

   The  term  {software  rot}  is almost synonymous. Software rot is the
   effect, bit rot the notional cause.

:bit twiddling: n.

   [very common]

   1.   (pejorative)  An  exercise  in  tuning  (see  {tune})  in  which
   incredible amounts of time and effort go to produce little noticeable
   improvement,   often   with   the   result   that  the  code  becomes
   incomprehensible.

   2.  Aimless  small modification to a program, esp. for some pointless
   goal.

   3.  Approx. syn. for {bit bashing}; esp. used for the act of frobbing
   the  device  control register of a peripheral in an attempt to get it
   back to a known state.

:bit-paired keyboard: n.,obs.

   (alt.:  bit-shift keyboard) A non-standard keyboard layout that seems
   to  have  originated with the Teletype ASR-33 and remained common for
   several   years  on  early  computer  equipment.  The  ASR-33  was  a
   mechanical  device  (see  {EOU}),  so  the  only  way to generate the
   character  codes  from  keystrokes  was by some physical linkage. The
   design of the ASR-33 assigned each character key a basic pattern that
   could  be  modified by flipping bits if the SHIFT or the CTRL key was
   pressed. In order to avoid making the thing even more of a kluge than
   it  already  was,  the design had to group characters that shared the
   same basic bit pattern on one key.

   Looking at the ASCII chart, we find:

high  low bits
bits  0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
 010        !    "    #    $    %    &    '    (    )
 011   0    1    2    3    4    5    6    7    8    9

   This  is  why  the  characters  !"#$%&'()  appear  where they do on a
   Teletype  (thankfully,  they  didn't  use  shift-0  for  space).  The
   Teletype Model 33 was actually designed before ASCII existed, and was
   originally intended to use a code that contained these two rows:

      low bits
high  0000  0010  0100  0110  1000  1010  1100  1110
bits     0001  0011  0101  0111  1001  1011  1101  1111
  10   )  ! bel #  $  % wru &  *  (  "  :  ?  _  ,   .
  11   0  1  2  3  4  5  6  7  8  9  '  ;  /  - esc del

   The result would have been something closer to a normal keyboard. But
   as  it happened, Teletype had to use a lot of persuasion just to keep
   ASCII, and the Model 33 keyboard, from looking like this instead:

          !  "  ?  $  '  &  -  (  )  ;  :  *  /  ,  .
       0  1  2  3  4  5  6  7  8  9  +  ~  <  >  ×  |

   Teletype's was not the weirdest variant of the {QWERTY} layout widely
   seen,  by  the  way;  that prize should probably go to one of several
   (differing)  arrangements  on  IBM's  even  clunkier 026 and 029 card
   punches.

   When  electronic  terminals became popular, in the early 1970s, there
   was  no  agreement  in  the industry over how the keyboards should be
   laid  out. Some vendors opted to emulate the Teletype keyboard, while
   others  used  the  flexibility  of electronic circuitry to make their
   product  look  like an office typewriter. Either choice was supported
   by the ANSI computer keyboard standard, X4.14-1971, which referred to
   the  alternatives  as "logical bit pairing" and "typewriter pairing".
   These  alternatives  became known as bit-paired and typewriter-paired
   keyboards.  To  a  hacker,  the  bit-paired  keyboard seemed far more
   logical  --  and because most hackers in those days had never learned
   to touch-type, there was little pressure from the pioneering users to
   adapt keyboards to the typewriter standard.

   The  doom of the bit-paired keyboard was the large-scale introduction
   of  the  computer  terminal into the normal office environment, where
   out-and-out  technophobes  were  expected  to  use the equipment. The
   typewriter-paired  standard became universal, X4.14 was superseded by
   X4.23-1982,  bit-paired  hardware  was quickly junked or relegated to
   dusty corners, and both terms passed into disuse.

   However,  in  countries  without  a long history of touch typing, the
   argument   against   the  bit-paired  keyboard  layout  was  weak  or
   nonexistent.  As  a  result,  the standard Japanese keyboard, used on
   PCs,  Unix boxen etc. still has all of the !"#$%&'() characters above
   the numbers in the ASR-33 layout.

:bitblt: /bit´blit/, n.

   [from {BLT}, q.v.:]

   1.  [common] Any of a family of closely related algorithms for moving
   and  copying  rectangles of bits between main and display memory on a
   bit-mapped  device,  or  between  two areas of either main or display
   memory  (the  requirement  to  do  the  {Right  Thing} in the case of
   overlapping  source  and  destination rectangles is what makes BitBlt
   tricky).

   2. Synonym for {blit} or {BLT}. Both uses are borderline techspeak.

:bits: pl.n.

   1.  Information. Examples: "I need some bits about file formats." ("I
   need to know about file formats.") Compare {core dump}, sense 4.

   2.  Machine-readable  representation  of  a document, specifically as
   contrasted  with  paper: "I have only a photocopy of the Jargon File;
   does  anyone know where I can get the bits?". See {softcopy}, {source
   of all good bits} See also {bit}.

:bitty box: /bit´ee boks/, n.

   1. A computer sufficiently small, primitive, or incapable as to cause
   a  hacker  acute claustrophobia at the thought of developing software
   on    or   for   it.   Especially   used   of   small,   obsolescent,
   single-tasking-only personal machines such as the Atari 800, Osborne,
   Sinclair, VIC-20, TRS-80, or IBM PC.

   2.  [Pejorative] More generally, the opposite of `real computer' (see
   {Get a real computer!}). See also {mess-dos}, {toaster}, and {toy}.

:bixie: /bik´see/, n.

   Variant {emoticon}s used BIX (the BIX Information eXchange); the term
   survived  the  demise of BIX itself. The most common ({smiley}) bixie
   is  <@_@>,  representing  two  cartoon  eyes  and a mouth. These were
   originally invented in an SF fanzine called APA-L and imported to BIX
   by one of the earliest users.

:black art: n.

   [common]  A  collection  of arcane, unpublished, and (by implication)
   mostly  ad-hoc  techniques  developed for a particular application or
   systems  area  (compare {black magic}). VLSI design and compiler code
   optimization  were  (in their beginnings) considered classic examples
   of  black art; as theory developed they became {deep magic}, and once
   standard  textbooks had been written, became merely {heavy wizardry}.
   The  huge proliferation of formal and informal channels for spreading
   around new computer-related technologies during the last twenty years
   has  made  both  the term black art and what it describes less common
   than formerly. See also {voodoo programming}.

:black hat:

   1.  [common  among security specialists] A {cracker}, someone bent on
   breaking  into  the  system you are protecting. Oppose the less comon
   white  hat for an ally or friendly security specialist; the term gray
   hat  is  in  occasional  use for people with cracker skills operating
   within  the  law, e.g. in doing security evaluations. All three terms
   derive  from  the dress code of formulaic Westerns, in which bad guys
   wore black hats and good guys white ones.

   2.  [spamfighters]  `Black hat', `white hat', and `gray hat' are also
   used to denote the spam-friendliness of ISPs: a black hat ISP harbors
   spammers  and doesn't terminate them; a white hat ISP terminates upon
   the  first  LART; and gray hat ISPs terminate only reluctantly and/or
   slowly.  This  has  led  to  the  concept  of  a  hat  check: someone
   considering  a  potential  business relationship with an ISP or other
   provider  will  post  a  query  to  a  {NANA} group, asking about the
   provider's  hat color. The term albedo has also been used to describe
   a provider's spam-friendliness.

:black hole: n.,vt.

   [common]  What  data  (a  piece  of  email or netnews, or a stream of
   TCP/IP packets) has fallen into if it disappears mysteriously between
   its  origin  and  destination  sites  (that  is,  without returning a
   {bounce  message}). "I think there's a black hole at foovax!" conveys
   suspicion  that  site  foovax has been dropping a lot of stuff on the
   floor lately (see {drop on the floor}). The implied metaphor of email
   as  interstellar  travel  is interesting in itself. Readily verbed as
   blackhole:  "That  router  is  blackholing IDP packets." Compare {bit
   bucket} and see {RBL}.

:black magic: n.

   [common]  A  technique  that  works, though nobody really understands
   why.  More  obscure  than  {voodoo programming}, which may be done by
   cookbook.  Compare also {black art}, {deep magic}, and {magic number}
   (sense 2).

:Black Screen of Death:

   [prob.:  related  to  the Floating Head of Death in a famous Far Side
   cartoon.]  A  failure  mode of {Microsloth Windows}. On an attempt to
   launch  a  DOS  box, a networked Windows system not uncommonly blanks
   the screen and locks up the PC so hard that it requires a cold {boot}
   to  recover.  This unhappy phenomenon is known as The Black Screen of
   Death.  See also {Blue Screen of Death}, which has become rather more
   common.

:blammo: v.

   [Oxford Brookes University and alumni, UK] To forcibly remove someone
   from   any   interactive   system,  especially  talker  systems.  The
   operators,  who  may  remain  hidden,  may  "blammo"  a  user  who is
   misbehaving. Very similar to archaic MIT gun; in fact, the blammo-gun
   is  a  notional device used to "blammo" someone. While in actual fact
   the  only  incarnation  of  the  blammo-gun  is  the  command used to
   forcibly  eject  a  user,  operators  speak  of  different  levels of
   blammo-gun fire; e.g., a blammo-gun to `stun' will temporarily remove
   someone, but a blammo-gun set to `maim' will stop someone coming back
   on for a while.

:blargh: /blarg/, n.

   [MIT;  now  common]  The  opposite of {ping}, sense 5; an exclamation
   indicating  that  one  has  absorbed  or  is  emitting  a  quantum of
   unhappiness. Less common than {ping}.

:blast:

   1.  v.,n.  Synonym  for  {BLT}, used esp. for large data sends over a
   network  or  comm  line.  Opposite  of  {snarf}. Usage: uncommon. The
   variant `blat' has been reported.

   2.  vt.  [HP/Apollo]  Synonymous with {nuke} (sense 3). Sometimes the
   message  Unable to kill all processes. Blast them (y/n)? would appear
   in the command window upon logout.

:blat: n.

   1. Syn. {blast}, sense 1.

   2. See {thud}.

:bletch: /blech/, interj.

   [very  common;  from  Yiddish/German  `brechen',  to vomit, poss. via
   comic-strip exclamation `blech'] Term of disgust. Often used in "Ugh,
   bletch". Compare {barf}.

:bletcherous: /blech'@·r@s/, adj.

   Disgusting in design or function; esthetically unappealing. This word
   is  seldom  used  of people. "This keyboard is bletcherous!" (Perhaps
   the  keys  don't  work  very  well,  or are misplaced.) See {losing},
   {cretinous},   {bagbiting},   {bogus},   and   {random}.   The   term
   {bletcherous}  applies  to  the  esthetics of the thing so described;
   similarly  for  {cretinous}. By contrast, something that is losing or
   bagbiting may be failing to meet objective criteria. See also {bogus}
   and  {random}, which have richer and wider shades of meaning than any
   of the above.

:blinkenlights: /blink'@n·li:tz/, n.

   [common]   Front-panel  diagnostic  lights  on  a  computer,  esp.  a
   {dinosaur}.  Now that dinosaurs are rare, this term usually refers to
   status lights on a modem, network hub, or the like.

   This term derives from the last word of the famous blackletter-Gothic
   sign  in  mangled  pseudo-German  that  once  graced  about  half the
   computer  rooms in the English-speaking world. One version ran in its
   entirety as follows:

                     ACHTUNG!  ALLES LOOKENSPEEPERS!
   Alles touristen und non-technischen looken peepers!
   Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
   Ist easy schnappen der springenwerk, blowenfusen und poppencorken
   mit spitzensparken.  Ist nicht fuer gewerken bei das dumpkopfen.
   Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
   pockets muss; relaxen und watchen das blinkenlichten.

   This  silliness  dates  back  at  least as far as 1955 at IBM and had
   already  gone  international by the early 1960s, when it was reported
   at  London  University's  ATLAS  computing  site.  There  are several
   variants of it in circulation, some of which actually do end with the
   word `blinkenlights'.

   In  an amusing example of turnabout-is-fair-play, German hackers have
   developed their own versions of the blinkenlights poster in fractured
   English, one of which is reproduced here:

                                 ATTENTION
   This room is fullfilled mit special electronische equippment.
   Fingergrabbing and pressing the cnoeppkes from the computers is
   allowed for die experts only!  So all the "lefthanders" stay away
   and do not disturben the brainstorming von here working
   intelligencies.  Otherwise you will be out thrown and kicked
   anderswhere!  Also: please keep still and only watchen astaunished
   the blinkenlights.

   See also {geef}.

   Old-time  hackers  sometimes  get nostalgic for blinkenlights because
   they were so much more fun to look at than a blank panel. Sadly, very
   few  computers  still  have  them  (the  three  LEDs on a PC keyboard
   certainly  don't count). The obvious reasons (cost of wiring, cost of
   front-panel  cutouts,  almost  nobody  needs  or  wants  to interpret
   machine-register  states  on  the  fly  anymore) are only part of the
   story.  Another  part  of it is that radio-frequency leakage from the
   lamp  wiring  was beginning to be a problem as far back as transistor
   machines.  But  the  most fundamental fact is that there are very few
   signals  slow  enough to blink an LED these days! With slow CPUs, you
   could watch the bus register or instruction counter tick, but even at
   33/66/150MHz (let alone gigahertz speeds) it's all a blur.

   Despite  this, a couple of relatively recent computer designs of note
   have featured programmable blinkenlights that were added just because
   they looked cool. The Connection Machine, a 65,536-processor parallel
   computer  designed  in  the mid-1980s, was a black cube with one side
   covered  with  a  grid  of red blinkenlights; the sales demo had them
   evolving  {life}  patterns.  A few years later the ill-fated BeBox (a
   personal computer designed to run the BeOS operating system) featured
   twin  rows  of blinkenlights on the case front. When Be, Inc. decided
   to  get out of the hardware business in 1996 and instead ported their
   OS  to  the  PowerPC  and later to the Intel architecture, many users
   suffered  severely  from  the absence of their beloved blinkenlights.
   Before  long  an external version of the blinkenlights driven by a PC
   serial  port became available; there is some sort of plot symmetry in
   the fact that it was assembled by a German.

   Finally,  a  version  updated  for  the  Internet  has  been  seen on
   news.admin.net-abuse.email:

                       ACHTUNG! ALLES LOOKENSPEEPERS!
   Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist eas
   y
   droppenpacket der routers und overloaden der backbone mit der spammen
   und der me-tooen.  Ist nicht fuer gewerken bei das dumpkopfen. Das
   mausklicken sichtseeren keepen das bandwit-spewin hans in das pockets
   muss; relaxen und watchen das cursorblinken.

   This   newest   version   partly   reflects  reports  that  the  word
   `blinkenlights'  is  (in  1999)  undergoing something of a revival in
   usage,  but applied to networking equipment. The transmit and receive
   lights  on  routers,  activity lights on switches and hubs, and other
   network  equipment  often  blink  in  visually pleasing and seemingly
   coordinated  ways.  Although  this  is  different  in  some ways from
   register  readings, a tall stack of Cisco equipment or a 19-inch rack
   of  ISDN  terminals  can  provoke  a similar feeling of hypnotic awe,
   especially in a darkened network operations center or server room.

   The  ancestor  of the original blinkenlights posters of the 1950s was
   probably this:

   [gefingerpoken.jpg]

   WWII-era machine-shop poster

   We  are  informed  that  cod-German  parodies  of this kind were very
   common  in  Allied  machine shops during and following WWII. Germans,
   then  as  now,  had  a  reputation for being both good with precision
   machinery and prone to officious notices.

:blit: /blit/, vt.

   1.  [common]  To  copy  a  large  array  of  bits  from one part of a
   computer's  memory  to  another part, particularly when the memory is
   being  used  to  determine  what  is  shown on a display screen. "The
   storage  allocator  picks through the table and copies the good parts
   up  into  high  memory,  and  then blits it all back down again." See
   {bitblt},  {BLT},  {dd},  {cat}, {blast}, {snarf}. More generally, to
   perform  some  operation  (such as toggling) on a large array of bits
   while moving them.

   2.  [historical,  rare]  Sometimes  all-capitalized as BLIT: an early
   experimental  bit-mapped  terminal designed by Rob Pike at Bell Labs,
   later commercialized as the AT&T 5620. (The folk etymology from "Bell
   Labs  Intelligent Terminal" is incorrect. Its creators liked to claim
   that "Blit" stood for the Bacon, Lettuce, and Interactive Tomato.)

:blitter: /blit´r/, n.

   [common]  A  special-purpose chip or hardware system built to perform
   {blit}  operations,  esp.  used for fast implementation of bit-mapped
   graphics.  The Commodore Amiga and a few other micros have these, but
   since  1990 the trend has been away from them (however, see {cycle of
   reincarnation}). Syn. {raster blaster}.

:blivet: /bliv'@t/, n.

   [allegedly  from  a World War II military term meaning "ten pounds of
   manure in a five-pound bag"]

   1. An intractable problem.

   2.  A crucial piece of hardware that can't be fixed or replaced if it
   breaks.

   3.  A  tool  that  has  been  hacked  over  by  so  many  incompetent
   programmers that it has become an unmaintainable tissue of hacks.

   4. An out-of-control but unkillable development effort.

   5. An embarrassing bug that pops up during a customer demo.

   6.   In   the   subjargon   of   computer   security  specialists,  a
   denial-of-service  attack performed by hogging limited resources that
   have  no  access  controls  (for  example,  shared  spool  space on a
   multi-user system).

   This  term  has  other  meanings  in  other technical cultures; among
   experimental  physicists  and  hardware engineers of various kinds it
   seems  to  mean  any  random  object  of  unknown purpose (similar to
   hackish  use of {frob}). It has also been used to describe an amusing
   trick-the-eye drawing resembling a three-pronged fork that appears to
   depict  a  three-dimensional object until one realizes that the parts
   fit together in an impossible way.

   [blivet.png]

   This is a blivet

:bloatware: n.

   [common] Software that provides minimal functionality while requiring
   a  disproportionate  amount  of diskspace and memory. Especially used
   for  application  and  OS  upgrades.  This term is very common in the
   Windows/NT world. So is its cause.

:BLOB:

   1. n. [acronym: Binary Large OBject] Used by database people to refer
   to  any  random  large  block  of  bits  that needs to be stored in a
   database,  such as a picture or sound file. The essential point about
   a  BLOB  is that it's an object that cannot be interpreted within the
   database itself.

   2.  v.  To {mailbomb} someone by sending a BLOB to him/her; esp. used
   as  a  mild threat. "If that program crashes again, I'm going to BLOB
   the core dump to you."

:block: v.

   [common; from process scheduling terminology in OS theory]

   1.  vi.  To  delay  or  sit  idle while waiting for something. "We're
   blocking until everyone gets here." Compare {busy-wait}.

   2.  block on vt. To block, waiting for (something). "Lunch is blocked
   on Phil's arrival."

:blog: n.

   [common] Short for weblog, an on-line web-zine or diary (usually with
   facilities   for   reader   comments  and  discussion  threads)  made
   accessible  through  the  World Wide Web. This term is widespread and
   readily   forms   derivatives,   of  which  the  best  known  may  be
   {blogosphere}.

:Bloggs Family: n.

   An  imaginary  family  consisting  of  Fred and Mary Bloggs and their
   children.  Used  as a standard example in knowledge representation to
   show  the difference between extensional and intensional objects. For
   example, every occurrence of "Fred Bloggs" is the same unique person,
   whereas  occurrences  of  "person"  may  refer  to  different people.
   Members  of  the  Bloggs  family have been known to pop up in bizarre
   places  such  as the old {DEC} Telephone Directory. Compare {Dr. Fred
   Mbogo}; {J. Random Hacker}; {Fred Foobar}.

:blogosphere:

   The  totality  of all {blog}s. A culture heavily overlapping with but
   not   coincident   with   hackerdom;   a  few  of  its  key  coinages
   ({blogrolling}, {fisking}, {anti-idiotarianism}) are recorded in this
   lexicon for flavor. Bloggers often divide themselves into warbloggers
   and   techbloggers.  The  techbloggers  write  about  technology  and
   technology policy, while the warbloggers are more politically focused
   and  tend  to  be  preoccupied  with  U.S.  and world response to the
   post-9/11  war  against  terrorism.  The  overlap  with  hackerdom is
   heaviest  among  the  techbloggers, but several of the most prominent
   warbloggers are also hackers. Bloggers in general tend to be aware of
   and sympathetic to the hacker culture.

:blogrolling:

   [From  the  American  political  term  `logrolling',  for  supporting
   another's  pet  bill  in  the  legislature in exchange for reciprocal
   support,]  When  you  hotlink  to other bloggers' blogs (and-or other
   bloggers'  specific  blog entries) in your blog, you are blogrolling.
   This is frequently reciprocal.

:blow an EPROM: /bloh @n ee´prom/, v.

   (alt.:  blast an EPROM, burn an EPROM) To program a read-only memory,
   e.g.:  for  use  with an embedded system. This term arose because the
   programming  process  for the Programmable Read-Only Memories (PROMs)
   that  preceded  present-day  Erasable Programmable Read-Only Memories
   (EPROMs)  involved intentionally blowing tiny electrical fuses on the
   chip.  The  usage lives on (it's too vivid and expressive to discard)
   even though the write process on EPROMs is nondestructive.

:blow away: vt.

   To  remove  (files and directories) from permanent storage, generally
   by  accident.  "He reformatted the wrong partition and blew away last
   night's netnews." Oppose {nuke}.

:blow out: vi.

   [prob.:  from  mining  and  tunneling  jargon]  Of  software, to fail
   spectacularly;  almost  as  serious  as  {crash  and burn}. See {blow
   past}, {blow up}, {die horribly}.

:blow past: vt.

   To  {blow  out}  despite  a  safeguard.  "The server blew past the 5K
   reserve buffer."

:blow up: vi.

   1.  [scientific  computation]  To  become unstable. Suggests that the
   computation  is diverging so rapidly that it will soon overflow or at
   least go {nonlinear}.

   2. Syn. {blow out}.

:BLT: /B·L·T/, /bl@t/, /belt/, n.,vt.

   Synonym  for  {blit}.  This  is  the  original form of {blit} and the
   ancestor of {bitblt}. It referred to any large bit-field copy or move
   operation  (one resource-intensive memory-shuffling operation done on
   pre-paged  versions  of  ITS,  WAITS,  and  TOPS-10  was sardonically
   referred  to  as  "The  Big BLT"). The jargon usage has outlasted the
   {PDP-10}   BLock  Transfer  instruction  from  which  {BLT}  derives;
   nowadays, the assembler mnemonic {BLT} almost always means "Branch if
   Less Than zero".

:blue box:

   n.

   1.  obs.  Once  upon  a  time,  before  all-digital  switches made it
   possible  for the phone companies to move them out of band, one could
   actually  hear the switching tones used to route long-distance calls.
   Early   {phreaker}s  built  devices  called  blue  boxes  that  could
   reproduce  these tones, which could be used to commandeer portions of
   the  phone  network. (This was not as hard as it may sound; one early
   phreak  acquired  the sobriquet "Captain Crunch" after he proved that
   he  could  generate switching tones with a plastic whistle pulled out
   of  a  box  of Captain Crunch cereal!) There were other colors of box
   with  more specialized phreaking uses; red boxes, black boxes, silver
   boxes,  etc.  There  were boxes of other colors as well, but the blue
   box was the original and archetype.

   2. n. An {IBM} machine, especially a large (non-PC) one.

:Blue Glue: n.

   [IBM;  obs.]  IBM's SNA (Systems Network Architecture), an incredibly
   {losing}   and  {bletcherous}  communications  protocol  once  widely
   favored  at  commercial shops that didn't know any better (like other
   proprietary  networking protocols, it became obsolete and effectively
   disappeared  after  the  Internet explosion c.1994). The official IBM
   definition  is  "that which binds blue boxes together." See {fear and
   loathing}.  It may not be irrelevant that Blue Glue is the trade name
   of a 3M product that is commonly used to hold down the carpet squares
   to   the   removable  panel  floors  common  in  {dinosaur  pen}s.  A
   correspondent  at  U.  Minn. reports that the CS department there has
   about  80  bottles of the stuff hanging about, so they often refer to
   any messy work to be done as using the blue glue.

:blue goo: n.

   Term for `police' {nanobot}s intended to prevent {gray goo}, denature
   hazardous   waste,   destroy  pollution,  put  ozone  back  into  the
   stratosphere,  prevent halitosis, and promote truth, justice, and the
   American  way,  etc.  The term "Blue Goo" can be found in Dr. Seuss's
   Fox  In Socks to refer to a substance much like bubblegum. `Would you
   like to chew blue goo, sir?'. See {nanotechnology}.

:Blue Screen of Death: n.

   [common]  This  term is closely related to the older {Black Screen of
   Death} but much more common (many non-hackers have picked it up). Due
   to   the  extreme  fragility  and  bugginess  of  Microsoft  Windows,
   misbehaving  applications  can  readily  crash  the  OS  (and  the OS
   sometimes  crashes  itself  spontaneously). The Blue Screen of Death,
   sometimes  decorated  with hex error codes, is what you get when this
   happens.  (Commonly abbreviated {BSOD}.) The following entry from the
   Salon Haiku Contest, seems to have predated popular use of the term:

           Windows NT crashed.
           I am the Blue Screen of Death
           No one hears your screams.

:blue wire: n.

   [IBM]  Patch wires (esp. 30 AWG gauge) added to circuit boards at the
   factory  to  correct design or fabrication problems. Blue wire is not
   necessarily  blue,  the  term  describes  function rather than color.
   These  may  be  necessary  if  there  hasn't  been time to design and
   qualify  another  board  version.  In Great Britain this can be bodge
   wire,  after  mainstream  slang  bodge  for a clumsy improvisation or
   sloppy job of work. Compare {purple wire}, {red wire}, {yellow wire},
   {pink wire}.

:blurgle: /bler´gl/, n.

   [UK]  Spoken  {metasyntactic variable}, to indicate some text that is
   obvious from context, or which is already known. If several words are
   to  be replaced, blurgle may well be doubled or tripled. "To look for
   something  in  several  files  use `grep string blurgle blurgle'." In
   each  case,  "blurgle  blurgle" would be understood to be replaced by
   the file you wished to search. Compare {mumble}, sense 7.

:BNF: /B·N·F/, n.

   1.  [techspeak]  Acronym  for Backus Normal Form (later retronymed to
   Backus-Naur  Form  because  BNF  was  not  in  fact a normal form), a
   metasyntactic  notation  used  to  specify  the syntax of programming
   languages,  command  sets,  and  the  like.  Widely used for language
   descriptions  but seldom documented anywhere, so that it must usually
   be  learned  by  osmosis  from other hackers. Consider this BNF for a
   U.S. postal address:

     ::=   
     ::=  |  "."
     ::=   [] 
                  |  
     ::= []   
     ::=  ","   

   This  translates  into  English  as:  "A postal-address consists of a
   name-part,  followed by a street-address part, followed by a zip-code
   part.  A  personal-part consists of either a first name or an initial
   followed  by  a  dot. A name-part consists of either: a personal-part
   followed by a last name followed by an optional jr-part (Jr., Sr., or
   dynastic  number)  and  end-of-line, or a personal part followed by a
   name  part  (this  rule  illustrates  the  use  of recursion in BNFs,
   covering  the  case of people who use multiple first and middle names
   and/or  initials). A street address consists of an optional apartment
   specifier,  followed by a street number, followed by a street name. A
   zip-part  consists of a town-name, followed by a comma, followed by a
   state  code, followed by a ZIP-code followed by an end-of-line." Note
   that  many  things  (such as the format of a personal-part, apartment
   specifier,  or  ZIP-code) are left unspecified. These are presumed to
   be  obvious  from  context  or  detailed  somewhere  nearby. See also
   {parse}.

   2. Any of a number of variants and extensions of BNF proper, possibly
   containing  some  or all of the {regexp} wildcards such as * or +. In
   fact  the example above isn't the pure form invented for the Algol-60
   report;  it  uses [], which was introduced a few years later in IBM's
   PL/I definition but is now universally recognized.

   3.  In  {science-fiction fandom}, a `Big-Name Fan' (someone famous or
   notorious).  Years  ago  a fan started handing out black-on-green BNF
   buttons  at  SF  conventions;  this  confused  the  hacker contingent
   terribly.

:boa: n.

   Any  one  of  the fat cables that lurk under the floor in a {dinosaur
   pen}.  Possibly  so  called  because they display a ferocious life of
   their  own when you try to lay them straight and flat after they have
   been  coiled  for  some  time.  It is rumored within IBM that channel
   cables for the 370 are limited to 200 feet because beyond that length
   the  boas  get  dangerous  --  and it is worth noting that one of the
   major cable makers uses the trademark `Anaconda'.

:board: n.

   1.  In-context  synonym  for {bboard}; sometimes used even for Usenet
   newsgroups (but see usage note under {bboard}, sense 1).

   2. An electronic circuit board.

:boat anchor: n.

   [common; from ham radio]

   1.  Like  {doorstop}  but  more  severe;  implies  that the offending
   hardware  is  irreversibly  dead  or  useless.  "That  was  a working
   motherboard once. One lightning strike later, instant boat anchor!"

   2. A person who just takes up space.

   3.  Obsolete  but  still working hardware, especially when used of an
   old, bulky, quirky system; originally a term of annoyance, but became
   more  and  more  affectionate  as  the  hardware became more and more
   obsolete.

   Auctioneers  use  this term for a large, undesirable object such as a
   washing  machine;  actual  boating enthusiasts, however, use "mooring
   anchor" for frustrating (not actually useless) equipment.

:bob: n.

   At  Demon  Internet,  all  tech  support  personnel are called "Bob".
   (Female  support  personnel  have  an  option on "Bobette"). This has
   nothing  to do with Bob the divine drilling-equipment salesman of the
   {Church  of  the  SubGenius}.  Nor is it acronymized from "Brother Of
   {BOFH}",  though all parties agree it could have been. Rather, it was
   triggered  by  an unusually large draft of new tech-support people in
   1995.  It was observed that there would be much duplication of names.
   To  ease  the  confusion, it was decided that all support techs would
   henceforth  be  known  as  "Bob",  and  identity  badges were created
   labelled "Bob 1" and "Bob 2". ("No, we never got any further" reports
   a witness).

   The  reason  for  "Bob" rather than anything else is due to a {luser}
   calling  and asking to speak to "Bob", despite the fact that no "Bob"
   was  currently  working  for  Tech  Support.  Since  we all know "the
   customer  is  always  right",  it was decided that there had to be at
   least one "Bob" on duty at all times, just in case.

   This  sillyness  snowballed  inexorably.  Shift  leaders and managers
   began  to  refer  to  their  groups of "bobs". Whole ranks of support
   machines  were set up (and still exist in the DNS as of 1999) as bob1
   through  bobN. Then came alt.tech-support.recovery, and it was filled
   with Demon support personnel. They all referred to themselves, and to
   others,  as "bob", and after a while it caught on. There is now a Bob
   Code describing the Bob nature.

:bodge:

   [Commonwealth hackish] Syn. {kludge} or {hack} (sense 1). "I'll bodge
   this in now and fix it later".

:BOF: /B·O·F/, /bof/, n.

   1.  [common]  Abbreviation  for  the  phrase  "Birds  Of  a  Feather"
   (flocking together), an informal discussion group and/or bull session
   scheduled on a conference program. It is not clear where or when this
   term originated, but it is now associated with the USENIX conferences
   for  Unix  techies  and was already established there by 1984. It was
   used  earlier  than that at DECUS conferences and is reported to have
   been common at SHARE meetings as far back as the early 1960s.

   2. Acronym, "Beginning of File".

:BOFH: //, n.

   [common]  Acronym, Bastard Operator From Hell. A system administrator
   with  absolutely  no  tolerance  for {luser}s. "You say you need more
   filespace?    Seems  to  me  you  have  plenty
   left..."  Many BOFHs (and others who would be BOFHs if they could get
   away  with  it)  hang  out  in  the  newsgroup alt.sysadmin.recovery,
   although  there has also been created a top-level newsgroup hierarchy
   (bofh.*) of their own.

   Several  people  have  written  stories  about BOFHs. The set usually
   considered  canonical  is  by Simon Travaglia and may be found at the
   Bastard  Home  Page. BOFHs and BOFH wannabes hang out on {scary devil
   monastery} and wield {LART}s.

:bogo-sort: /boh`goh·sort´/, n.

   (var.:  stupid-sort)  The archetypical perversely awful algorithm (as
   opposed to {bubble sort}, which is merely the generic bad algorithm).
   Bogo-sort is equivalent to repeatedly throwing a deck of cards in the
   air,  picking them up at random, and then testing whether they are in
   order. It serves as a sort of canonical example of awfulness. Looking
   at  a  program and seeing a dumb algorithm, one might say "Oh, I see,
   this  program  uses  bogo-sort." Esp. appropriate for algorithms with
   factorial  or  super-exponential running time in the average case and
   probabilistically  infinite worst-case running time. Compare {bogus},
   {brute force}.

   A  spectacular  variant  of bogo-sort has been proposed which has the
   interesting  property  that,  if  the  Many  Worlds interpretation of
   quantum  mechanics is true, it can sort an arbitrarily large array in
   linear  time.  (In  the  Many-Worlds model, the result of any quantum
   action   is   to   split   the   universe-before   into  a  sheaf  of
   universes-after,  one  for  each  possible  way  the state vector can
   collapse;  in  any  one  of  the  universes-after  the result appears
   random.) The steps are: 1. Permute the array randomly using a quantum
   process,  2.  If  the  array  is  not  sorted,  destroy  the universe
   (checking that the list is sorted requires O(n) time). Implementation
   of step 2 is left as an exercise for the reader.

:bogometer: /boh·gom'·@t·er/, n.

   A   notional   instrument   for  measuring  {bogosity}.  Compare  the
   {Troll-O-Meter}  and  the `wankometer' described in the {wank} entry;
   see also {bogus}.

:BogoMIPS: /bo´go·mips/, n.

   The  number  of  million times a second a processor can do absolutely
   nothing.  The  {Linux}  OS  measures  BogoMIPS at startup in order to
   calibrate  some soft timing loops that will be used later on; details
   at  the  BogoMIPS  mini-HOWTO. The name Linus chose, of course, is an
   ironic comment on the uselessness of all other {MIPS} figures.

:bogon: /boh´gon/, n.

   [very  common; by analogy with proton/electron/neutron, but doubtless
   reinforced  after 1980 by the similarity to Douglas Adams's `Vogons';
   see the Bibliography in Appendix C and note that Arthur Dent actually
   mispronounces `Vogons' as `Bogons' at one point]

   1.  The elementary particle of bogosity (see {quantum bogodynamics}).
   For  instance,  "the Ethernet is emitting bogons again" means that it
   is broken or acting in an erratic or bogus fashion.

   2.  A  query  packet  sent  from  a  TCP/IP domain resolver to a root
   server, having the reply bit set instead of the query bit.

   3. Any bogus or incorrectly formed packet sent on a network.

   4.  By  synecdoche, used to refer to any bogus thing, as in "I'd like
   to  go  to  lunch  with  you  but  I've got to go to the weekly staff
   bogon".

   5.  A  person  who  is  bogus  or  who  says  bogus  things. This was
   historically  the  original  usage,  but  has  been  overtaken by its
   derivative   senses  1--4.  See  also  {bogosity},  {bogus};  compare
   {psyton}, {fat electrons}, {magic smoke}.

   The  bogon  has  become  the  type case for a whole bestiary of nonce
   particle  names,  including  the  `clutron'  or  `cluon' (indivisible
   particle of cluefulness, obviously the antiparticle of the bogon) and
   the  futon  (elementary  particle  of  {randomness},  or sometimes of
   lameness).  These  are  not  so  much  live  usages  in themselves as
   examples of a live meta-usage: that is, it has become a standard joke
   or    linguistic   maneuver   to   "explain"   otherwise   mysterious
   circumstances  by  inventing  nonce  particle  names. And these imply
   nonce  particle  theories, with all their dignity or lack thereof (we
   might note parenthetically that this is a generalization from "(bogus
   particle)  theories"  to  "bogus (particle theories)"!). Perhaps such
   particles are the modern-day equivalents of trolls and wood-nymphs as
   standard starting-points around which to construct explanatory myths.
   Of  course,  playing  on  an existing word (as in the `futon') yields
   additional flavor. Compare {magic smoke}.

:bogon filter: /boh´gon fil'tr/, n.

   Any  device, software or hardware, that limits or suppresses the flow
   and/or emission of bogons. "Engineering hacked a bogon filter between
   the Cray and the VAXen, and now we're getting fewer dropped packets."
   See also {bogosity}, {bogus}.

:bogon flux: /boh´gon fluhks/, n.

   A  measure  of  a  supposed field of {bogosity} emitted by a speaker,
   measured  by  a  {bogometer};  as  a  speaker  starts  to wander into
   increasing  bogosity  a  listener  might say "Warning, warning, bogon
   flux is rising". See {quantum bogodynamics}.

:bogosity: /boh·go´s@·tee/, n.

   1.  [orig.  CMU,  now  very  common] The degree to which something is
   {bogus}.  Bogosity is measured with a {bogometer}; in a seminar, when
   a  speaker  says something bogus, a listener might raise his hand and
   say  "My  bogometer just triggered". More extremely, "You just pinned
   my  bogometer"  means  you just said or did something so outrageously
   bogus  that  it is off the scale, pinning the bogometer needle at the
   highest  possible  reading  (one might also say "You just redlined my
   bogometer"). The agreed-upon unit of bogosity is the {microLenat}.

   2.  The  potential  field  generated  by a {bogon flux}; see {quantum
   bogodynamics}. See also {bogon flux}, {bogon filter}, {bogus}.

:bogotify: /boh·go´t@·fi:/, vt.

   To  make  or  become  bogus.  A program that has been changed so many
   times  as to become completely disorganized has become bogotified. If
   you  tighten  a  nut  too hard and strip the threads on the bolt, the
   bolt  has  become  bogotified and you had better not use it any more.
   This  coinage  led  to  the notional autobogotiphobia defined as `the
   fear  of  becoming  bogotified'; but is not clear that the latter has
   ever  been  `live' jargon rather than a self-conscious joke in jargon
   about jargon. See also {bogosity}, {bogus}.

:bogue out: /bohg owt/, vi.

   To  become bogus, suddenly and unexpectedly. "His talk was relatively
   sane  until  somebody  asked him a trick question; then he bogued out
   and  did  nothing  but  {flame}  afterwards."  See  also  {bogosity},
   {bogus}.

:bogus: adj.

   1. Non-functional. "Your patches are bogus."

   2. Useless. "OPCON is a bogus program."

   3. False. "Your arguments are bogus."

   4. Incorrect. "That algorithm is bogus."

   5.  Unbelievable.  "You  claim to have solved the halting problem for
   Turing Machines? That's totally bogus."

   6. Silly. "Stop writing those bogus sagas."

   Astrology is bogus. So is a bolt that is obviously about to break. So
   is  someone  who  makes  blatantly  false  claims  to  have  solved a
   scientific  problem.  (This  word seems to have some, but not all, of
   the connotations of {random} -- mostly the negative ones.)

   It  is claimed that bogus was originally used in the hackish sense at
   Princeton in the late 1960s. It was spread to CMU and Yale by Michael
   Shamos,  a migratory Princeton alumnus. A glossary of bogus words was
   compiled  at  Yale  when  the  word was first popularized there about
   1975-76.  These coinages spread into hackerdom from CMU and MIT. Most
   of them remained wordplay objects rather than actual vocabulary items
   or   live  metaphors.  Examples:  amboguous  (having  multiple  bogus
   interpretations);   bogotissimo   (in  a  gloriously  bogus  manner);
   bogotophile  (one  who  is  pathologically  fascinated by the bogus);
   paleobogology (the study of primeval bogosity).

   Some  bogowords,  however,  obtained  sufficient  live currency to be
   listed   elsewhere   in   this  lexicon;  see  {bogometer},  {bogon},
   {bogotify},  and  {quantum bogodynamics} and the related but unlisted
   {Dr. Fred Mbogo}.

   By  the early 1980s `bogus' was also current in something like hacker
   usage  sense  in West Coast teen slang, and it had gone mainstream by
   1985. A correspondent from Cambridge reports, by contrast, that these
   uses  of  bogus  grate  on British nerves; in Britain the word means,
   rather  specifically,  `counterfeit',  as in "a bogus 10-pound note".
   According  to  Merriam-Webster,  the  word  dates  back  to  1825 and
   originally referred to a counterfeiting machine.

:Bohr bug: /bohr buhg/, n.

   [from  quantum  physics]  A  repeatable  {bug};  one  that  manifests
   reliably under a possibly unknown but well-defined set of conditions.
   Antonym of {heisenbug}; see also {mandelbug}, {schroedinbug}.

:boink: /boynk/

   1. [Usenet: variously ascribed to the TV series Cheers, Moonlighting,
   and  Soap]v.  To  have  sex with; compare {bounce}, sense 2. (This is
   mainstream slang.) In Commonwealth hackish the variant `bonk' is more
   common.

   2.  n. After the original Peter Korn `Boinkon' {Usenet} parties, used
   for  almost  any net social gathering, e.g., Miniboink, a small boink
   held by Nancy Gillett in 1988; Minniboink, a Boinkcon in Minnesota in
   1989;   Humpdayboinks,   Wednesday  get-togethers  held  in  the  San
   Francisco Bay Area. Compare {@-party}.

   3. Var of bonk; see {bonk/oif}.

:bomb:

   1.  v.  General  synonym  for {crash} (sense 1) except that it is not
   used  as  a  noun;  esp.  used of software or OS failures. "Don't run
   Empire with less than 32K stack, it'll bomb."

   2.  n.,v. Atari ST and Macintosh equivalents of a Unix panic or Amiga
   {guru  meditation},  in  which  icons of little black-powder bombs or
   mushroom  clouds  are displayed, indicating that the system has died.
   On  the  Mac,  this  may be accompanied by a decimal (or occasionally
   hexadecimal)  number indicating what went wrong, similar to the Amiga
   {guru  meditation}  number. {MS-DOS} machines tend to get {locked up}
   in this situation.

:bondage-and-discipline language: n.

   A  language  (such  as  {Pascal},  Ada,  APL, or Prolog) that, though
   ostensibly  general-purpose, is designed so as to enforce an author's
   theory of `right programming' even though said theory is demonstrably
   inadequate  for  systems  hacking  or  even  vanilla  general-purpose
   programming.  Often  abbreviated `B&D'; thus, one may speak of things
   "having the B&D nature". See {Pascal}; oppose {languages of choice}.

:bonk/oif: /bonk/, /oyf/, interj.

   In  the  U.S.  {MUD}  community, it has become traditional to express
   pique  or  censure  by bonking the offending person. Convention holds
   that  one  should  acknowledge a bonk by saying "oif!" and there is a
   myth  to  the effect that failing to do so upsets the cosmic bonk/oif
   balance,  causing  much  trouble  in  the  universe.  Some  MUDs have
   implemented  special  commands for bonking and oifing. Note: in parts
   of  the  U.K. `bonk' is a sexually loaded slang term; care is advised
   in  transatlantic  conversations  (see {boink}). Commonwealth hackers
   report  a  similar  convention involving the `fish/bang' balance. See
   also {talk mode}.

:book titles:

   There  is  a  tradition  in hackerdom of informally tagging important
   textbooks  and  standards  documents with the dominant color of their
   covers  or  with some other conspicuous feature of the cover. Many of
   these  are  described  in  this  lexicon under their own entries. See
   {Aluminum  Book},  {Camel  Book},  {Cinderella  Book}, {daemon book},
   {Dragon  Book},  {Orange  Book},  {Purple  Book},  {Wizard Book}, and
   {bible};  see  also {rainbow series}. Since about 1993 this tradition
   has  gotten  a boost from the popular O'Reilly and Associates line of
   technical  books, which usually feature some kind of exotic animal on
   the cover and are often called by the name of that animal.

:boot: v.,n.

   [techspeak;  from  `by  one's bootstraps'] To load and initialize the
   operating system on a machine. This usage is no longer jargon (having
   passed  into  techspeak)  but has given rise to some derivatives that
   are still jargon.

   The  derivative  reboot implies that the machine hasn't been down for
   long, or that the boot is a {bounce} (sense 4) intended to clear some
   state  of  {wedgitude}.  This  is  sometimes  used  of  human thought
   processes,  as  in  the  following  exchange:  "You've lost me." "OK,
   reboot. Here's the theory...."

   This  term  is  also  found in the variants cold boot (from power-off
   condition)  and  warm  boot  (with  the  CPU  and all devices already
   powered up, as after a hardware reset or software crash).

   Another  variant:  soft  boot,  reinitialization  of  only  part of a
   system,  under  control  of  other software still running: "If you're
   running  the  {mess-dos}  emulator,  control-alt-insert  will cause a
   soft-boot  of  the  emulator,  while  leaving  the rest of the system
   running."

   Opposed  to this there is hard boot, which connotes hostility towards
   or frustration with the machine being booted: "I'll have to hard-boot
   this losing Sun." "I recommend booting it hard." One often hard-boots
   by performing a {power cycle}.

   Historical  note:  this  term  derives from bootstrap loader, a short
   program that was read in from cards or paper tape, or toggled in from
   the  front  panel switches. This program was always very short (great
   efforts  were  expended  on  making it short in order to minimize the
   labor  and  chance of error involved in toggling it in), but was just
   smart enough to read in a slightly more complex program (usually from
   a  card  or  paper  tape  reader),  to  which it handed control; this
   program in turn was smart enough to read the application or operating
   system  from a magnetic tape drive or disk drive. Thus, in successive
   steps,  the computer `pulled itself up by its bootstraps' to a useful
   operating  state.  Nowadays  the bootstrap is usually found in ROM or
   EPROM,  and  reads  the  first  stage in from a fixed location on the
   disk, called the `boot block'. When this program gains control, it is
   powerful enough to load the actual OS and hand control over to it.

:Borg: n.

   In  Star  Trek:  The  Next Generation the Borg is a species of cyborg
   that  ruthlessly  seeks to incorporate all sentient life into itself;
   their  slogan  is "You will be assimilated. Resistance is futile." In
   hacker parlance, the Borg is usually {Microsoft}, which is thought to
   be  trying  just  as  ruthlessly  to assimilate all computers and the
   entire Internet to itself (there is a widely circulated image of Bill
   Gates as a Borg). Being forced to use Windows or NT is often referred
   to as being "Borged". Interestingly, the {Halloween Documents} reveal
   that  this  jargon  is  live  within Microsoft itself. See also {Evil
   Empire}, {Internet Exploiter}.

   Other companies, notably Intel and UUNet, have also occasionally been
   equated  to  the  Borg.  In  IETF circles, where direct pressure from
   Microsoft  is  not a daily reality, the Borg is sometimes Cisco. This
   usage  commemorates  their  tendency  to pay any price to hire talent
   away  from  their  competitors.  In  fact, at the Spring 1997 IETF, a
   large  number  of  ex-Cisco  employees, all former members of Routing
   Geeks, showed up with t-shirts printed with "Recovering Borg".

:borken: adj.

   (also borked) Common deliberate typo for `broken'.

:bot: n

   [common on IRC, MUD and among gamers; from "robot"]

   1.  An  {IRC}  or  {MUD}  user  who  is  actually  a program. On IRC,
   typically  the  robot  provides  some  useful  service.  Examples are
   NickServ,  which  tries to prevent random users from adopting {nick}s
   already  claimed  by  others,  and  MsgServ, which allows one to send
   asynchronous  messages  to  be delivered when the recipient signs on.
   Also  common  are  `annoybots',  such  as  KissServ, which perform no
   useful function except to send cute messages to other people. Service
   bots  are  less  common on MUDs; but some others, such as the `Julia'
   bot  active  in 1990--91, have been remarkably impressive Turing-test
   experiments,  able  to  pass  as  human for as long as ten or fifteen
   minutes of conversation.

   2.   An  AI-controlled  player  in  a  computer  game  (especially  a
   first-person  shooter such as Quake) which, unlike ordinary monsters,
   operates  like  a  human-controlled player, with access to a player's
   weapons    and    abilities.    An    example   can   be   found   at
   http://www.telefragged.com/thefatal/.

   3.  Term used, though less commonly, for a web {spider}. The file for
   controlling  spider  behavior  on your site is officially the "Robots
   Exclusion File" and its URL is "http:///robots.txt")

   Note  that  bots  in  all  senses  were `robots' when the terms first
   appeared in the early 1990s, but the shortened form is now habitual.

:bottom feeder: n.

   1.  An  Internet user that leeches off ISPs -- the sort you can never
   provide  good  enough services for, always complains about the price,
   no matter how low it may be, and will bolt off to another service the
   moment there is even the slimmest price difference. While most bottom
   feeders  infest  free  or  almost free services such as AOL, MSN, and
   Hotmail,  too  many  flock  to  whomever  happens  to be the cheapest
   regional  ISP  at  the  time.  Bottom  feeders  are often the classic
   problem  user, known for unleashing spam, flamage, and other breaches
   of {netiquette}.

   2.   Syn.   for   {slopsucker},  derived  from  the  fishermen's  and
   naturalists'  term  for finny creatures who subsist on the primordial
   ooze. (This sense is older.)

:bottom-post: v.

   In  a  news  or  mail  reply,  to put the response to a news or email
   message  after  the  quoted  content from the parent message. This is
   correct  form, and until around 2000 was so universal on the Internet
   that  neither  the  term  `bottom-post'  nor  its  antonym {top-post}
   existed.  Hackers  consider  that  the  best  practice is actually to
   excerpt  only  the  relevent  portions  of  the  parent message, then
   intersperse  the poster's response in such a way that each section of
   response  appears  directly  after  the  excerpt  it applies to. This
   reduces  message  bulk,  keeps thread content in a logical order, and
   facilitates reading.

:bottom-up implementation: n.

   Hackish  opposite  of the techspeak term top-down design. It has been
   received  wisdom  in  most  programming  cultures  that it is best to
   design  from  higher  levels of abstraction down to lower, specifying
   sequences  of  action  in  increasing  detail until you get to actual
   code.  Hackers  often  find  (especially  in exploratory designs that
   cannot  be  closely specified in advance) that it works best to build
   things  in  the opposite order, by writing and testing a clean set of
   primitive   operations  and  then  knitting  them  together.  Naively
   applied,  this  leads to hacked-together bottom-up implementations; a
   more  sophisticated  response  is middle-out implementation, in which
   scratch  code  within  primitives  at  the mid-level of the system is
   gradually  replaced  with a more polished version of the lowest level
   at the same time the structure above the midlevel is being built.

:bounce: v.

   1.  [common;  perhaps  by  analogy to a bouncing check] An electronic
   mail  message that is undeliverable and returns an error notification
   to the sender is said to bounce. See also {bounce message}.

   2.  To  engage  in  sexual  intercourse;  prob.:  from the expression
   `bouncing  the  mattress',  but  influenced  by  Roo's psychosexually
   loaded  "Try  bouncing  me,  Tigger!" from the Winnie-the-Pooh books.
   Compare {boink}.

   3.  To  casually  reboot  a  system  in order to clear up a transient
   problem  (possibly editing a configuration file in the process, if it
   is  one  that is only re-read at boot time). Reported primarily among
   {VMS} and {Unix} users.

   4.  [VM/CMS  programmers]  Automatic warm-start of a machine after an
   error.  "I  logged  on  this morning and found it had bounced 7 times
   during the night"

   6. [IBM] To {power cycle} a peripheral in order to reset it.

:bounce message: n.

   [common]  Notification message returned to sender by a site unable to
   relay  {email} to the intended Internet address recipient or the next
   link  in a {bang path} (see {bounce}, sense 1). Reasons might include
   a  nonexistent  or misspelled username or a {down} relay site. Bounce
   messages  can  themselves  fail,  with occasionally ugly results; see
   {sorcerer's  apprentice  mode} and {software laser}. The terms bounce
   mail and barfmail are also common.

:boustrophedon: n.

   [from  a  Greek word for turning like an ox while plowing] An ancient
   method  of  writing  using  alternate left-to-right and right-to-left
   lines. This term is actually philologists' techspeak and typesetters'
   jargon.  Erudite hackers use it for an optimization performed by some
   computer typesetting software and moving-head printers. The adverbial
   form   `boustrophedonically'  is  also  found  (hackers  purely  love
   constructions like this).

:box: n.

   A  computer;  esp.  in  the  construction  foo  box where foo is some
   functional qualifier, like graphics, or the name of an OS (thus, Unix
   box,  Windows box, etc.) "We preprocess the data on Unix boxes before
   handing it up to the mainframe."

:boxed comments: n.

   Comments  (explanatory  notes  attached to program instructions) that
   occupy  several  lines  by themselves; so called because in assembler
   and  C  code  they are often surrounded by a box in a style something
   like this:

/*************************************************
 *
 * This is a boxed comment in C style
 *
 *************************************************/

   Common variants of this style omit the asterisks in column 2 or add a
   matching  row  of  asterisks  closing  the right side of the box. The
   sparest  variant omits all but the comment delimiters themselves; the
   `box' is implied. Oppose {winged comments}.

:boxen: /bok´sn/, pl.n.

   [very common; by analogy with {VAXen}] Fanciful plural of {box} often
   encountered  in  the  phrase `Unix boxen', used to describe commodity
   {Unix}  hardware.  The  connotation  is  that  any two Unix boxen are
   interchangeable.

:boxology: /bok·sol'@·jee/, n.

   Syn. {ASCII art}. This term implies a more restricted domain, that of
   box-and-arrow  drawings.  "His  report  has a lot of boxology in it."
   Compare {macrology}.

:bozotic: /boh·zoh´tik/, /boh·zo´tik/, adj.

   [from  the  name of a TV clown even more losing than Ronald McDonald]
   Resembling  or  having  the  quality  of  a  bozo; that is, clownish,
   ludicrously   wrong,   unintentionally   humorous.  Compare  {wonky},
   {demented}.  Note  that  the  noun  `bozo'  occurs  in slang, but the
   mainstream  adjectival  form would be `bozo-like' or (in New England)
   `bozoish'.

:brain dump: n.

   [common]  The  act  of  telling  someone everything one knows about a
   particular  topic or project. Typically used when someone is going to
   let  a  new party maintain a piece of code. Conceptually analogous to
   an  operating  system  {core  dump}  in that it saves a lot of useful
   {state}  before  an  exit.  "You'll  have  to give me a brain dump on
   FOOBAR  before you start your new job at HackerCorp." See {core dump}
   (sense   4).  At  Sun,  this  is  also  known  as  TOI  (transfer  of
   information).

:brain fart: n.

   The actual result of a {braino}, as opposed to the mental glitch that
   is  the braino itself. E.g., typing dir on a Unix box after a session
   with DOS.

:brain-damaged: adj.

   1.  [common;  generalization  of  "Honeywell  Brain  Damage" (HBD), a
   theoretical  disease  invented to explain certain utter cretinisms in
   Honeywell  {Multics}]  adj. Obviously wrong; {cretinous}; {demented}.
   There  is  an  implication  that  the  person  responsible  must have
   suffered  brain  damage, because he should have known better. Calling
   something  brain-damaged  is  really  bad;  it  also  implies  it  is
   unusable,  and  that its failure to work is due to poor design rather
   than  some accident. "Only six monocase characters per file name? Now
   that's brain-damaged!"

   2.  [esp.  in the Mac world] May refer to free demonstration software
   that  has been deliberately crippled in some way so as not to compete
   with the product it is intended to sell. Syn. {crippleware}.

:brain-dead: adj.

   [common]  Brain-damaged  in  the  extreme. It tends to imply terminal
   design  failure  rather  than  malfunction or simple stupidity. "This
   comm program doesn't know how to send a break -- how brain-dead!"

:braino: /bray´no/, n.

   Syn. for {thinko}. See also {brain fart}.

:brainwidth: n.

   [Great  Britain] Analagous to {bandwidth} but used strictly for human
   capacity to process information and especially to multitask. "Writing
   email  is  taking up most of my brainwidth right now, I can't look at
   that Flash animation."

:bread crumbs: n.

   1.  Debugging  statements inserted into a program that emit output or
   log  indicators  of  the  program's  {state} to a file so you can see
   where  it dies or pin down the cause of surprising behavior. The term
   is  probably  a  reference  to  the  Hansel and Gretel story from the
   Brothers Grimm or the older French folktale of Thumbelina; in several
   variants  of  these, a character leaves a trail of bread crumbs so as
   not to get lost in the woods.

   2. In user-interface design, any feature that allows some tracking of
   where  you've  been,  like  coloring visited links purple rather than
   blue in Netscape (also called footprinting).

:break:

   1.  vt. To cause to be {broken} (in any sense). "Your latest patch to
   the editor broke the paragraph commands."

   2.  v.  (of  a program) To stop temporarily, so that it may debugged.
   The place where it stops is a breakpoint.

   3.  [techspeak]  vi. To send an RS-232 break (two character widths of
   line high) over a serial comm line.

   4.  [Unix] vi. To strike whatever key currently causes the tty driver
   to  send  SIGINT  to  the current process. Normally, break (sense 3),
   delete or {control-C} does this.

   5.  break  break  may be said to interrupt a conversation (this is an
   example   of   verb   doubling).   This   usage   comes   from  radio
   communications,   which   in   turn   probably   came  from  landline
   telegraph/teleprinter  usage,  as  badly abused in the Citizen's Band
   craze of the early 1980s.

:break-even point: n.

   In  the process of implementing a new computer language, the point at
   which  the  language is sufficiently effective that one can implement
   the  language  in  itself.  That  is,  for  a  new  language  called,
   hypothetically, FOOGOL, one has reached break-even when one can write
   a  demonstration  compiler for FOOGOL in FOOGOL, discard the original
   implementation  language,  and  thereafter  use  working  versions of
   FOOGOL  to  develop  newer  ones. This is an important milestone; see
   {MFTL}.

   Since  this  entry  was  first  written,  several correspondents have
   reported  that  there  actually  was a compiler for a tiny Algol-like
   language  called  Foogol  floating  around  on various {VAXen} in the
   early  and  mid-1980s.  A  FOOGOL  implementation is available at the
   Retrocomputing Museum http://www.catb.org/retro/.

:breath-of-life packet: n.

   [XEROX  PARC] An Ethernet packet that contains bootstrap (see {boot})
   code,  periodically  sent  out  from a working computer to infuse the
   `breath  of  life' into any computer on the network that has happened
   to crash. Machines depending on such packets have sufficient hardware
   or  firmware  code  to wait for (or request) such a packet during the
   reboot process. See also {dickless workstation}.

   The  notional  kiss-of-death packet, with a function complementary to
   that  of  a  breath-of-life  packet,  is recommended for dealing with
   hosts  that consume too many network resources. Though `kiss-of-death
   packet'  is  usually  used  in jest, there is at least one documented
   instance  of an Internet subnet with limited address-table slots in a
   gateway  machine in which such packets were routinely used to compete
   for  slots,  rather  like  Christmas  shoppers  competing  for scarce
   parking spaces.

:breedle: n.

   See {feep}.

:Breidbart Index: /bri:d´bart ind@ks/

   A  measurement  of  the severity of spam invented by long-time hacker
   Seth  Breidbart, used for programming cancelbots. The Breidbart Index
   takes  into  account  the  fact that excessive multi-posting {EMP} is
   worse  than  excessive  cross-posting  {ECP}.  The Breidbart Index is
   computed as follows: For each article in a spam, take the square-root
   of  the  number  of  newsgroups  to  which the article is posted. The
   Breidbart Index is the sum of the square roots of all of the posts in
   the  spam.  For  example,  one  article posted to nine newsgroups and
   again  to  sixteen  would  have  BI  =  sqrt(9) + sqrt(16) = 7. It is
   generally  agreed  that  a  spam is cancelable if the Breidbart Index
   exceeds 20.

   The  Breidbart  Index  accumulates over a 45-day window. Ten articles
   yesterday  and ten articles today and ten articles tomorrow add up to
   a  30-article  spam.  Spam fighters will often reset the count if you
   can  convince  them that the spam was accidental and/or you have seen
   the  error  of  your  ways  and  won't repeat it. Breidbart Index can
   accumulate  over multiple authors. For example, the "Make Money Fast"
   pyramid  scheme  exceeded  a  BI  of  20  a long time ago, and is now
   considered "cancel on sight".

:brick: n.

   1. A piece of equipment that has been programmed or configured into a
   {hung},  {wedged},unusable  state.  Especially  used to describe what
   happens  to  devices like routers or PDAs that run from firmware when
   the  firmware image is damaged or its settings are somehow patched to
   impossible  values.  This  term  usually implies irreversibility, but
   equipment  can  sometimes  be unbricked by performing a hard reset or
   some  other drastic operation. Sometimes verbed: "Yeah, I bricked the
   router because I forgot about adding in the new access-list.".

   2. An outboard power transformer of the kind associated with laptops,
   modems,  routers and other small computing appliances, especially one
   of  the  modern type with cords on both ends, as opposed to the older
   and obnoxious type that plug directly into wall or barrier strip.

:bricktext:

   [Usenet:   common]   Text   which   is   carefully   composed  to  be
   right-justified  (and  sometimes  to  have  a  deliberate  gutter  at
   mid-page)   without   use  of  extra  spaces,  just  through  careful
   word-length  choices.  A  minor  art  form.  The  best  examples have
   something of the quality of imagist poetry.

:bring X to its knees: v.

   [common]  To  present a machine, operating system, piece of software,
   or  algorithm with a load so extreme or {pathological} that it grinds
   to  a  halt.:  "To  bring  a  MicroVAX to its knees, try twenty users
   running {vi} -- or four running {EMACS}." Compare {hog}.

:brittle: adj.

   Said  of  software that is functional but easily broken by changes in
   operating  environment or configuration, or by any minor tweak to the
   software  itself.  Also, any system that responds inappropriately and
   disastrously  to abnormal but expected external stimuli; e.g., a file
   system  that  is usually totally scrambled by a power failure is said
   to  be  brittle. This term is often used to describe the results of a
   research  effort that were never intended to be robust, but it can be
   applied   to   commercial   software,  which  (due  to  closed-source
   development)  displays  the  quality far more often than it ought to.
   Oppose {robust}.

:broadcast storm: n.

   [common]  An incorrect packet broadcast on a network that causes most
   hosts to respond all at once, typically with wrong answers that start
   the process over again. See {network meltdown}; compare {mail storm}.

:broken: adj.

   1.  Not  working  according  to  design  (of  programs).  This is the
   mainstream sense.

   2. Improperly designed, This sense carries a more or less disparaging
   implication that the designer should have known better, while sense 1
   doesn't  necessarily assign blame. Which of senses 1 or 2 is intended
   is conveyed by context and nonverbal cues.

   3.  Behaving  strangely;  especially (when used of people) exhibiting
   extreme depression.

:broken arrow: n.

   [IBM] The error code displayed on line 25 of a 3270 terminal (or a PC
   emulating  a  3270)  for  various  kinds  of  protocol violations and
   "unexpected"  error  conditions  (including  connection  to  a {down}
   computer).  On  a  PC,  simulated  with  `->/_',  with the two center
   characters overstruck.

   Note:  to  appreciate  this term fully, it helps to know that "broken
   arrow"  is  also  military  jargon  for an accident involving nuclear
   weapons....

:broken-ring network:

   Pejorative hackerism for "token-ring network", an early and very slow
   LAN  technology  from  IBM  that  lost the standards war to Ethernet.
   Though  token-ring  survives  in a few niche markets (such as factory
   automation)  that  put  a  high  premium  on resistance to electrical
   noise, the term is now (2000) primarily historical.

:BrokenWindows: n.

   Abusive  hackerism for the {crufty} and {elephantine} {X} environment
   on Sun machines; properly called `OpenWindows'.

:broket: /broh´k@t/, /broh´ket`/, n.

   [rare;  by  analogy with `bracket': a `broken bracket'] Either of the
   characters  <  and  >, when used as paired enclosing delimiters. This
   word originated as a contraction of the phrase `broken bracket', that
   is,  a bracket that is bent in the middle. (At MIT, and apparently in
   the {Real World} as well, these are usually called {angle brackets}.)

:Brooks's Law: prov.

   "Adding  manpower  to  a  late  software project makes it later" -- a
   result  of  the  fact  that  the  expected  advantage  from splitting
   development  work  among N programmers is O(N) (that is, proportional
   to  N),  but  the  complexity and communications cost associated with
   coordinating  and  then  merging  their  work  is  O(N^2)  (that  is,
   proportional  to  the  square of N). The quote is from Fred Brooks, a
   manager  of IBM's OS/360 project and author of The Mythical Man-Month
   (Addison-Wesley,  1975,  ISBN 0-201-00650-2), an excellent early book
   on  software  engineering. The myth in question has been most tersely
   expressed  as  "Programmer  time  is fungible" and Brooks established
   conclusively  that it is not. Hackers have never forgotten his advice
   (though   it's  not  the  whole  story;  see  {bazaar});  too  often,
   {management}  still  does.  See  also  {creationism},  {second-system
   effect}, {optimism}.

:brown-paper-bag bug: n.

   A  bug  in a public software release that is so embarrassing that the
   author  notionally  wears a brown paper bag over his head for a while
   so he won't be recognized on the net. Entered popular usage after the
   early-1999  release of the first Linux 2.2, which had one. The phrase
   was used in Linus Torvalds's apology posting.

:browser: n.

   A  program  specifically  designed  to  help  users view and navigate
   hypertext,  on-line  documentation, or a database. While this general
   sense  has  been present in jargon for a long time, the proliferation
   of  browsers  for the World Wide Web after 1992 has made it much more
   popular  and  provided  a central or default techspeak meaning of the
   word  previously  lacking  in  hacker  usage.  Nowadays,  if  someone
   mentions  using  a `browser' without qualification, one may assume it
   is a Web browser.

:BRS: /B·R·S/, n.

   Syn. {Big Red Switch}. This abbreviation is fairly common on-line.

:brute force: adj.

   Describes  a primitive programming style, one in which the programmer
   relies on the computer's processing power instead of using his or her
   own  intelligence to simplify the problem, often ignoring problems of
   scale and applying naive methods suited to small problems directly to
   large  ones.  The  term  can also be used in reference to programming
   style:  brute-force  programs  are  written in a heavyhanded, tedious
   way,  full  of  repetition  and  devoid  of  any  elegance  or useful
   abstraction (see also {brute force and ignorance}).

   The {canonical} example of a brute-force algorithm is associated with
   the   `traveling  salesman  problem'  (TSP),  a  classical  {NP-}hard
   problem:  Suppose a person is in, say, Boston, and wishes to drive to
   N  other  cities. In what order should the cities be visited in order
   to  minimize  the  distance  travelled?  The brute-force method is to
   simply  generate all possible routes and compare the distances; while
   guaranteed to work and simple to implement, this algorithm is clearly
   very  stupid  in that it considers even obviously absurd routes (like
   going  from Boston to Houston via San Francisco and New York, in that
   order).  For  very  small  N  it  works  well, but it rapidly becomes
   absurdly  inefficient when N increases (for N = 15, there are already
   1,307,674,368,000  possible  routes  to consider, and for N = 1000 --
   well,  see  {bignum}).  Sometimes,  unfortunately, there is no better
   general  solution  than  brute force. See also {NP-} and {rubber-hose
   cryptanalysis}.

   A  more  simple-minded  example of brute-force programming is finding
   the  smallest  number  in  a  large  list  by first using an existing
   program  to  sort  the  list in ascending order, and then picking the
   first number off the front.

   Whether  brute-force programming should actually be considered stupid
   or  not  depends  on the context; if the problem is not terribly big,
   the extra CPU time spent on a brute-force solution may cost less than
   the  programmer  time  it  would take to develop a more `intelligent'
   algorithm.  Additionally, a more intelligent algorithm may imply more
   long-term  complexity  cost and bug-chasing than are justified by the
   speed improvement.

   Ken  Thompson,  co-inventor  of Unix, is reported to have uttered the
   epigram  "When  in doubt, use brute force". He probably intended this
   as  a {ha ha only serious}, but the original Unix kernel's preference
   for  simple,  robust,  and portable algorithms over {brittle} `smart'
   ones  does  seem  to have been a significant factor in the success of
   that  OS. Like so many other tradeoffs in software design, the choice
   between  brute  force and complex, finely-tuned cleverness is often a
   difficult  one  that  requires  both  engineering  savvy and delicate
   esthetic judgment.

:brute force and ignorance: n.

   A  popular  design technique at many software houses -- {brute force}
   coding  unrelieved  by  any  knowledge  of  how  problems  have  been
   previously  solved  in  elegant  ways.  Dogmatic  adherence to design
   methodologies  tends  to encourage this sort of thing. Characteristic
   of  early  {larval  stage}  programming;  unfortunately,  many  never
   outgrow  it.  Often abbreviated BFI: "Gak, they used a {bubble sort}!
   That's  strictly  from BFI." Compare {bogosity}. A very similar usage
   is said to be mainstream in Great Britain.

:BSD: /B·S·D/, n.

   [abbreviation  for  `Berkeley  Software  Distribution']  a  family of
   {Unix}  versions  for  the {DEC} {VAX} and {PDP-11} developed by Bill
   Joy  and  others at {Berzerkeley} starting around 1977, incorporating
   paged  virtual memory, TCP/IP networking enhancements, and many other
   features.  The  BSD  versions  (4.1, 4.2, and 4.3) and the commercial
   versions  derived  from  them  (SunOS, ULTRIX, and Mt. Xinu) held the
   technical   lead   in   the   Unix   world  until  AT&T's  successful
   standardization  efforts  after  about  1986;  descendants  including
   Free/Open/NetBSD,  BSD/OS  and MacOS X are still widely popular. Note
   that  BSD  versions  going back to 2.9 are often referred to by their
   version numbers alone, without the BSD prefix. See also {Unix}.

:BSOD: /B·S·O·D/

   Very  common abbreviation for {Blue Screen of Death}. Both spoken and
   written.

:BUAF: //, n.

   [abbreviation, from alt.fan.warlord] Big Ugly ASCII Font -- a special
   form  of  {ASCII  art}.  Various  programs  exist  for rendering text
   strings  into  block, bloob, and pseudo-script fonts in cells between
   four  and  six  character  cells  on a side; this is smaller than the
   letters  generated  by  older  {banner} (sense 2) programs. These are
   sometimes  used  to  render  one's  name  in  a  {sig block}, and are
   critically referred to as BUAFs. See {warlording}.

:BUAG: //, n.

   [abbreviation,   from   alt.fan.warlord]   Big  Ugly  ASCII  Graphic.
   Pejorative  term  for  ugly  {ASCII art}, especially as found in {sig
   block}s.  For  some reason, mutations of the head of Bart Simpson are
   particularly  common  in  the  least  imaginative  {sig  block}s. See
   {warlording}.

:bubble sort: n.

   Techspeak  for  a  particular  sorting  technique  in  which pairs of
   adjacent   values   in  the  list  to  be  sorted  are  compared  and
   interchanged  if  they  are  out of order; thus, list entries `bubble
   upward' in the list until they bump into one with a lower sort value.
   Because  it is not very good relative to other methods and is the one
   typically  stumbled  on by {naive} and untutored programmers, hackers
   consider  it  the {canonical} example of a naive algorithm. (However,
   it's  been shown by repeated experiment that below about 5000 records
   bubble-sort  is  OK  anyway.)  The  canonical example of a really bad
   algorithm  is  {bogo-sort}.  A  bubble  sort  might  be  used  out of
   ignorance,  but  any  use  of  bogo-sort  could issue only from brain
   damage or willful perversity.

:bucky bits: /buh´kee bits/, n.

   1.  [obs.]  The bits produced by the CONTROL and META shift keys on a
   SAIL  keyboard (octal 200 and 400 respectively), resulting in a 9-bit
   keyboard  character  set.  The  MIT AI TV (Knight) keyboards extended
   this  with  TOP  and  separate  left and right CONTROL and META keys,
   resulting  in a 12-bit character set; later, LISP Machines added such
   keys as SUPER, HYPER, and GREEK (see {space-cadet keyboard}).

   2.  By  extension,  bits  associated  with  `extra' shift keys on any
   keyboard,  e.g., the ALT on an IBM PC or command and option keys on a
   Macintosh.

   It  has  long been rumored that bucky bits were named for Buckminster
   Fuller  during a period when he was consulting at Stanford. Actually,
   bucky  bits were invented by Niklaus Wirth when he was at Stanford in
   1964--65;  he  first suggested the idea of an EDIT key to set the 8th
   bit of an otherwise 7-bit ASCII character). It seems that, unknown to
   Wirth,  certain  Stanford hackers had privately nicknamed him `Bucky'
   after  a  prominent  portion of his dental anatomy, and this nickname
   transferred  to  the bit. Bucky-bit commands were used in a number of
   editors written at Stanford, including most notably TV-EDIT and NLS.

   The  term  spread  to  MIT  and  CMU early and is now in general use.
   Ironically,  Wirth  himself  remained  unaware  of its derivation for
   nearly  30  years,  until  GLS dug up this history in early 1993! See
   {double bucky}, {quadruple bucky}.

:buffer chuck: n.

   Shorter and ruder syn. for {buffer overflow}.

:buffer overflow: n.

   What  happens  when you try to stuff more data into a buffer (holding
   area)  than  it  can  handle.  This  problem is commonly exploited by
   {cracker}s  to  get  arbitrary commands executed by a program running
   with  root  permissions.  This  may  be  due  to  a  mismatch  in the
   processing  rates  of  the  producing  and  consuming  processes (see
   {overrun}  and  {firehose syndrome}), or because the buffer is simply
   too small to hold all the data that must accumulate before a piece of
   it  can  be  processed.  For  example, in a text-processing tool that
   {crunch}es  a  line  at  a  time,  a  short line buffer can result in
   {lossage}  as input from a long line overflows the buffer and trashes
   data  beyond  it. Good defensive programming would check for overflow
   on each character and stop accepting data when the buffer is full up.
   The term is used of and by humans in a metaphorical sense. "What time
   did  I  agree  to meet you? My buffer must have overflowed." Or "If I
   answer  that  phone my buffer is going to overflow." See also {spam},
   {overrun screw}.

:bug: n.

   An  unwanted  and  unintended  property  of  a  program  or  piece of
   hardware,  esp.  one  that  causes  it  to  malfunction.  Antonym  of
   {feature}.  Examples:  "There's a bug in the editor: it writes things
   out backwards." "The system crashed because of a hardware bug." "Fred
   is a winner, but he has a few bugs" (i.e., Fred is a good guy, but he
   has a few personality problems).

   Historical  note:  Admiral  Grace  Hopper (an early computing pioneer
   better  known for inventing {COBOL}) liked to tell a story in which a
   technician  solved  a  {glitch}  in  the  Harvard  Mark II machine by
   pulling  an actual insect out from between the contacts of one of its
   relays,  and  she subsequently promulgated {bug} in its hackish sense
   as  a  joke  about the incident (though, as she was careful to admit,
   she  was  not  there  when  it  happened). For many years the logbook
   associated  with the incident and the actual bug in question (a moth)
   sat in a display case at the Naval Surface Warfare Center (NSWC). The
   entire  story,  with a picture of the logbook and the moth taped into
   it,  is  recorded  in the Annals of the History of Computing, Vol. 3,
   No. 3 (July 1981), pp. 285--286.

   The text of the log entry (from September 9, 1947), reads "1545 Relay
   #70  Panel  F (moth) in relay. First actual case of bug being found".
   This wording establishes that the term was already in use at the time
   in  its current specific sense -- and Hopper herself reports that the
   term  bug  was  regularly  applied  to  problems in radar electronics
   during WWII.

   [bugpic-color.jpg]

   The `original bug' (the caption date is incorrect)

   Indeed,  the  use  of  bug  to  mean an industrial defect was already
   established  in  Thomas Edison's time, and a more specific and rather
   modern use can be found in an electrical handbook from 1896 (Hawkin's
   New  Catechism  of  Electricity,  Theo. Audel & Co.) which says: "The
   term  `bug'  is  used  to  a limited extent to designate any fault or
   trouble  in  the  connections  or  working of electric apparatus." It
   further notes that the term is "said to have originated in quadruplex
   telegraphy and have been transferred to all electric apparatus."

   The  latter  observation  may  explain a common folk etymology of the
   term;  that it came from telephone company usage, in which "bugs in a
   telephone  cable" were blamed for noisy lines. Though this derivation
   seems  to  be  mistaken,  it may well be a distorted memory of a joke
   first current among telegraph operators more than a century ago!

   Or  perhaps  not  a  joke. Historians of the field inform us that the
   term  "bug"  was  regularly  used  in the early days of telegraphy to
   refer  to  a  variety  of semi-automatic telegraphy keyers that would
   send  a  string of dots if you held them down. In fact, the Vibroplex
   keyers  (which  were  among  the most common of this type) even had a
   graphic of a beetle on them (and still do)! While the ability to send
   repeated  dots  automatically  was very useful for professional morse
   code  operators,  these  were also significantly trickier to use than
   the  older  manual  keyers, and it could take some practice to ensure
   one didn't introduce extraneous dots into the code by holding the key
   down  a fraction too long. In the hands of an inexperienced operator,
   a  Vibroplex "bug" on the line could mean that a lot of garbled Morse
   would soon be coming your way.

   Further, the term "bug" has long been used among radio technicians to
   describe a device that converts electromagnetic field variations into
   acoustic signals. It is used to trace radio interference and look for
   dangerous  radio  emissions.  Radio  community usage derives from the
   roach-like   shape  of  the  first  versions  used  by  19th  century
   physicists.  The  first  versions  consisted of a coil of wire (roach
   body),  with  the  two wire ends sticking out and bent back to nearly
   touch  forming  a spark gap (roach antennae). The bug is to the radio
   technician  what  the  stethoscope  is  to  the stereotypical medical
   doctor.  This  sense  is  almost certainly ancestral to modern use of
   "bug"  for  a covert monitoring device, but may also have contributed
   to the use of "bug" for the effects of radio interference itself.

   Actually,  use of bug in the general sense of a disruptive event goes
   back  to  Shakespeare!  (Henry  VI,  part III - Act V, Scene II: King
   Edward:  "So, lie thou there. Die thou; and die our fear; For Warwick
   was  a  bug  that  fear'd  us  all.")  In the first edition of Samuel
   Johnson's  dictionary  one  meaning  of bug is "A frightful object; a
   walking  spectre";  this  is  traced to `bugbear', a Welsh term for a
   variety  of  mythological  monster which (to complete the circle) has
   recently  been  reintroduced into the popular lexicon through fantasy
   role-playing games.

   In  any case, in jargon the word almost never refers to insects. Here
   is a plausible conversation that never actually happened: "There is a
   bug  in  this  ant  farm!" "What do you mean? I don't see any ants in
   it." "That's the bug."

   A  careful  discussion  of  the etymological issues can be found in a
   paper  by  Fred  R.  Shapiro,  1987, "Entomology of the Computer Bug:
   History and Folklore", American Speech 62(4):376-378.

   [There  has been a widespread myth that the original bug was moved to
   the  Smithsonian, and an earlier version of this entry so asserted. A
   correspondent  who  thought  to check discovered that the bug was not
   there.  While investigating this in late 1990, your editor discovered
   that  the NSWC still had the bug, but had unsuccessfully tried to get
   the Smithsonian to accept it -- and that the present curator of their
   History  of  American  Technology  Museum didn't know this and agreed
   that  it  would  make  a  worthwhile  exhibit.  It  was  moved to the
   Smithsonian  in  mid-1991, but due to space and money constraints was
   not  actually  exhibited  for  years afterwards. Thus, the process of
   investigating  the  original-computer-bug bug fixed it in an entirely
   unexpected way, by making the myth true! --ESR]

   [73-07-29.png]

   It helps to remember that this dates from 1973.

   (The  next  cartoon  in  the  Crunchly saga is 73-10-31. The previous
   cartoon was 73-07-24.)

:bug-compatible: adj.

   [common] Said of a design or revision that has been badly compromised
   by  a requirement to be compatible with {fossil}s or {misfeature}s in
   other  programs  or  (esp.)  previous releases of itself. "MS-DOS 2.0
   used  \  as  a path separator to be bug-compatible with some cretin's
   choice of / as an option character in 1.0."

:bug-for-bug compatible: n.

   Same  as  {bug-compatible}, with the additional implication that much
   tedious   effort  went  into  ensuring  that  each  (known)  bug  was
   replicated.

:bug-of-the-month club: n.

   [from  "book-of-the-month  club", a time-honored mail-order-marketing
   technique  in  the  U.S.]  A mythical club which users of sendmail(8)
   (the  Unix  mail  daemon)  belong  to;  this was coined on the Usenet
   newsgroup  comp.security.unix at a time when sendmail security holes,
   which  allowed  outside  {cracker}s  access to the system, were being
   uncovered  at  an  alarming  rate,  forcing  sysadmins to update very
   often.  Also,  more completely, fatal security bug-of-the-month club.
   See also {kernel-of-the-week club}.

:bulletproof: adj.

   Used of an algorithm or implementation considered extremely {robust};
   lossage-resistant;   capable   of   correctly   recovering  from  any
   imaginable  exception condition -- a rare and valued quality. Implies
   that  the  programmer  has  thought of all possible errors, and added
   {code}  to  protect  against  each one. Thus, in some cases, this can
   imply  code that is too heavyweight, due to excessive paranoia on the
   part of the programmer. Syn. {armor-plated}.

:bullschildt: /bul´shilt/, n.

   [comp.lang.c on USENET] A confident, but incorrect, statement about a
   programming  language.  This  immortalizes a very bad book about {C},
   Herbert  Schildt's C - The Complete Reference. One reviewer commented
   "The  naive  errors  in  this  book  would  be embarrassing even in a
   programming  assignment  turned  in  by  a  computer  science college
   sophomore."

:bump: vt.

   Synonym  for increment. Has the same meaning as C's ++ operator. Used
   esp. of counter variables, pointers, and index dummies in for, while,
   and do-while loops.

:burble: v.

   [from  Lewis  Carroll's  Jabberwocky] Like {flame}, but connotes that
   the  source  is  truly  clueless and ineffectual (mere flamers can be
   competent).  A  term of deep contempt. "There's some guy on the phone
   burbling  about  how  he  got a DISK FULL error and it's all our comm
   software's fault." This is mainstream slang in some parts of England.

:buried treasure: n.

   A  surprising  piece of code found in some program. While usually not
   wrong,  it tends to vary from {crufty} to {bletcherous}, and has lain
   undiscovered  only  because  it  was  functionally  correct,  however
   horrible it is. Used sarcastically, because what is found is anything
   but  treasure.  Buried  treasure almost always needs to be dug up and
   removed.  "I  just  found  that  the  scheduler sorts its queue using
   {bubble sort}! Buried treasure!"

:burn a CD: v.

   To  write  a  software or document distribution on a CDR. Coined from
   the  fact that a laser is used to inscribe the information by burning
   small  pits  in  the medium, and from the fact that disk comes out of
   the  drive  warm  to  the touch. Writable CDs can be done on a normal
   desk-top  machine  with  a  suitable drive (so there is no protracted
   release  cycle associated with making them) but each one takes a long
   time  to  make,  so  they  are not appropriate for volume production.
   Writable   CDs   are   suitable   for   software   backups   and  for
   short-turnaround-time   low-volume  software  distribution,  such  as
   sending  a  beta  release version to a few selected field test sites.
   Compare {cut a tape}.

:burn-in period: n.

   1.   A  factory  test  designed  to  catch  systems  with  {marginal}
   components  before  they get out the door; the theory is that burn-in
   will  protect  customers  by  outwaiting  the  steepest  part  of the
   {bathtub curve} (see {infant mortality}).

   2.  A  period  of  indeterminate  length  in  which  a person using a
   computer  is  so  intensely  involved  in his project that he forgets
   basic  needs  such  as  food,  drink,  sleep, etc. Warning: Excessive
   burn-in can lead to burn-out. See {hack mode}, {larval stage}.

   Historical  note: the origin of "burn-in" (sense 1) is apparently the
   practice  of  setting  a  new-model  airplane's  brakes on fire, then
   extinguishing  the  fire, in order to make them hold better. This was
   done on the first version of the U.S. spy-plane, the U-2.

:burst page: n.

   Syn. {banner}, sense 3.

:busy-wait: vi.

   Used  of human behavior, conveys that the subject is busy waiting for
   someone  or  something, intends to move instantly as soon as it shows
   up,  and thus cannot do anything else at the moment. "Can't talk now,
   I'm busy-waiting till Bill gets off the phone."

   Technically,  busy-wait  means  to  wait  on  an  event by {spin}ning
   through  a tight or timed-delay loop that polls for the event on each
   pass,  as  opposed  to setting up an interrupt handler and continuing
   execution  on  another  part  of  the task. In applications this is a
   wasteful  technique,  and best avoided on timesharing systems where a
   busy-waiting  program  may  {hog} the processor. However, it is often
   unavoidable  in  kernel  programming.  In  the  Linux  world,  kernel
   busy-waits are usually referred to as spinlocks.

:buzz: vi.

   1.  Of  a  program, to run with no indication of progress and perhaps
   without guarantee of ever finishing; esp. said of programs thought to
   be  executing  tight loops of code. A program that is buzzing appears
   to  be  {catatonic}, but never gets out of catatonia, while a buzzing
   loop  may  eventually  end of its own accord. "The program buzzes for
   about  10  seconds  trying  to  sort  all  the names into order." See
   {spin}; see also {grovel}.

   2.  [ETA  Systems]  To  test  a  wire  or  printed  circuit trace for
   continuity,  esp.  by applying an AC rather than DC signal. Some wire
   faults will pass DC tests but fail an AC buzz test.

   3.  To  process an array or list in sequence, doing the same thing to
   each  element.  "This  loop buzzes through the tz array looking for a
   terminator type."

:buzzword-compliant:

   [also buzzword-enabled] Used (disparagingly) of products that seem to
   have  been  specified  to  incorporate  all  of  this  month's trendy
   technologies.  Key buzzwords that often show up in buzzword-compliant
   specifications  as  of  2001  include  `XML', `Java', `peer-to-peer',
   `distributed', and `open'.

:BWQ: /B·W·Q/, n.

   [IBM: abbreviation, `Buzz Word Quotient'] The percentage of buzzwords
   in a speech or documents. Usually roughly proportional to {bogosity}.
   See {TLA}.

:by hand: adv.

   1.  [common]  Said of an operation (especially a repetitive, trivial,
   and/or  tedious  one) that ought to be performed automatically by the
   computer,  but  which a hacker instead has to step tediously through.
   "My  mailer doesn't have a command to include the text of the message
   I'm  replying  to,  so  I  have  to  do  it  by  hand." This does not
   necessarily  mean the speaker has to retype a copy of the message; it
   might refer to, say, dropping into a subshell from the mailer, making
   a  copy  of one's mailbox file, reading that into an editor, locating
   the  top  and bottom of the message in question, deleting the rest of
   the  file,  inserting  `>' characters on each line, writing the file,
   leaving the editor, returning to the mailer, reading the file in, and
   later remembering to delete the file. Compare {eyeball search}.

   2.  [common]  By  extension,  writing code which does something in an
   explicit  or  low-level  way  for which a presupplied library routine
   ought  to have been available. "This cretinous B-tree library doesn't
   supply a decent iterator, so I'm having to walk the trees by hand."

:byte: /bi:t/, n.

   [techspeak]  A  unit  of  memory  or data equal to the amount used to
   represent one character; on modern architectures this is invariably 8
   bits.  Some  older architectures used byte for quantities of 6, 7, or
   (especially)  9  bits,  and  the  PDP-10  supported  bytes  that were
   actually  bitfields  of  1 to 36 bits! These usages are now obsolete,
   killed off by universal adoption of power-of-2 word sizes.

   Historical  note:  The  term  was  coined  by Werner Buchholz in 1956
   during   the  early  design  phase  for  the  IBM  Stretch  computer;
   originally  it was described as 1 to 6 bits (typical I/O equipment of
   the  period  used  6-bit chunks of information). The move to an 8-bit
   byte  happened  in  late  1956,  and  this size was later adopted and
   promulgated  as  a standard by the System/360. The word was coined by
   mutating  the  word `bite' so it would not be accidentally misspelled
   as {bit}. See also {nybble}.

:byte sex: n.

   [common] The byte sex of hardware is {big-endian} or {little-endian};
   see those entries.

:bytesexual: /bi:t`sek´shu·@l/, adj.

   [rare]  Said of hardware, denotes willingness to compute or pass data
   in   either   {big-endian}   or  {little-endian}  format  (depending,
   presumably, on a {mode bit} somewhere). See also {NUXI problem}.

:Bzzzt! Wrong.: /bzt rong/, excl.

   [common;  Usenet/Internet;  punctuation varies] From a Robin Williams
   routine  in  the  movie  Dead Poets Society spoofing radio or TV quiz
   programs,  such  as  Truth or Consequences, where an incorrect answer
   earns   one  a  blast  from  the  buzzer  and  condolences  from  the
   interlocutor.  A  way  of  expressing mock-rude disagreement, usually
   immediately following an included quote from another poster. The less
   abbreviated  "*Bzzzzt*,  wrong,  but  thank  you for playing" is also
   common; capitalization and emphasis of the buzzer sound varies.

C

   C
   C Programmer's Disease
   C&C
   C++
   calculator
   Camel Book
   camelCase
   camelCasing
   can't happen
   cancelbot
   Cancelmoose[tm]
   candygrammar
   canonical
   careware
   cargo cult programming
   cascade
   case and paste
   case mod
   casters-up mode
   casting the runes
   cat
   catatonic
   cathedral
   cd tilde
   CDA
   cdr
   chad
   chad box
   chain
   chainik
   channel
   channel hopping
   channel op
   chanop
   char
   charityware
   chase pointers
   chawmp
   check
   cheerfully
   chemist
   Chernobyl chicken
   Chernobyl packet
   chicken head
   chickenboner
   chiclet keyboard
   Chinese Army technique
   choad
   choke
   chomp
   chomper
   CHOP
   Christmas tree
   Christmas tree packet
   chrome
   chug
   Church of the SubGenius
   CI$
   Cinderella Book
   Classic C
   clean
   click of death
   CLM
   clobber
   clock
   clocks
   clone
   clone-and-hack coding
   clover key
   clue-by-four
   clustergeeking
   co-lo
   coaster
   coaster toaster
   COBOL
   COBOL fingers
   cobweb site
   code
   code grinder
   code monkey
   Code of the Geeks
   code police
   codes
   codewalker
   coefficient of X
   cokebottle
   cold boot
   COME FROM
   comm mode
   command key
   comment out
   Commonwealth Hackish
   compact
   compiler jock
   compo
   compress
   Compu$erve
   computer confetti
   computron
   con
   condition out
   condom
   confuser
   connector conspiracy
   cons
   considered harmful
   console
   console jockey
   content-free
   control-C
   control-O
   control-Q
   control-S
   Conway's Law
   cookbook
   cooked mode
   cookie
   cookie bear
   cookie file
   cookie jar
   cookie monster
   copious free time
   copper
   copy protection
   copybroke
   copycenter
   copyleft
   copyparty
   copywronged
   core
   core cancer
   core dump
   core leak
   Core Wars
   cosmic rays
   cough and die
   courier
   cow orker
   cowboy
   CP/M
   CPU Wars
   crack
   crack root
   cracker
   cracking
   crank
   crapplet
   CrApTeX
   crash
   crash and burn
   crawling horror
   CRC handbook
   creationism
   creep
   creeping elegance
   creeping featurism
   creeping featuritis
   cretin
   cretinous
   crippleware
   critical mass
   crlf
   crock
   cross-post
   crossload
   crudware
   cruft
   cruft together
   cruftsmanship
   crufty
   crumb
   crunch
   cryppie
   cthulhic
   CTSS
   cube
   cup holder
   cursor dipped in X
   cuspy
   cut a tape
   cybercrud
   cyberpunk
   cyberspace
   cycle
   cycle of reincarnation
   cycle server
   cypherpunk
   C|N>K

:C: n.

   1. The third letter of the English alphabet.

   2. ASCII 1000011.

   3.  The  name  of  a  programming language designed by Dennis Ritchie
   during the early 1970s and immediately used to reimplement {Unix}; so
   called  because  many features derived from an earlier compiler named
   `B' in commemoration of its parent, BCPL. (BCPL was in turn descended
   from   an   earlier   Algol-derived  language,  CPL.)  Before  Bjarne
   Stroustrup  settled  the  question  by  designing  {C++}, there was a
   humorous  debate  over  whether  C's successor should be named `D' or
   `P'.  C  became  immensely popular outside Bell Labs after about 1980
   and  is  now  the  dominant  language  in  systems  and microcomputer
   applications  programming.  C  is  often described, with a mixture of
   fondness and disdain varying according to the speaker, as "a language
   that  combines  all  the elegance and power of assembly language with
   all  the  readability  and  maintainability of assembly language" See
   also {languages of choice}, {indent style}.

   [ansi-c.png]

   The Crunchly on the left sounds a little ANSI.

:C Programmer's Disease: n.

   The  tendency  of the undisciplined C programmer to set arbitrary but
   supposedly  generous static limits on table sizes (defined, if you're
   lucky,  by  constants in header files) rather than taking the trouble
   to do proper dynamic storage allocation. If an application user later
   needs  to  put  68  elements  into  a table of size 50, the afflicted
   programmer  reasons that he or she can easily reset the table size to
   68  (or  even  as  much  as  70,  to  allow for future expansion) and
   recompile.  This  gives  the  programmer  the  comfortable feeling of
   having  made the effort to satisfy the user's (unreasonable) demands,
   and  often  affords  the  user  multiple opportunities to explore the
   marvelous  consequences of {fandango on core}. In severe cases of the
   disease,  the  programmer cannot comprehend why each fix of this kind
   seems only to further disgruntle the user.

:C&C: //

   [common, esp. on news.admin.net-abuse.email] Contraction of "Coffee &
   Cats". This frequently occurs as a warning label on USENET posts that
   are  likely  to  cause  you  to {snarf} coffee onto your keyboard and
   startle the cat off your lap.

:C++: /C'·pluhs·pluhs/, n.

   Designed  by  Bjarne  Stroustrup  of AT&T Bell Labs as a successor to
   {C}.  Now  one  of  the  {languages of choice}, although many hackers
   still  grumble  that  it  is  the successor to either Algol 68 or Ada
   (depending  on  generation),  and  a  prime example of {second-system
   effect}. Almost anything that can be done in any language can be done
   in  C++, but it requires a {language lawyer} to know what is and what
   is  not  legal  --  the  design  is  almost too large to hold in even
   hackers'  heads. Much of the {cruft} results from C++'s attempt to be
   backward  compatible  with  C.  Stroustrup  himself  has  said in his
   retrospective  book The Design and Evolution of C++ (p. 207), "Within
   C++,  there  is a much smaller and cleaner language struggling to get
   out."  [Many  hackers  would  now  add  "Yes, and it's called {Java}"
   --ESR]

   [fortran.png]

   Nowadays we say this of C++.

:calculator: n.

   Syn. for {bitty box}.

:Camel Book: n.

   Universally  recognized  nickname  for  the book Programming Perl, by
   Larry Wall and Randal L. Schwartz, O'Reilly and Associates 1991, ISBN
   0-937175-64-1 (second edition 1996, ISBN 1-56592-149-6; third edition
   2000,  0-596-00027-8,  adding  as  authors  Tom  Christiansen and Jon
   Orwant  but  dropping  Randal  Schwartz). The definitive reference on
   {Perl}.

:camelCase:

   A  variable  in  a programming language is sait to be camelCased when
   all words but the first are capitalized. This practice contrasts with
   the  C  tradition  of  either  running  syllables together or marking
   syllable  breaks  with  underscores; thus, where a C programmer would
   write thisverylongname or this_very_long_name, the camelCased version
   would  be  thisVeryLongName.  This  practice  is  common  in  certain
   language  communities  (formerly Pascal; today Java and Visual Basic)
   and tends to be associated with object-oriented programming.

   Compare  {BiCapitalization};  but  where  that  practice is primarily
   associated  with  marketing,  camelCasing  is not aimed at impressing
   anybody, and hackers consider it respectable.

:camelCasing:

   See {PascalCasing}.

:can't happen:

   The  traditional  program comment for code executed under a condition
   that  should  never  be  true,  for  example  a file size computed as
   negative.   Often,   such  a  condition  being  true  indicates  data
   corruption  or  a  faulty  algorithm;  it is almost always handled by
   emitting  a  fatal  error  message and terminating or crashing, since
   there  is  little  else that can be done. Some case variant of "can't
   happen"  is  also  often  the  text emitted if the `impossible' error
   actually  happens!  Although  "can't  happen"  events  are  genuinely
   infrequent  in  production code, programmers wise enough to check for
   them  habitually  are  often  surprised  at  how  frequently they are
   triggered during development and how many headaches checking for them
   turns out to head off. See also {firewall code} (sense 2).

:cancelbot: /kan´sel·bot/

   [Usenet: compound, cancel + robot]

   1. Mythically, a {robocanceller}

   2.  In  reality,  most  cancelbots are manually operated by being fed
   lists of spam message IDs.

:Cancelmoose[tm]: /kan´sel·moos/

   [Usenet]  The  archetype  and model of all good {spam}-fighters. Once
   upon  a  time,  the  'Moose would send out spam-cancels and then post
   notice   anonymously   to   news.admin.policy,  news.admin.misc,  and
   alt.current-events.net-abuse.  The  'Moose stepped to the fore on its
   own initiative, at a time (mid-1994) when spam-cancels were irregular
   and   disorganized,   and   behaved  altogether  admirably  --  fair,
   even-handed,  and  quick  to  respond  to comments and criticism, all
   without  self-aggrandizement  or  martyrdom.  Cancelmoose[tm] quickly
   gained  near-unanimous  support  from  the  readership  of  all three
   above-mentioned groups.

   Nobody knows who Cancelmoose[tm] really is, and there aren't even any
   good   rumors.   However,  the  'Moose  now  has  an  e-mail  address
   ()  and a web site (http://www.cm.org/.) By early 1995,
   others  had stepped into the spam-cancel business, and appeared to be
   comporting themselves well, after the 'Moose's manner. The 'Moose has
   now gotten out of the business, and is more interested in ending spam
   (and cancels) entirely.

:candygrammar: n.

   A  programming-language grammar that is mostly {syntactic sugar}; the
   term  is  also  a  play  on  `candygram'.  {COBOL}, Apple's Hypertalk
   language,  and  a lot of the so-called `4GL' database languages share
   this  property.  The  usual intent of such designs is that they be as
   English-like as possible, on the theory that they will then be easier
   for unskilled people to program. This intention comes to grief on the
   reality  that  syntax  isn't  what  makes  programming hard; it's the
   mental  effort  and  organization  required  to  specify an algorithm
   precisely   that   costs.   Thus   the   invariable  result  is  that
   `candygrammar'  languages  are  just  as  difficult  to program in as
   terser ones, and far more painful for the experienced hacker.

   [The  overtones  from the old Chevy Chase skit on Saturday Night Live
   should  not  be  overlooked.  This was a Jaws parody. Someone lurking
   outside  an  apartment  door tries all kinds of bogus ways to get the
   occupant to open up, while ominous music plays in the background. The
   last  attempt is a half-hearted "Candygram!" When the door is opened,
   a  shark  bursts in and chomps the poor occupant. [There is a similar
   gag  in  "Blazing  Saddles"  --ESR]  There  is a moral here for those
   attracted  to  candygrammars. Note that, in many circles, pretty much
   the same ones who remember Monty Python sketches, all it takes is the
   word  "Candygram!",  suitably  timed,  to  get  people rolling on the
   floor. -- GLS]

:canonical: adj.

   [very  common;  historically, `according to religious law'] The usual
   or  standard  state  or manner of something. This word has a somewhat
   more technical meaning in mathematics. Two formulas such as 9 + x and
   x + 9 are said to be equivalent because they mean the same thing, but
   the  second  one  is  in  canonical form because it is written in the
   usual way, with the highest power of x first. Usually there are fixed
   rules  you  can use to decide whether something is in canonical form.
   The  jargon  meaning, a relaxation of the technical meaning, acquired
   its  present  loading in computer-science culture largely through its
   prominence   in  Alonzo  Church's  work  in  computation  theory  and
   mathematical  logic  (see  {Knights of the Lambda Calculus}). Compare
   {vanilla}.

   Non-technical  academics  do not use the adjective `canonical' in any
   of  the senses defined above with any regularity; they do however use
   the    nouns   canon   and   canonicity   (not   **canonicalness   or
   **canonicality).  The canon of a given author is the complete body of
   authentic  works  by  that author (this usage is familiar to Sherlock
   Holmes fans as well as to literary scholars). `The canon' is the body
   of  works  in a given field (e.g., works of literature, or of art, or
   of music) deemed worthwhile for students to study and for scholars to
   investigate.

   The  word  `canon'  has an interesting history. It derives ultimately
   from  the  Greek  kanon  (akin  to the English `cane') referring to a
   reed.  Reeds  were used for measurement, and in Latin and later Greek
   the  word  `canon' meant a rule or a standard. The establishment of a
   canon  of  scriptures  within  Christianity  was  meant  to  define a
   standard or a rule for the religion. The above non-techspeak academic
   usages  stem  from  this  instance  of a defined and accepted body of
   work. Alongside this usage was the promulgation of `canons' (`rules')
   for  the  government  of  the  Catholic  Church. The techspeak usages
   ("according  to  religious  law")  derive  from this use of the Latin
   `canon'.

   Hackers  invest  this  term  with  a playfulness that makes an ironic
   contrast  with its historical meaning. A true story: One Bob Sjoberg,
   new  at the MIT AI Lab, expressed some annoyance at the incessant use
   of  jargon.  Over  his  loud  objections, GLS and RMS made a point of
   using  as  much  of it as possible in his presence, and eventually it
   began  to  sink  in.  Finally,  in one conversation, he used the word
   canonical  in  jargon-like  fashion  without  thinking. Steele: "Aha!
   We've  finally  got  you  talking jargon too!" Stallman: "What did he
   say?" Steele: "Bob just used `canonical' in the canonical way."

   Of  course,  canonicality  depends  on  context, but it is implicitly
   defined  as  the  way  hackers  normally expect things to be. Thus, a
   hacker  may  claim  with a straight face that `according to religious
   law' is not the canonical meaning of canonical.

:careware: /keir´weir/, n.

   A  variety  of  {shareware} for which either the author suggests that
   some  payment  be  made  to a nominated charity or a levy directed to
   charity  is  included  on  top  of  the  distribution  charge.  Syn.:
   {charityware}; compare {crippleware}, sense 2.

:cargo cult programming: n.

   A style of (incompetent) programming dominated by ritual inclusion of
   code  or  program structures that serve no real purpose. A cargo cult
   programmer  will  usually  explain the extra code as a way of working
   around  some bug encountered in the past, but usually neither the bug
   nor  the  reason  the  code apparently avoided the bug was ever fully
   understood (compare {shotgun debugging}, {voodoo programming}).

   The  term  `cargo  cult'  is a reference to aboriginal religions that
   grew  up  in  the  South Pacific after World War II. The practices of
   these  cults  center  on  building elaborate mockups of airplanes and
   military  style  landing strips in the hope of bringing the return of
   the  god-like  airplanes that brought such marvelous cargo during the
   war.   Hackish   usage   probably   derives  from  Richard  Feynman's
   characterization  of certain practices as "cargo cult science" in his
   book  Surely You're Joking, Mr. Feynman! (W. W. Norton & Co, New York
   1985, ISBN 0-393-01921-7).

:cascade: n.

   1.  A  huge  volume  of  spurious  error-message output produced by a
   compiler with poor error recovery. Too frequently, one trivial syntax
   error  (such  as a missing `)' or `}') throws the parser out of synch
   so that much of the remaining program text is interpreted as garbaged
   or ill-formed.

   2. A chain of Usenet followups, each adding some trivial variation or
   riposte  to  the text of the previous one, all of which is reproduced
   in the new message; an {include war} in which the object is to create
   a sort of communal graffito.

:case and paste: n.

   [from `cut and paste']

   The  addition  of  a new {feature} to an existing system by selecting
   the  code  from  an  existing  feature  and  pasting it in with minor
   changes.  Common  in  telephony  circles because most operations in a
   telephone  switch  are  selected  using  case  statements.  Leads  to
   {software bloat}.

   In  some  circles  of  EMACS  users  this  is  called `programming by
   Meta-W',  because  Meta-W is the EMACS command for copying a block of
   text  to a kill buffer in preparation to pasting it in elsewhere. The
   term  is  condescending,  implying  that  the  programmer  is  acting
   mindlessly  rather  than thinking carefully about what is required to
   integrate the code for two similar cases.

   At {DEC} (now HP), this is sometimes called clone-and-hack coding.

:case mod:

   [from `case modification']

   1.  Originally  a  kind  of hardware hack on a PC intended to support
   {overclocking}   (e.g.   with   cutouts  for  oversized  fans,  or  a
   freon-based or water-cooling system).

   2.  Nowadays,  similar  drastic  surgery  that's  done just to make a
   machine  look  nifty.  The  commonest  case mods combine acrylic case
   windows  with  LEDs to give the machine an eerie interior glow like a
   B-movie  flying  saucer.  More advanced forms of case modding involve
   building  machines  into weird and unlikely shapes. The effect can be
   quite  artistic,  but  one of the unwritten rules is that the machine
   must continue to function as a computer.

:casters-up mode: n.

   [IBM,  prob.  fr. slang belly up] Yet another synonym for `broken' or
   `down'.  Usually  connotes  a  major  failure.  A system (hardware or
   software)  which  is  down  may be already being restarted before the
   failure is noticed, whereas one which is casters up is usually a good
   excuse  to  take  the  rest  of  the  day  off (as long as you're not
   responsible for fixing it).

:casting the runes: n.

   What  a  {guru}  does  when  you  ask  him or her to run a particular
   program  and  type at it because it never works for anyone else; esp.
   used  when  nobody can ever see what the guru is doing different from
   what J. Random Luser does. Compare {incantation}, {runes}, {examining
   the entrails}; also see the AI koan about Tom Knight in Some AI Koans
   (in Appendix A).

   A correspondent from England tells us that one of ICL's most talented
   systems  designers  used  to  be  called  out occasionally to service
   machines  which the {field circus} had given up on. Since he knew the
   design  inside out, he could often find faults simply by listening to
   a  quick outline of the symptoms. He used to play on this by going to
   some  site  where  the field circus had just spent the last two weeks
   solid  trying  to find a fault, and spreading a diagram of the system
   out  on a table top. He'd then shake some chicken bones and cast them
   over  the  diagram, peer at the bones intently for a minute, and then
   tell  them  that  a certain module needed replacing. The system would
   start working again immediately upon the replacement.

:cat: vt.

   [from catenate via {Unix} cat(1)]

   1.  [techspeak]  To  spew  an entire file to the screen or some other
   output sink without pause (syn. {blast}).

   2.  By  extension,  to  dump  large  amounts of data at an unprepared
   target  or  with  no  intention  of  browsing  it  carefully.  Usage:
   considered silly. Rare outside Unix sites. See also {dd}, {BLT}.

   Among  Unix  fans,  cat(1)  is  considered  an  excellent  example of
   user-interface  design, because it delivers the file contents without
   such  verbosity  as spacing or headers between the files, and because
   it  does not require the files to consist of lines of text, but works
   with any sort of data.

   Among  Unix  haters,  cat(1) is considered the {canonical} example of
   bad user-interface design, because of its woefully unobvious name. It
   is  far  more often used to {blast} a file to standard output than to
   concatenate  two files. The name cat for the former operation is just
   as unintuitive as, say, LISP's {cdr}.

   Of such oppositions are {holy wars} made.... See also {UUOC}.

:catatonic: adj.

   Describes a condition of suspended animation in which something is so
   {wedged}  or {hung} that it makes no response. If you are typing on a
   terminal and suddenly the computer doesn't even echo the letters back
   to  the screen as you type, let alone do what you're asking it to do,
   then  the  computer  is suffering from catatonia (possibly because it
   has  crashed).  "There  I  was  in  the  middle  of a winning game of
   {nethack} and it went catatonic on me! Aaargh!" Compare {buzz}.

:cathedral: n.,adj.

   [see  {bazaar}  for  derivation]  The  `classical'  mode  of software
   engineering long thought to be necessarily implied by {Brooks's Law}.
   Features  small  teams,  tight  project  control,  and  long  release
   intervals.  This  term  came  into  use  after  analysis of the Linux
   experience  suggested  there  might  be  something wrong (or at least
   incomplete) in the classical assumptions.

:cd tilde: /C·D til·d@/, vi.

   To  go home. From the Unix C-shell and Korn-shell command cd ~, which
   takes one to one's $HOME (cd with no arguments happens to do the same
   thing). By extension, may be used with other arguments; thus, over an
   electronic  chat link, cd ~coffee would mean "I'm going to the coffee
   machine."

:CDA: /C·D·A/

   The  "Communications  Decency  Act", passed as section 502 of a major
   telecommunications   reform   bill  on  February  8th,  1996  ("Black
   Thursday").  The  CDA  made  it  a federal crime in the USA to send a
   communication   which  is  "obscene,  lewd,  lascivious,  filthy,  or
   indecent,  with  intent  to annoy, abuse, threaten, or harass another
   person."  It also threatened with imprisonment anyone who "knowingly"
   makes  accessible  to  minors  any  message that "describes, in terms
   patently  offensive  as measured by contemporary community standards,
   sexual or excretory activities or organs".

   While  the  CDA  was  sold  as  a  measure to protect minors from the
   putative  evils  of pornography, the repressive political aims of the
   bill  were  laid bare by the Hyde amendment, which intended to outlaw
   discussion of abortion on the Internet.

   To  say that this direct attack on First Amendment free-speech rights
   was  not  well received on the Internet would be putting it mildly. A
   firestorm  of  protest  followed, including a February 29th 1996 mass
   demonstration  by  thousands of netters who turned their {home page}s
   black    for    48    hours.    Several   civil-rights   groups   and
   computing/telecommunications   companies   mounted  a  constitutional
   challenge.  The  CDA  was  demolished  by  a strongly-worded decision
   handed down in 8th-circuit Federal court and subsequently affirmed by
   the  U.S.  Supreme Court on 26 June 1997 ("White Thursday"). See also
   {Exon}.

:cdr: /ku´dr/, /kuh´dr/, vt.

   [from  LISP]  To  skip  past  the  first  item  from a list of things
   (generalized from the LISP operation on binary tree structures, which
   returns  a  list  consisting  of  all  but  the  first element of its
   argument).  In  the  form cdr down, to trace down a list of elements:
   "Shall  we  cdr  down  the  agenda?"  Usage:  silly.  See  also {loop
   through}.

   Historical  note:  The  instruction format of the IBM 704 that hosted
   the  original  LISP  implementation featured two 15-bit fields called
   the address and decrement parts. The term cdr was originally Contents
   of  Decrement  part of Register. Similarly, car stood for Contents of
   Address part of Register.

   The  cdr  and car operations have since become bases for formation of
   compound  metaphors in non-LISP contexts. GLS recalls, for example, a
   programming  project  in  which  strings  were  represented as linked
   lists; the get-character and skip-character operations were of course
   called CHAR and CHDR.

:chad: /chad/, n.

   1.  [common]  The perforated edge strips on printer paper, after they
   have  been separated from the printed portion. Also called {selvage},
   {perf}, and {ripoff}.

   2.  The  confetti-like paper bits punched out of cards or paper tape;
   this  has  also  been  called  chaff, computer confetti, and keypunch
   droppings.   It's   reported  that  this  was  very  old  Army  slang
   (associated  with  teletypewriters  before the computer era), and has
   been   occasionally  sighted  in  directions  for  punched-card  vote
   tabulators  long  after  it  passed  out  of  live use among computer
   programmers  in  the late 1970s. This sense of `chad' returned to the
   mainstream  during the finale of the hotly disputed U.S. presidential
   election  in  2000  via stories about the Florida vote recounts. Note
   however  that in the revived mainstream usage chad is not a mass noun
   and `a chad' is a single piece of the stuff.

   There  is  an  urban  legend  that  chad  (sense  2) derives from the
   Chadless keypunch (named for its inventor), which cut little u-shaped
   tabs in the card to make a hole when the tab folded back, rather than
   punching  out  a  circle/rectangle; it was clear that if the Chadless
   keypunch  didn't make them, then the stuff that other keypunches made
   had  to be `chad'. However, serious attempts to track down "Chadless"
   as  a  personal  name or U.S. trademark have failed, casting doubt on
   this  etymology  --  and  the  U.S. Patent Classification System uses
   "chadless"  (small  c)  as  an  adjective, suggesting that "chadless"
   derives  from  "chad"  and not the other way around. There is another
   legend  that  the  word  was originally acronymic, standing for "Card
   Hole   Aggregate  Debris",  but  this  has  all  the  earmarks  of  a
   {backronym}.  It  has  also  been noted that the word "chad" is Scots
   dialect for gravel, but nobody has proposed any plausible reason that
   card  chaff should be thought of as gravel. None of these etymologies
   is really plausible.

   [74-12-31.png]

   This is one way to be {chad}less.

   (The  next  cartoon  in  the  Crunchly saga is 75-10-04. The previous
   cartoon was 74-12-29.)

:chad box: n.

   A  metal  box about the size of a lunchbox (or in some models a large
   wastebasket), for collecting the {chad} (sense 2) that accumulated in
   {Iron Age} card punches. You had to open the covers of the card punch
   periodically  and empty the chad box. The {bit bucket} was notionally
   the  equivalent  device  in  the  CPU  enclosure, which was typically
   across the room in another great gray-and-blue box.

:chain:

   1.  vi. [orig. from BASIC's CHAIN statement] To hand off execution to
   a   child  or  successor  without  going  through  the  {OS}  command
   interpreter  that invoked it. The state of the parent program is lost
   and  there  is  no  returning  to it. Though this facility used to be
   common  on  memory-limited  micros  and is still widely supported for
   backward  compatibility,  the  jargon  usage  is semi-obsolescent; in
   particular,  most  Unix  programmers will think of this as an {exec}.
   Oppose the more modern subshell.

   2.  n.  A  series  of linked data areas within an operating system or
   application.  Chain  rattling  is  the  process of repeatedly running
   through  the linked data areas searching for one which is of interest
   to  the  executing  program.  The implication is that there is a very
   large number of links on the chain.

:chainik: /chi:´nik/

   [Russian,   literally  "teapot"]  Almost  synonymous  with  {muggle}.
   Implies  both ignorance and a certain amount of willingness to learn,
   but does not necessarily imply as little experience or short exposure
   time  as  {newbie} and is not as derogatory as {luser}. Both a novice
   user  and  someone  using  a  system  for  a  long  time  without any
   understanding  of  the internals can be referred to as chainiks. Very
   widespread  term in Russian hackish, often used in an English context
   by  Russian-speaking  hackers esp. in Israel (e.g. "Our new colleague
   is  a  complete  chainik").  FidoNet  discussion  groups  often had a
   "chainik"  subsection  for  newbies  and,  well,  old  chainiks  (eg.
   su.asm.chainik,  ru.linux.chainik,  ru.html.chainik). Public projects
   often  have  a  chainik  mailing  list  to  keep the chainiks off the
   developers'  and  experienced  users' discussions. Today, the word is
   slowly   slipping   into   mainstream  Russian  due  to  the  Russian
   translation  of the popular yellow-black covered "foobar for dummies"
   series,  which  (correctly)  uses  "chainik"  for  "dummy",  but  its
   frequent   (though   not   excessive)  use  is  still  characteristic
   hacker-speak.

:channel: n.

   [IRC]  The  basic  unit  of  discussion  on  {IRC}.  Once one joins a
   channel,  everything  one  types  is  read by others on that channel.
   Channels  are  named  with strings that begin with a `#' sign and can
   have topic descriptions (which are generally irrelevant to the actual
   subject of discussion). Some notable channels are #initgame, #hottub,
   callahans, and #report. At times of international crisis, #report has
   hundreds  of  members,  some  of whom take turns listening to various
   news  services and typing in summaries of the news, or in some cases,
   giving  first-hand accounts of the action (e.g., Scud missile attacks
   in Tel Aviv during the Gulf War in 1991).

:channel hopping: n.

   [common;  IRC, GEnie] To rapidly switch channels on {IRC}, or a GEnie
   chat  board,  just  as a social butterfly might hop from one group to
   another at a party. This term may derive from the TV watcher's idiom,
   channel surfing.

:channel op: /chan´l op/, n.

   [IRC]  Someone  who  is endowed with privileges on a particular {IRC}
   channel;  commonly  abbreviated chanop or CHOP or just op (as of 2000
   these  short  forms  have almost crowded out the parent usage). These
   privileges  include  the  right  to  {kick}  users, to change various
   status bits, and to make others into CHOPs.

:chanop: /chan'·op/, n.

   [IRC] See {channel op}.

:char: /keir/, /char/, /kar/, n.

   Shorthand  for  `character'.  Esp.: used by C programmers, as char is
   C's typename for character data.

:charityware: /cha´rit·ee·weir`/, n.

   Syn. {careware}.

:chase pointers:

   1. vi. To go through multiple levels of indirection, as in traversing
   a  linked  list  or  graph  structure. Used esp. by programmers in C,
   where  explicit  pointers  are  a  very  common  data  type.  This is
   techspeak,  but  it  remains jargon when used of human networks. "I'm
   chasing  pointers.  Bob  said  you  could  tell  me  who  to  talk to
   about...." See {dangling pointer} and {snap}.

   2.  [Cambridge]  pointer  chase or pointer hunt: The process of going
   through a {core dump} (sense 1), interactively or on a large piece of
   paper  printed  with  hex {runes}, following dynamic data-structures.
   Used only in a debugging context.

:chawmp: n.

   [University  of Florida] 16 or 18 bits (half of a machine word). This
   term  was used by FORTH hackers during the late 1970s/early 1980s; it
   is  said  to  have been archaic then, and may now be obsolete. It was
   coined  in  revolt against the promiscuous use of `word' for anything
   between  16 and 32 bits; `word' has an additional special meaning for
   FORTH  hacks  that  made  the  overloading  intolerable.  For similar
   reasons,  /gaw´bl/ (spelled `gawble' or possibly `gawbul') was in use
   as  a term for 32 or 48 bits (presumably a full machine word, but our
   sources  are unclear on this). These terms are more easily understood
   if  one  thinks of them as faithful phonetic spellings of `chomp' and
   `gobble'  pronounced in a Florida or other Southern U.S. dialect. For
   general discussion of similar terms, see {nybble}.

:check: n.

   A  hardware-detected  error condition, most commonly used to refer to
   actual  hardware failures rather than software-induced traps. E.g., a
   parity  check  is  the  result  of  a hardware-detected parity error.
   Recorded   here   because  the  word  often  humorously  extended  to
   non-technical  problems.  For  example, the term child check has been
   used  to refer to the problems caused by a small child who is curious
   to  know  what  happens  when  s/he presses all the cute buttons on a
   computer's  console  (of  course,  this particular problem could have
   been prevented with {molly-guard}s).

:cheerfully: adv.

   See {happily}.

:chemist: n.

   [Cambridge]  Someone  who  wastes computer time on {number-crunching}
   when   you'd  far  rather  the  machine  were  doing  something  more
   productive,  such  as  working  out anagrams of your name or printing
   Snoopy  calendars or running {life} patterns. May or may not refer to
   someone who actually studies chemistry.

:Chernobyl chicken: n.

   See {laser chicken}.

:Chernobyl packet: /cher·noh´b@l pak'@t/, n.

   A  network  packet  that  induces a {broadcast storm} and/or {network
   meltdown},  in memory of the April 1986 nuclear accident at Chernobyl
   in  Ukraine.  The  typical  scenario involves an IP Ethernet datagram
   that  passes through a gateway with both source and destination Ether
   and  IP  address  set  as  the respective broadcast addresses for the
   subnetworks being gated between. Compare {Christmas tree packet}.

:chicken head: n.

   [Commodore]  The  Commodore  Business  Machines  logo, which strongly
   resembles a poultry part (within Commodore itself the logo was always
   called  chicken  lips).  Rendered in ASCII as `C='. With the arguable
   exception  of  the  {Amiga},  Commodore's  machines  were notoriously
   crocky  little {bitty box}es, albeit people have written multitasking
   Unix-like  operating  systems  with TCP/IP networking for them. Thus,
   this  usage  may  owe something to Philip K. Dick's novel Do Androids
   Dream  of  Electric Sheep? (the basis for the movie Blade Runner; the
   novel  is  now  sold under that title), in which a `chickenhead' is a
   mutant with below-average intelligence.

:chickenboner: n.

   [spamfighters]  Derogatory  term  for  a spammer. The image that goes
   with  it  is  of  an  overweight  redneck  with bad teeth living in a
   trailer, hunched in semi-darkness over his computer and surrounded by
   rotting  chicken bones in half-eaten KFC buckets and empty beer cans.
   See     http://www.spamfaq.net/terminology.shtml#chickenboner     for
   discussion.

:chiclet keyboard: n.

   A keyboard with a small, flat rectangular or lozenge-shaped rubber or
   plastic  keys  that look like pieces of chewing gum. (Chiclets is the
   brand name of a variety of chewing gum that does in fact resemble the
   keys  of  chiclet  keyboards.) Used esp. to describe the original IBM
   PCjr  keyboard.  Vendors  unanimously  liked  these because they were
   cheap,  and  a lot of early portable and laptop products got launched
   using  them. Customers rejected the idea with almost equal unanimity,
   and  chiclets  are  not  often seen on anything larger than a digital
   watch any more.

:Chinese Army technique: n.

   Syn. {Mongolian Hordes technique}.

:choad: /chohd/, n.

   Synonym  for  `penis'  used  in  alt.tasteless and popularized by the
   denizens  thereof. They say: "We think maybe it's from Middle English
   but  we're all too damned lazy to check the OED." [I'm not. It isn't.
   --ESR]  This  term  is  alleged  to have been inherited through 1960s
   underground  comics,  and to have been recently sighted in the Beavis
   and  Butthead  cartoons.  Speakers of the Hindi, Bengali and Gujarati
   languages have confirmed that `choad' is in fact an Indian vernacular
   word  equivalent  to  `fuck';  it is therefore likely to have entered
   English slang via the British Raj.

:choke: v.

   [common]  To  reject input, often ungracefully. "NULs make System V's
   lpr(1)  choke."  "I  tried building an {EMACS} binary to use {X}, but
   cpp(1) choked on all those #defines." See {barf}, {vi}.

:chomp: vi.

   1.  To  {lose};  specifically, to chew on something of which more was
   bitten off than one can. Probably related to gnashing of teeth.

   2. To bite the bag; See {bagbiter}.

   A  hand  gesture  commonly  accompanies this. To perform it, hold the
   four  fingers  together  and  place the thumb against their tips. Now
   open  and  close  your  hand rapidly to suggest a biting action (much
   like  what  Pac-Man  does  in  the  classic  video  game, though this
   pantomime  seems  to  predate  that).  The gesture alone means `chomp
   chomp'  (see  Verb Doubling in the Jargon Construction section of the
   Prependices). The hand may be pointed at the object of complaint, and
   for  real  emphasis  you  can use both hands at once. Doing this to a
   person  is  equivalent  to  saying  "You  chomper!"  If you point the
   gesture  at  yourself,  it is a humble but humorous admission of some
   failure. You might do this if someone told you that a program you had
   written  had  failed in some surprising way and you felt dumb for not
   having anticipated it.

:chomper: n.

   Someone  or  something  that  is  chomping;  a  loser.  See  {loser},
   {bagbiter}, {chomp}.

:CHOP: /chop/, n.

   [IRC] See {channel op}.

:Christmas tree: n.

   A  kind  of  RS-232  line  tester  or  breakout box featuring rows of
   blinking red and green LEDs suggestive of Christmas lights.

:Christmas tree packet: n.

   A  packet  with  every  single option set for whatever protocol is in
   use.  See  {kamikaze packet}, {Chernobyl packet}. (The term doubtless
   derives  from  a  fanciful  image  of  each  little  option bit being
   represented  by  a  different-colored  light  bulb,  all  turned on.)
   Compare {Godzillagram}.

:chrome: n.

   [from automotive slang via wargaming] Showy features added to attract
   users  but  contributing  little or nothing to the power of a system.
   "The 3D icons in Motif are just chrome, but they certainly are pretty
   chrome!" Distinguished from {bells and whistles} by the fact that the
   latter  are  usually  added  to  gratify  developers' own desires for
   featurefulness. Often used as a term of contempt.

:chug: vi.

   To  run  slowly;  to  {grind} or {grovel}. "The disk is chugging like
   crazy."

:Church of the SubGenius: n.

   A  mutant  offshoot of {Discordianism} launched in 1981 as a spoof of
   fundamentalist Christianity by the `Reverend' Ivan Stang, a brilliant
   satirist  with  a gift for promotion. Popular among hackers as a rich
   source  of  bizarre  imagery  and references such as "Bob" the divine
   drilling-equipment  salesman,  the  Benevolent  Space  Xists, and the
   Stark  Fist  of  Removal. Much SubGenius theory is concerned with the
   acquisition of the mystical substance or quality of {slack}. There is
   a home page at http://www.subgenius.com/.

:CI$: //, n.

   Hackerism  for `CIS', CompuServe Information Service. The dollar sign
   refers  to CompuServe's rather steep line charges. Often used in {sig
   block}s just before a CompuServe address. Syn. {Compu$erve}.

:Cinderella Book: n.

   [CMU] Introduction to Automata Theory, Languages, and Computation, by
   John  Hopcroft  and Jeffrey Ullman, (Addison-Wesley, 1979). So called
   because  the  cover depicts a girl (putatively Cinderella) sitting in
   front  of a Rube Goldberg device and holding a rope coming out of it.
   On  the  back  cover,  the  device  is  in  shambles  after  she  has
   (inevitably) pulled on the rope. See also {book titles}.

:Classic C: /klas´ik C/, n.

   [a  play  on `Coke Classic'] The C programming language as defined in
   the  first  edition  of  {K&R}, with some small additions. It is also
   known  as  `K&R  C'.  The  name  came  into  use  while  C  was being
   standardized by the ANSI X3J11 committee. Also `C Classic'.

   An  analogous  construction  is sometimes applied elsewhere: thus, `X
   Classic',  where  X = Star Trek (referring to the original TV series)
   or X = PC (referring to IBM's ISA-bus machines as opposed to the PS/2
   series).  This  construction  is especially used of product series in
   which  the  newer  versions are considered serious losers relative to
   the older ones.

:clean:

   1.  adj.  Used  of hardware or software designs, implies `elegance in
   the small', that is, a design or implementation that may not hold any
   surprises  but  does things in a way that is reasonably intuitive and
   relatively  easy  to  comprehend  from  the  outside.  The antonym is
   `grungy' or {crufty}.

   2.  v.  To  remove  unneeded or undesired files in a effort to reduce
   clutter:  "I'm cleaning up my account." "I cleaned up the garbage and
   now have 100 Meg free on that partition."

:click of death: n.

   A syndrome of certain Iomega ZIP drives, named for the clicking noise
   that is caused by the malady. An affected drive will, after accepting
   a disk, start making a clicking noise and refuse to eject the disk. A
   common  solution for retrieving the disk is to insert the bent end of
   a  paper clip into a small hole adjacent to the slot. "Clicked" disks
   are generally unusable after being retrieved from the drive.

   The  clicking  noise is caused by the drive's read/write head bumping
   against its movement stops when it fails to find track 0 on the disk,
   causing the head to become misaligned. This can happen when the drive
   has  been  subjected to a physical shock, or when the disk is exposed
   to  an electromagnetic field, such as that of the CRT. Another common
   cause is when a package of disks is armed with an anti-theft strip at
   a store. When the clerk scans the product to disarm the strip, it can
   demagnetize the disks, wiping out track 0.

   There  is evidence that the click of death is a communicable disease;
   a  "clicked" disk can cause the read/write head of a "clean" drive to
   become  misaligned. Iomega at first denied the existence of the click
   of death, but eventually offered to replace free of charge any drives
   affected by the condition.

:CLM: /C·L·M/

   [Sun: `Career Limiting Move']

   1.  n.  An  action endangering one's future prospects of getting plum
   projects  and  raises, and possibly one's job: "His Halloween costume
   was a parody of his manager. He won the prize for `best CLM'."

   2.  adj.  Denotes extreme severity of a bug, discovered by a customer
   and  obviously  missed earlier because of poor testing: "That's a CLM
   bug!"

:clobber: vt.

   To  overwrite,  usually unintentionally: "I walked off the end of the
   array  and clobbered the stack." Compare {mung}, {scribble}, {trash},
   and {smash the stack}.

:clock:

   n.,v.

   1.  [techspeak]  The  master  oscillator  that  steps  a CPU or other
   digital  circuit  through  its paces. This has nothing to do with the
   time  of  day,  although the software counter that keeps track of the
   latter may be derived from the former.

   2.  vt.  To  run a CPU or other digital circuit at a particular rate.
   "If you clock it at 1000MHz, it gets warm.". See {overclock}.

   3.  vt.  To  force  a  digital  circuit from one state to the next by
   applying  a  single clock pulse. "The data must be stable 10ns before
   you clock the latch."

:clocks: n.

   Processor  logic cycles, so called because each generally corresponds
   to  one clock pulse in the processor's timing. The relative execution
   times  of  instructions  on a machine are usually discussed in clocks
   rather  than absolute fractions of a second; one good reason for this
   is  that  clock speeds for various models of the machine may increase
   as  technology  improves, and it is usually the relative times one is
   interested  in  when discussing the instruction set. Compare {cycle},
   {jiffy}.

:clone: n.

   1.  An  exact  duplicate:  "Our product is a clone of their product."
   Implies   a   legal   reimplementation   from   documentation  or  by
   reverse-engineering. Also connotes lower price.

   2.  A  shoddy,  spurious  copy:  "Their  product  is  a  clone of our
   product."

   3.  A  blatant  ripoff,  most  likely violating copyright, patent, or
   trade  secret  protections:  "Your product is a clone of my product."
   This use implies legal action is pending.

   4.  [obs]  PC  clone:  a  PC-BUS/ISA/EISA/PCI-compatible  80x86-based
   microcomputer  (this use is sometimes spelled klone or PClone). These
   invariably  have  much more bang for the buck than the IBM archetypes
   they  resemble.  This term fell out of use in the 1990s; the class of
   machines it describes are now simply PCs or Intel machines.

   5. [obs.] In the construction Unix clone: An OS designed to deliver a
   Unix-lookalike   environment  without  Unix  license  fees,  or  with
   additional  `mission-critical' features such as support for real-time
   programming.  {Linux}  and  the  free  BSDs  killed  off this product
   category and the term with it.

   6.  v.  To make an exact copy of something. "Let me clone that" might
   mean  "I want to borrow that paper so I can make a photocopy" or "Let
   me get a copy of that file before you {mung} it".

:clone-and-hack coding: n.

   [DEC] Syn. {case and paste}.

:clover key: n.

   [Mac users] See {feature key}.

:clue-by-four:

   [Usenet:  portmanteau,  clue  +  two-by-four] The notional stick with
   which  one  whacks an aggressively clueless person. This term derives
   from a western American folk saying about training a mule "First, you
   got  to hit him with a two-by-four. That's to get his attention." The
   clue-by-four is a close relative of the {LART}. Syn. clue stick. This
   metaphor  is commonly elaborated; your editor once heard a hacker say
   "I smite you with the great sword Cluebringer!"

:clustergeeking: /kluh´st@r·gee`king/, n.

   [CMU] Spending more time at a computer cluster doing CS homework than
   most people spend breathing.

:co-lo: /koh´loh`/, n.

   [very  common; first heard c.1995] Short for `co-location', used of a
   machine you own that is physically sited on the premises of an ISP in
   order to take advantage of the ISP's direct access to lots of network
   bandwidth.  Often  in  the phrases co-lo box or co-lo machines. Co-lo
   boxes  are typically web and FTP servers remote-administered by their
   owners, who may seldom or never visit the actual site.

:coaster: n.

   1.  Unuseable  CD  produced  during  failed  attempt  at  writing  to
   writeable   or  re-writeable  CD  media.  Certainly  related  to  the
   coaster-like shape of a CD, and the relative value of these failures.
   "I made a lot of coasters before I got a good CD."

   2.  Useless CDs received in the mail from the likes of AOL, MSN, CI$,
   Prodigy, ad nauseam.

   In the U.K., beermat is often used in these senses.

:coaster toaster:

   A  writer for recordable CD-Rs, especially cheap IDE models that tend
   to produce a high proportion of {coaster}s.

:COBOL: /koh´bol/, n.

   [COmmon Business-Oriented Language] (Synonymous with {evil}.) A weak,
   verbose,  and  flabby  language  used by {code grinder}s to do boring
   mindless  things  on  {dinosaur} mainframes. Hackers believe that all
   COBOL   programmers   are   {suit}s   or   {code  grinder}s,  and  no
   self-respecting   hacker  will  ever  admit  to  having  learned  the
   language.  Its very name is seldom uttered without ritual expressions
   of  disgust or horror. One popular one is Edsger W. Dijkstra's famous
   observation  that  "The  use of COBOL cripples the mind; its teaching
   should, therefore, be regarded as a criminal offense." (from Selected
   Writings  on  Computing:  A  Personal Perspective) See also {fear and
   loathing}, {software rot}.

:COBOL fingers: /koh´bol fing´grz/, n.

   Reported  from  Sweden,  a  (hypothetical) disease one might get from
   coding in COBOL. The language requires code verbose beyond all reason
   (see {candygrammar}); thus it is alleged that programming too much in
   COBOL  causes  one's  fingers  to  wear  down to stubs by the endless
   typing.  "I  refuse  to  type in all that source code again; it would
   give me COBOL fingers!"

:cobweb site: n.

   A  World  Wide  Web  Site  that  hasn't  been  updated so long it has
   figuratively grown cobwebs.

:code:

   1. n. The stuff that software writers write, either in source form or
   after   translation  by  a  compiler  or  assembler.  Often  used  in
   opposition to "data", which is the stuff that code operates on. Among
   hackers  this is a mass noun, as in "How much code does it take to do
   a  {bubble  sort}?",  or "The code is loaded at the high end of RAM."
   Among scientific programmers it is sometimes a count noun equilvalent
   to  "program";  thus  they may speak of "codes" in the plural. Anyone
   referring  to software as "the software codes" is probably a {newbie}
   or a {suit}.

   2.  v.  To  write  code.  In this sense, always refers to source code
   rather  than  compiled.  "I  coded an Emacs clone in two hours!" This
   verb  is  a  bit  of  a  cultural marker associated with the Unix and
   minicomputer  traditions  (and  lately  Linux);  people  within  that
   culture  prefer  v.  `code'  to  v.  `program' whereas outside it the
   reverse is normally true.

:code grinder: n.

   1.  A  {suit}-wearing  minion of the sort hired in legion strength by
   banks  and  insurance  companies to implement payroll packages in RPG
   and  other  such unspeakable horrors. In its native habitat, the code
   grinder  often  removes  the  suit  jacket  to reveal an underplumage
   consisting of button-down shirt (starch optional) and a tie. In times
   of  dire  stress,  the sleeves (if long) may be rolled up and the tie
   loosened  about  half  an inch. It seldom helps. The {code grinder}'s
   milieu  is about as far from hackerdom as one can get and still touch
   a computer; the term connotes pity. See {Real World}, {suit}.

   2.  Used  of  or  to  a hacker, a really serious slur on the person's
   creative  ability; connotes a design style characterized by primitive
   technique,   rule-boundedness,  {brute  force},  and  utter  lack  of
   imagination.

   Contrast {hacker}, {Real Programmer}.

:code monkey: n

   1.  A person only capable of grinding out code, but unable to perform
   the  higher-primate  tasks  of  software  architecture, analysis, and
   design.  Mildly insulting. Often applied to the most junior people on
   a programming team.

   2. Anyone who writes code for a living; a programmer.

   3.   A   self-deprecating   way   of  denying  responsibility  for  a
   {management}  decision,  or  of complaining about having to live with
   such  decisions.  As in "Don't ask me why we need to write a compiler
   in COBOL, I'm just a code monkey."

:Code of the Geeks: n.

   see {geek code}.

:code police: n.

   [by analogy with George Orwell's `thought police'] A mythical team of
   Gestapo-like  storm  troopers  that might burst into one's office and
   arrest  one for violating programming style rules. May be used either
   seriously,  to underline a claim that a particular style violation is
   dangerous,   or  ironically,  to  suggest  that  the  practice  under
   discussion is condemned mainly by anal-retentive {weenie}s. "Dike out
   that  goto  or  the  code  police  will get you!" The ironic usage is
   perhaps more common.

:codes: n.

   [scientific  computing]  Programs. This usage is common in people who
   hack   supercomputers  and  heavy-duty  {number-crunching},  rare  to
   unknown  elsewhere  (if you say "codes" to hackers outside scientific
   computing, their first association is likely to be "and cyphers").

:codewalker: n.

   A  program  component  that  traverses  other  programs for a living.
   Compilers have codewalkers in their front ends; so do cross-reference
   generators  and some database front ends. Other utility programs that
   try  to do too much with source code may turn into codewalkers. As in
   "This new vgrind feature would require a codewalker to implement."

:coefficient of X: n.

   Hackish speech makes heavy use of pseudo-mathematical metaphors. Four
   particularly  important  ones  involve the terms coefficient, factor,
   index  of  X,  and quotient. They are often loosely applied to things
   you  cannot  really  be  quantitative  about,  but  there  are subtle
   distinctions  among  them  that  convey information about the way the
   speaker  mentally models whatever he or she is describing. Foo factor
   and  foo  quotient  tend to describe something for which the issue is
   one  of presence or absence. The canonical example is {fudge factor}.
   It's   not  important  how  much  you're  fudging;  the  term  simply
   acknowledges  that some fudging is needed. You might talk of liking a
   movie  for  its  silliness  factor.  Quotient tends to imply that the
   property is a ratio of two opposing factors: "I would have won except
   for  my  luck  quotient." This could also be "I would have won except
   for  the  luck factor", but using quotient emphasizes that it was bad
   luck overpowering good luck (or someone else's good luck overpowering
   your  own).  Foo index and coefficient of foo both tend to imply that
   foo  is,  if  not strictly measurable, at least something that can be
   larger  or  smaller.  Thus,  you  might refer to a paper or person as
   having  a  high  bogosity  index, whereas you would be less likely to
   speak  of  a  high  bogosity factor. Foo index suggests that foo is a
   condensation  of  many  quantities,  as in the mundane cost-of-living
   index;  coefficient  of  foo  suggests  that  foo  is  a  fundamental
   quantity,  as  in a coefficient of friction. The choice between these
   terms  is  often  one of personal preference; e.g., some people might
   feel   that   bogosity  is  a  fundamental  attribute  and  thus  say
   coefficient   of   bogosity,  whereas  others  might  feel  it  is  a
   combination of factors and thus say bogosity index.

:cokebottle: /kohk´bot·l/, n.

   Any  very  unusual character, particularly one you can't type because
   it  isn't  on  your  keyboard.  MIT people used to complain about the
   `control-meta-cokebottle'   commands   at   SAIL,   and  SAIL  people
   complained  right  back about the `escape-escape-cokebottle' commands
   at  MIT.  After  the demise of the {space-cadet keyboard}, cokebottle
   faded  away  as  serious  usage,  but was often invoked humorously to
   describe  an  (unspecified) weird or non-intuitive keystroke command.
   It  may  be  due  for  a second inning, however. The OSF/Motif window
   manager,  mwm(1),  has  a  reserved  keystroke  for  switching to the
   default  set  of keybindings and behavior. This keystroke is (believe
   it  or  not)  `control-meta-bang' (see {bang}). Since the exclamation
   point looks a lot like an upside down Coke bottle, Motif hackers have
   begun  referring to this keystroke as cokebottle. See also {quadruple
   bucky}.

:cold boot: n.

   See {boot}.

:COME FROM: n.

   A  semi-mythical  language  construct  dual to the `go to'; COME FROM