glenda.party
term% ls -F
term% cat index.txt
#======= THIS IS THE JARGON FILE, VERSION 4.4.2, 22 MAY 2003 =======#

The Jargon File

(version 4.4.2)
     ________________________________________________________________

   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.2" or
   "The on-line hacker Jargon File, version 4.4.2, 22 May 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 <esr@thyrsus.com>

   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
   l     greek character lambda
   L     greek character Lambda
   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

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  <esr@thyrsus.com>  maintains  the  new  File  with
   assistance  from  Guy  L.  Steele  Jr. <gls@think.com>; 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.

   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 <jn11+@andrew.cmu.edu>,
   Bernie  Cosell <cosell@bbn.com>, Earl Boebert <boebert@SCTC.com>, and
   Joe Morris <jcmorris@mwunix.mitre.org>.

   We  were  fortunate  enough  to  have  the  aid  of some accomplished
   linguists.  David  Stampe  <stampe@hawaii.edu>  and  Charles Hoequist
   <hoequist@bnr.ca>   contributed   valuable   criticism;   Joe   Keane
   <jgk@osc.osc.com> helped us improve the pronunciation guides.

   A  few  bits  of  this  text quote previous works. We are indebted to
   Brian  A.  LaMacchia <bal@zurich.ai.mit.edu> for obtaining permission
   for  us  to  use  material  from the TMRC Dictionary; also, Don Libes
   <libes@cme.nist.gov>  contributed  some appropriate material from his
   excellent  book Life With UNIX. We thank Per Lindberg <per@front.se>,
   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  <Marc_Weiser.PARC@xerox.com> 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  <scs@eskimo.com>  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 <georgere@microsoft.com> helped with TeX
   arcana  and  painstakingly  proofread  some 2.7 and 2.8 versions, and
   Eric  Tiedemann  <est@thyrsus.com> 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
     * FrontPage -> AffrontPage
     * 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 not 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.)  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 <bang>, <hic>, <ring>,
   <grin>, <kick>, <stomp>, <mumble>. 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 <ethnic> 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 <jrh578689@thudpucker.com> J. R. Hacker wrote:
<I recently had occasion to field-test the Snafu
<Systems 2300E adaptive gonkulator.  The price was
<right, and the racing stripe on the case looked
<kind of neat, but its performance left something
<to be desired.

Yeah, I tried one out too.

#ifdef FLAME
Hasn't anyone told those idiots that you can't get
decent bogon suppression with AFJ filters at today's
net volumes?
#endif /* FLAME */

I guess they figured the price premium for true
frame-based semantic analysis was too high.
Unfortunately, it's also the only workable approach.
I wouldn't recommend purchase of this product unless
you're on a *very* tight budget.

#include <disclaimer.h>
--
                 == 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:
<flame>
Your mother was a hamster and your father smelt of elderberries!
</flame>

   You'll even see this with an HTML-style attribute modifier:
<flame intensity="100%">
You seem well-suited for a career in government.
</flame>

   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 at Los Angeles
   UK the United Kingdom (England, Wales, Scotland, Northern Ireland)
   Usenet See the Usenet entry
   WPI  Worcester Polytechnic Institute, site of a very active community
   of PDP-10 hackers during the 1970s
   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): //

   [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: /@·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  the  animation  rotation board 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)

: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  buit  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 (2002) 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 us up the 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

     <AOL>Me, too!</AOL>

   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; <exclamation
   mark>. 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; <quotation marks>; <dieresis>; dirk; [rabbit-ears]; double
   prime.
   #  Common:  number  sign;  pound; pound sign; hash; sharp; {crunch} ;
   hex;  [mesh].  Rare:  grid;  crosshatch; octothorpe; flash; <square>,
   pig-pen; tictactoe; scratchmark; thud; thump; {splat} .
   $  Common:  dollar; <dollar sign>. Rare: currency symbol; buck; cash;
   string  (from  BASIC);  escape  (when used as the echo of ASCII ESC);
   ding; cache; [big money].
   %    Common:    percent;   <percent   sign>;   mod;   grapes.   Rare:
   [double-oh-seven].
   & Common: <ampersand>; 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; <apostrophe>. Rare: prime; glitch;
   tick;  irk;  pop;  [spark];  <closing  single quotation mark>; <acute
   accent>.
   (  ) 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; <opening/closing parenthesis>; o/c
   round  bracket,  l/r  round bracket, [wax/wane]; parenthisey/unparen­
   thisey; l/r ear.
   *  Common:  star;  [  {splat}  ];  <asterisk>.  Rare: wildcard; gear;
   dingle;  mult;  spider;  aster;  times;  twinkle; glob (see {glob} );
   {Nathan Hale} .
   + Common: <plus>; add. Rare: cross; [intersection].
   , Common: <comma>. Rare: <cedilla>; [tail].
   -  Common:  dash;  <hyphen>;  <minus>.  Rare:  [worm];  option;  dak;
   bithorpe.
   .  Common:  dot; point; <period>; <decimal point>. Rare: radix point;
   full stop; [spot].
   /  Common:  slash;  stroke;  <slant>;  forward slash. Rare: diagonal;
   solidus; over; slak; virgule; [slat].
: Common: <colon>. Rare: dots; [two-spot].
   ; Common: <semicolon>; semi. Rare: weenie; [hybrid], pit-thwong.
   <  >  Common:  <less/greater  than>;  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: <equals>; gets; takes. Rare: quadrathorpe; [half-mesh].
   ?  Common:  query;  <question  mark>;  {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; <commercial
   at>.
   V Rare: [book].
   [  ] Common: l/r square bracket; l/r bracket; <opening/closing brack­
   et>; 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; <reverse slant>;
   reversed virgule; [backslat].
   ^ Common: hat; control; uparrow; caret; <circumflex>. Rare: xor sign,
   chevron;  [shark  (or  shark-fin)]; to the (`to the power of'); fang;
   pointer (in Pascal).
   _  Common:  <underline>;  underscore;  underbar;  under. Rare: score;
   backarrow; skid; [flatworm].
   `  Common:  backquote;  left  quote;  left  single quote; open quote;
   <grave  accent>;  grave.  Rare: backprime; [backspark]; unapostrophe;
   birk; blugle; back tick; back glitch; push; <opening single quotation
   mark>; quasiquote.
   {  }  Common:  o/c  brace;  l/r  brace;  l/r  squiggly;  l/r squiggly
   bracket/brace;  l/r  curly  bracket/brace;  <opening/closing  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: <vertical
   line>; gozinta; thru; pipesinta (last three from UNIX); [spike].
   ~  Common:  <tilde>; 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. "At my video store,
   they  used their computer to sort the videos into ASCIIbetical order,
   so  I  couldn't  find Crocodile Dundee until I thought to look before
   2001 and 48 Hours!"

: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).

   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: /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Ø}@oslash;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 <jat@cup.hp.com>, 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.

   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
   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 often 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.

   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.  "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)

: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)

: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)  or  (on a {bitty box}) 2^15 (32,768). If you want to
   work  with  numbers  larger than that, you have to use floating-point
   numbers,  which  are  usually  accurate  to only six or seven decimal
   places.  Computer  languages  that  provide bignums can perform exact
   calculations  on  very large numbers, such as 1000! (the factorial of
   1000,  which  is 1000 times 999 times 998 times ... times 2 times 1).
   For  example, this value for 1000! was computed by the MacLISP system
   using bignums:

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

: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!
   Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
   Ist easy schnappen der springenwerk, blowenfusen und poppencorken
   mit spitzensparken.  Ist nicht fuer gewerken bei das dumpkopfen.
   Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
   pockets muss; relaxen und watchen das blinkenlichten.

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

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

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

   See also {geef}.

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

   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.

: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:

    <postal-address> ::= <name-part> <street-address> <zip-part>
    <personal-part> ::= <name> | <initial> "."
    <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
                  | <personal-part> <name-part>
    <street-address> ::= [<apt>] <house-num> <street-name> <EOL>
    <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>

   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?  <massive-global-delete>  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 3. (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://<somehost>/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".

: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.png]

   The `original bug'

   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)

: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 1.

:busy-wait: vi.

   Used  of human behavior, conveys that the subject is busy waiting for
   someone  or  something, intends to move instantly as soon as it shows
   up,  and thus cannot do anything else at the moment. "Can't talk now,
   I'm busy-waiting till Bill gets off the phone."

   Technically,  busy-wait  means  to  wait  on  an  event by {spin}ning
   through  a tight or timed-delay loop that polls for the event on each
   pass,  as  opposed  to setting up an interrupt handler and continuing
   execution  on  another  part  of  the task. 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: 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]

: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. The 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
   (<moose@cm.org>)  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)

: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,  will  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
   <label>  would  cause  the  referenced  label  to  act  as  a sort of
   trapdoor,  so  that  if  the  program  ever  reached it control would
   quietly and {automagically} be transferred to the statement following
   the  COME FROM. COME FROM was first proposed in R. Lawrence Clark's A
   Linguistic Contribution to GOTO-less programming, which appeared in a
   1973 {Datamation} issue (and was reprinted in the April 1984 issue of
   Communications of the ACM). This parodied the then-raging `structured
   programming' {holy wars} (see {considered harmful}). Mythically, some
   variants  are  the  assigned  COME  FROM  and  the computed COME FROM
   (parodying some nasty control constructs in FORTRAN and some extended
   BASICs).  Of  course,  multi-tasking  (or  non-determinism)  could be
   implemented  by  having more than one COME FROM statement coming from
   the same label.

   In  some  ways the FORTRAN DO looks like a COME FROM statement. After
   the   terminating   statement  number/CONTINUE  is  reached,  control
   continues  at  the statement following the DO. Some generous FORTRANs
   would  allow  arbitrary  statements  (other  than  CONTINUE)  for the
   statement, leading to examples like:

      DO 10 I=1,LIMIT
C imagine many lines of code here, leaving the
C original DO statement lost in the spaghetti...
      WRITE(6,10) I,FROB(I)
 10   FORMAT(1X,I5,G10.4)

   in  which  the trapdoor is just after the statement labeled 10. (This
   is  particularly  surprising because the label doesn't appear to have
   anything  to  do with the flow of control at all!) While sufficiently
   astonishing  to  the  unsuspecting  reader,  this  form  of COME FROM
   statement   isn't   completely   general.  After  all,  control  will
   eventually pass to the following statement. The implementation of the
   general  form  was left to Univac FORTRAN, ca. 1975 (though a roughly
   similar  feature  existed  on  the  IBM  7040 ten years earlier). The
   statement  AT  100  would  perform  a  COME FROM 100. It was intended
   strictly  as  a  debugging  aid,  with  dire consequences promised to
   anyone  so  deranged  as  to use it in production code. More horrible
   things had already been perpetrated in production languages, however;
   doubters  need  only contemplate the ALTER verb in {COBOL}. COME FROM
   was  supported  under its own name for the first time 15 years later,
   in   C-INTERCAL  (see  {INTERCAL},  {retrocomputing});  knowledgeable
   observers are still reeling from the shock.

:comm mode: /kom mohd/, n.

   [ITS: from the feature supporting on-line chat; the first word may be
   spelled with one or two m's] Syn. for {talk mode}.

:command key: n.

   [Mac users] Syn. {feature key}.

:comment out: vt.

   To  surround  a  section of code with comment delimiters or to prefix
   every  line  in  the  section with a comment marker; this prevents it
   from  being  compiled  or  interpreted.  Often  done when the code is
   redundant  or  obsolete,  but is being left in the source to make the
   intent of the active code clearer; also when the code in that section
   is broken and you want to bypass it in order to debug some other part
   of the code. Compare {condition out}, usually the preferred technique
   in languages (such as {C}) that make it possible.

:Commonwealth Hackish: n.

   Hacker  jargon  as  spoken  in  English outside the U.S., esp. in the
   British  Commonwealth.  It is reported that Commonwealth speakers are
   more  likely to pronounce truncations like `char' and `soc', etc., as
   spelled  (/char/,  /sok/), as opposed to American /keir/ and /sohsh/.
   Dots in {newsgroup} names (especially two-component names) tend to be
   pronounced  more  often (so soc.wibble is /sok dot wib´l/ rather than
   /sohsh wib´l/).

   Preferred  {metasyntactic  variable}s  include  {blurgle},  eek, ook,
   frodo,  and bilbo; {wibble}, wobble, and in emergencies wubble; flob,
   banana,  tom,  dick,  harry, wombat, frog, {fish}, {womble} and so on
   and  on  (see  {foo}, sense 4). Alternatives to verb doubling include
   suffixes  -o-rama, frenzy (as in feeding frenzy), and city (examples:
   "barf city!" "hack-o-rama!" "core dump frenzy!").

   All  the  generic  differences within the anglophone world inevitably
   show themselves in the associated hackish dialects. The Greek letters
   beta  and zeta are usually pronounced /bee´t@/ and /zee´t@/; meta may
   also  be pronounced /mee´t@/. Various punctuators (and even letters -
   Z  is called `zed', not `zee') are named differently: most crucially,
   for  hackish,  where  Americans use `parens', `brackets' and `braces'
   for  (),  []  and  {},  Commonwealth English uses `brackets', `square
   brackets'  and `curly brackets', though `parentheses' may be used for
   the  first;  the  exclamation  mark, `!', is called pling rather than
   bang  and  the pound sign, `#', is called hash; furthermore, the term
   `the  pound  sign'  is understood to mean the £ (of course). Canadian
   hacker slang, as with mainstream language, mixes American and British
   usages about evenly.

   See  also  {attoparsec},  {calculator},  {chemist}, {console jockey},
   {fish},  {go-faster  stripes},  {grunge},  {hakspek},  {heavy metal},
   {leaky  heap},  {lord high fixer}, {loose bytes}, {muddie}, {nadger},
   {noddy},   {psychedelicware},  {raster  blaster},  {RTBM},  {seggie},
   {spod},   {sun  lounge},  {terminal  junkie},  {tick-list  features},
   {weeble},  {weasel},  {YABA},  and  notes  or  definitions under {Bad
   Thing},   {barf},   {bogus},   {chase   pointers},   {cosmic   rays},
   {crippleware},  {crunch},  {dodgy},  {gonk}, {hamster}, {hardwarily},
   {mess-dos},  {nybble},  {proglet},  {root}, {SEX}, {tweak}, {womble},
   and {xyzzy}.

:compact: adj.

   Of  a  design,  describes  the  valuable  property that it can all be
   apprehended  at  once  in  one's head. This generally means the thing
   created  from  the design can be used with greater facility and fewer
   errors  than an equivalent tool that is not compact. Compactness does
   not  imply triviality or lack of power; for example, C is compact and
   FORTRAN  is  not, but C is more powerful than FORTRAN. Designs become
   non-compact through accreting {feature}s and {cruft} that don't merge
   cleanly  into  the overall design scheme (thus, some fans of {Classic
   C} maintain that ANSI C is no longer compact).

:compiler jock: n.

   See {jock} (sense 2).

:compo: n.

   [{demoscene}] Finnish-originated slang for `competition'. Demo compos
   are  held at a {demoparty}. The usual protocol is that several groups
   make  demos for a compo, they are shown on a big screen, and then the
   party  participants  vote for the best one. Prizes (from sponsors and
   party  entrance  fees)  are  given.  Standard  compo  formats include
   {intro}  compos  (4k  or  64k  demos), music compos, graphics compos,
   quick {demo} compos (build a demo within 4 hours for example), etc.

:compress: vt.

   [Unix] When used without a qualifier, generally refers to {crunch}ing
   of  a  file  using  a  particular  C implementation of compression by
   Joseph  M.  Orost  et al.: and widely circulated via {Usenet}; use of
   {crunch}   itself   in   this  sense  is  rare  among  Unix  hackers.
   Specifically, compress is built around the Lempel-Ziv-Welch algorithm
   as  described in "A Technique for High Performance Data Compression",
   Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984), pp. 8--19.

:Compu$erve: n.

   See {CI$}. Synonyms CompuSpend and Compu$pend are also reported.

:computer confetti: n.

   Syn. {chad}. [obs.] Though this term was common at one time, this use
   of  punched-card chad is not a good idea, as the pieces are stiff and
   have  sharp  corners  that could injure the eyes. GLS reports that he
   once attended a wedding at MIT during which he and a few other guests
   enthusiastically threw chad instead of rice. The groom later grumbled
   that he and his bride had spent most of the evening trying to get the
   stuff out of their hair.

   [2001  update:  this  term has passed out of use for two reasons; (1)
   the  stuff  it  describes is now quite rare, and (2) the term {chad},
   which was half-forgotten in 1990, has enjoyed a revival. --ESR]

:computron: /kom´pyoo·tron`/, n.

   1.  [common] A notional unit of computing power combining instruction
   speed     and    storage    capacity,    dimensioned    roughly    in
   instructions-per-second     times    megabytes-of-main-store    times
   megabytes-of-mass-storage.  "That  machine  can't  run  GNU Emacs, it
   doesn't  have  enough  computrons!"  This  usage  is usually found in
   metaphors  that  treat  computing power as a fungible commodity good,
   like  a crop yield or diesel horsepower. See {bitty box}, {Get a real
   computer!}, {toy}, {crank}.

   2.  A  mythical  subatomic  particle  that bears the unit quantity of
   computation  or  information,  in  much the same way that an electron
   bears  one  unit  of electric charge (see also {bogon}). An elaborate
   pseudo-scientific  theory  of  computrons has been developed based on
   the  physical  fact  that  the  molecules in a solid object move more
   rapidly  as  it  is heated. It is argued that an object melts because
   the  molecules  have  lost  their  information  about  where they are
   supposed to be (that is, they have emitted computrons). This explains
   why  computers  get  so hot and require air conditioning; they use up
   computrons.  Conversely, it should be possible to cool down an object
   by  placing  it  in the path of a computron beam. It is believed that
   this  may  also explain why machines that work at the factory fail in
   the  computer room: the computrons there have been all used up by the
   other   hardware.  (The  popularity  of  this  theory  probably  owes
   something to the Warlock stories by Larry Niven, the best known being
   What  Good  is  a  Glass  Dagger?,  in  which  magic  is fueled by an
   exhaustible natural resource called mana.)

:con: n.

   [from  SF  fandom]  A  science-fiction  convention. Not used of other
   sorts  of  conventions,  such  as  professional  meetings. This term,
   unlike  many  others imported from SF-fan slang, is widely recognized
   even  by  hackers  who aren't {fan}s. "We'd been corresponding on the
   net for months, then we met face-to-face at a con."

:condition out: vt.

   To  prevent  a  section of code from being compiled by surrounding it
   with  a  conditional-compilation  directive whose condition is always
   false.  The  {canonical}  examples  of these directives are #if 0 (or
   #ifdef  notdef, though some find the latter {bletcherous}) and #endif
   in C. Compare {comment out}.

:condom: n.

   1.  The  protective plastic bag that accompanies 3.5-inch microfloppy
   diskettes.  Rarely,  also  used of (paper) disk envelopes. Unlike the
   write  protect  tab,  the  condom (when left on) not only impedes the
   practice of {SEX} but has also been shown to have a high failure rate
   as  drive  mechanisms  attempt  to  access  the  disk -- and can even
   fatally frustrate insertion.

   2. The protective cladding on a {light pipe}.

   3.  keyboard  condom:  A  flexible,  transparent  plastic cover for a
   keyboard,  designed  to  provide  some  protection  against  dust and
   {programming fluid} without impeding typing.

   4.  elephant  condom: the plastic shipping bags used inside cardboard
   boxes to protect hardware in transit.

   5.  n. obs. A dummy directory /usr/tmp/sh, created to foil the {Great
   Worm}  by  exploiting a portability bug in one of its parts. So named
   in the title of a comp.risks article by Gene Spafford during the Worm
   crisis,  and  again  in  the  text  of  The Internet Worm Program: An
   Analysis, Purdue Technical Report CSD-TR-823.

:confuser: n.

   Common  soundalike  slang  for  `computer'.  Usually  encountered  in
   compounds  such  as  confuser room, personal confuser, confuser guru.
   Usage: silly.

:connector conspiracy: n.

   [probably  came into prominence with the appearance of the KL-10 (one
   model  of  the  {PDP-10}),  none of whose connectors matched anything
   else] The tendency of manufacturers (or, by extension, programmers or
   purveyors  of  anything)  to come up with new products that don't fit
   together  with  the  old stuff, thereby making you buy either all new
   stuff or expensive interface devices.

   (A  closely  related phenomenon, with a slightly different intent, is
   the  habit  manufacturers  have  of inventing new screw heads so that
   only  Designated  Persons,  possessing  the  magic  screwdrivers, can
   remove  covers  and  make  repairs  or  install options. A good 1990s
   example  is  the use of Torx screws for cable-TV set-top boxes. Older
   Apple  Macintoshes  took  this one step further, requiring not only a
   long  Torx  screwdriver  but a specialized case-cracking tool to open
   the box.)

   In  these  latter days of open-systems computing this term has fallen
   somewhat  into  disuse,  to  be  replaced  by  the  observation  that
   "Standards  are  great!  There  are  so many of them to choose from!"
   Compare {backward combatability}.

:cons: /konz/, /kons/

   [from LISP]

   1.  vt.  To  add  a new element to a specified list, esp. at the top.
   "OK, cons picking a replacement for the console TTY onto the agenda."

   2.  cons  up:  vt.  To synthesize from smaller pieces: "to cons up an
   example".

   In  LISP  itself, cons is the most fundamental operation for building
   structures.  It  takes  any  two  objects  and  returns a dot-pair or
   two-branched  tree  with one object hanging from each branch. Because
   the  result  of  a  cons is an object, it can be used to build binary
   trees  of  any shape and complexity. Hackers think of it as a sort of
   universal  constructor,  and that is where the jargon meanings spring
   from.

:considered harmful: adj.

   [very   common]   Edsger   W.  Dijkstra's  note  in  the  March  1968
   Communications  of  the ACM, Goto Statement Considered Harmful, fired
   the   first  salvo  in  the  structured  programming  wars  (text  at
   http://www.acm.org/classics/). As it turns out, the title under which
   the  letter  appeared was actually supplied by CACM's editor, Niklaus
   Wirth.   Amusingly,   the   ACM  considered  the  resulting  acrimony
   sufficiently  harmful  that  it  will  (by policy) no longer print an
   article  taking  so  assertive  a position against a coding practice.
   (Years  afterwards,  a  contrary  view  was  uttered in a CACM letter
   called,  inevitably,  `Goto considered harmful' considered harmful''.
   In  the  ensuing  decades,  a large number of both serious papers and
   parodies   have  borne  titles  of  the  form  X  considered  Y.  The
   structured-programming wars eventually blew over with the realization
   that  both sides were wrong, but use of such titles has remained as a
   persistent  minor  in-joke  (the  `considered silly' found at various
   places in this lexicon is related).

:console: n.

   1. The operator's station of a {mainframe}. In times past, this was a
   privileged  location  that  conveyed  godlike  powers  to anyone with
   fingers  on  its  keys. Under Unix and other modern timesharing OSes,
   such  privileges are guarded by passwords instead, and the console is
   just  the  {tty}  the  system  was  booted from. Some of the mystique
   remains,  however, and it is traditional for sysadmins to post urgent
   messages to all users from the console (on Unix, /dev/console).

   2.  On  microcomputer  Unix  boxes,  the main screen and keyboard (as
   opposed  to  character-only  terminals  talking  to  a  serial port).
   Typically only the console can do real graphics or run {X}.

:console jockey: n.

   See {terminal junkie}.

:content-free: adj.

   [by  analogy with techspeak context-free] Used of a message that adds
   nothing  to  the  recipient's  knowledge.  Though  this  adjective is
   sometimes applied to {flamage}, it more usually connotes derision for
   communication  styles  that exalt form over substance or are centered
   on  concerns  irrelevant  to  the subject ostensibly at hand. Perhaps
   most  used with reference to speeches by company presidents and other
   professional   manipulators.  "Content-free?  Uh...  that's  anything
   printed  on glossy paper." (See also {four-color glossies}.) "He gave
   a  talk  on the implications of electronic networks for postmodernism
   and the fin-de-siecle aesthetic. It was content-free."

:control-C: vi.

   1.  "Stop  whatever you are doing." From the interrupt character used
   on  many  operating  systems  to  abort a running program. Considered
   silly.

   2. interj. Among BSD Unix hackers, the canonical humorous response to
   "Give me a break!"

:control-O: vi.

   "Stop  talking." From the character used on some operating systems to
   abort  output  but  allow  the  program to keep on running. Generally
   means  that you are not interested in hearing anything more from that
   person, at least on that topic; a standard response to someone who is
   flaming. Considered silly. Compare {control-S}.

:control-Q: vi.

   "Resume."  From  the  ASCII DC1 or {XON} character (the pronunciation
   /X-on/ is therefore also used), used to undo a previous {control-S}.

:control-S: vi.

   "Stop  talking  for  a  second." From the ASCII DC3 or XOFF character
   (the  pronunciation /X-of/ is therefore also used). Control-S differs
   from {control-O} in that the person is asked to stop talking (perhaps
   because  you  are  on the phone) but will be allowed to continue when
   you're  ready  to listen to him -- as opposed to control-O, which has
   more of the meaning of "Shut up." Considered silly.

:Conway's Law: prov.

   The  rule  that the organization of the software and the organization
   of  the  software  team will be congruent; commonly stated as "If you
   have  four  groups  working  on  a  compiler,  you'll  get  a  4-pass
   compiler".  The  original  statement was more general, "Organizations
   which  design  systems  are  constrained to produce designs which are
   copies  of the communication structures of these organizations." This
   first  appeared  in  the  April  1968  issue of {Datamation}. Compare
   {SNAFU principle}.

   The  law  was  named  after  Melvin Conway, an early proto-hacker who
   wrote  an  assembler  for  the  Burroughs  220 called SAVE. (The name
   `SAVE'  didn't  stand  for  anything; it was just that you lost fewer
   card  decks  and listings because they all had SAVE written on them.)
   There  is  also Tom Cheatham's amendment of Conway's Law: "If a group
   of  N  persons implements a COBOL compiler, there will be N-1 passes.
   Someone in the group has to be the manager."

:cookbook: n.

   [from  amateur  electronics  and radio] A book of small code segments
   that  the  reader  can  use to do various {magic} things in programs.
   Cookbooks,   slavishly   followed,   can   lead   one   into  {voodoo
   programming},  but are useful for hackers trying to {monkey up} small
   programs in unknown languages. This function is analogous to the role
   of phrasebooks in human languages.

:cooked mode: n.

   [Unix,  by  opposition  from  {raw  mode}] The normal character-input
   mode,  with  interrupts  enabled  and  with  erase,  kill  and  other
   special-character  interpretations  performed  directly  by  the  tty
   driver.  Oppose {raw mode}, {rare mode}. This term is techspeak under
   Unix but jargon elsewhere; other operating systems often have similar
   mode distinctions, and the raw/rare/cooked way of describing them has
   spread  widely along with the C language and other Unix exports. Most
   generally,  cooked  mode  may refer to any mode of a system that does
   extensive preprocessing before presenting data to a program.

:cookie: n.

   A  handle,  transaction  ID,  or  other  token  of  agreement between
   cooperating  programs.  "I  give  him  a  packet,  he gives me back a
   cookie."  The  claim  check  you  get  from  a dry-cleaning shop is a
   perfect  mundane  example of a cookie; the only thing it's useful for
   is  to  relate  a  later transaction to this one (so you get the same
   clothes  back).  Syn.  {magic cookie}; see also {fortune cookie}. Now
   mainstream in the specific sense of web-browser cookies.

:cookie bear: n. obs.

   Original  term, pre-Sesame-Street, for what is now universally called
   a  {cookie monster}. A correspondent observes "In those days, hackers
   were   actually   getting  their  yucks  from...sit  down  now...Andy
   Williams.  Yes, that Andy Williams. Seems he had a rather hip (by the
   standards  of  the day) TV variety show. One of the best parts of the
   show was the recurring `cookie bear' sketch. In these sketches, a guy
   in  a  bear  suit  tried  all  sorts of tricks to get a cookie out of
   Williams.  The sketches would always end with Williams shrieking (and
   I   don't   mean   figuratively),   `No   cookies!   Not   now,   not
   ever...NEVER!!!' And the bear would fall down. Great stuff."

:cookie file: n.

   A  collection  of  {fortune  cookie}s  in  a  format that facilitates
   retrieval  by  a  fortune program. There are several different cookie
   files  in  public  distribution, and site admins often assemble their
   own from various sources including this lexicon.

:cookie jar: n.

   An  area  of  memory  set  aside for storing {cookie}s. Most commonly
   heard in the Atari ST community; many useful ST programs record their
   presence by storing a distinctive {magic number} in the jar. Programs
   can  inquire  after  the  presence  or otherwise of other programs by
   searching the contents of the jar.

:cookie monster: n.

   [from  the  children's  TV  program Sesame Street] Any of a family of
   early  (1970s)  hacks  reported  on  {TOPS-10}, {ITS}, {Multics}, and
   elsewhere  that  would  lock  up  either  the victim's terminal (on a
   timesharing  machine)  or  the  {console}  (on  a batch {mainframe}),
   repeatedly demanding "I WANT A COOKIE". The required responses ranged
   in  complexity  from  "COOKIE"  through  "HAVE  A COOKIE" and upward.
   Folklorist  Jan Brunvand (see {FOAF}) has described these programs as
   urban  legends  (implying  they  probably  never  existed)  but  they
   existed, all right, in several different versions. See also {wabbit}.
   Interestingly,  the term cookie monster appears to be a {retcon}; the
   original term was {cookie bear}.

:copious free time: n.

   [Apple;  orig.  fr.  the intro to Tom Lehrer's song It Makes A Fellow
   Proud To Be A Soldier]

   1. [used ironically to indicate the speaker's lack of the quantity in
   question] A mythical schedule slot for accomplishing tasks held to be
   unlikely  or  impossible. Sometimes used to indicate that the speaker
   is  interested  in  accomplishing  the  task,  but  believes that the
   opportunity  will  not  arise.  "I'll  implement the automatic layout
   stuff in my copious free time."

   2.  [Archly] Time reserved for bogus or otherwise idiotic tasks, such
   as  implementation of {chrome}, or the stroking of {suit}s. "I'll get
   back to him on that feature in my copious free time."

:copper: n.

   Conventional electron-carrying network cable with a core conductor of
   copper -- or aluminum! Opposed to {light pipe} or, say, a short-range
   microwave link.

:copy protection: n.

   A  class  of methods for preventing incompetent pirates from stealing
   software and legitimate customers from using it. Considered silly.

:copybroke: /kop´ee·brohk/, adj.

   1.   [play   on   copyright]  Used  to  describe  an  instance  of  a
   copy-protected  program  that has been `broken'; that is, a copy with
   the copy-protection scheme disabled. Syn. {copywronged}.

   2.  Copy-protected software which is unusable because of some bit-rot
   or  bug  that  has  confused  the  anti-piracy  check. See also {copy
   protection}.

:copycenter: n.

   [play on `copyright' and `copyleft']

   1.  The  copyright  notice carried by the various flavors of freeware
   BSD.  According  to  Kirk  McKusick  at  BSDCon 1999: "The way it was
   characterized  politically,  you had copyright, which is what the big
   companies  use to lock everything up; you had copyleft, which is free
   software's  way  of  making  sure  they  can't  lock  it up; and then
   Berkeley  had  what we called `copycenter', which is `take it down to
   the copy center and make as many copies as you want'".

:copyleft: /kop´ee·left/, n.

   [play on copyright]

   1.  The  copyright notice (`General Public License') carried by {GNU}
   {EMACS}  and  other Free Software Foundation software, granting reuse
   and  reproduction  rights to all comers (but see also {General Public
   Virus}).

   2.  By  extension,  any  copyright notice intended to achieve similar
   aims.

:copyparty: n.

   [C64/amiga {demoscene}] A computer party organized so demosceners can
   meet  other  in real life, and to facilitate software copying (mostly
   pirated  software).  The  copyparty  has  become  less  common as the
   Internet  makes  communication  easier.  The  demoscene has gradually
   evolved the {demoparty} to replace it.

:copywronged: /kop´ee·rongd/, adj.

   [play on copyright] Syn. for {copybroke}.

:core: n.

   Main  storage or RAM. Dates from the days of ferrite-core memory; now
   archaic  as techspeak most places outside IBM, but also still used in
   the  Unix  community and by old-time hackers or those who would sound
   like  them.  Some  derived  idioms  are  quite  current; in core, for
   example,  means `in memory' (as opposed to `on disk'), and both {core
   dump}  and  the  core image or core file produced by one are terms in
   favor. Some varieties of Commonwealth hackish prefer {store}.

:core cancer: n.

   [rare]  A process that exhibits a slow but inexorable resource {leak}
   -- like a cancer, it kills by crowding out productive tissue.

:core dump: n.

   [common {Iron Age} jargon, preserved by Unix]

   1.  [techspeak]  A  copy  of  the contents of {core}, produced when a
   process is aborted by certain kinds of internal error.

   2.   By   extension,  used  for  humans  passing  out,  vomiting,  or
   registering  extreme shock. "He dumped core. All over the floor. What
   a mess." "He heard about X and dumped core."

   3.  Occasionally  used  for  a human rambling on pointlessly at great
   length; esp. in apology: "Sorry, I dumped core on you".

   4.  A  recapitulation  of knowledge (compare {bits}, sense 1). Hence,
   spewing  all  one  knows about a topic (syn. {brain dump}), esp. in a
   lecture  or  answer  to an exam question. "Short, concise answers are
   better  than  core  dumps"  (from  the  instructions  to  an  exam at
   Columbia). See {core}.

   [76-07-18.png]

   A {core dump} lands our hero in hot water.

   (This is the last cartoon in the Crunchly saga.)

:core leak: n.

   Syn. {memory leak}.

:Core Wars: n.

   A  game between assembler programs in a machine or machine simulator,
   where the objective is to kill your opponent's program by overwriting
   it.  Popularized in the 1980s by A. K. Dewdney's column in Scientific
   American  magazine, but described in Software Practice And Experience
   a  decade earlier. The game was actually devised and played by Victor
   Vyssotsky,  Robert  Morris  Sr.,  and Doug McIlroy in the early 1960s
   (Dennis  Ritchie  is  sometimes incorrectly cited as a co-author, but
   was not involved). Their original game was called `Darwin' and ran on
   a  IBM  7090  at Bell Labs. See {core}. For information on the modern
   game,  do a web search for the `rec.games.corewar FAQ' or surf to the
   King Of The Hill site.

:cosmic rays: n.

   Notionally,   the   cause   of   {bit   rot}.   However,  this  is  a
   semi-independent  usage  that  may  be  invoked  as a humorous way to
   {handwave}  away  any  minor {randomness} that doesn't seem worth the
   bother  of investigating. "Hey, Eric -- I just got a burst of garbage
   on  my  {tube},  where  did  that come from?" "Cosmic rays, I guess."
   Compare  {sunspots},  {phase of the moon}. The British seem to prefer
   the  usage  cosmic  showers;  alpha  particles is also heard, because
   stray  alpha  particles  passing  through  a  memory  chip  can cause
   single-bit  errors  (this  becomes increasingly more likely as memory
   sizes and densities increase).

   Factual  note:  Alpha  particles  cause  bit  rot, cosmic rays do not
   (except  occasionally  in  spaceborne  computers).  Intel  could  not
   explain random bit drops in their early chips, and one hypothesis was
   cosmic  rays. So they created the World's Largest Lead Safe, using 25
   tons of the stuff, and used two identical boards for testing. One was
   placed  in  the  safe, one outside. The hypothesis was that if cosmic
   rays  were  causing  the  bit  drops, they should see a statistically
   significant  difference  between  the  error rates on the two boards.
   They  did  not  observe  such  a  difference.  Further  investigation
   demonstrated  conclusively  that  the  bit  drops  were  due to alpha
   particle emissions from thorium (and to a much lesser degree uranium)
   in  the  encapsulation  material. Since it is impossible to eliminate
   these  radioactives  (they  are  uniformly  distributed  through  the
   earth's  crust,  with  the  statistically  insignificant exception of
   uranium  lodes)  it became obvious that one has to design memories to
   withstand these hits.

:cough and die: v.

   Syn.  {barf}.  Connotes  that the program is throwing its hands up by
   design  rather  than because of a bug or oversight. "The parser saw a
   control-A  in  its  input where it was looking for a printable, so it
   coughed and died." Compare {die}, {die horribly}, {scream and die}.

:courier:

   [BBS  &  cracker  cultures]  A  person  who distributes newly cracked
   {warez},  as  opposed  to  a  {server}  who  makes them available for
   download  or  a  {leech} who merely downloads them. Hackers recognize
   this  term  but  don't  use  it themselves, as the act is not part of
   their culture. See also {warez d00dz}, {cracker}, {elite}.

:cow orker: n.

   [Usenet]  n.  fortuitous  typo  for co-worker, widely used in Usenet,
   with  perhaps  a  hint  that  orking  cows  is illegal. This term was
   popularized  by  Scott  Adams  (the creator of {Dilbert}) but already
   appears  in  the  January 1996 version of the {scary devil monastery}
   FAQ,  and has been traced back to a 1989 {sig block}. Compare {hing},
   {grilf}, {filk}, {newsfroup}.

:cowboy: n.

   [Sun,  from William Gibson's {cyberpunk} SF] Synonym for {hacker}. It
   is reported that at Sun this word is often said with reverence.

:CP/M: /C·P·M/, n.

   [Control  Program/Monitor;  later  {retcon}ned to Control Program for
   Microcomputers]  An  early  microcomputer {OS} written by hacker Gary
   Kildall  for  8080-  and Z80-based machines, very popular in the late
   1970s  but virtually wiped out by MS-DOS after the release of the IBM
   PC  in  1981. Legend has it that Kildall's company blew its chance to
   write  the  OS  for the IBM PC because Kildall decided to spend a day
   IBM's  reps  wanted  to  meet  with  him  enjoying the perfect flying
   weather in his private plane (another variant has it that Gary's wife
   was  much  more  interested  in packing her suitcases for an upcoming
   vacation  than in clinching a deal with IBM). Many of CP/M's features
   and  conventions  strongly  resemble  those  of early {DEC} operating
   systems  such  as  {TOPS-10},  OS/8,  RSTS, and RSX-11. See {MS-DOS},
   {operating system}.

:CPU Wars: /C·P·U worz/, n.

   A  1979 large-format comic by Chas Andres chronicling the attempts of
   the  brainwashed  androids of IPM (Impossible to Program Machines) to
   conquer  and  destroy  the peaceful denizens of HEC (Human Engineered
   Computers). This rather transparent allegory featured many references
   to  {ADVENT}  and  the immortal line "Eat flaming death, minicomputer
   mongrels!"  (uttered,  of  course, by an IPM stormtrooper). The whole
   shebang is now available on the Web.

   It  is  alleged  that  the  author  subsequently received a letter of
   appreciation  on IBM company stationery from the head of IBM's Thomas
   J.  Watson Research Laboratories (at that time one of the few islands
   of true hackerdom in the IBM archipelago). The lower loop of the B in
   the  IBM  logo,  it  is said, had been carefully whited out. See {eat
   flaming death}.

:crack:

   [warez d00dz]

   1. v. To break into a system (compare {cracker}).

   2.  v.  Action  of  removing  the  copy  protection from a commercial
   program.  People  who  write cracks consider themselves challenged by
   the  copy  protection measures. They will often do it as much to show
   that  they  are  smarter  than  the  developer  who designed the copy
   protection scheme than to actually copy the program.

   3.  n.  A  program,  instructions  or  patch  used to remove the copy
   protection  of  a  program  or to uncripple features from a demo/time
   limited program.

   4. An {exploit}.

:crack root: v.

   [very  common]  To  defeat  the security system of a Unix machine and
   gain {root} privileges thereby; see {cracking}.

:cracker: n.

   One  who  breaks  security on a system. Coined ca. 1985 by hackers in
   defense  against  journalistic misuse of {hacker} (q.v., sense 8). An
   earlier  attempt  to  establish worm in this sense around 1981--82 on
   Usenet was largely a failure.

   Use  of both these neologisms reflects a strong revulsion against the
   theft  and  vandalism  perpetrated  by  cracking rings. The neologism
   "cracker"  in  this sense may have been influenced not so much by the
   term  "safe-cracker"  as  by  the non-jargon term "cracker", which in
   Middle English meant an obnoxious person (e.g., "What cracker is this
   same  that  deafs  our  ears  /  With  this  abundance of superfluous
   breath?"  --  Shakespeare's King John, Act II, Scene I) and in modern
   colloquial  American English survives as a barely gentler synonym for
   "white trash".

   While it is expected that any real hacker will have done some playful
   cracking  and knows many of the basic techniques, anyone past {larval
   stage}  is  expected  to have outgrown the desire to do so except for
   immediate,  benign, practical reasons (for example, if it's necessary
   to get around some security in order to get some work done).

   Thus, there is far less overlap between hackerdom and crackerdom than
   the  {mundane}  reader  misled  by  sensationalistic journalism might
   expect.  Crackers tend to gather in small, tight-knit, very secretive
   groups that have little overlap with the huge, open poly-culture this
   lexicon  describes; though crackers often like to describe themselves
   as hackers, most true hackers consider them a separate and lower form
   of  life.  An  easy  way for outsiders to spot the difference is that
   crackers  use  grandiose  screen names that conceal their identities.
   Hackers  never  do  this; they only rarely use noms de guerre at all,
   and when they do it is for display rather than concealment.

   Ethical  considerations  aside,  hackers figure that anyone who can't
   imagine  a  more  interesting  way  to play with their computers than
   breaking  into  someone  else's has to be pretty {losing}. Some other
   reasons  crackers  are looked down on are discussed in the entries on
   {cracking}  and  {phreaking}. See also {samurai}, {dark-side hacker},
   and  {hacker  ethic}.  For a portrait of the typical teenage cracker,
   see {warez d00dz}.

:cracking: n.

   [very  common]  The  act  of  breaking into a computer system; what a
   {cracker}  does.  Contrary  to widespread myth, this does not usually
   involve  some  mysterious  leap  of  hackerly  brilliance, but rather
   persistence  and  the  dogged  repetition  of  a  handful  of  fairly
   well-known  tricks  that exploit common weaknesses in the security of
   target   systems.  Accordingly,  most  crackers  are  incompetent  as
   hackers.  This  entry  used  to  say  'mediocre',  but  the spread of
   {rootkit}  and  other  automated  cracking  has depressed the average
   level of skill among crackers.

:crank: vt.

   [from  automotive  slang]  Verb used to describe the performance of a
   machine,  especially  sustained  performance.  "This  box cranks (or,
   cranks  at)  about  6  megaflops,  with a burst mode of twice that on
   vectorized operations."

:crapplet: n.

   [portmanteau,  crap  + applet] A worthless applet, esp. a Java widget
   attached  to  a  web  page  that  doesn't  work  or even crashes your
   browser. Also spelled `craplet'.

:CrApTeX: /krap´tekh/, n.

   [University  of York, England] Term of abuse used to describe TeX and
   LaTeX when they don't work (when used by TeXhackers), or all the time
   (by  everyone  else).  The  non-TeX-enthusiasts  generally dislike it
   because  it  is more verbose than other formatters (e.g. {troff}) and
   because (particularly if the standard Computer Modern fonts are used)
   it generates vast output files. See {religious issues}, {TeX}.

:crash:

   1.  n.  A  sudden,  usually  drastic  failure. Most often said of the
   {system}  (q.v.,  sense  1),  esp.  of magnetic disk drives (the term
   originally  described  what  happens  when the air gap of a hard disk
   collapses).  "Three  {luser}s  lost  their files in last night's disk
   crash." A disk crash that involves the read/write heads dropping onto
   the  surface  of  the  disks  and  scraping off the oxide may also be
   referred  to  as a head crash, whereas the term system crash usually,
   though  not  always,  implies  that  the  operating  system  or other
   software was at fault.

   2.  v.  To  fail  suddenly. "Has the system just crashed?" "Something
   crashed  the  OS!" See {down}. Also used transitively to indicate the
   cause  of  the crash (usually a person or a program, or both). "Those
   idiots playing {SPACEWAR} crashed the system."

   3.  vi.  Sometimes  said  of  people  hitting  the  sack after a long
   {hacking run}; see {gronk out}.

:crash and burn: vi.,n.

   A  spectacular  crash, in the mode of the conclusion of the car-chase
   scene  in  the  movie  Bullitt and many subsequent imitators (compare
   {die  horribly}). The construction crash-and-burn machine is reported
   for  a  computer  used  exclusively  for  alpha or {beta} testing, or
   reproducing bugs (i.e., not for development). The implication is that
   it  wouldn't  be  such a disaster if that machine crashed, since only
   the testers would be inconvenienced.

:crawling horror: n.

   Ancient crufty hardware or software that is kept obstinately alive by
   forces beyond the control of the hackers at a site. Like {dusty deck}
   or {gonkulator}, but connotes that the thing described is not just an
   irritation but an active menace to health and sanity. "Mostly we code
   new  stuff  in  C,  but  they  pay  us to maintain one big FORTRAN II
   application  from nineteen-sixty-X that's a real crawling horror...."
   Compare {WOMBAT}.

   This  usage  is  almost  certainly  derived  from the fiction of H.P.
   Lovecraft.  Lovecraft  may never have used the exact phrase "crawling
   horror"  in  his writings, but one of the fearsome Elder Gods that he
   wrote  extensively about was Nyarlethotep, who had as an epithet "The
   Crawling  Chaos".  Certainly the extreme, even melodramatic horror of
   his  characters  at  the  weird  monsters they encounter, even to the
   point  of  going  insane  with fear, is what hackers are referring to
   with  this  phrase  when  they  use it for horribly bad code. Compare
   {cthulhic}.

:CRC handbook:

   Any  of  the  editions  of  the  Chemical  Rubber Company Handbook of
   Chemistry and Physics; there are other CRC handbooks, such as the CRC
   Standard  Mathematical Tables and Formulae, but "the" CRC handbook is
   the  chemistry  and  physics  reference.  It  is massive tome full of
   mathematical  tables,  physical  constants of thousands of alloys and
   chemical    compounds,    dielectric   strengths,   vapor   pressure,
   resistivity,  and the like. Hackers have remarkably little actual use
   for  these  sorts  of arcana, but are such information junkies that a
   large percentage of them acquire copies anyway and would feel vaguely
   bereft  if  they  couldn't  look  up  the  magnetic susceptibility of
   potassium permanganate at a moment's notice. On hackers' bookshelves,
   the  CRC handbook is rather likely to keep company with an unabridged
   Oxford English Dictionary and a good atlas.

:creationism: n.

   The  (false)  belief  that  large, innovative software designs can be
   completely  specified  in advance and then painlessly magicked out of
   the  void  by  the  normal  efforts  of  a  team of normally talented
   programmers.  In  fact,  experience  has  shown  repeatedly that good
   designs arise only from evolutionary, exploratory interaction between
   one  (or  at  most a small handful of) exceptionally able designer(s)
   and  an active user population -- and that the first try at a big new
   idea  is  always wrong. Unfortunately, because these truths don't fit
   the  planning  models  beloved  of  {management},  they are generally
   ignored.

:creep: v.

   To  advance, grow, or multiply inexorably. In hackish usage this verb
   has  overtones  of menace and silliness, evoking the creeping horrors
   of low-budget monster movies.

:creeping elegance: n.

   Describes  a  tendency for parts of a design to become {elegant} past
   the point of diminishing return, something which often happens at the
   expense  of  the  less interesting parts of the design, the schedule,
   and  other  things  deemed  important  in  the {Real World}. See also
   {creeping featurism}, {second-system effect}, {tense}.

:creeping featurism: /kree´ping fee´chr·izm/, n.

   [common]

   1.  Describes  a  systematic  tendency  to  load  more  {chrome}  and
   {feature}s  onto systems at the expense of whatever elegance they may
   have   possessed   when   originally   designed.  See  also  {feeping
   creaturism}.  "You  know, the main problem with {BSD} Unix has always
   been creeping featurism."

   2.  More  generally,  the tendency for anything complicated to become
   even  more  complicated  because people keep saying "Gee, it would be
   even  better if it had this feature too". (See {feature}.) The result
   is  usually  a  patchwork  because it grew one ad-hoc step at a time,
   rather  than  being planned. Planning is a lot of work, but it's easy
   to  add  just  one  extra little feature to help someone ... and then
   another ... and another.... When creeping featurism gets out of hand,
   it's  like  a  cancer.  The GNU hello program, intended to illustrate
   {GNU} command-line switch and coding conventions, is also a wonderful
   parody   of   creeping   featurism;  the  distribution  changelog  is
   particularly  funny.  Usually  this term is used to describe computer
   programs,  but  it  could also be said of the federal government, the
   IRS  1040 form, and new cars. A similar phenomenon sometimes afflicts
   conscious  redesigns;  see {second-system effect}. See also {creeping
   elegance}.

:creeping featuritis: /kree´ping fee'·chr·i:`t@s/, n.

   Variant of {creeping featurism}, with its own spoonerization: feeping
   creaturitis. Some people like to reserve this form for the disease as
   it  actually  manifests  in  software  or hardware, as opposed to the
   lurking  general tendency in designers' minds. (After all, -ism means
   `condition'   or   `pursuit   of',   whereas   -itis   usually  means
   `inflammation of'.)

:cretin: /kret´in/, /kree´tn/, n.

   Congenital  {loser};  an  obnoxious  person;  someone  who  can't  do
   anything  right. It has been observed that many American hackers tend
   to  favor  the British pronunciation /kret´in/ over standard American
   /kree´tn/;  it  is  thought this may be due to the insidious phonetic
   influence of Monty Python's Flying Circus.

:cretinous: /kret´n·@s/, /kreet´n·@s/, adj.

   Wrong;  stupid;  non-functional;  very  poorly  designed.  Also  used
   pejoratively  of people. See {dread high-bit disease} for an example.
   Approximate    synonyms:    {bletcherous},   {bagbiting},   {losing},
   {brain-damaged}.

:crippleware: n.

   1.   [common]   Software   that   has  some  important  functionality
   deliberately  removed,  so  as to entice potential users to pay for a
   working version.

   2.  [Cambridge]  Variety of {guiltware} that exhorts you to donate to
   some charity (compare {careware}, {nagware}).

   3.  Hardware  deliberately  crippled, which can be upgraded to a more
   expensive model by a trivial change (e.g., cutting a jumper).

   An  excellent example of crippleware (sense 3) is Intel's 486SX chip,
   which  is  a  standard 486DX chip with the co-processor diked out (in
   some early versions it was present but disabled). To upgrade, you buy
   a  complete 486DX chip with working co-processor (its identity thinly
   veiled  by a different pinout) and plug it into the board's expansion
   socket.  It  then  disables the SX, which becomes a fancy power sink.
   Don't you love Intel?

:critical mass: n.

   In  physics,  the  minimum amount of fissionable material required to
   sustain  a  chain  reaction.  Of  a  software  product,  describes  a
   condition  of  the  software  such that fixing one bug introduces one
   plus   {epsilon}  bugs.  (This  malady  has  many  causes:  {creeping
   featurism},  ports  to  too many disparate environments, poor initial
   design,  etc.)  When software achieves critical mass, it can never be
   fixed; it can only be discarded and rewritten.

:crlf: /ker´l@f/, /kru´l@f/, /C·R·L·F/, n.

   (often  capitalized  as `CRLF') A carriage return (CR, ASCII 0001101)
   followed  by  a line feed (LF, ASCII 0001010). More loosely, whatever
   it takes to get you from the end of one line of text to the beginning
   of  the  next  line. See {newline}. Under {Unix} influence this usage
   has become less common (Unix uses a bare line feed as its `CRLF').

:crock: n.

   [from the American scatologism crock of shit]

   1.  An awkward feature or programming technique that ought to be made
   cleaner.  For  example, using small integers to represent error codes
   without  the  program  interpreting  them  to  the  user  (as in, for
   example, Unix make(1), which returns code 139 for a process that dies
   due to {segfault}).

   2.  A  technique  that  works acceptably, but which is quite prone to
   failure  if  disturbed  in  the  least.  For  example,  a  too-clever
   programmer   might   write  an  assembler  which  mapped  instruction
   mnemonics  to  numeric opcodes algorithmically, a trick which depends
   far  too  intimately  on  the particular bit patterns of the opcodes.
   (For  another  example  of  programming  with  a dependence on actual
   opcode values, see The Story of Mel' in Appendix A.) Many crocks have
   a  tightly  woven,  almost  completely  unmodifiable  structure.  See
   {kluge}, {brittle}. The adjectives crockish and crocky, and the nouns
   crockishness and crockitude, are also used.

:cross-post: vi.

   [Usenet;  very  common]  To  post  a single article simultaneously to
   several   newsgroups.   Distinguished   from   posting   the  article
   repeatedly,  once  to  each  newsgroup, which causes people to see it
   multiple  times  (which  is  very bad form). Gratuitous cross-posting
   without  a  Followup-To line directing responses to a single followup
   group is frowned upon, as it tends to cause {followup} articles to go
   to  inappropriate  newsgroups when people respond to various parts of
   the original posting.

:crossload: v.,n.

   [proposed,  by  analogy  with  {upload} and {download}] To move files
   between  machines on a peer-to-peer network of nodes that act as both
   servers  and  clients  for a distributed file store. Esp. appropriate
   for anonymized networks like Gnutella and Freenet.

:crudware: /kruhd´weir/, n.

   Pejorative   term  for  the  hundreds  of  megabytes  of  low-quality
   {freeware}  circulated  by  user's  groups  and  BBS  systems  in the
   micro-hobbyist  world. "Yet another set of disk catalog utilities for
   {MS-DOS}? What crudware!"

:cruft: /kruhft/

   [very common; back-formation from {crufty}]

   1.  n.  An unpleasant substance. The dust that gathers under your bed
   is  cruft; the TMRC Dictionary correctly noted that attacking it with
   a broom only produces more.

   2. n. The results of shoddy construction.

   3. vt. [from hand cruft, pun on `hand craft'] To write assembler code
   for   something  normally  (and  better)  done  by  a  compiler  (see
   {hand-hacking}).

   4.  n. Excess; superfluous junk; used esp. of redundant or superseded
   code.

   5.  [University  of Wisconsin] n. Cruft is to hackers as gaggle is to
   geese; that is, at UW one properly says "a cruft of hackers".

:cruft together: vt.

   (also  cruft  up)  To  throw  together something ugly but temporarily
   workable.  Like vt. {kluge up}, but more pejorative. "There isn't any
   program  now  to  reverse all the lines of a file, but I can probably
   cruft  one  together in about 10 minutes." See {hack together}, {hack
   up}, {kluge up}, {crufty}.

:cruftsmanship: /kruhfts´m@n·ship /, n.

   [from {cruft}] The antithesis of craftsmanship.

:crufty: /kruhf´tee/, adj.

   [very common; origin unknown; poss. from `crusty' or `cruddy']

   1.  Poorly  built,  possibly over-complex. The {canonical} example is
   "This  is  standard old crufty {DEC} software". In fact, one fanciful
   theory  of  the origin of crufty holds that was originally a mutation
   of  `crusty'  applied  to DEC software so old that the `s' characters
   were tall and skinny, looking more like `f' characters.

   2.  Unpleasant,  especially  to the touch, often with encrusted junk.
   Like spilled coffee smeared with peanut butter and catsup.

   3. Generally unpleasant.

   4. (sometimes spelled cruftie) n. A small crufty object (see {frob});
   often  one  that  doesn't fit well into the scheme of things. "A LISP
   property  list  is  a good place to store crufties (or, collectively,
   {random} cruft)."

   This  term  is  one of the oldest in the jargon and no one is sure of
   its  etymology,  but  it  is suggestive that there is a Cruft Hall at
   Harvard  University  which  is part of the old physics building; it's
   said  to have been the physics department's radar lab during WWII. To
   this  day  (early  1993)  the  windows  appear  to  be full of random
   techno-junk. MIT or Lincoln Labs people may well have coined the term
   as a knock on the competition.

:crumb: n.

   Two  binary  digits;  a  {quad}.  Larger than a {bit}, smaller than a
   {nybble}. Considered silly. Syn. {tayste}. General discussion of such
   terms is under {nybble}.

:crunch:

   1.  vi.  To  process, usually in a time-consuming or complicated way.
   Connotes an essentially trivial operation that is nonetheless painful
   to perform. The pain may be due to the triviality's being embedded in
   a   loop  from  1  to  1,000,000,000.  "FORTRAN  programs  do  mostly
   {number-crunching}."

   2.  vt.  To  reduce  the  size of a file by a complicated scheme that
   produces  bit  configurations  completely  unrelated  to the original
   data,  such as by a Huffman code. (The file ends up looking something
   like  a  paper  document  would if somebody crunched the paper into a
   wad.)  Since  such  compression  usually takes more computations than
   simpler  methods  such  as  run-length  encoding,  the term is doubly
   appropriate.  (This  meaning is usually used in the construction file
   crunch(ing)   to   distinguish   it   from  {number-crunching}.)  See
   {compress}.

   3. n. The character #. Used at XEROX and CMU, among other places. See
   {ASCII}.

   4.  vt.  To squeeze program source into a minimum-size representation
   that  will  still  compile  or  execute.  The  term  came  into being
   specifically  for  a  famous  program  on the BBC micro that crunched
   BASIC  source  in  order to make it run more quickly (it was a wholly
   interpretive   BASIC,   so   the   number  of  characters  mattered).
   {Obfuscated  C  Contest}  entries  are  often crunched; see the first
   example under that entry.

:cryppie: /krip´ee/, n.

   A  cryptographer.  One who hacks or implements cryptographic software
   or hardware.

:cthulhic: /kthool´hik/, adj.

   Having  the  nature  of  a  Cthulhu,  the  horrific  tentacled  green
   monstrosity  from  H.P.  Lovecraft's  seminal horror fiction. Cthulhu
   sends  dreams  that  drive  men  mad, feeds on the flesh of screaming
   victims  rent limb from limb, and is served by a cult of degenerates.
   Hackers  think  this  describes  large  {proprietary} systems such as
   traditional  {mainframe}s,  installations of SAP and Oracle, or rooms
   full  of  Windows  servers remarkably well, and the adjective is used
   casually. Compare {Shub-Internet} and {crawling horror}.

:CTSS: /C·T·S·S/, n.

   Compatible  Time-Sharing  System.  An  early (1963) experiment in the
   design  of  interactive  timesharing  operating systems, ancestral to
   {Multics},   {Unix},   and   {ITS}.   The  name  {ITS}  (Incompatible
   Time-sharing  System) was a hack on CTSS, meant both as a joke and to
   express  some  basic  differences  in  philosophy  about  the way I/O
   services should be presented to user programs. See {timesharing}

:cube: n.

   1.  [short  for  `cubicle'] A module in the open-plan offices used at
   many programming shops. "I've got the manuals in my cube."

   2. A NeXT machine (which resembles a matte-black cube).

:cup holder: n.

   The  tray  of a CD-ROM drive, or by extension the CD drive itself. So
   called  because  of  a common tech support legend about the idiot who
   called  to complain that the cup holder on his computer broke. A joke
   program  was  once distributed around the net called "cupholder.exe",
   which  when  run simply extended the CD drive tray. The humor of this
   was  of  course  lost  on  people  whose  drive had a slot or a caddy
   instead.

:cursor dipped in X: n.

   There are a couple of metaphors in English of the form `pen dipped in
   X'  (perhaps  the  most  common  values  of X are `acid', `bile', and
   `vitriol').  These  map over neatly to this hackish usage (the cursor
   being  what  moves,  leaving  letters  behind,  when one is composing
   on-line). "Talk about a {nastygram}! He must've had his cursor dipped
   in acid when he wrote that one!"

:cuspy: /kuhs´pee/, adj.

   [WPI:  from  the  {DEC}  abbreviation CUSP, for `Commonly Used System
   Program', i.e., a utility program used by many people. Now rare.]

   1. (of a program) Well-written.

   2.   Functionally   excellent.  A  program  that  performs  well  and
   interfaces well to users is cuspy. Oppose {rude}.

   3.  [NYU]  Said  of  an  attractive woman, especially one regarded as
   available. Implies a certain curvaceousness.

:cut a tape: vi.

   To  write  a  software  or document distribution on magnetic tape for
   shipment. Has nothing to do with physically cutting the medium! Early
   versions of this lexicon claimed that one never analogously speaks of
   `cutting  a  disk',  but  this has since been reported as live usage.
   Related  slang  usages  are  mainstream business's `cut a check', the
   recording  industry's  `cut  a  record',  and  the military's `cut an
   order'.

   All  of these usages reflect physical processes in obsolete recording
   and  duplication  technologies.  The  first stage in manufacturing an
   old-style  vinyl  record  involved  cutting grooves in a stamping die
   with  a  precision lathe. More mundanely, the dominant technology for
   mass duplication of paper documents in pre-photocopying days involved
   "cutting  a  stencil", punching away portions of the wax overlay on a
   silk  screen.  More directly, paper tape with holes punched in it was
   an important early storage medium. See also {burn a CD}.

:cybercrud: /si:´ber·kruhd/, n.

   1. [coined by Ted Nelson] Obfuscatory tech-talk. Verbiage with a high
   {MEGO} factor. The computer equivalent of bureaucratese.

   2.  Incomprehensible  stuff  embedded  in email. First there were the
   "Received"  headers  that  show  how mail flows through systems, then
   MIME  (Multi-purpose  Internet  Mail  Extensions)  headers  and  part
   boundaries, and now huge blocks of radix-64 for PEM (Privacy Enhanced
   Mail)   or   PGP   (Pretty   Good  Privacy)  digital  signatures  and
   certificates  of  authenticity.  This  stuff all serves a purpose and
   good  user  interfaces  should  hide  it, but all too often users are
   forced to wade through it.

:cyberpunk: /si:´ber·puhnk/, n.,adj.

   [orig.  by  SF  writer  Bruce  Bethke and/or editor Gardner Dozois] A
   subgenre  of  SF  launched  in  1982 by William Gibson's epoch-making
   novel  Neuromancer  (though  its roots go back through Vernor Vinge's
   True  Names  (see  the  Bibliography in Appendix C) to John Brunner's
   1975  novel  The  Shockwave  Rider). Gibson's near-total ignorance of
   computers and the present-day hacker culture enabled him to speculate
   about the role of computers and hackers in the future in ways hackers
   have   since   found   both   irritatingly   naïve  and  tremendously
   stimulating.  Gibson's work was widely imitated, in particular by the
   short-lived  but innovative Max Headroom TV series. See {cyberspace},
   {ice}, {jack in}, {go flatline}.

   Since  1990 or so, popular culture has included a movement or fashion
   trend  that  calls itself `cyberpunk', associated especially with the
   rave/techno  subculture.  Hackers  have mixed feelings about this. On
   the  one hand, self-described cyberpunks too often seem to be shallow
   trendoids   in   black  leather  who  have  substituted  enthusiastic
   blathering  about  technology  for  actually  learning  and doing it.
   Attitude is no substitute for competence. On the other hand, at least
   cyberpunks are excited about the right things and properly respectful
   of  hacking  talent in those who have it. The general consensus is to
   tolerate  them politely in hopes that they'll attract people who grow
   into being true hackers.

:cyberspace: /si:´br·spays`/, n.

   1. Notional `information-space' loaded with visual cues and navigable
   with   brain-computer   interfaces   called   cyberspace   decks;   a
   characteristic  prop  of {cyberpunk} SF. Serious efforts to construct
   {virtual   reality}   interfaces   modeled  explicitly  on  Gibsonian
   cyberspace  are  under  way,  using more conventional devices such as
   glove  sensors and binocular TV headsets. Few hackers are prepared to
   deny outright the possibility of a cyberspace someday evolving out of
   the network (see {the network}).

   2.  The  Internet  or {Matrix} (sense #2) as a whole, considered as a
   crude cyberspace (sense 1). Although this usage became widely popular
   in  the  mainstream press during 1994 when the Internet exploded into
   public awareness, it is strongly deprecated among hackers because the
   Internet  does not meet the high, SF-inspired standards they have for
   true cyberspace technology. Thus, this use of the term usually tags a
   {wannabee} or outsider. Oppose {meatspace}.

   3.  Occasionally,  the metaphoric location of the mind of a person in
   {hack  mode}.  Some  hackers  report  experiencing strong synesthetic
   imagery  when  in  hack mode; interestingly, independent reports from
   multiple  sources  suggest  that  there  are  common  features to the
   experience.  In  particular,  the  dominant colors of this subjective
   cyberspace  are often gray and silver, and the imagery often involves
   constellations of marching dots, elaborate shifting patterns of lines
   and angles, or moire patterns.

:cycle:

   1.  n. The basic unit of computation. What every hacker wants more of
   (noted hacker Bill Gosper described himself as a "cycle junkie"). One
   can describe an instruction as taking so many clock cycles. Often the
   computer  can access its memory once on every clock cycle, and so one
   speaks  also  of  memory  cycles.  These  are  technical  meanings of
   {cycle}. The jargon meaning comes from the observation that there are
   only  so  many cycles per second, and when you are sharing a computer
   the  cycles  get  divided  up  among  the  users. The more cycles the
   computer  spends  working on your program rather than someone else's,
   the  faster your program will run. That's why every hacker wants more
   cycles:  so  he  can  spend  less  time  waiting  for the computer to
   respond.

   2.  By extension, a notional unit of human thought power, emphasizing
   that  lots  of things compete for the typical hacker's think time. "I
   refused  to  get involved with the Rubik's Cube back when it was big.
   Knew I'd burn too many cycles on it if I let myself."

   3. vt. Syn. {bounce} (sense 4), from the phrase `cycle power'. "Cycle
   the machine again, that serial port's still hung."

:cycle of reincarnation: n.

   See {wheel of reincarnation}.

:cycle server: n.

   A  powerful machine that exists primarily for running large compute-,
   disk-,  or  memory-intensive  jobs  (more  formally  called a compute
   server).  Implies  that interactive tasks such as editing are done on
   other machines on the network, such as workstations.

:cypherpunk: n.

   [from  {cyberpunk}]  Someone interested in the uses of encryption via
   electronic  ciphers  for  enhancing  personal  privacy  and  guarding
   against  tyranny  by  centralized,  authoritarian  power  structures,
   especially government. There is an active cypherpunks mailing list at
   <cypherpunks-request@toad.com>   coordinating   work   on  public-key
   encryption freeware, privacy, and digital cash. See also {tentacle}.

:C|N>K: n.

   [Usenet] Coffee through Nose to Keyboard; that is, "I laughed so hard
   I {snarf}ed my coffee onto my keyboard.". Common on alt.fan.pratchett
   and    {scary    devil    monastery};   recognized   elsewhere.   The
   Acronymphomania  FAQ on alt.fan.pratchett recognizes variants such as
   T|N>K  =  `Tea  through Nose to Keyboard' and C|N>S = `Coffee through
   Nose to Screen'.

D

:daemon: /day´mn/, /dee´mn/, n.

   [from  Maxwell's  Demon,  later  incorrectly  retronymed as `Disk And
   Execution  MONitor']  A  program  that is not invoked explicitly, but
   lies dormant waiting for some condition(s) to occur. The idea is that
   the  perpetrator  of the condition need not be aware that a daemon is
   lurking (though often a program will commit an action only because it
   knows  that  it  will implicitly invoke a daemon). For example, under
   {ITS}, writing a file on the LPT spooler's directory would invoke the
   spooling  daemon,  which  would then print the file. The advantage is
   that  programs  wanting  (in this example) files printed need neither
   compete  for  access to nor understand any idiosyncrasies of the LPT.
   They  simply  enter their implicit requests and let the daemon decide
   what  to  do  with them. Daemons are usually spawned automatically by
   the  system,  and  may  either  live  forever  or  be  regenerated at
   intervals.

   Daemon  and  {demon} are often used interchangeably, but seem to have
   distinct connotations. The term daemon was introduced to computing by
   {CTSS}  people  (who pronounced it /dee´mon/) and used it to refer to
   what ITS called a {dragon}; the prototype was a program called DAEMON
   that automatically made tape backups of the file system. Although the
   meaning  and  the  pronunciation have drifted, we think this glossary
   reflects current (2000) usage.

:daemon book: n.

   The Design and Implementation of the 4.3BSD UNIX Operating System, by
   Samuel  J.  Leffler,  Marshall  Kirk McKusick, Michael J. Karels, and
   John   S.   Quarterman   (Addison-Wesley   Publishers,   1989,   ISBN
   0-201-06196-1);  or  The  Design  and  Implementation  of the 4.4 BSD
   Operating  System by Marshall Kirk McKusick, Keith Bostic, Michael J.
   Karels  and  John  S.  Quarterman (Addison-Wesley Longman, 1996, ISBN
   0-201-54979-4)   Either  of  the  standard  reference  books  on  the
   internals  of {BSD} Unix. So called because the covers have a picture
   depicting  a  little  demon  (a visual play on {daemon}) in sneakers,
   holding  a pitchfork (referring to one of the characteristic features
   of Unix, the fork(2) system call).

:dahmum: /dah´mum/, n.

   [Usenet]  The  material  of which protracted {flame war}s, especially
   those  about  operating systems, is composed. Homeomorphic to {spam}.
   The  term  dahmum  is  derived  from  the  name  of a militant {OS/2}
   advocate,   and   originated   when   an   extensively   cross-posted
   OS/2-versus-{Linux} debate was fed through {Dissociated Press}.

:dancing frog: n.

   [Vancouver  area]  A  problem that occurs on a computer that will not
   reappear  while  anyone  else  is  watching.  From the classic Warner
   Brothers  cartoon One Froggy Evening, featuring a dancing and singing
   Michigan J. Frog that just croaks when anyone else is around (now the
   WB network mascot).

:dangling pointer: n.

   [common]  A  reference  that doesn't actually lead anywhere (in C and
   some  other  languages,  a  pointer  that  doesn't  actually point at
   anything  valid). Usually this happens because it formerly pointed to
   something  that  has  moved  or  disappeared.  Used  as  jargon  in a
   generalization  of  its techspeak meaning; for example, a local phone
   number  for  a  person  who  has  since moved to the other coast is a
   dangling pointer.

:dark-side hacker: n.

   A  criminal  or  malicious  hacker;  a {cracker}. From George Lucas's
   Darth Vader, "seduced by the dark side of the Force". The implication
   that  hackers  form  a sort of elite of technological Jedi Knights is
   intended. Oppose {samurai}.

:Datamation: /day`t@·may´sh@n/, n.

   A  magazine  that  many  hackers  assume  all  {suit}s  read. Used to
   question   an   unbelieved  quote,  as  in  "Did  you  read  that  in
   Datamation?". It used to publish something hackishly funny every once
   in  a  while,  like the original paper on {COME FROM} in 1973, and Ed
   Post's  Real  Programmers Don't Use Pascal ten years later, but for a
   long time after that it was much more exclusively {suit}-oriented and
   boring.  Following a change of editorship in 1994, Datamation briefly
   tried for more the technical content and irreverent humor that marked
   its early days, but this did not last.

:DAU: /dow/, n.

   [German  FidoNet]  German  acronym  for  Dümmster  Anzunehmender User
   (stupidest  imaginable  user).  From  the  engineering-slang  GAU for
   Grösster  Anzunehmender  Unfall,  worst assumable accident, esp. of a
   LNG   tank   farm   plant  or  something  with  similarly  disastrous
   consequences.  In  popular  German,  GAU  is  used  only  to refer to
   worst-case  nuclear  accidents such as a core meltdown. See {cretin},
   {fool}, {loser} and {weasel}.

:Dave the Resurrector: n.

   [Usenet;  also  abbreviated  DtR] A {cancelbot} that cancels cancels.
   Dave  the  Resurrector originated when some {spam}-spewers decided to
   try  to  impede  spam-fighting by wholesale cancellation of anti-spam
   coordination messages in the news.admin.net-abuse.usenet newsgroup.

:day mode: n.

   See {phase} (sense 1). Used of people only.

:dd: /dee·dee/, vt.

   [Unix:  from  IBM {JCL}] Equivalent to {cat} or {BLT}. Originally the
   name  of  a  Unix  copy  command  with  special  options suitable for
   block-oriented  devices;  it  was  often  used in heavy-handed system
   maintenance, as in "Let's dd the root partition onto a tape, then use
   the  boot  PROM to load it back on to a new disk". The Unix dd(1) was
   designed  with  a  weird,  distinctly non-Unixy keyword option syntax
   reminiscent of IBM System/360 JCL (which had an elaborate DD `Dataset
   Definition' specification for I/O devices); though the command filled
   a need, the interface design was clearly a prank. The jargon usage is
   now  very rare outside Unix sites and now nearly obsolete even there,
   as  dd(1)  has  been  {deprecated}  for a long time (though it has no
   exact  replacement).  The  term has been displaced by {BLT} or simple
   English `copy'.

:DDT: /D·D·T/, n.

   [from the insecticide para-dichloro-diphenyl-trichloroethene]

   1.  Generic  term  for  a  program  that  assists  in debugging other
   programs  by  showing  individual  machine instructions in a readable
   symbolic  form  and  letting  the user change them. In this sense the
   term  DDT is now archaic, having been widely displaced by debugger or
   names of individual programs like adb, sdb, dbx, or gdb.

   2.  [ITS]  Under  MIT's  fabled  {ITS} operating system, DDT (running
   under  the  alias  HACTRN, a six-letterism for `Hack Translator') was
   also  used  as  the  {shell}  or  top  level command language used to
   execute other programs.

   3.  Any  one  of  several  specific DDTs (sense 1) supported on early
   {DEC}  hardware  and  CP/M.  The  PDP-10  Reference  Handbook  (1969)
   contained  a  footnote on the first page of the documentation for DDT
   that illuminates the origin of the term:

     Historical  footnote:  DDT  was  developed  at  MIT  for the PDP-1
     computer in 1961. At that time DDT stood for "DEC Debugging Tape".
     Since   then,  the  idea  of  an  on-line  debugging  program  has
     propagated  throughout the computer industry. DDT programs are now
     available  for  all DEC computers. Since media other than tape are
     now  frequently used, the more descriptive name "Dynamic Debugging
     Technique"  has  been  adopted,  retaining  the  DDT abbreviation.
     Confusion   between  DDT-10  and  another  well  known  pesticide,
     dichloro-diphenyl-trichloroethane C[14]H[9]Cl[5] should be minimal
     since each attacks a different, and apparently mutually exclusive,
     class of bugs.

   (The  `tape'  referred to was, incidentally, not magnetic but paper.)
   Sadly, this quotation was removed from later editions of the handbook
   after   the   {suit}s   took   over   and   {DEC}  became  much  more
   `businesslike'.

   The  history  above  is  known  to many old-time hackers. But there's
   more:  Peter Samson, compiler of the original {TMRC} lexicon, reports
   that  he  named  DDT  after  a similar tool on the TX-0 computer, the
   direct  ancestor of the PDP-1 built at MIT's Lincoln Lab in 1957. The
   debugger  on  that  ground-breaking machine (the first transistorized
   computer) rejoiced in the name FLIT (FLexowriter Interrogation Tape).

:de-rezz: /dee·rez´/

   [from `de-resolve' via the movie Tron] (also derez)

   1. vi. To disappear or dissolve; the image that goes with it is of an
   object  breaking up into raster lines and static and then dissolving.
   Occasionally used of a person who seems to have suddenly `fuzzed out'
   mentally  rather  than physically. Usage: extremely silly, also rare.
   This  verb  was  actually  invented  as  fictional hacker jargon, and
   adopted in a spirit of irony by real hackers years after the fact.

   2.  vt.  The  Macintosh  resource  decompiler.  On  a Macintosh, many
   program  structures  (including the code itself) are managed in small
   segments  of the program file known as resources; Rez and DeRez are a
   pair of utilities for compiling and decompiling resource files. Thus,
   decompiling a resource is derezzing. Usage: very common.

:dead: adj.

   1. Non-functional; {down}; {crash}ed. Especially used of hardware.

   2.  At  XEROX  PARC,  software  that  is  working  but not undergoing
   continued development and support.

   3. Useless; inaccessible. Antonym: live. Compare {dead code}.

:dead beef attack: n.

   [cypherpunks  list,  1996]  An  attack  on  a public-key cryptosystem
   consisting  of  publishing  a  key  having the same ID as another key
   (thus  making  it  possible  to spoof a user's identity if recipients
   aren't  careful  about  verifying keys). In PGP and GPG the key ID is
   the  last  eight  hex  digits  of  (for  RSA keys) the product of two
   primes.  The  attack  was demonstrated by creating a key whose ID was
   0xdeadbeef (see {DEADBEEF}).

:dead code: n.

   Routines  that  can  never be accessed because all calls to them have
   been removed, or code that cannot be reached because it is guarded by
   a  control  structure  that  provably  must  always  transfer control
   somewhere  else.  The presence of dead code may reveal either logical
   errors  due  to  alterations in the program or significant changes in
   the  assumptions  and  environment of the program (see also {software
   rot});  a  good  compiler should report dead code so a maintainer can
   think  about  what  it  means.  (Sometimes  it  simply  means that an
   extremely  defensive  programmer  has  inserted  {can't happen} tests
   which  really  can't  happen -- yet.) Syn. {grunge}. See also {dead},
   and The Story of Mel'.

:dead-tree version:

   [common]  A paper version of an on-line document; one printed on dead
   trees. In this context, "dead trees" always refers to paper. See also
   {tree-killer}.

:DEADBEEF: /ded·beef/, n.

   The  hexadecimal word-fill pattern for freshly allocated memory under
   a  number  of  IBM  environments,  including the RS/6000. Some modern
   debugging  tools  deliberately fill freed memory with this value as a
   way  of converting {heisenbug}s into {Bohr bug}s. As in "Your program
   is  DEADBEEF"  (meaning  gone,  aborted, flushed from memory); if you
   start  from  an odd half-word boundary, of course, you have BEEFDEAD.
   See also the anecdote under {fool} and {dead beef attack}.

:deadlock: n.

   1.  [techspeak]  A situation wherein two or more processes are unable
   to  proceed  because  each  is  waiting  for  one of the others to do
   something.  A  common example is a program communicating to a server,
   which  may  find  itself  waiting  for  output from the server before
   sending  anything  more  to it, while the server is similarly waiting
   for  more  input  from  the  controlling  program  before  outputting
   anything.  (It is reported that this particular flavor of deadlock is
   sometimes called a starvation deadlock, though the term starvation is
   more  properly  used  for  situations  where  a program can never run
   simply  because  it  never  gets high enough priority. Another common
   flavor is constipation, in which each process is trying to send stuff
   to  the  other  but  all  buffers  are full because nobody is reading
   anything.) See {deadly embrace}.

   2.  Also  used  of deadlock-like interactions between humans, as when
   two  people meet in a narrow corridor, and each tries to be polite by
   moving aside to let the other pass, but they end up swaying from side
   to side without making any progress because they always move the same
   way at the same time.

:deadly embrace: n.

   Same  as  {deadlock},  though  usually  used  only  when  exactly two
   processes  are  involved.  This  is  the more popular term in Europe,
   while {deadlock} predominates in the United States.

:death code: n.

   A  routine  whose  job  is  to  set  everything  in  the  computer --
   registers,  memory,  flags,  everything  --  to  zero, including that
   portion  of memory where it is running; its last act is to {stomp on}
   its  own  "store zero" instruction. Death code isn't very useful, but
   writing it is an interesting hacking challenge on architectures where
   the instruction set makes it possible, such as the PDP-8 (it has also
   been done on the DG Nova).

   Perhaps  the  ultimate  death code is on the TI 990 series, where all
   registers  are  actually in RAM, and the instruction "store immediate
   0"  has  the  opcode "0". The PC will immediately wrap around core as
   many  times  as  it  can  until  a  user  hits HALT. Any empty memory
   location  is  death  code. Worse, the manufacturer recommended use of
   this instruction in startup code (which would be in ROM and therefore
   survive).

:Death Square: n.

   The  corporate logo of Novell, the people who acquired USL after AT&T
   let  go  of it (Novell eventually sold the Unix group to SCO). Coined
   by analogy with {Death Star}, because many people believed Novell was
   bungling the lead in Unix systems exactly as AT&T did for many years.

   [They were right --ESR]

:Death Star: n.

   [from the movie Star Wars]

   1. The AT&T corporate logo, which bears an uncanny resemblance to the
   Death  Star  in  the  Star  Wars  movies. This usage was particularly
   common  among  partisans  of  {BSD}  Unix in the 1980s, who tended to
   regard  the  AT&T  versions as inferior and AT&T as a bad guy. Copies
   still  circulate  of a poster printed by Mt. Xinu showing a starscape
   with  a  space  fighter  labeled 4.2 BSD streaking away from a broken
   AT&T logo wreathed in flames.

   2.  AT&T's  internal  magazine, Focus, uses death star to describe an
   incorrectly  done AT&T logo in which the inner circle in the top left
   is  dark  instead of light -- a frequent result of dark-on-light logo
   images.

:Death, X of:

   [common]  A construction used to imbue the subject with campy menace,
   usually  with  intent  to  ridicule.  The  ancestor of this term is a
   famous  Far  Side  cartoon  from  the 1980s in which a balloon with a
   fierce  face  painted  on  it  is passed off as the "Floating Head of
   Death".  Hackers  and  SF  fans have been using the suffix "of Death"
   ever  since to label things which appear to be vastly threatening but
   will   actually   pop   like  a  balloon  if  you  prick  them.  Such
   constructions  are  properly  spoken  in  a  tone of over-exagerrated
   portentiousness:  "Behold!  The  Spinning  - Pizza - of - Death!" See
   {Blue  Screen  of Death}, {Ping O' Death}, {Spinning Pizza of Death},
   {click of death}. Compare {Doom, X of}.

:DEC: /dek/, n.

   n.  Commonly  used  abbreviation  for  Digital Equipment Corporation,
   later deprecated by DEC itself in favor of "Digital" and now entirely
   obsolete  following  the  buyout by Compaq. Before the {killer micro}
   revolution  of  the  late 1980s, hackerdom was closely symbiotic with
   DEC's  pioneering  timesharing  machines.  The  first of the group of
   cultures  described  by  this lexicon nucleated around the PDP-1 (see
   {TMRC}).  Subsequently,  the  PDP-6, {PDP-10}, {PDP-20}, {PDP-11} and
   {VAX}  were  all  foci  of  large  and  important hackerdoms, and DEC
   machines  long dominated the ARPANET and Internet machine population.
   DEC  was  the  technological  leader of the minicomputer era (roughly
   1967  to  1987),  but  its failure to embrace microcomputers and Unix
   early  cost  it  heavily  in profits and prestige after {silicon} got
   cheap. Nevertheless, the microprocessor design tradition owes a major
   debt  to  the  {PDP-11}  instruction  set, and every one of the major
   general-purpose  microcomputer  OSs so far (CP/M, MS-DOS, Unix, OS/2,
   Windows  NT)  was  either  genetically  descended  from  a DEC OS, or
   incubated  on  DEC  hardware,  or both. Accordingly, DEC was for many
   years  still  regarded  with  a certain wry affection even among many
   hackers too young to have grown up on DEC machines.

:DEC Wars: n.

   A  1983 {Usenet} posting by Alan Hastings and Steve Tarr spoofing the
   Star   Wars   movies   in   hackish  terms.  Some  years  later,  ESR
   (disappointed  by  Hastings  and  Tarr's  failure  to exploit a great
   premise  more  thoroughly)  posted  a 3-times-longer complete rewrite
   called Unix WARS; the two are often confused.

:decay: n.,vi

   [from  nuclear  physics]  An automatic conversion which is applied to
   most   array-valued   expressions   in   {C};   they   `decay   into'
   pointer-valued  expressions  pointing  to  the array's first element.
   This  term  is  borderline techspeak, but is not used in the official
   standard for the language.

:deckle: /dek´l/, n.

   [from  dec-  and  {nybble};  the original spelling seems to have been
   decle] Two {nickle}s; 10 bits. Reported among developers for Mattel's
   GI  1600 (the Intellivision games processor), a chip with 16-bit-wide
   RAM but 10-bit-wide ROM. See {nybble} for other such terms.

:DED: /D·E·D/, n.

   Dark-Emitting  Diode  (that  is,  a  burned-out  LED). Compare {SED},
   {LER},  {write-only  memory}.  In  the early 1970s both Signetics and
   Texas  instruments released DED spec sheets as {AFJ}s (suggested uses
   included "as a power-off indicator").

:deep hack mode: n.

   See {hack mode}.

:deep magic: n.

   [poss. from C. S. Lewis's Narnia books] An awesomely arcane technique
   central  to a program or system, esp. one neither generally published
   nor  available  to  hackers  at large (compare {black art}); one that
   could   only   have  been  composed  by  a  true  {wizard}.  Compiler
   optimization  techniques  and  many aspects of {OS} design used to be
   {deep  magic};  many  techniques  in cryptography, signal processing,
   graphics,  and AI still are. Compare {heavy wizardry}. Esp.: found in
   comments  of  the  form  "Deep magic begins here...". Compare {voodoo
   programming}.

:deep space: n.

   1.  Describes the notional location of any program that has gone {off
   the  trolley}.  Esp.:  used  of programs that just sit there silently
   grinding  long  after  either failure or some output is expected. "Uh
   oh.  I  should have gotten a prompt ten seconds ago. The program's in
   deep space somewhere." Compare {buzz}, {catatonic}, {hyperspace}.

   2.  The  metaphorical location of a human so dazed and/or confused or
   caught  up  in  some  esoteric  form  of {bogosity} that he or she no
   longer  responds  coherently  to  normal communication. Compare {page
   out}.

:defenestration: n.

   [mythically  from a traditional Bohemian assassination method, via SF
   fandom]

   1.  Proper karmic retribution for an incorrigible punster. "Oh, ghod,
   that was awful!" "Quick! Defenestrate him!"

   2.  The  act  of  completely  removing Micro$oft Windows from a PC in
   favor of a better OS (typically Linux).

   3.  The act of discarding something under the assumption that it will
   improve matters. "I don't have any disk space left." "Well, why don't
   you defenestrate that 100 megs worth of old core dumps?"

   4.  Under  a GUI, the act of dragging something out of a window (onto
   the screen). "Next, defenestrate the MugWump icon."

   5.  [obs.]  The act of exiting a window system in order to get better
   response  time  from  a  full-screen  program.  This  comes  from the
   dictionary meaning of defenestrate, which is to throw something out a
   window.

:defined as: adj.

   In  the  role  of,  usually  in an organization-chart sense. "Pete is
   currently defined as bug prioritizer." Compare {logical}.

:deflicted:

   [portmanteau  of  "defective" and "afflicted"; common among PC repair
   technicians, and probably originated among hardware techs outside the
   hacker  community proper] Term used of hardware that is broken due to
   poor  design  or  shoddy  manufacturing  or  (especially)  both; less
   frequently  used  of  software  and  rarely  of  people. This term is
   normally employed in a tone of weary contempt by technicians who have
   seen  the  specific  failure  in  the  trouble  report before and are
   cynically  confident they'll see it again. Ultimately this may derive
   from  Frank  Zappa's  1974 album Apostrophe, on which the Fur Trapper
   infamously rubs his deflicted eyes...

:dehose: /dee·hohz/, vt.

   To clear a {hosed} condition.

:Dejagoo:

   [Portmanteau of Dejanews and Google] Google newsgroups. Became common
   in  2001  after  Google  acquired  Dejanews,  and with it the largest
   on-line archive of Usenet postings.

:deletia: n., /d@·lee´sha/

   [USENET;  common]  In an email reply, material omitted from the quote
   of the original. Usually written rather than spoken; often appears as
   a  pseudo-tag or ellipsis in the body of the reply, as "[deletia]" or
   "<deletia>" or "<snip>".

:deliminator: /de·lim'·in·ay·t@r/, n.

   [portmanteau,  delimiter  +  eliminate]  A  string or pattern used to
   delimit  text  into  fields,  but which is itself eliminated from the
   resulting  list of fields. This jargon seems to have originated among
   Perl  hackers  in connection with the Perl split() function; however,
   it  has  been  sighted  in  live use among Java and even Visual Basic
   programmers.

:delint: /dee·lint/, v. obs.

   To   modify   code   to  remove  problems  detected  when  {lint}ing.
   Confusingly,  this  process is also referred to as linting code. This
   term  is  no longer in general use because ANSI C compilers typically
   issue compile-time warnings almost as detailed as lint warnings.

:delta: n.

   1.   [techspeak]   A  quantitative  change,  especially  a  small  or
   incremental  one (this use is general in physics and engineering). "I
   just doubled the speed of my program!" "What was the delta on program
   size?"  "About 30 percent." (He doubled the speed of his program, but
   increased its size by only 30 percent.)

   2.  [Unix]  A  {diff},  especially  a  {diff} stored under the set of
   version-control tools called SCCS (Source Code Control System) or RCS
   (Revision Control System).

   3.  n.  A  small  quantity, but not as small as {epsilon}. The jargon
   usage  of  {delta}  and  {epsilon}  stems from the traditional use of
   these  letters  in  mathematics  for very small numerical quantities,
   particularly  in  `epsilon-delta'  proofs  in limit theory (as in the
   differential   calculus).  The  term  {delta}  is  often  used,  once
   {epsilon}  has  been  mentioned,  to mean a quantity that is slightly
   bigger  than {epsilon} but still very small. "The cost isn't epsilon,
   but  it's delta" means that the cost isn't totally negligible, but it
   is nevertheless very small. Common constructions include within delta
   of  --,  within  epsilon  of --: that is, `close to' and `even closer
   to'.

:demented: adj.

   Yet  another  term  of  disgust  used  to  describe  a malfunctioning
   program.  The  connotation  in this case is that the program works as
   designed, but the design is bad. Said, for example, of a program that
   generates  large numbers of meaningless error messages, implying that
   it   is   on   the  brink  of  imminent  collapse.  Compare  {wonky},
   {brain-damaged}, {bozotic}.

:demigod: n.

   A  hacker  with  years  of experience, a world-wide reputation, and a
   major  role  in the development of at least one design, tool, or game
   used  by  or  known  to  more  than  half of the hacker community. To
   qualify  as  a genuine demigod, the person must recognizably identify
   with  the  hacker  community and have helped shape it. Major demigods
   include  Ken  Thompson and Dennis Ritchie (co-inventors of {Unix} and
   {C}), Richard M. Stallman (inventor of {EMACS}), Larry Wall (inventor
   of  {Perl}),  Linus Torvalds (inventor of {Linux}), and most recently
   James Gosling (inventor of Java, {NeWS}, and {GOSMACS}) and Guido van
   Rossum  (inventor  of  {Python}).  In  their  hearts  of hearts, most
   hackers  dream of someday becoming demigods themselves, and more than
   one  major  software  project  has  been  driven to completion by the
   author's   veiled   hopes   of   apotheosis.   See   also  {net.god},
   {true-hacker},  {ubergeek}.  Since  1995  or  so  this  term has been
   gradually displaced by {ubergeek}.

:demo: /de´moh/

   [short for `demonstration']

   1. v. To demonstrate a product or prototype. A far more effective way
   of  inducing  bugs  to  manifest  than  any  number  of  {test} runs,
   especially when important people are watching.

   2.  n. The act of demoing. "I've gotta give a demo of the drool-proof
   interface; how does it work again?"

   3.   n.  Esp.  as  demo  version,  can  refer  either  to  an  early,
   barely-functional  version  of  a  program  which  can  be  used  for
   demonstration purposes as long as the operator uses exactly the right
   commands   and   skirts   its   numerous   bugs,   deficiencies,  and
   unimplemented  portions,  or  to  a  special  version  of  a  program
   (frequently  with  some  features  crippled)  which is distributed at
   little or no cost to the user for enticement purposes.

   4.  [{demoscene}] A sequence of {demoeffect}s (usually) combined with
   self-composed music and hand-drawn ("pixelated") graphics. These days
   (1997)  usually  built  to  attend  a {compo}. Often called eurodemos
   outside  Europe,  as  most  of the {demoscene} activity seems to have
   gathered  in  northern  Europe  and  especially Scandinavia. See also
   {intro}, {dentro}.

:demo mode: n.

   1.  [Sun]  The state of being {heads down} in order to finish code in
   time for a {demo}, usually due yesterday.

   2.  A  mode  in which video games sit by themselves running through a
   portion  of the game, also known as attract mode. Some serious {app}s
   have a demo mode they use as a screen saver, or may go through a demo
   mode on startup (for example, the Microsoft Windows opening screen --
   which  lets you impress your neighbors without actually having to put
   up with {Microsloth Windows}).

:demoeffect: n.

   [{demoscene}]

   1.  What  among hackers is called a {display hack}. Classical effects
   include  "plasma"  (colorful  mess),  "keftales"  (x*x+y*y  and other
   similar  patterns,  usually  combined  with  color-cycling), realtime
   fractals,  realtime 3d graphics, etc. Historically, demo effects have
   cheated  as  much as possible to gain more speed and more complexity,
   using  low-precision  math  and masses of assembler code and building
   animation  realtime  are  three  common  tricks,  but  use of special
   hardware  to  fake effects is a {Good Thing} on the demoscene (though
   this is becoming less common as platforms like the Amiga fade away).

   2.  [Finland] Opposite of {dancing frog}. The crash that happens when
   you  demonstrate a perfectly good prototype to a client. Plagues most
   often  CS  students  and  small businesses, but there is a well-known
   case  involving  Bill  Gates  demonstrating  a brand new version of a
   major operating system.

:demogroup: n.

   [{demoscene}]  A  group  of  {demo}  (sense  4) composers. Job titles
   within  a  group  include  coders  (the  ones  who  write  programs),
   graphicians  (the  ones  who  painstakingly  pixelate  the fine art),
   musicians (the music composers), {sysop}s, traders/swappers (the ones
   who  do the trading and other PR), and organizers (in larger groups).
   It  is  not  uncommon  for one person to do multiple jobs, but it has
   been  observed  that  good  coders are rarely good composers and vice
   versa.  [How  odd.  Musical  talent  seems common among Internet/Unix
   hackers --ESR]

:demon: n.

   1.  Often  used  equivalently to {daemon} -- especially in the {Unix}
   world,  where  the  latter  spelling  and pronunciation is considered
   mildly archaic.

   2.  [MIT;  now  probably obsolete] A portion of a program that is not
   invoked   explicitly,   but   that  lies  dormant  waiting  for  some
   condition(s)  to  occur. See {daemon}. The distinction is that demons
   are  usually  processes  within  a program, while daemons are usually
   programs running on an operating system.

   Demons  in  sense  2  are  particularly  common  in  AI programs. For
   example,  a  knowledge-manipulation program might implement inference
   rules as demons. Whenever a new piece of knowledge was added, various
   demons  would  activate (which demons depends on the particular piece
   of  data) and would create additional pieces of knowledge by applying
   their  respective  inference  rules  to the original piece. These new
   pieces  could in turn activate more demons as the inferences filtered
   down  through  chains  of  logic.  Meanwhile,  the main program could
   continue with whatever its primary task was.

:demon dialer: n.

   A  program  which  repeatedly  calls the same telephone number. Demon
   dialing  may  be  benign (as when a number of communications programs
   contend  for  legitimate  access to a {BBS} line) or malign (that is,
   used  as  a  prank or denial-of-service attack). This term dates from
   the  {blue  box}  days  of  the  1970s  and  early  1980s  and is now
   semi-obsolescent   among   {phreaker}s;  see  {war  dialer}  for  its
   contemporary progeny.

:demoparty: n.

   [{demoscene}]   Aboveground   descendant  of  the  {copyparty},  with
   emphasis  shifted  away  from  software  piracy and towards {compo}s.
   Smaller  demoparties,  for 100 persons or less, are held quite often,
   sometimes even once a month, and usually last for one to two days. On
   the  other  end  of the scale, huge demo parties are held once a year
   (and  four  of  these  have  grown  very  large and occur annually --
   Assembly  in  Finland, The Party in Denmark, The Gathering in Norway,
   and  NAID somewhere in north America). These parties usually last for
   three  to five days, have room for 3000-5000 people, and have a party
   network with connection to the internet.

:demoscene: /dem´oh·seen/

   [also `demo scene'] A culture of multimedia hackers located primarily
   in  Scandinavia and northern Europe. Demoscene folklore recounts that
   when old-time {warez d00dz} cracked some piece of software they often
   added  an advertisement in the beginning, usually containing colorful
   {display   hack}s  with  greetings  to  other  cracking  groups.  The
   demoscene  was  born  among people who decided building these display
   hacks  is  more  interesting  than hacking -- or anyway safer. Around
   1990  there  began  to  be  very  serious police pressure on cracking
   groups,  including  raids  with  SWAT teams crashing into bedrooms to
   confiscate  computers.  Whether  in  response to this or for esthetic
   reasons,  crackers  of  that  period  began  to  build self-contained
   display  hacks  of  considerable  elaboration  and beauty (within the
   culture   such  a  hack  is  called  a  {demo}).  As  more  of  these
   {demogroup}s  emerged,  they  started  to  have  {compo}s  at copying
   parties  (see  {copyparty}), which later evolved to standalone events
   (see  {demoparty}).  The  demoscene has retained some traits from the
   {warez  d00dz},  including their style of handles and group names and
   some of their jargon.

   Traditionally  demos  were written in assembly language, with lots of
   smart  tricks,  self-modifying  code,  undocumented  op-codes and the
   like.  Some time around 1995, people started coding demos in C, and a
   couple of years after that, they also started using Java.

   Ten  years  on  (in  1998-1999),  the  demoscene  is  changing as its
   original platforms (C64, Amiga, Spectrum, Atari ST, IBM PC under DOS)
   die out and activity shifts towards Windows, Linux, and the Internet.
   While deeply underground in the past, demoscene is trying to get into
   the  mainstream  as accepted art form, and one symptom of this is the
   commercialization  of  bigger demoparties. Older demosceners frown at
   this,  but the majority think it's a good direction. Many demosceners
   end  up  working  in  the  computer game industry. Demoscene resource
   pages  are  available at http://www.oldskool.org/demos/explained/ and
   http://www.scene.org/.

:dentro: /den´troh/

   [{demoscene}] Combination of {demo} (sense 4) and {intro}. Other name
   mixings  include  intmo,  dentmo  etc.  and are used usually when the
   authors  are  not  quite  sure  whether the program is a {demo} or an
   {intro}. Special-purpose coinages like wedtro (some member of a group
   got married), invtro (invitation intro) etc. have also been sighted.

:depeditate: /dee·ped'@·tayt/, n.

   [by (faulty) analogy with decapitate] Humorously, to cut off the feet
   of. When one is using some computer-aided typesetting tools, careless
   placement  of text blocks within a page or above a rule can result in
   chopped-off  letter  descenders.  Such  letters are said to have been
   depeditated.

:deprecated: adj.

   Said  of  a  program or feature that is considered obsolescent and in
   the  process  of  being  phased  out, usually in favor of a specified
   replacement.  Deprecated  features  can, unfortunately, linger on for
   many years. This term appears with distressing frequency in standards
   documents  when  the  committees  writing  the documents realize that
   large  amounts of extant (and presumably happily working) code depend
   on  the  feature(s)  that  have  passed out of favor. See also {dusty
   deck}.

   [Usage  note: don't confuse this word with `depreciated', or the verb
   form `deprecate' with `depreciate'. They are different words; see any
   dictionary for discussion.]

:derf: /derf/

   [PLATO]

   1.  v.  The  act  of  exploiting  a  terminal  which someone else has
   absentmindedly   left  logged  on,  to  use  that  person's  account,
   especially  to  post  articles  intended to make an ass of the victim
   you're impersonating. It has been alleged that the term originated as
   a reversal of the name of the gentleman who most usually left himself
   vulnerable  to it, who also happened to be the head of the department
   that  handled  PLATO  at  the  University of Delaware. Compare {baggy
   pantsing}.

   2.  n.  The  victim  of  an act of derfing, sense 1. The most typical
   posting from a derfed account read "I am a derf.".

:deserves to lose: adj.

   [common]  Said  of  someone  who  willfully  does  the {Wrong Thing};
   humorously,  if  one  uses  a feature known to be {marginal}. What is
   meant  is  that  one  deserves  the  consequences  of  one's {losing}
   actions.  "Boy,  anyone  who  tries  to  use  {mess-dos}  deserves to
   {lose}!" ({ITS} fans used to say the same thing of {Unix}; many still
   do.) See also {screw}, {chomp}, {bagbiter}.

:despew: /d@·spyoo´/, v.

   [Usenet]  To  automatically generate a large amount of garbage to the
   net, esp. from an automated posting program gone wild. See {ARMM}.

:dickless workstation: n.

   Extremely pejorative hackerism for `diskless workstation', a class of
   botches   including   the   Sun  3/50  and  other  machines  designed
   exclusively  to  network with an expensive central disk server. These
   combine   all   the   disadvantages   of  timesharing  with  all  the
   disadvantages  of  distributed  personal  computers;  typically, they
   cannot  even {boot} themselves without help (in the form of some kind
   of {breath-of-life packet}) from the server.

:dictionary flame: n.

   [Usenet]  An  attempt  to  sidetrack  a  debate  away  from issues by
   insisting  on  meanings  for  key  terms  that  presuppose  a desired
   conclusion  or  smuggle  in  an  implicit premise. A common tactic of
   people  who  prefer  argument  over  definitions  to  disputes  about
   reality. Compare {spelling flame}.

:diddle:

   1.  vt.  To work with or modify in a not-particularly-serious manner.
   "I  diddled  a  copy  of  {ADVENT}  so it didn't double-space all the
   time."  "Let's  diddle this piece of code and see if the problem goes
   away." See {tweak} and {twiddle}.

   2. n. The action or result of diddling.

   See also {tweak}, {twiddle}, {frob}.

:die: v.

   Syn.  {crash}.  Unlike  {crash}, which is used primarily of hardware,
   this  verb  is  used  of  both  hardware  and  software. See also {go
   flatline}, {casters-up mode}.

:die horribly: v.

   The  software  equivalent  of  {crash  and  burn},  and the preferred
   emphatic  form  of {die}. "The converter choked on an FF in its input
   and died horribly".

:diff: /dif/, n.

   1.  A  change  listing,  especially  giving  differences between (and
   additions to) source code or documents (the term is often used in the
   plural  diffs).  "Send  me  your  diffs for the Jargon File!" Compare
   {vdiff}.

   2. Specifically, such a listing produced by the diff(1) command, esp.
   when  used  as specification input to the patch(1) utility (which can
   actually  perform  the  modifications; see {patch}). This is a common
   method  of  distributing  patches  and  source  updates in the Unix/C
   world.

   3.  v.  To  compare  (whether  or  not  by  use of automated tools on
   machine-readable files); see also {vdiff}, {mod}.

:dike: vt.

   To  remove  or  disable  a  portion  of  something,  as a wire from a
   computer  or  a subroutine from a program. A standard slogan is "When
   in  doubt,  dike it out". (The implication is that it is usually more
   effective  to attack software problems by reducing complexity than by
   increasing  it.)  The  word  `dikes' is widely used to mean `diagonal
   cutters', a kind of wire cutter. To `dike something out' means to use
   such cutters to remove something. Indeed, the TMRC Dictionary defined
   dike  as  "to  attack  with  dikes". Among hackers this term has been
   metaphorically  extended to informational objects such as sections of
   code.

:Dilbert:

   n. Name and title character of a comic strip nationally syndicated in
   the  U.S.  and  enormously  popular  among  hackers.  Dilbert  is  an
   archetypical  engineer-nerd who works at an anonymous high-technology
   company;  the  strips  present  a lacerating satire of insane working
   conditions   and  idiotic  {management}  practices  all  too  readily
   recognized  by  hackers. Adams, who spent nine years in {cube} 4S700R
   at  Pacific Bell (not {DEC} as often reported), often remarks that he
   has  never  been  able to come up with a fictional management blunder
   that his correspondents didn't quickly either report to have actually
   happened  or  top  with  a similar but even more bizarre incident. In
   1996  Adams  distilled his insights into the collective psychology of
   businesses   into   an  even  funnier  book,  The  Dilbert  Principle
   (HarperCollins,  ISBN  0-887-30787-6). See also {pointy-haired}, {rat
   dance}.

:ding: n.,vi.

   1.  Synonym for {feep}. Usage: rare among hackers, but more common in
   the {Real World}.

   2.  dinged:  What happens when someone in authority gives you a minor
   bitching  about  something, esp. something trivial. "I was dinged for
   having a messy desk."

:dink: /dink/, adj.

   Said  of  a  machine  that  has the {bitty box} nature; a machine too
   small  to  be  worth  bothering  with  -- sometimes the system you're
   currently  forced  to work on. First heard from an MIT hacker working
   on a CP/M system with 64K, in reference to any 6502 system, then from
   fans  of  32-bit  architectures  about 16-bit machines. "GNUMACS will
   never  work  on  that dink machine." Probably derived from mainstream
   `dinky', which isn't sufficiently pejorative. See {macdink}.

:dinosaur: n.

   1.  Any  hardware  requiring  raised flooring and special power. Used
   especially  of  old  minis  and  mainframes,  in  contrast with newer
   microprocessor-based  machines.  In a famous quote from the 1998 Unix
   EXPO,  Bill  Joy  compared the liquid-cooled mainframe in the massive
   IBM display with a grazing dinosaur "with a truck outside pumping its
   bodily  fluids  through  it". IBM was not amused. Compare {big iron};
   see also {mainframe}.

   2. [IBM] A very conservative user; a {zipperhead}.

:dinosaur pen: n.

   A   traditional   {mainframe}  computer  room  complete  with  raised
   flooring,  special  power, its own ultra-heavy-duty air conditioning,
   and a side order of Halon fire extinguishers. See {boa}.

:dinosaurs mating: n.

   Said  to  occur  when yet another {big iron} merger or buyout occurs;
   originally  reflected  a  perception  by  hackers  that  these signal
   another stage in the long, slow dying of the {mainframe} industry. In
   the mainframe industry's glory days of the 1960s, it was `IBM and the
   Seven  Dwarfs': Burroughs, Control Data, General Electric, Honeywell,
   NCR,  RCA, and Univac. RCA and GE sold out early, and it was `IBM and
   the  Bunch' (Burroughs, Univac, NCR, Control Data, and Honeywell) for
   a  while.  Honeywell  was  bought  out by Bull; Burroughs merged with
   Univac  to form Unisys (in 1984 -- this was when the phrase dinosaurs
   mating  was  coined); and in 1991 AT&T absorbed NCR (but spat it back
   out a few years later). Control Data still exists but is no longer in
   the mainframe business. In similar wave of dinosaur-matings as the PC
   business  began  to  consolidate  after  1995,  Digital Equipment was
   bought  by  Compaq  which  was  bought  by Hewlett-Packard. More such
   earth-shaking unions of doomed giants seem inevitable.

:dirtball: n.

   [XEROX  PARC]  A small, perhaps struggling outsider; not in the major
   or  even  the  minor  leagues.  For example, "Xerox is not a dirtball
   company".

   [Outsiders  often  observe  in  the  PARC  culture  an  institutional
   arrogance  which  usage  of this term exemplifies. The brilliance and
   scope of PARC's contributions to computer science have been such that
   this superior attitude is not much resented. --ESR]

:dirty power: n.

   Electrical  mains  voltage that is unfriendly to the delicate innards
   of  computers.  Spikes,  {drop-outs},  average  voltage significantly
   higher  or  lower  than  nominal,  or  just plain noise can all cause
   problems  of  varying  subtlety  and severity (these are collectively
   known as {power hit}s).

:disclaimer: n.

   [Usenet]   Statement   ritually  appended  to  many  Usenet  postings
   (sometimes  automatically,  by  the posting software) reiterating the
   fact  (which  should  be  obvious,  but is easily forgotten) that the
   article  reflects  its author's opinions and not necessarily those of
   the  organization  running  the  machine  through  which  the article
   entered the network.

:Discordianism: /dis·kor´di·@n·ism/, n.

   The  veneration  of  {Eris},  a.k.a.  Discordia; widely popular among
   hackers.  Discordianism  was  popularized  by  Robert Shea and Robert
   Anton  Wilson's  novel  Illuminatus!  as  a  sort  of self-subverting
   Dada-Zen for Westerners -- it should on no account be taken seriously
   but  is  far more serious than most jokes. Consider, for example, the
   Fifth  Commandment  of  the  Pentabarf,  from Principia Discordia: "A
   Discordian  is  Prohibited of Believing What he Reads." Discordianism
   is   usually  connected  with  an  elaborate  conspiracy  theory/joke
   involving   millennia-long  warfare  between  the  anarcho-surrealist
   partisans  of  Eris  and  a  malevolent, authoritarian secret society
   called  the  Illuminati.  See  Religion in Appendix B, {Church of the
   SubGenius}, and {ha ha only serious}.

:disemvowel: v.

   [USENET: play on `disembowel'] Less common synonym for {splat out}.

:disk farm: n.

   A  large  room  or  rooms  filled  with  disk  drives  (esp. {washing
   machine}s).  This  term was well established by 1990, and generalized
   by  about  ten  years later; see {farm}. It has become less common as
   disk  strange densities reached livels where terabytes of storage can
   easily be fit in a single rack.

:display hack: n.

   A  program  with  the  same approximate purpose as a kaleidoscope: to
   make   pretty   pictures.  Famous  display  hacks  include  {munching
   squares}, {smoking clover}, the BSD Unix rain(6) program, worms(6) on
   miscellaneous  Unixes,  and  the {X} kaleid(1) program. Display hacks
   can  also  be  implemented by creating text files containing numerous
   escape  sequences for interpretation by a video terminal; one notable
   example  displayed,  on  any  VT100,  a Christmas tree with twinkling
   lights  and  a  toy  train  circling  its base. The {hack value} of a
   display  hack  is  proportional  to  the esthetic value of the images
   times  the  cleverness  of  the  algorithm divided by the size of the
   code. Syn. {psychedelicware}.

:dispress: vt.

   [contraction  of  `Dissociated  Press'  due to eight-character MS-DOS
   filenames]  To  apply the {Dissociated Press} algorithm to a block of
   text. The resultant output is also referred to as a 'dispression'.

:Dissociated Press: n.

   [play  on  `Associated Press'; perhaps inspired by a reference in the
   1950   Bugs   Bunny   cartoon  What's  Up,  Doc?]  An  algorithm  for
   transforming  any  text  into  potentially humorous garbage even more
   efficiently  than by passing it through a {marketroid}. The algorithm
   starts  by printing any N consecutive words (or letters) in the text.
   Then  at  every  step  it  searches  for any random occurrence in the
   original  text  of  the last N words (or letters) already printed and
   then  prints the next word or letter. {EMACS} has a handy command for
   this. Here is a short example of word-based Dissociated Press applied
   to an earlier version of this Jargon File:

     wart:  n. A small, crocky {feature} that sticks out of an array (C
     has  no  checks  for  this). This is relatively benign and easy to
     spot  if the phrase is bent so as to be not worth paying attention
     to the medium in question.

   Here  is a short example of letter-based Dissociated Press applied to
   the same source:

     window  sysIWYG:  n.  A bit was named aften /bee´t@/ prefer to use
     the other guy's re, especially in every cast a chuckle on neithout
     getting  into useful informash speech makes removing a featuring a
     move  or  usage  actual abstractionsidered interj. Indeed spectace
     logic or problem!

   A  hackish idle pastime is to apply letter-based Dissociated Press to
   a  random  body of text and {vgrep} the output in hopes of finding an
   interesting new word. (In the preceding example, `window sysIWYG' and
   `informash'  show some promise.) Iterated applications of Dissociated
   Press   usually  yield  better  results.  Similar  techniques  called
   travesty  generators  have  been employed with considerable satirical
   effect to the utterances of Usenet flamers; see {pseudo}.

:distribution: n.

   1.  A  software source tree packaged for distribution; but see {kit}.
   Since  about 1996 unqualified use of this term often implies `{Linux}
   distribution'. The short form {distro} is often used for this sense.

   2. A vague term encompassing mailing lists and Usenet newsgroups (but
   not  {BBS}  {fora}); any topic-oriented message channel with multiple
   recipients.

   3.  An  information-space  domain  (usually  loosely  correlated with
   geography)  to which propagation of a Usenet message is restricted; a
   much-underutilized feature.

:distro: n.

   Synonym for {distribution}, sense 1.

:disusered: adj.

   [Usenet]  Said  of  a  person  whose  account  on a computer has been
   removed, esp. for cause rather than through normal attrition. "He got
   disusered when they found out he'd been cracking through the school's
   Internet  access."  The  verbal form disuser is live but less common.
   Both  usages  probably derive from the DISUSER account status flag on
   VMS; setting it disables the account. Compare {star out}.

:DMZ:

   [common] Literally, De-Militarized Zone. Figuratively, the portion of
   a  private  network  that  is visible through the network's firewalls
   (see  {firewall  machine}).  Coined in the late 1990s as jargon, this
   term is now borderline techspeak.

:do protocol: vi.

   [from  network  protocol  programming] To perform an interaction with
   somebody  or  something that follows a clearly defined procedure. For
   example,  "Let's do protocol with the check" at a restaurant means to
   ask  for  the check, calculate the tip and everybody's share, collect
   money from everybody, generate change as necessary, and pay the bill.
   See {protocol}.

:doc: /dok/, n.

   Common  spoken  and written shorthand for `documentation'. Often used
   in   the  plural  docs  and  in  the  construction  doc  file  (i.e.,
   documentation available on-line).

:documentation: n.

   The  multiple kilograms of macerated, pounded, steamed, bleached, and
   pressed  trees  that  accompany  most  modern  software  or  hardware
   products   (see   also  {tree-killer}).  Hackers  seldom  read  paper
   documentation  and  (too) often resist writing it; they prefer theirs
   to  be  terse  and  on-line. A common comment on this predilection is
   "You  can't  {grep} dead trees". See {drool-proof paper}, {verbiage},
   {treeware}.

:dodgy: adj.

   Syn. with {flaky}. Preferred outside the U.S.

:dogcow: /dog´kow/, n.

   See {Moof}. The dogcow is a semi-legendary creature that lurks in the
   depths  of  the  Macintosh  Technical Notes Hypercard stack V3.1. The
   full  story  of  the  dogcow  is  told  in  technical  note  #31 (the
   particular   dogcow   illustrated   is   properly   named  `Clarus').
   Option-shift-click  will cause it to emit a characteristic "Moof!" or
   "!fooM"  sound. Getting to tech note 31 is the hard part; to discover
   how  to  do  that,  one  must  needs  examine the stack script with a
   hackerly eye. Clue: {rot13} is involved. A dogcow also appears if you
   choose  `Page  Setup...' with a LaserWriter selected and click on the
   `Options' button. It also lurks in other Mac printer drivers, notably
   those     for     the    now-discontinued    Style    Writers.    See
   http://developer.apple.com/products/techsupport/dogcow/tn31.html.

:dogfood: n.

   [Microsoft,  Netscape]  Interim software used internally for testing.
   "To  eat one's own dogfood" (from which the slang noun derives) means
   to  use  the  software  one  is developing, as part of one's everyday
   development  environment  (the  phrase  is used outside Microsoft and
   Netscape).  The  practice  is  normal  in  the  Linux  community  and
   elsewhere, but the term `dogfood' is seldom used as open-source betas
   tend  to  be  quite tasty and nourishing. The idea is that developers
   who are using their own software will quickly learn what's missing or
   broken. Dogfood is typically not even of {beta} quality.

:dogpile: v.

   [Usenet:  prob.  fr.  mainstream  "puppy pile"] When many people post
   unfriendly  responses  in  short  order to a single posting, they are
   sometimes  said  to  "dogpile"  or  "dogpile  on"  the person to whom
   they're  responding. For example, when a religious missionary posts a
   simplistic  appeal  to  alt.atheism, he can expect to be dogpiled. It
   has  been  suggested that this derives from U.S. football slang for a
   tackle  involving  three  or  more people; among hackers, it seems at
   least  as  likely  to  derive  from  an `autobiographical' Bugs Bunny
   cartoon  in which a gang of attacking canines actually yells "Dogpile
   on the rabbit!".

:dogwash: /dog´wosh/

   [From  a  quip  in  the  `urgency'  field of a very optional software
   change  request, ca.: 1982. It was something like "Urgency: Wash your
   dog first".]

   1.  n.  A  project  of minimal priority, undertaken as an escape from
   more serious work.

   2. v. To engage in such a project. Many games and much {freeware} get
   written this way.

:Don't do that then!: imp.

   [from  an  old  doctor's  office  joke about a patient with a trivial
   complaint]   Stock  response  to  a  user  complaint.  "When  I  type
   control-S,  the  whole  system  comes  to a halt for thirty seconds."
   "Don't do that, then!" (or "So don't do that!"). Compare {RTFM}.

   Here's  a  classic  example  of  "Don't  do  that  then!"  from  Neal
   Stephenson's  In  The Beginning Was The Command Line. A friend of his
   built  a  network with a load of Macs and a few high-powered database
   servers. He found that from time to time the whole network would lock
   up for no apparent reason. The problem was eventually tracked down to
   MacOS's  cooperative  multitasking:  when  a user held down the mouse
   button  for  too  long,  the  network  stack wouldn't get a chance to
   run...

:dongle: /dong´gl/, n.

   1.  [now obs.] A security or {copy protection} device for proprietary
   software  consisting of a serialized EPROM and some drivers in a D-25
   connector  shell,  which  must  be  connected  to  an I/O port of the
   computer  while  the program is run. Programs that use a dongle query
   the  port  at  startup  and  at  programmed intervals thereafter, and
   terminate  if  it  does  not  respond  with  the  dongle's programmed
   validation  code.  Thus, users can make as many copies of the program
   as  they  want  but must pay for each dongle. The first sighting of a
   dongle  was  in  1984,  associated  with  a  software  product called
   PaperClip.  The  idea  was clever, but it was initially a failure, as
   users  disliked  tying  up  a  serial port this way. By 1993, dongles
   would  typically  pass  data through the port and monitor for {magic}
   codes  (and  combinations  of  status  lines)  with  minimal  if  any
   interference  with  devices  further down the line -- this innovation
   was  necessary  to allow daisy-chained dongles for multiple pieces of
   software.  These  devices  have become rare as the industry has moved
   away from copy-protection schemes in general.

   2.  By  extension,  any  physical  electronic  key or transferable ID
   required  for  a program to function. Common variations on this theme
   have used parallel or even joystick ports. See {dongle-disk}.

   3.  An adaptor cable mating a special edge-type connector on a PCMCIA
   or  on-board  Ethernet  card  to  a standard 8p8c Ethernet jack. This
   usage  seems  to  have  surfaced  in 1999 and is now dominant. Laptop
   owners  curse  these  things because they're notoriously easy to lose
   and the vendors commonly charge extortionate prices for replacements.

   [Note:  in  early 1992, advertising copy from Rainbow Technologies (a
   manufacturer  of dongles) included a claim that the word derived from
   "Don  Gall",  allegedly  the  inventor  of  the device. The company's
   receptionist  will  cheerfully  tell  you  that  the  story is a myth
   invented  for the ad copy. Nevertheless, I expect it to haunt my life
   as a lexicographer for at least the next ten years. :-( --ESR]

:dongle-disk: /don´gl disk/, n.

   A special floppy disk that is required in order to perform some task.
   Some contain special coding that allows an application to identify it
   uniquely,   others   are   special  code  that  does  something  that
   normally-resident programs don't or can't. (For example, AT&T's "Unix
   PC" would only come up in {root mode} with a special boot disk.) Also
   called a key disk. See {dongle}.

:Doom, X of:

   [common] A construction similar to `{Death, X of}, but derived rather
   from  the  Cracks  of  Doom  in  J.R.R.  Tolkien's  Lord of the Rings
   trilogy.  The  connotations are slightly different; a Foo of Death is
   mainly being held up to ridicule, but one would have to take a Foo of
   Doom a bit more seriously.

:doorstop: n.

   Used  to  describe  equipment  that  is  non-functional  and  halfway
   expected  to remain so, especially obsolete equipment kept around for
   political reasons or ostensibly as a backup. Compare {boat anchor}.

:DoS attack: //

   [Usenet,common;  note  that  it's  unrelated  to  DOS  as  name of an
   operating  system]  Abbreviation  for  Denial-Of-Service attack. This
   abbreviation  is  most often used of attempts to shut down newsgroups
   with  floods  of {spam}, or to flood network links with large amounts
   of  traffic, or to flood network links with large amounts of traffic,
   often  by  abusing  network  broadcast  addresses.  Compare {slashdot
   effect}.

:dot file: n.

   A  file  that  is not visible by default to normal directory-browsing
   tools  (on  Unix,  files named with a leading dot are, by convention,
   not  normally  presented in directory listings). Many programs define
   one  or  more dot files in which startup or configuration information
   may  be  optionally  recorded;  a  user  can  customize the program's
   behavior  by  creating  the  appropriate  file in the current or home
   directory.  (Therefore,  dot  files  tend  to  {creep}  -- with every
   nontrivial  application  program defining at least one, a user's home
   directory  can  be filled with scores of dot files, of course without
   the  user's  really being aware of it.) See also {profile} (sense 1),
   {rc file}.

:double bucky: adj.

   Using  both  the CTRL and META keys. "The command to burn all LEDs is
   double bucky F."

   This term originated on the Stanford extended-ASCII keyboard, and was
   later  taken  up  by  users  of  the {space-cadet keyboard} at MIT. A
   typical  MIT  comment was that the Stanford {bucky bits} (control and
   meta  shifting keys) were nice, but there weren't enough of them; you
   could  type  only 512 different characters on a Stanford keyboard. An
   obvious way to address this was simply to add more shifting keys, and
   this was eventually done; but a keyboard with that many shifting keys
   is  hard  on  touch-typists,  who don't like to move their hands away
   from  the  home  position  on  the  keyboard.  It  was half-seriously
   suggested  that  the  extra  shifting  keys be implemented as pedals;
   typing on such a keyboard would be very much like playing a full pipe
   organ.  This  idea  is  mentioned  in a parody of a very fine song by
   Jeffrey  Moss called Rubber Duckie, which was published in The Sesame
   Street  Songbook (Simon and Schuster 1971, ISBN 0-671-21036-X). These
   lyrics  were  written on May 27, 1978, in celebration of the Stanford
   keyboard:

   Double Bucky
   Double bucky, you're the one!
   You make my keyboard lots of fun.
       Double bucky, an additional bit or two:
   (Vo-vo-de-o!)
   Control and meta, side by side,
   Augmented ASCII, nine bits wide!
       Double bucky!  Half a thousand glyphs, plus a few!
   Oh,
   I sure wish that I
   Had a couple of
       Bits more!
   Perhaps a
   Set of pedals to
   Make the number of
       Bits four:
   Double double bucky!
   Double bucky, left and right
   OR'd together, outta sight!
       Double bucky, I'd like a whole word of
       Double bucky, I'm happy I heard of
       Double bucky, I'd like a whole word of you!
   -- The Great Quux (with apologies to Jeffrey Moss)

   [This,  by the way, is an excellent example of computer {filk} --ESR]
   See also {meta bit}, {cokebottle}, and {quadruple bucky}.

:doubled sig: n.

   A  {sig block} that has been included twice in a {Usenet} article or,
   less  commonly,  in an electronic mail message. An article or message
   with  a  doubled sig can be caused by improperly configured software.
   More  often,  however,  it reveals the author's lack of experience in
   electronic communication. See {B1FF}, {pseudo}.

:down:

   1.  adj.  Not  operating.  "The up escalator is down" is considered a
   humorous  thing  to  say  (unless of course you were expecting to use
   it),  and  "The  elevator  is  down" always means "The elevator isn't
   working"  and  never  refers  to  what floor the elevator is on. With
   respect  to  computers, this term has passed into the mainstream; the
   extension  to  other  kinds  of  machine is still confined to techies
   (e.g. boiler mechanics may speak of a boiler being down).

   2. go down vi. To stop functioning; usually said of the {system}. The
   message  from  the {console} that every hacker hates to hear from the
   operator is "System going down in 5 minutes".

   3.  take  down,  bring  down vt. To deactivate purposely, usually for
   repair  work or {PM}. "I'm taking the system down to work on that bug
   in  the  tape  drive." Occasionally one hears the word down by itself
   used as a verb in this vt. sense.

   See {crash}; oppose {up}.

:download: vt.

   To  transfer data or (esp.) code from a far-away system (especially a
   larger  host  system)  over a digital communications link to a nearby
   system (especially a smaller client system. Oppose {upload}.

   Historical  use  of  these  terms  was  at  one  time associated with
   transfers  from  large  timesharing  machines  to  PCs or peripherals
   (download)  and vice-versa (upload). The modern usage relative to the
   speaker  (rather  than  as  an  indicator of the size and role of the
   machines)  evolved  as  machine  categories lost most of their former
   functional importance.

:DP: /D·P/, n.

   1. Data Processing. Listed here because, according to hackers, use of
   the term marks one immediately as a {suit}. See {DPer}.

   2. Common abbrev for {Dissociated Press}.

:DPer: /dee·pee·er/, n.

   Data  Processor.  Hackers are absolutely amazed that {suit}s use this
   term  self-referentially.  Computers  process  data,  not people! See
   {DP}.

:Dr. Fred Mbogo: /@m·boh´goh, dok´tr fred/, n.

   [Stanford]  The archetypal man you don't want to see about a problem,
   esp.  an incompetent professional; a shyster. "Do you know a good eye
   doctor?"  "Sure,  try  Mbogo Eye Care and Professional Dry Cleaning."
   The  name  comes  from  synergy  between {bogus} and the original Dr.
   Mbogo,  a  witch  doctor  who  was Gomez Addams' physician on the old
   Addams  Family TV show. Interestingly enough, it turns out that under
   the rules for Swahili noun classes, `m-' is the characteristic prefix
   of  "nouns  referring  to  human  beings".  As such, "mbogo" is quite
   plausible  as  a  Swahili coinage for a person having the nature of a
   {bogon}.  Actually,  "mbogo" is indeed a Ki-Swahili word referring to
   the  African  Cape  Buffalo,  syncerus  caffer. It is one of the "big
   five"  dangerous  African  game  animals,  and  many people with bush
   experience  believe  it  to  be  the  most dangerous of them. Compare
   {Bloggs  Family}  and  {J. Random Hacker}; see also {Fred Foobar} and
   {fred}.

:dragon: n.

   [MIT]  A program similar to a {daemon}, except that it is not invoked
   at  all,  but  is  instead  used  by  the  system  to perform various
   secondary  tasks.  A  typical example would be an accounting program,
   which  keeps  track  of  who  is  logged in, accumulates load-average
   statistics, etc. Under ITS, many terminals displayed a list of people
   logged  in, where they were, what they were running, etc., along with
   some  random  picture (such as a unicorn, Snoopy, or the Enterprise),
   which  was generated by the `name dragon'. Usage: rare outside MIT --
   under  Unix  and  most  other  OSes this would be called a background
   demon  or  {daemon}.  The  best-known  Unix  example  of  a dragon is
   cron(1). At SAIL, they called this sort of thing a phantom.

:Dragon Book: n.

   The  classic  text  Compilers:  Principles,  Techniques and Tools, by
   Alfred  V.  Aho,  Ravi  Sethi,  and Jeffrey D. Ullman (Addison-Wesley
   1986;  ISBN  0-201-10088-6),  so  called  because of the cover design
   featuring  a  dragon  labeled  `complexity  of compiler design' and a
   knight  bearing  the  lance  `LALR  parser generator' among his other
   trappings.  This  one  is  more specifically known as the `Red Dragon
   Book' (1986); an earlier edition, sans Sethi and titled Principles Of
   Compiler Design (Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley,
   1977;  ISBN 0-201-00022-9), was the ``reen Dragon Book' (1977). (Also
   New  Dragon  Book,  Old Dragon Book.) The horsed knight and the Green
   Dragon  were warily eying each other at a distance; now the knight is
   typing  (wearing  gauntlets!)  at  a  terminal  showing  a video-game
   representation  of  the Red Dragon's head while the rest of the beast
   extends back in normal space. See also {book titles}.

:drain: v.

   [IBM] Syn. for {flush} (sense 2). Has a connotation of finality about
   it; one speaks of draining a device before taking it offline.

:dread high-bit disease: n.

   A  condition  endemic  to some now-obsolete computers and peripherals
   (including  ASR-33 teletypes and PRIME minicomputers) that results in
   all characters having their high (0x80) bit forced on. This of course
   makes transporting files to other systems much more difficult, not to
   mention  the  problems  these  machines  have talking with true 8-bit
   devices.

   This  term  was  originally used specifically of PRIME (a.k.a. PR1ME)
   minicomputers.  Folklore has it that PRIME adopted the reversed-8-bit
   convention  in  order  to  save 25 cents per serial line per machine;
   PRIME old-timers, on the other hand, claim they inherited the disease
   from  Honeywell  via  customer  NASA's compatibility requirements and
   struggled  heroically  to  cure  it.  Whoever  was  responsible, this
   probably  qualifies  as  one of the most {cretinous} design tradeoffs
   ever made. See {meta bit}.

:dread questionmark disease:

   n.  The  result  of  saving  HTML  from  Microsoft Word or some other
   program  that  uses the nonstandard Microsoft variant of Latin-1; the
   symptom  is that various of those nonstandard characters in positions
   128-160  show  up as questionmarks. The usual culprit is the misnamed
   `smart  quotes'  feature  in  Microsoft Word. For more details (and a
   program   called   demoroniser   that   cleans   up   the  mess)  see
   http://www.fourmilab.ch/webtools/demoroniser/.

:DRECNET: /drek´net/, n.

   [from Yiddish/German `dreck', meaning filth] Deliberate distortion of
   DECNET,  a networking protocol used in the {VMS} community. So called
   because  {DEC}  helped  write  the  Ethernet  specification  and then
   (either  stupidly or as a malignant customer-control tactic) violated
   that   spec  in  the  design  of  DRECNET  in  a  way  that  made  it
   incompatible. See also {connector conspiracy}.

:driver: n.

   1. The {main loop} of an event-processing program; the code that gets
   commands and dispatches them for execution.

   2. [techspeak] In device driver, code designed to handle a particular
   peripheral device such as a magnetic disk or tape unit.

   3.  In  the  TeX  world  and  the  computerized  typesetting world in
   general,  a  program that translates some device-independent or other
   common format to something a real device can actually understand.

:droid: n.

   [from  android,  SF  terminology  for a humanoid robot of essentially
   biological  (as  opposed  to  mechanical/electronic)  construction] A
   person  (esp.  a  low-level  bureaucrat or service-business employee)
   exhibiting  most of the following characteristics: (a) naive trust in
   the  wisdom  of  the  parent  organization  or  `the  system';  (b) a
   blind-faith   propensity  to  believe  obvious  nonsense  emitted  by
   authority figures (or computers!); (c) a rule-governed mentality, one
   unwilling  or  unable  to  look  beyond  the  `letter  of the law' in
   exceptional  situations;  (d) a paralyzing fear of official reprimand
   or  worse  if  Procedures are not followed No Matter What; and (e) no
   interest  in  doing  anything  above  or  beyond  the  call of a very
   narrowly-interpreted  duty,  or in particular in fixing that which is
   broken; an "It's not my job, man" attitude.

   Typical  droid  positions  include supermarket checkout assistant and
   bank  clerk;  the  syndrome  is  also endemic in low-level government
   employees.  The implication is that the rules and official procedures
   constitute  software that the droid is executing; problems arise when
   the software has not been properly debugged. The term droid mentality
   is  also  used  to describe the mindset behind this behavior. Compare
   {suit}, {marketroid}; see {-oid}.

   In  England there is equivalent mainstream slang; a `jobsworth' is an
   obstructive,  rule-following  bureaucrat,  often  of the uniformed or
   suited  variety.  Named for the habit of denying a reasonable request
   by  sucking his teeth and saying "Oh no, guv, sorry I can't help you:
   that's more than my job's worth".

:drone: n.

   Ignorant   sales   or  customer  service  personnel  in  computer  or
   electronics  superstores. Characterized by a lack of even superficial
   knowledge  about  the  products  they  sell,  yet  possessed  of  the
   conviction  that they are more competent than their hacker customers.
   Usage:  "That  video  board  probably  sucks, it was recommended by a
   drone  at  Fry's"  In  the  year 2000, their natural habitats include
   Fry's Electronics, Best Buy, and CompUSA.

:drool-proof paper: n.

   Documentation  that  has been obsessively {dumbed down}, to the point
   where  only  a  {cretin}  could  bear  to  read  it,  is said to have
   succumbed  to  the  `drool-proof  paper  syndrome'  or  to  have been
   `written  on drool-proof paper'. For example, this is an actual quote
   from  Apple's  LaserWriter manual: "Do not expose your LaserWriter to
   open  fire or flame." The SGI Indy manual included the line "[Do not]
   dangle the mouse by the cord or throw it at coworkers."

:drop on the floor: vt.

   To  react  to  an  error condition by silently discarding messages or
   other  valuable  data.  "The  gateway  ran  out of memory, so it just
   started  dropping  packets  on  the  floor."  Also frequently used of
   faulty  mail  and  netnews  relay  sites that lose messages. See also
   {black hole}, {bit bucket}.

:drop-ins: n.

   [prob.: by analogy with {drop-outs}] Spurious characters appearing on
   a  terminal  or  console  as  a  result  of  line  noise  or a system
   malfunction of some sort. Esp.: used when these are interspersed with
   one's own typed input. Compare {drop-outs}, sense 2.

:drop-outs: n.

   1.  A  variety of power glitch (see {glitch}); momentary 0 voltage on
   the electrical mains.

   2.  Missing  characters in typed input due to software malfunction or
   system  saturation  (one cause of such behavior under Unix when a bad
   connection  to  a  modem swamps the processor with spurious character
   interrupts; see {screaming tty}).

   3.  Mental glitches; used as a way of describing those occasions when
   the mind just seems to shut down for a couple of beats. See {glitch},
   {fried}.

   [73-05-20.png]

   A really serious case of {drop-outs}.

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

:drugged: adj.

   (also on drugs)

   1.   Conspicuously  stupid,  heading  toward  {brain-damaged}.  Often
   accompanied by a pantomime of toking a joint.

   2. Of hardware, very slow relative to normal performance.

:drum: n.

   Ancient  techspeak term referring to slow, cylindrical magnetic media
   that  were once state-of-the-art storage devices. Under some versions
   of  BSD  Unix  the  disk  partition used for swapping is still called
   /dev/drum;  this  has  led  to  considerable  humor  and  not  a  few
   straight-faced  but  utterly  bogus `explanations' getting foisted on
   {newbie}s. See also " The Story of Mel'" in Appendix A.

:drunk mouse syndrome: n.

   (also mouse on drugs) A malady exhibited by the mouse pointing device
   of some computers. The typical symptom is for the mouse cursor on the
   screen  to  move in random directions and not in sync with the motion
   of the actual mouse. Can usually be corrected by unplugging the mouse
   and  plugging it back again. Another recommended fix for optical mice
   is to rotate your mouse pad 90 degrees.

   At  Xerox PARC in the 1970s, most people kept a can of copier cleaner
   (isopropyl  alcohol) at their desks. When the steel ball on the mouse
   had  picked  up enough {cruft} to be unreliable, the mouse was doused
   in  cleaner,  which  restored it for a while. However, this operation
   left  a  fine  residue that accelerated the accumulation of cruft, so
   the  dousings  became  more and more frequent. Finally, the mouse was
   declared  `alcoholic' and sent to the clinic to be dried out in a CFC
   ultrasonic bath.

:DSW: n.

   [alt.(sysadmin|tech-support).recovery;  abbrev.  for Dick Size War] A
   contest  between two or more people boasting about who has the faster
   machine,  keys  on (either physical or cryptographic) keyring, greyer
   hair,  or almost anything. Salvos in a DSW are typically humorous and
   playful, often self-mocking.

:dub dub dub:

   [common]  Spoken-only  shorthand  for  the  "www"  (double-u double-u
   double-u)  in  many  web  host names. Nothing to do with the style of
   reggae music called `dub'.

:Duff's device: n.

   The  most  dramatic  use yet seen of {fall through} in C, invented by
   Tom  Duff  when  he  was  at  Lucasfilm.  Trying  to optimize all the
   instructions  he could out of an inner loop that copied data serially
   onto  an  output port, he decided to unroll it. He then realized that
   the   unrolled  version  could  be  implemented  by  interlacing  the
   structures of a switch and a loop:

   register n = (count + 7) / 8;      /* count > 0 assumed */

   switch (count % 8)
   {
   case 0:        do {  *to = *from++;
   case 7:              *to = *from++;
   case 6:              *to = *from++;
   case 5:              *to = *from++;
   case 4:              *to = *from++;
   case 3:              *to = *from++;
   case 2:              *to = *from++;
   case 1:              *to = *from++;
                      } while (--n > 0);
   }

   Shocking  though  it  appears  to  all who encounter it for the first
   time,  the  device  is actually perfectly valid, legal C. C's default
   {fall   through}   in   case   statements  has  long  been  its  most
   controversial  single  feature;  Duff  observed that "This code forms
   some  sort  of argument in that debate, but I'm not sure whether it's
   for  or  against."  Duff  has  discussed  the  device  in  detail  at
   http://www.lysator.liu.se/c/duffs-device.html. Note that the omission
   of  postfix  ++  from  *to was intentional (though confusing). Duff's
   device can be used to implement memory copy, but the original aim was
   to copy values serially into a magic IO register.

   [For  maximal  obscurity,  the  outermost  pair of braces above could
   actually be removed -- GLS]

:dumb terminal: n.

   A  terminal  that is one step above a {glass tty}, having a minimally
   addressable  cursor  but  no  on-screen  editing  or  other  features
   normally  supported  by  a  {smart  terminal}. Once upon a time, when
   glass  ttys  were  common  and  addressable  cursors  were  something
   special,  what  is  now called a dumb terminal could pass for a smart
   terminal.

:dumbass attack: /duhm´as @·tak´/, n.

   [Purdue]   Notional   cause   of  a  novice's  mistake  made  by  the
   experienced,  especially one made while running as {root} under Unix,
   e.g.,  typing  rm  -r  *  or  mkfs  on a mounted file system. Compare
   {adger}.

:dumbed down: adj.

   Simplified,  with  a  strong  connotation of oversimplified. Often, a
   {marketroid}  will  insist  that  the interfaces and documentation of
   software  be dumbed down after the designer has burned untold gallons
   of   midnight  oil  making  it  smart.  This  creates  friction.  See
   {user-friendly}.

:dump: n.

   1.  An  undigested and voluminous mass of information about a problem
   or  the  state  of  a  system,  especially  one routed to the slowest
   available  output  device  (compare {core dump}), and most especially
   one  consisting  of  hex or octal {runes} describing the byte-by-byte
   state  of  memory,  mass  storage,  or  some  file.  In {elder days},
   debugging was generally done by groveling over a dump (see {grovel});
   increasing  use of high-level languages and interactive debuggers has
   made  such  tedium  uncommon,  and  the  term  dump now has a faintly
   archaic flavor.

   2.  A  backup.  This  usage  is  typical  only  at  large timesharing
   installations.

:dumpster diving: /dump'·ster di:´·ving/, n.

   1.  The  practice  of  sifting  refuse  from  an  office or technical
   installation     to    extract    confidential    data,    especially
   security-compromising  information  (`dumpster' is an Americanism for
   what  is  elsewhere  called  a  skip).  Back in AT&T's monopoly days,
   before  paper shredders became common office equipment, phone phreaks
   (see  {phreaking})  used  to  organize  regular dumpster runs against
   phone  company  plants  and  offices. Discarded and damaged copies of
   AT&T  internal  manuals  taught  them  much.  The  technique is still
   rumored  to  be  a  favorite  of  crackers operating against careless
   targets.

   2.  The  practice  of  raiding  the  dumpsters behind buildings where
   producers  and/or  consumers of high-tech equipment are located, with
   the   expectation   (usually  justified)  of  finding  discarded  but
   still-valuable equipment to be nursed back to health in some hacker's
   den.   Experienced   dumpster-divers   not   infrequently  accumulate
   basements full of moldering (but still potentially useful) {cruft}.

:dusty deck: n.

   Old software (especially applications) which one is obliged to remain
   compatible  with, or to maintain ({DP} types call this legacy code, a
   term  hackers  consider  smarmy  and  excessively reverent). The term
   implies  that  the software in question is a holdover from card-punch
   days.    Used   esp.   when   referring   to   old   scientific   and
   {number-crunching} software, much of which was written in FORTRAN and
   very  poorly  documented  but  is  believed  to  be  too expensive to
   replace. See {fossil}; compare {crawling horror}.

:DWIM: /dwim/

   [acronym, `Do What I Mean']

   1.  adj. Able to guess, sometimes even correctly, the result intended
   when bogus input was provided.

   2.   n.   obs.  The  BBNLISP/INTERLISP  function  that  attempted  to
   accomplish  this  feat  by correcting many of the more common errors.
   See {hairy}.

   3.  Occasionally,  an  interjection  hurled at a balky computer, esp.
   when   one   senses   one  might  be  tripping  over  legalisms  (see
   {legalese}).

   4.  Of  a  person,  someone whose directions are incomprehensible and
   vague,  but  who nevertheless has the expectation that you will solve
   the problem using the specific method he/she has in mind.

   Warren  Teitelman originally wrote DWIM to fix his typos and spelling
   errors,  so  it  was  somewhat  idiosyncratic to his style, and would
   often  make  hash  of  anyone else's typos if they were stylistically
   different.  Some  victims of DWIM thus claimed that the acronym stood
   for `Damn Warren's Infernal Machine!'.

   In one notorious incident, Warren added a DWIM feature to the command
   interpreter  used  at  Xerox PARC. One day another hacker there typed
   delete  *$ to free up some disk space. (The editor there named backup
   files  by  appending $ to the original file name, so he was trying to
   delete  any  backup  files  left  over from old editing sessions.) It
   happened  that  there  weren't  any  editor  backup  files,  so  DWIM
   helpfully  reported  *$  not found, assuming you meant 'delete *'. It
   then  started to delete all the files on the disk! The hacker managed
   to  stop it with a {Vulcan nerve pinch} after only a half dozen or so
   files were lost.

   The disgruntled victim later said he had been sorely tempted to go to
   Warren's  office,  tie  Warren  down  in  his  chair  in front of his
   workstation, and then type delete *$ twice.

   DWIM  is  often  suggested in jest as a desired feature for a complex
   program;  it is also occasionally described as the single instruction
   the   ideal   computer  would  have.  Back  when  proofs  of  program
   correctness were in vogue, there were also jokes about DWIMC (Do What
   I  Mean,  Correctly).  A  related term, more often seen as a verb, is
   DTRT (Do The Right Thing); see {Right Thing}.

:dynner: /din´r/, n.

   32  bits,  by  analogy  with  {nybble}  and  {byte}.  Usage: rare and
   extremely  silly.  See  also  {playte},  {tayste},  {crumb}.  General
   discussion of such terms is under {nybble}.

E

:Easter egg: n.

   [from the custom of the Easter Egg hunt observed in the U.S. and many
   parts of Europe]

   1.  A  message  hidden  in  the  object  code of a program as a joke,
   intended to be found by persons disassembling or browsing the code.

   2. A message, graphic, or sound effect emitted by a program (or, on a
   PC, the BIOS ROM) in response to some undocumented set of commands or
   keystrokes,  intended  as  a  joke or to display program credits. One
   well-known  early Easter egg found in a couple of OSes caused them to
   respond  to  the  command  make  love  with  not  war?. Many personal
   computers  have  much  more  elaborate  eggs hidden in ROM, including
   lists  of  the developers' names, political exhortations, snatches of
   music,  and  (in  one case) graphics images of the entire development
   team.

:Easter egging: n.

   [IBM]  The  act  of  replacing  unrelated  components more or less at
   random  in  hopes  that  a malfunction will go away. Hackers consider
   this  the  normal  operating  mode of {field circus} techs and do not
   love  them  for  it. See also the jokes under {field circus}. Compare
   {shotgun debugging}.

:eat flaming death: imp.

   A  construction  popularized among hackers by the infamous {CPU Wars}
   comic;  supposedly  derived from a famously turgid line in a WWII-era
   anti-Nazi  propaganda  comic  that  ran "Eat flaming death, non-Aryan
   mongrels!"  or  something  of  the sort (however, it is also reported
   that  on  the Firesign Theatre's 1975 album In The Next World, You're
   On  Your  Own a character won the right to scream "Eat flaming death,
   fascist media pigs" in the middle of Oscar night on a game show; this
   may have been an influence). Used in humorously overblown expressions
   of hostility. "Eat flaming death, {EBCDIC} users!"

   [eat-flaming-death.png]

   IPM tells us to {eat flaming death}.

:EBCDIC: /eb´s@·dik/, /eb´see`dik/, /eb´k@·dik/, n.

   [abbreviation,  Extended  Binary  Coded  Decimal Interchange Code] An
   alleged  character set used on IBM {dinosaur}s. It exists in at least
   six  mutually  incompatible  versions, all featuring such delights as
   non-contiguous  letter  sequences  and  the  absence of several ASCII
   punctuation characters fairly important for modern computer languages
   (exactly  which  characters  are  absent  varies  according  to which
   version  of  EBCDIC  you're  looking  at).  IBM  adapted  EBCDIC from
   {punched  card}  code  in  the  early  1960s  and promulgated it as a
   customer-control  tactic  (see  {connector conspiracy}), spurning the
   already  established  ASCII  standard.  Today,  IBM  claims  to be an
   open-systems  company,  but  IBM's  own  description  of  the  EBCDIC
   variants  and  how  to  convert  between  them  is  still  internally
   classified  top-secret,  burn-before-reading.  Hackers  blanch at the
   very name of EBCDIC and consider it a manifestation of purest {evil}.
   See also {fear and loathing}.

:ECP: /E·C·P/, n.

   See {spam} and {velveeta}.

:ed: n.

   "ed is the standard text editor." Line taken from the original {Unix}
   manual  page  on  ed,  an ancient line-oriented editor that is by now
   used  only  by a few {Real Programmer}s, and even then only for batch
   operations. The original line is sometimes uttered near the beginning
   of  an  emacs  vs.  vi  holy war on {Usenet}, with the (vain) hope to
   quench the discussion before it really takes off. Often followed by a
   standard  text  describing  the many virtues of ed (such as the small
   memory  {footprint}  on a Timex Sinclair, and the consistent (because
   nearly non-existent) user interface).

:egg: n.

   The  binary  code  that is the payload for buffer overflow and format
   string attacks. Typically, an egg written in assembly and designed to
   enable  remote  access  or  escalate privileges from an ordinary user
   account  to  administrator  level  when  it  hatches.  Also  known as
   shellcode.

   The  name  comes  from  a particular buffer-overflow exploit that was
   co-written  by  a cracker named eggplant. The variable name `egg' was
   used  to  store the payload. The usage spread from people who saw and
   analyzed the code.

:egosurf: vi.

   To  search  the net for your name or links to your web pages. Perhaps
   connected  to  long-established  SF-fan  slang egoscan, to search for
   one's name in a fanzine.

:eighty-column mind: n.

   [IBM]  The  sort  said  to  be  possessed  by  persons  for  whom the
   transition  from  {punched  card}  to  tape was traumatic (nobody has
   dared  tell  them  about  disks  yet).  It is said that these people,
   including  (according  to  an  old  joke) the founder of IBM, will be
   buried  `face down, 9-edge first' (the 9-edge being the bottom of the
   card).  This  directive  is  inscribed  on  IBM's  1402 and 1622 card
   readers and is referenced in a famous bit of doggerel called The Last
   Bug, the climactic lines of which are as follows:

      He died at the console
      Of hunger and thirst.
      Next day he was buried,
      Face down, 9-edge first.

   The  eighty-column mind was thought by most hackers to dominate IBM's
   customer  base  and  its  thinking.  This only began to change in the
   mid-1990s  when IBM began to reinvent itself after the triumph of the
   {killer  micro}.  See  {IBM},  {fear and loathing}, {code grinder}. A
   copy   of   The   Last   Bug   lives   on   the   the   GNU  site  at
   http://www.gnu.org/fun/jokes/last.bug.html.

:El Camino Bignum: /el´ k@·mee´noh big´nuhm/, n.

   The road mundanely called El Camino Real, running along San Francisco
   peninsula.  It  originally  extended all the way down to Mexico City;
   many portions of the old road are still intact. Navigation on the San
   Francisco peninsula is usually done relative to El Camino Real, which
   defines  {logical}  north  and  south  even  though  it  isn't really
   north-south  in  many places. El Camino Real runs right past Stanford
   University and so is familiar to hackers.

   The  Spanish  word `real' (which has two syllables: /ray·ahl´/) means
   `royal'; El Camino Real is `the royal road'. In the FORTRAN language,
   a  real  quantity  is a number typically precise to seven significant
   digits,  and  a  double precision quantity is a larger floating-point
   number,   precise  to  perhaps  fourteen  significant  digits  (other
   languages have similar real types).

   When  a  hacker from MIT visited Stanford in 1976, he remarked what a
   long  road  El  Camino  Real  was. Making a pun on `real', he started
   calling  it  `El  Camino Double Precision' -- but when the hacker was
   told  that  the  road  was  hundreds of miles long, he renamed it `El
   Camino Bignum', and that name has stuck. (See {bignum}.)

   [GLS  has since let slip that the unnamed hacker in this story was in
   fact himself --ESR]

   In  the  early 1990s, the synonym El Camino Virtual was been reported
   as an alternate at IBM and Amdahl sites in the Valley.

   Mathematically literate hackers in the Valley have also been heard to
   refer  to  some major cross-street intersecting El Camino Real as "El
   Camino  Imaginary".  One  popular  theory is that the intersection is
   located  near  Moffett  Field  --  where  they keep all those complex
   planes.

:elder days: n.

   The  heroic  age  of  hackerdom  (roughly,  pre-1980); the era of the
   {PDP-10},  {TECO},  {ITS}, and the ARPANET. This term has been rather
   consciously  adopted from J. R. R. Tolkien's fantasy epic The Lord of
   the Rings. Compare {Iron Age}; see also {elvish} and {Great Worm}.

:elegant: adj.

   [common;  from mathematical usage] Combining simplicity, power, and a
   certain  ineffable  grace  of  design.  Higher  praise than `clever',
   `winning', or even {cuspy}.

   The  French aviator, adventurer, and author Antoine de Saint-Exupéry,
   probably  best  known  for  his  classic  children's  book The Little
   Prince,  was  also  an aircraft designer. He gave us perhaps the best
   definition  of engineering elegance when he said "A designer knows he
   has  achieved  perfection  not when there is nothing left to add, but
   when there is nothing left to take away."

:elephantine: adj.

   Used  of  programs or systems that are both conspicuous {hog}s (owing
   perhaps  to  poor  design founded on {brute force and ignorance}) and
   exceedingly  {hairy}  in  source  form. An elephantine program may be
   functional  and even friendly, but (as in the old joke about being in
   bed  with  an  elephant) it's tough to have around all the same (and,
   like  a  pachyderm, difficult to maintain). In extreme cases, hackers
   have  been  known  to  make  trumpeting  sounds or perform expressive
   proboscatory  mime  at  the  mention of the offending program. Usage:
   semi-humorous.  Compare  `has  the  elephant nature' and the somewhat
   more  pejorative  {monstrosity}.  See also {second-system effect} and
   {baroque}.

:elevator controller: n.

   An  archetypal  dumb  embedded-systems  application,  like  {toaster}
   (which   superseded   it).   During  one  period  (1983--84)  in  the
   deliberations  of  ANSI  X3J11 (the C standardization committee) this
   was   the  canonical  example  of  a  really  stupid,  memory-limited
   computation  environment.  "You can't require printf(3) to be part of
   the  default  runtime library -- what if you're targeting an elevator
   controller?" Elevator controllers became important rhetorical weapons
   on both sides of several {holy wars}.

:elite: adj.

   Clueful.  Plugged-in.  One of the cognoscenti. Also used as a general
   positive adjective. This term is not actually native hacker slang; it
   is  used  primarily  by  crackers and {warez d00dz}, for which reason
   hackers  use  it only with heavy irony. The term used to refer to the
   folks allowed in to the "hidden" or "privileged" sections of BBSes in
   the  early  1980s  (which,  typically,  contained  pirated software).
   Frequently,  early  boards  would  only  let you post, or even see, a
   certain  subset of the sections (or `boards') on a BBS. Those who got
   to  the frequently legendary `triple super secret' boards were elite.
   Misspellings of this term in warez d00dz style abound; the forms l337
   eleet, and 31337 (among others) have been sighted.

   A true hacker would be more likely to use `wizardly'. Oppose {lamer}.

:ELIZA effect: /@·li:´z@ @·fekt´/, n.

   [AI community] The tendency of humans to attach associations to terms
   from  prior experience. For example, there is nothing magic about the
   symbol  +  that  makes it well-suited to indicate addition; it's just
   that  people  associate  it  with addition. Using + or `plus' to mean
   addition  in  a  computer  language  is taking advantage of the ELIZA
   effect.

   This  term  comes from the famous ELIZA program by Joseph Weizenbaum,
   which  simulated a Rogerian psychotherapist by rephrasing many of the
   patient's  statements as questions and posing them to the patient. It
   worked  by  simple  pattern recognition and substitution of key words
   into  canned  phrases.  It was so convincing, however, that there are
   many  anecdotes  about  people becoming very emotionally caught up in
   dealing  with  ELIZA. All this was due to people's tendency to attach
   to  words  meanings  which  the  computer  never put there. The ELIZA
   effect  is a {Good Thing} when writing a programming language, but it
   can  blind  you  to serious shortcomings when analyzing an Artificial
   Intelligence  system.  Compare  {ad-hockery}; see also {AI-complete}.
   Sources   for  a  clone  of  the  original  Eliza  are  available  at
   ftp://ftp.cc.utexas.edu/pub/AI_ATTIC/Programs/Classic/Eliza/Eliza.c.

:elvish: n.

   1.  The  Tengwar  of  Feanor,  a  table of letterforms resembling the
   beautiful  Celtic half-uncial hand of the Book of Kells. Invented and
   described  by  J.  R.  R.  Tolkien  in  The  Lord  of The Rings as an
   orthography  for his fictional `elvish' languages, this system (which
   is  both  visually  and  phonetically  {elegant}) has long fascinated
   hackers  (who  tend  to  be  intrigued  by  artificial  languages  in
   general).  It  is traditional for graphics printers, plotters, window
   systems, and the like to support a Feanorian typeface as one of their
   demo items. See also {elder days}.

   2.  By  extension,  any  odd  or  unreadable  typeface  produced by a
   graphics device.

   3.  The  typeface  mundanely  called `Böcklin', an art-Noveau display
   font.

:EMACS: /ee´maks/, n.

   [from  Editing  MACroS]  The  ne  plus  ultra  of  hacker  editors, a
   programmable text editor with an entire LISP system inside it. It was
   originally  written  by Richard Stallman in {TECO} under {ITS} at the
   MIT   AI   lab;   AI   Memo   554   described  it  as  "an  advanced,
   self-documenting, customizable, extensible real-time display editor".
   It  has  since  been  reimplemented  any  number of times, by various
   hackers,  and  versions  exist  that  run  under most major operating
   systems.  Perhaps  the  most  widely  used  version,  also written by
   Stallman  and now called "{GNU} EMACS" or {GNUMACS}, runs principally
   under  Unix.  (Its  close  relative XEmacs is the second most popular
   version.)  It includes facilities to run compilation subprocesses and
   send  and receive mail or news; many hackers spend up to 80% of their
   {tube  time}  inside it. Other variants include {GOSMACS}, CCA EMACS,
   UniPress  EMACS,  Montgomery  EMACS,  jove,  epsilon, and MicroEMACS.
   (Though  we  use  the original all-caps spelling here, it is nowadays
   very  commonly  `Emacs'.)  Some  EMACS  versions running under window
   managers  iconify  as an overflowing kitchen sink, perhaps to suggest
   the  one  feature  the  editor  does  not (yet) include. Indeed, some
   hackers  find  EMACS too {heavyweight} and {baroque} for their taste,
   and  expand  the name as `Escape Meta Alt Control Shift' to spoof its
   heavy reliance on keystrokes decorated with {bucky bits}. Other spoof
   expansions  include  `Eight  Megabytes And Constantly Swapping' (from
   when  that  was  a lot of {core}), `Eventually malloc()s All Computer
   Storage',   and   `EMACS  Makes  A  Computer  Slow'  (see  {recursive
   acronym}). See also {vi}.

:email: /ee´mayl/

   (also written `e-mail' and `E-mail')

   1.  n. Electronic mail automatically passed through computer networks
   and/or  via  modems over common-carrier lines. Contrast {snail-mail},
   {paper-net}, {voice-net}. See {network address}.

   2. vt. To send electronic mail.

   Oddly  enough,  the  word  emailed  is actually listed in the OED; it
   means "embossed (with a raised pattern) or perh. arranged in a net or
   open  work".  A  use from 1480 is given. The word is probably derived
   from  French émaillé (enameled) and related to Old French emmailleüre
   (network).  A  French  correspondent  tells us that in modern French,
   `email'  is  a  hard  enamel  obtained by heating special paints in a
   furnace;  an  `emailleur' (no final e) is a craftsman who makes email
   (he generally paints some objects (like, say, jewelry) and cooks them
   in a furnace).

   There  are  numerous  spelling  variants  of  this  word. In Internet
   traffic   up   to   1995,   `email'  predominates,  `e-mail'  runs  a
   not-too-distant  second, and `E-mail' and `Email' are a distant third
   and fourth.

:emoticon: /ee·moh´ti·kon/, n.

   [common]  An ASCII glyph used to indicate an emotional state in email
   or  news. Although originally intended mostly as jokes, emoticons (or
   some  other  explicit  humor indication) are virtually required under
   certain  circumstances  in high-volume text-only communication forums
   such  as  Usenet;  the  lack  of verbal and visual cues can otherwise
   cause  what  were  intended  to  be  humorous,  sarcastic, ironic, or
   otherwise  non-100%-serious  comments to be badly misinterpreted (not
   always even by {newbie}s), resulting in arguments and {flame war}s.

   Hundreds  of  emoticons  have  been  proposed,  but only a few are in
   common use. These include:

:-) `smiley face' (for humor, laughter, friendliness, occasionally
   sarcasm)
:-( `frowney face' (for sadness, anger, or upset)
   ;-)  `half-smiley' ( {ha ha only serious}); also known as semi-smiley
   or winkey face.
:-/ `wry face'

   (These may become more comprehensible if you tilt your head sideways,
   to  the  left.)  The  first two listed are by far the most frequently
   encountered.  Hyphenless  forms  of  them  are  common on CompuServe,
   GEnie,  and  BIX; see also {bixie}. On {Usenet}, smiley is often used
   as a generic term synonymous with {emoticon}, as well as specifically
   for the happy-face emoticon.

   The  invention  of  the  original  smiley  and  frowney  emoticons is
   generally  credited  to Scott Fahlman at CMU in 1982. He later wrote:
   "I  wish I had saved the original post, or at least recorded the date
   for  posterity,  but I had no idea that I was starting something that
   would  soon  pollute  all  the  world's  communication  channels." In
   September 2002 the original post was recovered.

   There  is  a  rival  claim  by  one Kevin McKenzie, who seems to have
   proposed  the  smiley on the MsgGroup mailing list, April 12 1979. It
   seems  likely  these  two  inventions  were independent. Users of the
   PLATO   educational  system  report  using  emoticons  composed  from
   overlaid dot-matrix graphics in the 1970s.

   Note  for the {newbie}: Overuse of the smiley is a mark of loserhood!
   More  than  one  per paragraph is a fairly sure sign that you've gone
   over the line.

:EMP: /E·M·P/

   See {spam}.

:empire: n.

   Any  of  a family of military simulations derived from a game written
   by  Peter  Langston many years ago. A number of multi-player variants
   of  varying  degrees  of  sophistication exist, and one single-player
   version  implemented  for  both  Unix  and  VMS;  the  latter is even
   available  as MS-DOS/Windows freeware. All are notoriously addictive.
   Of  various commercial derivatives the best known is probably "Empire
   Deluxe" on PCs and Amigas.

   Modern  empire  is a real-time wargame played over the internet by up
   to  120 players. Typical games last from 24 hours (blitz) to a couple
   of  months (long term). The amount of sleep you can get while playing
   is  a  function  of the rate at which updates occur and the number of
   co-rulers  of  your  country. Empire server software is available for
   Unix-like  machines,  and  clients  for  Unix  and other platforms. A
   comprehensive    history    of    the    game    is    available   at
   http://www.empire.cx/infopages/History.html. The Empire resource site
   is at http://www.empire.cx/.

:engine: n.

   1.  A  piece of hardware that encapsulates some function but can't be
   used  without  some  kind  of {front end}. Today we have, especially,
   print engine: the guts of a laser printer.

   2. An analogous piece of software; notionally, one that does a lot of
   noisy crunching, such as a database engine.

   The  hacker  senses  of  engine  are  actually close to its original,
   pre-Industrial-Revolution   sense  of  a  skill,  clever  device,  or
   instrument  (the  word is cognate to `ingenuity'). This sense had not
   been    completely    eclipsed   by   the   modern   connotation   of
   power-transducing machinery in Charles Babbage's time, which explains
   why he named the stored-program computer that he designed in 1844 the
   Analytical Engine.

:English:

   1.  n.  obs.  The  source  code  for  a  program, which may be in any
   language,  as  opposed  to the linkable or executable binary produced
   from  it  by  a  compiler. The idea behind the term is that to a real
   hacker,  a program written in his favorite programming language is at
   least  as  readable  as  English.  Usage: mostly by old-time hackers,
   though  recognizable  in  context.  Today  the preferred shorthand is
   simply {source}.

   2.  The  official  name of the database language used by the old Pick
   Operating  System,  actually a sort of crufty, brain-damaged SQL with
   delusions  of grandeur. The name permitted {marketroid}s to say "Yes,
   and  you  can  program our computers in English!" to ignorant {suit}s
   without quite running afoul of the truth-in-advertising laws.

:enhancement: n.

   Common  {marketroid}-speak for a bug {fix}. This abuse of language is
   a  popular  and  time-tested  way to turn incompetence into increased
   revenue. A hacker being ironic would instead call the fix a {feature}
   --  or  perhaps  save some effort by declaring the bug itself to be a
   feature.

:ENQ: /enkw/, /enk/

   [from  the  ASCII mnemonic ENQuire for 0000101] An on-line convention
   for  querying  someone's  availability.  After  opening a {talk mode}
   connection  to  someone apparently in heavy hack mode, one might type
   SYN  SYN ENQ? (the SYNs representing notional synchronization bytes),
   and expect a return of {ACK} or {NAK} depending on whether or not the
   person felt interruptible. Compare {ping}, {finger}, and the usage of
   FOO? listed under {talk mode}.

:EOF: /E·O·F/, n.

   [abbreviation, `End Of File']

   1.  [techspeak]  The  {out-of-band}  value returned by C's sequential
   character-input   functions   (and   their   equivalents   in   other
   environments)  when  end  of  file  has  been  reached. This value is
   usually  -1  under C libraries postdating V6 Unix, but was originally
   0.  DOS  hackers  think EOF is ^Z, and a few Amiga hackers think it's
   ^\.

   2.  [Unix]  The  keyboard character (usually control-D, the ASCII EOT
   (End  Of  Transmission)  character)  that  is  mapped by the terminal
   driver into an end-of-file condition.

   3.  Used  by extension in non-computer contexts when a human is doing
   something  that  can  be  modeled  as  a sequential read and can't go
   further.  "Yeah,  I  looked  for a list of 360 mnemonics to post as a
   joke,  but  I  hit  EOF  pretty fast; all the library had was a {JCL}
   manual." See also {EOL}.

:EOL: /E·O·L/, n.

   [End  Of  Line] Syn. for {newline}, derived perhaps from the original
   CDC6600 Pascal. Now rare, but widely recognized and occasionally used
   for brevity. Used in the example entry under {BNF}. See also {EOF}.

:EOU: /E·O·U/, n.

   The mnemonic of a mythical ASCII control character (End Of User) that
   would  make  an ASR-33 Teletype explode on receipt. This construction
   parodies  the  numerous obscure delimiter and control characters left
   in  ASCII from the days when it was associated more with wire-service
   teletypes  than  computers  (e.g.,  FS, GS, RS, US, EM, SUB, ETX, and
   esp.  EOT).  It  is  worth  remembering  that ASR-33s were big, noisy
   mechanical beasts with a lot of clattering parts; the notion that one
   might  explode  was  nowhere  near  as ridiculous as it might seem to
   someone sitting in front of a {tube} or flatscreen today.

:epoch: n.

   [Unix:  prob.:  from  astronomical  timekeeping]  The  time  and date
   corresponding  to  0  in  an  operating  system's clock and timestamp
   values.  Under  most Unix versions the epoch is 00:00:00 GMT, January
   1,  1970; under VMS, it's 00:00:00 of November 17, 1858 (base date of
   the  U.S.  Naval Observatory's ephemerides); on a Macintosh, it's the
   midnight beginning January 1 1904. System time is measured in seconds
   or  {tick}s  past  the epoch. Weird problems may ensue when the clock
   wraps  around  (see  {wrap  around}), which is not necessarily a rare
   event; on systems counting 10 ticks per second, a signed 32-bit count
   of  ticks  is good only for 6.8 years. The 1-tick-per-second clock of
   Unix  is  good  only  until  January 18, 2038, assuming at least some
   software  continues to consider it signed and that word lengths don't
   increase  by  then.  See  also {wall time}. Microsoft Windows, on the
   other  hand,  has  an  epoch  problem  every 49.7 days -- but this is
   seldom   noticed  as  Windows  is  almost  incapable  of  staying  up
   continuously for that long.

:epsilon:

   [see {delta}]

   1. n. A small quantity of anything. "The cost is epsilon."

   2.  adj.  Very  small,  negligible; less than {marginal}. "We can get
   this feature for epsilon cost."

   3.  within  epsilon  of: close enough to be indistinguishable for all
   practical  purposes,  even closer than being within delta of. "That's
   not  what  I  asked  for,  but it's within epsilon of what I wanted."
   Alternatively,  it  may  mean  not  close  enough, but very little is
   required to get it there: "My program is within epsilon of working."

:epsilon squared: n.

   A  quantity  even  smaller  than {epsilon}, as small in comparison to
   epsilon  as epsilon is to something normal; completely negligible. If
   you  buy  a  supercomputer  for  a  million  dollars, the cost of the
   thousand-dollar  terminal to go with it is {epsilon}, and the cost of
   the  ten-dollar  cable  to  connect  them is epsilon squared. Compare
   {lost in the underflow}, {lost in the noise}.

:era: n.

   Syn.   {epoch}.   Webster's   Unabridged  makes  these  words  almost
   synonymous,  but era more often connotes a span of time rather than a
   point  in  time, whereas the reverse is true for {epoch}. The {epoch}
   usage is recommended.

:Eric Conspiracy: n.

   A shadowy group of mustachioed hackers named Eric first pinpointed as
   a  sinister  conspiracy by an infamous talk.bizarre posting ca. 1987;
   this  was  doubtless  influenced  by the numerous `Eric' jokes in the
   Monty  Python  oeuvre.  There  do indeed seem to be considerably more
   mustachioed  Erics  in  hackerdom  than  the frequency of these three
   traits can account for unless they are correlated in some arcane way.
   Well-known  examples  include  Eric  Allman (he of the `Allman style'
   described  under  {indent  style}) and Erik Fair (co-author of NNTP);
   your  editor  has heard from more than a hundred others by email, and
   the  organization  line  `Eric  Conspiracy  Secret  Laboratories' now
   emanates  regularly  from more than one site. See the Eric Conspiracy
   Web Page at http://www.catb.org/~esr/ecsl/ for full details.

:Eris: /e´ris/, n.

   The  Greek  goddess of Chaos, Discord, Confusion, and Things You Know
   Not  Of; her name was latinized to Discordia and she was worshiped by
   that  name  in  Rome.  Not  a  very  friendly  deity in the Classical
   original,  she  was  reinvented  as  a more benign personification of
   creative anarchy starting in 1959 by the adherents of {Discordianism}
   and  has  since  been a semi-serious subject of veneration in several
   `fringe'  cultures, including hackerdom. See {Discordianism}, {Church
   of the SubGenius}.

:erotics: /ee·ro´tiks/, n.

   [Helsinki  University  of  Technology,  Finland]  n. English-language
   university  slang for electronics. Often used by hackers in Helsinki,
   maybe because good electronics excites them and makes them warm.

:error 33: n.

   1.  [XEROX  PARC] Predicating one research effort upon the success of
   another.

   2.  Allowing  your  own  research effort to be placed on the critical
   path of some other project (be it a research effort or not).

:eurodemo: /yoor´o·dem`·o/

   a {demo}, sense 4

:evil: adj.

   As  used  by  hackers,  implies that some system, program, person, or
   institution is sufficiently maldesigned as to be not worth the bother
   of     dealing     with.     Unlike    the    adjectives    in    the
   {cretinous}/{losing}/{brain-damaged}  series,  evil  does  not  imply
   incompetence  or  bad  design,  but  rather  a set of goals or design
   criteria  fatally incompatible with the speaker's. This usage is more
   an  esthetic  and  engineering  judgment  than  a  moral  one  in the
   mainstream  sense.  "We  thought about adding a {Blue Glue} interface
   but  decided  it  was too evil to deal with." "{TECO} is neat, but it
   can  be  pretty evil if you're prone to typos." Often pronounced with
   the  first  syllable  lengthened,  as  /eeee'vil/.  Compare {evil and
   rude}.

:evil and rude: adj.

   Both  {evil} and {rude}, but with the additional connotation that the
   rudeness  was  due  to  malice  rather  than  incompetence. Thus, for
   example:  Microsoft's  Windows  NT  is  evil because it's a competent
   implementation  of  a bad design; it's rude because it's gratuitously
   incompatible  with Unix in places where compatibility would have been
   as  easy  and  effective  to  do;  but it's evil and rude because the
   incompatibilities are apparently there not to fix design bugs in Unix
   but  rather  to  lock  hapless  customers  and  developers  into  the
   Microsoft way. Hackish evil and rude is close to the mainstream sense
   of `evil'.

:Evil Empire: n.

   [from Ronald Reagan's famous characterization of the communist Soviet
   Union]  Formerly  {IBM},  now  {Microsoft}. Functionally, the company
   most  hackers  love  to  hate  at any given time. Hackers like to see
   themselves as romantic rebels against the Evil Empire, and frequently
   adopt  this  role  to  the  point  of ascribing rather more power and
   malice to the Empire than it actually has. See also {Borg} and search
   for `Evil Empire' pages on the Web.

:exa-: /ek´s@/, pref.

   [SI] See {quantifiers}.

:examining the entrails: n.

   The  process of {grovel}ling through a {core dump} or hex image in an
   attempt  to  discover  the bug that brought a program or system down.
   The  reference  is  to  divination  from the entrails of a sacrificed
   animal. Compare {runes}, {incantation}, {black art}.

:EXCH: /eks´ch@/, /eksch/, vt.

   To  exchange  two  things, each for the other; to swap places. If you
   point to two people sitting down and say "Exch!", you are asking them
   to trade places. EXCH, meaning EXCHange, was originally the name of a
   PDP-10  instruction  that  exchanged the contents of a register and a
   memory  location. Many newer hackers are probably thinking instead of
   the  {PostScript}  exchange  operator  (which  is  usually written in
   lowercase).

:excl: /eks´kl/, n.

   Abbreviation for `exclamation point'. See {bang}, {shriek}, {ASCII}.

:EXE: /eks´ee/, /eek´see/, /E·X·E/, n.

   An  executable  binary  file. Some operating systems (notably MS-DOS,
   VMS,  and  TWENEX)  use  the  extension .EXE to mark such files. This
   usage  is  also occasionally found among Unix programmers even though
   Unix executables don't have any required suffix.

:exec: /eg·zek´/, /eks´ek/, n.

   1. [Unix: from execute] Synonym for {chain}, derives from the exec(2)
   call.

   2.  [from  executive]  obs.  The command interpreter for an {OS} (see
   {shell});  term  esp. used around mainframes, and prob.: derived from
   UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.

   3.  At  IBM  and VM/CMS shops, the equivalent of a shell command file
   (among VM/CMS users).

   The mainstream `exec' as an abbreviation for (human) executive is not
   used. To a hacker, an `exec' is always a program, never a person.

:exercise, left as an: adj.

   [from technical books] Used to complete a proof when one doesn't mind
   a  {handwave}, or to avoid one entirely. The complete phrase is: "The
   proof  [or  `the  rest'] is left as an exercise for the reader." This
   comment  has occasionally been attached to unsolved research problems
   by authors possessed of either an evil sense of humor or a vast faith
   in the capabilities of their audiences.

:Exon: /eks´on/, excl.

   A generic obscenity that quickly entered wide use on the Internet and
   Usenet  after the passage of the Communications Decency Act. From the
   last  name  of Senator James Exon (Democrat-Nebraska), primary author
   of  the {CDA}. This usage outlasted the CDA itself, which was quashed
   a little over a year later by one of the most acerbic pro-free-speech
   opinions  ever  uttered by the Supreme Court. The campaign against it
   was led by an alliance of hackers and civil libertarians, and was the
   first  effective political mobilization of the hacker culture. Use of
   Exon's name as an expletive outlived the CDA controversy itself.

:Exploder: n.

   Used   within  Microsoft  to  refer  to  the  Windows  Explorer,  the
   web-interface  component  of Windows 95 and WinNT 4. Our spies report
   that most of the heavy guns at MS came from a Unix background and use
   command   line   utilities;   even   they   are   scornful   of   the
   over-gingerbreaded  {WIMP  environment}s  that  they have been called
   upon to create.

:exploit: n.

   [originally cracker slang]

   1. A vulnerability in software that can be used for breaking security
   or  otherwise  attacking an Internet host over the network. The {Ping
   O' Death} is a famous exploit.

   2. More grammatically, a program that exploits an exploit in sense 1.

:external memory: n.

   A  memo  pad,  palmtop  computer,  or written notes. "Hold on while I
   write  that  to  external  memory". The analogy is with store or DRAM
   versus nonvolatile disk storage on computers.

:eye candy: /i:´ kand`ee/, n.

   [from  mainstream  slang  "ear  candy"] A display of some sort that's
   presented  to  {luser}s  to  keep  them  distracted while the program
   performs  necessary  background tasks. "Give 'em some eye candy while
   the  back-end {slurp}s that {BLOB} into core." Reported as mainstream
   usage among players of graphics-heavy computer games. We're also told
   this  term  is  mainstream slang for soft pornography, but that sense
   does not appear to be live among hackers.

:eyeball search: n.,v.

   To look for something in a mass of code or data with one's own native
   optical  sensors,  as  opposed to using some sort of pattern matching
   software  like {grep} or any other automated search tool. Also called
   a {vgrep}; compare {vdiff}.

F

:face time: n.

   [common]  Time  spent  interacting  with  somebody  face-to-face  (as
   opposed  to  via electronic links). "Oh, yeah, I spent some face time
   with him at the last Usenix."

:factor: n.

   See {coefficient of X}.

:fairings: n., /fer´ingz/

   [FreeBSD;  orig. a typo for fairness] A term thrown out in discussion
   whenever a completely and transparently nonsensical argument in one's
   favor(?)  seems  called  for, e,g. at the end of a really long thread
   for which the outcome is no longer even cared about since everyone is
   now  so  sick  of  it; or in rebuttal to another nonsensical argument
   ("Change the loader to look for /kernel.pl? What about fairings?")

:fall over: vi.

   [IBM]  Yet  another  synonym  for {crash} or {lose}. `Fall over hard'
   equates to {crash and burn}.

:fall through: v.

   (n. fallthrough, var.: fall-through)

   1.  To  exit a loop by exhaustion, i.e., by having fulfilled its exit
   condition  rather  than via a break or exception condition that exits
   from  the  middle  of it. This usage appears to be really old, dating
   from the 1940s and 1950s.

   2.  To  fail a test that would have passed control to a subroutine or
   some other distant portion of code.

   3. In C, `fall-through' occurs when the flow of execution in a switch
   statement  reaches  a case label other than by jumping there from the
   switch  header,  passing  a  point where one would normally expect to
   find a break. A trivial example:

   switch (color)
   {
   case GREEN:
      do_green();
      break;
   case PINK:
      do_pink();
      /* FALL THROUGH */
   case RED:
      do_red();
      break;
   default:
      do_blue();
      break;
   }

   The variant spelling /* FALL THRU */ is also common.

   The  effect  of  the above code is to do_green() when color is GREEN,
   do_red()  when  color is RED, do_blue() on any other color other than
   PINK,  and  (and  this  is  the  important  part)  do_pink() and then
   do_red()  when color is PINK. Fall-through is {considered harmful} by
   some,  though  there  are  contexts  (such  as  the  coding  of state
   machines)  in  which  it  is natural; it is generally considered good
   practice to include a comment highlighting the fall-through where one
   would normally expect a break. See also {Duff's device}.

:fan: n.

   Without qualification, indicates a fan of science fiction, especially
   one  who  goes  to {con}s and tends to hang out with other fans. Many
   hackers  are fans, so this term has been imported from fannish slang;
   however,   unlike  much  fannish  slang  it  is  recognized  by  most
   non-fannish  hackers.  Among SF fans the plural is correctly fen, but
   this  usage  is  not  automatic  to  hackers.  "Laura reads the stuff
   occasionally but isn't really a fan."

:fandango on core: n.

   [Unix/C  hackers,  from  the Iberian dance] In C, a wild pointer that
   runs  out of bounds, causing a {core dump}, or corrupts the malloc(3)
   {arena}  in  such  a way as to cause mysterious failures later on, is
   sometimes said to have `done a fandango on core'. On low-end personal
   machines  without an MMU (or Windows boxes, which have an MMU but use
   it  incompetently),  this  can corrupt the OS itself, causing massive
   lossage.  Other  frenetic  dances, such as the cha-cha or the watusi,
   may  be substituted. See {aliasing bug}, {precedence lossage}, {smash
   the stack}, {memory leak}, {memory smash}, {overrun screw}, {core}.

:FAQ: /F·A·Q/, /fak/, n.

   [Usenet]

   1. A Frequently Asked Question.

   2.   A   compendium  of  accumulated  lore,  posted  periodically  to
   high-volume  newsgroups  in  an  attempt to forestall such questions.
   Some  people  prefer the term `FAQ list' or `FAQL' /fa´kl/, reserving
   `FAQ' for sense 1.

   This  lexicon  itself serves as a good example of a collection of one
   kind  of  lore, although it is far too big for a regular FAQ posting.
   Examples:  "What  is the proper type of NULL?" and "What's that funny
   name  for  the  #  character?"  are  both Frequently Asked Questions.
   Several FAQs refer readers to the Jargon File.

:FAQ list: /F·A·Q list/, /fak list/, n.

   [common; Usenet] Syn {FAQ}, sense 2.

:FAQL: /fa´kl/, n.

   Syn. {FAQ list}.

:faradize: /far'@·di:z/, v.

   [US Geological Survey] To start any hyper-addictive process or trend,
   or to continue adding current to such a trend. Telling one user about
   a  new  octo-tetris game you compiled would be a faradizing act -- in
   two  weeks  you might find your entire department playing the faradic
   game.

:farkled: /far´kld/, adj.

   [DeVry  Institute  of  Technology,  Atlanta] Syn. {hosed}. Poss. owes
   something  to Yiddish farblondjet and/or the `Farkle Family' skits on
   Rowan and Martin's Laugh-In, a popular comedy show of the late 1960s.

:farm: n.

   A  group  of  machines,  especially  a  large group of near-identical
   machines running load-balancing software, dedicated to a single task.
   Historically the term server farm, used especially for a group of web
   servers,  seems  to  have  been  coined by analogy with earlier {disk
   farm} in the early 1990s; generalization began with render farm for a
   group  of  machines  dedicated to rendering computer animations (this
   term  appears  to  have  been  popularized  by  publicity  about  the
   pioneering "Linux render farm" used to produce the movie Titanic). By
   2001  other  combinations  such  as "compile farm" and "compute farm"
   were  increasingly  common,  and  arguably borderline techspeak. More
   jargon uses seem likely to arise (and be absorbed into techspeak over
   time)  as  new  uses  are  discovered for networked machine clusters.
   Compare {link farm}.

:fascist: adj.

   1.  [common]  Said  of  a  computer system with excessive or annoying
   security  barriers, usage limits, or access policies. The implication
   is that said policies are preventing hackers from getting interesting
   work done. The variant fascistic seems to have been preferred at MIT,
   poss. by analogy with touristic (see {tourist} or under the influence
   of German/Yiddish faschistisch).

   2.  In  the design of languages and other software tools, the fascist
   alternative is the most restrictive and structured way of capturing a
   particular function; the implication is that this may be desirable in
   order  to  simplify  the  implementation  or  provide  tighter  error
   checking.  Compare  {bondage-and-discipline  language}, although that
   term is global rather than local.

   [73-05-21.png]

   Fascist security strikes again.

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

:fat electrons: n.

   Old-time  hacker  David Cargill's theory on the causation of computer
   glitches. Your typical electric utility draws its line current out of
   the  big  generators with a pair of coil taps located near the top of
   the dynamo. When the normal tap brushes get dirty, they take them off
   line  to  clean them up, and use special auxiliary taps on the bottom
   of  the  coil. Now, this is a problem, because when they do that they
   get  not ordinary or `thin' electrons, but the fat'n'sloppy electrons
   that  are heavier and so settle to the bottom of the generator. These
   flow  down  ordinary  wires  just  fine, but when they have to turn a
   sharp  corner  (as  in an integrated-circuit via), they're apt to get
   stuck.   This   is   what  causes  computer  glitches.  [Fascinating.
   Obviously,  fat electrons must gain mass by {bogon} absorption --ESR]
   Compare {bogon}, {magic smoke}.

:fat pipe:

   A  high-bandwidth  connection  to  the Internet. When the term gained
   currency in the mid-1990s, a T-1 (at 1.5 Mbits/second) was considered
   a fat pipe, but the standard has risen. Now it suggests multiple T3s.

:fat-finger: vt.

   1. To introduce a typo while editing in such a way that the resulting
   manglification  of  a  configuration  file  does  something  useless,
   damaging, or wildly unexpected. "NSI fat-fingered their DNS zone file
   and took half the net down again."

   2. More generally, any typo that produces dramatically bad results.

:faulty: adj.

   Non-functional;  buggy.  Same  denotation as {bletcherous}, {losing},
   q.v., but the connotation is much milder.

:fear and loathing: n.

   [from Hunter S. Thompson] A state inspired by the prospect of dealing
   with  certain  real-world  systems  and  standards  that  are totally
   {brain-damaged}  but  ubiquitous  --  Intel  8086s,  or  {COBOL},  or
   {EBCDIC},  or any {IBM} machine bigger than a workstation. "Ack! They
   want  PCs  to  be  able  to talk to the AI machine. Fear and loathing
   time!"

:feature: n.

   1. [common] A good property or behavior (as of a program). Whether it
   was intended or not is immaterial.

   2.  [common]  An  intended  property  or  behavior (as of a program).
   Whether  it  is  good  or not is immaterial (but if bad, it is also a
   {misfeature}).

   3.  A  surprising  property  or  behavior; in particular, one that is
   purposely  inconsistent  because  it works better that way -- such an
   inconsistency  is therefore a {feature} and not a {bug}. This kind of
   feature is sometimes called a {miswart}; see that entry for a classic
   example.

   4.  A  property or behavior that is gratuitous or unnecessary, though
   perhaps  also  impressive or cute. For example, one feature of Common
   LISP's  format  function  is  the  ability  to  print  numbers in two
   different Roman-numeral formats (see {bells whistles and gongs}).

   5.  A  property  or behavior that was put in to help someone else but
   that happens to be in your way.

   6.  [common]  A  bug  that  has  been documented. To call something a
   feature  sometimes  means  the author of the program did not consider
   the particular case, and that the program responded in a way that was
   unexpected  but not strictly incorrect. A standard joke is that a bug
   can  be  turned  into  a  {feature}  simply  by  documenting it (then
   theoretically  no  one  can  complain  about  it  because it's in the
   manual),  or  even  by  simply declaring it to be good. "That's not a
   bug,  that's  a  feature!"  is a common catchphrase. See also {feetch
   feetch}, {creeping featurism}, {wart}, {green lightning}.

   The  relationship  among  bugs,  features,  misfeatures,  warts,  and
   miswarts  might  be  clarified by the following hypothetical exchange
   between two hackers on an airliner:

   A: "This seat doesn't recline."

   B:  "That's  not  a bug, that's a feature. There is an emergency exit
   door built around the window behind you, and the route has to be kept
   clear."

   A:  "Oh.  Then  it's  a  misfeature;  they  should have increased the
   spacing between rows here."

   B: "Yes. But if they'd increased spacing in only one section it would
   have  been  a  wart  --  they would've had to make nonstandard-length
   ceiling panels to fit over the displaced seats."

   A:  "A miswart, actually. If they increased spacing throughout they'd
   lose  several  rows  and a chunk out of the profit margin. So unequal
   spacing would actually be the Right Thing."

   B: "Indeed."

   Undocumented  feature is a common, allegedly humorous euphemism for a
   {bug}.  There's  a  related joke that is sometimes referred to as the
   "one-question  geek  test".  You  say  to someone "I saw a Volkswagen
   Beetle  today  with  a  vanity  license  plate that read FEATURE". If
   he/she laughs, he/she is a {geek}.

:feature creature: n.

   [poss. fr. slang `creature feature' for a horror movie]

   1.  One  who loves to add features to designs or programs, perhaps at
   the expense of coherence, concision, or {taste}.

   2.  Alternately,  a  mythical  being  that induces otherwise rational
   programmers to perpetrate such crocks. See also {feeping creaturism},
   {creeping featurism}.

:feature creep: n.

   [common]  The  result of {creeping featurism}, as in "Emacs has a bad
   case of feature creep".

:feature key: n.

   [common] The Macintosh key with the cloverleaf graphic on its keytop;
   sometimes  referred  to as flower, pretzel, clover, propeller, beanie
   (an  apparent  reference to the major feature of a propeller beanie),
   {splat}, open-apple or (officially, in Mac documentation) the command
   key.  In French, the term papillon (butterfly) has been reported. The
   proliferation  of  terms  for this creature may illustrate one subtle
   peril of iconic interfaces.

   Many  people  have  been mystified by the cloverleaf-like symbol that
   appears on the feature key. Its oldest name is `cross of St. Hannes',
   but  it  occurs  in  pre-Christian  Viking art as a decorative motif.
   Throughout  Scandinavia  today the road agencies use it to mark sites
   of  historical interest. Apple picked up the symbol from an early Mac
   developer  who  happened to be Swedish. Apple documentation gives the
   translation "interesting feature"!

   There is some dispute as to the proper (Swedish) name of this symbol.
   It  technically  stands  for the word sevärdhet (thing worth seeing);
   many  of  these  are old churches. Some Swedes report as an idiom for
   the  sign  the word kyrka, cognate to English `church' and pronounced
   (roughly)  /chur´ka/  in modern Swedish. Others say this is nonsense.
   Other  idioms  reported  for  the  sign  are  runa  (rune) or runsten
   /roon´stn/  (runestone),  derived  from  the  fact  that  many of the
   interesting  features  are  Viking  rune-stones.  The  term fornminne
   /foorn´min'@/   (relic   of  antiquity,  ancient  monument)  is  also
   reported,  especially  among those who think that the Mac itself is a
   relic of antiquity.

:feature shock: n.

   [from   Alvin  Toffler's  book  title  Future  Shock]  A  user's  (or
   programmer's!)  confusion when confronted with a package that has too
   many features and poor introductory material.

:featurectomy: /fee`ch@r·ek´t@·mee/, n.

   The  act of removing a feature from a program. Featurectomies come in
   two   flavors,   the   righteous   and   the   reluctant.   Righteous
   featurectomies are performed because the remover believes the program
   would  be  more  elegant  without the feature, or there is already an
   equivalent  and  better way to achieve the same end. (Doing so is not
   quite   the   same  thing  as  removing  a  {misfeature}.)  Reluctant
   featurectomies are performed to satisfy some external constraint such
   as code size or execution speed.

:feep: /feep/

   1.  n. The soft electronic `bell' sound of a display terminal (except
   for  a  VT-52);  a  beep  (in  fact, the microcomputer world seems to
   prefer {beep}).

   2.  vi.  To  cause  the  display  to  make a feep sound. ASR-33s (the
   original  TTYs)  do  not  feep; they have mechanical bells that ring.
   Alternate  forms:  {beep},  `bleep',  or just about anything suitably
   onomatopoeic.  (Jeff MacNelly, in his comic strip Shoe, uses the word
   `eep'  for sounds made by computer terminals and video games; this is
   perhaps  the  closest  written approximation yet.) The term `breedle'
   was  sometimes  heard  at  SAIL,  where the terminal bleepers are not
   particularly  soft  (they sound more like the musical equivalent of a
   raspberry  or  Bronx  cheer;  for  a close approximation, imagine the
   sound  of  a Star Trek communicator's beep lasting for five seconds).
   The `feeper' on a VT-52 has been compared to the sound of a '52 Chevy
   stripping its gears. See also {ding}.

:feeper: /fee´pr/, n.

   The  device  in  a  terminal or workstation (usually a loudspeaker of
   some kind) that makes the {feep} sound.

:feeping creature: n.

   [from {feeping creaturism}] An unnecessary feature; a bit of {chrome}
   that,  in  the  speaker's  judgment,  is the camel's nose for a whole
   horde of new features.

:feeping creaturism: /fee´ping kree`ch@r·izm/, n.

   A deliberate spoonerism for {creeping featurism}, meant to imply that
   the  system or program in question has become a misshapen creature of
   hacks.  This  term  isn't  really well defined, but it sounds so neat
   that most hackers have said or heard it. It is probably reinforced by
   an  image  of  terminals  prowling  about  in  the  dark making their
   customary noises.

:feetch feetch: /feech feech/, interj.

   If  someone  tells  you  about some new improvement to a program, you
   might   respond:  "Feetch,  feetch!"  The  meaning  of  this  depends
   critically  on  vocal inflection. With enthusiasm, it means something
   like  "Boy,  that's  great!  What  a  great hack!" Grudgingly or with
   obvious  doubt,  it means "I don't know; it sounds like just one more
   unnecessary  and  complicated  thing". With a tone of resignation, it
   means,  "Well,  I'd rather keep it simple, but I suppose it has to be
   done".

:fence:

   n.

   1. A sequence of one or more distinguished ({out-of-band}) characters
   (or other data items), used to delimit a piece of data intended to be
   treated  as  a  unit  (the  computer-science  literature calls this a
   sentinel).  The NUL (ASCII 0000000) character that terminates strings
   in  C  is  a  fence. Hex FF is also (though slightly less frequently)
   used this way. See {zigamorph}.

   2.  An  extra data value inserted in an array or other data structure
   in  order  to  allow some normal test on the array's contents also to
   function  as  a  termination  test.  For  example, a highly optimized
   routine  for  finding  a value in an array might artificially place a
   copy  of  the  value  to  be  searched for after the last slot of the
   array,  thus  allowing  the  main search loop to search for the value
   without having to check at each pass whether the end of the array had
   been reached.

   3.  [among  users  of  optimizing  compilers]  Any technique, usually
   exploiting   knowledge   about  the  compiler,  that  blocks  certain
   optimizations. Used when explicit mechanisms are not available or are
   overkill.  Typically a hack: "I call a dummy procedure there to force
   a  flush  of the optimizer's register-coloring info" can be expressed
   by the shorter "That's a fence procedure".

:fencepost error: n.

   1.  [common]  A  problem  with  the discrete equivalent of a boundary
   condition,  often  exhibited in programs by iterative loops. From the
   following  problem: "If you build a fence 100 feet long with posts 10
   feet  apart, how many posts do you need?" (Either 9 or 11 is a better
   answer  than  the  obvious  10.) For example, suppose you have a long
   list  or  array  of items, and want to process items m through n; how
   many items are there? The obvious answer is n - m, but that is off by
   one; the right answer is n - m + 1. A program that used the `obvious'
   formula  would  have  a  fencepost error in it. See also {zeroth} and
   {off-by-one  error},  and  note  that  not  all off-by-one errors are
   fencepost  errors. The game of Musical Chairs involves a catastrophic
   off-by-one  error where N people try to sit in N - 1 chairs, but it's
   not  a  fencepost  error.  Fencepost errors come from counting things
   rather  than the spaces between them, or vice versa, or by neglecting
   to consider whether one should count one or both ends of a row.

   2.  [rare]  An  error  induced  by  unexpected  regularities in input
   values,  which  can  (for instance) completely thwart a theoretically
   efficient  binary  tree or hash table implementation. (The error here
   involves  the difference between expected and worst case behaviors of
   an algorithm.)

:fiber-seeking backhoe:

   [common  among  backbone  ISP  personnel]  Any  of  a genus of large,
   disruptive  machines  which  routinely  cut  critical backbone links,
   creating Internet outages and {packet over air} problems.

:FidoNet: n.

   A  worldwide  hobbyist  network of personal computers which exchanges
   mail,  discussion  groups,  and files. Founded in 1984 and originally
   consisting only of IBM PCs and compatibles, FidoNet now includes such
   diverse  machines as Apple ][s, Ataris, Amigas, and Unix systems. For
   years  FidoNet  actually  grew  faster than Usenet, but the advent of
   cheap  Internet  access  probably  means  its  days  are numbered. In
   mid-2001  Fidonet  has approximately 15K nodes, down from 38K in 1996
   --  and  most  of those are probably single-user machines rather than
   the thriving BBSes of yore.

:field circus: n.

   [a  derogatory pun on `field service'] The field service organization
   of  any  hardware  manufacturer,  but  originally  {DEC}. There is an
   entire genre of jokes about field circus engineers:

   Q: How can you recognize a field circus engineer
      with a flat tire?
   A: He's changing one tire at a time to see which one is flat.
   Q: How can you recognize a field circus engineer
      who is out of gas?
   A: He's changing one tire at a time to see which one is flat.
   Q: How can you tell it's your field circus engineer?
   A: The spare is flat, too.

   [See {Easter egging} for additional insight on these jokes.]

   There  is also the `Field Circus Cheer' (from the old {plan file} for
   DEC on MIT-AI):

   Maynard! Maynard!
   Don't mess with us!
   We're mean and we're tough!
   If you get us confused
   We'll screw up your stuff.

   (DEC's  service  HQ,  still extant under the HP regime, is located in
   Maynard, Massachusetts.)

:field servoid: /fee´ld ser´voyd/, n.

   [play  on  `android']  Representative of a field service organization
   (see {field circus}). This has many of the implications of {droid}.

:file signature: n.

   A {magic number}, sense 3.

:filk: /filk/, n.,v.

   [from  SF  fandom, where a typo for `folk' was adopted as a new word]
   Originally,  a popular or folk song with lyrics revised or completely
   new  lyrics  and/or  music,  intended  for humorous effect when read,
   and/or  to  be  sung  late  at night at SF conventions. More recently
   (especially  since  the late 1980s), filk has come to include a great
   deal  of  originally-composed  music on SFnal or fantasy themes and a
   range  of  moods wider than simple parody or humor. Worthy of mention
   here because there is a flourishing subgenre of filks called computer
   filks,  written  by hackers and often containing rather sophisticated
   technical  humor. See {double bucky} for an example. Compare {grilf},
   {hing}, {pr0n}, and {newsfroup}.

:film at 11:

   [MIT: in parody of TV newscasters]

   1. Used in conversation to announce ordinary events, with a sarcastic
   implication  that  these events are earth-shattering. "{ITS} crashes;
   film at 11." "Bug found in scheduler; film at 11."

   2.   Also  widely  used  outside  MIT  to  indicate  that  additional
   information  will  be  available  at  some  future  time, without the
   implication  of  anything  particularly ordinary about the referenced
   event. For example, "The mail file server died this morning; we found
   garbage all over the root directory. Film at 11." would indicate that
   a  major  failure had occurred but that the people working on it have
   no  additional information about it as yet; use of the phrase in this
   way  suggests  gently  that  the  problem  is liable to be fixed more
   quickly  if  the  people  doing  the  fixing can spend time doing the
   fixing rather than responding to questions, the answers to which will
   appear on the normal "11:00 news", if people will just be patient.

   The  variant  "MPEGs  at  11"  has  recently  been  cited  (MPEG is a
   digital-video format.)

:filter: n.

   [very  common;  orig.  {Unix}] A program that processes an input data
   stream  into an output data stream in some well-defined way, and does
   no  I/O  to  anywhere  else  except possibly on error conditions; one
   designed  to  be  used  as  a  stage  in a pipeline (see {plumbing}).
   Compare {sponge}.

:Finagle's Law: n.

   The  generalized  or  `folk'  version  of {Murphy's Law}, fully named
   "Finagle's  Law  of Dynamic Negatives" and usually rendered "Anything
   that can go wrong, will". May have been first published by Francis P.
   Chisholm  in  his  1963 essay The Chisholm Effect, later reprinted in
   the  classic anthology A Stress Analysis Of A Strapless Evening Gown:
   And   Other   Essays   For   A   Scientific  Eye  (Robert  Baker  ed,
   Prentice-Hall, ISBN 0-13-852608-7).

   The label `Finagle's Law' was popularized by SF author Larry Niven in
   several stories depicting a frontier culture of asteroid miners; this
   `Belter'  culture  professed a religion and/or running joke involving
   the worship of the dread god Finagle and his mad prophet Murphy. Some
   technical  and  scientific  cultures  (e.g., paleontologists) know it
   under  the  name  Sod's  Law;  this usage may be more common in Great
   Britain.  One variant favored among hackers is "The perversity of the
   Universe  tends  towards  a  maximum"; Niven specifically referred to
   this  as  O'Toole's  Corollary  of  Finagle's Law. See also {Hanlon's
   Razor}.

:fine: adj.

   [WPI]  Good, but not good enough to be {cuspy}. The word fine is used
   elsewhere,  of  course,  but  without  the implicit comparison to the
   higher level implied by {cuspy}.

:finger:

   [WAITS, via BSD Unix]

   1.  n. A program that displays information about a particular user or
   all  users  logged on the system, or a remote system. Typically shows
   full  name,  last  login time, idle time, terminal line, and terminal
   location  (where  applicable). May also display a {plan file} left by
   the user (see also {Hacking X for Y}).

   2. vt. To apply finger to a username.

   3.  vt.  By extension, to check a human's current state by any means.
   "Foodp?" "T!" "OK, finger Lisa and see if she's idle."

   4. Any picture (composed of ASCII characters) depicting `the finger',
   see  {See  figure  1}.  Originally a humorous component of one's plan
   file  to  deter  the  curious  fingerer (sense 2), it has entered the
   arsenal of some {flamer}s.

:finger trouble: n.

   Mistyping,  typos,  or  generalized  keyboard  incompetence  (this is
   surprisingly  common  among  hackers,  given  the amount of time they
   spend  at keyboards). "I keep putting colons at the end of statements
   instead of semicolons", "Finger trouble again, eh?".

:finger-pointing syndrome: n.

   All-too-frequent   result  of  bugs,  esp.  in  new  or  experimental
   configurations.  The hardware vendor points a finger at the software.
   The  software  vendor  points  a finger at the hardware. All the poor
   users get is the finger.

:finn: v.

   [IRC]  To  pull  rank on somebody based on the amount of time one has
   spent  on  {IRC}.  The  term  derives  from  the  fact  that  IRC was
   originally  written  in  Finland in 1987. There may be some influence
   from the `Finn' character in William Gibson's seminal cyberpunk novel
   Count Zero, who at one point says to another (much younger) character
   "I have a pair of shoes older than you are, so shut up!"

:firebottle: n.obs.

   A large, primitive, power-hungry active electrical device, similar in
   function  to  a  FET but constructed out of glass, metal, and vacuum.
   Characterized   by   high   cost,   low   density,  low  reliability,
   high-temperature  operation,  and  high  power dissipation. Sometimes
   mistakenly  called  a tube in the U.S. or a valve in England; another
   hackish term is {glassfet}.

:firefighting: n.

   1.  What sysadmins have to do to correct sudden operational problems.
   An  opposite  of  hacking. "Been hacking your new newsreader?" "No, a
   power  glitch  hosed  the  network  and  I  spent the whole afternoon
   fighting fires."

   2. The act of throwing lots of manpower and late nights at a project,
   esp.  to get it out before deadline. See also {gang bang}, {Mongolian
   Hordes  technique};  however, the term firefighting connotes that the
   effort is going into chasing bugs rather than adding features.

:firehose syndrome: n.

   In  mainstream  folklore  it  is observed that trying to drink from a
   firehose  can  be  a  good  way  to  rip  your  lips off. On computer
   networks,  the absence or failure of flow control mechanisms can lead
   to  situations  in which the sending system sprays a massive flood of
   packets  at an unfortunate receiving system, more than it can handle.
   Compare {overrun}, {buffer overflow}.

:firewall code: n.

   1.  The  code  you  put in a system (say, a telephone switch) to make
   sure  that  the users can't do any damage. Since users always want to
   be  able  to do everything but never want to suffer for any mistakes,
   the  construction  of  a firewall is a question not only of defensive
   coding  but  also of interface presentation, so that users don't even
   get  curious  about  those  corners  of  a system where they can burn
   themselves.

   2.  Any  sanity  check inserted to catch a {can't happen} error. Wise
   programmers  often  change  code  to fix a bug twice: once to fix the
   bug,  and once to insert a firewall which would have arrested the bug
   before it did quite as much damage.

:firewall machine: n.

   A  dedicated gateway machine with special security precautions on it,
   used  to  service  outside network connections and dial-in lines. The
   idea  is  to  protect a cluster of more loosely administered machines
   hidden  behind  it  from  {cracker}s.  The  typical  firewall  is  an
   inexpensive  micro-based Unix box kept clean of critical data, with a
   bunch of modems and public network ports on it but just one carefully
   watched  connection  back  to  the  rest  of the cluster. The special
   precautions  may  include  threat  monitoring,  callback,  and even a
   complete  {iron  box}  keyable to particular incoming IDs or activity
   patterns. Syn. {flytrap}, {Venus flytrap}. See also {wild side}.

   [When  first  coined  in the mid-1980s this term was pure jargon. Now
   (1999)  it  is techspeak, and has been retained only as an example of
   uptake --ESR]

:fireworks mode: n.

   1.  The  mode  a  machine  is  sometimes  said  to  be  in when it is
   performing a {crash and burn} operation.

   2.  There  is  (or  was)  a more specific meaning of this term in the
   Amiga  community.  The  word  fireworks  described  the  effects of a
   particularly  serious crash which prevented the video pointer(s) from
   getting reset at the start of the vertical blank. This caused the DAC
   to  scroll  through  the entire contents of CHIP (video or video+CPU)
   memory. Since each bit plane would scroll separately this was quite a
   spectacular effect.

:firmware: /ferm´weir/, n.

   Embedded  software contained in EPROM or flash memory. It isn't quite
   hardware,  but  at  least  doesn't have to be loaded from a disk like
   regular  software.  Hacker  usage  differs from straight techspeak in
   that hackers don't normally apply it to stuff that you can't possibly
   get  at,  such as the program that runs a pocket calculator. Instead,
   it implies that the firmware could be changed, even if doing so would
   mean  opening  a box and plugging in a new chip. A computer's BIOS is
   the  classic  example,  although  nowadays  there is firmware in disk
   controllers, modems, video cards and even CD-ROM drives.

:fish: n.

   [Adelaide University, Australia]

   1.  Another  {metasyntactic  variable}. See {foo}. Derived originally
   from  the  Monty  Python  skit  in  the middle of The Meaning of Life
   entitled Find the Fish.

   2. A pun for microfiche. A microfiche file cabinet may be referred to
   as a fish tank.

:FISH queue: n.

   [acronym,  by  analogy  with  FIFO  (First In, First Out)] `First In,
   Still  Here'.  A  joking  way  of  pointing  out that processing of a
   particular sequence of events or requests has stopped dead. Also FISH
   mode  and  FISHnet;  the latter may be applied to any network that is
   running really slowly or exhibiting extreme flakiness.

:fisking: n.

   [blogosphere;  very  common]  A point-by-point refutation of a {blog}
   entry  or (especially) news story. A really stylish fisking is witty,
   logical,  sarcastic  and ruthlessly factual; flaming or handwaving is
   considered  poor  form. Named after Robert Fisk, a British journalist
   who  was  a  frequent (and deserving) early target of such treatment.
   See also {MiSTing}, {anti-idiotarianism}

:FITNR: //, adj.

   [Thinking  Machines,  Inc.] Fixed In The Next Release. A written-only
   notation attached to bug reports. Often wishful thinking.

:fix: n.,v.

   What  one  does when a problem has been reported too many times to be
   ignored.

:FIXME: imp.

   [common]  A standard tag often put in C comments near a piece of code
   that  needs  work.  The point of doing so is that a grep or a similar
   pattern-matching tool can find all such places quickly.

   /* FIXME: note this is common in {GNU} code. */

   Compare {XXX}.

:flag: n.

   [very  common]  A  variable  or  quantity that can take on one of two
   values;  a  bit, particularly one that is used to indicate one of two
   outcomes  or  is  used  to control which of two things is to be done.
   "This  flag  controls whether to clear the screen before printing the
   message."  "The program status word contains several flag bits." Used
   of humans analogously to {bit}. See also {hidden flag}, {mode bit}.

:flag day: n.

   A  software  change that is neither forward- nor backward-compatible,
   and  which  is  costly to make and costly to reverse. "Can we install
   that without causing a flag day for all users?" This term has nothing
   to do with the use of the word {flag} to mean a variable that has two
   values.  It came into use when a change was made to the definition of
   the  ASCII  character  set  during  the development of {Multics}. The
   change was scheduled for Flag Day (a U.S. holiday), June 14, 1966.

   The   change  altered  the  Multics  definition  of  ASCII  from  the
   short-lived  1965  version  of the ASCII code to the 1967 version (in
   draft  at the time); this moved code points for braces, vertical bar,
   and   circumflex.  See  also  {backward  combatability}.  The  {Great
   Renaming} was a flag day.

   [Most  of the changes were made to files stored on {CTSS}, the system
   used to support Multics development before it became self-hosting.]

   [As  it  happens,  the  first installation of a commercially-produced
   computer, a Univac I, took place on Flag Day of 1951 --ESR]

:flaky: adj.

   (var sp. flakey) Subject to frequent {lossage}. This use is of course
   related  to  the common slang use of the word to describe a person as
   eccentric,  crazy,  or  just  unreliable.  A  system that is flaky is
   working,  sort  of -- enough that you are tempted to try to use it --
   but  fails frequently enough that the odds in favor of finishing what
   you start are low. Commonwealth hackish prefers {dodgy} or {wonky}.

:flamage: /flay'm@j/, n.

   [very  common] Flaming verbiage, esp. high-noise, low-signal postings
   to {Usenet} or other electronic {fora}. Often in the phrase the usual
   flamage. Flaming is the act itself; flamage the content; a flame is a
   single flaming message. See {flame}, also {dahmum}.

:flame:

   [at MIT, orig. from the phrase flaming asshole]

   1. vi. To post an email message intended to insult and provoke.

   2.  vi.  To  speak  incessantly  and/or  rabidly  on  some relatively
   uninteresting subject or with a patently ridiculous attitude.

   3.  vt.  Either  of  senses  1  or  2,  directed  with hostility at a
   particular person or people.

   4.  n.  An  instance  of  flaming. When a discussion degenerates into
   useless controversy, one might tell the participants "Now you're just
   flaming"  or "Stop all that flamage!" to try to get them to cool down
   (so to speak).

   The  term  may  have been independently invented at several different
   places.  It  has  been  reported  from  MIT, Carleton College and RPI
   (among  many  other  places)  from  as far back as 1969, and from the
   University of Virginia in the early 1960s.

   It  is  possible that the hackish sense of `flame' is much older than
   that.  The  poet  Chaucer was also what passed for a wizard hacker in
   his  time;  he  wrote  a treatise on the astrolabe, the most advanced
   computing  device  of  the  day.  In  Chaucer's Troilus and Cressida,
   Cressida  laments  her  inability  to grasp the proof of a particular
   mathematical  theorem;  her  uncle  Pandarus  then observes that it's
   called  "the  fleminge  of  wrecches." This phrase seems to have been
   intended  in  context as "that which puts the wretches to flight" but
   was  probably  just as ambiguous in Middle English as "the flaming of
   wretches"  would be today. One suspects that Chaucer would feel right
   at home on Usenet.

:flame bait: n.

   [common]  A  posting  intended  to trigger a {flame war}, or one that
   invites flames in reply. See also {troll}.

:flame on: interj.

   1.  To  begin  to  {flame}.  The punning reference to Marvel Comics's
   Human Torch is no longer widely recognized.

   2. To continue to flame. See {rave}, {burble}.

:flame war: n.

   [common]  (var.:  flamewar)  An  acrimonious dispute, especially when
   conducted on a public electronic forum such as {Usenet}.

:flamer: n.

   [common] One who habitually {flame}s. Said esp. of obnoxious {Usenet}
   personalities.

:flap: vt.

   1.  [obs.]  To  unload  a  DECtape  (so it goes flap, flap, flap...).
   Old-time  hackers  at MIT tell of the days when the disk was device 0
   and  DEC  microtapes  were  1,  2,... and attempting to flap device 0
   would instead start a motor banging inside a cabinet near the disk.

   2.  By extension, to unload any magnetic tape. Modern cartridge tapes
   no  longer actually flap, but the usage has remained. (The term could
   well   be   re-applied   to   DEC's  TK50  cartridge  tape  drive,  a
   spectacularly  misengineered  contraption which makes a loud flapping
   sound,  almost  like  an  old reel-type lawnmower, in one of its many
   tape-eating failure modes.)

:flarp: /flarp/, n.

   [Rutgers   University]  Yet  another  {metasyntactic  variable}  (see
   {foo}).  Among  those who use it, it is associated with a legend that
   any  program  not  containing the word flarp somewhere will not work.
   The  legend is discreetly silent on the reliability of programs which
   do contain the magic word.

:flash crowd:

   Larry  Niven's  1973  SF  short  story Flash Crowd predicted that one
   consequence of cheap teleportation would be huge crowds materializing
   almost  instantly  at  the  sites of interesting news stories. Twenty
   years  later  the  term  passed  into  common  use on the Internet to
   describe  exponential  spikes  in  website  or  server usage when one
   passes a certain threshold of popular interest (what this does to the
   server may also be called {slashdot effect}). It has been pointed out
   that the effect was anticipated years earlier in Alfred Bester's 1956
   The Stars My Destination.

:flat: adj.

   1. [common] Lacking any complex internal structure. "That {bitty box}
   has only a flat filesystem, not a hierarchical one." The verb form is
   {flatten}.

   2.  Said  of  a memory architecture (like that of the {VAX} or 680x0)
   that  is  one  big linear address space (typically with each possible
   value  of  a  processor  register  corresponding  to  a  unique  core
   address),  as  opposed  to a segmented architecture (like that of the
   80x86)  in  which  addresses are composed from a base-register/offset
   pair (segmented designs are generally considered {cretinous}).

   Note  that  sense 1 (at least with respect to filesystems) is usually
   used pejoratively, while sense 2 is a {Good Thing}.

:flat-ASCII: adj.

   [common]  Said  of  a  text  file  that  contains  only  7-bit  ASCII
   characters  and uses only ASCII-standard control characters (that is,
   has  no embedded codes specific to a particular text formatter markup
   language,   or   output   device,  and  no  {meta}-characters).  Syn.
   {plain-ASCII}. Compare {flat-file}.

:flat-file: adj.

   A  {flatten}ed  representation  of  some  database or tree or network
   structure  as a single file from which the structure could implicitly
   be rebuilt, esp. one in {flat-ASCII} form. See also {sharchive}.

:flatten: vt.

   [common]  To  remove structural information, esp. to filter something
   with  an  implicit  tree  structure into a simple sequence of leaves;
   also  tends  to imply mapping to {flat-ASCII}. "This code flattens an
   expression with parentheses into an equivalent {canonical} form."

:flavor: n.

   1.  [common] Variety, type, kind. "DDT commands come in two flavors."
   "These  lights  come  in  two  flavors,  big red ones and small green
   ones." "Linux is a flavor of Unix" See {vanilla}.

   2.  The  attribute  that  causes something to be {flavorful}. Usually
   used  in  the  phrase  "yields  additional  flavor". "This convention
   yields  additional  flavor  by  allowing  one  to  print  text either
   right-side-up   or   upside-down."  See  {vanilla}.  This  usage  was
   certainly reinforced by the terminology of quantum chromodynamics, in
   which quarks (the constituents of, e.g., protons) come in six flavors
   (up,  down, strange, charm, top, bottom) and three colors (red, blue,
   green) -- however, hackish use of flavor at MIT predated QCD.

   3.  The  term  for  class  (in the object-oriented sense) in the LISP
   Machine Flavors system. Though the Flavors design has been superseded
   (notably  by the Common LISP CLOS facility), the term flavor is still
   used as a general synonym for class by some LISP hackers.

:flavorful: adj.

   Full  of  {flavor} (sense 2); esthetically pleasing. See {random} and
   {losing}   for  antonyms.  See  also  the  entries  for  {taste}  and
   {elegant}.

:flippy: /flip´ee/, n.

   A  single-sided  floppy disk altered for double-sided use by addition
   of  a  second  write-notch, so called because it must be flipped over
   for the second side to be accessible. No longer common.

:flood: v.

   [common]

   1.   To  overwhelm  a  network  channel  with  mechanically-generated
   traffic;    especially   used   of   IP,   TCP/IP,   UDP,   or   ICMP
   denial-of-service attacks.

   2.  To  dump  large  amounts  of  text onto an {IRC} channel. This is
   especially  rude  when  the text is uninteresting and the other users
   are trying to carry on a serious conversation. Also used in a similar
   sense on Usenet.

   3. [Usenet] To post an unusually large number or volume of files on a
   related topic.

:flowchart: n.

   [techspeak]  An  archaic  form  of  visual control-flow specification
   employing arrows and speech balloons of various shapes. Hackers never
   use  flowcharts,  consider  them  extremely silly, and associate them
   with  {COBOL}  programmers, {code grinder}s, and other lower forms of
   life. This attitude follows from the observations that flowcharts (at
   least from a hacker's point of view) are no easier to read than code,
   are less precise, and tend to fall out of sync with the code (so that
   they  either obfuscate it rather than explaining it, or require extra
   maintenance effort that doesn't improve the code).

:flower key: n.

   [Mac users] See {feature key}.

:flush: v.

   1.  [common] To delete something, usually superfluous, or to abort an
   operation. "All that nonsense has been flushed."

   2. [Unix/C] To force buffered I/O to disk, as with an fflush(3) call.
   This  is  not  an  abort  or deletion as in sense 1, but a demand for
   early completion!

   3.  To  leave at the end of a day's work (as opposed to leaving for a
   meal). "I'm going to flush now." "Time to flush."

   4. To exclude someone from an activity, or to ignore a person.

   `Flush'   was   standard  ITS  terminology  for  aborting  an  output
   operation;  one  spoke  of the text that would have been printed, but
   was  not,  as  having  been  flushed. It is speculated that this term
   arose  from  a  vivid image of flushing unwanted characters by hosing
   down  the  internal output buffer, washing the characters away before
   they  could  be  printed.  The  Unix/C  usage, on the other hand, was
   propagated  by the fflush(3) call in C's standard I/O library (though
   it  is  reported to have been in use among BLISS programmers at {DEC}
   and  on  Honeywell  and  IBM  machines  as  far back as 1965). Unix/C
   hackers found the ITS usage confusing, and vice versa.

   [crunchly-5678.png]

   Crunchly gets {flush}ed.

   (The next cartoon in the Crunchly saga is 76-05-01)

:flypage: /fli:´payj/, n.

   (alt.: fly page) A {banner}, sense 1.

:Flyspeck 3: n.

   Standard  name  for  any font that is so tiny as to be unreadable (by
   analogy  with  names like Helvetica 10 for 10-point Helvetica). Legal
   boilerplate is usually printed in Flyspeck 3.

:flytrap: n.

   [rare] See {firewall machine}.

:FM: /F·M/, n.

   1. [common] Not `Frequency Modulation' but rather an abbreviation for
   `Fucking  Manual',  the  back-formation from {RTFM}. Used to refer to
   the  manual  itself  in  the {RTFM}. "Have you seen the Networking FM
   lately?"

   2.  Abbreviation  for  "Fucking  Magic",  used in the sense of {black
   magic}.

:fnord: n.

   [from the Illuminatus Trilogy]

   1.  A  word  used  in  email  and  news postings to tag utterances as
   surrealist    mind-play   or   humor,   esp.   in   connection   with
   {Discordianism}  and  elaborate  conspiracy  theories.  "I heard that
   David  Koresh  is  sharing  an  apartment  in  Argentina with Hitler.
   (Fnord.)" "Where can I fnord get the Principia Discordia from?"

   2.  A {metasyntactic variable}, commonly used by hackers with ties to
   {Discordianism} or the {Church of the SubGenius}.

:FOAF: //, n.

   [Usenet;  common]  Acronym for `Friend Of A Friend'. The source of an
   unverified,  possibly  untrue  story. This term was not originated by
   hackers  (it  is used in Jan Brunvand's books on urban folklore), but
   is  much better recognized on Usenet and elsewhere than in mainstream
   English.

:FOD: /fod/, v.

   [Abbreviation  for  `Finger  of  Death', originally a spell-name from
   fantasy  gaming]  To  terminate  with  extreme  prejudice and with no
   regard  for  other  people. From {MUD}s where the wizard command `FOD
   <player>'  results  in  the  immediate  and  total death of <player>,
   usually  as punishment for obnoxious behavior. This usage migrated to
   other  circumstances,  such  as "I'm going to fod the process that is
   burning all the cycles."

   In aviation, FOD means Foreign Object Damage, e.g., what happens when
   a  jet  engine  sucks  up  a  rock on the runway or a bird in flight.
   Finger  of  Death  is  a  distressingly  apt description of what this
   generally does to the engine.

:fold case: v.

   See {smash case}. This term tends to be used more by people who don't
   mind  that  their  tools  smash  case.  It also connotes that case is
   ignored  but  case  distinctions  in  data  processed  by the tool in
   question aren't destroyed.

:followup: n.

   [common]  On  Usenet,  a  {posting}  generated in response to another
   posting  (as  opposed  to  a {reply}, which goes by email rather than
   being broadcast). Followups include the ID of the {parent message} in
   their headers; smart news-readers can use this information to present
   Usenet  news in `conversation' sequence rather than order-of-arrival.
   See {thread}.

:fontology: n.

   [XEROX  PARC] The body of knowledge dealing with the construction and
   use of new fonts (e.g., for window systems and typesetting software).
   It has been said that fontology recapitulates file-ogeny.

   [Unfortunately,  this  reference  to  the  embryological  dictum that
   "Ontogeny  recapitulates  phylogeny"  is  not  merely  a joke. On the
   Macintosh,  for  example,  System  7 has to go through contortions to
   compensate for an earlier design error that created a whole different
   set  of  abstractions  for  fonts  parallel  to `files' and `folders'
   --ESR]

:foo: /foo/

   1. interj. Term of disgust.

   2.  [very common] Used very generally as a sample name for absolutely
   anything, esp. programs and files (esp. scratch files).

   3.  First  on  the standard list of {metasyntactic variable}s used in
   syntax  examples.  See  also  {bar},  {baz}, {qux}, {quux}, {garply},
   {waldo}, {fred}, {plugh}, {xyzzy}, {thud}.

   When  `foo'  is used in connection with `bar' it has generally traced
   to  the  WWII-era  Army  slang acronym {FUBAR} (`Fucked Up Beyond All
   Repair'  or  `Fucked  Up  Beyond All Recognition'), later modified to
   {foobar}.  Early  versions of the Jargon File interpreted this change
   as  a  post-war  bowdlerization, but it it now seems more likely that
   FUBAR  was  itself a derivative of `foo' perhaps influenced by German
   furchtbar  (terrible) -- `foobar' may actually have been the original
   form.

   For,  it seems, the word `foo' itself had an immediate prewar history
   in  comic  strips  and cartoons. The earliest documented uses were in
   the  Smokey  Stover  comic  strip  published from about 1930 to about
   1952.  Bill Holman, the author of the strip, filled it with odd jokes
   and  personal  contrivances, including other nonsense phrases such as
   "Notary Sojac" and "1506 nix nix". The word "foo" frequently appeared
   on  license  plates of cars, in nonsense sayings in the background of
   some  frames (such as "He who foos last foos best" or "Many smoke but
   foo men chew"), and Holman had Smokey say "Where there's foo, there's
   fire".

   According  to the Warner Brothers Cartoon Companion Holman claimed to
   have  found  the word "foo" on the bottom of a Chinese figurine. This
   is  plausible; Chinese statuettes often have apotropaic inscriptions,
   and  this  one  was  almost  certainly  the  Mandarin Chinese word fu
   (sometimes   transliterated  foo),  which  can  mean  "happiness"  or
   "prosperity" when spoken with the rising tone (the lion-dog guardians
   flanking  the  steps  of many Chinese restaurants are properly called
   "fu  dogs").  English  speakers' reception of Holman's `foo' nonsense
   word  was undoubtedly influenced by Yiddish `feh' and English `fooey'
   and `fool'.

   Holman's strip featured a firetruck called the Foomobile that rode on
   two  wheels.  The  comic  strip  was tremendously popular in the late
   1930s, and legend has it that a manufacturer in Indiana even produced
   an   operable   version  of  Holman's  Foomobile.  According  to  the
   Encyclopedia  of American Comics, `Foo' fever swept the U.S., finding
   its  way  into popular songs and generating over 500 `Foo Clubs.' The
   fad  left  `foo'  references embedded in popular culture (including a
   couple of appearances in Warner Brothers cartoons of 1938-39; notably
   in  Robert  Clampett's  "Daffy  Doc"  of  1938, in which a very early
   version  of Daffy Duck holds up a sign saying "SILENCE IS FOO!") When
   the fad faded, the origin of "foo" was forgotten.

   One  place  "foo"  is  known  to  have  remained  live is in the U.S.
   military  during  the WWII years. In 1944-45, the term `foo fighters'
   was  in use by radar operators for the kind of mysterious or spurious
   trace  that would later be called a UFO (the older term resurfaced in
   popular  American  usage  in  1995  via the name of one of the better
   grunge-rock bands). Because informants connected the term directly to
   the  Smokey  Stover  strip,  the  folk  etymology that connects it to
   French "feu" (fire) can be gently dismissed.

   The U.S. and British militaries frequently swapped slang terms during
   the  war  (see  {kluge}  and  {kludge} for another important example)
   Period sources reported that `FOO' became a semi-legendary subject of
   WWII  British-army  graffiti  more or less equivalent to the American
   Kilroy.  Where  British  troops  went, the graffito "FOO was here" or
   something similar showed up. Several slang dictionaries aver that FOO
   probably  came  from  Forward Observation Officer, but this (like the
   contemporaneous  "FUBAR")  was  probably  a {backronym} . Forty years
   later,  Paul  Dickson's  excellent  book  "Words"  (Dell,  1982, ISBN
   0-440-52260-7)  traced "Foo" to an unspecified British naval magazine
   in  1946,  quoting  as follows: "Mr. Foo is a mysterious Second World
   War product, gifted with bitter omniscience and sarcasm."

   Earlier  versions of this entry suggested the possibility that hacker
   usage  actually  sprang from FOO, Lampoons and Parody, the title of a
   comic book first issued in September 1958, a joint project of Charles
   and  Robert  Crumb. Though Robert Crumb (then in his mid-teens) later
   became   one  of  the  most  important  and  influential  artists  in
   underground  comics,  this  venture was hardly a success; indeed, the
   brothers  later  burned  most  of the existing copies in disgust. The
   title  FOO was featured in large letters on the front cover. However,
   very  few  copies  of this comic actually circulated, and students of
   Crumb's  oeuvre  have  established that this title was a reference to
   the  earlier  Smokey  Stover  comics.  The  Crumbs may also have been
   influenced  by  a  short-lived  Canadian  parody magazine named `Foo'
   published in 1951-52.

   An  old-time  member  reports that in the 1959 Dictionary of the TMRC
   Language,  compiled at {TMRC}, there was an entry that went something
   like this:

     FOO: The first syllable of the sacred chant phrase "FOO MANE PADME
     HUM." Our first obligation is to keep the foo counters turning.

   (For  more  about  the  legendary  foo  counters,  see  {TMRC}.) This
   definition  used  Bill  Holman's nonsense word, then only two decades
   old  and  demonstrably  still live in popular culture and slang, to a
   {ha  ha only serious} analogy with esoteric Tibetan Buddhism. Today's
   hackers  would  find  it  difficult to resist elaborating a joke like
   that,  and  it is not likely 1959's were any less susceptible. Almost
   the  entire  staff  of  what later became the MIT AI Lab was involved
   with TMRC, and the word spread from there.

:foobar: n.

   [very common] Another widely used {metasyntactic variable}; see {foo}
   for  etymology.  Probably  originally  propagated  through  DECsystem
   manuals  by  Digital Equipment Corporation ({DEC}) in 1960s and early
   1970s;  confirmed  sightings  there  go  back to 1972. Hackers do not
   generally  use  this  to  mean  {FUBAR} in either the slang or jargon
   sense.  See  also  {Fred  Foobar}.  In  RFC1639, "FOOBAR" was made an
   abbreviation  for  "FTP Operation Over Big Address Records", but this
   was  an  obvious  {backronym}.  It  has been plausibly suggested that
   "foobar"  spread  among  early  computer  engineers partly because of
   FUBAR and partly because "foo bar" parses in electronics techspeak as
   an  inverted  foo  signal;  if  a  digital signal is active low (so a
   negative   or   zero-voltage  condition  represents  a  "1")  then  a
   horizontal bar is commonly placed over the signal label.

:fool: n.

   As  used  by  hackers, specifically describes a person who habitually
   reasons  from obviously or demonstrably incorrect premises and cannot
   be persuaded by evidence to do otherwise; it is not generally used in
   its other senses, i.e., to describe a person with a native incapacity
   to  reason  correctly, or a clown. Indeed, in hackish experience many
   fools are capable of reasoning all too effectively in executing their
   errors. See also {cretin}, {loser}, {fool file}.

   The  Algol  68-R  compiler  used  to  initialize  its  storage to the
   character  string  "F00LF00LF00LF00L..." because as a pointer or as a
   floating  point  number  it  caused  a  crash, and as an integer or a
   character string it was very recognizable in a dump. Sadly, one day a
   very  senior  professor at Nottingham University wrote a program that
   called  him  a  fool.  He proceeded to demonstrate the correctness of
   this assertion by lobbying the university (not quite successfully) to
   forbid the use of Algol on its computers. See also {DEADBEEF}.

:fool file: n.

   [Usenet]  A  notional  repository  of  all  the most dramatically and
   abysmally  stupid utterances ever. An entire subgenre of {sig block}s
   consists  of  the header "From the fool file:" followed by some quote
   the  poster wishes to represent as an immortal gem of dimwittery; for
   this  usage  to be really effective, the quote has to be so obviously
   wrong  as  to  be  laughable. More than one Usenetter has achieved an
   unwanted notoriety by being quoted in this way.

:Foonly: n.

   1.  The  {PDP-10}  successor that was to have been built by the Super
   Foonly  project  at  the  Stanford Artificial Intelligence Laboratory
   along  with  a  new  operating system. (The name itself came from FOO
   NLI,  an  error message emitted by a PDP-10 assembler at SAIL meaning
   "FOO  is  Not a Legal Identifier". The intention was to leapfrog from
   the  old  {DEC}  timesharing  system  SAIL  was then running to a new
   generation,  bypassing  TENEX  which  at  that  time  was the ARPANET
   standard.  ARPA  funding  for  both  the  Super  Foonly  and  the new
   operating system was cut in 1974. Most of the design team went to DEC
   and contributed greatly to the design of the PDP-10 model KL10.

   2. The name of the company formed by Dave Poole, one of the principal
   Super   Foonly  designers,  and  one  of  hackerdom's  more  colorful
   personalities.  Many  people remember the parrot which sat on Poole's
   shoulder and was a regular companion.

   3.  Any  of  the machines built by Poole's company. The first was the
   F-1 (a.k.a. Super Foonly), which was the computational engine used to
   create the graphics in the movie TRON. The F-1 was the fastest PDP-10
   ever  built, but only one was ever made. The effort drained Foonly of
   its  financial  resources,  and  the  company turned towards building
   smaller,  slower,  and  much  less expensive machines. Unfortunately,
   these  ran  not  the  popular  {TOPS-20}  but  a TENEX variant called
   Foonex;  this  seriously  limited  their  market.  Also, the machines
   shipped  were  actually wire-wrapped engineering prototypes requiring
   individual attention from more than usually competent site personnel,
   and  thus  had  significant  reliability  problems. Poole's legendary
   temper and unwillingness to suffer fools gladly did not help matters.
   By  the  time  DEC's  "Jupiter  Project"  followon  to the PDP-10 was
   cancelled  in  1983,  Foonly's  proposal  to  build  another  F-1 was
   eclipsed  by  the  {Mars}, and the company never quite recovered. See
   the {Mars} entry for the continuation and moral of this story.

:footprint: n.

   1. The floor or desk area taken up by a piece of hardware.

   2. [IBM] The audit trail (if any) left by a crashed program (often in
   plural, footprints). See also {toeprint}.

   3.  RAM  footprint:  The  minimum  amount of RAM which an OS or other
   program takes; this figure gives one an idea of how much will be left
   for  other  applications.  How  actively  this RAM is used is another
   matter  entirely.  Recent tendencies to featuritis and software bloat
   can  expand  the  RAM  footprint  of  an OS to the point of making it
   nearly unusable in practice. [This problem is, thankfully, limited to
   operating systems so stupid that they don't do virtual memory -- ESR]

:for free: adj.

   [common]  Said  of a capability of a programming language or hardware
   that  is  available  by  its  design  without  needing  cleverness to
   implement:  "In  APL,  we  get  the matrix operations for free." "And
   owing  to  the  way  revisions  are  stored  in  this system, you get
   revision  trees for free." The term usually refers to a serendipitous
   feature of doing things a certain way (compare {big win}), but it may
   refer to an intentional but secondary feature.

:for the rest of us: adj.

   [from the Mac slogan "The computer for the rest of us"]

   1.  Used  to  describe  a {spiffy} product whose affordability shames
   other  comparable  products,  or  (more  often) used sarcastically to
   describe {spiffy} but very overpriced products.

   2. Describes a program with a limited interface, deliberately limited
   capabilities,  non-orthogonality, inability to compose primitives, or
   any  other  limitation  designed  to not `confuse' a naive user. This
   places  an upper bound on how far that user can go before the program
   begins  to  get  in the way of the task instead of helping accomplish
   it.  Used  in  reference  to Macintosh software which doesn't provide
   obvious capabilities because it is thought that the poor lusers might
   not  be  able to handle them. Becomes `the rest of them' when used in
   third-party  reference;  thus, "Yes, it is an attractive program, but
   it's   designed   for   The  Rest  Of  Them"  means  a  program  that
   superficially  looks  neat but has no depth beyond the surface flash.
   See   also   {WIMP   environment},   {Macintrash},   {point-and-drool
   interface}, {user-friendly}.

:for values of:

   [MIT]  A  common  rhetorical  maneuver  at  MIT  is to use any of the
   canonical  {random  numbers}  as placeholders for variables. "The max
   function takes 42 arguments, for arbitrary values of 42.:" "There are
   69  ways to leave your lover, for 69 = 50." This is especially likely
   when the speaker has uttered a random number and realizes that it was
   not   recognized   as   such,   but  even  `non-random'  numbers  are
   occasionally  used in this fashion. A related joke is that p equals 3
   -- for small values of p and large values of 3.

   Historical  note:  at MIT this usage has traditionally been traced to
   the   programming  language  MAD  (Michigan  Algorithm  Decoder),  an
   Algol-58-like   language  that  was  the  most  common  choice  among
   mainstream  (non-hacker)  users  at  MIT in the mid-60s. It inherited
   from  Algol-58  a control structure FOR VALUES OF X = 3, 7, 99 DO ...
   that  would  repeat  the indicated instructions for each value in the
   list  (unlike  the usual FOR that only works for arithmetic sequences
   of  values).  MAD  is  long extinct, but similar for-constructs still
   flourish (e.g., in Unix's shell languages).

:fora: pl.n.

   Plural of {forum}.

:foreground: vt.

   [Unix;  common]  To  bring  a  task  to  the top of one's {stack} for
   immediate  processing,  and  hackers  often  use it in this sense for
   non-computer  tasks.  "If your presentation is due next week, I guess
   I'd better foreground writing up the design document."

   Technically,  on a timesharing system, a task executing in foreground
   is  one  able  to  accept  input  from and return output to the user;
   oppose  {background}. Nowadays this term is primarily associated with
   {Unix},  but  it  appears  first  to  have been used in this sense on
   OS/360.  Normally, there is only one foreground task per terminal (or
   terminal  window);  having  multiple processes simultaneously reading
   the keyboard is a good way to {lose}.

:fork:

   In  the  open-source  community,  a  fork is what occurs when two (or
   more)  versions  of  a  software  package's  source  code  are  being
   developed in parallel which once shared a common code base, and these
   multiple  versions of the source code have irreconcilable differences
   between  them. This should not be confused with a development branch,
   which  may  later  be folded back into the original source code base.
   Nor  should  it be confused with what happens when a new distribution
   of  Linux or some other distribution is created, because that largely
   assembles  pieces  than  can  and will be used in other distributions
   without conflict.

   Forking  is  uncommon;  in  fact,  it  is so uncommon that individual
   instances  loom  large in hacker folklore. Notable in this class were
   the  Emacs/XEmacs  fork, the GCC/EGCS fork (later healed by a merger)
   and  the  forks  among  the  FreeBSD,  NetBSD,  and OpenBSD operating
   systems.

:fork bomb: n.

   [Unix]  A  particular  species of {wabbit} that can be written in one
   line  of C (main() {for(;;)fork();}) or shell ($0 & $0 &) on any Unix
   system,  or  occasionally  created by an egregious coding bug. A fork
   bomb  process  `explodes'  by  recursively  spawning copies of itself
   (using  the  Unix  system  call  fork(2)). Eventually it eats all the
   process table entries and effectively wedges the system. Fortunately,
   fork  bombs  are  relatively  easy  to spot and kill, so creating one
   deliberately seldom accomplishes more than to bring the just wrath of
   the  gods  down  upon  the perpetrator. Also called a fork bunny. See
   also {logic bomb}.

:forked: adj.,vi.

   1.  [common  after  1997, esp. in the Linux community] An open-source
   software project is said to have forked or be forked when the project
   group  fissions  into  two  or  more parts pursuing separate lines of
   development (or, less commonly, when a third party unconnected to the
   project  group  begins  its  own  line  of  development).  Forking is
   considered  a  {Bad  Thing} -- not merely because it implies a lot of
   wasted effort in the future, but because forks tend to be accompanied
   by  a  great deal of strife and acrimony between the successor groups
   over issues of legitimacy, succession, and design direction. There is
   serious  social  pressure  against  forking. As a result, major forks
   (such  as  the  Gnu-Emacs/XEmacs split, the fissionings of the 386BSD
   group  into  three  daughter  projects,  and the short-lived GCC/EGCS
   split)  are  rare  enough  that  they  are remembered individually in
   hacker folklore.

   2.  [Unix;  uncommon;  prob.:  influenced  by a mainstream expletive]
   Terminally  slow, or dead. Originated when one system was slowed to a
   snail's pace by an inadvertent {fork bomb}.

:Fortrash: /for´trash/, n.

   Hackerism for the FORTRAN (FORmula TRANslator) language, referring to
   its  primitive  design,  gross  and irregular syntax, limited control
   constructs, and slippery, exception-filled semantics.

:fortune cookie: n.

   [WAITS,  via  Unix;  common] A random quote, item of trivia, joke, or
   maxim  printed  to the user's tty at login time or (less commonly) at
   logout  time. Items from this lexicon have often been used as fortune
   cookies. See {cookie file}.

:forum: n.

   [Usenet,  GEnie,  CI$;  pl.  fora  or  forums]  Any  discussion group
   accessible   through   a  dial-in  {BBS},  a  {mailing  list},  or  a
   {newsgroup}  (see  {the  network}).  A  forum  functions  much like a
   bulletin   board;  users  submit  {posting}s  for  all  to  read  and
   discussion  ensues.  Contrast  real-time  chat  via  {talk  mode}  or
   point-to-point personal {email}.

:fossil: n.

   1.  In  software,  a  misfeature  that becomes understandable only in
   historical  context, as a remnant of times past retained so as not to
   break  compatibility. Example: the retention of octal as default base
   for  string  escapes  in  {C},  in  spite  of  the  better  match  of
   hexadecimal  to  ASCII and modern byte-addressable architectures. See
   {dusty deck}.

   2.  More  restrictively,  a feature with past but no present utility.
   Example: the force-all-caps (LCASE) bits in the V7 and {BSD} Unix tty
   driver, designed for use with monocase terminals. (In a perversion of
   the   usual   backward-compatibility  goal,  this  functionality  has
   actually been expanded and renamed in some later USG Unix releases as
   the IUCLC and OLCUC bits.)

:four-color glossies: n.

   1.  Literature  created  by  {marketroid}s  that  allegedly  contains
   technical  specs  but  which  is  in  fact as superficial as possible
   without   being   totally   {content-free}.  "Forget  the  four-color
   glossies,  give  me  the  tech  ref  manuals."  Often  applied  as an
   indication  of  superficiality  even  when the material is printed on
   ordinary  paper  in  black  and  white. Four-color-glossy manuals are
   never useful for solving a problem.

   2.  [rare]  Applied  by  extension to manual pages that don't contain
   enough  information  to  diagnose why the program doesn't produce the
   expected or desired output.

:frag: n.,v.

   [from Vietnam-era U.S. military slang via the games Doom and Quake]

   1. To kill another player's {avatar} in a multiuser game. "I hold the
   office Quake record with 40 frags."

   2.  To  completely  ruin  something.  "Forget  that power supply, the
   lightning strike fragged it." See also {gib}.

:fragile: adj.

   Syn {brittle}.

:Frankenputer: n.

   1.  A mostly-working computer thrown together from the spare parts of
   several  machines  out  of which the {magic smoke} had been let. Most
   shops  have  a closet full of nonworking machines. When a new machine
   is needed immediately (for testing, for example) and there is no time
   (or  budget)  to  requisition a new box, someone (often an intern) is
   tasked with building a Frankenputer.

   2.  Also  used  in  referring to a machine that once was a name-brand
   computer,  but  has been upgraded long beyond its useful life, to the
   point  at  which  the  nameplate  violates  truth-in-advertising laws
   (e.g.,  a  Pentium  III-class  machine  inexplicably living in a case
   marked "Gateway 486/66").

:fred: n.

   1.  The  personal  name  most  frequently  used  as  a {metasyntactic
   variable}  (see  {foo}).  Allegedly  popular  because it's easy for a
   non-touch-typist  to  type  on  a  standard QWERTY keyboard. In Great
   Britain,   `fred',   `jim'  and  `sheila'  are  common  metasyntactic
   variables  because their uppercase versions were official names given
   to  the  3  memory  areas  that  held  I/O  status  registers  on the
   lovingly-remembered  BBC  Microcomputer!  (It is reported that SHEILA
   was  poked  the  most  often.) Unlike {J. Random Hacker} or J. Random
   Loser,  the  name `fred' has no positive or negative loading (but see
   {Dr. Fred Mbogo}). See also {barney}.

   2.  An  acronym  for  `Flipping  Ridiculous Electronic Device'; other
   F-verbs may be substituted for `flipping'.

:Fred Foobar: n.

   {J.  Random  Hacker}'s  cousin. Any typical human being, more or less
   synonymous   with   `someone'   except   that   Fred  Foobar  can  be
   {backreference}d  by  name  later  on. "So Fred Foobar will enter his
   phone  number  into  the  database,  and  it'll  be archived with the
   others. Months later, when Fred searches..." See also {Bloggs Family}
   and {Dr. Fred Mbogo}

:frednet: /fred´net/, n.

   Used to refer to some {random} and uncommon protocol encountered on a
   network.  "We're  implementing  bridging  in  our router to solve the
   frednet problem."

:free software: n.

   As  defined  by  Richard  M.  Stallman  and used by the Free Software
   movement,  this  means software that gives users enough freedom to be
   used by the free software community. Specifically, users must be free
   to   modify   the  software  for  their  private  use,  and  free  to
   redistribute   it   either  with  or  without  modifications,  either
   commercially   or   noncommercially,  either  gratis  or  charging  a
   distribution  fee.  Free  software  has  existed  since  the  dawn of
   computing;  Free  Software  as  a movement began in 1984 with the GNU
   Project.

   RMS observes that the English word "free" can refer either to liberty
   (where  it  means  the  same  as the Spanish or French "libre") or to
   price  (where  it  means  the  same as the Spanish "gratis" or French
   "gratuit").  RMS  and  other  people  associated with the FSF like to
   explain  the  word  "free"  in  "free software" by saying "Free as in
   speech, not as in beer."

   See  also  {open  source}.  Hard-core  proponents  of  the term "free
   software"  sometimes  reject this newer term, claiming that the style
   of  argument  associated  with  it  ignores  or  downplays  the moral
   imperative at the heart of free software.

:freeware: n.

   [common]    Freely-redistributable   software,   often   written   by
   enthusiasts and distributed by users' groups, or via electronic mail,
   local  bulletin  boards,  {Usenet}, or other electronic media. As the
   culture  of the Internet has displaced the older BBS world, this term
   has  lost  ground  to  both {open source} and {free software}; it has
   increasingly  tended  to  be  restricted  to  software distributed in
   binary  rather  than  source-code  form.  At one time, freeware was a
   trademark  of  Andrew Fluegelman, the author of the well-known MS-DOS
   comm  program  PC-TALK  III.  It wasn't enforced after his mysterious
   disappearance and presumed death in 1984. See {shareware}, {FRS}.

:freeze: v.

   To lock an evolving software distribution or document against changes
   so it can be released with some hope of stability. Carries the strong
   implication  that the item in question will `unfreeze' at some future
   date. "OK, fix that bug and we'll freeze for release." There are more
   specific  constructions  on this term. A feature freeze, for example,
   locks  out modifications intended to introduce new features but still
   allows  bugfixes  and  completion of existing features; a code freeze
   connotes  no  more changes at all. At Sun Microsystems and elsewhere,
   one   may  also  hear  references  to  code  slush  --  that  is,  an
   almost-but-not-quite frozen state.

:fried: adj.

   1.   [common]   Non-working  due  to  hardware  failure;  burnt  out.
   Especially  used  of  hardware  brought  down  by a power glitch (see
   {glitch}),  {drop-outs},  a  short,  or  some other electrical event.
   (Sometimes   this   literally  happens  to  electronic  circuits!  In
   particular,  resistors  can  burn out and transformers can melt down,
   emitting  noxious  smoke  --  see {friode}, {SED} and {LER}. However,
   this term is also used metaphorically.) Compare {frotzed}.

   2.  [common]  Of  people,  exhausted.  Said particularly of those who
   continue  to  work  in  such a state. Often used as an explanation or
   excuse.  "Yeah,  I know that fix destroyed the file system, but I was
   fried  when I put it in." Esp.: common in conjunction with brain: "My
   brain is fried today, I'm very short on sleep."

:frink: /frink/, v.

   The  unknown  ur-verb,  fill  in  your own meaning. Found esp. on the
   Usenet  newsgroup  alt.fan.lemurs,  where  it is said that the lemurs
   know what `frink' means, but they aren't telling. Compare {gorets}.

:friode: /fri:´ohd/, n.

   [TMRC] A reversible (that is, fused or blown) diode. Compare {fried};
   see also {SED}, {LER}.

:fritterware: n.

   An  excess of capability that serves no productive end. The canonical
   example  is  font-diddling  software  on the Mac (see {macdink}); the
   term  describes  anything  that  eats  huge amounts of time for quite
   marginal  gains  in function but seduces people into using it anyway.
   See also {window shopping}.

:frob: /frob/

   1.  n.  [MIT;  very  common]  The  {TMRC}  definition  was  "FROB = a
   protruding  arm  or trunnion"; by metaphoric extension, a frob is any
   random  small  thing;  an object that you can comfortably hold in one
   hand; something you can frob (sense 2). See {frobnitz}.

   2. vt. Abbreviated form of {frobnicate}.

   3.  [from  the  {MUD}  world]  A  command on some MUDs that changes a
   player's  experience  level (this can be used to make wizards); also,
   to request {wizard} privileges on the `professional courtesy' grounds
   that  one is a wizard elsewhere. The command is actually `frobnicate'
   but is universally abbreviated to the shorter form.

:frobnicate: /frob´ni·kayt/, vt.

   [Poss.  derived  from  {frobnitz}, and usually abbreviated to {frob},
   but  frobnicate  is  recognized  as  the  official  full  form.:]  To
   manipulate  or  adjust,  to tweak. One frequently frobs bits or other
   2-state  devices. Thus: "Please frob the light switch" (that is, flip
   it),  but  also "Stop frobbing that clasp; you'll break it". One also
   sees the construction to frob a frob. See {tweak} and {twiddle}.

   Usage:  frob,  twiddle,  and  tweak  sometimes connote points along a
   continuum.  `Frob'  connotes  aimless  manipulation; twiddle connotes
   gross manipulation, often a coarse search for a proper setting; tweak
   connotes   fine-tuning.   If   someone   is  turning  a  knob  on  an
   oscilloscope,  then  if  he's  carefully adjusting it, he is probably
   tweaking  it;  if he is just turning it but looking at the screen, he
   is probably twiddling it; but if he's just doing it because turning a
   knob  is  fun,  he's  frobbing it. The variant frobnosticate has been
   recently reported.

:frobnitz: /frob´nits/, pl., frobnitzem, /frob´nit·zm/, frobni,
   /frob'ni:/, n.

   [TMRC]  An  unspecified  physical  object,  a  widget. Also refers to
   electronic  black  boxes.  This  rare  form is usually abbreviated to
   frotz,   or   more   commonly  to  {frob}.  Also  used  are  frobnule
   (/frob´n[y]ool/) and frobule (/frob´yool/). Starting perhaps in 1979,
   frobozz  /fr@-boz´/ (plural: frobbotzim /fr@-bot´zm/) has also become
   very  popular,  largely  through  its  exposure as a name via {Zork}.
   These  variants  can  also be applied to nonphysical objects, such as
   data   structures.   For  related  amusement,  see  the  Encyclopedia
   Frobozzica.

   Pete  Samson,  compiler  of the original {TMRC} lexicon, adds, "Under
   the TMRC [railroad] layout were many storage boxes, managed (in 1958)
   by  David  R.  Sawyer.  Several  had fanciful designations written on
   them,  such  as `Frobnitz Coil Oil'. Perhaps DRS intended Frobnitz to
   be a proper name, but the name was quickly taken for the thing". This
   was almost certainly the origin of the term.

:frog: phrog

   1. interj. Term of disgust (we seem to have a lot of them).

   2. Used as a name for just about anything. See {foo}.

   3. n. Of things, a crock.

   4. n. Of people, somewhere in between a turkey and a toad.

   5.  froggy:  adj.  Similar  to  {bagbiting}, but milder. "This froggy
   program is taking forever to run!"

:frogging: v.

   1.  Partial  corruption of a text file or input stream by some bug or
   consistent  glitch,  as  opposed  to random events like line noise or
   media failures. Might occur, for example, if one bit of each incoming
   character  on  a tty were stuck, so that some characters were correct
   and others were not. See {dread high-bit disease}.

   2.  By  extension,  accidental  display  of  text in a mode where the
   output   device  emits  special  symbols  or  mnemonics  rather  than
   conventional  ASCII.  This  often  happens, for example, when using a
   terminal  or  comm  program on a device like an IBM PC with a special
   `high-half' character set and with the bit-parity assumption wrong. A
   hacker sufficiently familiar with ASCII bit patterns might be able to
   read the display anyway.

:front end: n.

   1.  An  intermediary  computer  that  does  set-up  and filtering for
   another  (usually  more  powerful  but less friendly) machine (a back
   end).

   2.  What  you're talking to when you have a conversation with someone
   who  is making replies without paying attention. "Look at the dancing
   elephants!"  "Uh-huh."  "Do  you  know what I just said?" "Sorry, you
   were talking to the front end."

   3.  Software  that  provides an interface to another program `behind'
   it,  which  may  not  be as user-friendly. Probably from analogy with
   hardware front-ends (see sense 1) that interfaced with mainframes.

:frotz: /frots/

   1. n. See {frobnitz}.

   2.  mumble  frotz:  An  interjection  of  mildest  disgust.  The word
   `frotzen'  is live in this sense in some eastern German dialects; the
   safe bet is that it came to hackers via Yiddish.

:frotzed: /frotst/, adj.

   To be {down} because of hardware problems. Compare {fried}. A machine
   that  is merely frotzed may be fixable without replacing parts, but a
   fried machine is more seriously damaged.

:frowney: n.

   (alt.: frowney face) See {emoticon}.

:FRS: //, n.,obs.

   [obs.]  Abbreviation  for  "Freely  Redistributable  Software"  which
   entered  general use on the Internet in 1995 after years of low-level
   confusion  over  what  exactly  to call software written to be passed
   around   and   shared   (contending   terms   including   {freeware},
   {shareware},  and  sourceware  were  never  universally  felt  to  be
   satisfactory for various subtle reasons). The first formal conference
   on   freely   redistributable   software   was   held  in  Cambridge,
   Massachussetts,  in  February  1996  (sponsored  by the Free Software
   Foundation).  The  conference  organizers  used  the FRS abbreviation
   heavily in its calls for papers and other literature during 1995. The
   term was in steady though not common use until 1998 and the invention
   of {open source}, after which it became swiftly obsolete.

:fry:

   1. vi. To fail. Said especially of smoke-producing hardware failures.
   More generally, to become non-working. Usage: never said of software,
   only of hardware and humans. See {fried}, {magic smoke}.

   2.  vt.  To  cause to fail; to {roach}, {toast}, or {hose} a piece of
   hardware. Never used of software or humans, but compare {fried}.

:fscking: /fus'·king/, /eff'·seek·ing/, adj.

   [Usenet;  very  common] Fucking, in the expletive sense (it refers to
   the  Unix  filesystem-repair command fsck(8), of which it can be said
   that  if  you  have  to  use  it  at  all  you are having a bad day).
   Originated  on  {scary  devil monastery} and the bofh.net newsgroups,
   but  became much more widespread following the passage of {CDA}. Also
   occasionally seen in the variant "What the fsck?"

:FSF: /F·S·F/, abbrev.

   Common  abbreviation  (both  spoken  and written) for the name of the
   Free  Software Foundation, a nonprofit educational association formed
   to support the {GNU} project.

:-fu:

   [common;  generalized  from  kung-fu]  Combining form denoting expert
   practice  of  a  skill.  "That's going to take some serious code-fu."
   First   sighted   in  connection  with  the  GIMP's  remote-scripting
   facility, script-fu, in 1998.

:FUBAR: n.

   The  Failed UniBus Address Register in a {VAX}. A good example of how
   jargon  can occasionally be snuck past the {suit}s; see {foobar}, and
   {foo} for a fuller etymology.

:fuck me harder: excl.

   Sometimes  uttered  in  response  to  egregious  misbehavior, esp. in
   software, and esp. of misbehaviors which seem unfairly persistent (as
   though  designed  in  by the imp of the perverse). Often theatrically
   elaborated:  "Aiighhh!  Fuck  me  with  a  piledriver  and 16 feet of
   curare-tipped  wrought-iron  fence  and no lubricants!" The phrase is
   sometimes heard abbreviated FMH in polite company.

   [This  entry  is  an  extreme example of the hackish habit of coining
   elaborate  and  evocative  terms  for  lossage.  Here  we see a quite
   self-conscious  parody  of  mainstream  expletives  that has become a
   running gag in part of the hacker culture; it illustrates the hackish
   tendency to turn any situation, even one of extreme frustration, into
   an  intellectual  game  (the point being, in this case, to creatively
   produce  a  long-winded  description  of the most anatomically absurd
   mental image possible -- the short forms implicitly allude to all the
   ridiculous long forms ever spoken). Scatological language is actually
   relatively  uncommon  among  hackers,  and there was some controversy
   over whether this entry ought to be included at all. As it reflects a
   live usage recognizably peculiar to the hacker culture, we feel it is
   in  the hackish spirit of truthfulness and opposition to all forms of
   censorship to record it here. --ESR & GLS]

:FUD: /fuhd/, n.

   Defined  by  Gene  Amdahl after he left IBM to found his own company:
   "FUD  is  the  fear,  uncertainty,  and  doubt  that IBM sales people
   instill  in the minds of potential customers who might be considering
   [Amdahl]  products."  The idea, of course, was to persuade them to go
   with  safe  IBM  gear  rather  than with competitors' equipment. This
   implicit  coercion  was  traditionally accomplished by promising that
   Good  Things  would  happen  to  people  who stuck with IBM, but Dark
   Shadows loomed over the future of competitors' equipment or software.
   See  {IBM}.  After  1990  the  term  FUD  was associated increasingly
   frequently  with  {Microsoft}, and has become generalized to refer to
   any kind of disinformation used as a competitive weapon.

:FUD wars: /fuhd worz/, n.

   1,  [from  {FUD}]  Historically,  political  posturing  engaged in by
   hardware and software vendors ostensibly committed to standardization
   but  actually  willing  to  fragment  the market to protect their own
   shares. The Unix International vs.: OSF conflict about Unix standards
   was  one  outstanding  example;  Microsoft vs. Netscape vs. W3C about
   HTML standards is another.

   2.  Since  about  2000  the  FUD wars have a different character; the
   battle  over  open  standards  has  been  partly  replaced and partly
   subsumed   by   the   argument  between  closed-  and  {open  source}
   proponents. Nowadays, accordingly, the term is most likely to be used
   of   anti-open-source   propaganda   emitted  by  Microsoft.  Compare
   {astroturfing}.

:fudge:

   1.  vt.  To  perform  in an incomplete but marginally acceptable way,
   particularly with respect to the writing of a program. "I didn't feel
   like  going  through  that pain and suffering, so I fudged it -- I'll
   fix it later."

   2. n. The resulting code.

:fudge factor: n.

   [common]  A  value  or  parameter  that is varied in an ad hoc way to
   produce  the  desired result. The terms tolerance and {slop} are also
   used,  though  these  usually  indicate a one-sided leeway, such as a
   buffer  that  is  made  larger  than necessary because one isn't sure
   exactly  how large it needs to be, and it is better to waste a little
   space  than to lose completely for not having enough. A fudge factor,
   on the other hand, can often be tweaked in more than one direction. A
   good   example  is  the  fuzz  typically  allowed  in  floating-point
   calculations: two numbers being compared for equality must be allowed
   to  differ  by  a  small  amount;  if  that  amount  is  too small, a
   computation  may  never  terminate, while if it is too large, results
   will  be needlessly inaccurate. Fudge factors are frequently adjusted
   incorrectly  by  programmers who don't fully understand their import.
   See also {coefficient of X}.

:fuel up: vi.

   To  eat or drink hurriedly in order to get back to hacking. "Food-p?"
   "Yeah,  let's fuel up." "Time for a {great-wall}!" See also {oriental
   food}.

:Full Monty: n.

   See {monty}, sense 2.

:fum: n.

   [XEROX  PARC] At PARC, often the third of the standard {metasyntactic
   variable}s  (after  {foo}  and  {bar}). Competes with {baz}, which is
   more common outside PARC.

:functino: n.

   [uncommon,  U.K.;  originally a serendipitous typo in 1994] A pointer
   to  a function in C and C++. By association with sub-atomic particles
   such  as  the  neutrino,  it  accurately  conveys  an  impression  of
   smallness  (one  pointer  is  four  bytes  on most systems) and speed
   (hackers  can  and  do  use arrays of functinos to replace a switch()
   statement).

:funky: adj.

   Said  of  something that functions, but in a slightly strange, klugey
   way. It does the job and would be difficult to change, so its obvious
   non-optimality  is left alone. Often used to describe interfaces. The
   more  bugs  something  has  that  nobody  has bothered to fix because
   workarounds are easier, the funkier it is. {TECO} and UUCP are funky.
   The  Intel  i860's  exception handling is extraordinarily funky. Most
   standards   acquire  funkiness  as  they  age.  "The  new  mailer  is
   installed,  but  is still somewhat funky; if it bounces your mail for
   no reason, try resubmitting it." "This UART is pretty funky. The data
   ready  line  is  active-high  in interrupt mode and active-low in DMA
   mode."

:funny money: n.

   1. Notional `dollar' units of computing time and/or storage handed to
   students  at  the  beginning  of  a computer course; also called play
   money  or  purple  money  (in  implicit  opposition  to real or green
   money). In New Zealand and Germany the odd usage paper money has been
   recorded; in Germany, the particularly amusing synonym transfer ruble
   commemorates the funny money used for trade between COMECON countries
   back  when  the  Soviet Bloc still existed. When your funny money ran
   out,  your  account  froze and you needed to go to a professor to get
   more.  Fortunately,  the plunging cost of timesharing cycles has made
   this  less  common.  The amounts allocated were almost invariably too
   small,  even  for the non-hackers who wanted to slide by with minimum
   work. In extreme cases, the practice led to small-scale black markets
   in bootlegged computer accounts.

   2.  By  extension, phantom money or quantity tickets of any kind used
   as a resource-allocation hack within a system. Antonym: real money.

:furrfu: excl.

   [Usenet;  written,  only  rarely  spoken]  Written-only equivalent of
   "Sheesh!";  it  is, in fact, "sheesh" modified by {rot13}. Evolved in
   mid-1992  as  a  response  to  notably silly postings repeating urban
   myths  on the Usenet newsgroup alt.folklore.urban, after some posters
   complained  that  "Sheesh!"  as  a  response  to  {newbie}s was being
   overused. See also {FOAF}.

G

:G: pref.,suff.

   1. [SI] See {quantifiers}.

   2.  The  letter  G  has special significance in the hacker community,
   largely thanks to the GNU project and the GPL.

   Many  {free  software} projects have names that names that begin with
   G. The GNU project gave many of its projects names that were acronyms
   beginning  with  the  word  "GNU", such as "GNU C Compiler" (gcc) and
   "GNU  Debugger"  (gdb),  and  this launched a tradition. Just as many
   Java  developers will begin their projects with J, many free software
   developers  will  begin  theirs  with  G. It is often the case that a
   program with a G-prefixed name is licensed under the GNU GPL.

   For  example,  someone may write a free Enterprise Engineering Kludge
   package  (EEK  technology  is all the rage in the technical journals)
   and name it "geek" to imply that it is a GPL'd EEK package.

:gang bang: n.

   The use of large numbers of loosely coupled programmers in an attempt
   to wedge a great many features into a product in a short time. Though
   there  have  been  memorable  gang bangs (e.g., that over-the-weekend
   assembler port mentioned in Steven Levy's Hackers), and large numbers
   of loosely-coupled programmers operating in {bazaar} mode can do very
   useful  work  when they're not on a deadline, most are perpetrated by
   large  companies trying to meet unrealistic deadlines; the inevitable
   result   is  enormous  buggy  masses  of  code  entirely  lacking  in
   {orthogonal}ity.  When  market-driven managers make a list of all the
   features  the  competition has and assign one programmer to implement
   each,  the probability of maintaining a coherent (or even functional)
   design  goes to {epsilon}. See also {firefighting}, {Mongolian Hordes
   technique}, {Conway's Law}.

:Gang of Four: n.

   (also  abbreviated  GOF)  [prob.  a  play  on  the `Gang Of Four' who
   briefly  ran Communist China after the death of Mao] Describes either
   the  authors  or  the  book  Design  Patterns:  Elements  of Reusable
   Object-Oriented  Software  published  in 1995 by Addison-Wesley (ISBN
   0-201-63361-2). The authors forming the Gang Of Four are Erich Gamma,
   Richard  Helm,  Ralph  Johnson  and  John  Vlissides.  They  are also
   sometimes  referred  to  as  `Gamma  et.  al.'  The  authors state at
   http://www.hillside.net/patterns/DPBook/GOF.html   "Why  are  we  ...
   called  this?  Who  knows.  Somehow the name just stuck." The term is
   also used to describe any of the design patterns that are used in the
   book, referring to the patterns within it as `Gang Of Four Patterns.'

:garbage collect: vi.

   (also garbage collection, n.) See {GC}.

:garply: /gar´plee/, n.

   [Stanford]  Another  metasyntactic variable (see {foo}); once popular
   among SAIL hackers.

:gas:

   [as in `gas chamber']

   1.  interj. A term of disgust and hatred, implying that gas should be
   dispensed in generous quantities, thereby exterminating the source of
   irritation. "Some loser just reloaded the system for no reason! Gas!"

   2. interj. A suggestion that someone or something ought to be flushed
   out of mercy. "The system's getting {wedged} every few minutes. Gas!"

   3.  vt.  To  {flush}  (sense  1).  "You  should  gas  that old crufty
   software."

   4.  [IBM]  n.  Dead space in nonsequentially organized files that was
   occupied  by  data  that  has  since  been  deleted;  the compression
   operation  that  removes it is called degassing (by analogy, perhaps,
   with the use of the same term in vacuum technology).

   5.  [IBM]  n.  Empty  space  on  a  disk  that has been clandestinely
   allocated against future need.

:Gates's Law:

   "The speed of software halves every 18 months." This oft-cited law is
   an  ironic  comment  on the tendency of software bloat to outpace the
   every-18-month  doubling in hardware capacity per dollar predicted by
   {Moore's  Law}.  The  reference is to Bill Gates; Microsoft is widely
   considered  among  the  worst if not the worst of the perpetrators of
   bloat.

:gawble: /gaw´bl/, n.

   See {chawmp}.

:GC: /G·C/

   [from LISP terminology; Garbage Collect]

   1.  vt.  To  clean up and throw away useless things. "I think I'll GC
   the top of my desk today."

   2. vt. To recycle, reclaim, or put to another use.

   3. n. An instantiation of the garbage collector process.

   Garbage  collection  is  computer-science  techspeak for a particular
   class  of  strategies  for dynamically but transparently reallocating
   computer  memory  (i.e.,  without  requiring  explicit allocation and
   deallocation  by  higher-level  software). One such strategy involves
   periodically  scanning all the data in memory and determining what is
   no  longer  accessible; useless data items are then discarded so that
   the  memory they occupy can be recycled and used for another purpose.
   Implementations of the LISP language usually use garbage collection.

   In  jargon, the full phrase is sometimes heard but the {abbrev} GC is
   more  frequently  used  because  it is shorter. Note that there is an
   ambiguity  in usage that has to be resolved by context: "I'm going to
   garbage-collect  my desk" usually means to clean out the drawers, but
   it could also mean to throw away or recycle the desk itself.

:GCOS: /jee´kohs/, n.

   A  {quick-and-dirty}  {clone}  of System/360 DOS that emerged from GE
   around   1970;   originally   called   GECOS  (the  General  Electric
   Comprehensive  Operating  System).  Later kluged to support primitive
   timesharing  and  transaction  processing.  After  the buyout of GE's
   computer  division  by  Honeywell,  the  name  was changed to General
   Comprehensive  Operating  System (GCOS). Other OS groups at Honeywell
   began  referring  to it as `God's Chosen Operating System', allegedly
   in  reaction to the GCOS crowd's uninformed and snotty attitude about
   the superiority of their product. All this might be of zero interest,
   except  for two facts: (1) The GCOS people won the political war, and
   this  led in the orphaning and eventual death of Honeywell {Multics},
   and  (2)  GECOS/GCOS left one permanent mark on Unix. Some early Unix
   systems  at  Bell  Labs  used  GCOS  machines  for print spooling and
   various  other services; the field added to /etc/passwd to carry GCOS
   ID  information  was called the GECOS field and survives today as the
   pw_gecos  member  used  for  the  user's full name and other human-ID
   information.  GCOS  later  played a major role in keeping Honeywell a
   dismal  also-ran  in  the  mainframe  market,  and  was itself mostly
   ditched for Unix in the late 1980s when Honeywell began to retire its
   aging {big iron} designs.

:GECOS: /jee´kohs/, n.

   See {GCOS}.

:gedanken: /g@·dahn´kn/, adj.

   Ungrounded; impractical; not well-thought-out; untried; untested.

   `Gedanken'  is  a  German word for `thought'. A thought experiment is
   one  you  carry  out  in  your  head.  In  physics, the term gedanken
   experiment  is  used to refer to an experiment that is impractical to
   carry  out,  but  useful to consider because it can be reasoned about
   theoretically.  (A  classic  gedanken experiment of relativity theory
   involves  thinking  about  a  man in an elevator accelerating through
   space.)  Gedanken experiments are very useful in physics, but must be
   used  with care. It's too easy to idealize away some important aspect
   of the real world in constructing the `apparatus'.

   Among hackers, accordingly, the word has a pejorative connotation. It
   is  typically  used  of  a  project,  especially  one  in  artificial
   intelligence  research, that is written up in grand detail (typically
   as  a  Ph.D.  thesis)  without  ever  being  implemented to any great
   extent.  Such  a  project is usually perpetrated by people who aren't
   very  good  hackers  or find programming distasteful or are just in a
   hurry.  A  gedanken  thesis  is  usually marked by an obvious lack of
   intuition  about what is programmable and what is not, and about what
   does  and  does not constitute a clear specification of an algorithm.
   See also {AI-complete}, {DWIM}.

:geef: v.

   [ostensibly   from   `gefingerpoken']   vt.  Syn.  {mung}.  See  also
   {blinkenlights}.

:geek: n.

   A person who has chosen concentration rather than conformity; one who
   pursues  skill  (especially  technical  skill)  and  imagination, not
   mainstream  social  acceptance.  Geeks  usually have a strong case of
   {neophilia}.  Most  geeks are adept with computers and treat {hacker}
   as  a term of respect, but not all are hackers themselves -- and some
   who  are  in  fact  hackers  normally  call  themselves geeks anyway,
   because  they (quite properly) regard `hacker' as a label that should
   be bestowed by others rather than self-assumed.

   One  description  accurately  if  a  little  breathlessly  enumerates
   "gamers,  ravers, science fiction fans, punks, perverts, programmers,
   nerds,  subgenii,  and  trekkies.  These are people who did not go to
   their high school proms, and many would be offended by the suggestion
   that they should have even wanted to."

   Originally,  a  geek  was  a carnival performer who bit the heads off
   chickens.  (In  early  20th-century Scotland a `geek' was an immature
   coley,  a  type  of  fish.)  Before about 1990 usage of this term was
   rather  negative. Earlier versions of this lexicon defined a computer
   geek  as  one  who  eats  (computer) bugs for a living -- an asocial,
   malodorous,  pasty-faced  monomaniac  with  all  the personality of a
   cheese  grater.  This  is  often  still the way geeks are regarded by
   non-geeks,  but  as  the mainstream culture becomes more dependent on
   technology  and  technical  skill mainstream attitudes have tended to
   shift  towards grudging respect. Correspondingly, there are now `geek
   pride'  festivals  (the  implied  reference  to  `gay  pride'  is not
   accidental).

   See  also {propeller head}, {clustergeeking}, {geek out}, {wannabee},
   {terminal junkie}, {spod}, {weenie}, {geek code}, {alpha geek}.

:geek code: n.

   (also  "Code  of  the  Geeks").  A set of codes commonly used in {sig
   block}s  to  broadcast  the interests, skills, and aspirations of the
   poster.  Features  a G at the left margin followed by numerous letter
   codes, often suffixed with plusses or minuses. Because many net users
   are involved in computer science, the most common prefix is `GCS'. To
   see a copy of the current code, browse http://www.geekcode.com/. Here
   is  a  sample  geek code (that of Robert Hayden, the code's inventor)
   from that page:

   -----BEGIN GEEK CODE BLOCK-----
   Version: 3.1
   GED/J d-- s:++>: a- C++(++++)$ ULUO++ P+>+++ L++ !E---- W+(---) N+++
   o+ K+++ w+(---) O- M+$>++ V-- PS++(+++)>$ PE++(+)>$ Y++ PGP++ t- 5+++
   X++ R+++>$ tv+ b+ DI+++ D+++ G+++++>$ e++$>++++ h r-- y+**
   ------END GEEK CODE BLOCK------

   The  geek  code originated in 1993; it was inspired (according to the
   inventor)     by     previous    "bear",    "smurf"    and    "twink"
   style-and-sexual-preference  codes from lesbian and gay {newsgroup}s.
   It  has  in  turn spawned imitators; there is now even a "Saturn geek
   code" for owners of the Saturn car. See also {geek}.

:geek out: vi.

   To temporarily enter techno-nerd mode while in a non-hackish context,
   for  example at parties held near computer equipment. Especially used
   when  you need to do or say something highly technical and don't have
   time  to  explain:  "Pardon  me  while  I geek out for a moment." See
   {geek}; see also {propeller head}.

:geekasm:

   Originally from a quote on the PBS show Scientific American Frontiers
   (week  of  May  21st  2002)  by MIT professor Alex Slocum: "When they
   build a machine, if they do the calculations right, the machine works
   and  you  get  this  intense  ...  uhh  ... just like a geekasm, from
   knowing  that  what  you  created in your mind and on the computer is
   actually  doing  what  you told it to do". Unsurprisingly, this usage
   went  live  on  the  Web  almost  instantly.  Every hacker knows this
   feeling. Compare earlier {progasm}.

:gen: /jen/, n.,v.

   Short  for  {generate},  used  frequently  in both spoken and written
   contexts.

:gender mender: n.

   [common]  A  cable connector shell with either two male or two female
   connectors  on  it,  used  to correct the mismatches that result when
   some  {loser}  didn't  understand  the  RS232C  specification and the
   distinction  between  DTE  and  DCE.  Used  esp. for RS-232C parts in
   either  the  original  D-25  or  the  IBM PC's bogus D-9 format. Also
   called   gender   bender,  gender  blender,  sex  changer,  and  even
   homosexual adapter; however, there appears to be some confusion as to
   whether  a  male homosexual adapter has pins on both sides (is doubly
   male) or sockets on both sides (connects two males).

:General Public Virus: n.

   Pejorative  name for some versions of the {GNU} project {copyleft} or
   General Public License (GPL), which requires that any tools or {app}s
   incorporating  copylefted code must be source-distributed on the same
   anti-proprietary  terms  as  GNU  stuff.  Thus it is alleged that the
   copyleft  `infects'  software  generated with GNU tools, which may in
   turn  infect  other  software  that  reuses any of its code. The Free
   Software  Foundation's official position is that copyright law limits
   the scope of the GPL to "programs textually incorporating significant
   amounts  of  GNU  code", and that the `infection' is not passed on to
   third  parties unless actual GNU source is transmitted. Nevertheless,
   widespread  suspicion  that the {copyleft} language is `boobytrapped'
   has  caused  many  developers  to  avoid using GNU tools and the GPL.
   Changes in the language of the version 2.0 GPL did not eliminate this
   problem.

:generate: vt.

   To  produce  something according to an algorithm or program or set of
   rules,  or as a (possibly unintended) side effect of the execution of
   an  algorithm  or program. The opposite of {parse}. This term retains
   its  mechanistic  connotations (though often humorously) when used of
   human  behavior.  "The  guy is rational most of the time, but mention
   nuclear energy around him and he'll generate {infinite} flamage."

:Genius From Mars Technique: n.

   [TMRC]  A  visionary quality which enables one to ignore the standard
   approach  and  come  up  with  a totally unexpected new algorithm. An
   attack  on  a  problem  from  an  offbeat  angle that no one has ever
   thought  of before, but that in retrospect makes total sense. Compare
   {grok}, {zen}.

:gensym: /jen´sim/

   [from MacLISP for generated symbol]

   1.  v.  To  invent  a new name for something temporary, in such a way
   that the name is almost certainly not in conflict with one already in
   use.

   2.  n.  The resulting name. The canonical form of a gensym is `Gnnnn'
   where nnnn represents a number; any LISP hacker would recognize G0093
   (for example) as a gensym.

   3.  A  freshly  generated  data  structure  with  a  gensymmed  name.
   Gensymmed  names  are  useful  for  storing  or  uniquely identifying
   crufties (see {cruft}).

:Get a life!: imp.

   Hacker-standard  way  of  suggesting  that  the  person to whom it is
   directed  has succumbed to terminal geekdom (see {geek}). Often heard
   on  {Usenet},  esp.  as a way of suggesting that the target is taking
   some  obscure issue of {theology} too seriously. This exhortation was
   popularized  by William Shatner on a 1987 Saturday Night Live episode
   in  a  speech  that ended "Get a life!", but it can be traced back at
   least  to  `Valley  Girl' slang in 1983. It was certainly in wide use
   among  hackers for years before achieving mainstream currency via the
   sitcom Get A Life in 1990.

:Get a real computer!: imp.

   Typical  hacker  response  to  news  that  somebody is having trouble
   getting  work done on a system that (a) is single-tasking, (b) has no
   hard  disk,  or  (c)  has an address space smaller than 16 megabytes.
   This is as of early 1996; note that the threshold for `real computer'
   rises with time. See {bitty box} and {toy}.

:GandhiCon:

   There  is  a  quote  from  Mohandas  Gandhi, describing the stages of
   establishment   resistence   to  a  winning  strategy  of  nonviolent
   activism, that partisans of {open source} and especially {Linux} have
   embraced  as  almost  an explanatory framework for the behaviors they
   observe while trying to get corporations and other large institutions
   to take new ways of doing things seriously:

     First  they  ignore  you.  Then they laugh at you. Then they fight
     you. Then you win.

   In  hacker  usage this quote has miscegenated with the U.S military's
   DefCon  terminology describing `defense conditions' or degrees of war
   alert.  At  GhandiCon  One,  you're  being ignored. At GhandiCon Two,
   opponents  are laughing at you and dismissing the idea that you could
   ever  be  a  threat.  At GhandiCon Three, they're fighting you on the
   merits  and/or attempting to discredit you. At GhandiCon Four, you're
   winning  and  they  are  arguing  to  save face or stave off complete
   collapse of their position.

:gib: /jib/

   1.  vi.  To  destroy  utterly. Like {frag}, but much more violent and
   final. "There's no trace left. You definitely gibbed that bug".

   2. n. Remnants after total obliteration.

   Originated  first  by  id  software in the game Quake. It's short for
   giblets  (thus  pronounced "jib"), and referred to the bloody remains
   of  slain  opponents. Eventually the word was verbed, and leaked into
   general usage afterward.

:GIFs at 11:

   [Fidonet]  Fidonet  alternative to {film at 11}, especially in echoes
   (Fidonet  topic  areas)  where  uuencoded  GIFs  are permitted. Other
   formats, especially JPEG and MPEG, may be referenced instead.

:gig: /jig/, /gig/, n.

   [SI] See {quantifiers}.

:giga-: /ji´ga/, /gi´ga/, pref.

   [SI] See {quantifiers}.

:GIGO: /gi:´goh/

   1.  `Garbage In, Garbage Out' -- usually said in response to {luser}s
   who  complain  that  a program didn't "do the right thing" when given
   imperfect  input  or  otherwise mistreated in some way. Also commonly
   used  to  describe  failures  in human decision making due to faulty,
   incomplete, or imprecise data.

   2.  Garbage  In, Gospel Out: this more recent expansion is a sardonic
   comment  on  the tendency human beings have to put excessive trust in
   `computerized' data.

:gilley: n.

   [Usenet]   The  unit  of  analogical  {bogosity}.  According  to  its
   originator,   the   standard   for   one   gilley  was  "the  act  of
   bogotoficiously  comparing  the  shutting down of 1000 machines for a
   day  with  the killing of one person". The milligilley has been found
   to suffice for most normal conversational exchanges.

:gillion: /gil´y@n/, /jil´y@n/, n.

   [formed  from {giga-} by analogy with mega/million and tera/trillion]
   10^9.  Same  as  an  American  billion or a British milliard. How one
   pronounces  this depends on whether one speaks {giga-} with a hard or
   soft `g'.

:ginger: n.

   See {saga}.

:GIPS: /gips/, /jips/, n.

   [analogy  with  {MIPS}]  Giga-Instructions  per Second (also possibly
   `Gillions  of Instructions per Second'; see {gillion}). In 1991, this
   is  used  of  only a handful of highly parallel machines, but this is
   expected to change. Compare {KIPS}.

:glark: /glark/, vt.

   To  figure  something  out  from context. "The System III manuals are
   pretty  poor,  but you can generally glark the meaning from context."
   Interestingly, the word was originally `glork'; the context was "This
   gubblick  contains  many  nonsklarkish  English  flutzpahs,  but  the
   overall  pluggandisp can be glorked [sic] from context" (David Moser,
   quoted  by Douglas Hofstadter in his Metamagical Themas column in the
   January  1981  Scientific  American).  It  is conjectured that hacker
   usage  mutated  the  verb  to  `glark' because {glork} was already an
   established  jargon  term  (some hackers do report using the original
   term). Compare {grok}, {zen}.

:glass: n.

   [IBM] Synonym for {silicon}.

:glass tty: /glas T·T·Y/, /glas ti´tee/, n.

   [obs.]  A  terminal  that  has a display screen but which, because of
   hardware  or  software  limitations,  behaves like a teletype or some
   other printing terminal, thereby combining the disadvantages of both:
   like a printing terminal, it can't do fancy display hacks, and like a
   display  terminal,  it  doesn't  produce hard copy. An example is the
   early  `dumb' version of Lear-Siegler ADM 3 (without cursor control).
   See  {tube},  {tty};  compare  {dumb  terminal}.  See  TV Typewriters
   (Appendix A) for an interesting true story about a glass tty.

:glassfet: /glas´fet/, n.

   [by  analogy  with  MOSFET, the acronym for Metal-Oxide-Semiconductor
   Field-Effect  Transistor]  Syn. {firebottle}, a humorous way to refer
   to a vacuum tube.

:glitch: /glich/

   [very   common;   from   German  `glitschig'  slippery,  via  Yiddish
   `glitshen', to slide or skid]

   1.  n. A sudden interruption in electric service, sanity, continuity,
   or  program  function.  Sometimes  recoverable.  An  interruption  in
   electric  service  is specifically called a power glitch (also {power
   hit}), of grave concern because it usually crashes all the computers.
   In  jargon,  though, a hacker who got to the middle of a sentence and
   then  forgot how he or she intended to complete it might say, "Sorry,
   I just glitched".

   2. vi. To commit a glitch. See {gritch}.

   3. vt. [Stanford] To scroll a display screen, esp. several lines at a
   time.  {WAITS} terminals used to do this in order to avoid continuous
   scrolling, which is distracting to the eye.

   4. obs. Same as {magic cookie}, sense 2.

   All  these  uses of glitch derive from the specific technical meaning
   the  term  has  in  the  electronic  hardware  world, where it is now
   techspeak.  A  glitch  can occur when the inputs of a circuit change,
   and  the  outputs  change  to some {random} value for some very brief
   time before they settle down to the correct value. If another circuit
   inspects the output at just the wrong time, reading the random value,
   the results can be very wrong and very hard to debug (a glitch is one
   of many causes of electronic {heisenbug}s).

   [73-06-04.png]

   Coping with a hydraulic {glitch}.

   (The next cartoon in the Crunchly saga is 73-07-24)

:glob: /glob/, not, /glohb/, v.,n.

   [Unix;  common] To expand special characters in a wildcarded name, or
   the  act  of  so doing (the action is also called globbing). The Unix
   conventions   for   filename  wildcarding  have  become  sufficiently
   pervasive  that  many  hackers  use  some of them in written English,
   especially  in  email  or  news  on  technical topics. Those commonly
   encountered include the following:

   * wildcard for any string (see also {UN*X})
   ? wildcard for any single character (generally read this way only at
   the beginning or in the middle of a word)
   [] delimits a wildcard matching any of the enclosed characters
   {}  alternation of comma-separated alternatives; thus, `foo{baz,qux}'
   would be read as `foobaz' or `fooqux'

   Some  examples: "He said his name was [KC]arl" (expresses ambiguity).
   "I don't read talk.politics.*" (any of the talk.politics subgroups on
   {Usenet}).  Other  examples  are  given under the entry for {X}. Note
   that  glob  patterns are similar, but not identical, to those used in
   {regexp}s.

   Historical  note:  The  jargon usage derives from glob, the name of a
   subprogram  that expanded wildcards in archaic pre-Bourne versions of
   the Unix shell.

:glork: /glork/

   1.  interj.  Term  of  mild surprise, usually tinged with outrage, as
   when  one  attempts  to  save the results of two hours of editing and
   finds that the system has just crashed.

   2. Used as a name for just about anything. See {foo}.

   3. vt. Similar to {glitch}, but usually used reflexively. "My program
   just glorked itself."

   4. Syn. for {glark}, which see.

:glue: n.

   Generic  term  for  any interface logic or protocol that connects two
   component blocks. For example, {Blue Glue} is IBM's SNA protocol, and
   hardware  designers  call  anything  used  to connect large VLSI's or
   circuit blocks glue logic.

:gnarly: /nar´lee/, adj.

   Both  {obscure} and {hairy} (sense 1). "{Yow!} -- the tuned assembler
   implementation  of  BitBlt is really gnarly!" From a similar but less
   specific usage in surfer slang.

:GNU: /gnoo/, not, /noo/

   1.   [acronym:   `GNU's   Not  Unix!',  see  {recursive  acronym}]  A
   Unix-workalike  development  effort  of  the Free Software Foundation
   headed  by  Richard  Stallman.  GNU EMACS and the GNU C compiler, two
   tools  designed  for  this  project,  have  become  very  popular  in
   hackerdom  and  elsewhere.  The  GNU  project  was designed partly to
   proselytize for RMS's position that information is community property
   and all software source should be shared. One of its slogans is "Help
   stamp  out  software  hoarding!"  Though  this  remains controversial
   (because  it implicitly denies any right of designers to own, assign,
   and sell the results of their labors), many hackers who disagree with
   RMS   have  nevertheless  cooperated  to  produce  large  amounts  of
   high-quality software for free redistribution under the Free Software
   Foundation's   imprimatur.   The  GNU  project  has  a  web  page  at
   http://www.gnu.org/. See {EMACS}, {copyleft}, {General Public Virus},
   {Linux}.

   2.  Noted  Unix  hacker  John  Gilmore  <gnu@toad.com>},  founder  of
   Usenet's anarchic alt.* hierarchy.

:gnubie: /noo´bee/, n.

   Written-only variant of {newbie} in common use on IRC channels, which
   implies     specifically     someone    who    is    new    to    the
   Linux/open-source/free-software world.

:GNUMACS: /gnoo´maks/, n.

   [contraction  of  `GNU  EMACS']  Often-heard abbreviated name for the
   {GNU}  project's  flagship  tool,  {EMACS}.  StallMACS,  referring to
   Richard  Stallman,  is  less  common  but  also  heard.  Used esp. in
   contrast with {GOSMACS} and X Emacs.

:go flatline: v.

   [from   cyberpunk  SF,  refers  to  flattening  of  EEG  traces  upon
   brain-death] (also adjectival flatlined).

   1.  To  {die},  terminate,  or  fail,  esp.  irreversibly.  In hacker
   parlance, this is used of machines only, human death being considered
   somewhat too serious a matter to employ jargon-jokes about.

   2. To go completely quiescent; said of machines undergoing controlled
   shutdown. "You can suffer file damage if you shut down Unix but power
   off before the system has gone flatline."

   3.  Of a video tube, to fail by losing vertical scan, so all one sees
   is a bright horizontal line bisecting the screen.

:go gold: v.

   [common] See {golden}.

:go root: vi.

   [Unix; common] To temporarily enter {root mode} in order to perform a
   privileged  operation.  This use is deprecated in Australia, where v.
   `root' is a synonym for "fuck".

:go-faster stripes: n.

   [UK] Syn. {chrome}. Mainstream in some parts of UK.

:GoAT: //

   [Usenet] Abbreviation: "Go Away, Troll". See {troll}.

:goat file:

   A  sacrificial  file  used  to  test  a  computer virus, i.e. a dummy
   executable  that carries a sample of the virus, isolated so it can be
   atudied.  Not  common  among hackers, since the Unix systems most use
   basically don't get viruses.

:gobble: vt.

   1.  To  consume,  usu.:  used  with  `up'.  "The  output  spy gobbles
   characters out of a {tty} output buffer."

   2.  To  obtain,  usu.:  used with `down'. "I guess I'll gobble down a
   copy of the documentation tomorrow." See also {snarf}.

:Godwin's Law: prov.

   [Usenet]  "As  a Usenet discussion grows longer, the probability of a
   comparison  involving  Nazis  or  Hitler  approaches one." There is a
   tradition in many groups that, once this occurs, that thread is over,
   and  whoever  mentioned  the  Nazis  has  automatically lost whatever
   argument  was  in  progress. Godwin's Law thus practically guarantees
   the  existence  of  an  upper bound on thread length in those groups.
   However   there  is  also  a  widely-  recognized  codicil  that  any
   intentional  triggering  of  Godwin's  Law  in  order  to  invoke its
   thread-ending  effects  will  be  unsuccessful.  Godwin  himself  has
   discussed the subject.

:Godzillagram: /god·zil'@·gram/, n.

   [from Japan's national hero]

   1. A network packet that in theory is a broadcast to every machine in
   the universe. The typical case is an IP datagram whose destination IP
   address  is  [255.255.255.255]. Fortunately, few gateways are foolish
   enough to attempt to implement this case!

   2.  A  network  packet of maximum size. An IP Godzillagram has 65,535
   octets.  Compare  {super  source  quench},  {Christmas  tree packet},
   {martian}.

:golden: adj.

   [prob.:  from  folklore's  `golden  egg']  When  used  to  describe a
   magnetic  medium  (e.g.,  golden  disk,  golden  tape), describes one
   containing  a  tested,  up-to-spec,  ready-to-ship  software version.
   Compare  {platinum-iridium}. One may also "go gold", which is the act
   of  releasing  a  golden  version. The gold color of many CDROMs is a
   coincidence;  this  term  was  well established a decade before CDROM
   distribution become common in the mid-1990s.

:golf-ball printer: n. obs.

   The  IBM 2741, a slow but letter-quality printing device and terminal
   based  on  the  IBM  Selectric typewriter. The golf ball was a little
   spherical  frob  bearing  reversed  embossed  images  of 88 different
   characters  arranged  on four parallels of latitude; one could change
   the font by swapping in a different golf ball. The print element spun
   and  jerked  alarmingly  in  action  and when in motion was sometimes
   described  as  an  infuriated golf ball. This was the technology that
   enabled  APL  to  use a non-EBCDIC, non-ASCII, and in fact completely
   non-standard character set. This put it 10 years ahead of its time --
   where  it  stayed,  firmly  rooted,  for the next 20, until character
   displays  gave  way  to  programmable  bit-mapped  devices  with  the
   flexibility to support other character sets.

:gonk: /gonk/, vi.,n.

   1.  [prob.  back-formed  from  {gonkulator}.]  To  prevaricate  or to
   embellish  the truth beyond any reasonable recognition. In German the
   term  is  (mythically)  gonken;  in  Spanish the verb becomes gonkar.
   "You're  gonking me. That story you just told me is a bunch of gonk."
   In German, for example, "Du gonkst mich" (You're pulling my leg). See
   also {gonkulator}.

   2. [British] To grab some sleep at an odd time; compare {gronk out}.

:gonkulator: /gon´kyoo·lay·tr/, n.

   [common; from the 1960s Hogan's Heroes TV series] A pretentious piece
   of  equipment that actually serves no useful purpose. Usually used to
   describe one's least favorite piece of computer hardware. See {gonk}.

:gonzo: /gon´zoh/, adj.

   [from Hunter S. Thompson]

   1.  With  total  commitment,  total  concentration, and a mad sort of
   panache. (Thompson's original sense.)

   2.  More loosely: Overwhelming; outrageous; over the top; very large,
   esp.  used of collections of source code, source files, or individual
   functions.  Has  some  of the connotations of {moby} and {hairy}, but
   without the implication of obscurity or complexity.

:Good Thing: n.,adj.

   [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.]

   1.  Self-evidently  wonderful  to  anyone in a position to notice: "A
   language  that manages dynamic memory automatically for you is a Good
   Thing."

   2.  Something  that  can't possibly have any ill side-effects and may
   save considerable grief later: "Removing the self-modifying code from
   that shared library would be a Good Thing."

   3.  When  said  of software tools or libraries, as in "YACC is a Good
   Thing",  specifically connotes that the thing has drastically reduced
   a programmer's work load. Oppose {Bad Thing}.

:google: v.

   [common]   To   search  the  Web  using  the  Google  search  engine,
   http://www.google.com.  Google  is  highly esteemed among hackers for
   its significance ranking system, which is so uncannily effective that
   many  hackers  consider  it  to  have  rendered  other search engines
   effectively  irrelevant.  The name `google' has additional flavor for
   hackers because most know that it was copied from a mathematical term
   for  ten  to the 100th power, famously first uttered as `googol' by a
   mathematician's nine-year-old nephew.

:google juice: n.

   A hypothetical substance which attracts the index bots of Google.com.
   In  common  usage,  a web page or web site with high placement in the
   results of a particular search on Google or frequent placement in the
   results of a various searches is said to have "a lot of google juice"
   or  "good google juice". Also used to compare web pages or web sites,
   for  example  "CrackMonkey has more google juice than KPMG". See also
   {juice}, {kilogoogle}.

:gopher: n.

   [obs.]  A  type  of  Internet  service  first floated around 1991 and
   obsolesced  around  1995  by  the  World  Wide Web. Gopher presents a
   menuing  interface  to  a tree or graph of links; the links can be to
   documents,  runnable  programs, or other gopher menus arbitrarily far
   across the net.

   Some  claim  that the gopher software, which was originally developed
   at the University of Minnesota, was named after the Minnesota Gophers
   (a  sports  team).  Others claim the word derives from American slang
   gofer  (from  "go  for", dialectal "go fer"), one whose job is to run
   and fetch things. Finally, observe that gophers dig long tunnels, and
   the  idea  of  tunneling  through  the  net to find information was a
   defining  metaphor for the developers. Probably all three things were
   true,  but  with  the  first  two  coming first and the gopher-tunnel
   metaphor  serendipitously adding flavor and impetus to the project as
   it developed out of its concept stage.

:gopher hole: n.

   1. Any access to a {gopher}.

   2.  [Amateur  Packet  Radio]  The  terrestrial analog of a {wormhole}
   (sense  2),  from which this term was coined. A gopher hole links two
   amateur packet relays through some non-ham radio medium.

:gorets: /gor´ets/, n.

   The  unknown  ur-noun,  fill  in  your own meaning. Found esp. on the
   Usenet  newsgroup  alt.gorets, which seems to be a running contest to
   redefine  the  word  by implication in the funniest and most peculiar
   way,  with  the  understanding  that  no definition is ever final. [A
   correspondent  from the former Soviet Union informs me that gorets is
   Russian  for  `mountain dweller'. Another from France informs me that
   goret is archaic French for a young pig --ESR] Compare {frink}.

:gorilla arm: n.

   The  side-effect  that  destroyed touch-screens as a mainstream input
   technology despite a promising start in the early 1980s. It seems the
   designers  of  all those {spiffy} touch-menu systems failed to notice
   that  humans  aren't  designed  to  hold their arms in front of their
   faces  making  small  motions. After more than a very few selections,
   the  arm  begins to feel sore, cramped, and oversized -- the operator
   looks  like a gorilla while using the touch screen and feels like one
   afterwards.  This  is  now  considered  a  classic cautionary tale to
   human-factors designers; "Remember the gorilla arm!" is shorthand for
   "How is this going to fly in real use?".

:gorp: /gorp/, n.

   [CMU:  perhaps  from the canonical hiker's food, Good Old Raisins and
   Peanuts] Another {metasyntactic variable}, like {foo} and {bar}.

:GOSMACS: /goz´maks/, n.

   [contraction    of    `Gosling   EMACS']   The   first   {EMACS}-in-C
   implementation,  predating  but  now  largely  eclipsed by {GNUMACS}.
   Originally  freeware;  a  commercial  version was modestly popular as
   `UniPress EMACS' during the 1980s. The author, James Gosling, went on
   to invent {NeWS} and the programming language Java; the latter earned
   him {demigod} status.

:gotcha: n.

   A  {misfeature}  of  a  system,  especially a programming language or
   environment,  that tends to breed bugs or mistakes because it is both
   enticingly   easy   to   invoke   and  completely  unexpected  and/or
   unreasonable  in its outcome. For example, a classic gotcha in {C} is
   the  fact  that if (a=b) {code;} is syntactically valid and sometimes
   even correct. It puts the value of b into a and then executes code if
   a  is  non-zero.  What  the  programmer  probably meant was if (a==b)
   {code;}, which executes code if a and b are equal.

:GPL: /G·P·L/, n.

   Abbreviation  for  `General  Public  License'  in widespread use; see
   {copyleft}, {General Public Virus}. Often mis-expanded as `GNU Public
   License'.

:GPV: /G·P·V/, n.

   Abbrev. for {General Public Virus} in widespread use.

:gray goo: n.

   A  hypothetical  substance  composed  of {sagan}s of sub-micron-sized
   self-replicating  robots  programmed to make copies of themselves out
   of whatever is available. The image that goes with the term is one of
   the  entire  biosphere  of  Earth being eventually converted to robot
   goo. This is the simplest of the {nanotechnology} disaster scenarios,
   easily  refuted  by  arguments from energy requirements and elemental
   abundances. Compare {blue goo}.

:gray hat:

   See {black hat}.

:Great Internet Explosion:

   The mainstreaming of the Internet in 1993-1994. Used normally in time
   comparatives;  before  the Great Internet Explosion and after it were
   very  different  worlds  from  a  hacker's  point of view. Before it,
   Internet  access  was  expensive  and  available only to an elite few
   through   universities,   research   laboratories,   and  well-heeled
   corporations; after it, everybody's mother had access.

:Great Renaming: n.

   The  {flag  day}  in 1987 on which all of the non-local groups on the
   {Usenet} had their names changed from the net.- format to the current
   multiple-hierarchies  scheme.  Used esp. in discussing the history of
   newsgroup  names.  "The  oldest  sources  group is comp.sources.misc;
   before  the  Great  Renaming,  it  was net.sources." There is a Great
   Renaming FAQ on the Web.

:Great Runes: n.

   Uppercase-only  text  or  display  messages.  Some  archaic operating
   systems  still  emit  these.  See  also  {runes}, {smash case}, {fold
   case}.

   There  is  a  widespread legend (repeated by earlier versions of this
   entry,  though tagged as folklore) that the uppercase-only support of
   various  old  character  codes  and  I/O  equipment  was  chosen by a
   religious  person  in  a  position  of  power at the Teletype Company
   because  supporting  both upper and lower cases was too expensive and
   supporting  lower  case  only  would have made it impossible to spell
   `God'   correctly.   Not   true;  the  upper-case  interpretation  of
   teleprinter  codes was well established by 1870, long before Teletype
   was even founded.

:Great Worm: n.

   The  1988  Internet  {worm}  perpetrated  by {RTM}. This is a play on
   Tolkien  (compare  {elvish}, {elder days}). In the fantasy history of
   his  Middle  Earth  books,  there were dragons powerful enough to lay
   waste  to  entire  regions;  two  of these (Scatha and Glaurung) were
   known as "the Great Worms". This usage expresses the connotation that
   the  RTM  crack  was  a sort of devastating watershed event in hacker
   history;  certainly it did more to make non-hackers nervous about the
   Internet than anything before or since.

:great-wall: vi.,n.

   [from  SF  fandom]  A mass expedition to an oriental restaurant, esp.
   one  where  food is served family-style and shared. There is a common
   heuristic  about the amount of food to order, expressed as "Get N - 1
   entrees"; the value of N, which is the number of people in the group,
   can  be inferred from context (see {N}). See {oriental food}, {ravs},
   {stir-fried random}.

:green bytes: n.

   (also green words)

   1.  Meta-information  embedded  in  a file, such as the length of the
   file  or  its  name;  as  opposed  to  keeping  such information in a
   separate  description  file  or  record.  The  term comes from an IBM
   user's  group  meeting  (ca. 1962) at which these two approaches were
   being  debated  and the diagram of the file on the blackboard had the
   green bytes drawn in green.

   2.  By extension, the non-data bits in any self-describing format. "A
   GIF  file  contains,  among  other things, green bytes describing the
   packing  method  for  the image." Compare {out-of-band}, {zigamorph},
   {fence} (sense 1).

:green card: n.

   [after  the  IBM  System/360  Reference  Data  card]  A summary of an
   assembly  language,  even  if  the color is not green and not a card.
   Less  frequently  used  now  because  of  the  decrease in the use of
   assembly  language.  "I'll  go  get  my green card so I can check the
   addressing mode for that instruction."

   The  original green card became a yellow card when the System/370 was
   introduced,  and  later a yellow booklet. An anecdote from IBM refers
   to  a  scene  that  took  place  in  a  programmers' terminal room at
   Yorktown  in  1978.  A  {luser}  overheard one of the programmers ask
   another  "Do you have a green card?" The other grunted and passed the
   first  a  thick  yellow  booklet.  At  this  point the luser turned a
   delicate shade of olive and rapidly left the room, never to return.

   In  fall  2000  it was reported from Electronic Data Systems that the
   green card for 370 machines has been a blue-green booklet since 1989.

:green lightning: n.

   [IBM]

   1. Apparently random flashing streaks on the face of 3278-9 terminals
   while  a  new  symbol  set is being downloaded. This hardware bug was
   left  deliberately  unfixed,  as  some genius within IBM suggested it
   would  let  the  user  know  that  `something is happening'. That, it
   certainly   does.  Later  microprocessor-driven  IBM  color  graphics
   displays were actually programmed to produce green lightning!

   2.  [proposed]  Any  bug  perverted into an alleged feature by adroit
   rationalization  or  marketing. "Motorola calls the CISC cruft in the
   88000  architecture  `compatibility  logic',  but  I  call  it  green
   lightning". See also {feature} (sense 6).

:green machine: n.

   A  computer  or peripheral device that has been designed and built to
   military  specifications  for  field equipment (that is, to withstand
   mechanical  shock,  extremes  of  temperature  and  humidity,  and so
   forth).  Comes  from the olive-drab `uniform' paint used for military
   equipment.

:Green's Theorem: prov.

   [TMRC]  For  any story, in any group of people there will be at least
   one  person  who has not heard the story. A refinement of the theorem
   states that there will be exactly one person (if there were more than
   one,  it  wouldn't be as bad to re-tell the story). [The name of this
   theorem is a play on a fundamental theorem in calculus. --ESR]

:greenbar: n.

   A style of fanfolded continuous-feed paper with alternating green and
   white  bars  on  it, especially used in old-style line printers. This
   slang almost certainly dates way back to mainframe days.

:grep: /grep/, vi.

   [from  the  qed/ed editor idiom g/re/p, where re stands for a regular
   expression,  to  Globally search for the Regular Expression and Print
   the  lines  containing  matches to it, via {Unix} grep(1)] To rapidly
   scan  a  file  or  set  of  files  looking for a particular string or
   pattern (when browsing through a large set of files, one may speak of
   grepping  around).  By  extension,  to look for something by pattern.
   "Grep  the bulletin board for the system backup schedule, would you?"
   See also {vgrep}.

   [It  has been alleged that the source is from the title of a paper "A
   General  Regular  Expression  Parser",  but  dmr  confirms the g/re/p
   etymology --ESR]

:gribble: n.

   Random binary data rendered as unreadable text. Noise characters in a
   data  stream  are  displayed as gribble. Dumping a binary file to the
   screen is an excellent source of gribble, and (if the bell/speaker is
   active) headaches.

:grilf: //, n.

   Girlfriend. Like {newsfroup} and {filk}, a typo reincarnated as a new
   word.  Seems  to  have  originated  sometime  in 1992 on {Usenet}. [A
   friend  tells  me  there  was a Lloyd Biggle SF novel Watchers Of The
   Dark,  in which alien species after species goes insane and begins to
   chant  "Grilf!  Grilf!". A human detective eventually determines that
   the  word  means  "Liar!"  I  hope  this  has  nothing to do with the
   popularity of the Usenet term. --ESR]

:grind: vt.

   1.  [MIT  and  Berkeley;  now  rare]  To  prettify  hardcopy of code,
   especially  LISP  code,  by  reindenting lines, printing keywords and
   comments  in  distinct  fonts  (if  available),  etc.  This usage was
   associated  with the MacLISP community and is now rare; {prettyprint}
   was and is the generic term for such operations.

   2.  [Unix]  To  generate the formatted version of a document from the
   {troff}, {TeX}, or Scribe source.

   3. [common] To run seemingly interminably, esp. (but not necessarily)
   if  performing  some  tedious and inherently useless task. Similar to
   {crunch}  or  {grovel}.  Grinding has a connotation of using a lot of
   CPU  time, but it is possible to grind a disk, network, etc. See also
   {hog}.

   4. To make the whole system slow. "Troff really grinds a {PDP-11}."

   5. grind grind excl. Roughly, "Isn't the machine slow today!"

:grind crank: n., //

   A mythical accessory to a terminal. A crank on the side of a monitor,
   which  when operated makes a zizzing noise and causes the computer to
   run faster. Usually one does not refer to a grind crank out loud, but
   merely makes the appropriate gesture and noise. See {grind}.

   Historical note: At least one real machine actually had a grind crank
   -- the R1, a research machine built toward the end of the days of the
   great  vacuum  tube  computers,  in 1959. R1 (also known as `The Rice
   Institute   Computer'  (TRIC)  and  later  as  `The  Rice  University
   Computer'  (TRUC))  had  a  single-step/free-run  switch for use when
   debugging programs. Since single-stepping through a large program was
   rather  tedious,  there  was  also  a  crank  with  a  cam  and  gear
   arrangement  that  repeatedly  pushed  the  single-step  button. This
   allowed  one  to  `crank'  through  a  lot of code, then slow down to
   single-step for a bit when you got near the code of interest, poke at
   some  registers  using  the  console  typewriter,  and  then  keep on
   cranking. See http://www.cs.rice.edu/History/R1/.

:gritch: /grich/

   [MIT]

   1. n. A complaint (often caused by a {glitch}).

   2. vi. To complain. Often verb-doubled: "Gritch gritch".

   3. A synonym for {glitch} (as verb or noun).

   Interestingly,  this  word  seems  to  have  a  separate history from
   {glitch},  with  which it is often confused. Back in the early 1960s,
   when  `glitch' was strictly a hardware-tech's term of art, the Burton
   House dorm at M.I.T. maintained a "Gritch Book", a blank volume, into
   which   the   residents   hand-wrote   complaints,  suggestions,  and
   witticisms.   Previous   years'   volumes   of  this  tradition  were
   maintained, dating back to antiquity. The word "gritch" was described
   as  a  portmanteau  of "gripe" and "bitch". Thus, sense 3 above is at
   least historically incorrect.

:grok: /grok/, /grohk/, vt.

   [common;  from  the  novel  Stranger  in a Strange Land, by Robert A.
   Heinlein, where it is a Martian word meaning literally `to drink' and
   metaphorically  `to  be  one  with']  The  emphatic  form  is grok in
   fullness.

   1.  To  understand.  Connotes intimate and exhaustive knowledge. When
   you  claim  to  `grok' some knowledge or technique, you are asserting
   that  you  have  not merely learned it in a detached instrumental way
   but  that  it  has  become  part  of  you, part of your identity. For
   example,  to  say that you "know" {LISP} is simply to assert that you
   can code in it if necessary -- but to say you "grok" LISP is to claim
   that  you  have  deeply  entered  the  world-view  and  spirit of the
   language,  with  the implication that it has transformed your view of
   programming.  Contrast {zen}, which is similar supernal understanding
   experienced as a single brief flash. See also {glark}.

   2.  Used  of  programs,  may connote merely sufficient understanding.
   "Almost all C compilers grok the void type these days."

:gronk: /gronk/, vt.

   [popularized  by  Johnny  Hart's  comic  strip  B.C.:  but  the  word
   apparently predates that]

   1.  To clear the state of a wedged device and restart it. More severe
   than `to {frob}' (sense 2).

   2. [TMRC] To cut, sever, smash, or similarly disable.

   3.  The  sound  made by many 3.5-inch diskette drives. In particular,
   the microfloppies on a Commodore Amiga go "grink, gronk".

:gronk out: vi.

   To cease functioning. Of people, to go home and go to sleep. "I guess
   I'll gronk out now; see you all tomorrow."

:gronked: adj.

   1.  Broken.  "The teletype scanner was gronked, so we took the system
   down."

   2.  Of people, the condition of feeling very tired or (less commonly)
   sick.  "I've  been  chasing  that  bug  for  17  hours  now  and I am
   thoroughly  gronked!" Compare {broken}, which means about the same as
   {gronk} used of hardware, but connotes depression or mental/emotional
   problems in people.

:grovel: vi.

   1.  To  work  interminably  and without apparent progress. Often used
   transitively  with  `over' or `through'. "The file scavenger has been
   groveling  through  the /usr directories for 10 minutes now." Compare
   {grind} and {crunch}. Emphatic form: grovel obscenely.

   2.  To  examine minutely or in complete detail. "The compiler grovels
   over  the entire source program before beginning to translate it." "I
   grovelled  through  all  the documentation, but I still couldn't find
   the command I wanted."

:grue: n.

   [from  archaic  English  verb for shudder, as with fear] The grue was
   originated  in  the game {Zork} (Dave Lebling took the name from Jack
   Vance's  Dying  Earth  fantasies) and used in several other {Infocom}
   games  as  a  hint  that you should perhaps look for a lamp, torch or
   some type of light source. Wandering into a dark area would cause the
   game  to prompt you, "It is very dark. If you continue you are likely
   to be eaten by a grue." If you failed to locate a light source within
   the next couple of moves this would indeed be the case.

   The grue, according to scholars of the Great Underground Empire, is a
   sinister,  lurking  presence  in  the  dark  places of the earth. Its
   favorite diet is either adventurers or enchanters, but its insatiable
   appetite is tempered by its extreme fear of light. No grues have ever
   been  seen  by the light of day, and only a few have been observed in
   their  underground  lairs.  Of  those  who  have seen grues, few have
   survived  their  fearsome  jaws  to  tell the tale. Grues have sickly
   glowing  fur,  fish-mouthed  faces,  sharp  claws  and  fangs, and an
   uncontrollable  tendency to slaver and gurgle. They are certainly the
   most  evil-tempered  of  all  creatures;  to say they are touchy is a
   dangerous  understatement.  "Sour  as a grue" is a common expression,
   even among grues themselves.

   All this folklore is widely known among hackers.

:grunge: /gruhnj/, n.

   1. That which is grungy, or that which makes it so.

   2.  [Cambridge]  Code  which  is inaccessible due to changes in other
   parts  of  the  program. The preferred term in North America is {dead
   code}.

:gubbish: /guhb'@sh/, n.

   [a  portmanteau  of `garbage' and `rubbish'; may have originated with
   SF  author Philip K. Dick] Garbage; crap; nonsense. "What is all this
   gubbish?"  The  opposite  portmanteau  `rubbage' is also reported; in
   fact,  it  was  British  slang during the 19th century and appears in
   Dickens.

:Guido: /gwee´do/, /khwee´do/

   Without  qualification,  Guido  van Rossum (author of {Python}). Note
   that Guido answers to English /gwee´do/ but in Dutch it's /khwee´do/.
   Mythically, Guido's most important attribute besides Python itself is
   Guido's  time  machine,  a device he is reputed to possess because of
   the  unnerving  frequency  with  which user requests for new features
   have  been  met  with  the  response  "I  just  implemented that last
   night...". See {BDFL}.

:guiltware: /gilt´weir/, n.

   1.  A  piece  of  {freeware} decorated with a message telling one how
   long  and  hard  the author worked on it and intimating that one is a
   no-good  freeloader  if  one  does  not  immediately  send  the  poor
   suffering martyr gobs of money.

   2. A piece of {shareware} that works.

:gumby: /guhm´bee/, n.

   [from  a  class of Monty Python characters, poss. with some influence
   from the 1960s claymation character]

   1. An act of minor but conspicuous stupidity, often in gumby maneuver
   or pull a gumby.

   2.  [NRL] n. A bureaucrat, or other technical incompetent who impedes
   the progress of real work.

   3.  adj. Relating to things typically associated with people in sense
   2.  (e.g. "Ran would be writing code, but Richard gave him gumby work
   that's  due  on  Friday",  or,  "Dammit!  Travel  screwed up my plane
   tickets. I have to go out on gumby patrol.")

:gunch: /guhnch/, vt.

   [TMRC]  To  push,  prod, or poke at a device that has almost (but not
   quite) produced the desired result. Implies a threat to {mung}.

:gunpowder chicken: n.

   Same as {laser chicken}.

:guru: n.

   [Unix]  An expert. Implies not only {wizard} skill but also a history
   of  being  a  knowledge resource for others. Less often, used (with a
   qualifier)  for  other  experts on other systems, as in VMS guru. See
   {source of all good bits}.

:guru meditation: n.

   Amiga  equivalent  of  panic in Unix (sometimes just called a guru or
   guru  event).  When the system crashes, a cryptic message of the form
   "GURU  MEDITATION #XXXXXXXX.YYYYYYYY" may appear, indicating what the
   problem  was.  An  Amiga guru can figure things out from the numbers.
   Sometimes a {guru} event must be followed by a {Vulcan nerve pinch}.

   This  term  is (no surprise) an in-joke from the earliest days of the
   Amiga.  An  earlier  product  of  the  Amiga corporation was a device
   called  a `Joyboard' which was basically a plastic board built onto a
   joystick-like  device;  it  was sold with a skiing game cartridge for
   the  Atari  game  machine.  It is said that whenever the prototype OS
   crashed,  the  system  programmer  responsible  would  calm  down  by
   concentrating  on a solution while sitting cross-legged on a Joyboard
   trying  to keep the board in balance. This position resembled that of
   a  meditating  guru. Sadly, the joke was removed fairly early on (but
   there's a well-known patch to restore it in more recent versions).

:gweep: /gweep/

   [WPI]

   1. v. To {hack}, usually at night. At WPI, from 1975 onwards, one who
   gweeped could often be found at the College Computing Center punching
   cards or crashing the {PDP-10} or, later, the DEC-20. A correspondent
   who  was  there  at  the  time  opines  that  the term was originally
   onomatopoetic,   describing  the  keyclick  sound  of  the  Datapoint
   terminals  long  connected  to the PDP-10; others allege that `gweep'
   was  the sound of the Datapoint's bell (compare {feep}). The term has
   survived  the  demise  of  those technologies, however, and was still
   alive  in  early 1999. "I'm going to go gweep for a while. See you in
   the morning." "I gweep from 8 PM till 3 AM during the week."

   2.  n.  One  who  habitually  gweeps  in sense 1; a {hacker}. "He's a
   hard-core  gweep,  mumbles  code  in his sleep." Around 1979 this was
   considered  derogatory  and  not used in self-reference; it has since
   been proudly claimed in much the same way as {geek}.

H

:h:

   [from  SF  fandom]  A method of `marking' common words, i.e., calling
   attention  to  the  fact  that  they are being used in a nonstandard,
   ironic, or humorous way. Originated in the fannish catchphrase "Bheer
   is  the  One  True Ghod!" from decades ago. H-infix marking of `Ghod'
   and  other words spread into the 1960s counterculture via underground
   comix,  and  into  early  hackerdom either from the counterculture or
   from  SF  fandom  (the  three  overlapped  heavily at the time). More
   recently,  the  h  infix  has become an expected feature of benchmark
   names  (Dhrystone,  Rhealstone, etc.); this is probably patterning on
   the  original  Whetstone (the name of a laboratory) but influenced by
   the fannish/counterculture h infix.

:ha ha only serious:

   [from  SF  fandom, orig. as mutation of HHOK, `Ha Ha Only Kidding'] A
   phrase  (often  seen  abbreviated  as  HHOS)  that aptly captures the
   flavor  of  much  hacker  discourse.  Applied especially to parodies,
   absurdities, and ironic jokes that are both intended and perceived to
   contain  a  possibly  disquieting amount of truth, or truths that are
   constructed  on  in-joke  and self-parody. This lexicon contains many
   examples  of ha-ha-only-serious in both form and content. Indeed, the
   entirety  of  hacker culture is often perceived as ha-ha-only-serious
   by hackers themselves; to take it either too lightly or too seriously
   marks  a  person  as an outsider, a {wannabee}, or in {larval stage}.
   For  further  enlightenment  on this subject, consult any Zen master.
   See also {hacker humor}, and {koan}.

:hack:

   [very common]

   1.  n.  Originally, a quick job that produces what is needed, but not
   well.

   2.  n.  An incredibly good, and perhaps very time-consuming, piece of
   work that produces exactly what is needed.

   3. vt. To bear emotionally or physically. "I can't hack this heat!"

   4.  vt.  To  work on something (typically a program). In an immediate
   sense:  "What  are  you  doing?"  "I'm  hacking  TECO."  In a general
   (time-extended)  sense:  "What do you do around here?" "I hack TECO."
   More  generally,  "I  hack  foo"  is roughly equivalent to "foo is my
   major  interest  (or  project)".  "I  hack  solid-state physics." See
   {Hacking X for Y}.

   5. vt. To pull a prank on. See sense 2 and {hacker} (sense 5).

   6.  vi.  To  interact  with  a  computer in a playful and exploratory
   rather than goal-directed way. "Whatcha up to?" "Oh, just hacking."

   7. n. Short for {hacker}.

   8.  See {nethack}. 9. [MIT] v. To explore the basements, roof ledges,
   and  steam  tunnels of a large, institutional building, to the dismay
   of  Physical  Plant  workers  and (since this is usually performed at
   educational  institutions)  the Campus Police. This activity has been
   found  to  be  eerily  similar  to  playing  adventure  games such as
   Dungeons and Dragons and {Zork}. See also {vadding}.

   Constructions  on  this  term  abound.  They include happy hacking (a
   farewell),  how's  hacking?  (a  friendly greeting among hackers) and
   hack, hack (a fairly content-free but friendly comment, often used as
   a  temporary  farewell).  For  more  on  this totipotent term see The
   Meaning of Hack. See also {neat hack}, {real hack}.

:hack attack: n.

   [poss.  by  analogy with `Big Mac Attack' from ads for the McDonald's
   fast-food  chain;  the  variant  big  hack attack is reported] Nearly
   synonymous  with  {hacking  run},  though  the  latter  more strongly
   implies an all-nighter.

:hack mode: n.

   1. What one is in when hacking, of course.

   2.  More specifically, a Zen-like state of total focus on The Problem
   that  may  be  achieved  when  one is hacking (this is why every good
   hacker  is  part mystic). Ability to enter such concentration at will
   correlates  strongly  with  wizardliness;  it  is  one  of  the  most
   important  skills  learned during {larval stage}. Sometimes amplified
   as deep hack mode.

   Being  yanked  out  of  hack  mode  (see {priority interrupt}) may be
   experienced  as  a physical shock, and the sensation of being in hack
   mode  is  more  than  a  little  habituating.  The  intensity of this
   experience  is  probably  by  itself  sufficient  explanation for the
   existence of hackers, and explains why many resist being promoted out
   of positions where they can code. See also {cyberspace} (sense 3).

   Some aspects of hacker etiquette will appear quite odd to an observer
   unaware  of  the  high  value  placed  on  hack mode. For example, if
   someone  appears at your door, it is perfectly okay to hold up a hand
   (without  turning  one's  eyes  away  from the screen) to avoid being
   interrupted.  One  may read, type, and interact with the computer for
   quite some time before further acknowledging the other's presence (of
   course,  he or she is reciprocally free to leave without a word). The
   understanding  is  that  you  might  be  in {hack mode} with a lot of
   delicate {state} (sense 2) in your head, and you dare not {swap} that
   context  out  until  you have reached a good point to pause. See also
   {juggling eggs}.

:hack on: vt.

   [very   common]   To   {hack};  implies  that  the  subject  is  some
   pre-existing  hunk  of  code  that  one  is  evolving,  as opposed to
   something one might {hack up}.

:hack together: vt.

   [common]  To  throw  something together so it will work. Unlike kluge
   together or {cruft together}, this does not necessarily have negative
   connotations.

:hack up: vt.

   To {hack}, but generally implies that the result is a hack in sense 1
   (a quick hack). Contrast this with {hack on}. To hack up on implies a
   {quick-and-dirty}   modification  to  an  existing  system.  Contrast
   {hacked up}; compare {kluge up}, {monkey up}, {cruft together}.

:hack value: n.

   Often adduced as the reason or motivation for expending effort toward
   a  seemingly useless goal, the point being that the accomplished goal
   is a hack. For example, MacLISP had features for reading and printing
   Roman  numerals,  which  were  installed  purely  for hack value. See
   {display  hack}  for  one  method  of  computing hack value, but this
   cannot really be explained, only experienced. As Louis Armstrong once
   said  when asked to explain jazz: "Man, if you gotta ask you'll never
   know."  (Feminists  please  note Fats Waller's explanation of rhythm:
   "Lady, if you got to ask, you ain't got it.")

:hacked off: adj.

   [analogous  to  `pissed  off'] Said of system administrators who have
   become annoyed, upset, or touchy owing to suspicions that their sites
   have  been  or  are  going  to be victimized by crackers, or used for
   inappropriate,   technically   illegal,   or  even  overtly  criminal
   activities.  For  example,  having  unreadable  files  in  your  home
   directory called `worm', `lockpick', or `goroot' would probably be an
   effective  (as  well  as  impressively obvious and stupid) way to get
   your sysadmin hacked off at you.

   It  has  been  pointed  out that there is precedent for this usage in
   U.S.  Navy  slang,  in  which officers under discipline are sometimes
   said to be "in hack" and one may speak of "hacking off the C.O.".

:hacked up: adj.

   Sufficiently patched, kluged, and tweaked that the surgical scars are
   beginning  to  crowd out normal tissue (compare {critical mass}). Not
   all  programs  that are hacked become hacked up; if modifications are
   done  with  some  eye to coherence and continued maintainability, the
   software may emerge better for the experience. Contrast {hack up}.

:hacker: n.

   [originally, someone who makes furniture with an axe]

   1.  A person who enjoys exploring the details of programmable systems
   and  how to stretch their capabilities, as opposed to most users, who
   prefer to learn only the minimum necessary.

   2. One who programs enthusiastically (even obsessively) or who enjoys
   programming rather than just theorizing about programming.

   3. A person capable of appreciating {hack value}.

   4. A person who is good at programming quickly.

   5. An expert at a particular program, or one who frequently does work
   using  it  or  on it; as in `a Unix hacker'. (Definitions 1 through 5
   are correlated, and people who fit them congregate.)

   6.  An  expert  or  enthusiast of any kind. One might be an astronomy
   hacker, for example.

   7. One who enjoys the intellectual challenge of creatively overcoming
   or circumventing limitations.

   8.  [deprecated]  A malicious meddler who tries to discover sensitive
   information  by poking around. Hence password hacker, network hacker.
   The correct term for this sense is {cracker}.

   The  term  `hacker'  also  tends  to connote membership in the global
   community  defined  by  the net (see {the network}. For discussion of
   some  of  the  basics of this culture, see the How To Become A Hacker
   FAQ.  It  also implies that the person described is seen to subscribe
   to some version of the hacker ethic (see {hacker ethic}).

   It  is  better to be described as a hacker by others than to describe
   oneself  that  way. Hackers consider themselves something of an elite
   (a meritocracy based on ability), though one to which new members are
   gladly welcome. There is thus a certain ego satisfaction to be had in
   identifying  yourself as a hacker (but if you claim to be one and are
   not, you'll quickly be labeled {bogus}). See also {geek}, {wannabee}.

   This term seems to have been first adopted as a badge in the 1960s by
   the  hacker  culture  surrounding  TMRC and the MIT AI Lab. We have a
   report  that  it was used in a sense close to this entry's by teenage
   radio hams and electronics tinkerers in the mid-1950s.

:hacker ethic: n.

   1.  The  belief that information-sharing is a powerful positive good,
   and that it is an ethical duty of hackers to share their expertise by
   writing  open-source  code and facilitating access to information and
   to computing resources wherever possible.

   2.  The  belief  that  system-cracking  for  fun  and  exploration is
   ethically  OK  as long as the cracker commits no theft, vandalism, or
   breach of confidentiality.

   Both  of  these  normative  ethical  principles are widely, but by no
   means  universally, accepted among hackers. Most hackers subscribe to
   the hacker ethic in sense 1, and many act on it by writing and giving
   away  open-source  software.  A  few  go  further and assert that all
   information  should be free and any proprietary control of it is bad;
   this is the philosophy behind the {GNU} project.

   Sense  2  is  more  controversial:  some  people  consider the act of
   cracking  itself to be unethical, like breaking and entering. But the
   belief   that   `ethical'  cracking  excludes  destruction  at  least
   moderates  the  behavior  of  people  who  see themselves as `benign'
   crackers  (see  also  {samurai}, {gray hat}). On this view, it may be
   one  of  the  highest  forms of hackerly courtesy to (a) break into a
   system, and then (b) explain to the sysop, preferably by email from a
   {superuser}  account, exactly how it was done and how the hole can be
   plugged -- acting as an unpaid (and unsolicited) {tiger team}.

   The most reliable manifestation of either version of the hacker ethic
   is  that  almost  all hackers are actively willing to share technical
   tricks, software, and (where possible) computing resources with other
   hackers.  Huge  cooperative  networks such as {Usenet}, {FidoNet} and
   the  Internet  itself can function without central control because of
   this trait; they both rely on and reinforce a sense of community that
   may be hackerdom's most valuable intangible asset.

:hacker humor:

   A distinctive style of shared intellectual humor found among hackers,
   having the following marked characteristics:

   1.  Fascination  with  form-vs.-content  jokes,  paradoxes, and humor
   having  to  do  with confusion of metalevels (see {meta}). One way to
   make  a  hacker laugh: hold a red index card in front of him/her with
   "GREEN"  written  on  it,  or vice-versa (note, however, that this is
   funny only the first time).

   2.  Elaborate deadpan parodies of large intellectual constructs, such
   as  specifications  (see  {write-only  memory}), standards documents,
   language  descriptions  (see  {INTERCAL}), and even entire scientific
   theories (see {quantum bogodynamics}, {computron}).

   3.  Jokes  that  involve  screwily  precise  reasoning  from bizarre,
   ludicrous, or just grossly counter-intuitive premises.

   4. Fascination with puns and wordplay.

   5.  A fondness for apparently mindless humor with subversive currents
   of intelligence in it -- for example, old Warner Brothers and Rocky &
   Bullwinkle  cartoons,  the  Marx brothers, the early B-52s, and Monty
   Python's  Flying Circus. Humor that combines this trait with elements
   of high camp and slapstick is especially favored.

   6. References to the symbol-object antinomies and associated ideas in
   Zen  Buddhism  and  (less  often)  Taoism.  See  {has  the X nature},
   {Discordianism}, {zen}, {ha ha only serious}, {koan}.

   See  also  {filk},  {retrocomputing},  and  the Portrait of J. Random
   Hacker  in  Appendix  B. If you have an itchy feeling that all six of
   these  traits  are  really  aspects  of  one thing that is incredibly
   difficult  to  talk  about  exactly,  you  are  (a)  correct  and (b)
   responding  like a hacker. These traits are also recognizable (though
   in a less marked form) throughout {science-fiction fandom}.

:Hackers (the movie): n.

   A  notable  bomb from 1995. Should have been titled Crackers, because
   cracking  is  what the movie was about. It's understandable that they
   didn't  however;  titles  redolent of snack food are probably a tough
   sell in Hollywood.

:hacking run: n.

   [analogy  with  `bombing run' or `speed run'] A hack session extended
   long  outside  normal  working  times,  especially one longer than 12
   hours. May cause you to change phase the hard way (see {phase}).

:Hacking X for Y: n.

   [ITS]  Ritual  phrasing  of  part  of  the information which ITS made
   publicly  available  about  each  user.  This information (the INQUIR
   record)  was  a sort of form in which the user could fill out various
   fields.  On  display, two of these fields were always combined into a
   project  description  of  the  form "Hacking X for Y" (e.g., "Hacking
   perceptrons for Minsky"). This form of description became traditional
   and  has  since  been carried over to other systems with more general
   facilities for self-advertisement (such as Unix {plan file}s).

:Hackintosh: n.

   1.  An  Apple  Lisa  that  has been hacked into emulating a Macintosh
   (also called a `Mac XL').

   2.  A  Macintosh  assembled  from  parts  theoretically  belonging to
   different models in the line.

:hackish: /hak´ish/, adj.

   (also {hackishness} n.)

   1. Said of something that is or involves a hack.

   2.  Of  or  pertaining  to hackers or the hacker subculture. See also
   {true-hacker}.

:hackishness: n.

   The  quality  of  being  or involving a hack. This term is considered
   mildly silly. Syn. {hackitude}.

:hackitude: n.

   Syn. {hackishness}; this word is considered sillier.

:hair: n.

   [back-formation  from  {hairy}] The complications that make something
   hairy.  "Decoding {TECO} commands requires a certain amount of hair."
   Often  seen  in  the  phrase  infinite  hair,  which connotes extreme
   complexity.  Also  in  hairiferous  (tending to promote hair growth):
   "GNUMACS  elisp  encourages  lusers  to write complex editing modes."
   "Yeah, it's pretty hairiferous all right." (or just: "Hair squared!")

:hairball: n.

   1.  [Fidonet]  A  large  batch  of  messages that a store-and-forward
   network  is  failing  to  forward  when  it should. Often used in the
   phrase  "Fido  coughed  up  a hairball today", meaning that the stuck
   messages  have  just  come  unstuck,  producing a flood of mail where
   there had previously been drought.

   2. An unmanageably huge mass of source code. "JWZ thought the Mozilla
   effort bogged down because the code was a huge hairball."

   3.  Any  large  amount  of  garbage coming out suddenly. "Sendmail is
   coughing  up  a  hairball,  so  expect  some  slowness  accessing the
   Internet."

:hairy: adj.

   1. Annoyingly complicated. "{DWIM} is incredibly hairy."

   2. Incomprehensible. "{DWIM} is incredibly hairy."

   3.  Of  people,  high-powered,  authoritative,  rare,  expert, and/or
   incomprehensible.  Hard  to explain except in context: "He knows this
   hairy  lawyer  who  says  there's  nothing  to worry about." See also
   {hirsute}.

   There  is  a  theorem in simplicial homology theory which states that
   any  continuous  tangent  field  on  a 2-sphere is null at least in a
   point.  Mathematically  literate  hackers  tend to associate the term
   `hairy'  with the informal version of this theorem; "You can't comb a
   hairy  ball smooth." (Previous versions of this entry associating the
   above  informal  statement  with the Brouwer fixed-point theorem were
   incorrect.)

   The  adjective  `long-haired'  is well-attested to have been in slang
   use  among  scientists  and  engineers during the early 1950s; it was
   equivalent  to  modern  hairy  senses  1  and  2, and was very likely
   ancestral to the hackish use. In fact the noun `long-hair' was at the
   time  used  to  describe  a  person  satisfying  sense 3. Both senses
   probably  passed out of use when long hair was adopted as a signature
   trait by the 1960s counterculture, leaving hackish hairy as a sort of
   stunted mutant relic.

   In   British   mainstream   use,   "hairy"   means  "dangerous",  and
   consequently,  in  British  programming terms, "hairy" may be used to
   denote  complicated  and/or  incomprehensible  code, but only if that
   complexity or incomprehesiveness is also considered dangerous.

:HAKMEM: /hak´mem/, n.

   MIT  AI  Memo  239  (February  1972).  A legendary collection of neat
   mathematical  and programming hacks contributed by many people at MIT
   and  elsewhere. (The title of the memo really is "HAKMEM", which is a
   6-letterism   for  `hacks  memo'.)  Some  of  them  are  very  useful
   techniques,  powerful theorems, or interesting unsolved problems, but
   most fall into the category of mathematical and computer trivia. Here
   is a sampling of the entries (with authors), slightly paraphrased:

   Item  41  (Gene Salamin): There are exactly 23,000 prime numbers less
   than 2^18.

   Item  46  (Rich  Schroeppel):  The most probable suit distribution in
   bridge  hands  is  4-4-3-2, as compared to 4-3-3-3, which is the most
   evenly  distributed.  This is because the world likes to have unequal
   numbers:  a  thermodynamic  effect  saying  things will not be in the
   state of lowest energy, but in the state of lowest disordered energy.

   Item  81  (Rich Schroeppel): Count the magic squares of order 5 (that
   is, all the 5-by-5 arrangements of the numbers from 1 to 25 such that
   all  rows,  columns,  and diagonals add up to the same number). There
   are  about  320  million,  not  counting  those  that  differ only by
   rotation and reflection.

   Item  154 (Bill Gosper): The myth that any given programming language
   is  machine  independent  is  easily exploded by computing the sum of
   powers of 2. If the result loops with period = 1 with sign +, you are
   on  a  sign-magnitude machine. If the result loops with period = 1 at
   -1,  you  are  on a twos-complement machine. If the result loops with
   period  greater  than  1,  including  the  beginning,  you  are  on a
   ones-complement machine. If the result loops with period greater than
   1,  not  including  the  beginning,  your machine isn't binary -- the
   pattern  should  tell you the base. If you run out of memory, you are
   on  a  string  or  bignum  system.  If arithmetic overflow is a fatal
   error,  some  fascist  pig with a read-only mind is trying to enforce
   machine  independence.  But  the  very  ability  to  trap overflow is
   machine  dependent. By this strategy, consider the universe, or, more
   precisely,  algebra:  Let X = the sum of many powers of 2 = ...111111
   (base  2).  Now add X to itself: X + X = ...111110. Thus, 2X = X - 1,
   so  X = -1. Therefore algebra is run on a machine (the universe) that
   is two's-complement.

   Item  174  (Bill  Gosper  and Stuart Nelson): 21963283741 is the only
   number  such  that  if  you  represent  it on the {PDP-10} as both an
   integer  and  a  floating-point  number,  the bit patterns of the two
   representations are identical.

   Item  176  (Gosper):  The  "banana  phenomenon"  was encountered when
   processing a character string by taking the last 3 letters typed out,
   searching  for  a  random  occurrence  of  that sequence in the text,
   taking  the  letter  following  that  occurrence,  typing it out, and
   iterating.  This  ensures that every 4-letter string output occurs in
   the  original.  The  program  typed  BANANANANANANANA....  We note an
   ambiguity in the phrase, "the Nth occurrence of." In one sense, there
   are  five 00's in 0000000000; in another, there are nine. The editing
   program  TECO finds five. Thus it finds only the first ANA in BANANA,
   and  is  thus obligated to type N next. By Murphy's Law, there is but
   one  NAN,  thus  forcing  A,  and  thus  a  loop.  An  option to find
   overlapped  instances  would  be  useful,  although  it would require
   backing  up  N  -  1  characters  before seeking the next N-character
   string.

   Note:  This last item refers to a {Dissociated Press} implementation.
   See also {banana problem}.

   HAKMEM  also  contains  some rather more complicated mathematical and
   technical items, but these examples show some of its fun flavor.

   An  HTML  transcription  of  the  entire  document  is  available  at
   http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html.

:hakspek: /hak´speek/, n.

   A  shorthand  method  of  spelling  found  on  many  British academic
   bulletin  boards and {talker system}s. Syllables and whole words in a
   sentence  are  replaced by single ASCII characters the names of which
   are  phonetically  similar  or equivalent, while multiple letters are
   usually  dropped.  Hence,  `for'  becomes `4'; `two', `too', and `to'
   become `2'; `ck' becomes `k'. "Before I see you tomorrow" becomes "b4
   i  c  u 2moro". First appeared in London about 1986, and was probably
   caused by the slowness of available talker systems, which operated on
   archaic  machines  with  outdated  operating  systems and no standard
   methods of communication.

   Hakspek almost disappeared after the great bandwidth explosion of the
   early  1990s,  as  fast Internet links wiped out the old-style talker
   systems.  However,  it has enjoyed a revival in another medium -- the
   Short Message Service (SMS) associated with GSM cellphones. SMS sends
   are limited to a maximum of 160 characters, and typing on a cellphone
   keypad  is  difficult  and  slow anyway. There are now even published
   paper  dictionaries  for SMS users to help them do hakspek-to-English
   and vice-versa.

   See also {talk mode}.

:Halloween Documents: n.

   A pair of Microsoft internal strategy memoranda leaked to ESR in late
   1998  that  confirmed  everybody's  paranoia  about the current {Evil
   Empire}.  These documents praised the technical excellence of {Linux}
   and  outlined a counterstrategy of attempting to lock in customers by
   "de-commoditizing"   Internet   protocols  and  services.  They  were
   extensively  cited  on  the  Internet  and in the press and proved so
   embarrassing  that  Microsoft PR barely said a word in public for six
   months afterwards.

:ham:

   The opposite of {spam}, sense 3; that is, incoming mail that the user
   actually wants to see.

:hammer: vt.

   Commonwealth hackish syn. for {bang on}.

:hamster: n.

   1.  [Fairchild]  A  particularly slick little piece of code that does
   one  thing  well;  a  small,  self-contained  hack. The image is of a
   hamster {happily} spinning its exercise wheel.

   2. A tailless mouse; that is, one with an infrared link to a receiver
   on the machine, as opposed to the conventional cable.

   3.  [UK]  Any  item of hardware made by Amstrad, a company famous for
   its cheap plastic PC-almost-compatibles.

:HAND: //

   [Usenet:  very  common] Abbreviation: Have A Nice Day. Typically used
   to  close  a  {Usenet}  posting,  but  also  used to informally close
   emails; often preceded by {HTH}.

:hand cruft: vt.

   [pun on `hand craft'] See {cruft}, sense 3.

:hand-hacking: n.

   1.  [rare] The practice of translating {hot spot}s from an {HLL} into
   hand-tuned  assembler,  as  opposed  to trying to coerce the compiler
   into  generating  better  code.  Both  the  term and the practice are
   becoming uncommon. See {tune}, {by hand}; syn. with v. {cruft}.

   2.  [common]  More generally, manual construction or patching of data
   sets  that  would  normally be generated by a translation utility and
   interpreted by another program, and aren't really designed to be read
   or modified by humans.

:hand-roll: v.

   [from  obs. mainstream slang hand-rolled in opposition to ready-made,
   referring  to  cigarettes]  To  perform a normally automated software
   installation  or  configuration  process  {by hand}; implies that the
   normal process failed due to bugs in the configurator or was defeated
   by  something  exceptional in the local environment. "The worst thing
   about  being  a  gateway  between  four  different  nets is having to
   hand-roll  a  new  sendmail  configuration  every  time  any  of them
   upgrades."

:handle: n.

   1.  [from CB slang] An electronic pseudonym; a nom de guerre intended
   to conceal the user's true identity. Network and BBS handles function
   as the same sort of simultaneous concealment and display one finds on
   Citizen's  Band  radio,  from  which  the  term  was  adopted. Use of
   grandiose  handles  is  characteristic  of {warez d00dz}, {cracker}s,
   {weenie}s,  {spod}s,  and  other  lower  forms  of network life; true
   hackers   travel  on  their  own  reputations  rather  than  invented
   legendry. Compare {nick}, {screen name}.

   2.  A  {magic cookie}, often in the form of a numeric index into some
   array  somewhere,  through  which you can manipulate an object like a
   file or window. The form file handle is especially common.

   3.  [Mac] A pointer to a pointer to dynamically-allocated memory; the
   extra  level  of  indirection allows on-the-fly memory compaction (to
   cut  down  on  fragmentation)  or aging out of unused resources, with
   minimal impact on the (possibly multiple) parts of the larger program
   containing  references  to  the  allocated memory. Compare {snap} (to
   snap  a  handle  would  defeat its purpose); see also {aliasing bug},
   {dangling pointer}.

:handshaking: n.

   [very common] Hardware or software activity designed to start or keep
   two  machines  or  programs in synchronization as they {do protocol}.
   Often  applied  to  human  activity;  thus,  a hacker might watch two
   people in conversation nodding their heads to indicate that they have
   heard  each  others'  points  and say "Oh, they're handshaking!". See
   also {protocol}.

:handwave: /hand´wayv/

   [poss. from gestures characteristic of stage magicians]

   1.  v.  To  gloss  over  a  complex point; to distract a listener; to
   support  a  (possibly  actually  valid)  point  with blatantly faulty
   logic.

   2. n. The act of handwaving. "Boy, what a handwave!"

   If  someone  starts a sentence with "Clearly..." or "Obviously..." or
   "It  is  self-evident  that...",  it  is  a  good  bet he is about to
   handwave  (alternatively,  use  of these constructions in a sarcastic
   tone  before a paraphrase of someone else's argument suggests that it
   is  a handwave). The theory behind this term is that if you wave your
   hands   at  the  right  moment,  the  listener  may  be  sufficiently
   distracted  to not notice that what you have said is {bogus}. Failing
   that,  if  a  listener  does  object,  you  might  try to dismiss the
   objection with a wave of your hand.

   The use of this word is often accompanied by gestures: both hands up,
   palms forward, swinging the hands in a vertical plane pivoting at the
   elbows and/or shoulders (depending on the magnitude of the handwave);
   alternatively,  holding  the  forearms in one position while rotating
   the hands at the wrist to make them flutter. In context, the gestures
   alone  can  suffice  as  a remark; if a speaker makes an outrageously
   unsupported assumption, you might simply wave your hands in this way,
   as  an  accusation,  far more eloquent than words could express, that
   his logic is faulty.

:hang: v.

   1.  [very  common]  To  wait for an event that will never occur. "The
   system  is hanging because it can't read from the crashed drive". See
   {wedged}, {hung}.

   2.  To  wait  for some event to occur; to hang around until something
   happens. "The program displays a menu and then hangs until you type a
   character." Compare {block}.

   3.  To  attach  a  peripheral  device, esp. in the construction `hang
   off':  "We're  going to hang another tape drive off the file server."
   Implies  a device attached with cables, rather than something that is
   strictly inside the machine's chassis.

:Hanlon's Razor: prov.

   A  corollary of {Finagle's Law}, similar to Occam's Razor, that reads
   "Never  attribute to malice that which can be adequately explained by
   stupidity."  Quoted here because it seems to be a particular favorite
   of  hackers, often showing up in {sig block}s, {fortune cookie} files
   and  the  login  banners of BBS systems and commercial networks. This
   probably  reflects  the  hacker's  daily  experience  of environments
   created   by   well-intentioned  but  short-sighted  people.  Compare
   {Sturgeon's Law}, {Ninety-Ninety Rule}.

   At http://www.statusq.org/2001/11/26.html it is claimed that Hanlon's
   Razor  was coined by one Robert J. Hanlon of Scranton, PA. However, a
   curiously similar remark ("You have attributed conditions to villainy
   that  simply  result  from stupidity.") appears in Logic of Empire, a
   classic  1941  SF story by Robert A. Heinlein, who calls the error it
   indicates the `devil theory' of sociology. Similar epigrams have been
   attributed  to  William  James  and  (on  dubious  evidence) Napoleon
   Bonaparte.

:happily: adv.

   Of  software,  used  to  emphasize  that a program is unaware of some
   important  fact  about  its  environment,  either because it has been
   fooled into believing a lie, or because it doesn't care. The sense of
   `happy'  here  is  not  that  of elation, but rather that of blissful
   ignorance.  "The  program  continues to run, happily unaware that its
   output is going to /dev/null." Also used to suggest that a program or
   device  would  really  rather  be doing something destructive, and is
   being  given an opportunity to do so. "If you enter an O here instead
   of   a   zero,  the  program  will  happily  erase  all  your  data."
   Nevertheless,  use  of  this term implies a basically benign attitude
   towards the program: It didn't mean any harm, it was just eager to do
   its  job. We'd like to be angry at it but we shouldn't, we should try
   to understand it instead. The adjective "cheerfully" is often used in
   exactly the same way.

:hard boot: n.

   See {boot}.

:hardcoded: adj.

   1.  [common]  Said of data inserted directly into a program, where it
   cannot  be  easily  modified,  as  opposed to data in some {profile},
   resource  (see  {de-rezz}  sense  2),  or environment variable that a
   {user} or hacker can easily modify.

   2.  In  C,  this  is  esp.  applied  to use of a literal instead of a
   #define macro (see {magic number}).

:hardwarily: /hard·weir'@·lee/, adv.

   In   a   way  pertaining  to  hardware.  "The  system  is  hardwarily
   unreliable."  The  adjective  `hardwary'  is  not traditionally used,
   though it has recently been reported from the U.K. See {softwarily}.

:hardwired: adj.

   1. In software, syn. for {hardcoded}.

   2.  By  extension, anything that is not modifiable, especially in the
   sense of customizable to one's particular needs or tastes.

:has the X nature:

   [seems  to derive from Zen Buddhist koans of the form "Does an X have
   the  Buddha-nature?"]  adj. Common hacker construction for `is an X',
   used for humorous emphasis. "Anyone who can't even use a program with
   on-screen help embedded in it truly has the {loser} nature!" See also
   {the X that can be Y is not the true X}. See also {mu}.

:hash bucket: n.

   A notional receptacle, a set of which might be used to apportion data
   items  for sorting or lookup purposes. When you look up a name in the
   phone  book  (for  example),  you typically hash it by extracting its
   first  letter; the hash buckets are the alphabetically ordered letter
   sections.  This  term  is used as techspeak with respect to code that
   uses  actual  hash  functions;  in  jargon,  it  is  used  for  human
   associative  memory  as  well.  Thus,  two  things  `in the same hash
   bucket'  are more difficult to discriminate, and may be confused. "If
   you  hash  English  words  only  by  length,  you get too many common
   grammar  words  in  the  first couple of hash buckets." Compare {hash
   collision}.

:hash collision: n.

   [from  the  techspeak]  (var.:  hash  clash)  When  used  of  people,
   signifies   a   confusion   in  associative  memory  or  imagination,
   especially  a  persistent  one  (see {thinko}). True story: One of us
   [ESR]  was  once  on  the  phone  with  a friend about to move out to
   Berkeley. When asked what he expected Berkeley to be like, the friend
   replied:  "Well,  I  have this mental picture of naked women throwing
   Molotov  cocktails,  but  I  think that's just a collision in my hash
   tables." Compare {hash bucket}.

:hat: n.

   Common   (spoken)  name  for  the  circumflex  (`^',  ASCII  1011110)
   character. See {ASCII} for other synonyms.

:HCF: /H·C·F/, n.

   Mnemonic  for  `Halt and Catch Fire', any of several undocumented and
   semi-mythical  machine  instructions  with  destructive side-effects,
   supposedly   included   for   test  purposes  on  several  well-known
   architectures   going  as  far  back  as  the  IBM  360.  The  MC6800
   microprocessor  was  the  first for which an HCF opcode became widely
   known.  This instruction caused the processor to {toggle} a subset of
   the  bus  lines  as  rapidly as it could; in some configurations this
   could actually cause lines to burn up. Compare {killer poke}.

:heads down: adj.

   Concentrating,  usually  so  heavily  and for so long that everything
   outside  the  focus  area is missed. See also {hack mode} and {larval
   stage}, although this mode is hardly confined to fledgling hackers.

:heartbeat: n.

   1. The signal emitted by a Level 2 Ethernet transceiver at the end of
   every  packet  to  show that the collision-detection circuit is still
   connected.

   2.  A  periodic  synchronization signal used by software or hardware,
   such as a bus clock or a periodic interrupt.

   3. The `natural' oscillation frequency of a computer's clock crystal,
   before frequency division down to the machine's clock rate.

   4.  A  signal emitted at regular intervals by software to demonstrate
   that  it is still alive. Sometimes hardware is designed to reboot the
   machine  if  it  stops  hearing a heartbeat. See also {breath-of-life
   packet}.

:heatseeker: n.

   [IBM]  A  customer  who  can be relied upon to buy, without fail, the
   latest version of an existing product (not quite the same as a member
   of  the {lunatic fringe}). A 1993 example of a heatseeker was someone
   who, owning a 286 PC and Windows 3.0, went out and bought Windows 3.1
   (which  offers  no worthwhile benefits unless you have a 386). If all
   customers  were  heatseekers,  vast amounts of money could be made by
   just  fixing  some  of the bugs in each release (n) and selling it to
   them  as release (n+1). Microsoft in fact seems to have mastered this
   technique.

:heavy metal: n.

   [Cambridge] Syn. {big iron}.

:heavy wizardry: n.

   Code  or  designs  that trade on a particularly intimate knowledge or
   experience  of  a  particular operating system or language or complex
   application  interface. Distinguished from {deep magic}, which trades
   more on arcane theoretical knowledge. Writing device drivers is heavy
   wizardry; so is interfacing to {X} (sense 2) without a toolkit. Esp.:
   found  in  source-code  comments  of  the form "Heavy wizardry begins
   here". Compare {voodoo programming}.

:heavyweight: adj.

   [common]  High-overhead;  {baroque};  code-intensive; featureful, but
   costly.  Esp.  used of communication protocols, language designs, and
   any sort of implementation in which maximum generality and/or ease of
   implementation   has   been   pushed   at   the  expense  of  mundane
   considerations  such  as speed, memory utilization, and startup time.
   {EMACS}  is  a  heavyweight  editor;  {X} is an extremely heavyweight
   window   system.   This  term  isn't  pejorative,  but  one  hacker's
   heavyweight  is  another's {elephantine} and a third's {monstrosity}.
   Oppose  lightweight.  Usage:  now borders on techspeak, especially in
   the compound heavyweight process.

:Hed Rat:

   Unflattering  spoonerism  of Red Hat, a popular {Linux} distribution.
   Compare {Macintrash}. {sun-stools}, {HP-SUX}, {Slowlaris}.

:heisenbug: /hi:´zen·buhg/, n.

   [from  Heisenberg's  Uncertainty  Principle in quantum physics] A bug
   that  disappears or alters its behavior when one attempts to probe or
   isolate it. (This usage is not even particularly fanciful; the use of
   a   debugger  sometimes  alters  a  program's  operating  environment
   significantly  enough  that  buggy code, such as that which relies on
   the  values  of  uninitialized  memory,  behaves  quite differently.)
   Antonym  of  {Bohr  bug}; see also {mandelbug}, {schroedinbug}. In C,
   nine  out of ten heisenbugs result from uninitialized auto variables,
   {fandango  on  core} phenomena (esp. lossage related to corruption of
   the malloc {arena}) or errors that {smash the stack}.

:hell desk:

   Common  mispronunciation  of `help desk', especially among people who
   have to answer phones at one.

:hello sailor!: interj.

   Occasional  West  Coast  equivalent  of  {hello world}; seems to have
   originated at SAIL, later associated with the game {Zork} (which also
   included  "hello, aviator" and "hello, implementor"). Originally from
   the traditional hooker's greeting to a swabbie fresh off the boat, of
   course.  The standard response is "Nothing happens here."; of all the
   Zork/Dungeon  games,  only  in  Infocom's  Zork  3 is "Hello, Sailor"
   actually  useful (excluding the unique situation where _knowing_ this
   fact is important in Dungeon...).

:hello world: interj.

   1. The canonical minimal test message in the C/Unix universe.

   2.   Any   of   the  minimal  programs  that  emit  this  message  (a
   representative   sample   in   various  languages  can  be  found  at
   http://www.latech.edu/~acm/helloworld/).   Traditionally,  the  first
   program  a  C  coder is supposed to write in a new environment is one
   that  just prints "hello, world" to standard output (and indeed it is
   the  first  example  program in {K&R}). Environments that generate an
   unreasonably  large executable for this trivial test or which require
   a {hairy} compiler-linker invocation to generate it are considered to
   {lose} (see {X}).

   3.  Greeting  uttered  by  a  hacker making an entrance or requesting
   information  from  anyone  present. "Hello, world! Is the LAN back up
   yet?"

:hello, wall!: excl.

   See {wall}.

:hex: n.

   1. Short for {hexadecimal}, base 16.

   2.  A 6-pack of anything (compare {quad}, sense 2). Neither usage has
   anything  to  do  with  {magic}  or  {black  art},  though the pun is
   appreciated  and occasionally used by hackers. True story: As a joke,
   some  hackers  once  offered  some surplus ICs for sale to be worn as
   protective  amulets against hostile magic. The chips were, of course,
   hex inverters.

:hexadecimal: n.

   Base  16.  Coined  in the early 1950s to replace earlier sexadecimal,
   which  was  too racy and amusing for stuffy IBM, and later adopted by
   the rest of the industry.

   Actually,  neither  term is etymologically pure. If we take binary to
   be  paradigmatic,  the  most etymologically correct term for base 10,
   for example, is `denary', which comes from `deni' (ten at a time, ten
   each),  a  Latin  distributive  number;  the  corresponding  term for
   base-16 would be something like `sendenary'. "Decimal" comes from the
   combining  root  of  decem,  Latin  for 10. If wish to create a truly
   analogous  word  for base 16, we should start with sedecim, Latin for
   16.  Ergo,  sedecimal  is  the word that would have been created by a
   Latin  scholar.  The  `sexa-'  prefix  is Latin but incorrect in this
   context, and `hexa-' is Greek. The word octal is similarly incorrect;
   a correct form would be `octaval' (to go with decimal), or `octonary'
   (to  go  with  binary).  If anyone ever implements a base-3 computer,
   computer scientists will be faced with the unprecedented dilemma of a
   choice  between  two  correct  forms; both ternary and trinary have a
   claim to this throne.

:hexit: /hek´sit/, n.

   A  hexadecimal  digit (0-9, and A-F or a-f). Used by people who claim
   that there are only ten digits, dammit; sixteen-fingered human beings
   are  rather  rare,  despite  what some keyboard designs might seem to
   imply (see {space-cadet keyboard}).

:HHOK:

   See {ha ha only serious}.

:HHOS:

   See {ha ha only serious}.

:hidden flag: n.

   [scientific  computation]  An extra option added to a routine without
   changing  the  calling  sequence.  For  example, instead of adding an
   explicit   input  variable  to  instruct  a  routine  to  give  extra
   diagnostic  output,  the  programmer  might  just add a test for some
   otherwise  meaningless  feature  of  the  existing  inputs, such as a
   negative  mass.  The use of hidden flags can make a program very hard
   to  debug and understand, but is all too common wherever programs are
   hacked on in a hurry.

:high bit: n.

   [from high-order bit]

   1. The most significant bit in a byte.

   2.  [common]  By  extension,  the  most significant part of something
   other  than a data byte: "Spare me the whole {saga}, just give me the
   high bit." See also {meta bit}, {dread high-bit disease}, and compare
   the mainstream slang bottom line.

:high moby: /hi:´ mohb´ee/, n.

   The  high half of a 512K {PDP-10}'s physical address space; the other
   half was of course the low moby. This usage has been generalized in a
   way  that  has  outlasted  the  {PDP-10};  for  example,  at the 1990
   Washington  D.C.  Area  Science  Fiction  Conclave (Disclave), when a
   miscommunication  resulted  in  two  separate  wakes  being  held  in
   commemoration  of  the shutdown of MIT's last {ITS} machines, the one
   on  the upper floor was dubbed the `high moby' and the other the `low
   moby'. All parties involved {grok}ked this instantly. See {moby}.

:highly: adv.

   [scientific  computation]  The  preferred modifier for overstating an
   understatement.  As  in: highly nonoptimal, the worst possible way to
   do  something;  highly  nontrivial,  either impossible or requiring a
   major  research  project;  highly  nonlinear,  completely erratic and
   unpredictable;  highly  nontechnical,  drivel  written  for {luser}s,
   oversimplified to the point of being misleading or incorrect (compare
   {drool-proof  paper}). In other computing cultures, postfixing of {in
   the extreme} might be preferred.

:hing: //, n.

   [IRC]  Fortuitous  typo for `hint', now in wide intentional use among
   players of {initgame}. Compare {newsfroup}, {filk}.

:hired gun: n.

   A  contract  programmer,  as opposed to a full-time staff member. All
   the  connotations  of  this  term  suggested by innumerable spaghetti
   Westerns are intentional.

:hirsute: adj.

   Occasionally used humorously as a synonym for {hairy}.

:HLL: /H·L·L/, n.

   [High-Level  Language  (as  opposed to assembler)] Found primarily in
   email  and  news  rather than speech. Rarely, the variants `VHLL' and
   `MLL'  are  found.  VHLL stands for `Very-High-Level Language' and is
   used to describe a {bondage-and-discipline language} that the speaker
   happens to like; Prolog and Backus's FP are often called VHLLs. `MLL'
   stands   for   `Medium-Level   Language'   and   is   sometimes  used
   half-jokingly to describe {C}, alluding to its `structured-assembler'
   image. See also {languages of choice}.

:hoarding: n.

   See {software hoarding}.

:hog: n.,vt.

   1. Favored term to describe programs or hardware that seem to eat far
   more  than  their  share  of  a  system's resources, esp. those which
   noticeably  degrade  interactive  response. Not used of programs that
   are  simply  extremely  large or complex or that are merely painfully
   slow  themselves. More often than not encountered in qualified forms,
   e.g.,  memory  hog,  core  hog,  hog  the processor, hog the disk. "A
   controller  that  never  gives  up  the I/O bus gets killed after the
   bus-hog timer expires."

   2.  Also  said  of  people  who  use  more  than  their fair share of
   resources  (particularly  disk, where it seems that 10% of the people
   use 90% of the disk, no matter how big the disk is or how many people
   use  it).  Of  course,  once  disk  hogs fill up one filesystem, they
   typically find some other new one to infect, claiming to the sysadmin
   that they have an important new project to complete.

:hole: n.

   A region in an otherwise {flat} entity which is not actually present.
   For  example,  some Unix filesystems can store large files with holes
   so that unused regions of the file are never actually stored on disk.
   (In  techspeak,  these are referred to as `sparse' files.) As another
   example,  the  region of memory in IBM PCs reserved for memory-mapped
   I/O  devices  which  may  not  actually be present is called `the I/O
   hole',  since memory-management systems must skip over this area when
   filling user requests for memory.

:hollised: /hol´ist/, adj.

   [Usenet:  sci.space]  To be hollised is to have been ordered by one's
   employer not to post any even remotely job-related material to Usenet
   (or,  by  extension,  to other Internet media). The original and most
   notorious  case  of this involved one Ken Hollis, a Lockheed employee
   and  space-program  enthusiast who posted publicly available material
   on access to Space Shuttle launches to sci.space. He was gagged under
   threat  of being fired in 1994 at the behest of NASA public-relations
   officers.  The  result was, of course, a huge publicity black eye for
   NASA.  Nevertheless  several  other  NASA  contractor  employees were
   subsequently  hollised  for  similar  activities.  Use  of  this term
   carries the strong connotation that the persons doing the gagging are
   bureaucratic   idiots   blinded   to  their  own  best  interests  by
   territorial reflexes.

:holy penguin pee: n.

   [Linux] Notional substance said to be sprinkled by {Linus} onto other
   people's contributions. With this ritual, he blesses them, officially
   making  them  part  of  the  kernel. First used in November 1998 just
   after  Linus  had handed the maintenance of the stable kernel over to
   Alan Cox.

:holy wars: n.

   [from  {Usenet},  but  may  predate  it; common] n. {flame war}s over
   {religious  issues}.  The  paper  by Danny Cohen that popularized the
   terms   {big-endian}  and  {little-endian}  in  connection  with  the
   LSB-first/MSB-first  controversy was entitled On Holy Wars and a Plea
   for Peace.

   Great  holy  wars of the past have included {ITS} vs.: {Unix}, {Unix}
   vs.:  {VMS},  {BSD}  Unix  vs.: System V, {C} vs.: {Pascal}, {C} vs.:
   FORTRAN,  etc. In the year 2000, popular favorites of the day are KDE
   vs,  GNOME,  vim  vs.  elvis,  Linux  vs.  [Free|Net|Open]BSD.  Hardy
   perennials  include  {EMACS}  vs.:  {vi},  my  personal computer vs.:
   everyone  else's  personal  computer,  ad nauseam. The characteristic
   that  distinguishes  holy wars from normal technical disputes is that
   in  a  holy  war  most of the participants spend their time trying to
   pass off personal value choices and cultural attachments as objective
   technical  evaluations. This happens precisely because in a true holy
   war,  the  actual  substantive  differences  between  the  sides  are
   relatively minor. See also {theology}.

:home box: n.

   A  hacker's  personal  machine, especially one he or she owns. "Yeah?
   Well, my home box runs a full 4.4 BSD, so there!"

:home machine: n.

   1. Syn. {home box}.

   2.  The  machine  that  receives  your  email.  These senses might be
   distinct,  for  example,  for a hacker who owns one computer at home,
   but reads email at work.

:home page: n.

   1.  One's  personal  billboard  on the World Wide Web. The term `home
   page'  is  perhaps  a  bit  misleading  because  home directories and
   physical homes in {RL} are private, but home pages are designed to be
   very public.

   2.  By  extension, a WWW repository for information and links related
   to a project or organization. Compare {home box}.

:honey pot: n.

   1.  A box designed to attract {cracker}s so that they can be observed
   in  action. It is usually well isolated from the rest of the network,
   but  has  extensive  logging  (usually  network layer, on a different
   machine).  Different  from  an  {iron  box} in that its purpose is to
   attract,  not  merely  observe.  Sometimes,  it  is  also a defensive
   network  security  tactic  -- you set up an easy-to-crack box so that
   your real servers don't get messed with. The concept was presented in
   Cheswick & Bellovin's book Firewalls and Internet Security.

   2.  A mail server that acts as an open relay when a single message is
   attempted to send through it, but discards or diverts for examination
   messages that are detected to be part of a spam run.

:hook: n.

   A  software  or  hardware feature included in order to simplify later
   additions  or  changes  by a user. For example, a simple program that
   prints  numbers  might  always  print  them  in  base  10, but a more
   flexible  version  would  let  a variable determine what base to use;
   setting  the  variable  to  5 would make the program print numbers in
   base  5. The variable is a simple hook. An even more flexible program
   might  examine  the  variable  and treat a value of 16 or less as the
   base  to  use,  but  treat  any  other  number  as  the  address of a
   user-supplied  routine  for  printing a number. This is a {hairy} but
   powerful hook; one can then write a routine to print numbers as Roman
   numerals,  say, or as Hebrew characters, and plug it into the program
   through  the  hook. Often the difference between a good program and a
   superb  one is that the latter has useful hooks in judiciously chosen
   places.  Both may do the original job about equally well, but the one
   with  the  hooks  is  much  more  flexible  for  future  expansion of
   capabilities ({EMACS}, for example, is all hooks). The term user exit
   is synonymous but much more formal and less hackish.

:hop:

   1.  n.  [common]  One file transmission in a series required to get a
   file  from point A to point B on a store-and-forward network. On such
   networks  (including  the  old  UUCP  network  and and {FidoNet}), an
   important  inter-machine metric is the number of hops in the shortest
   path   between  them,  which  can  be  more  significant  than  their
   geographical separation. See {bang path}.

   2.  v.  [rare]  To  log  in  to  a remote machine, esp. via rlogin or
   telnet. "I'll hop over to foovax to FTP that."

:horked: adj.

   Broken.  Confused.  Trashed. Now common; seems to be post-1995. There
   is an entertaining web page of related definitions, few of which seem
   to  be  in  live  use  but  many of which would be in the recognition
   vocabulary of anyone familiar with the adjective.

:hose:

   1.  vt.  [common]  To  make  non-functional  or  greatly  degraded in
   performance.  "That big ray-tracing program really hoses the system."
   See {hosed}.

   2.  n.  A  narrow  channel  through  which data flows under pressure.
   Generally denotes data paths that represent performance bottlenecks.

   3.  n.  Cabling,  especially  thick Ethernet cable. This is sometimes
   called  bit  hose  or  hosery (play on `hosiery') or `etherhose'. See
   also {washing machine}.

:hosed: adj.

   Same  as  {down}.  Used  primarily  by  Unix  hackers. Humorous: also
   implies  a  condition  thought  to  be  relatively  easy  to reverse.
   Probably  derived  from the Canadian slang `hoser' popularized by the
   Bob and Doug Mackenzie skits on SCTV, but this usage predated SCTV by
   years  in  hackerdom  (it  was  certainly  already live at CMU in the
   1970s).  See  {hose}.  It  is  also  widely  used  of  people  in the
   mainstream sense of `in an extremely unfortunate situation'.

   Once  upon  a  time,  a  Cray  that  had  been  experiencing periodic
   difficulties crashed, and it was announced to have been hosed. It was
   discovered  that  the  crash  was  due  to  the disconnection of some
   coolant hoses. The problem was corrected, and users were then assured
   that  everything was OK because the system had been rehosed. See also
   {dehose}.

:hot chat: n.

   Sexually explicit one-on-one chat. See {teledildonics}.

:hot spot: n.

   1.  [primarily  used  by  C/Unix  programmers,  but  spreading] It is
   received wisdom that in most programs, less than 10% of the code eats
   90%  of  the  execution time; if one were to graph instruction visits
   versus  code  addresses,  one  would  typically see a few huge spikes
   amidst a lot of low-level noise. Such spikes are called hot spots and
   are  good  candidates  for  heavy optimization or {hand-hacking}. The
   term  is  especially used of tight loops and recursions in the code's
   central  algorithm, as opposed to (say) initial set-up costs or large
   but infrequent I/O operations. See {tune}, {hand-hacking}.

   2.  The  active  location  of a cursor on a bit-map display. "Put the
   mouse's hot spot on the `ON' widget and click the left button."

   3. A screen region that is sensitive to mouse gestures, which trigger
   some  action.  World  Wide  Web  pages  now  provide  the {canonical}
   examples;  WWW  browsers  present hypertext links as hot spots which,
   when  clicked  on,  point  the browser at another document (these are
   specifically called {hotlink}s).

   4.  In  a  massively  parallel  computer  with shared memory, the one
   location  that  all  10,000 processors are trying to read or write at
   once  (perhaps  because  they are all doing a {busy-wait} on the same
   lock).

   5.  More  generally, any place in a hardware design that turns into a
   performance bottleneck due to resource contention.

:hotlink: /hot´link/, n.

   A  {hot  spot} on a World Wide Web page; an area, which, when clicked
   or  selected, chases a URL. Also spelled `hot link'. Use of this term
   focuses  on  the link's role as an immediate part of your display, as
   opposed to the timeless sense of logical connection suggested by {web
   pointer}.  Your  screen  shows  hotlinks  but  your  document has web
   pointers, not (in normal usage) the other way around.

:house wizard: n.

   [prob.: from ad-agency tradetalk, `house freak'] A hacker occupying a
   technical-specialist,  R&D, or systems position at a commercial shop.
   A  really  effective  house  wizard  can  have  influence  out of all
   proportion  to  his/her  ostensible rank and still not have to wear a
   suit. Used esp. of Unix wizards. The term house guru is equivalent.

:HP-SUX: /H·P suhks/, n.

   Unflattering  hackerism for HP-UX, Hewlett-Packard's Unix port, which
   features some truly unique bogosities in the filesystem internals and
   elsewhere  (these occasionally create portability problems). HP-UX is
   often  referred  to  as  `hockey-pux'  inside  HP, and one respondent
   claims  that the proper pronunciation is /H·P ukkkhhhh/ as though one
   were about to spit. Another such alternate spelling and pronunciation
   is  "H-PUX"  /H-puhks/.  Hackers  at  HP/Apollo  (the  former  Apollo
   Computers  which  was  swallowed  by  HP  in 1989) have been heard to
   complain  that Mr. Packard should have pushed to have his name first,
   if  for  no  other reason than the greater eloquence of the resulting
   acronym. See {sun-stools}, {Slowlaris}.

:HTH: //

   [Usenet: very common] Abbreviation: Hope This Helps (e.g. following a
   response to a technical question). Often used just before {HAND}. See
   also {YHBT}.

:huff: v.

   To compress data using a Huffman code. Various programs that use such
   methods  have  been  called  `HUFF'  or  some variant thereof. Oppose
   {puff}. Compare {crunch}, {compress}.

:hung: adj.

   [from  `hung  up'; common] Equivalent to {wedged}, but more common at
   Unix/C  sites.  Not  generally used of people. Syn. with {locked up},
   {wedged};   compare  {hosed}.  See  also  {hang}.  A  hung  state  is
   distinguished  from  {crash}ed or {down}, where the program or system
   is also unusable but because it is not running rather than because it
   is  waiting for something. However, the recovery from both situations
   is often the same. It is also distinguished from the similar but more
   drastic  state  {wedged}  --  hung software can be woken up with easy
   things  like  interrupt  keys, but wedged will need a kill -9 or even
   reboot.

:hungry puppy: n.

   Syn. {slopsucker}.

:hungus: /huhng´g@s/, adj.

   [perhaps  related  to  slang  `humongous']  Large,  unwieldy, usually
   unmanageable.  "TCP is a hungus piece of code." "This is a hungus set
   of  modifications."  The  {Infocom}  text  adventure game Beyond Zork
   included two monsters called hunguses.

:hyperspace: /hi:´per·spays/, n.

   A  memory  location  that  is far away from where the program counter
   should  be  pointing, especially a place that is inaccessible because
   it  is not even mapped in by the virtual-memory system. "Another core
   dump  --  looks  like  the program jumped off to hyperspace somehow."
   (Compare {jump off into never-never land}.) This usage is from the SF
   notion  of  a  spaceship  jumping  into hyperspace, that is, taking a
   shortcut   through   higher-dimensional  space  --  in  other  words,
   bypassing  this  universe.  The  variant  east hyperspace is recorded
   among CMU and Bliss hackers.

:hysterical reasons: n.

   (also  hysterical  raisins)  A  variant  on  the  stock  phrase  "for
   historical  reasons",  indicating specifically that something must be
   done  in  some  stupid  way for backwards compatibility, and moreover
   that  the  feature it must be compatible with was the result of a bad
   design in the first place. "All IBM PC video adapters have to support
   MDA   text   mode   for  hysterical  reasons."  Compare  {bug-for-bug
   compatible}.

I

:I didn't change anything!: interj.

   An  aggrieved  cry  often  heard as bugs manifest during a regression
   test.  The {canonical} reply to this assertion is "Then it works just
   the same as it did before, doesn't it?" See also {one-line fix}. This
   is  also  heard  from  applications  programmers  trying  to blame an
   obvious applications problem on an unrelated systems software change,
   for  example  a  divide-by-0  fault  after  terminals were added to a
   network.  Usually,  their  statement is found to be false. Upon close
   questioning,  they will admit some major restructuring of the program
   that  shouldn't  have  broken  anything,  in their opinion, but which
   actually {hosed} the code completely.

:I see no X here.:

   Hackers (and the interactive computer games they write) traditionally
   favor this slightly marked usage over other possible equivalents such
   as  "There's no X here!" or "X is missing." or "Where's the X?". This
   goes  back  to  the  original PDP-10 {ADVENT}, which would respond in
   this  wise  if  you  asked it to do something involving an object not
   present at your location in the game.

:IANAL: //

   [Usenet]  Abbreviation,  "I  Am Not A Lawyer". Usually precedes legal
   advice.

:IBM: /I·B·M/

   Once  upon  a  time, the computer company most hackers loved to hate;
   today, the one they are most puzzled to find themselves liking.

   From  hackerdom's beginnings in the mid-1960s to the early 1990s, IBM
   was regarded with active loathing. Common expansions of the corporate
   name   included:  Inferior  But  Marketable;  It's  Better  Manually;
   Insidious  Black  Magic;  It's Been Malfunctioning; Incontinent Bowel
   Movement;  and  a  near-{infinite}  number of even less complimentary
   expansions  (see also {fear and loathing}). What galled hackers about
   most  IBM  machines  above the PC level wasn't so much that they were
   underpowered  and  overpriced (though that counted against them), but
   that the designs were incredibly archaic, {crufty}, and {elephantine}
   ... and you couldn't fix them -- source code was locked up tight, and
   programming  tools  were  expensive, hard to find, and bletcherous to
   use once you had found them.

   We didn't know how good we had it back then. In the 1980s IBM had its
   own troubles with Microsoft and lost its strategic way, receding from
   the  hacker  community's  view.  Then, in the 1990s, Microsoft became
   more noxious and omnipresent than IBM had ever been.

   In the late 1990s IBM re-invented itself as a services company, began
   to  release  open-source  software  through its AlphaWorks group, and
   began  shipping  {Linux}  systems  and  building  ties  to  the Linux
   community.  To  the  astonishment  of  all  parties, IBM emerged as a
   staunch friend of the hacker community and {open source} development.

   This  lexicon includes a number of entries attributed to `IBM'; these
   derive  from some rampantly unofficial jargon lists circulated within
   IBM's formerly beleaguered hacker underground.

:ICBM address: n.

   (Also  missile  address)  The  form  used to register a site with the
   Usenet  mapping  project,  back before the day of pervasive Internet,
   included   a   blank   for  longitude  and  latitude,  preferably  to
   seconds-of-arc  accuracy.  This  was  actually  used  for  generating
   geographically-correct maps of Usenet links on a plotter; however, it
   became  traditional to refer to this as one's ICBM address or missile
   address,  and  some  people include it in their {sig block} with that
   name. (A real missile address would include target elevation.)

:ice: n.

   [coined  by  Usenetter  Tom  Maddox,  popularized by William Gibson's
   cyberpunk   SF   novels:   a   contrived   acronym   for   `Intrusion
   Countermeasure  Electronics']  Security software (in Gibson's novels,
   software  that  responds  to intrusion by attempting to immobilize or
   even  literally  kill  the  intruder).  Hence,  icebreaker: a program
   designed for cracking security on a system.

   Neither  term is in serious use yet as of late 2002, but many hackers
   find  the  metaphor  attractive, and each may develop a denotation in
   the  future. In the meantime, the speculative usage could be confused
   with `ICE', an acronym for "in-circuit emulator".

   In  ironic  reference to the speculative usage, however, some hackers
   and  computer  scientists  formed  ICE  (International  Cryptographic
   Experiment)   in  1994.  ICE  is  a  consortium  to  promote  uniform
   international access to strong cryptography.

:ID10T error: /I·D·ten·T er'@r/

   Synonym for {PEBKAC}, e.g. "The user is being an idiot". Tech-support
   people  passing  a problem report to someone higher up the food chain
   (and presumably better equipped to deal with idiots) may ask the user
   to  convey  that  there  seems  to be an I-D-ten-T error. Users never
   twig.

:idempotent: adj.

   [from  mathematical  techspeak]  Acting as if used only once, even if
   used  multiple  times.  This  term  is often used with respect to {C}
   header files, which contain common definitions and declarations to be
   included  by  several source files. If a header file is ever included
   twice  during  the  same  compilation (perhaps due to nested #include
   files),  compilation  errors  can  result  unless the header file has
   protected  itself  against  multiple  inclusion;  a  header  file  so
   protected  is  said  to  be  idempotent. The term can also be used to
   describe  an  initialization  subroutine  that is arranged to perform
   some  critical  action  exactly  once,  even if the routine is called
   several times.

:IDP: /I·D·P/, v.,n.

   [Usenet]  Abbreviation for {Internet Death Penalty}. Common (probably
   now  more  so  than  the  full  form), and frequently verbed. Compare
   {UDP}.

:If you want X, you know where to find it.:

   There  is  a  legend  that  Dennis  Ritchie,  inventor  of  {C}, once
   responded  to  demands  for  features resembling those of what at the
   time was a much more popular language by observing "If you want PL/I,
   you  know  where  to  find  it."  Ever  since,  this has been hackish
   standard form for fending off requests to alter a new design to mimic
   some  older  (and,  by  implication, inferior and {baroque}) one. The
   case  X  =  {Pascal} manifests semi-regularly on Usenet's comp.lang.c
   newsgroup. Indeed, the case X = X has been reported in discussions of
   graphics software (see {X}).

:ifdef out: /if´def owt/, v.

   Syn. for {condition out}, specific to {C}.

:IIRC: //

   Common abbreviation for "If I Recall Correctly".

:ill-behaved: adj.

   1.  [numerical analysis] Said of an algorithm or computational method
   that  tends  to blow up because of accumulated roundoff error or poor
   convergence properties.

   2.  [obs.]  Software  that bypasses the defined {OS} interfaces to do
   things  (like  screen, keyboard, and disk I/O) itself, often in a way
   that depends on the hardware of the machine it is running on or which
   is  nonportable or incompatible with other pieces of software. In the
   MS-DOS  world,  there  was a folk theorem (nearly true) to the effect
   that (owing to gross inadequacies and performance penalties in the OS
   interface)  all  interesting  applications were ill-behaved. See also
   {bare metal}. Oppose {well-behaved}. See also {mess-dos}.

   3.  In  modern  usage,  a  program  is  called ill-behaved if it uses
   interfaces   to   the   OS   or  other  programs  that  are  private,
   undocumented,  or grossly non-portable. Another way to be ill-behaved
   is  to use headers or files that are theoretically private to another
   application.

:IMHO: //, abbrev.

   [from  SF fandom via Usenet; abbreviation for `In My Humble Opinion']
   "IMHO,  mixed-case  C names should be avoided, as mistyping something
   in  the  wrong  case can cause hard-to-detect errors -- and they look
   too  Pascalish anyhow." Also seen in variant forms such as IMNSHO (In
   My Not-So-Humble Opinion) and IMAO (In My Arrogant Opinion).

:Imminent Death Of The Net Predicted!: prov.

   [Usenet]  Since {Usenet} first got off the ground in 1980--81, it has
   grown  exponentially,  approximately  doubling in size every year. On
   the  other  hand,  most  people  feel  the {signal-to-noise ratio} of
   Usenet  has  dropped  steadily.  These  trends  led,  as  far back as
   mid-1983,  to  predictions of the imminent collapse (or death) of the
   net.  Ten  years and numerous doublings later, enough of these gloomy
   prognostications have been confounded that the phrase "Imminent Death
   Of The Net Predicted!" has become a running joke, hauled out any time
   someone  grumbles  about  the  {S/N  ratio}  or the huge and steadily
   increasing volume, or the possible loss of a key node or link, or the
   potential  for  lawsuits  when ignoramuses post copyrighted material,
   etc., etc., etc.

:in the extreme: adj.

   A  preferred  superlative  suffix  for  many  hackish terms. See, for
   example,   obscure  in  the  extreme  under  {obscure},  and  compare
   {highly}.

:incantation: n.

   Any particularly arbitrary or obscure command that one must mutter at
   a  system  to attain a desired result. Not used of passwords or other
   explicit  security  features.  Especially  used of tricks that are so
   poorly  documented  that  they must be learned from a {wizard}. "This
   compiler  normally  locates initialized data in the data segment, but
   if  you  {mutter} the right incantation they will be forced into text
   space."

:include: vt.

   [Usenet]

   1.  To duplicate a portion (or whole) of another's message (typically
   with  attribution  to  the  source)  in  a  reply  or  followup,  for
   clarifying  the  context  of  one's  response.  See the discussion of
   inclusion styles under Hacker Writing Style.

   2. [from {C}] #include <disclaimer.h> has appeared in {sig block}s to
   refer to a notional standard {disclaimer} file.

:include war: n.

   Excessive  multi-leveled  inclusion  within  a discussion {thread}, a
   practice  that  tends  to annoy readers. In a forum with high-traffic
   newsgroups, such as Usenet, this can lead to {flame}s and the urge to
   start a {kill file}.

:indent style: n.

   [C, C++, and Java programmers] The rules one uses to indent code in a
   readable  fashion.  There  are  four major C indent styles, described
   below;  all  have  the  aim  of  making  it  easier for the reader to
   visually  track  the  scope  of  control  constructs.  They have been
   inherited   by   C++  and  Java,  which  have  C-like  syntaxes.  The
   significant  variable is the placement of { and } with respect to the
   statement(s)  they  enclose and to the guard or controlling statement
   (if, else, for, while, or do) on the block, if any.

   K&R style -- Named after Kernighan & Ritchie, because the examples in
   {K&R}  are  formatted  this way. Also called kernel style because the
   Unix kernel is written in it, and the `One True Brace Style' (abbrev.
   1TBS)  by its partisans. In C code, the body is typically indented by
   eight  spaces  (or one tab) per level, as shown here. Four spaces are
   occasionally seen in C, but in C++ and Java four tends to be the rule
   rather than the exception.

   if (<cond>) {
           <body>
   }

   Allman  style -- Named for Eric Allman, a Berkeley hacker who wrote a
   lot  of  the  BSD utilities in it (it is sometimes called BSD style).
   Resembles  normal  indent  style  in Pascal and Algol. It is the only
   style  other than K&R in widespread use among Java programmers. Basic
   indent  per  level shown here is eight spaces, but four (or sometimes
   three) spaces are generally preferred by C++ and Java programmers.

   if (<cond>)
   {
           <body>
   }

   Whitesmiths  style  --  popularized  by  the  examples that came with
   Whitesmiths C, an early commercial C compiler. Basic indent per level
   shown here is eight spaces, but four spaces are occasionally seen.

   if (<cond>)
           {
           <body>
           }

   GNU  style  --  Used  throughout  GNU  EMACS  and  the  Free Software
   Foundation code, and just about nowhere else. Indents are always four
   spaces  per  level,  with { and } halfway between the outer and inner
   indent levels.

   if (<cond>)
     {
       <body>
     }

   Surveys  have  shown the Allman and Whitesmiths styles to be the most
   common,  with  about  equal  mind  shares. K&R/1TBS used to be nearly
   universal,  but is now much less common in C (the opening brace tends
   to  get  lost  against  the right paren of the guard part in an if or
   while,  which  is  a  {Bad  Thing}). Defenders of 1TBS argue that any
   putative  gain  in  readability  is less important than their style's
   relative  economy  with vertical space, which enables one to see more
   code  on  one's  screen  at  once.  The  Java  Language Specification
   legislates  not  only  the  capitalization  of identifiers, but where
   nouns,  adjectives,  and verbs should be in method, class, interface,
   and variable names (section 6.8). While the specification stops short
   of also standardizing on a bracing style, all source code originating
   from  Sun  Laboratories  uses the K&R style. This has set a precedent
   for Java programmers, which most follow.

   Doubtless  these  issues  will  continue  to  be the subject of {holy
   wars}.

:Indent-o-Meter:

   []  A fiendishly clever ASCII display hack that became a brief fad in
   1993-1994;  it  used  combinations  of  tabs and spaces to produce an
   analog  indicator of the amount of indentation an included portion of
   a reply had undergone. The full story is at
   http://world.std.com/~mmcirvin/indent.html.

:index of X: n.

   See {coefficient of X}.

:infant mortality: n.

   It  is  common lore among hackers (and in the electronics industry at
   large;  this  term  is possibly techspeak by now) that the chances of
   sudden  hardware failure drop off exponentially with a machine's time
   since  first use (that is, until the relatively distant time at which
   enough  mechanical  wear in I/O devices and thermal-cycling stress in
   components has accumulated for the machine to start going senile). Up
   to  half  of  all chip and wire failures happen within a new system's
   first  few  weeks;  such  failures  are  often  referred to as infant
   mortality   problems   (or,  occasionally,  as  sudden  infant  death
   syndrome). See {bathtub curve}, {burn-in period}.

:infinite: adj.

   [common]  Consisting of a large number of objects; extreme. Used very
   loosely  as  in:  "This program produces infinite garbage." "He is an
   infinite  loser." The word most likely to follow infinite, though, is
   {hair}.  (It  has  been  pointed  out  that fractals are an excellent
   example  of  infinite  hair.)  These  uses  are  abuses of the word's
   mathematical   meaning.   The   term   semi-infinite,   denoting   an
   immoderately  large  amount  of  some  resource, is also heard. "This
   compiler  is  taking  a  semi-infinite  amount of time to optimize my
   program." See also {semi}.

:infinite loop: n.

   One  that  never terminates (that is, the machine {spin}s or {buzz}es
   forever and goes {catatonic}). There is a standard joke that has been
   made about each generation's exemplar of the ultra-fast machine: "The
   Cray-3  is  so  fast  it  can  execute  an  infinite  loop in under 2
   seconds!"

:Infinite-Monkey Theorem: n.

   "If   you  put  an  {infinite}  number  of  monkeys  at  typewriters,
   eventually  one  will  bash out the script for Hamlet." (One may also
   hypothesize  a  small  number  of  monkeys  and a very long period of
   time.) This theorem asserts nothing about the intelligence of the one
   {random}  monkey  that  eventually comes up with the script (and note
   that  the  mob will also type out all the possible incorrect versions
   of  Hamlet).  It  may be referred to semi-seriously when justifying a
   {brute  force} method; the implication is that, with enough resources
   thrown at it, any technical challenge becomes a {one-banana problem}.
   This  argument gets more respect since {Linux} justified the {bazaar}
   mode of development.

   Other  hackers  maintain  that  the Infinite-Monkey Theorem cannot be
   true  --  otherwise  Usenet would have reproduced the entire canon of
   great literature by now.

   In  mid-2003,  researchers  at Plymouth Univesity in England actually
   put  a  working  computer  in  a  cage with six crested macaques. The
   monkeys proceeded to bash the machine with a rock, urinate on it, and
   type the letter S a lot (later, the letters A, J, L, and M also crept
   in).  The  results  were  published  in a limited-edition book, Notes
   Towards  The  Complete  Works  of Shakespeare. A researcher reported:
   "They  were  quite  interested  in the screen, and they saw that when
   they  typed  a  letter,  something  happened.  There  was  a level of
   intention  there."  Scattered  field reports that there are AOL users
   this competent have been greeted with well-deserved skepticism.

   This  theorem  has  been  traced to the mathematiciamn Émile Borel in
   1913,  and  was  first  popularized  by  the  astronomer  Sir  Arthur
   Eddington.  It became part of the idiom of techies via the classic SF
   short  story  Inflexible  Logic  by Russell Maloney, and many younger
   hackers  know  it through a reference in Douglas Adams's Hitchhiker's
   Guide to the Galaxy. Some other references have been collected on the
   Web.  On  1  April 2000 the usage acquired its own Internet standard,
   RFC2795 (Infinite Monkey Protocol Suite).

:infinity: n.

   1.  The largest value that can be represented in a particular type of
   variable (register, memory location, data type, whatever).

   2.  minus  infinity: The smallest such value, not necessarily or even
   usually   the   simple   negation   of   plus   infinity.   In  N-bit
   twos-complement  arithmetic, infinity is 2^N-1 - 1 but minus infinity
   is - (2^N-1), not -(2^N-1 - 1). Note also that this is different from
   time  T  equals  minus infinity, which is closer to a mathematician's
   usage of infinity.

:inflate: vt.

   To  decompress  or  {puff}  a file. Rare among Internet hackers, used
   primarily by MS-DOS/Windows types.

:Infocom: n.

   A  now-legendary  games  company,  active  from  1979  to  1989, that
   commercialized the MDL parser technology used for {Zork} to produce a
   line  of  text  adventure  games that remain favorites among hackers.
   Infocom's  games were intelligent, funny, witty, erudite, irreverent,
   challenging,  satirical,  and  most thoroughly hackish in spirit. The
   physical game packages from Infocom are now prized collector's items.
   After  being  acquired  by  Activision  in  1989  they did a few more
   "modern"  (e.g.  graphics-intensive) games which were less successful
   than reissues of their classics.

   The software, thankfully, is still extant; Infocom games were written
   in a kind of P-code (called, actually, z-code) and distributed with a
   P-code  interpreter core, and not only open-source emulators for that
   interpreter  but  an  actual  compiler  as  well have been written to
   permit  the  P-code to be run on platforms the games never originally
   graced.  In  fact,  new  games written in this P-code are still being
   written.  There is a home page at http://www.csd.uwo.ca/Infocom/, and
   it  is  even  possible  to  play these games in your browser if it is
   Java-capable.

:initgame: /in·it´gaym/, n.

   [IRC]  An {IRC} version of the trivia game "Botticelli", in which one
   user  changes  his {nick} to the initials of a famous person or other
   named  entity, and the others on the channel ask yes or no questions,
   with  the  one  to  guess  the  person  getting to be "it" next. As a
   courtesy, the one picking the initials starts by providing a 4-letter
   hint  of  the form sex, nationality, life-status, reality-status. For
   example,  MAAR  means  "Male,  American,  Alive, Real" (as opposed to
   "fictional").  Initgame  can  be  surprisingly  addictive.  See  also
   {hing}.

   [1996  update:  a  recognizable  version of the initgame has become a
   staple of some radio talk shows in the U.S. We had it first! -- ESR]

:insanely great: adj.

   [Mac  community,  from Steve Jobs; also BSD Unix people via Bill Joy]
   Something  so  incredibly  {elegant}  that  it  is imaginable only to
   someone possessing the most puissant of {hacker}-natures.

:installfest:

   [Linux   community   since   c.1998]   Common  portmanteau  word  for
   "installation  festival";  Linux  user  groups  frequently run these.
   Computer  users  are  invited  to  bring their machines to have Linux
   installed  on their machines. The idea is to get them painlessly over
   the biggest hump in migrating to Linux, which is initially installing
   and configuring it for the user's machine.

:INTERCAL: /in´t@r·kal/, n.

   [said  by  the  authors  to  stand  for  Compiler  Language  With  No
   Pronounceable  Acronym] A computer language designed by Don Woods and
   James  Lyons  in 1972. INTERCAL is purposely different from all other
   computer  languages  in  all  ways  but  one;  it is purely a written
   language,  being  totally  unspeakable.  An excerpt from the INTERCAL
   Reference Manual will make the style of the language clear:

     It  is  a well-known and oft-demonstrated fact that a person whose
     work  is  incomprehensible is held in high esteem. For example, if
     one  were to state that the simplest way to store a value of 65536
     in a 32-bit INTERCAL variable is:

   DO :1 <- #0$#256

     any sensible programmer would say that that was absurd. Since this
     is  indeed  the  simplest  method, the programmer would be made to
     look  foolish  in  front  of  his  boss,  who would of course have
     happened to turn up, as bosses are wont to do. The effect would be
     no less devastating for the programmer having been correct.

   INTERCAL  has  many  other peculiar features designed to make it even
   more unspeakable. The Woods-Lyons implementation was actually used by
   many  (well,  at least several) people at Princeton. The language has
   been   recently  reimplemented  as  C-INTERCAL  and  is  consequently
   enjoying  an  unprecedented  level  of unpopularity; there is even an
   alt.lang.intercal newsgroup devoted to the study and ... appreciation
   of the language on Usenet.

   Inevitably,    INTERCAL    has    a    home    page   on   the   Web:
   http://www.catb.org/~esr/intercal/.  An extended version, implemented
   in  (what  else?)  {Perl}  and  adding  object-oriented  features, is
   rumored to exist. See also {Befunge}.

:InterCaps:

   [Great Britain] Synonym for {BiCapitalization}.

:interesting: adj.

   In  hacker parlance, this word has strong connotations of `annoying',
   or  `difficult',  or  both.  Hackers  relish  a  challenge, and enjoy
   wringing all the irony possible out of the ancient Chinese curse "May
   you live in interesting times". Oppose {trivial}, {uninteresting}.

:Internet: n.

   The mother of all networks. First incarnated beginning in 1969 as the
   ARPANET, a U.S. Department of Defense research testbed. Though it has
   been  widely  believed  that  the  goal  was  to  develop  a  network
   architecture  for  military  command-and-control  that  could survive
   disruptions up to and including nuclear war, this is a myth; in fact,
   ARPANET  was conceived from the start as a way to get most economical
   use out of then-scarce large-computer resources. Robert Herzfeld, who
   was  director  of  ARPA at the time, has been at some pains to debunk
   the "survive-a-nuclear-war" myth, but it seems unkillable.

   As  originally  imagined,  ARPANET's  major  use  would  have been to
   support  what is now called remote login and more sophisticated forms
   of  distributed  computing,  but  the infant technology of electronic
   mail  quickly  grew  to dominate actual usage. Universities, research
   labs   and   defense  contractors  early  discovered  the  Internet's
   potential  as  a medium of communication between humans and linked up
   in  steadily  increasing numbers, connecting together a quirky mix of
   academics,  techies,  hippies,  SF fans, hackers, and anarchists. The
   roots of this lexicon lie in those early years.

   Over  the next quarter-century the Internet evolved in many ways. The
   typical   machine/OS  combination  moved  from  {DEC}  {PDP-10}s  and
   {PDP-20}s,  running  {TOPS-10}  and {TOPS-20}, to PDP-11s and {VAX}en
   and  Suns  running  {Unix},  and  in  the  1990s  to  Unix  on  Intel
   microcomputers.  The  Internet's  protocols  grew  more capable, most
   notably  in  the  move  from  NCP/IP  to  {TCP/IP}  in  1982  and the
   implementation  of  Domain  Name  Service in 1983. It was around this
   time  that people began referring to the collection of interconnected
   networks with ARPANET at its core as "the Internet".

   The  ARPANET  had  a fairly strict set of participation guidelines --
   connected institutions had to be involved with a DOD-related research
   project.  By the mid-80s, many of the organizations clamoring to join
   didn't  fit  this  profile.  In 1986, the National Science Foundation
   built  NSFnet  to  open up access to its five regional supercomputing
   centers;  NSFnet  became  the backbone of the Internet, replacing the
   original  ARPANET  pipes  (which  were  formally  shut down in 1990).
   Between  1990  and  late 1994 the pieces of NSFnet were sold to major
   telecommunications  companies  until  the  Internet backbone had gone
   completely commercial.

   That  year, 1994, was also the year the mainstream culture discovered
   the  Internet.  Once  again, the {killer app} was not the anticipated
   one  --  rather, what caught the public imagination was the hypertext
   and  multimedia  features  of  the  World  Wide Web. Subsequently the
   Internet  has  seen off its only serious challenger (the OSI protocol
   stack  favored by European telecoms monopolies) and is in the process
   of  absorbing  into  itself  many  of  the proprietary networks built
   during the second wave of wide-area networking after 1980. By 1996 it
   had  become  a commonplace even in mainstream media to predict that a
   globally-extended    Internet   would   become   the   key   unifying
   communications   technology  of  the  next  century.  See  also  {the
   network}.

:Internet Death Penalty:

   [Usenet]  (often  abbreviated  IDP)  The  ultimate  sanction  against
   {spam}-emitting sites -- complete shunning at the router level of all
   mail  and  packets,  as  well  as Usenet messages, from the offending
   domain(s). Compare {Usenet Death Penalty}, with which it is sometimes
   confused.

:Internet Exploder:

   [very   common]   Pejorative   hackerism  for  Microsoft's  "Internet
   Explorer"  web browser (also "Internet Exploiter"). Compare {HP-SUX},
   {Macintrash}, {sun-stools}, {Slowlaris}.

:Internet Exploiter: n.

   Another  common  name-of-insult  for  Internet  Explorer, Microsoft's
   overweight  Web  Browser;  more  hostile  than  {Internet  Exploder}.
   Reflects  widespread  hostility  to  Microsoft and a sense that it is
   seeking  to  hijack,  monopolize,  and  corrupt the Internet. Compare
   {Exploder} and the less pejorative {Netscrape}.

:interrupt:

   1.  [techspeak]  n.  On  a  computer, an event that interrupts normal
   processing   and   temporarily  diverts  flow-of-control  through  an
   "interrupt handler" routine. See also {trap}.

   2.  interj.  A  request for attention from a hacker. Often explicitly
   spoken.  "Interrupt  --  have  you  seen Joe recently?" See {priority
   interrupt}.

:interrupts locked out: adj.

   When  someone  is  ignoring  you.  In  a  restaurant,  after  several
   fruitless  attempts  to  get the waitress's attention, a hacker might
   well  observe  "She  must  have  interrupts  locked out". The synonym
   interrupts disabled is also common. Variations abound; "to have one's
   interrupt  mask  bit set" and "interrupts masked out" are also heard.
   See also {spl}.

:intertwingled:

   adj. [Invented by Theodor Holm Nelson, prob. a blend of "mingled" and
   "intertwined".]  Connected  together  in a complex way; specifically,
   composed of one another's components.

:intro: n.

   [{demoscene}] Introductory {screen} of some production.

   2. A short {demo}, usually showing just one or two {screen}s.

   3. Small, usually 64k, 40k or 4k {demo}. Sizes are generally dictated
   by {compo} rules. See also {dentro}, {demo}.

:IRC: /I·R·C/, n.

   [Internet  Relay  Chat]  A worldwide "party line" network that allows
   one  to  converse  with  others  in real time. IRC is structured as a
   network  of  Internet servers, each of which accepts connections from
   client programs, one per user. The IRC community and the {Usenet} and
   {MUD}  communities overlap to some extent, including both hackers and
   regular  folks  who have discovered the wonders of computer networks.
   Some  Usenet jargon has been adopted on IRC, as have some conventions
   such  as  {emoticon}s.  There  is  also  a  vigorous  native  jargon,
   represented in this lexicon by entries marked `[IRC]'. See also {talk
   mode}.

:iron: n.

   Hardware,  especially  older and larger hardware of {mainframe} class
   with  big  metal  cabinets housing relatively low-density electronics
   (but  the  term  is also used of modern supercomputers). Often in the
   phrase {big iron}. Oppose {silicon}. See also {dinosaur}.

:Iron Age: n.

   In  the  history  of  computing,  1961-1971  --  the formative era of
   commercial  {mainframe}  technology,  when  ferrite-core  {dinosaur}s
   ruled  the  earth.  The  Iron  Age began, ironically enough, with the
   delivery  of  the  first  minicomputer (the PDP-1) and ended with the
   introduction  of the first commercial microprocessor (the Intel 4004)
   in 1971. See also {Stone Age}; compare {elder days}.

:iron box: n.

   [Unix/Internet]  A  special  environment  set  up to trap a {cracker}
   logging  in  over  remote  connections  long enough to be traced. May
   include  a  modified  {shell}  restricting the cracker's movements in
   unobvious  ways, and `bait' files designed to keep him interested and
   logged on. See also {back door}, {firewall machine}, {Venus flytrap},
   and  Clifford  Stoll's account in The Cuckoo's Egg of how he made and
   used one (see the Bibliography in Appendix C). Compare {padded cell},
   {honey pot}.

:ironmonger: n.

   [IBM]  A  hardware  specialist  (derogatory).  Compare  {sandbender},
   {polygon pusher}.

:ISO standard cup of tea: n.

   [South  Africa]  A  cup  of  tea with milk and one teaspoon of sugar,
   where  the milk is poured into the cup before the tea. Variations are
   ISO 0, with no sugar; ISO 2, with two spoons of sugar; and so on.

   This  may derive from the "NATO standard" cup of coffee and tea (milk
   and  two  sugars),  military  slang  going back to the late 1950s and
   parodying  NATO's  relentless bureaucratic drive to standardize parts
   across European and U.S. militaries.

   Like  many  ISO standards, this one has a faintly alien ring in North
   America,  where  hackers generally shun the decadent British practice
   of  adulterating  perfectly  good  tea with dairy products and prefer
   instead  to  add  a  wedge of lemon, if anything. If one were feeling
   extremely silly, one might hypothesize an analogous ANSI standard cup
   of  tea  and wind up with a political situation distressingly similar
   to  several that arise in much more serious technical contexts. (Milk
   and lemon don't mix very well.)

   [2000  update:  There  is now, in fact, an ISO standard 3103: `Method
   for  preparation  of  a  liquor  of  tea  for use in sensory tests.',
   alleged  to  be  equivalent to British Standard BS6008: How to make a
   standard cup of tea. --ESR]

:ISP: /I·S·P/

   Common  abbreviation for Internet Service Provider, a kind of company
   that  barely  existed  before  1993. ISPs sell Internet access to the
   mass  market.  While the big nationwide commercial BBSs with Internet
   access  (like  America  Online,  CompuServe, GEnie, Netcom, etc.) are
   technically  ISPs, the term is usually reserved for local or regional
   small  providers  (often  run  by  hackers  turned entrepreneurs) who
   resell  Internet  access cheaply without themselves being information
   providers or selling advertising. Compare {NSP}.

:ITS: /I·T·S/, n.

   1.  Incompatible  Time-sharing  System,  an influential though highly
   idiosyncratic  operating system written for PDP-6s and PDP-10s at MIT
   and  long  used at the MIT AI Lab. Much AI-hacker jargon derives from
   ITS  folklore,  and  to  have  been  `an  ITS  hacker'  qualifies one
   instantly  as  an old-timer of the most venerable sort. ITS pioneered
   many   important  innovations,  including  transparent  file  sharing
   between machines and terminal-independent I/O. After about 1982, most
   actual  work  was  shifted  to newer machines, with the remaining ITS
   boxes run essentially as a hobby and service to the hacker community.
   The shutdown of the lab's last ITS machine in May 1990 marked the end
   of  an  era  and  sent old-time hackers into mourning nationwide (see
   {high moby}). There is an ITS home page.

   2.  A  mythical  image  of operating-system perfection worshiped by a
   bizarre,  fervent  retro-cult  of  old-time hackers and ex-users (see
   {troglodyte},  sense  2).  ITS  worshipers manage somehow to continue
   believing  that  an  OS  maintained by assembly-language hand-hacking
   that  supported  only monocase 6-character filenames in one directory
   per  account  remains  superior  to  today's  state of commercial art
   (their  venom against {Unix} is particularly intense). See also {holy
   wars}, {Weenix}.

:IWBNI: //

   Abbreviation for `It Would Be Nice If'. Compare {WIBNI}.

:IYFEG: //

   [Usenet]  Abbreviation  for `Insert Your Favorite Ethnic Group'. Used
   as  a  meta-name  when  telling  ethnic  jokes  on  the  net to avoid
   offending anyone. See {JEDR}.

J

:J. Random: /J rand´m/, n.

   [common;  generalized  from  {J. Random Hacker}] Arbitrary; ordinary;
   any  one;  any old. `J. Random' is often prefixed to a noun to make a
   name out of it. It means roughly some particular or any specific one.
   "Would  you let J. Random Loser marry your daughter?" The most common
   uses  are `J. Random Hacker', `J. Random Loser', and `J. Random Nerd'
   ("Should   J.   Random  Loser  be  allowed  to  kill  other  peoples'
   processes?"),  but  it  can be used simply as an elaborate version of
   {random} in any sense.

:J. Random Hacker: /J rand´m hak´r/, n.

   [very  common]  A  mythical  figure  like  the  Unknown  Soldier; the
   archetypal hacker nerd. This term is one of the oldest in the jargon,
   apparently  going  back  to  MIT  in  the 1960s. See {random}, {Suzie
   COBOL}.  This may originally have been inspired by `J. Fred Muggs', a
   show-biz chimpanzee whose name was a household word back in the early
   days  of  {TMRC},  and was probably influenced by `J. Presper Eckert'
   (one  of the co-inventors of the electronic computer). See also {Fred
   Foobar}.

:jack in: v.

   To  log  on  to  a machine or connect to a network or {BBS}, esp. for
   purposes  of  entering a {virtual reality} simulation such as a {MUD}
   or   {IRC}  (leaving  is  "jacking  out").  This  term  derives  from
   {cyberpunk}  SF,  in  which  it  was  used for the act of plugging an
   electrode  set  into  neural  sockets in order to interface the brain
   directly  to  a  virtual reality. It is primarily used by MUD and IRC
   fans and younger hackers on BBS systems.

:jaggies: /jag´eez/, n.

   The `stairstep' effect observable when an edge (esp. a linear edge of
   very  shallow  or  steep  slope)  is  rendered  on a pixel device (as
   opposed to a vector display).

:Java:

   An  object-oriented  language  originally  developed  at Sun by James
   Gosling (and known by the name "Oak") with the intention of being the
   successor to {C++} (the project was however originally sold to Sun as
   an  embedded  language  for  use  in  set-top boxes). After the great
   Internet   explosion   of   1993-1994,   Java   was   hacked  into  a
   byte-interpreted  language  and became the focus of a relentless hype
   campaign  by  Sun,  which touted it as the new language of choice for
   distributed applications.

   Java  is  indeed  a stronger and cleaner design than C++ and has been
   embraced  by  many  in  the  hacker  community  --  but it has been a
   considerable  source  of  frustration  to  many  others,  for reasons
   ranging  from  uneven  support  on  different  Web browser platforms,
   performance  issues,  and  some notorious deficiencies in some of the
   standard  toolkits  (AWT  in  particular).  {Microsoft}'s  determined
   attempts  to  corrupt the language (which it rightly sees as a threat
   to  its  OS  monopoly)  have not helped. As of 2002, these issues are
   still in the process of being resolved.

   Despite  many  attractive features and a good design, it is difficult
   to  find  people willing to praise Java who have tried to implement a
   complex,  real-world  system with it (but to be fair it is early days
   yet,  and  no  other  language  has  ever  been  forced  to spend its
   childhood  under  the limelight the way Java has). On the other hand,
   Java  has  already been a big {win} in academic circles, where it has
   taken  the  place  of {Pascal} as the preferred tool for teaching the
   basics of good programming to the next generation of hackers.

:JCL: /J·C·L/, n.

   1.  IBM's  supremely  {rude}  Job Control Language. JCL is the script
   language  used  to  control  the execution of programs in IBM's batch
   systems. JCL has a very {fascist} syntax, and some versions will, for
   example,  {barf}  if  two  spaces  appear  where it expects one. Most
   programmers  confronted  with JCL simply copy a working file (or card
   deck),  changing the file names. Someone who actually understands and
   generates  unique JCL is regarded with the mixed respect one gives to
   someone  who memorizes the phone book. It is reported that hackers at
   IBM itself sometimes sing "Who's the breeder of the crud that mangles
   you  and me? I-B-M, J-C-L, M-o-u-s-e" to the tune of the Mickey Mouse
   Club theme to express their opinion of the beast.

   2.  A  comparative  for  any  very  {rude}  software that a hacker is
   expected  to  use.  "That's  as  bad as JCL." As with {COBOL}, JCL is
   often  used  as  an  archetype  of ugliness even by those who haven't
   experienced it. See also {IBM}, {fear and loathing}.

   A  (poorly  documented,  naturally)  shell  simulating  JCL syntax is
   available at the Retrocomputing Museum http://www.catb.org/retro/.

:JEDR: //, n.

   Synonymous  with {IYFEG}. At one time, people in the Usenet newsgroup
   rec.humor.funny   tended   to   use  `JEDR'  instead  of  {IYFEG}  or
   `<ethnic>';  this stemmed from a public attempt to suppress the group
   once  made  by a loser with initials JEDR after he was offended by an
   ethnic  joke posted there. (The practice was {retcon}ned by expanding
   these  initials as `Joke Ethnic/Denomination/Race'.) After much sound
   and  fury  JEDR  faded  away; this term appears to be doing likewise.
   JEDR's  only  permanent  effect  on  the net.culture was to discredit
   `sensitivity' arguments for censorship so thoroughly that more recent
   attempts  to  raise  them  have met with immediate and near-universal
   rejection.

:Jeff K.:

   The  spiritual  successor  to  {B1FF}  and  the  archetype of {script
   kiddies}.  Jeff  K.  is  a  sixteen-year-old  suburbanite who fancies
   himself  a "l33t haX0r", although his knowledge of computers seems to
   be limited to the procedure for getting Quake up and running. His Web
   page   http://www.somethingawful.com/jeffk/   features  a  number  of
   hopelessly  naive  articles,  essays,  and rants, all filled with the
   kind    of    misspellings,   {studlycaps},   and   number-for-letter
   substitutions   endemic  to  the  script  kiddie  and  {warez  d00dz}
   communities.  Jeff's  offerings, among other things, include hardware
   advice  (such  as  "AMD  VERSIS  PENTIUM"  and "HOW TO OVARCLOAK YOUR
   COMPUTAR"),  his  own  Quake clan (Clan 40 OUNSCE), and his own comic
   strip (Wacky Fun Computar Comic Jokes).

   Like  B1FF,  Jeff  K. is (fortunately) a hoax. Jeff K. was created by
   internet  game  journalist  Richard  "Lowtax"  Kyanka, whose web site
   Something     Awful     (http://www.somethingawful.com)    highlights
   unintentionally humorous news items and Web sites, as a parody of the
   kind  of  teenage  {luser} who infests Quake servers, chat rooms, and
   other   places   where   computer   enthusiasts   congregate.  He  is
   well-recognized in the PC game community and his influence has spread
   to hacker {fora} like Slashdot as well.

:jello: n.

   [Usenet:  by  analogy with {spam}] A message that is both excessively
   cross-posted  and  too frequently posted, as opposed to {spam} (which
   is  merely  too  frequently  posted)  or  {velveeta} (which is merely
   excessively  cross-posted).  This  term  is widely recognized but not
   commonly  used;  most  people  refer  to both kinds of abuse or their
   combination as spam.

:Jeopardy-style quoting:

   See {top-post}.

:jibble:

   [UK]  Unspecified  stuff. An unspecified action. A deliberately blank
   word;  compare  {gorets}.  A  deliberate  experiment  in tracking the
   spread of a near-meaningless word. See
   http://www.jibble.org/jibblemeaning.php.

:jiffy: n.

   1. The duration of one tick of the system clock on your computer (see
   {tick}). Often one AC cycle time (1/60 second in the U.S. and Canada,
   1/50  most  other  places),  but  more  recently 1/100 sec has become
   common.  "The  swapper  runs  every 6 jiffies" means that the virtual
   memory  management  routine is executed once for every 6 ticks of the
   clock, or about ten times a second.

   2.  Confusingly,  the term is sometimes also used for a 1-millisecond
   {wall time} interval.

   3.  Even  more  confusingly,  physicists semi-jokingly use `jiffy' to
   mean  the  time  required  for  light to travel one foot in a vacuum,
   which  turns  out to be close to one nanosecond. Other physicists use
   the  term  for  the quantum-nechanical lower bound on meaningful time
   lengths,

   4. Indeterminate time from a few seconds to forever. "I'll do it in a
   jiffy"  means  certainly  not  now  and possibly never. This is a bit
   contrary  to  the more widespread use of the word. Oppose {nano}. See
   also {Real Soon Now}.

:job security: n.

   When  some  piece  of  code  is  written  in a particularly {obscure}
   fashion,  and no good reason (such as time or space optimization) can
   be discovered, it is often said that the programmer was attempting to
   increase  his job security (i.e., by making himself indispensable for
   maintenance).  This  sour  joke seldom has to be said in full; if two
   hackers  are  looking  over  some  code  together and one points at a
   section and says "job security", the other one may just nod.

:jock: n.

   1.   A   programmer  who  is  characterized  by  large  and  somewhat
   brute-force programs. See {brute force}.

   2.  When  modified  by  another  noun, describes a specialist in some
   particular  computing  area.  The compounds compiler jock and systems
   jock seem to be the best-established examples.

:joe code: /joh´ kohd`/, n.

   1.  Code  that is overly {tense} and unmaintainable. "{Perl} may be a
   handy  program,  but  if  you  look  at the source, it's complete joe
   code."

   2. Badly written, possibly buggy code.

   Correspondents wishing to remain anonymous have fingered a particular
   Joe  at  the Lawrence Berkeley Laboratory and observed that usage has
   drifted  slightly;  the original sobriquet `Joe code' was intended in
   sense 1.

   1994  update: This term has now generalized to `<name> code', used to
   designate code with distinct characteristics traceable to its author.
   "This  section  doesn't check for a NULL return from malloc()! Oh. No
   wonder!  It's  Ed  code!".  Used most often with a programmer who has
   left the shop and thus is a convenient scapegoat for anything that is
   wrong with the project.

:juggling eggs: vi.

   Keeping  a  lot  of  {state}  in your head while modifying a program.
   "Don't  bother me now, I'm juggling eggs", means that an interrupt is
   likely  to  result  in  the program's being scrambled. In the classic
   1975 first-contact SF novel The Mote in God's Eye, by Larry Niven and
   Jerry  Pournelle,  an alien describes a very difficult task by saying
   "We  juggle  priceless eggs in variable gravity." It is possible that
   this was intended as tribute to a less colorful use of the same image
   in  Robert  Heinlein's  influential  1961 novel Stranger in a Strange
   Land. See also {hack mode} and {on the gripping hand}.

:juice: n.

   The weight of a given node in some sort of graph (like a web of trust
   or  a  relevance-weighted  search  query).  This appears to have been
   generalized  from  {google  juice},  but  may derive from black urban
   slang  for  power  or  a  respect. Example: "I signed your key, but I
   really don't have the juice to be authoritative."

:jump off into never-never land: v.

   [from  J. M. Barrie's Peter Pan] An unexpected jump in a program that
   produces   catastrophic   or   just   plain  weird  results.  Compare
   {hyperspace}.

:jupiter: vt.

   [IRC]  To  kill  an  {IRC}  {bot}  or user and then take its place by
   adopting  its  {nick}  so  that  it  cannot  reconnect. Named after a
   particular  IRC user who did this to NickServ, the robot in charge of
   preventing  people from inadvertently using a nick claimed by another
   user. Now commonly shortened to jupe.

K

:K: /K/, n.

   [from  {kilo-}]  A kilobyte. Used both as a spoken word and a written
   suffix  (like  {meg}  and  {gig}  for  megabyte  and  gigabyte).  See
   {quantifiers}.

:K&R: n.

   Brian Kernighan and Dennis Ritchie's book The C Programming Language,
   esp.  the  classic and influential first edition (Prentice-Hall 1978;
   ISBN 0-13-110163-3). Syn. {Old Testament}. See also {New Testament}.

:k-: pref.

   [rare;  poss  fr.  kilo-  prefix]  Extremely. Rare among hackers, but
   quite  common  among  crackers and {warez d00dz} in compounds such as
   k-kool  /K´kool´/, k-rad /K´rad´/, and k-awesome /K´aw`sm/. Also used
   to   intensify   negatives;  thus,  k-evil,  k-lame,  k-screwed,  and
   k-annoying.  Overuse  of  this  prefix,  or  use  in  more  formal or
   technical contexts, is considered an indicator of {lamer} status.

:kahuna: /k@·hoo´n@/, n.

   [IBM:  from  the  Hawaiian  title for a shaman] Synonym for {wizard},
   {guru}.

:kamikaze packet: n.

   The  `official'  jargon for what is more commonly called a {Christmas
   tree packet}. {RFC}-1025, TCP and IP Bake Off says:

     10  points for correctly being able to process a "Kamikaze" packet
     (AKA nastygram, christmas tree packet, lamp test segment, et al.).
     That  is,  correctly handle a segment with the maximum combination
     of features at once (e.g., a SYN URG PUSH FIN segment with options
     and data).

   See also {Chernobyl packet}.

:kangaroo code: n.

   Syn. {spaghetti code}.

:ken: /ken/, n.

   1. [Unix] Ken Thompson, principal inventor of Unix. In the early days
   he  used  to hand-cut distribution tapes, often with a note that read
   "Love,   ken".   Old-timers  still  use  his  first  name  (sometimes
   uncapitalized,  because  it's  a  login  name  and  mail  address) in
   third-person  reference;  it  is  widely  understood  (on  Usenet, in
   particular)  that  without  a  last  name  `Ken'  refers  only to Ken
   Thompson.  Similarly, `Dennis' without last name means Dennis Ritchie
   (and he is often known as dmr). See also {demigod}, {Unix}.

   2.  A flaming user. This was originated by the Software Support group
   at  Symbolics  because the two greatest flamers in the user community
   were both named Ken.

:kernel-of-the-week club:

   The  fictional society that {BSD} {bigot}s claim {Linux} users belong
   to,  alluding  to  the release-early-release-often style preferred by
   the  kernel  maintainers.  See  {bazaar}.  This  was almost certainly
   inspired by the earlier {bug-of-the-month club}.

:kgbvax: /K·G·B´vaks/, n.

   See {kremvax}.

:KIBO: /ki:´boh/

   1.  [acronym]  Knowledge  In, Bullshit Out. A summary of what happens
   whenever  valid  data  is  passed through an organization (or person)
   that   deliberately   or   accidentally  disregards  or  ignores  its
   significance. Consider, for example, what an advertising campaign can
   do  with  a product's actual specifications. Compare {GIGO}; see also
   {SNAFU principle}.

   2. James Parry <kibo@world.std.com>, a Usenetter infamous for various
   surrealist  net.pranks  and  an  uncanny,  machine-assisted knack for
   joining  any thread in which his nom de guerre is mentioned. He has a
   website at http://www.kibo.com/.

:kiboze: v.

   [Usenet]  To {grep} the Usenet news for a string, especially with the
   intention  of  posting  a follow-up. This activity was popularised by
   Kibo (see {KIBO}, sense 2).

:kibozo: /ki:·boh´zoh/, n.

   [Usenet] One who {kiboze}s but is not Kibo (see {KIBO}, sense 2).

:kick: v.

   1.  [IRC]  To  cause  somebody to be removed from a {IRC} channel, an
   option  only  available  to  channel ops. This is an extreme measure,
   often  used  to combat extreme {flamage} or {flood}ing, but sometimes
   used at the {CHOP}'s whim.

   2. To reboot a machine or kill a running process. "The server's down,
   let me go kick it."

:kill file: n.

   [Usenet; very common] (alt.: KILL file) Per-user file(s) used by some
   {Usenet}  reading programs (originally Larry Wall's rn(1)) to discard
   summarily  (without  presenting  for  reading) articles matching some
   particularly uninteresting (or unwanted) patterns of subject, author,
   or  other  header  lines.  Thus to add a person (or subject) to one's
   kill  file  is  to  arrange  for  that  person to be ignored by one's
   newsreader  in future. By extension, it may be used for a decision to
   ignore the person or subject in other media. See also {plonk}.

:killer app:

   The  application  that  actually  makes  a  sustaining  market  for a
   promising  but under-utilized technology. First used in the mid-1980s
   to  describe  Lotus 1-2-3 once it became evident that demand for that
   product  had  been  the major driver of the early business market for
   IBM PCs. The term was then retrospectively applied to VisiCalc, which
   had  played a similar role in the success of the Apple II. After 1994
   it  became  commonplace  to  describe  the  World  Wide  Web  as  the
   Internet's killer app. One of the standard questions asked about each
   new personal-computer technology as it emerges has become "what's the
   killer app?"

:killer micro: n.

   [popularized  by Eugene Brooks c.1990] A microprocessor-based machine
   that infringes on mini, mainframe, or supercomputer performance turf.
   Often  heard  in  "No  one  will  survive  the  attack  of the killer
   micros!", the battle cry of the downsizers.

   The  popularity  of  the  phrase  `attack  of  the  killer micros' is
   doubtless  reinforced  by the title of the movie Attack Of The Killer
   Tomatoes  (one  of  the {canonical} examples of so-bad-it's-wonderful
   among  hackers).  This  has even more {flavor} now that killer micros
   have  gone  on  the offensive not just individually (in workstations)
   but in hordes (within massively parallel computers).

   [2002  update: Eugene Brooks was right. Since this term first entered
   the  Jargon  File in 1990, the minicomputer has effectively vanished,
   the  {mainframe}  sector  is in deep and apparently terminal decline,
   and  even  the  supercomputer  business has contracted into a smaller
   niche. It's networked killer micros as far as the eye can see. --ESR]

:killer poke: n.

   A  recipe  for inducing hardware damage on a machine via insertion of
   invalid  values  (see  {poke}) into a memory-mapped control register;
   used  esp.  of  various  fairly  well-known  tricks  on {bitty box}es
   without  hardware memory management (such as the IBM PC and Commodore
   PET)  that  can overload and trash analog electronics in the monitor.
   See also {HCF}.

:kilo-: pref.

   [SI] See {quantifiers}.

:kilogoogle: n.

   The  standard  unit  of  measurement  for Web search hits: a thousand
   Google  matches.  "There are about a kilogoogle and a half sites with
   that band's name on it." Compare {google juice}.

:KIPS: /kips/, n.

   [abbreviation,  by  analogy  with  {MIPS}  using  {K}] Thousands (not
   1024s) of Instructions Per Second. Usage: rare.

:KISS Principle: /kis´ prin´si·pl/, n.

   "Keep  It  Simple,  Stupid".  A  maxim  often invoked when discussing
   design  to  fend  off  {creeping  featurism}  and control development
   complexity.  Possibly  related  to  the  {marketroid}  maxim on sales
   presentations, "Keep It Short and Simple".

:kit: n.

   [Usenet; poss.: fr.: {DEC} slang for a full software distribution, as
   opposed  to  a  patch or upgrade] A source software distribution that
   has  been  packaged  in  such  a  way  that it can (theoretically) be
   unpacked  and  installed  according  to  a series of steps using only
   standard Unix tools, and entirely documented by some reasonable chain
   of references from the top-level {README file}. The more general term
   {distribution}  may  imply  that  special  tools  or  more  stringent
   conditions on the host environment are required.

:KLB: n.

   [common  among  Perl  hackers]  Known  Lazy Bastard. Used to describe
   somebody  who perpetually asks questions which are easily answered by
   referring to the reference material or manual.

:klone: /klohn/, n.

   See {clone}, sense 4.

:kludge:

   1.  /kluhj/  n.  Incorrect  (though  regrettably  common) spelling of
   {kluge}  (US).  These  two words have been confused in American usage
   since  the  early 1960s, and widely confounded in Great Britain since
   the end of World War II.

   2.  [TMRC]  A  {crock}  that works. (A long-ago Datamation article by
   Jackson  Granholme  similarly  said:  "An  ill-assorted collection of
   poorly matching parts, forming a distressing whole.")

   3.  v.  To use a kludge to get around a problem. "I've kludged around
   it for now, but I'll fix it up properly later."

   This  word appears to have derived from Scots kludge or kludgie for a
   common  toilet,  via  British  military  slang.  It apparently became
   confused with U.S. {kluge} during or after World War II; some Britons
   from that era use both words in definably different ways, but {kluge}
   is  now  uncommon  in Great Britain. `Kludge' in Commonwealth hackish
   differs in meaning from `kluge' in that it lacks the positive senses;
   a  kludge  is something no Commonwealth hacker wants to be associated
   too  closely  with.  Also,  `kludge'  is more widely known in British
   mainstream slang than `kluge' is in the U.S.

:kluge: /klooj/

   [from  the  German  `klug', clever; poss. related to Polish & Russian
   `klucz' (a key, a hint, a main point)]

   1. n. A Rube Goldberg (or Heath Robinson) device, whether in hardware
   or software.

   2. n. A clever programming trick intended to solve a particular nasty
   case  in  an  expedient,  if  not clear, manner. Often used to repair
   bugs. Often involves {ad-hockery} and verges on being a {crock}.

   3. n. Something that works for the wrong reason.

   4. vt. To insert a kluge into a program. "I've kluged this routine to
   get around that weird bug, but there's probably a better way."

   5. [WPI] n. A feature that is implemented in a {rude} manner.

   Nowadays  this  term  is  often  encountered  in the variant spelling
   `kludge'.  Reports  from  {old fart}s are consistent that `kluge' was
   the  original  spelling, reported around computers as far back as the
   mid-1950s  and, at that time, used exclusively of hardware kluges. In
   1947,  the  New York Folklore Quarterly reported a classic shaggy-dog
   story  `Murgatroyd the Kluge Maker' then current in the Armed Forces,
   in which a `kluge' was a complex and puzzling artifact with a trivial
   function.  Other sources report that `kluge' was common Navy slang in
   the  WWII  era for any piece of electronics that worked well on shore
   but consistently failed at sea.

   However,  there  is  reason to believe this slang use may be a decade
   older.  Several  respondents have connected it to the brand name of a
   device  called  a  "Kluge  paper  feeder",  an  adjunct to mechanical
   printing  presses.  Legend  has it that the Kluge feeder was designed
   before  small,  cheap  electric  motors  and  control electronics; it
   relied  on  a  fiendishly  complex  assortment  of  cams,  belts, and
   linkages  to  both  power and synchronize all its operations from one
   motive  driveshaft.  It  was  accordingly  temperamental,  subject to
   frequent breakdowns, and devilishly difficult to repair -- but oh, so
   clever!  People  who  tell  this story also aver that `Kluge' was the
   name of a design engineer.

   There  is  in  fact  a Brandtjen & Kluge Inc., an old family business
   that  manufactures printing equipment -- interestingly, their name is
   pronounced  /kloo´gee/!  Henry Brandtjen, president of the firm, told
   me  (ESR,  1994) that his company was co-founded by his father and an
   engineer  named  Kluge  /kloo´gee/,  who  built  and  co-designed the
   original  Kluge  automatic  feeder  in  1919.  Mr.  Brandtjen claims,
   however, that this was a simple device (with only four cams); he says
   he  has  no  idea  how  the  myth  of its complexity took hold. Other
   correspondents  differ with Mr. Brandtjen's history of the device and
   his  allegation  that  it  was  a simple rather than complex one, but
   agree  that  the Kluge automatic feeder was the most likely source of
   the folklore.

   {TMRC}  and  the  MIT  hacker culture of the early '60s seems to have
   developed  in  a  milieu  that  remembered  and  still used some WWII
   military slang (see also {foobar}). It seems likely that `kluge' came
   to  MIT via alumni of the many military electronics projects that had
   been  located  in  Cambridge (many in MIT's venerable Building 20, in
   which {TMRC} is also located) during the war.

   The  variant  `kludge' was apparently popularized by the {Datamation}
   article  mentioned  under  {kludge};  it  was  titled How to Design a
   Kludge  (February  1962,  pp.  30,  31).  This  spelling was probably
   imported  from  Great  Britain,  where  {kludge}  has  an independent
   history  (though  this  fact was largely unknown to hackers on either
   side  of  the  Atlantic  before a mid-1993 debate in the Usenet group
   alt.folklore.computers  over the First and Second Edition versions of
   this  entry;  everybody used to think {kludge} was just a mutation of
   {kluge}).  It  now  appears  that  the  British, having forgotten the
   etymology  of  their  own `kludge' when `kluge' crossed the Atlantic,
   repaid  the  U.S.  by  lobbing  the `kludge' orthography in the other
   direction and confusing their American cousins' spelling!

   The  result  of  this  history is a tangle. Many younger U.S. hackers
   pronounce  the  word  as  /klooj/  but  spell it, incorrectly for its
   meaning and pronunciation, as `kludge'. (Phonetically, consider huge,
   refuge,  centrifuge,  and  deluge as opposed to sludge, judge, budge,
   and  fudge. Whatever its failings in other areas, English spelling is
   perfectly  consistent about this distinction.) British hackers mostly
   learned /kluhj/ orally, use it in a restricted negative sense and are
   at  least  consistent.  European hackers have mostly learned the word
   from  written  American  sources and tend to pronounce it /kluhj/ but
   use the wider American meaning!

   Some  observers  consider this mess appropriate in view of the word's
   meaning.

:kluge around: vt.

   To avoid a bug or difficult condition by inserting a {kluge}. Compare
   {workaround}.

:kluge up: vt.

   To  lash together a quick hack to perform a task; this is milder than
   {cruft together} and has some of the connotations of {hack up} (note,
   however, that the construction kluge on corresponding to {hack on} is
   never used). "I've kluged up this routine to dump the buffer contents
   to a safe place."

:Knights of the Lambda Calculus: n.

   A semi-mythical organization of wizardly LISP and Scheme hackers. The
   name  refers  to  a mathematical formalism invented by Alonzo Church,
   with  which LISP is intimately connected. There is no enrollment list
   and the criteria for induction are unclear, but one well-known LISPer
   has  been known to give out buttons and, in general, the members know
   who they are....

:knobs: pl.n.

   Configurable  options,  even  in  software  and  even those you can't
   adjust  in real time. Anything you can {twiddle} is a knob. "Has this
   PNG  viewer  got  an alpha knob?" Software may be described as having
   "knobs  and  switches"  or  occasionally "knobs and lights". See also
   {nerd knob}

:Knuth: /ka·nooth´/, n.

   [Donald  E.  Knuth's The Art of Computer Programming] Mythically, the
   reference  that  answers  all  questions  about  data  structures  or
   algorithms. A safe answer when you do not know: "I think you can find
   that in Knuth." Contrast {the literature}. See also {bible}. There is
   a Donald Knuth home page at http://Sunburn.Stanford.EDU/~knuth/.

:koan: /koh´an/, n.

   A Zen teaching riddle. Classically, koans are attractive paradoxes to
   be  meditated  on;  their  purpose is to help one to enlightenment by
   temporarily  jamming  normal  cognitive  processing so that something
   more  interesting can happen (this practice is associated with Rinzai
   Zen Buddhism). Defined here because hackers are very fond of the koan
   form  and  compose  their  own koans for humorous and/or enlightening
   effect. See Some AI Koans, {has the X nature}, {hacker humor}.

:kook:

   [Usenet;  originally  and  more  formally,  net.kook]  Term  used  to
   describe  a  regular  poster  who  continually posts messages with no
   apparent  grounding  in  reality.  Different  from  a  {troll}, which
   implies  a sort of sly wink on the part of a poster who knows better,
   kooks really believe what they write, to the extent that they believe
   anything.

   The  kook  trademark  is  paranoia  and grandiosity. Kooks will often
   build  up  elaborate  imaginary support structures, fake corporations
   and  the  like,  and continue to act as if those things are real even
   after their falsity has been documented in public.

   While  they  may appear harmless, and are usually filtered out by the
   other  regular  participants in a newsgroup of mailing list, they can
   still  cause problems because the necessity for these measures is not
   immediately  apparent  to  newcomers;  there are several instances on
   record,  for example, of journalists writing stories with quotes from
   kooks who caught them unaware.

   An  entertaining  web page chronicling the activities of many notable
   kooks can be found at http://www.crank.net/usenet.html.

:Kool-Aid:

   [from  a  kid's  sugar-enriched drink in fruity flavors] When someone
   who  should know better succumbs to marketing influences and actually
   begins  to  believe the propaganda being dished out by a vendor, they
   are  said  to  have  drunk  the  Kool-Aid.  Usually the decortication
   process  is  slow  and  almost  unnoticeable until one day the victim
   emerges  as  a  True Believer and begins spreading the faith himself.
   The  term  originates  in the suicide of 914 followers of Jim Jones's
   People's  Temple cult in Guyana in 1978. What they actually drank was
   cyanide-laced  Flavor-Aid,  a  cheap  knockoff,  rather than Kool-Aid
   itself. There is a FAQ on this topic.

   This  has  live  variants.  When  a suit is blithering on about their
   latest  technology  and  how  it will save the world, that's `pouring
   Kool-Aid'.  When  the  suit  does  not  violate  the laws of physics,
   doesn't make impossible claims, and in fact says something reasonable
   and  believable,  that's  pouring  good Kool-Aid, usually used in the
   sentence "He pours good Kool-Aid, doesn't he?" This connotes that the
   speaker might be about to drink same.

:kremvax: /krem·vaks/, n.

   [from  the  then-large  number  of {Usenet} {VAXen} with names of the
   form  foovax]  Originally,  a  fictitious Usenet site at the Kremlin,
   announced  on  April 1, 1984 in a posting ostensibly originated there
   by  Soviet  leader  Konstantin  Chernenko.  The  posting was actually
   forged  by  Piet  Beertema  as an April Fool's joke. Other fictitious
   sites  mentioned  in  the  hoax  were  moskvax and {kgbvax}. This was
   probably  the funniest of the many April Fool's forgeries perpetrated
   on  Usenet  (which has negligible security against them), because the
   notion  that  Usenet  might ever penetrate the Iron Curtain seemed so
   totally absurd at the time.

   In  fact,  it was only six years later that the first genuine site in
   Moscow,  demos.su, joined Usenet. Some readers needed convincing that
   the  postings  from  it  weren't  just  another prank. Vadim Antonov,
   senior  programmer  at  Demos  and  the major poster from there up to
   mid-1991,  was  quite aware of all this, referred to it frequently in
   his  own postings, and at one point twitted some credulous readers by
   blandly asserting that he was a hoax!

   Eventually  he  even arranged to have the domain's gateway site named
   kremvax, thus neatly turning fiction into fact and demonstrating that
   the hackish sense of humor transcends cultural barriers. [Mr. Antonov
   also  contributed  the  Russian-language  material  for this lexicon.
   --ESR]

   In  an  even  more  ironic  historical  footnote,  kremvax  became an
   electronic center of the anti-communist resistance during the bungled
   hard-line  coup  of  August  1991. During those three days the Soviet
   UUCP  network  centered  on  kremvax became the only trustworthy news
   source  for  many  places  within  the  USSR.  Though the sysops were
   concentrating   on  internal  communications,  cross-border  postings
   included   immediate  transliterations  of  Boris  Yeltsin's  decrees
   condemning  the  coup and eyewitness reports of the demonstrations in
   Moscow's   streets.   In  those  hours,  years  of  speculation  that
   totalitarianism   would   prove   unable  to  maintain  its  grip  on
   politically-loaded information in the age of computer networking were
   proved devastatingly accurate -- and the original kremvax joke became
   a  reality as Yeltsin and the new Russian revolutionaries of glasnost
   and  perestroika  made  kremvax  one  of the timeliest means of their
   outreach to the West.

:kyrka: /chur´ka/, n.

   [Swedish] See {feature key}.

L

:lag: n.

   [MUD,  IRC;  very  common]  When  used  without qualification this is
   synonymous  with {netlag}. Curiously, people will often complain "I'm
   really  lagged" when in fact it is their server or network connection
   that is lagging.

:lamer: n.

   [originally among Amiga fans]

   1.  Synonym  for  {luser},  not used much by hackers but common among
   {warez  d00dz},  crackers,  and  {phreaker}s.  A person who downloads
   much, but who never uploads. (Also known as leecher). Oppose {elite}.
   Has  the  same  connotations  of  self-conscious  elitism that use of
   {luser} does among hackers.

   2. Someone who tries to crack a BBS.

   3.  Someone  who annoys the sysop or other BBS users -- for instance,
   by  posting  lots of silly messages, uploading virus-ridden software,
   frequently dropping carrier, etc.

   Crackers  also  use  it  to  refer  to cracker {wannabee}s. In phreak
   culture,  a lamer is one who scams codes off others rather than doing
   cracks  or  really  understanding the fundamental concepts. In {warez
   d00dz}  culture,  where the ability to wave around cracked commercial
   software  within days of (or before) release to the commercial market
   is  much esteemed, the lamer might try to upload garbage or shareware
   or  something  incredibly  old  (old in this context is read as a few
   years  to  anything  older than 3 days). `Lamer' is also much used in
   the IRC world in a similar sense to the above.

   This  term  seems to have originated in the Commodore-64 scene in the
   mid  1980s.  It was popularized among Amiga crackers of the mid-1980s
   by `Lamer Exterminator', the most famous and feared Amiga virus ever,
   which  gradually  corrupted non-write-protected floppy disks with bad
   sectors.  The  bad  sectors,  when  looked  at, were overwritten with
   repetitions of the string "LAMER!".

:LAN party: /lan par´tee/

   An event to which several users bring their boxes and hook them up to
   a  common  LAN (Local Area Network), often for the purpose of playing
   multiplayer  computer games, especially action games such as Quake or
   Unreal  Tournament.  This is also a good venue for people to show-off
   their  fancy  new hardware. Such events can get pretty large, several
   hundred  people  attend the annual QuakeCon in Texas. The theoretical
   rationale  behind LAN parties is that playing over the Internet often
   introduces  too  much  lag  in  the playing experience -- but just as
   important  is  the special quality of trash-talking each other across
   the  room  while  playing,  and  the  instinctive  social  ritual  of
   consuming vast amounts of food and drink together.

:language lawyer: n.

   A  person, usually an experienced or senior software engineer, who is
   intimately  familiar  with  many or most of the numerous restrictions
   and  features  (both  useful  and esoteric) applicable to one or more
   computer programming languages. A language lawyer is distinguished by
   the  ability  to  show  you  the  five  sentences scattered through a
   200-plus-page  manual that together imply the answer to your question
   "if  only  you had thought to look there". Compare {wizard}, {legal},
   {legalese}.

:languages of choice: n.

   {C}, {Perl}, {Python}, {Java} and {LISP} -- the dominant languages in
   open-source development. This list has changed over time, but slowly.
   Java bumped C++ off of it, and Python appears to be recruiting people
   who  would  otherwise  gravitate  to LISP (which used to be much more
   important  than  it is now). Smalltalk and Prolog are also popular in
   small but influential communities.

   The  {Real  Programmer}s  who loved FORTRAN and assembler have pretty
   much all retired or died since 1990. Assembler is generally no longer
   considered   interesting   or  appropriate  for  anything  but  {HLL}
   implementation, {glue}, and a few time-critical and hardware-specific
   uses  in  systems  programs.  FORTRAN  occupies  a shrinking niche in
   scientific programming.

   Most  hackers tend to frown on languages like {Pascal} and Ada, which
   don't  give  them  the  near-total  freedom  considered necessary for
   hacking   (see  {bondage-and-discipline  language}),  and  to  regard
   everything  even remotely connected with {COBOL} or other traditional
   {DP} languages as a total and unmitigated {loss}.

:LART: //

   Luser Attitude Readjustment Tool.

   1. n. In the collective mythos of {scary devil monastery}, this is an
   essential  item in the toolkit of every {BOFH}. The LART classic is a
   2x4  or  other  large  billet of wood usable as a club, to be applied
   upside the head of spammers and other people who cause sysadmins more
   grief  than  just naturally goes with the job. Perennial debates rage
   on  alt.sysadmin.recovery  over  what constitutes the truly effective
   LART;  knobkerries,  automatic  weapons,  flamethrowers, and tactical
   nukes all have their partisans. Compare {clue-by-four}.

   2.  v.  To use a LART. Some would add "in malice", but some sysadmins
   do prefer to gently lart their users as a first (and sometimes final)
   warning.

   3.  interj.  Calling  for  one's  LART,  much as a surgeon might call
   "Scalpel!".

   4. interj. [rare] Used in {flame}s as a rebuke. "LART! LART! LART!"

:larval stage: n.

   Describes a period of monomaniacal concentration on coding apparently
   passed  through by all fledgling hackers. Common symptoms include the
   perpetration  of more than one 36-hour {hacking run} in a given week;
   neglect  of  all  other  activities including usual basics like food,
   sleep,   and  personal  hygiene;  and  a  chronic  case  of  advanced
   bleary-eye.  Can  last  from 6 months to 2 years, the apparent median
   being  around  18  months.  A  few  so  afflicted never resume a more
   `normal' life, but the ordeal seems to be necessary to produce really
   wizardly  (as  opposed  to  merely  competent)  programmers. See also
   {wannabee}.  A  less  protracted  and intense version of larval stage
   (typically  lasting  about  a month) may recur when one is learning a
   new {OS} or programming language.

:lase: /layz/, vt.

   To  print  a given document via a laser printer. "OK, let's lase that
   sucker  and  see  if  all  those  graphics-macro  calls did the right
   things."

:laser chicken: n.

   Kung  Pao  Chicken,  a  standard  Chinese  dish  containing  chicken,
   peanuts,  and  hot  red  peppers  in  a  spicy pepper-oil sauce. Many
   hackers  call it laser chicken for two reasons: It can {zap} you just
   like a laser, and the sauce has a red color reminiscent of some laser
   beams. The dish has also been called gunpowder chicken.

   In  a  variation  on  this theme, it is reported that some Australian
   hackers   have  redesignated  the  common  dish  `lemon  chicken'  as
   Chernobyl  Chicken.  The name is derived from the color of the sauce,
   which   is  considered  bright  enough  to  glow  in  the  dark  (as,
   mythically, do some of the inhabitants of Chernobyl).

:leaf site: n.

   [obs.]  Before pervasive TCP/IP, this term was used of a machine that
   merely originated and read Usenet news or mail, and did not relay any
   third-party  traffic.  It  was often uttered in a critical tone; when
   the  ratio  of leaf sites to backbone, rib, and other relay sites got
   too   high,  the  network  tended  to  develop  bottlenecks.  Compare
   {backbone  site}.  Now  that  traffic  patterns  depend  more  on the
   distribution  of  routers than of host machines this term has largely
   fallen out of use.

:leak: n.

   With qualifier, one of a class of resource-management bugs that occur
   when  resources  are  not freed properly after operations on them are
   finished,  so  they  effectively  disappear (leak out). This leads to
   eventual exhaustion as new allocation requests come in. {memory leak}
   has  its  own  entry;  one might also refer, to, say, a window handle
   leak in a window system.

:leaky heap: n.

   [Cambridge] An {arena} with a {memory leak}.

:leapfrog attack: n.

   Use  of  userid  and password information obtained illicitly from one
   host  (e.g., downloading a file of account IDs and passwords, tapping
   TELNET, etc.) to compromise another host. Also, the act of TELNETting
   through  one  or  more  hosts in order to confuse a trace (a standard
   cracker procedure).

:leech:

   1.  n.  (Also  leecher.) Among BBS types, crackers and {warez d00dz},
   one  who  consumes knowledge without generating new software, cracks,
   or  techniques.  BBS  culture specifically defines a leech as someone
   who  downloads  files  with few or no uploads in return, and who does
   not  contribute  to the message section. Cracker culture extends this
   definition  to  someone  (a  {lamer}, usually) who constantly presses
   informed  sources  for information and/or assistance, but has nothing
   to contribute. See {troughie}.

   2. v. [common, Toronto area] v. To download a file across any kind of
   internet  link. "Hop on IRC later so I can leech some MP3s from you."
   Used to describe activities ranging from FTP, to IRC DCC-send, to ICQ
   file  requests,  to  Napster searches (but never to downloading email
   with  file  attachments;  the implication is that the download is the
   result  of  a browse or search of some sort of file server). Seems to
   be a holdover from the early 1990s when Toronto had a very active BBS
   and  warez  scene.  Synonymous  with  {snarf} (sense 2), and contrast
   {snarf} (sense 4).

:leech mode: n.

   [warez d00dz] "Leech mode" or "leech access" or (simply "leech" as in
   "You  get  leech")  is  the  access  mode on a FTP site where one can
   download  as many files as one wants, without having to upload. Leech
   mode  is  often  promised  on  banner sites, but rarely obtained. See
   {ratio site}, {banner site}.

:legal: adj.

   Loosely  used  to  mean  `in accordance with all the relevant rules',
   esp.  in connection with some set of constraints defined by software.
   "The  older =+ alternate for += is no longer legal syntax in ANSI C."
   "This  parser  processes  each line of legal input the moment it sees
   the  trailing  linefeed." Hackers often model their work as a sort of
   game  played  with  the  environment  in  which  the  objective is to
   maneuver  through  the thicket of `natural laws' to achieve a desired
   objective.   Their   use  of  legal  is  flavored  as  much  by  this
   game-playing  sense as by the more conventional one having to do with
   courts and lawyers. Compare {language lawyer}, {legalese}.

:legalese: n.

   Dense,   pedantic   verbiage   in  a  language  description,  product
   specification,  or  interface  standard;  text that seems designed to
   obfuscate  and  requires  a  {language  lawyer} to {parse} it. Though
   hackers  are not afraid of high information density and complexity in
   language  (indeed,  they  rather  enjoy  both), they share a deep and
   abiding  loathing  for  legalese;  they  associate it with deception,
   {suit}s,  and situations in which hackers generally get the short end
   of the stick.

:lenna:

   The  Internet's  first  poster girl, a standard test load used in the
   image processing community. The image was originally cropped from the
   November 1972 issue of Playboy Magazine, which anglicized the model's
   name  with  a  double  n.  It  has  interesting properties -- complex
   feathers,  shadows,  smooth  (but  not  flat)  surfaces  --  that are
   pertinent  in  demonstrating  various processing algorithms for image
   compression,    filtering,    dithering,   texture   mapping,   image
   recognition,  and  so  on.  After  a  quarter  century  of  remaining
   completely  unaware  that  she  had become an icon, a gray-haired but
   still  winsome  Lenna  finally  met  her  fans at a computer graphics
   conference  in  1997. There is a fan page at www.lenna.org, with more
   details. Compare {Utah teapot} and {Stanford Bunny}

   [len_std.jpg]

   Miss Lena Sjööblom

:LER: /L·E·R/

   n.

   1.  [TMRC,  from  `Light-Emitting  Diode']  A light-emitting resistor
   (that  is,  one  in the process of burning up). Ohm's law was broken.
   See also {SED}.

   2.  An incandescent light bulb (the filament emits light because it's
   resistively heated).

:LERP: /lerp/, vi.,n.

   Quasi-acronym  for  Linear  Interpolation, used as a verb or noun for
   the operation. "Bresenham's algorithm lerps incrementally between the
   two endpoints of the line."

:let the smoke out: v.

   To  fry hardware (see {fried}). See {magic smoke} for a discussion of
   the underlying mythology.

:letterbomb:

   1.  n.  A  piece  of  {email}  containing  {live data} intended to do
   nefarious  things  to the recipient's machine or terminal. It used to
   be possible, for example, to send letterbombs that would lock up some
   specific  kinds of terminals when they are viewed, so thoroughly that
   the  user  must  cycle  power (see {cycle}, sense 3) to unwedge them.
   Under  Unix,  a  letterbomb  can also try to get part of its contents
   interpreted  as  a  shell  command to the mailer. The results of this
   could  range from silly to tragic; fortunately it has been some years
   since  any of the standard Unix/Internet mail software was vulnerable
   to  such  an attack (though, as the Melissa virus attack demonstrated
   in early 1999, Microsoft systems can have serious problems). See also
   {Trojan horse}; compare {nastygram}.

   2. Loosely, a {mailbomb}.

:lexer: /lek´sr/, n.

   Common  hacker  shorthand  for lexical analyzer, the input-tokenizing
   stage  in  the  parser  for  a language (the part that breaks it into
   word-like  pieces).  "Some  C  lexers  get  confused by the old-style
   compound ops like =-."

:life: n.

   1.  A cellular-automata game invented by John Horton Conway and first
   introduced  publicly  by Martin Gardner (Scientific American, October
   1970); the game's popularity had to wait a few years for computers on
   which  it  could reasonably be played, as it's no fun to simulate the
   cells  by hand. Many hackers pass through a stage of fascination with
   it,  and  hackers  at  various  places  contributed  heavily  to  the
   mathematical  analysis of this game (most notably Bill Gosper at MIT,
   who even implemented life in {TECO}!). When a hacker mentions `life',
   he  is  much  more  likely  to  mean this game than the magazine, the
   breakfast cereal, or the human state of existence.

   2. The opposite of {Usenet}. As in "{Get a life!}"

:Life is hard: prov.

   [XEROX PARC] This phrase has two possible interpretations: (1) "While
   your suggestion may have some merit, I will behave as though I hadn't
   heard  it."  (2)  "While  your  suggestion has obvious merit, equally
   obvious  circumstances  prevent  it from being seriously considered."
   The  charm  of the phrase lies precisely in this subtle but important
   ambiguity.

:light pipe: n.

   Fiber optic cable. Oppose {copper}.

:lightweight: adj.

   Opposite  of  {heavyweight}; usually found in combining forms such as
   lightweight process.

:like kicking dead whales down the beach: adj.

   Describes   a   slow,   difficult,   and  disgusting  process.  First
   popularized  by  a  famous quote about the difficulty of getting work
   done  under  one  of IBM's mainframe OSes. "Well, you could write a C
   compiler  in COBOL, but it would be like kicking dead whales down the
   beach." See also {fear and loathing}.

:like nailing jelly to a tree: adj.

   Used  to  describe a task thought to be impossible, esp. one in which
   the   difficulty   arises   from   poor   specification  or  inherent
   slipperiness   in   the   problem  domain.  "Trying  to  display  the
   `prettiest' arrangement of nodes and arcs that diagrams a given graph
   is  like  nailing  jelly  to  a  tree,  because  nobody's  sure  what
   `prettiest' means algorithmically."

   Hacker  use of this term may recall mainstream slang originated early
   in  the  20th  century  by  President  Theodore Roosevelt. There is a
   legend that, weary of inconclusive talks with Colombia over the right
   to  dig  a  canal  through  its  then-province  Panama,  he remarked,
   "Negotiating  with those pirates is like trying to nail currant jelly
   to  the  wall."  Roosevelt's  government  subsequently encouraged the
   anti-Colombian insurgency that created the nation of Panama.

:line 666:

   [from  Christian  eschatological myth] n. The notional line of source
   at  which  a  program fails for obscure reasons, implying either that
   somebody  is  out to get it (when you are the programmer), or that it
   richly  deserves to be so gotten (when you are not). "It works when I
   trace  through  it,  but  seems  to crash on line 666 when I run it."
   "What happens is that whenever a large batch comes through, mmdf dies
   on  the  Line  of  the  Beast.  Probably some twit hardcoded a buffer
   size."

:line eater, the: n. obs.

   1.  [Usenet]  A  bug  in  some  now-obsolete  versions of the netnews
   software that used to eat up to BUFSIZ bytes of the article text. The
   bug  was  triggered  by  having  the text of the article start with a
   space or tab. This bug was quickly personified as a mythical creature
   called  the  line  eater, and postings often included a dummy line of
   line  eater  food. Ironically, line eater `food' not beginning with a
   space or tab wasn't actually eaten, since the bug was avoided; but if
   there was a space or tab before it, then the line eater would eat the
   food  and the beginning of the text it was supposed to be protecting.
   The practice of sacrificing to the line eater continued for some time
   after  the bug had been {nailed to the wall}, and is still humorously
   referred  to.  The  bug  itself was still occasionally reported to be
   lurking in some mail-to-netnews gateways as late as 1991.

   2. See {NSA line eater}.

:line noise: n.

   1.  [techspeak]  Spurious  characters  due  to  electrical noise in a
   communications  link,  especially  an  RS-232 serial connection. Line
   noise  may  be induced by poor connections, interference or crosstalk
   from   other   circuits,   electrical   storms,   {cosmic  rays},  or
   (notionally) birds crapping on the phone wires.

   2.  Any  chunk  of  data  in  a file or elsewhere that looks like the
   results of line noise in sense 1.

   3.  Text  that is theoretically a readable text or program source but
   employs  syntax  so bizarre that it looks like line noise in senses 1
   or  2.  Yes,  there are languages this ugly. The canonical example is
   {TECO};   it   is   often   claimed  that  "TECO's  input  syntax  is
   indistinguishable from line noise." Other non-{WYSIWYG} editors, such
   as  Multics  qed  and  Unix  ed,  in the hands of a real hacker, also
   qualify  easily,  as  do  deliberately  obfuscated  languages such as
   {INTERCAL}.

:linearithmic: adj.

   Of  an algorithm, having running time that is O(N log N). Coined as a
   portmanteau  of  `linear'  and  `logarithmic'  in  Algorithms In C by
   Robert Sedgewick (Addison-Wesley 1990, ISBN 0-201-51425-7).

:link farm: n.

   [Unix] A directory tree that contains many links to files in a master
   directory   tree  of  files.  Link  farms  save  space  when  one  is
   maintaining  several  nearly identical copies of the same source tree
   --  for  example,  when the only difference is architecture-dependent
   object files. "Let's freeze the source and then rebuild the FROBOZZ-3
   and  FROBOZZ-4 link farms." Link farms may also be used to get around
   restrictions  on  the number of -I (include-file directory) arguments
   on  older  C preprocessors. However, they can also get completely out
   of  hand, becoming the filesystem equivalent of {spaghetti code}. See
   also {farm}.

:link rot: n.

   The  natural  decay  of  web  links as the sites they're connected to
   change or die. Compare {bit rot}.

:link-dead: adj.

   [MUD]  The  state a player is in when they kill their connection to a
   {MUD}  without  leaving it properly. The player is then commonly left
   as  a  statue in the game, and is only removed after a certain period
   of time (an hour on most MUDs). Used on {IRC} as well, although it is
   inappropriate in that context. Compare {netdead}.

:lint:

   [from Unix's lint(1), named for the bits of fluff it supposedly picks
   from programs]

   1.  vt.  To  examine a program closely for style, language usage, and
   portability  problems,  esp.  if  in  C, esp. if via use of automated
   analysis  tools,  most esp. if the Unix utility lint(1) is used. This
   term  used to be restricted to use of lint(1) itself, but (judging by
   references  on  Usenet)  it has become a shorthand for any exhaustive
   review  process  at some non-Unix shops, even in languages other than
   C. Also as v. {delint}.

   2.  n.  Excess verbiage in a document, as in "This draft has too much
   lint".

:Lintel: n.

   The  emerging  {Linux}/Intel  alliance. This term began to be used in
   early 1999 after it became clear that the {Wintel} alliance was under
   increasing strain and Intel started taking stakes in Linux companies.

:Linus: /leen´us/, /lin´us/, /li:´nus/

   Linus  Torvalds,  the author of {Linux}. Nobody in the hacker culture
   has been as readily recognized by first name alone since {ken}.

:Linux: /lee´nuhks/, /li´nuks/, not, /li:´nuhks/, n.

   The  free  Unix  workalike  created  by  Linus  Torvalds  and friends
   starting  about  1991.  The  pronunciation  /li´nuhks/  is  preferred
   because the name `Linus' has an /ee/ sound in Swedish (Linus's family
   is  part of Finland's 6% ethnic-Swedish minority) and Linus considers
   English  short  /i/ to be closer to /ee/ than English long /i:/. This
   may  be  the  most  remarkable hacker project in history -- an entire
   clone  of  Unix for 386, 486 and Pentium micros, distributed for free
   with  sources  over  the net (ports to Alpha and Sparc and many other
   machines are also in use).

   Linux  is  what  {GNU} aimed to be, and it relies on the GNU toolset.
   But the Free Software Foundation didn't produce the kernel to go with
   that  toolset  until 1999, which was too late. Other, similar efforts
   like  FreeBSD  and  NetBSD have been technically successful but never
   caught  fire the way Linux has; as this is written in 2002, Linux has
   effectively  swallowed  all  proprietary Unixes except Solaris and is
   seriously  challenging  Microsoft. It has already captured 37% of the
   Internet-server market and over 25% of general business servers.

   An  earlier  version  of  this  entry  opined  "The secret of Linux's
   success  seems  to  be that Linus worked much harder early on to keep
   the  development  process  open and recruit other hackers, creating a
   snowball effect." Truer than we knew. See {bazaar}.

   (Some  people  object  that  the name `Linux' should be used to refer
   only  to the kernel, not the entire operating system. This claim is a
   proxy for an underlying territorial dispute; people who insist on the
   term  GNU/Linux  want  the  {FSF} to get most of the credit for Linux
   because  RMS  and friends wrote many of its user-level tools. Neither
   this  theory  nor  the  term  GNU/Linux has gained more than minority
   acceptance).

:lion food: n.

   [IBM] Middle management or HQ staff (or, by extension, administrative
   drones  in  general).  From an old joke about two lions who, escaping
   from  the  zoo,  split up to increase their chances but agree to meet
   after  2  months. When they finally meet, one is skinny and the other
   overweight.  The  thin  one  says: "How did you manage? I ate a human
   just once and they turned out a small army to chase me -- guns, nets,
   it  was  terrible.  Since  then  I've  been  reduced  to eating mice,
   insects,  even  grass." The fat one replies: "Well, I hid near an IBM
   office and ate a manager a day. And nobody even noticed!"

:Lions Book: n.

   Source  Code  and  Commentary on Unix level 6, by John Lions. The two
   parts  of  this  book  contained (1) the entire source listing of the
   Unix  Version 6 kernel, and (2) a commentary on the source discussing
   the algorithms. These were circulated internally at the University of
   New  South  Wales  beginning 1976--77, and were, for years after, the
   only  detailed  kernel documentation available to anyone outside Bell
   Labs. Because Western Electric wished to maintain trade secret status
   on  the kernel, the Lions Book was only supposed to be distributed to
   affiliates  of  source licensees. In spite of this, it soon spread by
   {samizdat} to a good many of the early Unix hackers.

   [1996 update: The Lions book lives again! It was put back in print as
   ISBN  1-57398-013-7  from Peer-To-Peer Communications, with forewords
   by Dennis Ritchie and Ken Thompson. In a neat bit of reflexivity, the
   page before the contents quotes this entry.]

   [1998  update: John Lions's death was an occasion of general mourning
   in the hacker community.]

:LISP: n.

   [from  `LISt  Processing  language',  but  mythically  from  `Lots of
   Irritating  Superfluous  Parentheses'] AI's mother tongue, a language
   based  on  the  ideas  of  (a)  variable-length  lists  and  trees as
   fundamental  data  types,  and (b) the interpretation of code as data
   and  vice-versa.  Invented by John McCarthy at MIT in the late 1950s,
   it  is  actually  older  than  any  other  {HLL}  still in use except
   FORTRAN.   Accordingly,   it   has  undergone  considerable  adaptive
   radiation  over  the  years;  modern  variants are quite different in
   detail  from  the  original  LISP 1.5. The dominant HLL among hackers
   until the early 1980s, LISP has since shared the throne with {C}. Its
   partisans  claim it is the only language that is truly beautiful. See
   {languages of choice}.

   All  LISP  functions and programs are expressions that return values;
   this,  together  with the high memory utilization of LISPs, gave rise
   to  Alan Perlis's famous quip (itself a take on an Oscar Wilde quote)
   that  "LISP  programmers know the value of everything and the cost of
   nothing".

   One  significant  application for LISP has been as a proof by example
   that  most  newer  languages,  such  as  {COBOL} and Ada, are full of
   unnecessary  {crock}s.  When  the {Right Thing} has already been done
   once, there is no justification for {bogosity} in newer languages.

   [lisp.png]

   We've got your numbers....

:list-bomb: v.

   To  {mailbomb}  someone  by  forging  messages  causing the victim to
   become  a  subscriber to many mailing lists. This is a self-defeating
   tactic; it merely forces mailing list servers to require confirmation
   by return message for every subscription.

:lithium lick: n.

   [NeXT]  Steve Jobs. Employees who have gotten too much attention from
   their  esteemed  founder  are  said  to have `lithium lick' when they
   begin  to  show  signs  of  Jobsian fervor and repeat the most recent
   catch  phrases in normal conversation -- for example, "It just works,
   right out of the box!"

:little-endian: adj.

   Describes  a  computer  architecture  in which, within a given 16- or
   32-bit  word,  bytes  at lower addresses have lower significance (the
   word  is  stored `little-end-first'). The {PDP-11} and {VAX} families
   of  computers  and  Intel microprocessors and a lot of communications
   and   networking   hardware   are  little-endian.  See  {big-endian},
   {middle-endian},  {NUXI  problem}.  The  term  is  sometimes  used to
   describe  the  ordering  of  units other than bytes; most often, bits
   within a byte.

:live: /li:v/, adj.,adv.

   [common]  Opposite  of  `test'. Refers to actual real-world data or a
   program  working  with  it. For example, the response to "I think the
   record  deleter  is finished" might be "Is it live yet?" or "Have you
   tried   it  out  on  live  data?"  This  usage  usually  carries  the
   connotation that live data is more fragile and must not be corrupted,
   or  bad  things will happen. So a more appropriate response might be:
   "Well, make sure it works perfectly before we throw live data at it."
   The  implication  here  is  that  record deletion is something pretty
   significant,  and  a  haywire  record-deleter running amok live would
   probably cause great harm.

:live data: n.

   1. Data that is written to be interpreted and takes over program flow
   when  triggered by some un-obvious operation, such as viewing it. One
   use  of  such  hacks  is  to  break security. For example, some smart
   terminals have commands that allow one to download strings to program
   keys;  this  can  be used to write live data that, when listed to the
   terminal,  infects  it  with  a  security-breaking  {virus}  that  is
   triggered the next time a hapless user strikes that key. For another,
   there  are  some  well-known bugs in {vi} that allow certain texts to
   send  arbitrary  commands  back  to  the machine when they are simply
   viewed.

   2.  In  C  code,  data  that  includes  pointers  to function {hook}s
   (executable code).

   3.  An object, such as a {trampoline}, that is constructed on the fly
   by a program and intended to be executed as code.

:Live Free Or Die!: imp.

   1.  The  state  motto of New Hampshire, which appears on that state's
   automobile license plates.

   2.  A  slogan  associated  with  Unix  in the romantic days when Unix
   aficionados saw themselves as a tiny, beleaguered underground tilting
   against  the  windmills of industry. The "free" referred specifically
   to   freedom  from  the  {fascist}  design  philosophies  and  crufty
   misfeatures  common on competing operating systems. Armando Stettner,
   one  of  the  early  Unix  developers,  used to give out fake license
   plates  bearing  this  motto under a large Unix, all in New Hampshire
   colors of green and white. These are now valued collector's items. In
   1994  {DEC}  put an inferior imitation of these in circulation with a
   red  corporate  logo  added.  Compaq  (half  of  which  was once DEC)
   continued the practice.

   [licenseplate.jpg]

   Armando Stettner's original Unix license plate.

:livelock: /li:v´lok/, n.

   A  situation  in  which  some  critical  stage of a task is unable to
   finish  because its clients perpetually create more work for it to do
   after  they  have  been  serviced  but before it can clear its queue.
   Differs from {deadlock} in that the process is not blocked or waiting
   for  anything,  but has a virtually infinite amount of work to do and
   can never catch up.

:liveware: /li:v´weir/, n.

   1. Synonym for {wetware}. Less common.

   2. [Cambridge] Vermin. "Waiter, there's some liveware in my salad..."

:lobotomy: n.

   1.  What  a hacker subjected to formal management training is said to
   have  undergone.  At  IBM  and  elsewhere  this  term is used by both
   hackers and low-level management; the latter doubtless intend it as a
   joke.

   2. The act of removing the processor from a microcomputer in order to
   replace  or  upgrade  it. Some very cheap {clone} systems are sold in
   lobotomized form -- everything but the brain.

:locals, the: pl.n.

   The  users  on  one's  local  network (as opposed, say, to people one
   reaches via public Internet connections). The marked thing about this
   usage is how little it has to do with real-space distance. "I have to
   do  some  tweaking  on  this  mail utility before releasing it to the
   locals."

:locked and loaded: adj.,obs.

   [from  military  slang  for  an M-16 rifle with magazine inserted and
   prepared  for  firing]  Said  of  a  removable  disk  volume properly
   prepared for use -- that is, locked into the drive and with the heads
   loaded.  Ironically,  because  their  heads are `loaded' whenever the
   power  is  up,  this description is never used of {Winchester} drives
   (which are named after a rifle).

:locked up: adj.

   Syn. for {hung}, {wedged}.

:logic bomb: n.

   Code  surreptitiously  inserted into an application or OS that causes
   it  to  perform  some  destructive  or security-compromising activity
   whenever specified conditions are met. Compare {back door}.

:logical: adj.

   [from the technical term logical device, wherein a physical device is
   referred  to by an arbitrary `logical' name] Having the role of. If a
   person  (say,  Les  Earnest at SAIL) who had long held a certain post
   left and were replaced, the replacement would for a while be known as
   the  logical  Les  Earnest.  (This does not imply any judgment on the
   replacement.) Compare {virtual}.

   At  Stanford, `logical' compass directions denote a coordinate system
   relative to El Camino Real, in which `logical north' is always toward
   San Francisco and `logical south' is always toward San Jose--in spite
   of  the  fact  that El Camino Real runs physical north/south near San
   Francisco,  physical  east/west  near  San  Jose,  and  along a curve
   everywhere  in  between.  (The  best  rule  of thumb here is that, by
   definition, El Camino Real always runs logical north-south.)

   In  giving  directions,  one  might  say:  "To  get to Rincon Tarasco
   restaurant,  get  onto {El Camino Bignum} going logical north." Using
   the word `logical' helps to prevent the recipient from worrying about
   that  the  fact  that  the sun is setting almost directly in front of
   him.  The  concept is reinforced by North American highways which are
   almost,  but not quite, consistently labeled with logical rather than
   physical  directions.  A  similar  situation exists at MIT: Route 128
   (famous  for  the  electronics  industry that grew up along it) wraps
   roughly 3 quarters around Boston at a radius of 10 miles, terminating
   near  the coastline at each end. It would be most precise to describe
   the   two   directions   along   this   highway  as  `clockwise'  and
   `counterclockwise',  but  the road signs all say "north" and "south",
   respectively.  A  hacker  might  describe these directions as logical
   north  and  logical  south,  to  indicate  that they are conventional
   directions not corresponding to the usual denotation for those words.

:loop through: vt.

   To  process  each  element of a list of things. "Hold on, I've got to
   loop  through  my  paper  mail."  Derives  from the computer-language
   notion of an iterative loop; compare cdr down (under {cdr}), which is
   less common among C and Unix programmers. ITS hackers used to say IRP
   over  after  an  obscure pseudo-op in the MIDAS PDP-10 assembler (the
   same IRP op can nowadays be found in Microsoft's assembler).

:loose bytes: n.

   Commonwealth  hackish  term  for  the  padding  bytes or {shim}s many
   compilers  insert  between  members  of a record or structure to cope
   with alignment requirements imposed by the machine architecture.

:lord high fixer: n.

   [primarily   British,   from   Gilbert   &   Sullivan's   `lord  high
   executioner']  The person in an organization who knows the most about
   some aspect of a system. See {wizard}.

:lose: vi.

   1.  [very  common]  To  fail.  A  program loses when it encounters an
   exceptional condition or fails to work in the expected manner.

   2. To be exceptionally unesthetic or crocky.

   3.  Of  people,  to  be  obnoxious or unusually stupid (as opposed to
   ignorant). See also {deserves to lose}.

   4. n. Refers to something that is {losing}, especially in the phrases
   "That's a lose!" and "What a lose!"

:lose lose: interj.

   A  reply  to  or comment on an undesirable situation. "I accidentally
   deleted all my files!" "Lose, lose."

:loser: n.

   An  unexpectedly  bad  situation,  program,  programmer,  or  person.
   Someone  who  habitually loses. (Even winners can lose occasionally.)
   Someone who knows not and knows not that he knows not. Emphatic forms
   are  real  loser,  total  loser,  and  complete loser (but not **moby
   loser, which would be a contradiction in terms). See {luser}.

:losing: adj.

   Said  of  anything  that  is  or  causes  a {lose} or {lossage}. "The
   compiler is losing badly when I try to use templates."

:loss: n.

   Something  (not  a person) that loses; a situation in which something
   is losing. Emphatic forms include moby loss, and total loss, complete
   loss. Common interjections are "What a loss!" and "What a moby loss!"
   Note  that  moby  loss  is  OK  even though **moby loser is not used;
   applied to an abstract noun, moby is simply a magnifier, whereas when
   applied   to   a   person  it  implies  substance  and  has  positive
   connotations. Compare {lossage}.

:lossage: /los'@j/, n.

   [very  common]  The result of a bug or malfunction. This is a mass or
   collective  noun.  "What  a  loss!"  and  "What  lossage!" are nearly
   synonymous.  The  former is slightly more particular to the speaker's
   present  circumstances;  the  latter  implies  a continuing {lose} of
   which  the  speaker  is  currently  a  victim.  Thus  (for example) a
   temporary  hardware  failure is a loss, but bugs in an important tool
   (like a compiler) are serious lossage.

:lossy: adj.

   [Usenet]

   1.  Said of people, this indicates a poor memory, usually short-term.
   This usage is analogical to the same term applied to data compression
   and  analysis. "He's very lossy." means that you can't rely on him to
   accurately remember recent experiences or conversations, or requests.
   Not  to  be  confused  with  a `loser', which is a person who is in a
   continual state of lossiness, as in sense 2 (see below).

   2.  Said  of  an  attitude  or  a situation, this indicates a general
   downturn  in  emotions,  lack of success in attempted endeavors, etc.
   Eg, "I'm having a lossy day today." means that the speaker has `lost'
   or  is  `losing' in all of their activities, and that this is causing
   some increase in negative emotions.

:lost in the noise: adj.

   Syn.  {lost  in  the underflow}. This term is from signal processing,
   where  signals  of  very  small  amplitude  cannot  be separated from
   low-intensity  noise  in the system. Though popular among hackers, it
   is not confined to hackerdom; physicists, engineers, astronomers, and
   statisticians all use it.

:lost in the underflow: adj.

   Too  small  to  be worth considering; more specifically, small beyond
   the  limits  of  accuracy  or  measurement.  This  is  a reference to
   floating  underflow, a condition that can occur when a floating-point
   arithmetic  processor  tries  to  handle  quantities smaller than its
   limit  of  magnitude. It is also a pun on `undertow' (a kind of fast,
   cold  current  that sometimes runs just offshore and can be dangerous
   to  swimmers).  "Well,  sure, photon pressure from the stadium lights
   alters  the  path  of a thrown baseball, but that effect gets lost in
   the  underflow."  Compare  {epsilon},  {epsilon  squared};  see  also
   {overflow bit}.

:lots of MIPS but no I/O: adj.

   Used to describe a person who is technically brilliant but can't seem
   to   communicate   with  human  beings  effectively.  Technically  it
   describes  a  machine  that  has  lots  of  processing  power  but is
   bottlenecked  on input-output (in 1991, the IBM Rios, a.k.a. RS/6000,
   was a notorious example).

:low-bandwidth: adj.

   [from  communication  theory]  Used to indicate a talk that, although
   not  {content-free},  was  not  terribly  informative.  "That  was  a
   low-bandwidth  talk,  but  what  can  you  expect  for an audience of
   {suit}s!" Compare {zero-content}, {bandwidth}, {math-out}.

:Lubarsky's Law of Cybernetic Entomology: prov.

   "There is always one more bug."

:Lumber Cartel: n.

   A  mythical conspiracy accused by {spam}-spewers of funding anti-spam
   activism  in  order to force the direct-mail promotions industry back
   onto  paper.  Hackers,  predictably,  responded  by forming a "Lumber
   Cartel"   spoofing   this   paranoid   theory;   the   web   page  is
   http://come.to/the.lumber.cartel/.  Members  often  include  the  tag
   TINLC  ("There  Is  No Lumber Cartel") in their postings; see {TINC},
   {backbone cabal} and {NANA} for explanation.

:lunatic fringe: n.

   [IBM]  Customers  who can be relied upon to accept release 1 versions
   of software. Compare {heatseeker}.

:lurker: n.

   One  of  the  `silent majority' in an electronic forum; one who posts
   occasionally  or not at all but is known to read the group's postings
   regularly.  This  term  is not pejorative and indeed is casually used
   reflexively:  "Oh,  I'm just lurking." Often used in the lurkers, the
   hypothetical  audience  for  the group's {flamage}-emitting regulars.
   When a lurker speaks up for the first time, this is called delurking.

   The  creator  of  the popular science-fiction TV series Babylon 5 has
   ties  to SF fandom and the hacker culture. In that series, the use of
   the  term  `lurker' for a homeless or displaced person is a conscious
   reference to the jargon term.

:luser: /loo´zr/, n.

   [common]  A  {user};  esp.  one  who  is also a {loser}. ({luser} and
   {loser} are pronounced identically.) This word was coined around 1975
   at  MIT. Under ITS, when you first walked up to a terminal at MIT and
   typed  Control-Z to get the computer's attention, it printed out some
   status  information, including how many people were already using the
   computer;  it might print "14 users", for example. Someone thought it
   would  be  a  great  joke  to  patch  the system to print "14 losers"
   instead.  There  ensued  a  great  controversy,  as some of the users
   didn't  particularly  want  to  be called losers to their faces every
   time  they  used  the computer. For a while several hackers struggled
   covertly,  each  changing  the message behind the back of the others;
   any  time  you  logged into the computer it was even money whether it
   would  say "users" or "losers". Finally, someone tried the compromise
   "lusers", and it stuck. Later one of the ITS machines supported luser
   as a request-for-help command. ITS died the death in mid-1990, except
   as a museum piece; the usage lives on, however, and the term luser is
   often  seen  in  program  comments  and on Usenet. Compare {mundane},
   {muggle}, {newbie}, {chainik}.

M

:M: pref.

   [SI] See {quantifiers}.

:M$:

   Common  net  abbreviation  for  Microsoft, everybody's least favorite
   monopoly.

:macdink: /mak´dink/, vt.

   [from  the Apple Macintosh, which is said to encourage such behavior]
   To  make  many  incremental  and  unnecessary  cosmetic  changes to a
   program  or file. Often the subject of the macdinking would be better
   off  without  them.  "When  I  left  at 11PM last night, he was still
   macdinking  the slides for his presentation." See also {fritterware},
   {window shopping}.

:machoflops: /mach´oh·flops/, n.

   [pun   on  megaflops,  a  coinage  for  `millions  of  FLoating-point
   Operations  Per  Second'] Refers to artificially inflated performance
   figures often quoted by computer manufacturers. Real applications are
   lucky  to  get  half  the  quoted speed. See {Your mileage may vary},
   {benchmark}.

:Macintoy: /mak´in·toy/, n.

   The  Apple  Macintosh,  considered  as  a {toy}. Less pejorative than
   {Macintrash}.

:Macintrash: /mak´in·trash`/, n.

   The  Apple Macintosh, as described by a hacker who doesn't appreciate
   being  kept  away  from  the real computer by the interface. The term
   {maggotbox} has been reported in regular use in the Research Triangle
   area of North Carolina. Compare {Macintoy}. See also {beige toaster},
   {WIMP environment}, {point-and-drool interface}, {drool-proof paper},
   {user-friendly}.

:macro: /mak´roh/, n.

   [techspeak] A name (possibly followed by a formal {arg} list) that is
   equated  to  a  text  or  symbolic  expression  to  which it is to be
   expanded  (possibly  with  the substitution of actual arguments) by a
   macro  expander.  This  definition  can  be  found  in  any technical
   dictionary; what those won't tell you is how the hackish connotations
   of the term have changed over time.

   The  term  macro originated in early assemblers, which encouraged the
   use  of macros as a structuring and information-hiding device. During
   the  early  1970s,  macro assemblers became ubiquitous, and sometimes
   quite as powerful and expensive as {HLL}s, only to fall from favor as
   improving compiler technology marginalized assembler programming (see
   {languages  of  choice}).  Nowadays  the  term  is most often used in
   connection   with  the  C  preprocessor,  LISP,  or  one  of  several
   special-purpose  languages  built  around  a macro-expansion facility
   (such as TeX or Unix's [nt]roff suite).

   Indeed,  the meaning has drifted enough that the collective macros is
   now  sometimes  used  for  code  in  any  special-purpose application
   control  language (whether or not the language is actually translated
   by  text expansion), and for macro-like entities such as the keyboard
   macros  supported  in  some  text  editors  (and  PC TSR or Macintosh
   INIT/CDEV keyboard enhancers).

:macro-: pref.

   Large.  Opposite  of  {micro-}.  In  the  mainstream  and among other
   technical  cultures  (for example, medical people) this competes with
   the  prefix  {mega-},  but  hackers  tend  to  restrict the latter to
   quantification.

:macrology: /mak·rol'@·jee/, n.

   1.  Set of usually complex or crufty macros, e.g., as part of a large
   system written in {LISP}, {TECO}, or (less commonly) assembler.

   2. The art and science involved in comprehending a macrology in sense
   1.  Sometimes  studying  the  macrology  of  a  system  is not unlike
   archeology,   ecology,   or   {theology},   hence   the   sound-alike
   construction. See also {boxology}.

:maggotbox: /mag'@t·boks/, n.

   See {Macintrash}. This is even more derogatory.

:magic:

   1.  adj.  As  yet unexplained, or too complicated to explain; compare
   {automagically} and (Arthur C.) Clarke's Third Law: "Any sufficiently
   advanced technology is indistinguishable from magic." "TTY echoing is
   controlled  by a large number of magic bits." "This routine magically
   computes the parity of an 8-bit byte in three instructions."

   2. adj. Characteristic of something that works although no one really
   understands why (this is especially called {black magic}).

   3.  n.  [Stanford]  A  feature  not  generally publicized that allows
   something  otherwise  impossible,  or  a  feature  formerly  in  that
   category but now unveiled.

   4. n. The ultimate goal of all engineering & development, elegance in
   the  extreme;  from  the  first corollary to Clarke's Third Law: "Any
   technology distinguishable from magic is insufficiently advanced".

   Parodies  playing  on these senses of the term abound; some have made
   their  way  into serious documentation, as when a MAGIC directive was
   described  in  the  Control  Card Reference for GCOS c.1978. For more
   about  hackish  `magic',  see  Appendix  A.  Compare  {black  magic},
   {wizardly}, {deep magic}, {heavy wizardry}.

:magic cookie: n.

   [Unix; common]

   1.  Something  passed  between  routines or programs that enables the
   receiver  to  perform  some  operation; a capability ticket or opaque
   identifier.  Especially  used of small data objects that contain data
   encoded in a strange or intrinsically machine-dependent way. E.g., on
   non-Unix  OSes  with  a non-byte-stream model of files, the result of
   ftell(3)  may  be a magic cookie rather than a byte offset; it can be
   passed  to  fseek(3),  but not operated on in any meaningful way. The
   phrase  it  hands  you a magic cookie means it returns a result whose
   contents  are not defined but which can be passed back to the same or
   some other program later.

   2.  An  in-band  code  for  changing graphic rendition (e.g., inverse
   video or underlining) or performing other control functions (see also
   {cookie}).  Some  older  terminals  would leave a blank on the screen
   corresponding  to  mode-change  magic cookies; this was also called a
   {glitch}  (or  occasionally  a  turd; compare {mouse droppings}). See
   also {cookie}.

:magic number: n.

   [Unix/C; common]

   1.   In  source  code,  some  non-obvious  constant  whose  value  is
   significant  to  the  operation  of  a  program  and that is inserted
   inconspicuously  in-line  ({hardcoded}), rather than expanded in by a
   symbol  set  by  a commented #define. Magic numbers in this sense are
   bad style.

   2. A number that encodes critical information used in an algorithm in
   some  opaque  way. The classic examples of these are the numbers used
   in   hash   or  CRC  functions,  or  the  coefficients  in  a  linear
   congruential generator for pseudo-random numbers. This sense actually
   predates and was ancestral to the more common sense

   3.  Special  data  located  at the beginning of a binary data file to
   indicate  its  type  to a utility. Under Unix, the system and various
   applications  programs  (especially  the  linker) distinguish between
   types  of  executable file by looking for a magic number. Once upon a
   time,  these  magic  numbers  were  {PDP-11} branch instructions that
   skipped  over  header data to the start of executable code; 0407, for
   example,  was  octal for `branch 16 bytes relative'. Many other kinds
   of files now have magic numbers somewhere; some magic numbers are, in
   fact,  strings,  like  the !<arch> at the beginning of a Unix archive
   file  or  the  %!  leading PostScript files. Nowadays only a {wizard}
   knows  the  spells to create magic numbers. How do you choose a fresh
   magic number of your own? Simple -- you pick one at random. See? It's
   magic!

   4.  An  input that leads to a computational boundary condition, where
   algorithm   behavior   becomes   discontinuous.   Numeric   overflows
   (particularly  with signed data types) and run-time errors (divide by
   zero,  stack  overflows)  are  indications  of magic numbers. The Y2K
   scare was probably the most notorious magic number non-incident.

   The  magic  number, on the other hand, is 7±2. See The magical number
   seven,  plus or minus two: some limits on our capacity for processing
   information  by  George  Miller, in the Psychological Review 63:81-97
   (1956).  This  classic paper established the number of distinct items
   (such  as  numeric digits) that humans can hold in short-term memory.
   Among  other things, this strongly influenced the interface design of
   the phone system.

:magic smoke: n.

   A  substance trapped inside IC packages that enables them to function
   (also  called  blue  smoke; this is similar to the archaic phlogiston
   hypothesis  about  combustion). Its existence is demonstrated by what
   happens  when  a chip burns up -- the magic smoke gets let out, so it
   doesn't work any more. See {smoke test}, {let the smoke out}.

   Usenetter Jay Maynard tells the following story: "Once, while hacking
   on  a  dedicated Z80 system, I was testing code by blowing EPROMs and
   plugging  them  in the system, then seeing what happened. One time, I
   plugged  one  in  backwards.  I only discovered that after I realized
   that Intel didn't put power-on lights under the quartz windows on the
   tops of their EPROMs -- the die was glowing white-hot. Amazingly, the
   EPROM  worked  fine  after I erased it, filled it full of zeros, then
   erased  it  again.  For all I know, it's still in service. Of course,
   this  is  because  the  magic  smoke didn't get let out." Compare the
   original phrasing of {Murphy's Law}.

:mail storm: n.

   [from  {broadcast storm}, influenced by maelstrom] What often happens
   when   a  machine  with  an  Internet  connection  and  active  users
   re-connects  after extended downtime -- a flood of incoming mail that
   brings the machine to its knees. See also {hairball}.

:mailbomb:

   (also mail bomb) [Usenet]

   1.  v. To send, or urge others to send, massive amounts of {email} to
   a  single  system  or person, esp. with intent to crash or {spam} the
   recipient's  system.  Sometimes  done  in retaliation for a perceived
   serious  offense.  Mailbombing is itself widely regarded as a serious
   offense  --  it  can  disrupt  email  traffic or other facilities for
   innocent  users on the victim's system, and in extreme cases, even at
   upstream sites.

   2. n. An automatic procedure with a similar effect.

   3. n. The mail sent. Compare {letterbomb}, {nastygram}, {BLOB} (sense
   2), {list-bomb}.

:mailing list: n.

   (often shortened in context to list)

   1.  An {email} address that is an alias (or {macro}, though that word
   is  never  used  in  this connection) for many other email addresses.
   Some  mailing  lists  are simple reflectors, redirecting mail sent to
   them  to  the  list  of  recipients. Others are filtered by humans or
   programs  of  varying  degrees  of  sophistication; lists filtered by
   humans are said to be moderated.

   2.  The  people  who  receive  your email when you send it to such an
   address.

   Mailing  lists  are  one  of the primary forms of hacker interaction,
   along  with {Usenet}. They predate Usenet, having originated with the
   first  UUCP  and ARPANET connections. They are often used for private
   information-sharing  on  topics  that would be too specialized for or
   inappropriate  to public Usenet groups. Though some of these maintain
   almost  purely  technical  content  (such as the Internet Engineering
   Task   Force   mailing  list),  others  (like  the  `sf-lovers'  list
   maintained  for  many years by Saul Jaffe) are recreational, and many
   are  purely social. Perhaps the most infamous of the social lists was
   the   eccentric   bandykin   distribution;  its  latter-day  progeny,
   lectroids  and  tanstaafl,  still  include a number of the oddest and
   most interesting people in hackerdom.

   Mailing  lists  are easy to create and (unlike Usenet) don't tie up a
   significant  amount  of machine resources (until they get very large,
   at  which  point  they  can become interesting torture tests for mail
   software).  Thus,  they  are  often  created  temporarily  by working
   groups,  the  members  of  which  can  then  collaborate on a project
   without  ever  needing  to meet face-to-face. Much of the material in
   this  lexicon was criticized and polished on just such a mailing list
   (called  `jargon-friends'),  which  included  all  the  co-authors of
   Steele-1983.

:main loop: n.

   The  top-level  control  flow  construct in an input- or event-driven
   program,  the  one  which  receives  and  acts  or  dispatches on the
   program's input. See also {driver}.

:mainframe: n.

   Term  originally  referring  to  the  cabinet  containing the central
   processor  unit  or  `main frame' of a room-filling {Stone Age} batch
   machine.  After  the emergence of smaller minicomputer designs in the
   early  1970s,  the  traditional {big iron} machines were described as
   `mainframe  computers'  and  eventually  just as mainframes. The term
   carries  the  connotation of a machine designed for batch rather than
   interactive  use,  though  possibly  with  an interactive timesharing
   operating  system  retrofitted  onto  it;  it  is  especially used of
   machines  built  by  IBM,  Unisys,  and  the  other great {dinosaur}s
   surviving from computing's {Stone Age}.

   It has been common wisdom among hackers since the late 1980s that the
   mainframe architectural tradition is essentially dead (outside of the
   tiny market for {number-crunching} supercomputers having been swamped
   by  the  recent  huge advances in IC technology and low-cost personal
   computing.  The  wave  of  failures,  takeovers,  and  mergers  among
   traditional  mainframe  makers  in the early 1990s bore this out. The
   biggest  mainframer of all, IBM, was compelled to re-invent itself as
   a  huge systems-consulting house. (See {dinosaurs mating} and {killer
   micro}).

   However, in yet another instance of the {cycle of reincarnation}, the
   port  of  Linux  to the IBM S/390 architecture in 1999 -- assisted by
   IBM  -- produced a resurgence of interest in mainframe computing as a
   way  of  providing  huge  quantities of easily maintainable, reliable
   virtual  Linux  servers,  saving IBM's mainframe division from almost
   certain extinction.

:mainsleaze: n.

   [spam  fighters] A big-time spammer, with their own {fat pipe}, their
   own mailservers, and a {pink contract}. Almost impossible to get shut
   down.

:man page: n.

   A  page  from the Unix Programmer's Manual, documenting one of Unix's
   many  commands,  system  calls,  library  subroutines,  device driver
   interfaces,  file  formats,  games,  macro  packages,  or maintenance
   utilities.  By extension, the term "man page" may be used to refer to
   documentation of any kind, under any system, though it is most likely
   to be confined to short on-line references.

   As  mentioned  in  Chapter 11,  Other Lexicon Conventions, there is a
   standard  syntax  for  referring  to  man  page  entries:  the phrase
   "foo(n)"  refers  to  the  page for "foo" in chapter n of the manual,
   where chapter 1 is user commands, chapter 2 is system calls, etc.

   The  man page format is beloved, or berated, for having the same sort
   of pithy utility as the rest of Unix. Man pages tend to be written as
   very  compact,  concise  descriptions  which  are  complete  but  not
   forgiving  of the lazy or careless reader. Their stylized format does
   a good job of summarizing the essentials: invocation syntax, options,
   basic  functionality.  While  such a concise reference is perfect for
   the  do-one-thing-and-do-it-well  tools which are favored by the Unix
   philosophy, it admittedly breaks down when applied to a command which
   is itself a major subsystem.

:management: n.

   1.  Corporate  power elites distinguished primarily by their distance
   from  actual productive work and their chronic failure to manage (see
   also {suit}). Spoken derisively, as in "Management decided that ...".

   2.  Mythically,  a  vast  bureaucracy responsible for all the world's
   minor irritations. Hackers' satirical public notices are often signed
   `The  Mgt';  this  derives  from  the  Illuminatus  novels  (see  the
   Bibliography in Appendix C).

:mandelbug: /man´del·buhg/, n.

   [from  the  Mandelbrot  set]  A  bug  whose  underlying causes are so
   complex  and  obscure  as to make its behavior appear chaotic or even
   non-deterministic.  This term implies that the speaker thinks it is a
   {Bohr bug}, rather than a {heisenbug}. See also {schroedinbug}.

:manged: /mahnjd/, n.

   [probably  from  the  French  `manger' or Italian `mangiare', to eat;
   perhaps  influenced  by  English  `mange',  `mangy']  adj.  Refers to
   anything that is mangled or damaged, usually beyond repair. "The disk
   was manged after the electrical storm." Compare {mung}.

:mangle: vt.

   1.  Used  similarly  to {mung} or {scribble}, but more violent in its
   connotations;  something  that  is  mangled has been irreversibly and
   totally trashed.

   2. To produce the {mangled name} corresponding to a C++ declaration.

:mangled name: n.

   A   name,   appearing   in  a  C++  object  file,  that  is  a  coded
   representation of the object declaration as it appears in the source.
   Mangled  names  are  used because C++ allows multiple objects to have
   the same name, as long as they are distinguishable in some other way,
   such  as by having different parameter types. Thus, the internal name
   must  have  that  additional  information  embedded  in it, using the
   limited  character  set  allowed  by  most linkers. For instance, one
   popular  compiler  encodes  the standard library function declaration
   "memchr(const void*,int,unsigned int)" as "@memchr$qpxviui".

:mangler: n.

   [DEC]  A manager. Compare {management}. Note that {system mangler} is
   somewhat different in connotation.

:manularity: /man`yoo·la´ri·tee/, n.

   [prob.  fr. techspeak manual + granularity] A notional measure of the
   manual  labor  required  for  some task, particularly one of the sort
   that automation is supposed to eliminate. "Composing English on paper
   has  much  higher  manularity than using a text editor, especially in
   the revising stage." Hackers tend to consider manularity a symptom of
   primitive methods; in fact, a true hacker confronted with an apparent
   requirement  to  do  a computing task {by hand} will inevitably seize
   the opportunity to build another tool (see {toolsmith}).

:marching ants:

   The  animated  dotted-line marquee that indicates a rectangle or item
   select  in Adobe Photoshop, the GIMP, and other similar image-editing
   programs.

:marbles: pl.n.

   [from  mainstream  "lost  all his/her marbles"] The minimum needed to
   build  your  way  further up some hierarchy of tools or abstractions.
   After  a  bad  system crash, you need to determine if the machine has
   enough  marbles  to  come up on its own, or enough marbles to allow a
   rebuild  from  backups, or if you need to rebuild from scratch. "This
   compiler doesn't even have enough marbles to compile {hello world}."

:marginal: adj.

   [common]

   1.  [techspeak]  An  extremely  small change. "A marginal increase in
   {core}  can  decrease {GC} time drastically." In everyday terms, this
   means  that  it  is a lot easier to clean off your desk if you have a
   spare place to put some of the junk while you sort through it.

   2.  Of little merit. "This proposed new feature seems rather marginal
   to me."

   3. Of extremely small probability of {win}ning. "The power supply was
   rather marginal anyway; no wonder it fried."

:marginally: adv.

   Slightly.  "The  ravs  here  are only marginally better than at Small
   Eating Place." See {epsilon}.

:marketroid: /mar´k@·troyd/, n.

   alt.:  marketing  slime,  marketeer,  marketing droid, marketdroid. A
   member  of  a  company's  marketing department, esp. one who promises
   users  that the next version of a product will have features that are
   not  actually  scheduled  for  inclusion,  are extremely difficult to
   implement, and/or are in violation of the laws of physics; and/or one
   who  describes  existing  features  (and  misfeatures)  in ebullient,
   buzzword-laden adspeak. Derogatory. Compare {droid}.

:Mars: n.

   A  legendary  tragic failure, the archetypal Hacker Dream Gone Wrong.
   Mars  was  the  code name for a family of PDP-10-compatible computers
   built  by  Systems  Concepts (now, The SC Group): the multi-processor
   SC-30M,   the   small   uniprocessor   SC-25,   and  the  never-built
   superprocessor  SC-40.  These  machines  were  marvels of engineering
   design;  although  not much slower than the unique {Foonly} F-1, they
   were  physically smaller and consumed less power than the much slower
   {DEC}  KS10  or  Foonly  F-2,  F-3,  or  F-4 machines. They were also
   completely  compatible  with  the DEC KL10, and ran all KL10 binaries
   (including  the operating system) with no modifications at about 2--3
   times faster than a KL10.

   When DEC cancelled the Jupiter project in 1983 (their followup to the
   PDP-10),  Systems  Concepts  should  have made a bundle selling their
   machine  into shops with a lot of software investment in PDP-10s, and
   in  fact  their  spring  1984  announcement generated a great deal of
   excitement  in  the  PDP-10 world. TOPS-10 was running on the Mars by
   the  summer  of  1984,  and TOPS-20 by early fall. Unfortunately, the
   hackers  running  Systems  Concepts  were  much  better  at designing
   machines  than at mass producing or selling them; the company allowed
   itself  to be sidetracked by a bout of perfectionism into continually
   improving   the  design,  and  lost  credibility  as  delivery  dates
   continued  to  slip.  They  also overpriced the product ridiculously;
   they  believed  they  were competing with the KL10 and {VAX} 8600 and
   failed  to reckon with the likes of Sun Microsystems and other hungry
   startups building workstations with power comparable to the KL10 at a
   fraction  of  the  price.  By the time SC shipped the first SC-30M to
   Stanford  in late 1985, most customers had already made the traumatic
   decision  to  abandon the PDP-10, usually for VMS or Unix boxes. Most
   of the Mars computers built ended up being purchased by CompuServe.

   This tale and the related saga of {Foonly} hold a lesson for hackers:
   if you want to play in the {Real World}, you need to learn Real World
   moves.

:martian: n.

   A  packet  sent on a TCP/IP network with a source address of the test
   loopback  interface  [127.0.0.1].  This  means that it will come back
   labeled with a source address that is clearly not of this earth. "The
   domain server is getting lots of packets from Mars. Does that gateway
   have   a   martian   filter?"   Compare   {Christmas   tree  packet},
   {Godzillagram}.

:massage: vt.

   [common]  Vague  term  used to describe `smooth' transformations of a
   data set into a different form, esp. transformations that do not lose
   information. Connotes less pain than {munch} or {crunch}. "He wrote a
   program  that  massages  X  bitmap  files  into  GIF format." Compare
   {slurp}.

:math-out: n.

   [poss.   from   `white-out'   (the  blizzard  variety)]  A  paper  or
   presentation  so encrusted with mathematical or other formal notation
   as  to  be  incomprehensible. This may be a device for concealing the
   fact  that it is actually {content-free}. See also {numbers}, {social
   science number}.

   [73-05-18.png]

   A {math-out} approach to history.

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

:Matrix: n.

   [FidoNet]

   1. What the Opus BBS software and sysops call {FidoNet}.

   2.  Fanciful  term for a {cyberspace} expected to emerge from current
   networking  experiments  (see  {the network}). The name of the rather
   good  1999  {cypherpunk} movie The Matrix played on this sense, which
   however had been established for years before.

   3. The totality of present-day computer networks (popularized in this
   sense by John Quarterman; rare outside academic literature).

:maximum Maytag mode: n.

   What  a {washing machine} or, by extension, any disk drive is in when
   it's  being used so heavily that it's shaking like an old Maytag with
   an  unbalanced load. If prolonged for any length of time, can lead to
   disks  becoming  {walking drives}. In 1999 it's been some years since
   hard  disks were large enough to do this, but the same phenomenon has
   recently been reported with 24X CD-ROM drives.

:McQuary limit:

   [from  the name of the founder of alt.fan.warlord; see {warlording}.]
   4  lines  of  at  most  80  characters each, sometimes still cited on
   Usenet  as  the  maximum acceptable size of a {sig block}. Before the
   great bandwidth explosion of the early 1990s, long sigs actually cost
   people  running Usenet servers significant amounts of money. Nowadays
   social pressure against long sigs is intended to avoid waste of human
   attention  rather  than  machine  bandwidth. Accordingly, the McQuary
   limit  should be considered a rule of thumb rather than a hard limit;
   it's  best to avoid sigs that are large, repetitive, and distracting.
   See also {warlording}.

:meatspace: /meet´spays/, n.

   The   physical   world,  where  the  meat  lives  --  as  opposed  to
   {cyberspace}. Hackers are actually more willing to use this term than
   `cyberspace',  because  it's  not  speculative  --  we already have a
   running meatspace implementation (the universe). Compare {RL}.

:meatware: n.

   Synonym for {wetware}. Less common.

:meeces: /mees'@z/, n.

   [TMRC]  Occasional  furry  visitors  who are not {urchin}s. [That is,
   mice.  This may no longer be in live use; it clearly derives from the
   refrain  of  the  early-1960s  cartoon  character  Mr. Jinks: "I hate
   meeces to pieces!" -- ESR]

:meg: /meg/, n.

   See {quantifiers}.

:mega-: /me´g@/, pref.

   [SI] See {quantifiers}.

:megapenny: /meg'@·pen`ee/, n.

   $10,000  (1 cent * 10^6). Used semi-humorously as a unit in comparing
   computer cost and performance figures.

:MEGO: /me´goh/, /mee´goh/

   ["My  Eyes  Glaze  Over",  often  "Mine  Eyes  Glazeth  (sic)  Over",
   attributed to the futurologist Herman Kahn] Also MEGO factor.

   1.  n.  A  {handwave}  intended to confuse the listener and hopefully
   induce  agreement  because the listener does not want to admit to not
   understanding  what  is  going on. MEGO is usually directed at senior
   management by engineers and contains a high proportion of {TLA}s.

   2. excl. An appropriate response to MEGO tactics.

   3.  Among  non-hackers,  often refers not to behavior that causes the
   eyes  to  glaze, but to the eye-glazing reaction itself, which may be
   triggered  by  the  mere  threat  of  excessive  technical  detail as
   effectively as by an actual excess of it.

:meltdown, network: n.

   See {network meltdown}.

:meme: /meem/, n.

   [coined   by  analogy  with  `gene',  by  Richard  Dawkins]  An  idea
   considered  as  a  {replicator}, esp. with the connotation that memes
   parasitize people into propagating them much as viruses do. Used esp.
   in  the  phrase  meme complex denoting a group of mutually supporting
   memes  that form an organized belief system, such as a religion. This
   lexicon  is  an  (epidemiological)  vector of the `hacker subculture'
   meme complex; each entry might be considered a meme. However, meme is
   often  misused  to  mean  meme  complex.  Use  of  the  term connotes
   acceptance of the idea that in humans (and presumably other tool- and
   language-using  sophonts) cultural evolution by selection of adaptive
   ideas  has superseded biological evolution by selection of hereditary
   traits.  Hackers  find  this  idea  congenial  for  tolerably obvious
   reasons.

:meme plague: n.

   The  spread  of  a  successful  but  pernicious {meme}, esp. one that
   parasitizes  the  victims  into  giving  their  all  to propagate it.
   Astrology,  BASIC,  and the other guy's religion are often considered
   to be examples. This usage is given point by the historical fact that
   `joiner'  ideologies  like  Naziism  or various forms of millennarian
   Christianity  have exhibited plague-like cycles of exponential growth
   followed by collapses to small reservoir populations.

:memetics: /me·met´iks/, n.

   [from  {meme}] The study of memes. As of early 1999, this is still an
   extremely  informal  and speculative endeavor, though the first steps
   towards  at least statistical rigor have been made by H. Keith Henson
   and  others.  Memetics  is  a  popular  topic  for  speculation among
   hackers,  who  like  to  see  themselves as the architects of the new
   information ecologies in which memes live and replicate.

:memory farts: n.

   The  flatulent  sounds  that some DOS box BIOSes (most notably AMI's)
   make when checking memory on bootup.

:memory leak: n.

   An error in a program's dynamic-store allocation logic that causes it
   to fail to reclaim discarded memory, leading to eventual collapse due
   to  memory  exhaustion.  Also (esp. at CMU) called {core leak}. These
   problems were severe on older machines with small, fixed-size address
   spaces,  and  special "leak detection" tools were commonly written to
   root them out. With the advent of virtual memory, it is unfortunately
   easier  to be sloppy about wasting a bit of memory (although when you
   run out of memory on a VM machine, it means you've got a real leak!).
   See   {aliasing   bug},   {fandango  on  core},  {smash  the  stack},
   {precedence lossage}, {overrun screw}, {leaky heap}, {leak}.

:memory smash: n.

   [XEROX PARC] Writing through a pointer that doesn't point to what you
   think  it  does. This occasionally reduces your memory to a rubble of
   bits. Note that this is subtly different from (and more general than)
   related  terms  such as a {memory leak} or {fandango on core} because
   it doesn't imply an allocation error or overrun condition.

:menuitis: /men`yoo·i:´tis/, n.

   Notional   disease   suffered   by   software   with  an  obsessively
   simple-minded  menu  interface  and  no  escape.  Hackers  find  this
   intensely  irritating and much prefer the flexibility of command-line
   or  language-style  interfaces,  especially  those  customizable  via
   macros  or  a special-purpose language in which one can encode useful
   hacks.    See    {user-obsequious},    {drool-proof   paper},   {WIMP
   environment}, {for the rest of us}.

:mess-dos: /mes·dos/, n.

   [semi-obsolescent  now  that  DOS is] Derisory term for MS-DOS. Often
   followed  by  the  ritual banishing "Just say No!" See {MS-DOS}. Most
   hackers   (even   many   MS-DOS   hackers)  loathed  MS-DOS  for  its
   single-tasking  nature,  its  limits  on  application size, its nasty
   primitive  interface,  and its ties to IBMness and Microsoftness (see
   {fear   and   loathing}).   Also   mess-loss,   messy-dos,  mess-dog,
   mess-dross,  mush-dos,  and  various combinations thereof. In Ireland
   and  the U.K. it is even sometimes called `Domestos' after a brand of
   toilet cleanser.

:meta: /me´t@/, /may´t@/, /mee´t@/, pref.

   [from   analytic   philosophy]   One   level  of  description  up.  A
   metasyntactic  variable  is  a  variable in notation used to describe
   syntax, and meta-language is language used to describe language. This
   is  difficult  to  explain  briefly,  but  much hacker humor turns on
   deliberate confusion between meta-levels. See {hacker humor}.

:meta bit: n.

   The  top  bit  of an 8-bit character, which is on in character values
   128--255.  Also  called  {high  bit},  {alt  bit}. Some terminals and
   consoles  (see  {space-cadet keyboard}) have a META shift key. Others
   (including,  mirabile dictu, keyboards on IBM PC-class machines) have
   an ALT key. See also {bucky bits}.

   Historical  note:  although  in  modern usage shaped by a universe of
   8-bit  bytes  the  meta bit is invariably hex 80 (octal 0200), things
   were different on earlier machines with 36-bit words and 9-bit bytes.
   The MIT and Stanford keyboards (see {space-cadet keyboard}) generated
   hex 100 (octal 400) from their meta keys.

:metasyntactic variable: n.

   A name used in examples and understood to stand for whatever thing is
   under  discussion,  or  any  random member of a class of things under
   discussion.  The  word  {foo}  is  the  {canonical} example. To avoid
   confusion, hackers never (well, hardly ever) use `foo' or other words
   like  it  as  permanent  names  for  anything. In filenames, a common
   convention    is    that    any    filename    beginning    with    a
   metasyntactic-variable  name  is a {scratch} file that may be deleted
   at any time.

   Metasyntactic  variables are so called because (1) they are variables
   in  the  metalanguage  used  to talk about programs etc; (2) they are
   variables  whose  values  are often variables (as in usages like "the
   value of f(foo,bar) is the sum of foo and bar"). However, it has been
   plausibly  suggested that the real reason for the term "metasyntactic
   variable"  is  that it sounds good. To some extent, the list of one's
   preferred metasyntactic variables is a cultural signature. They occur
   both  in series (used for related groups of variables or objects) and
   as singletons. Here are a few common signatures:

   {foo}, {bar}, {baz}, {quux}, quuux, quuuux...: MIT/Stanford usage,
   now found everywhere (thanks largely to early versions of this
   lexicon!). At MIT (but not at Stanford), {baz} dropped out of use for
   a while in the 1970s and '80s. A common recent mutation of this
   sequence inserts {qux}before {quux}.
   bazola, ztesch: Stanford (from mid-'70s on).
   {foo},  {bar},  thud,  grunt:  This  series was popular at CMU. Other
   CMU-associated variables include {gorp}.
   {foo},  {bar},  bletch: Waterloo University. We are informed that the
   CS  club at Waterloo formerly had a sign on its door reading "Ye Olde
   Foo  Bar  and  Grill"; this led to an attempt to establish "grill" as
   the third metasyntactic variable, but it never caught on.
   {foo},  {bar},  fum:  This  series  is reported to be common at XEROX
   PARC.
   {fred},  jim,  sheila, {barney}: See the entry for {fred}. These tend
   to be Britishisms.
   {flarp}: Popular at Rutgers University and among {GOSMACS} hackers.
   zxc, spqr, wombat: Cambridge University (England).
   shme Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/.
   foo, bar, baz, bongo Yale, late 1970s.
   spam, eggs {Python} programmers.
   snork Brown University, early 1970s.
   {foo}, {bar}, zot Helsinki University of Technology, Finland.
   blarg, {wibble} New Zealand.
   toto, titi, tata, tutu France.
   pippo,   pluto,   paperino   Italy.   Pippo   /pee´po/  and  Paperino
   /pa·per·ee'·no/ are the Italian names for Goofy and Donald Duck.
   aap,  noot,  mies  The Netherlands. These are the first words a child
   used to learn to spell on a Dutch spelling board.
   oogle,  foogle,  boogle; zork, gork, bork These two series (which may
   be  continued with other initial consonents) are reportedly common in
   England, and said to go back to Lewis Carroll.

   Of  all  these, only foo and bar are universal (and {baz} nearly so).
   The compounds {foobar} and foobaz also enjoy very wide currency. Some
   jargon  terms  are  also  used  as  metasyntactic  names;  {barf} and
   {mumble}, for example. See also {Commonwealth Hackish} for discussion
   of  numerous  metasyntactic  variables found in Great Britain and the
   Commonwealth.

:MFTL: /M·F·T·L/

   [abbreviation: `My Favorite Toy Language']

   1.  adj.  Describes  a  talk on a programming language design that is
   heavy  on  the  syntax (with lots of BNF), sometimes even talks about
   semantics  (e.g., type systems), but rarely, if ever, has any content
   (see  {content-free}). More broadly applied to talks -- even when the
   topic is not a programming language -- in which the subject matter is
   gone  into  in  unnecessary and meticulous detail at the sacrifice of
   any conceptual content. "Well, it was a typical MFTL talk".

   2.  n. Describes a language about which the developers are passionate
   (often  to the point of proselytic zeal) but no one else cares about.
   Applied  to  the language by those outside the originating group. "He
   cornered me about type resolution in his MFTL."

   The  first  great  goal  in  the  mind  of the designer of an MFTL is
   usually  to  write  a compiler for it, then bootstrap the design away
   from  contamination  by lesser languages by writing a compiler for it
   in  itself.  Thus,  the standard put-down question at an MFTL talk is
   "Has  it  been  used  for  anything besides its own compiler?" On the
   other  hand,  a (compiled) language that cannot even be used to write
   its  own  compiler is beneath contempt. (The qualification has become
   necessary   because  of  the  increasing  popularity  of  interpreted
   languages  like  {Perl}  and {Python}.) See {break-even point}. (On a
   related note, Doug McIlroy once proposed a test of the generality and
   utility  of  a  language  and  the operating system under which it is
   compiled:  "Is the output of a FORTRAN program acceptable as input to
   the  FORTRAN  compiler?"  In other words, can you write programs that
   write programs? (See {toolsmith}.) Alarming numbers of (language, OS)
   pairs  fail  this  test,  particularly  when the language is FORTRAN;
   aficionados  are  quick to point out that {Unix} (even using FORTRAN)
   passes  it  handily.  That  the  test  could  ever  be failed is only
   surprising to those who have had the good fortune to have worked only
   under  modern  systems  which  lack  OS-supported  and -imposed "file
   types".)

:mickey: n.

   The resolution unit of mouse movement. It has been suggested that the
   disney   will   become   a  benchmark  unit  for  animation  graphics
   performance.

:mickey mouse program: n.

   North  American  equivalent  of a {noddy} (that is, trivial) program.
   Doesn't  necessarily  have  the belittling connotations of mainstream
   slang  "Oh,  that's  just  mickey  mouse  stuff!";  sometimes trivial
   programs can be very useful.

:micro-: pref.

   1. Very small; this is the root of its use as a quantifier prefix.

   2.  A  quantifier  prefix,  calling  for multiplication by 10^-6 (see
   {quantifiers}).  Neither  of  these  uses is peculiar to hackers, but
   hackers  tend  to  fling  them both around rather more freely than is
   countenanced  in  standard English. It is recorded, for example, that
   one  CS  professor  used  to  characterize the standard length of his
   lectures  as  a microcentury -- that is, about 52.6 minutes (see also
   {attoparsec}, {nanoacre}, and especially {microfortnight}).

   3. Personal or human-scale -- that is, capable of being maintained or
   comprehended  or  manipulated  by  one  human  being.  This  sense is
   generalized  from  microcomputer,  and  is esp. used in contrast with
   macro- (the corresponding Greek prefix meaning `large').

   4.  Local as opposed to global (or {macro-}). Thus a hacker might say
   that  buying  a  smaller  car  to  reduce  pollution  only  solves  a
   microproblem;  the  macroproblem  of  getting to work might be better
   solved  by  using mass transit, moving to within walking distance, or
   (best of all) telecommuting.

:MicroDroid: n.

   [Usenet]  A  Microsoft  employee,  esp.  one  who  posts  to  various
   operating-system  advocacy newsgroups. MicroDroids post follow-ups to
   any messages critical of Microsoft's operating systems, and often end
   up  sounding  like  visiting  fundamentalist  missionaries.  See also
   {astroturfing}; compare {microserf}.

:microfortnight: n.

   1/1000000    of    the    fundamental    unit    of   time   in   the
   Furlong/Firkin/Fortnight   system  of  measurement;  1.2096  sec.  (A
   furlong  is 1/8th of a mile; a firkin is 9 imperial gallons; the mass
   unit  of  the  system  is  taken  to  be  a firkin of water). The VMS
   operating system has a lot of tuning parameters that you can set with
   the  SYSGEN utility, and one of these is TIMEPROMPTWAIT, the time the
   system  will wait for an operator to set the correct date and time at
   boot  if  it  realizes  that the current value is bogus. This time is
   specified in microfortnights!

   Multiple   uses   of   the  millifortnight  (about  20  minutes)  and
   {nanofortnight} have also been reported.

:microLenat: /mi:`·kroh·len'·@t/, n.

   The  unit  of  {bogosity}. Abbreviated µL or mL in ASCII Consensus is
   that  this  is  the  largest  unit  practical  for  everyday use. The
   microLenat,  originally  invented by David Jefferson, was promulgated
   as  an  attack  against  noted  computer  scientist  Doug  Lenat by a
   {tenured  graduate student} at CMU. Doug had failed the student on an
   important  exam  because  the  student gave only "AI is bogus" as his
   answer  to the questions. The slur is generally considered unmerited,
   but  it has become a running gag nevertheless. Some of Doug's friends
   argue  that  of  course  a  microLenat is bogus, since it is only one
   millionth  of  a Lenat. Others have suggested that the unit should be
   redesignated after the grad student, as the microReid.

:microReid: /mi:´kroh·reed/, n.

   See {microLenat}.

:microserf: /mi:´kro·s@rf/

   [popularized,  though  not  originated,  by  Douglas  Coupland's book
   Microserfs] A programmer at {Microsoft}, especially a low-level coder
   with little chance of fame or fortune. Compare {MicroDroid}.

:Microsloth Windows: /mi:´kroh·sloth` win´dohz/, n.

   (Variants  combine {Microshift, Macroshaft, Microsuck} with {Windoze,
   WinDOS}.  Hackerism(s)  for  `Microsoft  Windows'.  A  thirty-two bit
   extension  and graphical shell to a sixteen-bit patch to an eight-bit
   operating system originally coded for a four-bit microprocessor which
   was  written  by  a  two-bit  company  that  can't  stand  one bit of
   competition.  Also just called Windoze, with the implication that you
   can  fall  asleep  waiting  for it to do anything; the latter term is
   extremely  common  on  Usenet.  See {Black Screen of Death} and {Blue
   Screen of Death}; compare {X}, {sun-stools}.

:Microsoft:

   The  new  {Evil Empire} (the old one was {IBM}). The basic complaints
   are, as formerly with IBM, that (a) their system designs are horrible
   botches,  (b)  we  can't get {source} to fix them, and (c) they throw
   their weight around a lot. See also {Halloween Documents}.

:micros~1:

   An  abbreviation  of  the full name {Microsoft} resembling the rather
   {bogus} way Windows 9x's VFAT filesystem truncates long file names to
   fit in the MS-DOS 8+3 scheme (the real filename is stored elsewhere).
   If other files start with the same prefix, they'll be called micros~2
   and  so  on,  causing lots of problems with backups and other routine
   system-administration problems. During the US Antitrust trial against
   Microsoft  the names Micros~1 and Micros~2 were suggested for the two
   companies that would exist after a break-up.

:middle-endian: adj.

   Not  {big-endian}  or  {little-endian}.  Used of perverse byte orders
   such  as 3-4-1-2 or 2-1-4-3, occasionally found in the packed-decimal
   formats  of minicomputer manufacturers who shall remain nameless. See
   {NUXI problem}. Non-US hackers use this term to describe the American
   mm/dd/yy  style  of  writing  dates  (Europeans  write  little-endian
   dd/mm/yy, and Japanese use big-endian yy/mm/dd for Western dates).

:middle-out implementation:

   See {bottom-up implementation}.

:milliLampson: /mil'@·lamp`sn/, n.

   A  unit  of  talking speed, abbreviated mL. Most people run about 200
   milliLampsons.  The  eponymous  Butler  Lampson  (a  CS  theorist and
   systems  implementor  highly  regarded among hackers) goes at 1000. A
   few  people  speak faster. This unit is sometimes used to compare the
   (sometimes widely disparate) rates at which people can generate ideas
   and  actually  emit  them  in  speech.  For  example,  noted computer
   architect  C.  Gordon  Bell  (designer of the {PDP-11}) is said, with
   some awe, to think at about 1200 mL but only talk at about 300; he is
   frequently  reduced  to  fragments of sentences as his mouth tries to
   keep up with his speeding brain.

:minor detail:

   Often used in an ironic sense about brokenness or problems that while
   apparently  major,  are  in principle solvable. "It works -- the fact
   that  it  crashes  the system right after is a minor detail." Compare
   {SMOP}.

:MIPS: /mips/, n.

   [abbreviation]

   1.  A measure of computing speed; formally, `Million Instructions Per
   Second'  (that's  10^6  per  second,  not  2^20!);  often rendered by
   hackers  as  `Meaningless  Indication of Processor Speed' or in other
   unflattering  ways,  such  as  `Meaningless  Information  Provided by
   Salesmen'.  This  joke  expresses  an attitude nearly universal among
   hackers  about  the  value  of most {benchmark} claims, said attitude
   being   one  of  the  great  cultural  divides  between  hackers  and
   {marketroid}s  (see  also  {BogoMIPS}).  The singular is sometimes `1
   MIP'  even  though  this  is  clearly  etymologically wrong. See also
   {KIPS} and {GIPS}.

   2.  Computers,  especially  large computers, considered abstractly as
   sources  of {computron}s. "This is just a workstation; the heavy MIPS
   are hidden in the basement."

   3.  The  corporate  name  of  a  particular  RISC-chip company, later
   acquired by SGI.

   4.  Acronym  for `Meaningless Information per Second' (a joke, prob.:
   from sense 1).

:misbug: /mis·buhg/, n.

   [MIT;  rare  (like its referent)] An unintended property of a program
   that  turns out to be useful; something that should have been a {bug}
   but  turns  out  to  be  a  {feature}. Compare {green lightning}. See
   {miswart}.

:misfeature: /mis·fee´chr/, /mis´fee`chr/, n.

   [common]  A  feature that eventually causes lossage, possibly because
   it  is  not  adequate  for a new situation that has evolved. Since it
   results  from  a  deliberate  and  properly  implemented  feature,  a
   misfeature  is  not a bug. Nor is it a simple unforeseen side effect;
   the  term implies that the feature in question was carefully planned,
   but  its  long-term  consequences  were  not accurately or adequately
   predicted  (which is quite different from not having thought ahead at
   all). A misfeature can be a particularly stubborn problem to resolve,
   because fixing it usually involves a substantial philosophical change
   to the structure of the system involved.

   Many  misfeatures (especially in user-interface design) arise because
   the  designers/implementors mistake their personal tastes for laws of
   nature.   Often   a  former  feature  becomes  a  misfeature  because
   trade-offs  were  made whose parameters subsequently change (possibly
   only in the judgment of the implementors). "Well, yeah, it is kind of
   a  misfeature  that file names are limited to six characters, but the
   original  implementors wanted to save directory space and we're stuck
   with it for now."

:missile address: n.

   See {ICBM address}.

:MiSTing:

   [blogosphere]  A  variant  of  {fisking} patterned on the protocol of
   Mystery  Science  Theater  3000,  In  a MiSTing, the satire is spoken
   through  characters  purporting  to  be  the  MST3K  robots  or other
   suitably  bizarre characters, such as the Roman emperors Augustus and
   Caligula.

:miswart: /mis·wort/, n.

   [from {wart} by analogy with {misbug}] A {feature} that superficially
   appears  to  be  a  {wart}  but  has been determined to be the {Right
   Thing}. For example, in some versions of the {EMACS} text editor, the
   `transpose  characters'  command  exchanges  the  character under the
   cursor  with  the one before it on the screen, except when the cursor
   is  at the end of a line, in which case the two characters before the
   cursor  are exchanged. While this behavior is perhaps surprising, and
   certainly   inconsistent,   it   has  been  found  through  extensive
   experimentation  to  be  what  most  users  want.  This  feature is a
   miswart.

:MMF: //

   [Usenet;  common] Abbreviation: "Make Money Fast". Refers to any kind
   of scheme which promises participants large profits with little or no
   risk or effort. Typically, it is a some kind of multi-level marketing
   operation  which  involves  recruiting  more  members,  or an illegal
   pyramid  scam.  The  term  is  also used to refer to any kind of spam
   which  promotes  this.  For more information, see the Make Money Fast
   Myth Page.

:mobo: /moh´bo/

   Written and (rarely) spoken contraction of "motherboard"

:moby: /moh´bee/

   [MIT:  seems to have been in use among model railroad fans years ago.
   Derived  from Melville's Moby Dick (some say from `Moby Pickle'). Now
   common.]

   1.  adj. Large, immense, complex, impressive. "A Saturn V rocket is a
   truly  moby frob." "Some MIT undergrads pulled off a moby hack at the
   Harvard-Yale game." (See Appendix A for discussion.)

   2.  n. obs. The maximum address space of a machine (see below). For a
   680[234]0  or  {VAX}  or  most  modern  32-bit  architectures,  it is
   4,294,967,296 8-bit bytes (4 gigabytes).

   3. A title of address (never of third-person reference), usually used
   to  show  admiration,  respect,  and/or  friendliness  to a competent
   hacker.  "Greetings, moby Dave. How's that address-book thing for the
   Mac going?"

   4.  adj.  In  backgammon, doubles on the dice, as in moby sixes, moby
   ones,  etc.  Compare  this  with {bignum} (sense 3): double sixes are
   both  bignums  and moby sixes, but moby ones are not bignums (the use
   of  moby  to  describe  double  ones is sarcastic). Standard emphatic
   forms:  Moby  foo, moby win, moby loss. Foby moo: a spoonerism due to
   Richard Greenblatt.

   5.  The  largest  available  unit  of something which is available in
   discrete  increments.  Thus,  ordering  a  "moby  Coke"  at the local
   fast-food  joint  is  not  just  a  request for a large Coke, it's an
   explicit request for the largest size they sell.

   This  term  entered  hackerdom with the Fabritek 256K memory added to
   the MIT AI PDP-6 machine, which was considered unimaginably huge when
   it  was  installed in the 1960s (at a time when a more typical memory
   size  for  a  timesharing  system  was 72 kilobytes). Thus, a moby is
   classically  256K  36-bit  words, the size of a PDP-6 or PDP-10 moby.
   Back  when  address registers were narrow the term was more generally
   useful,  because when a computer had virtual memory mapping, it might
   actually  have  more  physical  memory  attached  to  it than any one
   program  could access directly. One could then say "This computer has
   6  mobies" meaning that the ratio of physical memory to address space
   is  6,  without  having  to  say  specifically  how much memory there
   actually  is.  That in turn implied that the computer could timeshare
   six  `full-sized'  programs  without  having to swap programs between
   memory and disk.

   Nowadays  the  low  cost of processor logic means that address spaces
   are  usually larger than the most physical memory you can cram onto a
   machine, so most systems have much less than one theoretical `native'
   moby  of {core}. Also, more modern memory-management techniques (esp.
   paging) make the `moby count' less significant. However, there is one
   series  of  widely-used  chips  for  which the term could stand to be
   revived   --   the   Intel  8088  and  80286  with  their  incredibly
   {brain-damaged}  segmented-memory  designs. On these, a moby would be
   the 1-megabyte address span of a segment/offset pair (by coincidence,
   a PDP-10 moby was exactly 1 megabyte of 9-bit bytes).

:mockingbird: n.

   Software    that    intercepts   communications   (especially   login
   transactions)  between  users  and  hosts  and  provides  system-like
   responses  to  the  users  while  saving  their responses (especially
   account IDs and passwords). A special case of {Trojan horse}.

:mod: vt.,n.

   [very common]

   1.  Short  for  `modify'  or `modification'. Very commonly used -- in
   fact  the full terms are considered markers that one is being formal.
   The  plural  `mods' is used esp. with reference to bug fixes or minor
   design  changes  in  hardware  or software, most esp. with respect to
   {patch} sets or a {diff}. See also {case mod}.

   2. Short for {modulo} but used only for its techspeak sense.

:mode: n.

   [common]  A  general state, usually used with an adjective describing
   the  state.  Use  of the word `mode' rather than `state' implies that
   the state is extended over time, and probably also that some activity
   characteristic  of that state is being carried out. "No time to hack;
   I'm  in  thesis  mode."  In  its  jargon  sense, `mode' is most often
   attributed  to people, though it is sometimes applied to programs and
   inanimate objects. In particular, see {hack mode}, {day mode}, {night
   mode},  {demo  mode},  {fireworks  mode}, and {yoyo mode}; also {talk
   mode}.

   One  also often hears the verbs enable and disable used in connection
   with  jargon  modes.  Thus, for example, a sillier way of saying "I'm
   going  to  crash"  is "I'm going to enable crash mode now". One might
   also hear a request to "disable flame mode, please".

   In  a  usage much closer to techspeak, a mode is a special state that
   certain  user  interfaces  must pass into in order to perform certain
   functions. For example, in order to insert characters into a document
   in  the  Unix editor vi, one must type the "i" key, which invokes the
   "Insert"  command.  The  effect  of  this  command  is to put vi into
   "insert  mode",  in  which  typing  the "i" key has a quite different
   effect  (to  wit, it inserts an "i" into the document). One must then
   hit  another  special  key,  "ESC",  in order to leave "insert mode".
   Nowadays,  modeful  interfaces  are generally considered {losing} but
   survive  in  quite  a few widely used tools built in less enlightened
   times.

:mode bit: n.

   [common]  A  {flag},  usually  in  hardware, that selects between two
   (usually  quite  different)  modes of operation. The connotations are
   different from {flag} bit in that mode bits are mainly written during
   a boot or set-up phase, are seldom explicitly read, and seldom change
   over the lifetime of an ordinary program. The classic example was the
   EBCDIC-vs.-ASCII bit (#12) of the Program Status Word of the IBM 360.

:modulo: /mod´yu·loh/, prep.

   Except  for.  An  overgeneralization of mathematical terminology; one
   can  consider  saying  that 4 equals 22 except for the 9s (4 = 22 mod
   9).  "Well,  LISP  seems  to work okay now, modulo that {GC} bug." "I
   feel fine today modulo a slight headache."

:mojibake: n., /mo´jee·ba·ke/

   Japanese  for "ghost characters", the garbage that comes out when one
   tries  to  display  international character sets through software not
   configured   for   them.   There   is   a   page   on  the  topic  at
   http://www.debian.or.jp/~kubota/mojibake/.

:molly-guard: /mol´ee·gard/, n.

   [University  of  Illinois]  A shield to prevent tripping of some {Big
   Red  Switch}  by  clumsy  or  ignorant  hands. Originally used of the
   plexiglass  covers  improvised  for  the  BRS  on an IBM 4341 after a
   programmer's  toddler  daughter (named Molly) frobbed it twice in one
   day.  Later  generalized  to  covers over stop/reset switches on disk
   drives  and  networking equipment. In hardware catalogues, you'll see
   the much less interesting description "guarded button".

:Mongolian Hordes technique: n.

   [poss.   from   the   Sixties   counterculture  expression  Mongolian
   clusterfuck  for  a  public orgy] Development by {gang bang}. Implies
   that  large  numbers  of inexperienced programmers are being put on a
   job  better  performed by a few skilled ones (but see {bazaar}). Also
   called Chinese Army technique; see also {Brooks's Law}.

:monkey up: vt.

   To  hack  together  hardware  for  a  particular  task,  especially a
   one-shot   job.   Connotes  an  extremely  {crufty}  and  consciously
   temporary solution. Compare {hack up}, {kluge up}, {cruft together}.

:monkey, scratch: n.

   See {scratch monkey}.

:monstrosity:

   1.  n.  A ridiculously {elephantine} program or system, esp. one that
   is buggy or only marginally functional.

   2.  adj.  The  quality  of  being  monstrous  (see the section called
   "Overgeneralization"  in the discussion of jargonification). See also
   {baroque}.

:monty: /mon´tee/, n.

   1.  [US  Geological Survey] A program with a ludicrously complex user
   interface  written  to  perform  extremely  trivial tasks. An example
   would  be  a  menu-driven,  button clicking, pulldown, pop-up windows
   program  for  listing directories. The original monty was an infamous
   weather-reporting  program, Monty the Amazing Weather Man, written at
   the  USGS. Monty had a widget-packed X-window interface with over 200
   buttons; and all monty actually did was files off the network.

   2.  [Great  Britain;  commonly  capitalized  as  Monty or as the Full
   Monty]   16  megabytes  of  memory,  when  fitted  to  an  IBM-PC  or
   compatible.  A standard PC-compatible using the AT- or ISA-bus with a
   normal  BIOS  cannot  access more than 16 megabytes of RAM. Generally
   used  of  a  PC,  Unix workstation, etc. to mean fully populated with
   memory,  disk-space  or  some other desirable resource. See the World
   Wide  Words  article  "The  Full  Monty" for discussion of the rather
   complex  etymology  that may lie behind this phrase. Compare American
   {moby}.

:Moof: /moof/

   [Macintosh users]

   1.  n.  The  call  of  a semi-legendary creature, properly called the
   {dogcow}. (Some previous versions of this entry claimed, incorrectly,
   that Moof was the name of the creature.)

   2.  adj.  Used to flag software that's a hack, something untested and
   on  the  edge.  On one Apple CD-ROM, certain folders such as "Tools &
   Apps  (Moof!)"  and "Development Platforms (Moof!)", are so marked to
   indicate that they contain software not fully tested or sanctioned by
   the  powers  that  be.  When  you  open  these  folders you cross the
   boundary into hackerland.

   3. v. On the Microsoft Network, the term `moof' has gained popularity
   as  a  verb  meaning `to be suddenly disconnected by the system'. One
   might say "I got moofed".

:Moore's Law: /morz law/, prov.

   Any  one of several similar folk theorems that fit computing capacity
   or  cost  to  a  2^t exponential curve, with doubling time close to a
   year.  The  most  common  fits  component  density  to  such  a curve
   (previous  versions  of  this  entry gave that form). Another variant
   asserts that the dollar cost of constant computing power decreases on
   the  same  curve.  The original Moore's Law, first uttered in 1965 by
   semiconductor  engineer Gordon Moore (who co-founded Intel four years
   later),  spoke of the number of components on the lowest-cost silicon
   integrated  circuits  --  but Moore's own formulation varied somewhat
   over  the years, and reconstructing the meaning of the terminology he
   used  in  the  original  turns  out  to be fraught with difficulties.
   Further  variants  were  spawned by Intel's PR department and various
   journalists.

   It  has  been shown that none of the variants of Moore's Law actually
   fit  the  data  very  well  (the price curves within DRAM generations
   perhaps  come  closest).  Nevertheless,  Moore's  Law  is  constantly
   invoked to set up expectations about the next generation of computing
   technology. See also {Parkinson's Law of Data} and {Gates's Law}.

:moria: /mor´ee·@/, n.

   Like    {nethack}    and    {rogue},    one    of    the   large   PD
   Dungeons-and-Dragons-like  simulation  games,  available  for  a wide
   range  of  machines and operating systems. The name is from Tolkien's
   Mines of Moria; compare {elder days}, {elvish}. The game is extremely
   addictive  and  a major consumer of time better used for hacking. See
   also {nethack}, {rogue}, {Angband}.

:MOTAS: /moh·tahz/, n.

   [Usenet:  Member Of The Appropriate Sex, after {MOTOS} and {MOTSS}] A
   potential or (less often) actual sex partner. See also {SO}.

:MOTOS: /moh·tohs/, n.

   [acronym  from  the  1970 U.S. census forms via Usenet: Member Of The
   Opposite  Sex]  A  potential  or (less often) actual sex partner. See
   {MOTAS},  {MOTSS}, {SO}. Less common than MOTSS or {MOTAS}, which has
   largely displaced it.

:MOTSS: /mots/, /M·O·T·S·S/, n.

   [from  the 1970 U.S. census forms via Usenet] Member Of The Same Sex,
   esp.  one  considered  as  a  possible sexual partner. The gay-issues
   newsgroup  on  Usenet  is  called soc.motss. See {MOTOS} and {MOTAS},
   which derive from it. See also {SO}.

:mouse ahead: vi.

   Point-and-click  analog  of  type  ahead.  To manipulate a computer's
   pointing  device  (almost  always  a  mouse  in  this  usage, but not
   necessarily)  and  its selection or command buttons before a computer
   program is ready to accept such input, in anticipation of the program
   accepting  the input. Handling this properly is rare, but it can help
   make  a  {WIMP  environment} much more usable, assuming the users are
   familiar with the behavior of the user interface.

:mouse belt: n.

   See {rat belt}.

:mouse droppings: n.

   [MS-DOS]  Pixels (usually single) that are not properly restored when
   the  mouse  pointer  moves  away  from  a  particular location on the
   screen,  producing  the  appearance  that  the mouse pointer has left
   droppings behind. The major causes for this problem are programs that
   write  to  the  screen  memory  corresponding  to the mouse pointer's
   current  location  without  hiding the mouse pointer first, and mouse
   drivers that do not quite support the graphics mode in use.

:mouse elbow: n.

   A  tennis-elbow-like fatigue syndrome resulting from excessive use of
   a  {WIMP environment}. Similarly, mouse shoulder; GLS reports that he
   used to get this a lot before he taught himself to be ambimoustrous.

:mouse pusher:

   [common]  A  person  that prefers a mouse over a keyboard; originally
   used  for  Macintosh  fans.  The  derogatory  implication is that the
   person has nothing but the most superficial knowledge of the software
   he/she  is  employing,  and is incapable of using or appreciating the
   full glory of the command line.

:mouso: /mow´soh/, n.

   [by  analogy  with  `typo']  An  error in mouse usage resulting in an
   inappropriate  selection  or  graphic  garbage on the screen. Compare
   {thinko}, {braino}.

:MS-DOS: /M·S·dos/, n.

   [MicroSoft  Disk  Operating  System] A {clone} of {CP/M} for the 8088
   crufted  together  in  6  weeks  by  hacker  Tim  Paterson at Seattle
   Computer  Products,  who  called  the  original QDOS (Quick and Dirty
   Operating  System)  and  is  said  to  have  regretted it ever since.
   Microsoft licensed QDOS in order to have something to demo for IBM on
   time,  and  the rest is history. Numerous features, including vaguely
   Unix-like   but   rather   broken  support  for  subdirectories,  I/O
   redirection,  and  pipelines,  were  hacked  into Microsoft's 2.0 and
   subsequent  versions; as a result, there are two or more incompatible
   versions of many system calls, and MS-DOS programmers can never agree
   on  basic  things  like  what character to use as an option switch or
   whether to be case-sensitive. The resulting appalling mess is now the
   highest-unit-volume  OS  in history. Often known simply as DOS, which
   annoys  people  familiar  with  other similarly abbreviated operating
   systems (the name goes back to the mid-1960s, when it was attached to
   IBM's  first  disk  operating  system  for the 360). The name further
   annoys those who know what the term {operating system} does (or ought
   to)  connote;  DOS  is  more  properly  a  set  of  relatively simple
   interrupt services. Some people like to pronounce DOS like "dose", as
   in  "I  don't  work  on  dose,  man!",  or to compare it to a dose of
   brain-damaging  drugs  (a  slogan  button  in  wide circulation among
   hackers exhorts: "MS-DOS: Just say No!"). See {mess-dos}.

:mu: /moo/

   The  correct  answer  to the classic trick question "Have you stopped
   beating  your  wife yet?". Assuming that you have no wife or you have
   never  beaten your wife, the answer "yes" is wrong because it implies
   that  you  used to beat your wife and then stopped, but "no" is worse
   because  it  suggests  that  you  have one and are still beating her.
   According  to  various Discordians and Douglas Hofstadter the correct
   answer  is  usually  "mu",  a  Japanese  word  alleged  to mean "Your
   question   cannot   be  answered  because  it  depends  on  incorrect
   assumptions". Hackers tend to be sensitive to logical inadequacies in
   language,  and many have adopted this suggestion with enthusiasm. The
   word  `mu' is actually from Chinese, meaning `nothing'; it is used in
   mainstream  Japanese in that sense. In Chinese it can also mean "have
   not" (as in "I have not done it"), or "lack of", which may or may not
   be  a  definite,  complete 'nothing'). Native speakers of Japanese do
   not  recognize  the  Discordian  question-denying  use,  which almost
   certainly  derives  from  overgeneralization  of  the  answer  in the
   following well-known Rinzai Zen {koan}:

     A  monk  asked  Joshu,  "Does a dog have the Buddha nature?" Joshu
     retorted, "Mu!"

   See  also {has the X nature}, Some AI Koans, and Douglas Hofstadter's
   Gödel,  Escher,  Bach:  An  Eternal  Golden  Braid  (pointer  in  the
   Bibliography in Appendix C.

:MUD: /muhd/, n.

   [acronym, Multi-User Dungeon; alt.: Multi-User Dimension]

   1.  A  class  of  {virtual  reality}  experiments  accessible via the
   Internet.  These  are real-time chat forums with structure; they have
   multiple  `locations' like an adventure game, and may include combat,
   traps,  puzzles,  magic, a simple economic system, and the capability
   for  characters  to  build  more  structure  onto  the  database that
   represents the existing world.

   2.  vi.  To  play  a  MUD. The acronym MUD is often lowercased and/or
   verbed; thus, one may speak of going mudding, etc.

   Historically,  MUDs  (and their more recent progeny with names of MU-
   form)  derive  from  a hack by Richard Bartle and Roy Trubshaw on the
   University  of Essex's DEC-10 in the early 1980s; descendants of that
   game   still   exist  today  and  are  sometimes  generically  called
   BartleMUDs.  There  is a widespread myth (repeated, unfortunately, by
   earlier  versions  of this lexicon) that the name MUD was trademarked
   to  the  commercial  MUD run by Bartle on British Telecom (the motto:
   "You haven't lived 'til you've died on MUD!"); however, this is false
   --  Richard  Bartle  explicitly  placed `MUD' in the public domain in
   1985.  BT  was  upset  at this, as they had already printed trademark
   claims  on some maps and posters, which were released and created the
   myth.

   Students  on  the  European academic networks quickly improved on the
   MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD). Many
   of   these   had   associated   bulletin-board   systems  for  social
   interaction.  Because  these  had  an  image as `research' they often
   survived  administrative hostility to BBSs in general. This, together
   with  the  fact  that Usenet feeds were often spotty and difficult to
   get  in  the  U.K.,  made  the  MUDs  major  foci  of  hackish social
   interaction there.

   AberMUD  and  other  variants  crossed  the  Atlantic around 1988 and
   quickly  gained  popularity in the U.S.; they became nuclei for large
   hacker  communities  with  only  loose  ties to traditional hackerdom
   (some  observers see parallels with the growth of Usenet in the early
   1980s).  The  second  wave  of  MUDs (TinyMUD and variants) tended to
   emphasize social interaction, puzzles, and cooperative world-building
   as  opposed  to combat and competition (in writing, these social MUDs
   are  sometimes  referred  to as `MU*', with `MUD' implicitly reserved
   for the more game-oriented ones). By 1991, over 50% of MUD sites were
   of  a third major variety, LPMUD, which synthesizes the combat/puzzle
   aspects  of  AberMUD  and  older  systems  with  the extensibility of
   TinyMud. In 1996 the cutting edge of the technology is Pavel Curtis's
   MOO,  even more extensible using a built-in object-oriented language.
   The   trend  toward  greater  programmability  and  flexibility  will
   doubtless continue.

   The state of the art in MUD design is still moving very rapidly, with
   new simulation designs appearing (seemingly) every month. Around 1991
   there  was  an  unsuccessful  movement  to  deprecate  the term {MUD}
   itself,  as  newer  designs  exhibit  an  exploding  variety of names
   corresponding  to  the different simulation styles being explored. It
   survived.  See  also {bonk/oif}, {FOD}, {link-dead}, {mudhead}, {talk
   mode}.

:muddie: n.

   Syn. {mudhead}. More common in Great Britain, possibly because system
   administrators  there like to mutter "bloody muddies" when annoyed at
   the species.

:mudhead: n.

   Commonly  used  to  refer  to  a  {MUD}  player who eats, sleeps, and
   breathes  MUD.  Mudheads  have been known to fail their degrees, drop
   out,  etc.,  with  the  consolation,  however,  that they made wizard
   level. When encountered in person, on a MUD, or in a chat system, all
   a  mudhead will talk about is three topics: the tactic, character, or
   wizard  that  is  supposedly  always  unfairly  stopping him/her from
   becoming  a  wizard  or beating a favorite MUD; why the specific game
   he/she  has experience with is so much better than any other; and the
   MUD  he  or  she  is writing or going to write because his/her design
   ideas  are  so  much  better  than  in  any  existing  MUD.  See also
   {wannabee}.

   To the anthropologically literate, this term may recall the Zuni/Hopi
   legend  of the mudheads or koyemshi, mythical half-formed children of
   an  unnatural  union. Figures representing them act as clowns in Zuni
   sacred  ceremonies.  Others  may  recall  the  `High  School Madness'
   sequence from the Firesign Theatre album Don't Crush That Dwarf, Hand
   Me the Pliers, in which there is a character named "Mudhead".

:muggle:

   [from J.K. Rowling's Harry Potter books, 1998] A non-{wizard}. Not as
   disparaging  as  {luser}; implies vague pity rather than contempt. In
   the   universe  of  Rowling's  enormously  (and  deservedly)  popular
   children's series, muggles and wizards inhabit the same modern world,
   but  each  group  is  ignorant  of  the  commonplaces  of the others'
   existence -- most muggles are unaware that wizards exist, and wizards
   (used  to  magical  ways  of  doing  everything)  are  perplexed  and
   fascinated by muggle artifacts.

   In retrospect it seems completely inevitable that hackers would adopt
   this metaphor, and in hacker usage it readily forms compounds such as
   muggle-friendly. Compare {luser}, {mundane}, {chainik}, {newbie}.

:Multics: /muhl´tiks/, n.

   [from  "MULTiplexed  Information  and  Computing  Service"]  An early
   timesharing  {operating system} co-designed by a consortium including
   MIT,  GE,  and Bell Laboratories as a successor to {CTSS}. The design
   was  first  presented  in  1965, planned for operation in 1967, first
   operational   in  1969,  and  took  several  more  years  to  achieve
   respectable performance and stability.

   Multics  was  very  innovative for its time -- among other things, it
   provided a hierarchical file system with access control on individual
   files  and  introduced  the idea of treating all devices uniformly as
   special  files.  It  was  also  the  first  OS  to run on a symmetric
   multiprocessor,  and  the only general-purpose system to be awarded a
   B2 security rating by the NSA (see {Orange Book}).

   Bell  Labs  left  the  development  effort in 1969 after judging that
   {second-system  effect} had bloated Multics to the point of practical
   unusability.  Honeywell  commercialized  Multics in 1972 after buying
   out  GE's  computer  group,  but it was never very successful: at its
   peak  in the 1980s, there were between 75 and 100 Multics sites, each
   a multi-million dollar mainframe.

   One of the former Multics developers from Bell Labs was Ken Thompson,
   and {Unix} deliberately carried through and extended many of Multics'
   design  ideas;  indeed, Thompson described the very name `Unix' as "a
   weak  pun  on  Multics".  For  this and other reasons, aspects of the
   Multics design remain a topic of occasional debate among hackers. See
   also {brain-damaged} and {GCOS}.

   MIT ended its development association with Multics in 1977. Honeywell
   sold its computer business to Bull in the mid 80s, and development on
   Multics  was  stopped  in  1988.  Four Multics sites were known to be
   still  in  use as late as 1998, but the last one (a Canadian military
   site) was decommissioned in November 2000. There is a Multics page at
   http://www.stratus.com/pub/vos/multics/tvv/multics.html.

:multitask: n.

   Often  used  of  humans  in the same meaning it has for computers, to
   describe  a  person  doing several things at once (but see {thrash}).
   The term multiplex, from communications technology (meaning to handle
   more than one channel at the same time), is used similarly.

:mumblage: /muhm´bl@j/, n.

   The  topic  of  one's mumbling (see {mumble}). "All that mumblage" is
   used like "all that stuff" when it is not quite clear how the subject
   of  discussion  works, or like "all that crap" when `mumble' is being
   used as an implicit replacement for pejoratives.

:mumble: interj.

   1. Said when the correct response is too complicated to enunciate, or
   the  speaker  has not thought it out. Often prefaces a longer answer,
   or  indicates  a  general  reluctance  to get into a long discussion.
   "Don't  you  think  that we could improve LISP performance by using a
   hybrid reference-count transaction garbage collector, if the cache is
   big  enough  and there are some extra cache bits for the microcode to
   use?" "Well, mumble ... I'll have to think about it."

   2. [MIT] Expression of not-quite-articulated agreement, often used as
   an  informal  vote  of consensus in a meeting: "So, shall we dike out
   the COBOL emulation?" "Mumble!"

   3.  Sometimes  used  as  an expression of disagreement (distinguished
   from sense 2 by tone of voice and other cues). "I think we should buy
   a  {{VAX}}."  "Mumble!"  Common  variant:  mumble frotz (see {frotz};
   interestingly, one does not say `mumble frobnitz' even though `frotz'
   is short for `frobnitz').

   4. Yet another {metasyntactic variable}, like {foo}.

   5.  When  used  as  a question ("Mumble?") means "I didn't understand
   you".

   6.  Sometimes  used in `public' contexts on-line as a placefiller for
   things one is barred from giving details about. For example, a poster
   with  pre-released hardware in his machine might say "Yup, my machine
   now  has  an  extra 16M of memory, thanks to the card I'm testing for
   Mumbleco."

   7. A conversational wild card used to designate something one doesn't
   want to bother spelling out, but which can be {glark}ed from context.
   Compare {blurgle}.

   8.  [XEROX  PARC]  A  colloquialism  used  to  suggest  that  further
   discussion would be fruitless.

:munch: vt.

   [often  confused  with  {mung},  q.v.]  To transform information in a
   serial  fashion,  often  requiring  large  amounts of computation. To
   trace   down  a  data  structure.  Related  to  {crunch}  and  nearly
   synonymous with {grovel}, but connotes less pain.

:munching: n.

   Exploration of security holes of someone else's computer for thrills,
   notoriety,  or  to  annoy  the system manager. Compare {cracker}. See
   also {hacked off}.

:munching squares: n.

   A  {display  hack}  dating  back  to  the PDP-1 (ca. 1962, reportedly
   discovered  by  Jackson  Wright), which employs a trivial computation
   (repeatedly plotting the graph Y = X XOR T for successive values of T
   --  see  {HAKMEM} items 146--148) to produce an impressive display of
   moving  and growing squares that devour the screen. The initial value
   of  T is treated as a parameter, which, when well-chosen, can produce
   amazing  effects.  Some  of  these,  later (re)discovered on the LISP
   machine, have been christened munching triangles (try AND for XOR and
   toggling points instead of plotting them), munching w's, and munching
   mazes.  More  generally,  suppose  a  graphics  program  produces  an
   impressive  and  ever-changing  display of some basic form, foo, on a
   display terminal, and does it using a relatively simple program; then
   the program (or the resulting display) is likely to be referred to as
   munching  foos.  [This is a good example of the use of the word {foo}
   as a {metasyntactic variable}.]

:munchkin: /muhnch´kin/, n.

   [from  the squeaky-voiced little people in L. Frank Baum's The Wizard
   of  Oz]  A  teenage-or-younger  micro  enthusiast  hacking  BASIC  or
   something  else  equally  constricted.  A  term  of  mild derision --
   munchkins  are  annoying but some grow up to be hackers after passing
   through  a  {larval  stage}. The term {urchin} is also used. See also
   {wannabee}, {bitty box}.

:mundane: n.

   [from SF fandom]

   1. A person who is not in science fiction fandom.

   2.  A person who is not in the computer industry. In this sense, most
   often  an adjectival modifier as in "in my mundane life...." See also
   {Real World}, {muggle}.

:mung: /muhng/, vt.

   [in  1960  at  MIT,  "Mash  Until  No  Good"; sometime after that the
   derivation  from  the {recursive acronym} "Mung Until No Good" became
   standard; but see {munge}]

   1.  To  make  changes  to  a  file,  esp. large-scale and irrevocable
   changes. See {BLT}.

   2.  To  destroy,  usually accidentally, occasionally maliciously. The
   system  only  mungs  things  maliciously;  this  is  a consequence of
   {Finagle's  Law}.  See {scribble}, {mangle}, {trash}, {nuke}. Reports
   from  {Usenet} suggest that the pronunciation /muhnj/ is now usual in
   speech,  but  the spelling `mung' is still common in program comments
   (compare  the  widespread  confusion  over  the  proper  spelling  of
   {kluge}).

   3.  In  the  wake  of  the {spam} epidemics of the 1990s, mung is now
   commonly  used to describe the act of modifying an email address in a
   sig  block  in  a  way that human beings can readily reverse but that
   will fool an {address harvester}. Example: johnNOSPAMsmith@isp.net.

   4.  The  kind of beans the sprouts of which are used in Chinese food.
   (That's their real name! Mung beans! Really!)

   Like  many  early  hacker terms, this one seems to have originated at
   {TMRC};  it  was already in use there in 1958. Peter Samson (compiler
   of  the  original  TMRC  lexicon)  thinks it may originally have been
   onomatopoeic for the sound of a relay spring (contact) being twanged.
   However,  it  is  known  that during the World Wars, `mung' was U.S.:
   army slang for the ersatz creamed chipped beef better known as `SOS',
   and  it  seems  quite  likely  that  the  word  in  fact goes back to
   Scots-dialect {munge}.

   Charles  Mackay's  1874  book  Lost  Beauties of the English Language
   defined  "mung"  as  follows:  "Preterite of ming, to ming or mingle;
   when the substantive meaning of mingled food of bread, potatoes, etc.
   thrown  to  poultry.  In  America, `mung news' is a common expression
   applied  to  false  news,  but  probably  having  its derivation from
   mingled  (or mung) news, in which the true and the false are so mixed
   up together that it is impossible to distinguish one from another."

:munge: /muhnj/, vt.

   1. [derogatory] To imperfectly transform information.

   2.  A comprehensive rewrite of a routine, data structure or the whole
   program.

   3.  To  modify  data  in some way the speaker doesn't need to go into
   right now or cannot describe succinctly (compare {mumble}).

   4. To add {spamblock} to an email address.

   This  term  is often confused with {mung}, which probably was derived
   from it. However, it also appears the word munge was in common use in
   Scotland  in  the  1940s,  and  in Yorkshire in the 1950s, as a verb,
   meaning  to  munch  up into a masticated mess, and as a noun, meaning
   the   result   of   munging  something  up  (the  parallel  with  the
   {kluge}/{kludge}  pair  is  amusing).  The  OED reports "munge" as an
   archaic verb meaning "to wipe (a person's nose)".

:Murphy's Law: prov.

   The  correct,  original Murphy's Law reads: "If there are two or more
   ways  to  do  something,  and  one  of  those  ways  can  result in a
   catastrophe,  then  someone  will  do  it."  This  is  a principle of
   defensive  design,  cited  here because it is usually given in mutant
   forms  less descriptive of the challenges of design for {luser}s. For
   example,  you don't make a two-pin plug symmetrical and then label it
   "THIS  WAY  UP";  if  it matters which way it is plugged in, then you
   make  the  design  asymmetrical  (see  also the anecdote under {magic
   smoke}).

   Edward  A. Murphy, Jr. was one of McDonnell-Douglas's quality-control
   engineers  on  the rocket-sled experiments that were done by the U.S.
   Air Force in 1949 to test human acceleration tolerances (USAF project
   MX981). One experiment involved a set of 16 accelerometers mounted to
   different  parts  of  the  subject's  body.  There were two ways each
   sensor  could  be  glued  to  its  mount,  and  somebody methodically
   installed  all  16  in a replacement set the wrong way around. Murphy
   then  made  the  original  form  of his pronouncement, which the test
   subject  (Major  John  Paul Stapp) mis-quoted (apparently in the more
   general  form  "Whatever  can  go  wrong,  will  go wrong)" at a news
   conference a few days later.

   Within months `Murphy's Law' had spread to various technical cultures
   connected to aerospace engineering. Before too many years had gone by
   variants  had  passed  into the popular imagination, changing as they
   went.  Most  of  these  are  variants on "Anything that can go wrong,
   will";  this  is  more  correctly referred to as {Finagle's Law}. The
   memetic drift apparent in these mutants clearly demonstrates Murphy's
   Law acting on itself!

:music: n.

   A    common    extracurricular    interest    of   hackers   (compare
   {science-fiction  fandom}, {oriental food}; see also {filk}). Hackish
   folklore  has long claimed that musical and programming abilities are
   closely  related,  and  there  has  been  at  least  one  large-scale
   statistical  study that supports this. Hackers, as a rule, like music
   and  often  develop  musical  appreciation in unusual and interesting
   directions.  Folk  music  is  very  big  in  hacker  circles;  so  is
   electronic  music,  and  the sort of elaborate instrumental jazz/rock
   that  used  to  be  called  `progressive' and isn't recorded much any
   more.  The  hacker's  musical range tends to be wide; many can listen
   with  equal  appreciation  to (say) Talking Heads, Yes, Gentle Giant,
   Pat Metheny, Scott Joplin, Tangerine Dream, Dream Theater, King Sunny
   Ade, The Pretenders, Screaming Trees, or the Brandenburg Concerti. It
   is  also  apparently  true  that  hackerdom  includes  a  much higher
   concentration  of  talented  amateur  musicians than one would expect
   from a similar-sized control group of {mundane} types.

:mutter: vt.

   To  quietly  enter a command not meant for the ears, eyes, or fingers
   of  ordinary  mortals.  Often  used in "mutter an {incantation}". See
   also {wizard}.

N

:N: /N/, quant.

   1. A large and indeterminate number of objects: "There were N bugs in
   that  crock!"  Also  used  in  its original sense of a variable name:
   "This  crock  has N bugs, as N goes to infinity." (The true number of
   bugs  is  always  at  least  N + 1; see {Lubarsky's Law of Cybernetic
   Entomology}.)

   2.  A variable whose value is inherited from the current context. For
   example,  when  a  meal  is  being  ordered at a restaurant, N may be
   understood  to  mean however many people there are at the table. From
   the remark "We'd like to order N wonton soups and a family dinner for
   N  - 1" you can deduce that one person at the table wants to eat only
   soup,  even  though  you  don't  know  how many people there are (see
   {great-wall}).

   3. Nth: adj. The ordinal counterpart of N, senses 1 and 2.

   4.  "Now  for  the  Nth  and  last  time..."  In the specific context
   "Nth-year grad student", N is generally assumed to be at least 4, and
   is  usually  5  or  more  (see  {tenured graduate student}). See also
   {random numbers}, {two-to-the-N}.

:nadger: /nad´jr/, v.

   [UK,  from  rude slang noun nadgers for testicles; compare American &
   British  bollixed]  Of  software or hardware (not people), to twiddle
   some  object in a hidden manner, generally so that it conforms better
   to  some  format.  For  instance,  string  printing routines on 8-bit
   processors  often  take  the string text from the instruction stream,
   thus  a  print  call  looks  like  jsr print:"Hello world". The print
   routine  has  to  nadger  the  saved  instruction pointer so that the
   processor  doesn't  try  to execute the text as instructions when the
   subroutine returns. See {adger}.

:nagware: /nag´weir/, n.

   [Usenet]  The  variety of {shareware} that displays a large screen at
   the  beginning  or end reminding you to register, typically requiring
   some sort of keystroke to continue so that you can't use the software
   in batch mode. Compare {annoyware}, {crippleware}.

:nailed to the wall: adj.

   [like  a  trophy]  Said of a bug finally eliminated after protracted,
   and even heroic, effort.

:nailing jelly: vi.

   See {like nailing jelly to a tree}.

:naive: adj.

   1.  Untutored  in  the  perversities  of  some  particular program or
   system;  one who still tries to do things in an intuitive way, rather
   than  the  right way (in really good designs these coincide, but most
   designs aren't `really good' in the appropriate sense). This trait is
   completely  unrelated  to  general  maturity  or  competence, or even
   competence  at  any other specific program. It is a sad commentary on
   the  primitive  state  of computing that the natural opposite of this
   term  is often claimed to be experienced user but is really more like
   cynical user.

   2.  Said of an algorithm that doesn't take advantage of some superior
   but advanced technique, e.g., the {bubble sort}. It may imply naivete
   on  the part of the programmer, although there are situations where a
   naive  algorithm  is  preferred, because it is more important to keep
   the  code  comprehensible than to go for maximum performance. "I know
   the  linear search is naive, but in this case the list typically only
   has half a dozen items." Compare {brute force}.

:naive user: n.

   A  {luser}.  Tends  to  imply someone who is ignorant mainly owing to
   inexperience.  When  this  is  applied to someone who has experience,
   there is a definite implication of stupidity.

:NAK: /nak/, interj.

   [from the ASCII mnemonic for 0010101]

   1. On-line joke answer to {ACK}?: "I'm not here."

   2. On-line answer to a request for chat: "I'm not available."

   3.  Used  to  politely  interrupt  someone  to  tell  them  you don't
   understand  their  point  or  that  they have suddenly stopped making
   sense. See {ACK}, sense

   3.  "And  then,  after we recode the project in COBOL...." "Nak, Nak,
   Nak! I thought I heard you say COBOL!"

   4. A negative answer. "OK if I boot the server?" "NAK!"

:NANA: //

   [Usenet]  The  newsgroups news.admin.net-abuse.*, devoted to fighting
   {spam} and network abuse. Each individual newsgroup is often referred
   to  by  adding  a  letter  to NANA. For example, NANAU would refer to
   news.admin.net-abuse.usenet.

   When  spam  began  to  be  a serious problem around 1995, and a loose
   network  of  anti-spammers  formed to combat it, spammers immediately
   accused  them  of  being  the  {backbone cabal}, or the Cabal reborn.
   Though this was not true, spam-fighters ironically accepted the label
   and  the  tag  line  "There  is  No Cabal" reappeared (later, and now
   commonly,  abbreviated  to "TINC"). Nowadays "the Cabal" is generally
   understood to refer to the NANA regulars.

:nano: /nan´oh/, n.

   [CMU:  from  nanosecond]  A  brief  period of time. "Be with you in a
   nano"  means  you  really  will  be  free shortly, i.e., implies what
   mainstream  people  mean  by "in a jiffy" (whereas the hackish use of
   `jiffy' is quite different -- see {jiffy}).

:nano-: pref.

   [SI:  the  next  quantifier  below {micro-}; meaning × 10^-9] Smaller
   than {micro-}, and used in the same rather loose and connotative way.
   Thus,  one has {nanotechnology} (coined by hacker K. Eric Drexler) by
   analogy  with microtechnology; and a few machine architectures have a
   nanocode  level  below  microcode.  Tom  Duff  at  Bell Labs has also
   pointed   out   that   "Pi   seconds  is  a  nanocentury".  See  also
   {quantifiers},   {pico-},   {nanoacre},   {nanobot},  {nanocomputer},
   {nanofortnight}.

:nanoacre: /nan´oh·ay`kr/, n.

   A  unit  (about  2 mm square) of real estate on a VLSI chip. The term
   gets its giggle value from the fact that VLSI nanoacres have costs in
   the  same  range  as  real  acres  once  one  figures  in  design and
   fabrication-setup costs.

:nanobot: /nan´oh·bot/, n.

   A  robot  of  microscopic  proportions,  presumably built by means of
   {nanotechnology}.  As yet, only used informally (and speculatively!).
   Also called a nanoagent.

:nanocomputer: /nan´oh·k@m·pyoo´tr/, n.

   A  computer  with  molecular-sized  switching  elements.  Designs for
   mechanical  nanocomputers  which use single-molecule sliding rods for
   their  logic have been proposed. The controller for a {nanobot} would
   be a nanocomputer.

:nanofortnight: n.

   [Adelaide  University]  1  fortnight × 10^-9, or about 1.2 msec. This
   unit was used largely by students doing undergraduate practicals. See
   {microfortnight}, {attoparsec}, and {micro-}.

:nanotechnology: /nan'·oh·tek·no`l@·jee/, n.

   A  hypothetical  fabrication technology in which objects are designed
   and  built  with  the  individual specification and placement of each
   separate atom. The first unequivocal nanofabrication experiments took
   place  in  1990,  for example with the deposition of individual xenon
   atoms on a nickel substrate to spell the logo of a certain very large
   computer  company.  Nanotechnology has been a hot topic in the hacker
   subculture  ever  since the term was coined by K. Eric Drexler in his
   book  Engines  of  Creation  (Anchor/Doubleday,  ISBN 0-385-19973-2),
   where he predicted that nanotechnology could give rise to replicating
   assemblers,  permitting  an  exponential  growth  of productivity and
   personal    wealth    (there's   an   authorized   transcription   at
   http://www.foresight.org/EOC/index.html).  See also {blue goo}, {gray
   goo}, {nanobot}.

:narg:

   [Cambridge]   Short   for  "Not  A  Real  Gentleman",  i.e.  one  who
   excessively talks shop out of hours.

:nasal demons: n.

   Recognized   shorthand   on  the  Usenet  group  comp.std.c  for  any
   unexpected  behavior  of  a  C  compiler on encountering an undefined
   construct. During a discussion on that group in early 1992, a regular
   remarked  "When the compiler encounters [a given undefined construct]
   it  is  legal  for  it  to  make  demons  fly  out of your nose" (the
   implication  is  that the compiler may choose any arbitrarily bizarre
   way  to  interpret  the  code without violating the ANSI C standard).
   Someone  else  followed  up with a reference to "nasal demons", which
   quickly  became  established.  The original post is web-accessible at
   http://groups.google.com/groups?hl=en&selm=10195%40ksr.com.

:nastygram: /nas´tee·gram/, n.

   1.  A  protocol  packet or item of email (the latter is also called a
   {letterbomb})  that  takes advantage of misfeatures or security holes
   on the target system to do untoward things.

   2.  Disapproving mail, esp. from a {net.god}, pursuant to a violation
   of {netiquette} or a complaint about failure to correct some mail- or
   news-transmission problem. Compare {shitogram}, {mailbomb}.

   3.  A  status  report  from an unhappy, and probably picky, customer.
   "What'd Corporate say in today's nastygram?"

   4.   [deprecated]  An  error  reply  by  mail  from  a  {daemon};  in
   particular, a {bounce message}.

:Nathan Hale: n.

   An  asterisk  (see also {splat}, {ASCII}). Oh, you want an etymology?
   Notionally,  from  "I  regret  that  I  have only one asterisk for my
   country!",  a  misquote  of  the famous remark uttered by Nathan Hale
   just  before he was hanged. Hale was a (failed) spy for the rebels in
   the American War of Independence.

:nature: n.

   See {has the X nature}.

:neat hack: n.

   [very common]

   1. A clever technique.

   2.  A  brilliant  practical  joke,  where neatness is correlated with
   cleverness,  harmlessness,  and  surprise value. Example: the Caltech
   Rose  Bowl  card  display switch (see Appendix A for discussion). See
   also {hack}.

:neats vs. scruffies: n.

   The  label  used  to refer to one of the continuing {holy wars} in AI
   research.  This conflict tangles together two separate issues. One is
   the  relationship between human reasoning and AI; `neats' tend to try
   to  build  systems  that `reason' in some way identifiably similar to
   the  way humans report themselves as doing, while `scruffies' profess
   not  to  care  whether  an algorithm resembles human reasoning in the
   least  as  long  as it works. More importantly, neats tend to believe
   that logic is king, while scruffies favor looser, more ad-hoc methods
   driven  by  empirical  knowledge.  To  a neat, scruffy methods appear
   promiscuous,  successful  only  by  accident,  and  not productive of
   insights  about  how  intelligence actually works; to a scruffy, neat
   methods  appear  to  be  hung  up  on formalism and irrelevant to the
   hard-to-capture `common sense' of living intelligences.

:neep-neep: /neep neep/, n.

   [onomatopoeic,  widely  spread through SF fandom but reported to have
   originated  at  Caltech  in  the  1970s]  One  who  is  fascinated by
   computers.  Less  specific  than  {hacker}, as it need not imply more
   skill  than  is  required  to  play  games  on a PC. The derived noun
   neeping   applies   specifically  to  the  long  conversations  about
   computers  that  tend to develop in the corners at most SF-convention
   parties  (the term neepery is also in wide use). Fandom has a related
   proverb to the effect that "Hacking is a conversational black hole!".

:neophilia: /nee`oh·fil'·ee·@/, n.

   The  trait of being excited and pleased by novelty. Common among most
   hackers, SF fans, and members of several other connected leading-edge
   subcultures,  including  the pro-technology `Whole Earth' wing of the
   ecology  movement,  space  activists,  many members of Mensa, and the
   Discordian/neo-pagan  underground  (see  {geek}).  All  these  groups
   overlap  heavily  and  (where  evidence  is  available) seem to share
   characteristic  hacker  tropisms  for  science  fiction, {music}, and
   {oriental food}. The opposite tendency is neophobia.

:nerd: n.

   1.   [mainstream   slang]   Pejorative  applied  to  anyone  with  an
   above-average  IQ  and  few  gifts  at small talk and ordinary social
   rituals.

   2.  [jargon] Term of praise applied (in conscious ironic reference to
   sense 1) to someone who knows what's really important and interesting
   and doesn't care to be distracted by trivial chatter and silly status
   games. Compare {geek}.

   The  word  itself appears to derive from the lines "And then, just to
   show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a Preep
   and  a  Proo,  / A Nerkle, a Nerd, and a Seersucker, too!" in the Dr.
   Seuss book If I Ran the Zoo (1950). (The spellings `nurd' and `gnurd'
   also  used to be current at MIT, where `nurd' is reported from as far
   back  as  1957.)  How it developed its mainstream meaning is unclear,
   but  sense  1  seems  to have entered mass culture in the early 1970s
   (there  are  reports that in the mid-1960s it meant roughly "annoying
   misfit" without the connotation of intelligence.

   An  IEEE  Spectrum article (4/95, page 16) once derived `nerd' in its
   variant  form `knurd' from the word `drunk' backwards, but this bears
   all  the  hallmarks  of  a  bogus  folk  etymology.  Apparently  this
   etymology  was  folklore  at  Rensselaer Polytechnic Institute around
   1979.

   Hackers  developed  sense  2 in self-defense perhaps ten years later,
   and  some actually wear "Nerd Pride" buttons, only half as a joke. At
   MIT  one can find not only buttons but (what else?) pocket protectors
   bearing the slogan and the MIT seal.

:nerd knob: n.

   [Cisco] A command in a complex piece of software which is more likely
   to be used by an extremely experienced user to tweak a setting of one
   sort  or another - a setting which the average user may not even know
   exists.  Nerd  knobs  tend  to  be  toggles,  turning  on  or  off  a
   particular,  specific,  narrowly  defined  behavior.  Special case of
   {knobs}.

:net.-: /net dot/, pref.

   [Usenet] Prefix used to describe people and events related to Usenet.
   From  the  time  before  the  {Great  Renaming},  when most non-local
   newsgroups   had   names   beginning   "net.".  Includes  {net.god}s,
   net.goddesses  (various charismatic net.women with circles of on-line
   admirers),  net.lurkers  (see  {lurker}),  net.person, net.parties (a
   synonym  for {boink}, sense 2), and many similar constructs. See also
   {net.police}.

:net.god: /net god/, n.

   Accolade  referring  to  anyone who satisfies some combination of the
   following  conditions:  has  been  visible  on Usenet for more than 5
   years, ran one of the original backbone sites, moderated an important
   newsgroup,  wrote  news  software,  or  knows  Gene, Mark, Rick, Mel,
   Henry,  Chuq,  and Greg personally. See {demigod}. Net.goddesses such
   as  Rissa  or the Slime Sisters have (so far) been distinguished more
   by personality than by authority.

:net.personality: /net per`sn·al'·@·tee/, n.

   Someone  who  has made a name for him or herself on {Usenet}, through
   either  longevity  or  attention-getting  posts, but doesn't meet the
   other requirements of {net.god}hood.

:net.police: /net·p@·lees'/, n.

   (var.:   net.cops)   Those  Usenet  readers  who  feel  it  is  their
   responsibility to pounce on and {flame} any posting which they regard
   as  offensive or in violation of their understanding of {netiquette}.
   Generally  used  sarcastically  or  pejoratively.  Also  spelled `net
   police'. See also {net.-}, {code police}.

:netburp: n.

   [IRC]  When  {netlag}  gets  really  bad,  and delays between servers
   exceed  a  certain  threshold,  the {IRC} network effectively becomes
   partitioned for a period of time, and large numbers of people seem to
   be  signing  off at the same time and then signing back on again when
   things  get  better.  An  instance  of  this is called a netburp (or,
   sometimes, {netsplit}).

:netdead: n.

   [IRC]  The  state  of  someone  who signs off {IRC}, perhaps during a
   {netburp},  and  doesn't sign back on until later. In the interim, he
   is "dead to the net". Compare {link-dead}.

:nethack: /net´hak/, n.

   [Unix]  A  dungeon  game  similar  to  {rogue}  but  more  elaborate,
   distributed  in C source over {Usenet} and very popular at Unix sites
   and  on  PC-class  machines  (nethack  is  probably  the  most widely
   distributed  of  the  freeware dungeon games). The earliest versions,
   written  by  Jay  Fenlason and later considerably enhanced by Andries
   Brouwer, were simply called `hack'. The name changed when maintenance
   was  taken  over  by  a group of hackers originally organized by Mike
   Stephenson. There is now an official site at http://www.nethack.org/.
   See also {moria}, {rogue}, {Angband}.

:netiquette: /net´ee·ket/, /net´i·ket/, n.

   [Coined   by   Chuq  von  Rospach  c.1983]  [portmanteau,  network  +
   etiquette] The conventions of politeness recognized on {Usenet}, such
   as  avoidance of cross-posting to inappropriate groups and refraining
   from commercial pluggery outside the biz groups.

:netlag: n.

   [IRC,  MUD]  A  condition  that  occurs  when the delays in the {IRC}
   network  or on a {MUD} become severe enough that servers briefly lose
   and  then  reestablish  contact,  causing messages to be delivered in
   bursts, often with delays of up to a minute. (Note that this term has
   nothing  to  do  with mainstream "jet lag", a condition which hackers
   tend not to be much bothered by.) Often shortened to just `lag'.

:netnews: /net´n[y]ooz/, n.

   1. The software that makes {Usenet} run.

   2.  The  content  of Usenet. "I read netnews right after my mail most
   mornings."

:Netscrape: n.

   [sometimes   elaborated  to  Netscrape  Fornicator,  also  Nutscrape]
   Standard    name-of-insult   for   Netscape   Navigator/Communicator,
   Netscape's overweight Web browser. Compare {Internet Exploiter}.

:netsplit: n.

   Syn. {netburp}.

:netter: n.

   1. Loosely, anyone with a {network address}.

   2.  More  specifically,  a  {Usenet} regular. Most often found in the
   plural.  "If  you  post that in a technical group, you're going to be
   flamed by angry netters for the rest of time!"

:network address: n.

   (also  net  address)  As  used  by hackers, means an address on `the'
   network  (see  {the  network};  this  used  to  include  {bang  path}
   addresses  but now always implies an Internet address). Net addresses
   are  often  used  in  email  text  as  a  more concise substitute for
   personal  names;  indeed,  hackers  may come to know each other quite
   well  by  network  names  without  ever learning each others' `legal'
   monikers.  Display of a network address (e.g. on business cards) used
   to  function as an important hacker identification signal, like lodge
   pins  among  Masons or tie-dyed T-shirts among Grateful Dead fans. In
   the day of pervasive Internet this is less true, but you can still be
   fairly  sure that anyone with a network address handwritten on his or
   her convention badge is a hacker.

:network meltdown: n.

   A  state  of  complete  network  overload;  the network equivalent of
   {thrash}ing.  This  may  be induced by a {Chernobyl packet}. See also
   {broadcast storm}, {kamikaze packet}.

   Network  meltdown  is  often  a  result  of  network designs that are
   optimized  for  a  steady  state of moderate load and don't cope well
   with  the  very  jagged, bursty usage patterns of the real world. One
   amusing  instance of this is triggered by the popular and very bloody
   shoot-'em-up  game Doom on the PC. When used in multiplayer mode over
   a  network,  the game uses broadcast packets to inform other machines
   when  bullets  are  fired. This causes problems with weapons like the
   chain  gun  which  fire  rapidly  --  it can blast the network into a
   meltdown state just as easily as it shreds opposing monsters.

:New Jersey: adj.

   [primarily  Stanford/Silicon Valley] Brain-damaged or of poor design.
   This  refers to the allegedly wretched quality of such software as C,
   C++,  and  Unix  (which  originated  at Bell Labs in Murray Hill, New
   Jersey). "This compiler bites the bag, but what can you expect from a
   compiler   designed   in   New  Jersey?"  Compare  {Berkeley  Quality
   Software}. See also {Unix conspiracy}.

:New Testament: n.

   [C  programmers]  The  second  edition  of  K&R's  The  C Programming
   Language  (Prentice-Hall,  1988; ISBN 0-13-110362-8), describing ANSI
   Standard C. See {K&R}; this version is also called «K&R2'.

:newbie: /n[y]oo´bee/, n.

   [very  common;  orig.  from  British public-school and military slang
   variant  of  `new  boy'] A Usenet neophyte. This term surfaced in the
   {newsgroup}  talk.bizarre  but  is  now  in wide use (the combination
   "clueless   newbie"   is   especially  common).  Criteria  for  being
   considered  a  newbie vary wildly; a person can be called a newbie in
   one  newsgroup  while  remaining  a respected regular in another. The
   label newbie is sometimes applied as a serious insult to a person who
   has  been  around  Usenet for a long time but who carefully hides all
   evidence  of  having  a  clue. See {B1FF}; see also {gnubie}. Compare
   {chainik}, {luser}.

:newgroup wars: /n[y]oo´groop worz/, n.

   [Usenet]   The  salvos  of  dueling  newgroup  and  rmgroup  messages
   sometimes  exchanged  by  persons on opposite sides of a dispute over
   whether  a  {newsgroup}  should  be  created  net-wide, or (even more
   frequently)  whether an obsolete one should be removed. These usually
   settle out within a week or two as it becomes clear whether the group
   has   a   natural  constituency  (usually,  it  doesn't).  At  times,
   especially  in  the  completely  anarchic alt hierarchy, the names of
   newsgroups  themselves  become  a form of comment or humor; e.g., the
   group  alt.swedish.chef.bork.bork.bork which originated as a birthday
   joke  for  a  Muppets  fan, or any number of specialized abuse groups
   named after particularly notorious {flamer}s, e.g., alt.weemba.

:newline: /n[y]oo´li:n/, n.

   1. [techspeak, primarily Unix] The ASCII LF character (0001010), used
   under  {Unix}  as  a  text  line  terminator. Though the term newline
   appears  in  ASCII  standards,  it  never  caught  on  in the general
   computing world before Unix.

   2.  More  generally,  any  magic  character,  character  sequence, or
   operation  (like  Pascal's writeln procedure) required to terminate a
   text record or separate lines. See {crlf}.

:NeWS: /nee´wis/, /n[y]oo´is/, /n[y]ooz/, n.

   [acronym;  the  "Network Window System"] The road not taken in window
   systems,  an elegant {PostScript}-based environment that would almost
   certainly  have  won  the  standards  war  with {X} if it hadn't been
   {proprietary}  to  Sun  Microsystems. There is a lesson here that too
   many  software vendors haven't yet heeded. Many hackers insist on the
   two-syllable  pronunciations  above  as  a way of distinguishing NeWS
   from Usenet news (the {netnews} software).

:newsfroup: //, n.

   [Usenet]  Silly synonym for {newsgroup}, originally a typo but now in
   regular  use  on  Usenet's  talk.bizarre,  and  other  lunatic-fringe
   groups. Compare {hing}, {grilf}, {pr0n} and {filk}.

:newsgroup: n.

   [Usenet] One of {Usenet}'s huge collection of topic groups or {fora}.
   Usenet  groups  can  be  unmoderated  (anyone  can post) or moderated
   (submissions  are automatically directed to a moderator, who edits or
   filters  and  then  posts the results). Some newsgroups have parallel
   {mailing  list}s  for  Internet  people  with no netnews access, with
   postings  to  the group automatically propagated to the list and vice
   versa.  Some  moderated  groups  (especially those which are actually
   gatewayed  Internet  mailing  lists) are distributed as digests, with
   groups of postings periodically collected into a single large posting
   with an index.

   Among   the   best-known  are  comp.lang.c  (the  C-language  forum),
   comp.arch  (on  computer  architectures), comp.unix.wizards (for Unix
   wizards),   rec.arts.sf.written  and  siblings  (for  science-fiction
   fans),  and  talk.politics.misc  (miscellaneous political discussions
   and {flamage}).

:nick: n.

   [IRC; very common] Short for nickname. On {IRC}, every user must pick
   a  nick, which is sometimes the same as the user's real name or login
   name, but is often more fanciful. Compare {handle}, {screen name}.

:nickle: /ni´kl/, n.

   [from `nickel', common name for the U.S. 5-cent coin] A {nybble} + 1;
   5   bits.  Reported  among  developers  for  Mattel's  GI  1600  (the
   Intellivision  games  processor),  a  chip  with  16-bit-wide RAM but
   10-bit-wide  ROM.  See also {deckle}, and {nybble} for names of other
   bit units.

:night mode: n.

   See {phase} (of people).

:Nightmare File System: n.

   Pejorative  hackerism  for  Sun's  Network  File System (NFS). In any
   nontrivial   network   of   Suns   where   there  is  a  lot  of  NFS
   cross-mounting,  when  one Sun goes down, the others often freeze up.
   Some  machine tries to access the down one, and (getting no response)
   repeats  indefinitely. This causes it to appear dead to some messages
   (what  is  actually  happening is that it is locked up in what should
   have  been  a  brief excursion to a higher {spl} level). Then another
   machine  tries  to  reach  either the down machine or the pseudo-down
   machine,  and  itself  becomes  pseudo-down.  The  first  machine  to
   discover  the  down one is now trying both to access the down one and
   to  respond  to  the  pseudo-down one, so it is even harder to reach.
   This situation snowballs very quickly, and soon the entire network of
   machines  is  frozen  --  worst of all, the user can't even abort the
   file  access  that  started  the  problem! Many of NFS's problems are
   excused   by   partisans   as  being  an  inevitable  result  of  its
   statelessness,  which  is  held  to  be  a great feature (critics, of
   course, call it a great {misfeature}). (ITS partisans are apt to cite
   this  as proof of Unix's alleged bogosity; ITS had a working NFS-like
   shared  file  system with none of these problems in the early 1970s.)
   See also {broadcast storm}.

:NIL: /nil/

   No.  Used  in  reply  to a question, particularly one asked using the
   `-P'  convention.  Most  hackers assume this derives simply from LISP
   terminology  for  `false' (see also {T}), but NIL as a negative reply
   was  well-established  among  radio hams decades before the advent of
   LISP.  The  historical connection between early hackerdom and the ham
   radio world was strong enough that this may have been an influence.

:Ninety-Ninety Rule: n.

   "The  first  90%  of  the  code  accounts  for  the  first 90% of the
   development  time.  The  remaining  10%  of the code accounts for the
   other 90% of the development time." Attributed to Tom Cargill of Bell
   Labs,  and popularized by Jon Bentley's September 1985 Bumper-Sticker
   Computer  Science  column  in Communications of the ACM. It was there
   called  the  "Rule  of  Credibility",  a name which seems not to have
   stuck.  Other  maxims  in the same vein include the law attributed to
   the  early British computer scientist Douglas Hartree: "The time from
   now until the completion of the project tends to become constant."

:nipple mouse: n.

   Var. clit mouse, clitoris Common term for the pointing device used on
   IBM  ThinkPads  and  a  few other laptop computers. The device, which
   sits between the `g' and `h' keys on the keyboard, indeed resembles a
   rubber  nipple  intended  to be tweaked by a forefinger. Many hackers
   consider  these  superior  to  the  glide pads found on most laptops,
   which are harder to control precisely.

:NMI: /N·M·I/, n.

   Non-Maskable  Interrupt. An IRQ 7 on the {PDP-11} or 680[01234]0; the
   NMI  line  on  an 80[1234]86. In contrast with a {priority interrupt}
   (which  might be ignored, although that is unlikely), an NMI is never
   ignored.  Except,  that  is,  on  {clone}  boxes,  where NMI is often
   ignored  on  the motherboard because flaky hardware can generate many
   spurious ones.

:no-op: /noh´op/, n.,v.

   alt.: NOP /nop/ [no operation]

   1.  A  machine  instruction  that  does  nothing  (sometimes  used in
   assembler-level  programming as filler for data or patch areas, or to
   overwrite code to be removed in binaries).

   2.  A  person  who  contributes  nothing to a project, or has nothing
   going on upstairs, or both. As in "He's a no-op."

   3.  Any  operation  or sequence of operations with no effect, such as
   circling  the block without finding a parking space, or putting money
   into  a  vending  machine  and  having  it  fall immediately into the
   coin-return  box,  or  asking  someone  for help and being told to go
   away.   "Oh,   well,  that  was  a  no-op."  Hot-and-sour  soup  (see
   {great-wall})  that  is  insufficiently  either  is no-op soup; so is
   wonton soup if everybody else is having hot-and-sour.

:noddy: /nod´ee/, adj.

   [UK: from the children's books]

   1. Small and un-useful, but demonstrating a point. Noddy programs are
   often  written  by  people  learning  a  new  language or system. The
   archetypal  noddy program is {hello world}. Noddy code may be used to
   demonstrate  a  feature  or  bug  of  a compiler. May be used of real
   hardware  or  software  to  imply  that  it  isn't worth using. "This
   editor's a bit noddy."

   2.  A  program  that is more or less instant to produce. In this use,
   the  term  does  not necessarily connote uselessness, but describes a
   {hack} sufficiently trivial that it can be written and debugged while
   carrying  on  (and  during the space of) a normal conversation. "I'll
   just  throw  together  a  noddy  {awk}  script  to dump all the first
   fields."  In  North  America  this  might  be  called a {mickey mouse
   program}. See {toy program}.

:non-optimal solution: n.

   (also   sub-optimal  solution)  An  astoundingly  stupid  way  to  do
   something.  This  term  is  generally used in deadpan sarcasm, as its
   impact is greatest when the person speaking looks completely serious.
   Compare {stunning}. See also {Bad Thing}.

:nonlinear: adj.

   [scientific computation]

   1.  Behaving  in an erratic and unpredictable fashion; unstable. When
   used  to  describe  the behavior of a machine or program, it suggests
   that  said  machine  or program is being forced to run far outside of
   design  specifications.  This behavior may be induced by unreasonable
   inputs,  or  may  be  triggered  when  a  more  mundane bug sends the
   computation far off from its expected course.

   2.  When describing the behavior of a person, suggests a tantrum or a
   {flame}.  "When  you  talk  to Bob, don't mention the drug problem or
   he'll go nonlinear for hours." In this context, go nonlinear connotes
   `blow up out of proportion' (proportion connotes linearity).

:nontrivial: adj.

   Requiring  real thought or significant computing power. Often used as
   an  understated  way  of  saying that a problem is quite difficult or
   impractical,   or   even   entirely   unsolvable  ("Proving  P=NP  is
   nontrivial").  The  preferred  emphatic form is decidedly nontrivial.
   See {trivial}, {uninteresting}, {interesting}.

:not entirely unlike X:

   Used ironically of things which are in fact almost entirely unlike X,
   except   for  one  feature  which  the  speaker  clearly  regards  as
   insignificant.  "That  is  not  entirely  unlike cool...at least it's
   small." Comes directly from the Hitchiker's Guide to the Galaxy scene
   in which the food synthesizer on the starship Heart of Gold dispenses
   something "almost, but not quite, entirely unlike tea".

:not ready for prime time: adj.

   Usable,  but  only  just  so; not very robust; for internal use only.
   Said  of  a  program or device. Often connotes that the thing will be
   made  more  solid  {Real Soon Now}. This term comes from the ensemble
   name  of the original cast of Saturday Night Live, the "Not Ready for
   Prime  Time  Players". It has extra flavor for hackers because of the
   special  (though  now  semi-obsolescent)  meaning  of  {prime  time}.
   Compare {beta}.

:notwork: /not´werk/, n.

   A   network,  when  it  is  acting  {flaky}  or  is  {down}.  Compare
   {nyetwork}.  Said  at IBM to have originally referred to a particular
   period  of  flakiness  on  IBM's VNET corporate network ca. 1988; but
   there are independent reports of the term from elsewhere.

:NP-: /N·P/, pref.

   Extremely. Used to modify adjectives describing a level or quality of
   difficulty;  the  connotation  is  often `more so than it should be'.
   This  is  generalized  from  the  computer-science  terms NP-hard and
   NP-complete;  NP-complete  problems  all seem to be very hard, but so
   far  no  one  has  found  a  proof  that  they  are. NP is the set of
   Nondeterministic-Polynomial  problems, those that can be completed by
   a  nondeterministic  Turing  machine  in  an amount of time that is a
   polynomial  function  of  the  size  of the input; a solution for one
   NP-complete  problem  would  solve  all  the others. "Coding a BitBlt
   implementation to perform correctly in every case is NP-annoying."

   Note, however, that strictly speaking this usage is misleading; there
   are  plenty  of  easy  problems in class NP. NP-complete problems are
   hard  not  because  they  are  in  class NP, but because they are the
   hardest problems in class NP.

:NSA line eater: n.

   The National Security Agency trawling program sometimes assumed to be
   reading  the  net for the U.S. Government's spooks. Most hackers used
   to  think  it  was  mythical but believed in acting as though existed
   just  in case. Since the mid-1990s it has gradually become known that
   the  NSA  actually  does  this,  quite illegally, through its Echelon
   program.

   The  standard  countermeasure  is  to  put loaded phrases like `KGB',
   `Uzi',    `nuclear    materials',    `Palestine',    `cocaine',   and
   `assassination'  in their {sig block}s in a (probably futile) attempt
   to  confuse  and  overload the creature. The {GNU} version of {EMACS}
   actually  has  a  command  that randomly inserts a bunch of insidious
   anarcho-verbiage into your edited text.

   As  far back as the 1970s there was a mainstream variant of this myth
   involving  a  `Trunk  Line  Monitor',  which  supposedly  used speech
   recognition  to  extract  words  from  telephone trunks. This is much
   harder  than  noticing  keywords in email, and most of the people who
   originally  propagated  it  had no idea of then-current technology or
   the storage, signal-processing, or speech recognition needs of such a
   project.  On the basis of mass-storage costs alone it would have been
   cheaper to hire 50 high-school students and just let them listen in.

   Twenty  years  and  several  orders of technological magnitude later,
   however,  there  are  clear  indications  that  the  NSA has actually
   deployed such filtering (again, very much against U.S. law). In 2000,
   the  FBI wants to get into this act with its `Carnivore' surveillance
   system.

:NSP: /N·S·P/, n.

   Common  abbreviation  for  `Network Service Provider', one of the big
   national  or  regional  companies  that  maintains  a  portion of the
   Internet  backbone and resells connectivity to {ISP}s. In 1996, major
   NSPs include ANS, MCI, UUNET, and Sprint. An Internet wholesaler.

:nude: adj.

   Said of machines delivered without an operating system (compare {bare
   metal}). "We ordered 50 systems, but they all arrived nude, so we had
   to spend an extra weekend with the installation disks." This usage is
   a  recent  innovation reflecting the fact that most IBM-PC clones are
   now  delivered with an operating system pre-installed at the factory.
   Other  kinds  of hardware are still normally delivered without OS, so
   this term is particular to PC support groups.

:nugry: /n[y]oo´gree/

   [Usenet,  `newbie'  +  `-gry'] n. A {newbie} who posts a {FAQ} in the
   rec.puzzles newsgroup, especially if it is a variant of the notorious
   trick question: "Think of words ending in `gry'. Angry and hungry are
   two  of  them. There are three words in the English language. What is
   the  third word?" In the newsgroup, the canonical answer is of course
   `nugry' itself. Plural is nusgry /n[y]oos´gree/.

   2. adj. Having the qualities of a nugry.

:nuke: /n[y]ook/, vt.

   [common]

   1.  To  intentionally delete the entire contents of a given directory
   or  storage  volume. "On Unix, rm -r /usr will nuke everything in the
   usr  filesystem."  Never used for accidental deletion; contrast {blow
   away}.

   2.  Syn.  for  {dike},  applied  to  smaller  things  such  as files,
   features,  or  code  sections. Often used to express a final verdict.
   "What do you want me to do with that 80-meg session file?" "Nuke it."

   3.  Used  of  processes  as  well as files; nuke is a frequent verbal
   alias for kill -9 on Unix.

   4. On IBM PCs, a bug that results in {fandango on core} can trash the
   operating  system,  including  the  FAT (the in-core copy of the disk
   block  chaining  information).  This  can  utterly  scramble attached
   disks, which are then said to have been nuked. This term is also used
   of  analogous lossages on Macintoshes and other micros without memory
   protection.

:number-crunching: n.

   [common]  Computations  of  a  numerical nature, esp. those that make
   extensive use of floating-point numbers. The only thing {Fortrash} is
   good  for.  This term is in widespread informal use outside hackerdom
   and   even   in   mainstream   slang,   but  has  additional  hackish
   connotations:  namely, that the computations are mindless and involve
   massive  use  of {brute force}. This is not always {evil}, esp. if it
   involves ray tracing or fractals or some other use that makes {pretty
   pictures},  esp.  if such pictures can be used as screen backgrounds.
   See also {crunch}.

   [74-12-25.png]

   Hydrodynamic {number-crunching}.

   (The next cartoon in the Crunchly saga is 74-12-29)

:numbers: n.

   [scientific  computation]  Output  of  a  computation that may not be
   significant  results  but  at  least  indicate  that  the  program is
   running.  May  be  used  to  placate management, grant sponsors, etc.
   Making  numbers means running a program because output -- any output,
   not  necessarily meaningful output -- is needed as a demonstration of
   progress. See {pretty pictures}, {math-out}, {social science number}.

:NUXI problem: /nuk´see pro´bl@m/, n.

   Refers  to  the  problem  of  transferring data between machines with
   differing  byte-order.  The string "UNIX" might look like "NUXI" on a
   machine  with a different byte sex (e.g., when transferring data from
   a  {little-endian}  to  a  {big-endian},  or  vice-versa).  See  also
   {middle-endian}, {swab}, and {bytesexual}.

:nybble: /nib´l/, nibble, n.

   [from  v.  nibble  by  analogy  with `bite' -> `byte'] Four bits; one
   {hex} digit; a half-byte. Though `byte' is now techspeak, this useful
   relative  is  still  jargon. Compare {byte}; see also {bit}. The more
   mundane  spelling  "nibble"  is  also  commonly  used. Apparently the
   `nybble'  spelling  is  uncommon  in Commonwealth Hackish, as British
   orthography would suggest the pronunciation /ni:´bl/.

   Following  `bit',  `byte'  and  `nybble'  there have been quite a few
   analogical  attempts to construct unambiguous terms for bit blocks of
   other sizes. All of these are strictly jargon, not techspeak, and not
   very  common  jargon  at  that  (most hackers would recognize them in
   context  but  not  use  them spontaneously). We collect them here for
   reference   together  with  the  ambiguous  techspeak  terms  `word',
   `half-word', `double word', and `quad' or quad word; some (indicated)
   have substantial information separate entries.

   2 bits: {crumb}, {quad}, {quarter}, tayste, tydbit, morsel
   4 bits: nybble
   5 bits: {nickle}
   10 bits: {deckle}
   16 bits: playte, {chawmp} (on a 32-bit machine), word (on a 16-bit
   machine), half-word (on a 32-bit machine).
   18  bits:  {chawmp}  (on  a  36-bit  machine), half-word (on a 36-bit
   machine)
   32  bits:  dynner,  {gawble} (on a 32-bit machine), word (on a 32-bit
   machine), longword (on a 16-bit machine).
   36 bits: word (on a 36-bit machine)
   48 bits: {gawble} (under circumstances that remain obscure)
   64 bits: double word (on a 32-bit machine) quad (on a 16-bit machine)
   128 bits: quad (on a 32-bit machine)

   The fundamental motivation for most of these jargon terms (aside from
   the  normal  hackerly  enjoyment  of punning wordplay) is the extreme
   ambiguity of the term word and its derivatives.

:nyetwork: /nyet´werk/, n.

   [from Russian `nyet' = no] A network, when it is acting {flaky} or is
   {down}. Compare {notwork}.

O

:Ob-: /ob/, pref.

   Obligatory. A piece of {netiquette} acknowledging that the author has
   been  straying  from the newsgroup's charter topic. For example, if a
   posting  in alt.sex is a response to a part of someone else's posting
   that  has  nothing particularly to do with sex, the author may append
   `ObSex'  (or  `Obsex') and toss off a question or vignette about some
   unusual erotic act. It is considered a sign of great {winnitude} when
   one's Obs are more interesting than other people's whole postings.

:Obfuscated C Contest: n.

   (in full, the `International Obfuscated C Code Contest', or IOCCC) An
   annual  contest  run  since  1984 over Usenet by Landon Curt Noll and
   friends.  The overall winner is whoever produces the most unreadable,
   creative,  and  bizarre (but working) C program; various other prizes
   are   awarded   at   the   judges'   whim.   C's   terse  syntax  and
   macro-preprocessor  facilities  give contestants a lot of maneuvering
   room.  The  winning  programs  often  manage to be simultaneously (a)
   funny,  (b)  breathtaking  works of art, and (c) horrible examples of
   how not to code in C.

   This relatively short and sweet entry might help convey the flavor of
   obfuscated C:

/*
 * HELLO WORLD program
 * by Jack Applin and Robert Heckendorn, 1985
 * (Note: depends on being able to modify elements of argv[],
 * which is not guaranteed by ANSI and often not possible.)
 */
main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
**c=!c)write(!!*c,*c,!!**c);}

   Here's another good one:

/*
 * Program to compute an approximation of pi
 * by Brian Westley, 1988
 * (requires pcc macro concatenation; try gcc -traditional-cpp)
 */

#define _ -F<00||--F-OO--;
int F=00,OO=00;
main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}

   Note  that  this  program  works  by computing its own area. For more
   digits, write a bigger program. See also {hello world}.

   The IOCCC has an official home page at http://www.ioccc.org/.

:obi-wan error: /oh´bee·won` er'@r/, n.

   [RPI,  from off-by-one and the Obi-Wan Kenobi character in Star Wars]
   A loop of some sort in which the index is off by

   1.  Common  when  the  index  should  have started from 0 but instead
   started from

   2. A kind of {off-by-one error}. See also {zeroth}.

:Objectionable-C: n.

   Hackish take on "Objective-C", the name of an object-oriented dialect
   of  C  in  competition with the better-known C++ (it is used to write
   native  applications  on  the  NeXT  machine). Objectionable-C uses a
   Smalltalk-like  syntax, but lacks the flexibility of Smalltalk method
   calls,  and  (like  many  such  efforts) comes frustratingly close to
   attaining the {Right Thing} without actually doing so.

:obscure: adj.

   Used  in  an  exaggeration  of  its  normal  meaning,  to imply total
   incomprehensibility.  "The  reason  for  that last crash is obscure."
   "The  find(1)  command's  syntax  is  obscure!" The phrase moderately
   obscure  implies  that  something  could  be figured out but probably
   isn't  worth  the trouble. The construction obscure in the extreme is
   the preferred emphatic form.

:octal forty: /ok´tl for´tee/, n.

   Hackish  way of saying "I'm drawing a blank." Octal 40 is the {ASCII}
   space  character, 0100000; by an odd coincidence, {hex} 40 (01000000)
   is the {EBCDIC} space character. See {wall}.

:off the trolley: adj.

   Describes  the  behavior  of  a  program  that  malfunctions and goes
   catatonic,  but  doesn't  actually  {crash}  or  abort. See {glitch},
   {bug}, {deep space}, {wedged}.

   This  term  is  much  older  than  computing, and is (uncommon) slang
   elsewhere. A trolley is the small wheel that trolls, or runs against,
   the  heavy  wire that carries the current to run a streetcar. It's at
   the  end  of  the  long pole (the trolley pole) that reaches from the
   roof  of  the  streetcar to the overhead line. When the trolley stops
   making  contact  with  the wire (from passing through a switch, going
   over  bumpy  track,  or  whatever),  the  streetcar  comes to a halt,
   (usually)  without crashing. The streetcar is then said to be off the
   trolley,  or  off  the  wire.  Later  on,  trolley  came  to mean the
   streetcar  itself.  Since  streetcars became common in the 1890s, the
   term  is more than 100 years old. Nowadays, trolleys are only seen on
   historic  streetcars,  since  modern  streetcars  use  pantographs to
   contact the wire.

:off-by-one error: n.

   [common]  Exceedingly  common  error induced in many ways, such as by
   starting  at 0 when you should have started at 1 or vice-versa, or by
   writing  <  N  instead  of <= N or vice-versa. Also applied to giving
   something  to  the  person next to the one who should have gotten it.
   Often   confounded  with  {fencepost  error},  which  is  properly  a
   particular subtype of it.

:offline: adv.

   Not   now   or  not  here.  "Let's  take  this  discussion  offline."
   Specifically  used  on {Usenet} to suggest that a discussion be moved
   off a public newsgroup to email.

:ogg: /og/, v.

   [CMU]

   1.  In the multi-player space combat game Netrek, to execute kamikaze
   attacks  against  enemy  ships which are carrying armies or occupying
   strategic  positions. Named during a game in which one of the players
   repeatedly  used the tactic while playing Orion ship G, showing up in
   the  player  list  as  "Og". This trick has been roundly denounced by
   those  who  would  return  to  the  good  old days when the tactic of
   dogfighting  was  dominant, but as Sun Tzu wrote, "What is of supreme
   importance  in  war  is  to  attack  the  enemy's  strategy,  not his
   tactics."  However,  the  traditional  answer  to the newbie question
   "What  does  ogg  mean?"  is  just "Pick up some armies and I'll show
   you."

   2.  In  other  games,  to  forcefully  attack  an  opponent  with the
   expectation  that  the resources expended will be renewed faster than
   the  opponent  will  be  able to regain his previous advantage. Taken
   more seriously as a tactic since it has gained a simple name.

   3.  To  do anything forcefully, possibly without consideration of the
   drain on future resources. "I guess I'd better go ogg the problem set
   that's due tomorrow." "Whoops! I looked down at the map for a sec and
   almost ogged that oncoming car."

:-oid: suff.

   [from Greek suffix -oid = in the image of]

   1.  Used as in mainstream slang English to indicate a poor imitation,
   a  counterfeit, or some otherwise slightly bogus resemblance. Hackers
   will happily use it with all sorts of non-Greco/Latin stem words that
   wouldn't  keep  company  with  it in mainstream English. For example,
   "He's  a  nerdoid"  means  that he superficially resembles a nerd but
   can't make the grade; a modemoid might be a 300-baud box (Real Modems
   run  at 28.8 or up); a computeroid might be any {bitty box}. The word
   keyboid  could  be  used  to describe a {chiclet keyboard}, but would
   have  to  be written; spoken, it would confuse the listener as to the
   speaker's city of origin.

   2.  More specifically, an indicator for `resembling an android' which
   in the past has been confined to science-fiction fans and hackers. It
   too  has recently (in 1991) started to go mainstream (most notably in
   the  term  `trendoid'  for  victims  of  terminal  hipness).  This is
   probably  traceable to the popularization of the term {droid} in Star
   Wars and its sequels. (See also {windoid}.)

   Coinages  in  both  forms  have been common in science fiction for at
   least  fifty years, and hackers (who are often SF fans) have probably
   been  making `-oid' jargon for almost that long [though GLS and I can
   personally  confirm  only  that  they  were  already  common  in  the
   mid-1970s --ESR].

:old fart: n.

   Tribal  elder.  A  title  self-assumed  with  remarkable frequency by
   (esp.)  Usenetters  who  have been programming for more than about 25
   years;  often  appears  in  {sig  block}s  attached  to  Jargon  File
   contributions  of great archeological significance. This is a term of
   insult  in  the  second  or  third  person  but one of pride in first
   person.

:Old Testament: n.

   [C   programmers]  The  first  edition  of  {K&R},  the  sacred  text
   describing {Classic C}.

:on the gripping hand:

   In the progression that starts "On the one hand..." and continues "On
   the  other hand..." mainstream English may add "on the third hand..."
   even  though most people don't have three hands. Among hackers, it is
   just  as  likely to be "on the gripping hand". This metaphor supplied
   the  title  of  Larry  Niven  &  Jerry Pournelle's 1993 SF novel "The
   Gripping  Hand" which involved a species of hostile aliens with three
   arms  (the  same species, in fact, referenced in {juggling eggs}). As
   with  {TANSTAAFL} and {con}, this usage became one of the naturalized
   imports from SF fandom frequently observed among hackers.

:one-banana problem: n.

   At  mainframe  shops,  where the computers have operators for routine
   administrivia,  the programmers and hardware people tend to look down
   on  the operators and claim that a trained monkey could do their job.
   It  is  frequently observed that the incentives that would be offered
   said  monkeys  can be used as a scale to describe the difficulty of a
   task.  A one-banana problem is simple; hence, "It's only a one-banana
   job  at  the  most;  what's  taking  them  so long?" At IBM, folklore
   divides  the  world into one-, two-, and three-banana problems. Other
   cultures  have different hierarchies and may divide them more finely;
   at  ICL,  for  example,  five grapes (a bunch) equals a banana. Their
   upper  limit for the in-house {sysape}s is said to be two bananas and
   three grapes (another source claims it's three bananas and one grape,
   but  observes  "However,  this is subject to local variations, cosmic
   rays  and  ISO").  At  a complication level any higher than that, one
   asks the manufacturers to send someone around to check things.

   See also {Infinite-Monkey Theorem}.

:one-line fix: n.

   Used  (often  sarcastically) of a change to a program that is thought
   to  be trivial or insignificant right up to the moment it crashes the
   system.  Usually  `cured' by another one-line fix. See also {I didn't
   change anything!}

:one-liner wars: n.

   A  game  popular  among  hackers  who  code  in the language APL (see
   {write-only  language} and {line noise}). The objective is to see who
   can  code  the  most interesting and/or useful routine in one line of
   operators  chosen  from  APL's  exceedingly  {hairy} primitive set. A
   similar  amusement  was  practiced  among  {TECO}  hackers and is now
   popular among {Perl} aficionados.

   Ken  Iverson, the inventor of APL, has been credited with a one-liner
   that,  given  a number N, produces a list of the prime numbers from 1
   to N inclusive. It looks like this:

           (2=0+.=T{}.|T)/T<-iN

   Here's a {Perl} program that prints primes:

           perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'

   In the Perl world this game is sometimes called Perl Golf because the
   player with the fewest (key)strokes wins.

:ooblick: /oo´blik/, n.

   [from  the  Dr. Seuss title Bartholomew and the Oobleck; the spelling
   `oobleck'  is  still current in the mainstream] A bizarre semi-liquid
   sludge made from cornstarch and water. Enjoyed among hackers who make
   batches  during  playtime  at  parties  for its amusing and extremely
   non-Newtonian  behavior;  it  pours  and splatters, but resists rapid
   motion  like  a solid and will even crack when hit by a hammer. Often
   found near lasers.

   Here is a field-tested ooblick recipe contributed by GLS:

     * 1 cup cornstarch
     * 1 cup baking soda
     * 3/4 cup water
     * N drops of food coloring

   This  recipe  isn't  quite  as  non-Newtonian  as  a  pure cornstarch
   ooblick, but has an appropriately slimy feel.

   Some, however, insist that the notion of an ooblick recipe is far too
   mechanical,  and that it is best to add the water in small increments
   so  that  the  various mixed states the cornstarch goes through as it
   becomes  ooblick  can  be  grokked  in  fullness  by  many hands. For
   optional ingredients of this experience, see the Ceremonial Chemicals
   section of Appendix B.

:OP: //

   [Usenet;  common]  Abbreviation for "original poster", the originator
   of a particular thread.

:op: /op/, n.

   1. In England and Ireland, common verbal abbreviation for `operator',
   as  in  system operator. Less common in the U.S., where {sysop} seems
   to be preferred.

   2. [IRC] Someone who is endowed with privileges on {IRC}, not limited
   to a particular channel. These are generally people who are in charge
   of   the   IRC  server  at  their  particular  site.  Sometimes  used
   interchangeably with {CHOP}. Compare {sysop}.

:open: n.

   Abbreviation  for `open (or left) parenthesis' -- used when necessary
   to  eliminate  oral ambiguity. To read aloud the LISP form (DEFUN FOO
   (X) (PLUS X 1)) one might say: "Open defun foo, open eks close, open,
   plus eks one, close close."

:open source: n.

   [common;  also  adj. open-source] Term coined in March 1998 following
   the  Mozilla release to describe software distributed in source under
   licenses  guaranteeing  anybody  rights  to  freely  use, modify, and
   redistribute,  the  code.  The  intent  was  to  be  able to sell the
   hackers'  ways  of  doing  software to industry and the mainstream by
   avoiding  the  negative  connotations (to {suit}s) of the term "{free
   software}".  For  discussion  of  the  follow-on  tactics  and  their
   consequences, see the Open Source Initiative site.

:open switch: n.

   [IBM:  prob.:  from  railroading]  An  unresolved question, issue, or
   problem.

:operating system: n.

   [techspeak]  (Often  abbreviated  `OS')  The foundation software of a
   machine;  that which schedules tasks, allocates storage, and presents
   a  default interface to the user between applications. The facilities
   an  operating system provides and its general design philosophy exert
   an  extremely  strong  influence  on  programming  style  and  on the
   technical  cultures  that  grow  up  around its host machines. Hacker
   folklore  has  been shaped primarily by the {Unix}, {ITS}, {TOPS-10},
   {TOPS-20}/{TWENEX},   {WAITS},   {CP/M},   {MS-DOS},   and  {Multics}
   operating  systems  (most  importantly  by  ITS  and  Unix). See also
   {timesharing}.

:operator headspace:

   [common]  More  fully, "operator headspace error". Synonym for {pilot
   error}  -- a dumb move, especially one pulled by someone who ought to
   know better. Often used reflexively.

:optical diff: n.

   See {vdiff}.

:optical grep: n.

   See {vgrep}.

:optimism: n.

   What  a  programmer  is  full of after fixing the last bug and before
   discovering  the  next  last  bug.  Fred  Brooks's  book The Mythical
   Man-Month  (See  Brooks's  Law) contains the following paragraph that
   describes this extremely well:

     All   programmers  are  optimists.  Perhaps  this  modern  sorcery
     especially  attracts  those who believe in happy endings and fairy
     godmothers.  Perhaps the hundreds of nitty frustrations drive away
     all  but those who habitually focus on the end goal. Perhaps it is
     merely  that computers are young, programmers are younger, and the
     young  are  always  optimists.  But  however the selection process
     works, the result is indisputable: "This time it will surely run,"
     or "I just found the last bug.".

   See also {Lubarsky's Law of Cybernetic Entomology}.

:Oracle, the:

   The all-knowing, all-wise Internet Oracle rec.humor.oracle, or one of
   the  foreign language derivatives of same. Newbies frequently confuse
   the  Oracle  with  Oracle,  a  database  vendor.  As  a  result,  the
   unmoderated  rec.humor.oracle.d  is frequently cross-posted to by the
   clueless, looking for advice on SQL. As more than one person has said
   in  similar situations, "Don't people bother to look at the newsgroup
   description  line  anymore?" (To which the standard response is, "Did
   people ever read it in the first place?")

:Orange Book: n.

   The  U.S.  Government's  (now  obsolete)  standards  document Trusted
   Computer   System  Evaluation  Criteria,  DOD  standard  5200.28-STD,
   December,  1985 which characterize secure computing architectures and
   defines  levels A1 (most secure) through D (least). Modern Unixes are
   roughly C2. See also {book titles}.

:oriental food: n.

   Hackers   display   an  intense  tropism  towards  oriental  cuisine,
   especially  Chinese,  and especially of the spicier varieties such as
   Szechuan  and Hunan. This phenomenon (which has also been observed in
   subcultures   that  overlap  heavily  with  hackerdom,  most  notably
   science-fiction  fandom) has never been satisfactorily explained, but
   is  sufficiently  intense that one can assume the target of a hackish
   dinner  expedition to be the best local Chinese place and be right at
   least  three  times  out  of  four.  See  also  {ravs}, {great-wall},
   {stir-fried  random},  {laser chicken}, {Yu-Shiang Whole Fish}. Thai,
   Indian,  Korean,  Burmese,  and  Vietnamese  cuisines  are also quite
   popular.

:orphan: n.

   [Unix]  A  process  whose  parent has died; one inherited by init(1).
   Compare {zombie}.

:orphaned i-node: /or´f@nd i:´nohd/, n.

   [Unix]

   1.  [techspeak]  A file that retains storage but no longer appears in
   the directories of a filesystem.

   2.  By  extension,  a  pejorative  for any person no longer serving a
   useful  function  within  some organization, esp. {lion food} without
   subordinates.

:orthogonal: adj.

   [from  mathematics]  Mutually independent; well separated; sometimes,
   irrelevant  to.  Used in a generalization of its mathematical meaning
   to  describe  sets  of primitives or capabilities that, like a vector
   basis  in  geometry, span the entire `capability space' of the system
   and  are  in  some sense non-overlapping or mutually independent. For
   example,  in architectures such as the {PDP-11} or {VAX} where all or
   nearly  all  registers  can  be used interchangeably in any role with
   respect   to  any  instruction,  the  register  set  is  said  to  be
   orthogonal.  Or,  in  logic,  the  set  of  operators  not  and or is
   orthogonal,  but the set nand, or, and not is not (because any one of
   these can be expressed in terms of the others). Also used in comments
   on  human  discourse:  "This  may  be  orthogonal  to the discussion,
   but...."

:OS: /O·S/

   1.  [Operating  System]  n.  An  abbreviation  heavily used in email,
   occasionally in speech.

   2. n. obs. On ITS, an output spy. See OS and JEDGAR in Appendix A.

:OS/2: /O S too/, n.

   The anointed successor to MS-DOS for Intel 286- and 386-based micros;
   proof  that  IBM/Microsoft  couldn't  get  it  right the second time,
   either.  Often called `Half-an-OS'. Mentioning it is usually good for
   a  cheap  laugh among hackers -- the design was so {baroque}, and the
   implementation of 1.x so bad, that three years after introduction you
   could  still count the major {app}s shipping for it on the fingers of
   two  hands  --  in unary. The 2.x versions were said to have improved
   somewhat,  and  informed  hackers  rated  them  superior to Microsoft
   Windows  (an endorsement which, however, could easily be construed as
   damning  with  faint  praise).  In the mid-1990s IBM put OS/2 on life
   support,  refraining  from  killing  it  outright purely for internal
   political  reasons;  by  1999  the success of {Linux} had effectively
   ended   any   possibility   of   a  renaissance.  See  {monstrosity},
   {cretinous}, {second-system effect}.

:OSS:

   Written-only  acronym for "Open Source Software" (see {open source}).
   This  is  a  rather ugly {TLA}, and the principals in the open-source
   movement don't use it, but it has (perhaps inevitably) spread through
   the trade press like kudzu.

:OT: //

   [Usenet:  common]  Abbreviation  for  "off-topic".  This  is  used to
   respond  to  a  question that is inappropriate for the newsgroup that
   the  questioner  posted  to.  Often used in an HTML-style modifier or
   with adverbs. See also {TAN}.

:OTOH: //

   [Usenet; very common] On The Other Hand.

:out-of-band: adj.

   [from telecommunications and network theory]

   1.  In  software, describes values of a function which are not in its
   `natural'  range  of  return values, but are rather signals that some
   kind of exception has occurred. Many C functions, for example, return
   a   nonnegative   integral   value,  but  indicate  failure  with  an
   out-of-band return value of -1. Compare {hidden flag}, {green bytes},
   {fence}.

   2.  Also  sometimes  used to describe what communications people call
   shift  characters,  such  as the ESC that leads control sequences for
   many terminals, or the level shift indicators in the old 5-bit Baudot
   codes.

   3. In personal communication, using methods other than email, such as
   telephones or {snail-mail}.

:overclock: /oh´vr·klok´/, vt.

   To  operate a CPU or other digital logic device at a rate higher than
   it  was  designed for, under the assumption that the manufacturer put
   some  {slop}  into  the  specification  to  account for manufacturing
   tolerances.   Overclocking   something  can  result  in  intermittent
   {crash}es,  and  can even burn things out, since power dissipation is
   directly  proportional  to {clock} frequency. People who make a hobby
   of  this  are sometimes called "overclockers"; they are thrilled that
   they  can  run  their  CPU a few percent faster, even though they can
   only  tell  the difference by running a {benchmark} program. See also
   {case mod}.

:overflow bit: n.

   1.  [techspeak]  A {flag} on some processors indicating an attempt to
   calculate a result too large for a register to hold.

   2.  More  generally,  an  indication of any kind of capacity overload
   condition.  "Well, the Ada description was {baroque} all right, but I
   could  hack  it  OK until they got to the exception handling ... that
   set my overflow bit."

   3.  The  hypothetical bit that will be set if a hacker doesn't get to
   make a trip to the Room of Porcelain Fixtures: "I'd better process an
   internal interrupt before the overflow bit gets set."

   [73-07-24.png]

   Crunchly and the {overflow bit}.

   (The next cartoon in the Crunchly saga is 73-07-29)

:overrun: n.

   1.  [techspeak]  Term  for  a  frequent  consequence of data arriving
   faster  than  it can be consumed, esp. in serial line communications.
   For  example,  at 9600 baud there is almost exactly one character per
   millisecond,  so  if  a  {silo}  can hold only two characters and the
   machine  takes longer than 2 msec to get to service the interrupt, at
   least one character will be lost.

   2. Also applied to non-serial-I/O communications. "I forgot to pay my
   electric bill due to mail overrun." "Sorry, I got four phone calls in
   3  minutes  last  night  and  lost  your  message  to  overrun." When
   {thrash}ing at tasks, the next person to make a request might be told
   "Overrun!" Compare {firehose syndrome}.

   3.  More  loosely,  may  refer to a {buffer overflow} not necessarily
   related to processing time (as in {overrun screw}).

:overrun screw: n.

   [C   programming]  A  variety  of  {fandango  on  core}  produced  by
   scribbling past the end of an array (C implementations typically have
   no checks for this error). This is relatively benign and easy to spot
   if  the  array  is static; if it is auto, the result may be to {smash
   the  stack} -- often resulting in {heisenbug}s of the most diabolical
   subtlety. The term overrun screw is used esp. of scribbles beyond the
   end  of  arrays  allocated with malloc(3); this typically trashes the
   allocation  header  for  the  next  block  in  the {arena}, producing
   massive  lossage  within  malloc  and  often  a core dump on the next
   operation to use stdio(3) or malloc(3) itself. See {spam}, {overrun};
   see  also  {memory leak}, {memory smash}, {aliasing bug}, {precedence
   lossage}, {fandango on core}, {secondary damage}.

:owned:

   1.  [cracker  slang;  often written "0wned"] Your condition when your
   machine  has  been cracked by a root exploit, and the attacker can do
   anything with it. This sense is occasionally used by hackers.

   2. [gamers, IRC, crackers] To be dominated, controlled, mastered. For
   example,  if  you  make a statement completely and utterly false, and
   someone else corrects it in a way that humiliates or removes you, you
   are  said  to  "have  been  owned"  by that person. When referring to
   games,  "I  own0r  UT  GOTYE"  means  that  one  has  mastered Unreal
   Tournament,  Game  of  the Year Edition to such a level that even the
   hardest AI characters are mere lunchmeat, and that no ordinary mortal
   player  would  even receive a point in competition. There are several
   spelling  variants:  0wned, 0wn0r3d, even pwn0r3d. Hackers do not use
   this sense.

P

:P.O.D.: /P·O·D/

   [rare;  sometimes  `POD'  without  the periods] Acronym for `Piece Of
   Data' or `Plain Old Data' (as opposed to a code section, or a section
   containing  mixed  code and data). The latter expansion was in use by
   the C++ standards committee, for which it indicated a struct or class
   which  only contains data (as in C), distinguished from one which has
   a constructor and member functions. There are things which you can do
   with a P.O.D. which you can't with a more general class.

:packet over air:

   [common  among  backbone  ISPs] The protocol notionally being used by
   Internet  data  attempting to traverse a physical gap or break in the
   network, such as might be caused by a {fiber-seeking backhoe}. "I see
   why  you're  dropping  packets.  You  seem  to have a packet over air
   problem."

:padded cell: n.

   Where  you  put  {luser}s so they can't hurt anything. A program that
   limits  a  luser to a carefully restricted subset of the capabilities
   of  the  host  system  (for example, the rsh(1) utility on USG Unix).
   Note  that  this  is different from an {iron box} because it is overt
   and not aimed at enforcing security so much as protecting others (and
   the  luser)  from  the  consequences of the luser's boundless naivete
   (see {naive}). Also padded cell environment.

:page in: v.

   [MIT]

   1. To become aware of one's surroundings again after having paged out
   (see  {page  out}).  Usually confined to the sarcastic comment: "Eric
   pages in, {film at 11}!"

   2. Syn. swap in; see {swap}.

:page out: vi.

   [MIT]

   1.  To  become  unaware  of  one's  surroundings  temporarily, due to
   daydreaming or preoccupation. "Can you repeat that? I paged out for a
   minute." See {page in}. Compare {glitch}, {thinko}.

   2. Syn. swap out; see {swap}.

:pain in the net: n.

   A {flamer}.

:paper-net: n.

   Hackish  way  of referring to the postal service, analogizing it to a
   very  slow,  low-reliability  network.  Usenet {sig block}s sometimes
   include  a  "Paper-Net:"  header  just  before  the  sender's  postal
   address;  common  variants  of  this are "Papernet" and "P-Net". Note
   that the standard {netiquette} guidelines discourage this practice as
   a  waste  of  bandwidth, since netters are quite unlikely to casually
   use postal addresses. Compare {voice-net}, {snail-mail}.

:param: /p@·ram´/, n.

   [common]  Shorthand  for  parameter.  See also {parm}; compare {arg},
   {var}.

:PARC: n.

   See {XEROX PARC}.

:parent message: n.

   What a {followup} follows up.

:parity errors: pl.n.

   Little  lapses  of attention or (in more severe cases) consciousness,
   usually brought on by having spent all night and most of the next day
   hacking.  "I  need to go home and crash; I'm starting to get a lot of
   parity  errors."  Derives  from a relatively common but nearly always
   correctable  transient  error in memory hardware. It predates RAM; in
   fact,  this  term is reported to have already have been in use in its
   jargon  sense  back  in  the  1960s when magnetic cores ruled. Parity
   errors  can also afflict mass storage and serial communication lines;
   this is more serious because not always correctable.

:Parkinson's Law of Data: prov.

   "Data  expands  to fill the space available for storage"; buying more
   memory  encourages  the use of more memory-intensive techniques. (The
   original  1958  Parkinson's  Law described the structural tendency of
   bureaucracies  to  make  work  for  themselves.) It has been observed
   since  the  mid-1980s that the memory usage of evolving systems tends
   to  double  roughly once every 18 months. Fortunately, memory density
   available  for constant dollars also tends to about double once every
   18  months  (see  {Moore's  Law}); unfortunately, the laws of physics
   guarantee that the latter cannot continue indefinitely.

:parm: /parm/, n.

   Further-compressed  form  of  {param}.  This  term  is an IBMism, and
   written  use  is  almost  unknown outside IBM shops; spoken /parm/ is
   more  widely  distributed,  but  the  synonym  {arg} is favored among
   hackers. Compare {arg}, {var}.

:parse: vt.

   1.  To  determine  the  syntactic  structure  of  a sentence or other
   utterance  (close to the standard English meaning). "That was the one
   I saw you." "I can't parse that."

   2.  More  generally,  to understand or comprehend. "It's very simple;
   you  just  kretch  the  glims  and then aos the zotz." "I can't parse
   that."

   3.  Of  fish,  to  have  to  remove  the bones yourself. "I object to
   parsing  fish", means "I don't want to get a whole fish, but a sliced
   one  is  okay".  A  parsed  fish  has  been  deboned.  There  is some
   controversy  over  whether  unparsed should mean `bony', or also mean
   `deboned'.

:Pascal: n.

   An Algol-descended language designed by Niklaus Wirth on the CDC 6600
   around  1967--68 as an instructional tool for elementary programming.
   This  language,  designed  primarily  to  keep students from shooting
   themselves  in  the  foot  and  thus  extremely  restrictive  from  a
   general-purpose-programming  point  of  view, was later promoted as a
   general-purpose  tool  and,  in  fact, became the ancestor of a large
   family   of   languages   including   Modula-2   and  Ada  (see  also
   {bondage-and-discipline  language}).  The  hackish  point  of view on
   Pascal  was  probably  best  summed  up by a devastating (and, in its
   deadpan  way,  screamingly  funny)  1981 paper by Brian Kernighan (of
   {K&R}  fame)  entitled  Why  Pascal  is  Not  My Favorite Programming
   Language,  which  was  turned  down  by  the  technical  journals but
   circulated  widely  via  photocopies.  It was eventually published in
   Comparing  and  Assessing Programming Languages, edited by Alan Feuer
   and  Narain  Gehani  (Prentice-Hall, 1984). Part of his discussion is
   worth  repeating  here,  because its criticisms are still apposite to
   Pascal itself after many years of improvement and could also stand as
   an  indictment  of  many other bondage-and-discipline languages. (The
   entire essay is available at
   http://www.lysator.liu.se/c/bwk-on-pascal.html.)  At  the  end  of  a
   summary of the case against Pascal, Kernighan wrote:

     9. There is no escape

     This  last  point  is  perhaps the most important. The language is
     inadequate  but  circumscribed,  because there is no way to escape
     its  limitations.  There are no casts to disable the type-checking
     when  necessary. There is no way to replace the defective run-time
     environment  with a sensible one, unless one controls the compiler
     that defines the "standard procedures". The language is closed.

     People  who  use  Pascal for serious programming fall into a fatal
     trap.  Because  the language is impotent, it must be extended. But
     each  group  extends  Pascal in its own direction, to make it look
     like  whatever  language they really want. Extensions for separate
     compilation,  FORTRAN-like  COMMON,  string  data  types, internal
     static  variables,  initialization,  octal numbers, bit operators,
     etc.,  all  add  to  the utility of the language for one group but
     destroy its portability to others.

     I feel that it is a mistake to use Pascal for anything much beyond
     its  original  target. In its pure form, Pascal is a toy language,
     suitable for teaching but not for real programming.

   Pascal  has  since  been  entirely displaced (mainly by {C}) from the
   niches   it   had   acquired  in  serious  applications  and  systems
   programming, and from its role as a teaching language by Java.

:PascalCasing:

   The practice of marking all word boundaries in long identifiers (such
   as   ThisIsASampleVariable)   (including  the  first  letter  of  the
   identifier) with uppercase. Constrasts with camelCasing, in which the
   first   character   of   the   identifier   is   left   in  lowercase
   (thisIsASampleVariable),  and  with  the traditional C style of short
   all-lower-case   names   with  internal  word  breaks  marked  by  an
   underscore (sample_var).

   Where  these  terms  are  used,  they  usually  go with advice to use
   PascalCasing  for public interfaces and camelCasing for private ones.
   They may have originated at Microsoft, but are in more general use in
   ECMA standards, among Java programmers, and elsewhere.

:pastie: /pay´stee/, n.

   An  adhesive-backed  label  designed  to  be  attached  to a key on a
   keyboard  to  indicate  some  non-standard  character  which  can  be
   accessed  through  that  key.  Pasties  are  likely to be used in APL
   environments,  where  almost  every  key is associated with a special
   character.  A pastie on the R key, for example, might remind the user
   that it is used to generate the r character. The term properly refers
   to nipple-concealing devices formerly worn by strippers in concession
   to indecent-exposure laws; compare {tits on a keyboard}.

:patch:

   1.  n.  A  temporary  addition  to  a  piece  of  code,  usually as a
   {quick-and-dirty}  remedy  to  an existing bug or misfeature. A patch
   may  or  may  not work, and may or may not eventually be incorporated
   permanently into the program. Distinguished from a {diff} or {mod} by
   the  fact  that a patch is generated by more primitive means than the
   rest of the program; the classical examples are instructions modified
   by  using  the front panel switches, and changes made directly to the
   binary  executable  of  a  program  originally  written  in an {HLL}.
   Compare {one-line fix}.

   2. vt. To insert a patch into a piece of code.

   3. [in the Unix world] n. A {diff} (sense 2).

   4.  A  set  of  modifications to binaries to be applied by a patching
   program. IBM operating systems often receive updates to the operating
   system  in  the  form  of  absolute  hexadecimal patches. If you have
   modified  your  OS, you have to disassemble these back to the source.
   The  patches might later be corrected by other patches on top of them
   (patches  were  said  to  "grow scar tissue"). The result was often a
   convoluted {patch space} and headaches galore.

   5.  [Unix]  the  patch(1)  program,  written  by  Larry  Wall,  which
   automatically applies a patch (sense 3) to a set of source code.

   There  is  a  classic  story  of  a {tiger team} penetrating a secure
   military  computer  that  illustrates  the  danger inherent in binary
   patches  (or,  indeed,  any  patches  that  you  can't -- or don't --
   inspect  and examine before installing). They couldn't find any {trap
   door}s  or  any way to penetrate security of IBM's OS, so they made a
   site  visit  to an IBM office (remember, these were official military
   types  who  were  purportedly  on official business), swiped some IBM
   stationery,  and  created  a  fake  patch. The patch was actually the
   trapdoor  they  needed.  The patch was distributed at about the right
   time  for  an IBM patch, had official stationery and all accompanying
   documentation,  and was dutifully installed. The installation manager
   very shortly thereafter learned something about proper procedures.

:patch pumpkin: n.

   [Perl  hackers] A notional token passed around among the members of a
   project.  Possession of the patch pumpkin means one has the exclusive
   authority  to  make  changes on the project's master source tree. The
   implicit  assumption  is  that pumpkin holder st