   This is an automatically generated difference report including new,
changed and deleted entries from the third edition of TNHD (Jargon File
release 4.0.0) up to the present.  Trivial tweaks (such as typo fixes
and additions to the cross-reference structure that don't change the
actual content of the entry) have been omitted.

   This report covers the following versions: 4.1.0 4.1.1 4.1.2 4.1.3
4.1.4 4.2.0 4.2.1 4.2.2.  It was generated on Sun Aug 20 22:07:22 EDT
2000 Some statistics follow the change report.

******************** New and Changed entries ********************


*** New in 4.2.2. ***
:-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.

*** Changed in 4.2.0. ***
: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 /O 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?

*** Changed in 4.1.1. ***
: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.

*** New in 4.1.0. ***
: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".

*** New in 4.1.0. ***
: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}.

*** Changed in 4.1.0. ***
:@-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.

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.2.2. ***
: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}    (sense 1),
i.e., "I'm not here").

*** Changed in 4.1.0, 4.1.2, 4.2.2, 4.2.2. ***
: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.     See also {vadding},
{Zork}, and {Infocom}.

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

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

   ADVENT sources are available for FTP at
`ftp://ftp.wustl.edu/doc/misc/if-archive/games/source/advent.tar.Z'.
There is a http://people.delphi.com/rickadams/adventure/index.html
(Colossal Cave Adventure page).

*** New in 4.2.0. ***
: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.

*** New in 4.2.0. ***
: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.

*** New in 4.1.0. ***
: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}.

*** Changed in 4.1.0, 4.1.1, 4.2.0. ***
: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 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; 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;
     <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>; amper; and, and sign.  Rare: address (from
     C); reference (from C++); andpersand; bitand; background (from
     `sh(1)'); pretzel; amp.  [INTERCAL called this `ampersand'; what
     could be sillier?]

'
     Common: single quote; quote; <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;
     paren/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/unparenthisey; 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: 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
     bracket>; bracket/unbracket.  Rare: square/unsquare; [U turn/U
     turn back].

\
     Common: backslash, hack, whack; escape (from C/UNIX); reverse
     slash; slosh; backslant; backwhack.  Rare: bash; <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].

|
     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 pound graphic
  happens to replace `#'; thus Britishers sometimes call    `#' on a
U.S.-ASCII keyboard `pound', compounding the    American error).  The
U.S. usage derives from an old-fashioned    commercial practice of
using a `#' suffix to tag pound weights    on bills of lading.  The
character is usually pronounced `hash'    outside the U.S.  There are
more culture wars over the correct    pronunciation of this character
than any other, which has led to    the {ha ha only serious} suggestion
that it be pronounced    `shibboleth' (see Judges 12:6 in an Old
Testament or    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 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.

*** Changed in 4.1.0, 4.2.0. ***
: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

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

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0, 4.2.0. ***
:Acme: n.  The canonical supplier of bizarre, elaborate,    and
non-functional gadgetry - where Rube Goldberg and Heath    Robinson
(two cartoonists who specialized in elaborate    contraptions) shop.
The name has been humorously expanded as A (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 "Roadrunner" cartoons.  In these    cartoons, the
famished Wile E. Coyote was forever attempting to    catch up with,
trap, and eat the Roadrunner.  His attempts usually    involved one or
more high-technology Rube Goldberg devices -    rocket jetpacks,
catapults, magnetic traps, high-powered    slingshots, etc.  These were
usually delivered in large cardboard    boxes, labeled prominently with
the Acme name.  These devices    invariably malfunctioned in improbable
and violent ways.

*** Changed in 4.2.2. ***
:Ada:: n.  A {{Pascal}}-descended language that was at one    time made
mandatory for Department of Defense software projects by    the
Pentagon.  Hackers are nearly unanimous in observing that,
technically, it is precisely what one might expect given that kind
of endorsement by fiat; designed by committee, crockish, difficult
to use, and overall a disastrous, multi-billion-dollar boondoggle
(one common description wss "The PL/I of the 1980s").  Hackers    find
Ada's exception-handling and inter-process communication    features
particularly hilarious.  Ada Lovelace (the daughter of    Lord Byron
who became the world's first programmer while    cooperating with
Charles Babbage on the design of his mechanical    computing engines in
the mid-1800s) would almost certainly blanch    at the use to which her
name has latterly been put; the kindest    thing that has been said
about it is that there is probably a good    small language screaming
to get out from inside its vast,    {elephantine} bulk.

*** New in 4.1.0. Changed in 4.1.0. ***
: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.

*** New in 4.2.0. Changed in 4.2.2. ***
: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 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, So 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 introduces 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.

*** New in 4.1.0. Changed in 4.1.1. ***
:Amiga: n  A series of personal computer models originally    sold by
Commodore, based on 680x0 processors, custom support chips    and an
operating system that combined some of the best features of
Macintosh and Unix with compatibility with neither.

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

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

*** New in 4.1.0. Changed in 4.1.1. ***
: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!}.

*** New in 4.1.3. Changed in 4.2.0. ***
: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://www.phial.com/angband' and a
zangband one at    `http://thangorodrim.angband.org'.  See also {Random
Number    God}.

*** New in 4.1.1. ***
:B5: //  [common] Abbreviation for "Babylon 5", a    science-fiction TV
series as revered among hackers as was the    original Star Trek.

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

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

   Note: the name is commonly parsed as Beginner's All-purpose Symbolic
  Instruction Code, but this is a {backronym}. BASIC was    originally
named Basic, simply because it was a simple and basic    programming
language.  Because most programming language names were    in fact
acronyms, BASIC was often capitalized just out of habit or    to be
silly.  No acronym for BASIC originally existed or was    intended (as
one can verify by reading texts through the early    1970s). Later,
around the mid-1970s, people began to make up    backronyms for BASIC
because they weren't sure.  Beginner's    All-purpose Symbolic
Instruction Code is the one that caught    on.

*** Changed in 4.1.1. ***
: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}.

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.1. ***
: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 dome parts of the
U.S. this abbreviation was    probably reinforced by a company called
Browning-Ferris Industries    who used to be in the waste-management
business; a large BFI logo    in white-on-blue could be seen on the
sides of garbage trucks.

*** New in 4.1.1. ***
:BI: //  Common written abbreviation for {Breidbart    Index}.

*** Changed in 4.1.0, 4.1.1. ***
:BITNET: /bit'net/ n., obs.  [acronym: Because It's Time    NETwork]
Everybody's least favorite piece of the network (see    {the network})
- until AOL happened.  The BITNET hosts were a    collection of IBM
dinosaurs and VAXen (the latter with lobotomized    comm hardware) that
communicate using 80-character {{EBCDIC}} card    images (see
{eighty-column mind}); thus, they tend to mangle the    headers and
text of third-party traffic from the rest of the    ASCII/{RFC}-822
world with annoying regularity.  BITNET was also    notorious as the
apparent home of {B1FF}.  By 1995 it had, much    to everyone's relief,
been obsolesced and absorbed into the    Internet. Unfortunately,
around this time we also got AOL.

*** Changed in 4.2.0, 4.2.2. ***
: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.

*** Changed in 4.1.0. ***
:BOF: /B-O-F/ or /bof/ n.  1. [common] Abbreviation    for the phrase
"Birds Of a Feather" (flocking together), an    informal discussion
group and/or bull session scheduled on a    conference program.  It is
not clear where or when this term    originated, but it is now
associated with the USENIX conferences    for Unix techies and was
already established there by 1984.  It was    used earlier than that at
DECUS conferences and is reported to have    been common at SHARE
meetings as far back as the early 1960s.     2. Acronym, `Beginning of
File'.

*** Changed in 4.1.0. ***
: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 (http://bofh.ntk.net/Bastard.html). BOFHs    and BOFH
wannabes hang out on {scary devil monastery} and wield    {LART}s.

*** Changed in 4.2.0, 4.2.1, 4.2.1. ***
: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 {4.2}, {{Unix}},    {USG Unix}.

*** New in 4.1.0. ***
:BSOD: /B-S-O-D/   Very commmon abbreviation for {Blue    Screen of
Death}.  Both spoken and written.

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

*** New in 4.1.0. Changed in 4.2.2. ***
: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, Bad and    Wrong"
(abbreviated EBW) is reported fromm 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}.

*** New in 4.1.0. Changed in 4.2.0. ***
: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. Sadly, the Befunge home    page has vanished,
but a Befunge version of the {hello world}    program is at
`http://www.catseye.mb.ca/esoteric/befunge.html'.

*** New in 4.1.0. Changed in 4.1.1, 4.2.2. ***
: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
(http://www.salonmagazine.com/21st/chal/1998/02/10chal2.html), seems to
have predated popular use of the    term:

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

*** New in 4.2.0. ***
: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
(http://www.hobby.nl/~clifton).  The name    Linus chose, of course, is
an ironic comment on the uselessness of    all _other_ {MIPS} figures.

*** New in 4.1.0. Changed in 4.1.1, 4.2.2. ***
: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.  (Other    companies, notably Intel and
UUNet, have also occasionally been    equated to the Borg.) See also
{Evil Empire}, {Internet    Exploiter}.

   In IETF circles, where direct pressure from Microsoft is not a
daily reality, the Borg is sometimes Cisco. This usage    commemmorates
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".

*** New in 4.1.0. ***
: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".

*** Changed in 4.1.2. ***
: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}.

*** New in 4.2.2. ***
: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.

*** Changed in 4.1.0. ***
:CDA: /C-D-A/   The "Communications Decency Act" of 1996,    passed on
{Black Thursday} as section 502 of a major    telecommunications reform
bill. 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
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 on in 8th-circuit Federal court and subsequently
affirmed by the U.S. Supreme Court on 26 June 1997 (`White
Thursday'). See also {Exon}.

*** Changed in 4.1.0. ***
: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 (http://www.e-pix.com/CPUWARS/cpuwars.html).

   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 (then, as now, 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}.

*** Changed in 4.1.0. ***
: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).  The definitive reference on    {Perl}.

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0, 4.2.2. ***
: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
pound currency symbol    (of course).

   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}, {plingnet}, {raster    blaster}, {RTBM},
{seggie}, {spod}, {sun lounge},    {terminal junkie}, {tick-list
features}, {weeble},    {weasel}, {YABA}, and notes or definitions
under {Bad    Thing}, {barf}, {bogus}, {bum}, {chase pointers},
{cosmic rays}, {crippleware}, {crunch}, {dodgy},    {gonk}, {hamster},
{hardwarily}, {mess-dos},    {nybble}, {proglet}, {root}, {SEX},
{tweak},    {womble}, and {xyzzy}.

*** Changed in 4.1.0. ***
: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."

*** Changed in 4.1.0. ***
: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 (http://www.koth.org) site.

*** New in 4.1.0. ***
: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
(http://www.lspace.org/faqs/acronym-faq.g.html) 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'.

*** Changed in 4.1.0. ***
:DEC:: /dek/ n.  1. v. Verbal (and only rarely    written) shorthand
for decrement, i.e. `decrease by one'.     Especially used by assembly
programmers, as many assembly languages    have a `dec' mnemonic.
Antonym: {inc}.  2. 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 reclaimed some of its old reputation among techies in the first
 half of the 1990s.  The success of the Alpha, an
innovatively-designed and very high-performance {killer micro},
helped a lot.  So did DEC's newfound receptiveness to Unix and open
systems in general.  When Compaq acquired DEC at the end of 1998
there was some concern that these gains would be lost along with    the
DEC nameplate, but the merged company has so far turned out to    be
culturally dominated by the ex-DEC side.

*** Changed in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
: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.

*** New in 4.1.0. Changed in 4.2.1, 4.2.2. ***
: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}.

*** Changed in 4.2.2. ***
: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 Neil
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...

*** Changed in 4.2.0. ***
: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}.  Compare {Bloggs Family} and {J. Random Hacker};
see also {Fred Foobar} and {fred}.

*** New in 4.1.0. ***
: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/'.

*** Changed in 4.1.0. ***
: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
{bum} 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]

*** New in 4.1.0. ***
:ECP: /E-C-P/ n.  See {spam} and {velveeta}.

*** Changed in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
:EMP: /E-M-P/  See {spam}.

*** Changed in 4.1.0. ***
: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}.

*** Changed in 4.1.0. ***
: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 recent years, the synonym `El Camino Virtual' has 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.

*** Changed in 4.2.0, 4.2.2. ***
: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
prefereed shorthand is sinply {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.

*** New in 4.1.0. ***
: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
(http://pages.prodigy.net/rkusnery/amsind.html)    pages on the Web.

*** Changed in 4.1.0. ***
:Exon: /eks'on/ excl.  A generic obscenity that quickly    entered wide
use on the Internet and Usenet after {Black    Thursday}. From the last
name of Senator James Exon    (Democrat-Nebraska), primary author of
the {CDA}.

*** New in 4.1.0. ***
:Exploder: n.  Used within Microsoft to refer to the    Windows
Explorer, the 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.

*** Changed in 4.1.1. ***
:FRS: // n.,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}.

*** Changed in 4.1.1, 4.1.2. ***
: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.

*** Changed in 4.1.0. ***
:FUD wars: /fuhd worz/ n.  [from {FUD}] 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.

*** Changed in 4.1.0. ***
: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 early 1999 Fidonet    has approximately 30,000 nodes,
down from 38K in 1996.

*** Changed in 4.1.0. ***
: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 of the Jupiter    project cancellation 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.

*** New in 4.1.0. ***
:Fred Foobar: n.  {J. Random Hacker}'s cousin.  Any    typical human
being, more or less synomous 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}

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
: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.

*** Changed in 4.2.2. ***
: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'.

*** New in 4.2.2. ***
: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 caopacity 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.

*** Changed in 4.1.0, 4.1.1, 4.2.0. ***
: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 as of    January 1991 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.

*** New in 4.1.0. ***
:GoAT: //  [Usenet] Abbreviation: "Go Away, Troll".  See    {troll}.

*** Changed in 4.2.2. ***
: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.

*** Changed in 4.2.0. ***
:Good Thing: n.,adj.  [very common; often capitalized;    always
pronounced as if capitalized.]  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}.

*** Changed in 4.1.1. ***
:Gosperism: /gos'p*r-izm/ n.  A hack, invention, or    saying due to
{elder days} arch-hacker R. William (Bill) Gosper.     This notion
merits its own term because there are so many of them.     Many of the
entries in {HAKMEM} are Gosperisms; see also    {life}.

*** Changed in 4.1.0. ***
: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
(http://www.vrx.net/usenet/history/rename.html) on the Web.

*** New in 4.1.2. ***
:Guido: /gwee'do/ or /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/.

*** New in 4.2.0. ***
: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}.

*** New in 4.2.0. ***
: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}.

*** New in 4.1.0. ***
: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
(http://www.opensource.org/halloween/)    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.

*** New in 4.1.0. ***
:IANAL: //  [Usenet] Abbreviation, "I Am Not A Lawyer".     Usually
precedes legal advice.

*** Changed in 4.1.0. ***
:IBM: /I-B-M/  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, including `International Business    Machines'.  See {TLA}.
These abbreviations illustrate the    considerable antipathy most
hackers long felt toward the    `industry leader' (see {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 does
  count against them), but that the designs are incredibly archaic,
{crufty}, and {elephantine} ... and you can't _fix_ them    -- source
code is locked up tight, and programming tools are    expensive, hard
to find, and bletcherous to use once you've found    them. For many
years, before Microsoft, IBM was the company hackers    loved to hate.

   But everything changes.  In the 1980s IBM had its own troubles with
 Microsoft.  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 friend of the hacker community

   This lexicon includes a number of entries attributed to `IBM';
these derive from some rampantly unofficial jargon lists circulated
within IBM's own beleaguered hacker underground.

*** Changed in 4.1.0. ***
: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.)

*** New in 4.1.3. ***
: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.

*** New in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
:IIRC: //  Common abbreviation for "If I Recall Correctly".

*** Changed in 4.1.1. ***
: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.tuxedo.org/~esr/intercal/'. An extended version,
implemented in (what else?) {Perl} and adding object-oriented
features, is available at `http://dd-sh.assurdo.com/INTERCAL'.     See
also {Befunge}.

*** Changed in 4.2.2, 4.2.2. ***
: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
bureacratic 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, a `British Standard BS6008:
How to make a standard cup of tea.' - ESR]

*** Changed in 4.1.3. ***
: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}).  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}.

*** Changed in 4.1.0, 4.2.2. ***
: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.

   This theorem 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".  On 1 April 2000 the usage
acquired its own Internet standard,
http://www.rfc-editor.org/rfc/rfc2795.txt (RFC2795) (Infinite Monkey
Protocol Suite).

*** Changed in 4.1.0, 4.1.1. ***
: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 and distributed with a P-code
interpreter core, and not only freeware 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 bering
written.  (Emulators that can run Infocom game ZIPs, and new games,
are available at
`ftp://wuarchive.wustl.edu:/doc/misc/if-archive/infocom'.)

*** New in 4.1.0. ***
: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.

*** New in 4.1.0. ***
:Internet Exploder:  [very common] Pejorative hackerism for
Microsoft's "Internet Explorer" web browser (also "Internet
Exploiter"). Compare {HP-SUX}, {AIDX}, {buglix},    {Macintrash},
{Telerat}, {ScumOS}, {sun-stools},    {Slowlaris}.

*** New in 4.1.0. ***
: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}.

*** Changed in 4.1.1. ***
: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}.

*** New in 4.1.2. ***
: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 of 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 1999, 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.

*** New in 4.2.2. ***
: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.

*** Changed in 4.2.0. ***
: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/'.

*** Changed in 4.1.3. ***
: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://www-cs-faculty.Stanford.EDU/~knuth'.

*** New in 4.1.0. ***
: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,    semiautomatic 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!"

*** Changed in 4.1.1. ***
: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).

*** Changed in 4.1.2. ***
: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 now shares 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.

*** Changed in 4.1.0. ***
:LPT: /L-P-T/ or /lip'it/ or /lip-it'/ n.  1. Line    printer
(originally Line Printing Terminal).  Rare under Unix, more    common
among hackers who grew up with ITS, MS-DOS, CP/M and other    operating
systems that were strongly influenced by early {DEC}    conventions.
2. Local PorT.  Used among MS-DOS programmers (and so    expanded in
the MS-DOS 5 manual).  It seems likely this is a    {backronym}.

*** New in 4.1.0. ***
: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.

*** New in 4.1.1. ***
:Linus: /leen'us'/ or /lin'us'/, not /li:'nus/  Linus    Torvalds, the
author of {Linux}.  Nobody in the hacker culture    has been as readily
recognized by first name alone since Ken    (Thompson).

*** Changed in 4.1.0, 4.1.0, 4.1.1, 4.2.0, 4.2.1. ***
:Linux:: /lee'nuhks/ or /li'nuks/, _not_ /li:'nuhks/    n.  The free
Unix workalike created by Linus Torvalds and    friends starting about
1991. The pronunciation /lee'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).     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 2000, Linux is
seriously challenging Microsoft's OS dominance. It has already
captured 31% of the Internet-server market and 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 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).

*** Changed in 4.1.0. ***
: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.]

*** Changed in 4.1.1. ***
: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) has continued the
practice.

*** New in 4.1.0. Changed in 4.1.1. ***
: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.

*** New in 4.1.0. ***
:M$:  Common net abbreviation for Microsoft, everybody's least
favorite monopoly.

*** Changed in 4.1.2. ***
: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".)

*** Changed in 4.2.0. ***
: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; among other    things, they designed the processor
chips used in {DEC}'s 3100    workstation series.  4. Acronym for
`Meaningless Information per    Second' (a joke, prob. from sense 1).

*** New in 4.1.0. ***
: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 (http://www.stopspam.org/usenet/mmf/).

*** Changed in 4.1.0. ***
: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}.

*** Changed in 4.1.2. ***
: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).

*** Changed in 4.1.1, 4.1.2. ***
: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}.

*** New in 4.1.0. ***
: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}.

*** Changed in 4.1.1. ***
: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}.

*** Changed in 4.1.2. ***
:Moore's Law: /morz law/ prov.  The observation that the    logic
density of silicon integrated circuits has closely followed    the
curve (bits per square inch)  = 2^(t - 1962) where t    is time in
years; that is, the amount of information storable on a    given amount
of silicon has roughly doubled every year since the    technology was
invented.  This relation, first uttered in 1964 by    semiconductor
engineer Gordon Moore (who co-founded Intel four    years later) held
until the late 1970s, at which point the doubling    period slowed to
18 months.  The doubling period remained at that    value through time
of writing (late 1999).  Moore's Law is    apparently self-fulfilling.
The implication is that somebody,    somewhere is going to be able to
build a better chip than you if    you rest on your laurels, so you'd
better start pushing hard on the    problem. See also {Parkinson's Law
of Data} and {Gates's Law}.

*** Changed in 4.1.0. ***
:Multics:: /muhl'tiks/ n.  [from "MULTiplexed    Information and
Computing Service"] An early time-sharing    {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.  There is a Multics    page at
  `http://www.stratus.com/pub/vos/multics/tvv/multics.html'.

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
: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 algorithms, 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.

*** Changed in 4.2.0. ***
:NetBOLLIX: n.  [from bollix: to bungle, or British    `bollocks']
{IBM}'s NetBIOS, an extremely {brain-damaged}    network protocol that,
like {Blue Glue}, is used at commercial    shops that don't know any
better.

*** New in 4.1.0. Changed in 4.2.0. ***
: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}.

*** Changed in 4.1.0. ***
: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."

*** New in 4.1.3. ***
: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.

*** New in 4.2.0. ***
: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 crossposted 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?")

*** Changed in 4.1.0. ***
:PC-ism: /P-C-izm/ n.  A piece of code or coding    technique that
takes advantage of the unprotected single-tasking    environment in IBM
PCs and the like running DOS, e.g., by    busy-waiting on a hardware
register, direct diddling of screen    memory, or using hard timing
loops.  Compare {ill-behaved},    {vaxism}, {unixism}.  Also, `PC-ware'
n., a program full of    PC-isms on a machine with a more capable
operating system.     Pejorative.

*** New in 4.1.0. ***
:PEBKAC: /peb'kak/  [Abbrev., "Problem Exists Between    Keyboard And
Chair"] Used by support people, particularly at call    centers and
help desks. Not used with the public.  Denotes pilot    error as the
cause of the crash, especially stupid errors that even    a {luser}
could figure out. Very derogatory. Usage: "Did you ever    figure out
why that guy couldn't print?" "Yeah, he kept    cancelling the
operation before it could finish. PEBKAC."

*** Changed in 4.1.0. ***
:PETSCII: /pet'skee/ n. obs.  [abbreviation of PET    ASCII] The
variation (many would say perversion) of the {{ASCII}}    character set
used by the Commodore Business Machines PET series of    personal
computers and the later Commodore C64, C16, C128, and    VIC20
machines.  The PETSCII set used left-arrow and up-arrow (as    in
old-style ASCII) instead of underscore and caret, placed the
unshifted alphabet at positions 65-90, put the shifted alphabet at
positions 193-218, and added graphics characters.

*** New in 4.2.0. ***
:PFY:  n.  [Usenet; common] Abbreviation for    `Pimply-Faced Youth'.
A {BOFH} in training, esp. one    apprenticed to an elder BOFH aged in
evil.

*** New in 4.1.1. ***
:PHB: /P-H-B/  [Usenet; common; rarely spoken] Abbreviation,
"Pointy-Haired Boss".  From the {Dilbert} character, the    archetypal
halfwitted middle-{management} type. See also    {pointy-haired}.

*** Changed in 4.1.0. ***
: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.  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.

*** New in 4.1.0. ***
:Pentagram Pro: n.   A humorous corruption of "Pentium    Pro", with a
Satanic reference, implying that the chip is    inherently {evil}.
Often used with "666 MHz"; there is a    T-shirt.  See {Pentium}

*** New in 4.1.0. Changed in 4.1.1. ***
:Pentium: n.  The name given to Intel's P5 chip, the    successor to
the 80486. The name was chosen because of difficulties    Intel had in
trademarking a number. It suggests the number five    (implying 586)
while (according to Intel) conveying a meaning of    strength "like
titanium".  Among hackers, the plural is    frequently `pentia'. See
also {Pentagram Pro}.

   Intel did not stick to this convention when naming its P6 processor
 the Pentium Pro; many believe this is due to difficulties in
selling a chip with "sex" in its name.  Successor chips have been
called `Pentium II' and `Pentium III'.

*** Changed in 4.1.2, 4.1.3. ***
:Perl: /perl/ n.  [Practical Extraction and Report    Language, a.k.a.
Pathologically Eclectic Rubbish Lister] An    interpreted language
developed by Larry Wall    (<<larry@wall.org>>, author of `patch(1)' and
  `rn(1)') and distributed over Usenet.  Superficially resembles
{awk}, but is much hairier, including many facilities    reminiscent of
`sed(1)' and shells and a comprehensive Unix    system-call interface.
Unix sysadmins, who are almost always    incorrigible hackers,
generally consider it one of the    {languages of choice}, and it is by
far the most widely used    tool for making `live' web pages via CGI.
Perl has been described,    in a parody of a famous remark about
`lex(1)', as the    "Swiss-Army chainsaw" of Unix programming.  Though
Perl is very    useful, it would be a stretch to describe it as pretty
or    {elegant}; people who like clean, spare design generally prefer
{Python}. See also {Camel Book}, {TMTOWTDI}.

*** New in 4.1.0. ***
:Ping O' Death: n.  A notorious {exploit} that (when    first
discovered) could be easily used to crash a wide variety of    machines
by overunning size limits in their TCP/IP stacks.  First    revealed in
late 1996.  The open-source Unix community patched its    systems to
remove the vulnerability within days or weeks, the    closed-source OS
vendors generally took months.  While the    difference in response
times repeated a pattern familiar from other    security incidents, the
accompanying glare of Web-fueled publicity    proved unusually
embarrassing to the OS vendors and so passed into    history and myth.
The term is now used to refer to any nudge    delivered by network
wizards over the network that causes bad    things to happen on the
system being nudged.  For the full story on    the original exploit, see
  `http://www.insecure.org/sploits/ping-o-death.html'.

   Compare with 'kamikaze packet,' 'Finger of Death' and 'Chernobyl
packet.'

*** New in 4.1.2. ***
:Python: /pi:'thon/  In the words of its author, "the other
scripting language" (other than {Perl}, that is).  Python's    design
is notably clean, elegant, and well thought through; it    tends to
attract the sort of programmers who find Perl grubby and    exiguous.
Python's relationship with Perl is rather like the {BSD}    community's
relationship to {Linux} - it's the smaller party in a    (usually
friendly) rivalry, but the average quality of its    developers is
generally conceded to be rather higher than in the    larger community
it competes with.  There's a Python resource page    at
`http://www.python.org'.  See also {Guido}.

*** Changed in 4.1.1. ***
:QWERTY: /kwer'tee/ adj.  [from the keycaps at the upper    left]
Pertaining to a standard English-language typewriter keyboard
(sometimes called the Sholes keyboard after its inventor), as
opposed to Dvorak or non-US-ASCII layouts or a {space-cadet
keyboard} or APL keyboard.

   Historical note: The QWERTY layout is a fine example of a {fossil}.
  It is sometimes said that it was designed to slow down the typist,
but this is wrong; it was designed to allow _faster_ typing    --
under a constraint now long obsolete.  In early typewriters,    fast
typing using nearby type-bars jammed the mechanism.  So Sholes
fiddled the layout to separate the letters of many common digraphs
(he did a far from perfect job, though; `th', `tr', `ed', and `er',
for example, each use two nearby keys).  Also, putting the letters
of `typewriter' on one line allowed it to be typed with particular
speed and accuracy for {demo}s.  The jamming problem was    essentially
solved soon afterward by a suitable use of springs, but    the keyboard
layout lives on.

   The QWERTY keyboard has also spawned some unhelpful economic myths
about how technical standards get and stay established; see
`http://www.reasonmag.com/9606/Fe.QWERTY.html'.

*** New in 4.1.0. ***
:RBL: /R-B-L/  Abbreviation: "Realtime Blackhole List". A    service
that allows people to blacklist sites for emitting    {spam}, and makes
the blacklist available in real time to    electronic-mail transport
programs that know how to use RBL so they    can filter out mail from
those sites.  Drastic (and controversial)    but effective.  There is an
  RBL home page (http://maps.vix.com/rbl/usage.html).

*** Changed in 4.1.0. ***
:RTM: /R-T-M/  [Usenet: abbreviation for `Read The Manual']    1.
Politer variant of {RTFM}.  2. Robert Tappan Morris,    perpetrator of
the great Internet worm of 1988 (see {Great    Worm}); villain to many,
naive hacker gone wrong to a few.  Morris    claimed that the worm that
brought the Internet to its knees was a    benign experiment that got
out of control as the result of a coding    error.  After the storm of
negative publicity that followed this    blunder, Morris's username on
ITS was hacked from RTM to    {RTFM}.

*** New in 4.1.3. ***
:Random Number God:  [rec.games.roguelike.angband; often    abbreviated
`RNG'] The malign force which lurks behind the random    number
generator in {Angband} (and by extension elsewhere). A dark    god that
demands sacrifices and toys with its victims.  "I just    found a
really great item; I suppose the RNG is about to punish    me..."
Apparently, Angband's random number generator occasionally    gets
locked in a repetition, so you get something with a 3% chance
happening 8 times in a row. Improbable, but far too common to be
pure chance.  Compare {Shub-Internet}.

*** Changed in 4.1.1. ***
:Red Book: n.  1. Informal name for one of the four    standard
references on {{PostScript}} ("PostScript Language    Reference
Manual", Adobe Systems (Addison-Wesley, 1985;    QA76.73.P67P67; ISBN
0-201-10174-2, or the 1990 second edition ISBN    0-201-18127-4); the
others are known as the {Green Book}, the    {Blue Book}, and the
{White Book} (sense 2).  2. Informal    name for one of the 3 standard
references on Smalltalk    ("Smalltalk-80: The Interactive Programming
Environment" by    Adele Goldberg (Addison-Wesley, 1984;
QA76.8.S635G638; ISBN    0-201-11372-4); this too is associated with
blue and green books).     3. Any of the 1984 standards issued by the
CCITT eighth plenary    assembly.  These include, among other things,
the X.400 email spec    and the Group 1 through 4 fax standards.  4.
The new version of the    {Green Book} (sense 4) -- IEEE 1003.1-1990,
a.k.a ISO 9945-1    -- is (because of the color and the fact that it is
printed on A4    paper) known in the USA as "the Ugly Red Book That
Won't Fit On    The Shelf" and in Europe as "the Ugly Red Book That's A
Sensible    Size".  5. The NSA "Trusted Network Interpretation"
companion    to the {Orange Book}.  6. Nemeth, Snyder, Seebass, Hein;
"Unix System Administration Handbook, Second Edition"    (Prentice
Hall PTR, New Jersey; 1995; QA76.76.063N45; ISBN    0-13-151051-7).
See also {{book titles}}.

*** Changed in 4.1.0. ***
:SEX: /seks/  [Sun Users' Group & elsewhere] n. 1. Software
EXchange.  A technique invented by the blue-green algae hundreds of
millions of years ago to speed up their evolution, which had been
terribly slow up until then.  Today, SEX parties are popular among
hackers and others (of course, these are no longer limited to
exchanges of genetic software).  In general, SEX parties are a    {Good
Thing}, but unprotected SEX can propagate a {virus}.     See also
{pubic directory}.  2. The rather Freudian mnemonic    often used for
Sign EXtend, a machine instruction found in the    PDP-11 and many
other architectures.  The RCA 1802 chip used in the    early Elf and
SuperElf personal computers had a `SEt X register'    SEX instruction,
but this seems to have had little folkloric    impact.  The Data
General instruction set also had `SEX'.

   {DEC}'s engineers nearly got a PDP-11 assembler that used the
`SEX' mnemonic out the door at one time, but (for once)    marketing
wasn't asleep and forced a change.  That wasn't the last    time this
happened, either.  The author of "The Intel 8086    Primer", who was
one of the original designers of the 8086, noted    that there was
originally a `SEX' instruction on that    processor, too.  He says that
Intel management got cold feet and    decreed that it be changed, and
thus the instruction was renamed    `CBW' and `CWD' (depending on what
was being extended).     Amusingly, the Intel 8048 (the microcontroller
used in IBM PC    keyboards) is also missing straight `SEX' but has
logical-or    and logical-and instructions `ORL' and `ANL'.

   The Motorola 6809, used in the Radio Shack Color Computer and in
U.K.'s `Dragon 32' personal computer, actually had an official    `SEX'
instruction; the 6502 in the Apple II with which it    competed did
not.  British hackers thought this made perfect mythic    sense; after
all, it was commonly observed, you could (on some    theoretical level)
have sex with a dragon, but you can't have sex    with an apple.

*** Changed in 4.1.1, 4.1.1, 4.2.0. ***
:SOS: /S-O-S/  n.,obs. An infamously {losing} text    editor.  Once,
back in the 1960s, when a text editor was needed for    the PDP-6, a
hacker crufted together a {quick-and-dirty}    `stopgap editor' to be
used until a better one was written.     Unfortunately, the old one was
never really discarded when new ones    came along.  SOS is a
descendant (`Son of Stopgap') of that editor,    and many PDP-10 users
gained the dubious pleasure of its    acquaintance.  Since then other
programs similar in style to SOS    have been written, notably the
early font editor BILOS    /bye'lohs/, the Brother-In-Law Of Stopgap
(the alternate    expansion `Bastard Issue, Loins of Stopgap' has been
proposed).

*** Changed in 4.1.0. ***
:SPACEWAR: n.  A space-combat simulation game, inspired by    E. E.
"Doc" Smith's "Lensman" books, in which two    spaceships duel around a
central sun, shooting torpedoes at each    other and jumping through
hyperspace.  This game was first    implemented on the PDP-1 at MIT in
1962.  In 1968-69, a descendant of    the game motivated Ken Thompson
to build, in his spare time on a    scavenged PDP-7, the operating
system that became {{Unix}}.  Less    than nine years after that,
SPACEWAR was commercialized as one of    the first video games;
descendants are still {feep}ing in video    arcades everywhere.

*** New in 4.1.0. ***
:STFW: imp. /S-T-F-W/  [Usenet] Commmon abbreviation for    "Search The
Fucking Web", a suggestion that what you're asking    for is a query
better handled by a search engine than a human    being.  Usage is
common and exactly parallel to both senses of    {RTFM}.

*** New in 4.1.1. ***
:September that never ended:  All time since September 1993.     One of
the seasonal rhythms of the Usenet used to be the annual    September
influx of clueless newbies who, lacking any sense of    {netiquette},
made a general nuisance of themselves. This    coincided with people
starting college, getting their first    internet accounts, and
plunging in without bothering to learn what    was acceptable.  These
relatively small drafts of newbies could be    assimilated within a few
months.  But in September 1993, AOL users    became able to post to
Usenet, nearly overwhelming the old-timers'    capacity to acculturate
them; to those who nostalgically recall the    period before hand, this
triggered an inexorable decline in the    quality of discussions on
newsgroups.  See also {AOL!}.

*** Changed in 4.1.0. ***
:Share and enjoy!: imp.  1. Commonly found at the end of    software
release announcements and {README file}s, this phrase    indicates
allegiance to the hacker ethic of free information    sharing (see
{hacker ethic}, sense 1).  2. The motto of the    complaints division
of Sirius Cybernetics Corporation (the ultimate    gaggle of
incompetent {suit}s) in Douglas Adams's "Hitch    Hiker's Guide to the
Galaxy".  The irony of using this as a    cultural recognition signal
appeals to hackers.

*** New in 4.1.0. Changed in 4.1.1, 4.2.0, 4.2.2. ***
:Slowlaris: /slo'-lahr-is/ n.  [Usenet; poss. from the    variety of
prosimian called a "slow loris". The variant `Slowlartus'    is also
common, related to {LART}] Common hackish term for    Solaris, Sun's
System VR4 version of UNIX that came out of the    standardization wars
of the early 1990s. So named because    especially on older hardware,
responsiveness was much less crisp    than under the preceding SunOS.
Early releases of Solaris (that is,    Solaris 2, as some {marketroid}s
at Sun retroactively    rechristened SunOS as Solaris 1) were quite
buggy, and Sun was    forced by customer demand to support SunOS for
quite some    time. Newer versions are acknowledged to be among the best
  commercial UNIX variants in 1998, but still lose single-processor
benchmarks to Sparc {Linux}. Compare {AIDX}, {HP-SUX},    {Nominal
Semidestructor}, {Telerat}, {sun-stools}.

*** New in 4.2.0. ***
:Sun: n.  Sun Microsystems.  Hackers remember that the name    was
originally an acronym, Stanford University Network.  Sun    started out
around 1980 with some hardware hackers (mainly) from    Stanford
talking to some software hackers (mainly) from UC    Berkeley; Sun's
original technology concept married a clever board    design based on
the Motorola 68000 to {BSD} Unix.  Sun went on    to lead the
worstation industry through the 1980s, and for years    afterwards
remained an engineering-driven company and a good place    for hackers
to work.  Though Sun drifted away from its techie    origins after 1990
and has since made some strategic moves that    disappointed and
annoyed many hackers (especially by maintaining    proprietary control
of Java and rejecting Linux), it's still    considered within the
family in much the same way {DEC} was    in the 1970s and early 1980s.

*** Changed in 4.1.1. ***
:TCP/IP: /T'C-P I'P/ n.  1. [Transmission Control    Protocol/Internet
Protocol] The wide-area-networking protocol that    makes the Internet
work, and the only one most hackers can speak    the name of without
laughing or retching.  Unlike such allegedly    `standard' competitors
such as X.25, DECnet, and the ISO 7-layer    stack, TCP/IP evolved
primarily by actually being _used_,    rather than being handed down
from on high by a vendor or a    heavily-politicized standards
committee.  Consequently, it (a)    works, (b) actually promotes cheap
cross-platform connectivity, and    (c) annoys the hell out of
corporate and governmental    empire-builders everywhere.  Hackers
value all three of these    properties. See {creationism}.  2.
[Amateur Packet Radio]    Formerly expanded as "The Crap Phil Is
Pushing".  The reference    is to Phil Karn, KA9Q, and the context was
an ongoing    technical/political war between the majority of sites
still running    AX.25 and the TCP/IP relays. TCP/IP won.

*** New in 4.1.0. ***
:TINC: //  [Usenet] Abbreviation: "There Is No Cabal".  See
{backbone cabal} and {NANA}, but note that this abbreviation    did not
enter use until long after the dispersal of the backbone    cabal.

*** New in 4.1.0. ***
:TINLC: //  Abbreviation: "There Is No Lumber Cartel". See    {Lumber
Cartel}.  TINLC is a takeoff on {TINC}.

*** Changed in 4.1.3, 4.2.0. ***
:TMRC: /tmerk'/ n.  The Tech Model Railroad Club at MIT, one    of the
wellsprings of hacker culture.  The 1959 "Dictionary of    the TMRC
Language" compiled by Peter Samson included several terms    that
became basics of the hackish vocabulary (see esp. {foo},    {mung}, and
{frob}).

   By 1962, TMRC's legendary layout was already a marvel of complexity
 and has grown in the years since. All the features described here
were still present when the old layout was decomissioned in 1998
just before the demolition of MIT Building 20, and will almost
certainly be retained when the old layout is rebuilt (expected in
2003).  The control system alone featured about 1200 relays.  There
were {scram switch}es located at numerous places around the room
that could be thwacked if something undesirable was about to occur,
such as a train going full-bore at an obstruction.  Another feature
of the system was a digital clock on the dispatch board, which was
itself something of a wonder in those bygone days before cheap LEDs
and seven-segment displays.  When someone hit a scram switch the
clock stopped and the display was replaced with the word `FOO'; at
TMRC the scram switches are therefore called `foo switches'.

   Steven Levy, in his book "Hackers" (see the    {Bibliography} in
Appendix C), gives a stimulating account of    those early years.
TMRC's Signals and Power Committee included    many of the early PDP-1
hackers and the people who later became the    core of the MIT AI Lab
staff.  Thirty years later that connection    is still very much alive,
and this lexicon accordingly includes a    number of entries from a
recent revision of the TMRC dictionary.

   TMRC has a web page at `http://web.mit.edu/tmrc/www/'.

*** New in 4.1.0. Changed in 4.2.1. ***
:TMTOWTDI: /tim-toh'-dee/   There's More Than One Way To    Do It.
This abbreviation of the official motto of {Perl} is    frequently used
on newsgroups and mailing lists related to that    language.

*** Changed in 4.1.0. ***
:TeX:: /tekh/ n.     An extremely powerful {macro}-based text formatter
written by    Donald E. {Knuth}, very popular in the computer-science
community (it is good enough to have displaced Unix {{troff}}, the
other favored formatter, even at many Unix installations).  TeX    fans
insist on the correct (guttural) pronunciation, and the    correct
spelling (all caps, squished together, with the E depressed    below
the baseline; the mixed-case `TeX' is considered an    acceptable kluge
on ASCII-only devices).  Fans like to proliferate    names from the
word `TeX' -- such as TeXnician (TeX    user), TeXhacker (TeX
programmer), TeXmaster (competent    TeX programmer), TeXhax, and
TeXnique.  See also    {CrApTeX}.

   Knuth began TeX because he had become annoyed at the declining
quality of the typesetting in volumes I-III of his monumental    "Art
of Computer Programming" (see {Knuth}, also    {bible}).  In a
manifestation of the typical hackish urge to    solve the problem at
hand once and for all, he began to design his    own typesetting
language.  He thought he would finish it on his    sabbatical in 1978;
he was wrong by only about 8 years.  The    language was finally frozen
around 1985, but volume IV of "The    Art of Computer Programming" is
not expected to appear until 2002.     The impact and influence of
TeX's design has been such that    nobody minds this very much.  Many
grand hackish projects have    started as a bit of {toolsmith}ing on
the way to something else;    Knuth's diversion was simply on a grander
scale than most.

   TeX has also been a noteworthy example of free, shared, but
high-quality software.  Knuth offers a monetary awards to anyone    who
found and reported bugs dating from before the 1989 code    freeze; as
the years wore on and the few remaining bugs were fixed    (and new
ones even harder to find), the bribe went up.  Though    well-written,
TeX is so large (and so full of cutting edge    technique) that it is
said to have unearthed at least one bug in    every Pascal system it
has been compiled with.

*** New in 4.1.0. ***
:Troll-O-Meter: n.  Common Usenet jargon for a notional    instrument
used to measure the quality of a Usenet    {troll}. "Come on, everyone!
If the above doesn't set off the    Troll-O-Meter, we're going to have
to get him to run around with a    big blinking sign saying `I am a
troll, I'm only in it for the    controversy and flames' and shooting
random gobs of Jell-O(tm) at    us before the point is proven."
Mentions of the Troll-O-Meter are    often accompanied by an ASCII
picture of an arrow pointing at a    numeric scale. Compare {bogometer}.

*** New in 4.2.0. ***
:Tux:  Tux the Penguin is the official emblem of {Linux},    This
eventuated after a logo contest in 1996, during which Linus    Torvalds
endorsed the idea of a penguin logo in a couple of    famously funny
postings (http://www.woodsoup.org/~sbaker/tux/doc/).  Linus explained
that he was once bitten by a killer    penguin in Australia and has
felt a special affinity for the    species ever since.  (Linus has
since admitted that he was also    thinking of Feathers McGraw, the
evil-genius penguin jewel thief    who appeared in a Wallace & Grommit
feature cartoon, "The    Wrong Trousers".)

   Larry Ewing designed (http://www.isc.tamu.edu/~lewing/linux/)    the
official Tux logo.  It has proved a wise choice, amenable to
hundreds of recognizable variations used as emblems of    Linux-related
projects, products, and user groups. In fact, Tux has    spawned an
entire mythology, of which the    Gospel According to Tux
(http://www.ao.com/~regan/penguins/tux.html) and the mock-epic poem
"Tuxowolf" are among the    best-known examples.

   There is a `real' Tux - a black-footed penguin resident at the
Bristol Zoo.  Several friends of Linux bought a zoo sponsorship    for
Linus as a birthday present in 1996.

*** New in 4.1.0. ***
:UBE: // n.  [abbrev., Unsoliclited Bulk Email] A    widespread, more
formal term for email {spam}. Compare    {UCE}. The UBE term recognizes
that spam is uttered by nonprofit    and advocacy groups whose motives
are not commercial.

*** New in 4.1.0. ***
:UCE: n.  [abbrev., Unsolicited Commercial Email] A    widespread, more
formal term for email {spam}. Compare    {UBE}, which may be
superseding it.

*** New in 4.1.0. ***
:UDP:  /U-D-P/ v.,n.  [Usenet] Abbreviation for {Usenet    Death
Penalty}. Common (probably now more so than the full form),    and
frequently verbed. Compare {IDP}.

*** Changed in 4.2.2. ***
:UN*X: n.  Used to refer to the Unix operating system (a    trademark
of AT&T, then of Novell, then of SCO, and then of    Caldera) in
writing, but avoiding the need for the ugly    {(TM)} typography.
Also used to refer to any or all varieties of Unixoid operating
systems.  Ironically, lawyers now say that the requirement for the
trademark postfix has no legal force, but the asterisk usage is
entrenched anyhow.  It has been suggested that there may be a
psychological connection to practice in certain religions
(especially Judaism) in which the name of the deity is never    written
out in full, e.g., `YHWH' or `G-d' is used.  See also    {glob} and
{splat out}.

*** Changed in 4.2.2. ***
:Unix:: /yoo'niks/ n.  [In the authors' words, "A weak    pun on
Multics"; very early on it was `UNICS'] (also `UNIX') An    interactive
time-sharing system invented in 1969 by Ken Thompson    after Bell Labs
left the Multics project, originally so he could    play games on his
scavenged PDP-7.  Dennis Ritchie, the inventor of    C, is considered a
co-author of the system.  The turning point in    Unix's history came
when it was reimplemented almost entirely in C    during 1972-1974,
making it the first source-portable OS.  Unix    subsequently underwent
mutations and expansions at the hands of    many different people,
resulting in a uniquely flexible and    developer-friendly environment.
By 1991, Unix had become the most    widely used multiuser
general-purpose operating system in the world    - and since 1996 the
variiant called {Linux} has been at the    cutting edge of the {open
source} movement.  Many people    consider the success of Unix the most
important victory yet of    hackerdom over industry opposition (but see
{Unix weenie} and    {Unix conspiracy} for an opposing point of view).
See    {Version 7}, {BSD}, {USG Unix}, {Linux}.

   Some people are confused over whether this word is appropriately
`UNIX' or `Unix'; both forms are common, and used interchangeably.
Dennis Ritchie says that the `UNIX' spelling originally happened in
CACM's 1974 paper "The UNIX Time-Sharing System" because "we    had a
new typesetter and {troff} had just been invented and we    were
intoxicated by being able to produce small caps."  Later, dmr    tried
to get the spelling changed to `Unix' in a couple of Bell    Labs
papers, on the grounds that the word is not acronymic.  He    failed,
and eventually (his words) "wimped out" on the issue.     So, while the
trademark today is `UNIX', both capitalizations are    grounded in
ancient usage; the Jargon File uses `Unix' in deference    to dmr's
wishes.

*** New in 4.1.0. ***
:Usenet Death Penalty:  [Usenet] A sanction against sites that
habitually spew Usenet {spam}. This can be either passive or    active.
A passive UDP refers to the dropping of all postings by a
particular domain so as to inhibit propagation.  An active UDP
refers to third-party cancellation of all postings by the UDPed
domain.  A partial UDP is one which applies only to certain
newsgroups or hierarchies in Usenet.  Compare {Internet Death
Penalty}, with which this term is sometimes confused.

*** Changed in 4.2.0, 4.2.2. ***
:Vulcan nerve pinch: n.  [from the old "Star Trek" TV    series via
Commodore Amiga hackers] The keyboard combination that    forces a
soft-boot or jump to ROM monitor (on machines that support    such a
feature).  On PC clones this is Ctrl-Alt-Del; on Suns,    L1-A; on
Macintoshes, it is <Cmd>-<Power switch> or    <CMD>-<CTRL>-<POWER>!
Also called {three-finger salute}.     Compare {quadruple bucky}.

*** New in 4.1.3. ***
:W2K bug:  [from `Y2K bug' for the Year 2000 problem] The    upcoming
deployment of Microsoft's Windows 2000 operating system,    which
hackers generally expect will be among the worst train wrecks    in the
history of software engineering.  Such is the power of    Microsoft
marketing, however, that it is also expected this will    not become
obvious until it has incurred hundreds of millions of    dollars in
downtime and lost opportunity costs.

*** Changed in 4.1.0. ***
:WAITS:: /wayts/ n.  The mutant cousin of {{TOPS-10}} used    on a
handful of systems at {{SAIL}} up to 1990.  There was never    an
`official' expansion of WAITS (the name itself having been    arrived
at by a rather sideways process), but it was frequently    glossed as
`West-coast Alternative to ITS'.  Though WAITS was less    visible than
ITS, there was frequent exchange of people and ideas    between the two
communities, and innovations pioneered at WAITS    exerted enormous
indirect influence.  The early screen modes of    {EMACS}, for example,
were directly inspired by WAITS's `E'    editor -- one of a family of
editors that were the first to do    `real-time editing', in which the
editing commands were invisible    and where one typed text at the
point of insertion/overwriting.     The modern style of multi-region
windowing is said to have    originated there, and WAITS alumni at
XEROX PARC and elsewhere    played major roles in the developments that
led to the XEROX Star,    the Macintosh, and the Sun workstations.
Also invented there were    {bucky bits} -- thus, the ALT key on every
IBM PC is a WAITS    legacy.  One WAITS feature very notable in pre-Web
days was    a news-wire interface that allowed WAITS hackers to read,
store,    and filter AP and UPI dispatches from their terminals; the
system    also featured a still-unusual level of support for what is now
  called `multimedia' computing, allowing analog audio and video
signals to be switched to programming terminals.

*** Changed in 4.2.1. ***
:WYSIWYG: /wiz'ee-wig/ adj.  [Traced to Flip Wilson's    "Geraldine"
character c.1970] Describes a user interface    under which "What You
See Is What You Get", as opposed to one    that uses more-or-less
obscure commands that do not result in    immediate visual feedback.
True WYSIWYG in environments supporting    multiple fonts or graphics
is a a rarely-attained ideal; there are    variants of this term to
express real-world manifestations    including WYSIAWYG (What You See
Is _Almost_ What You Get) and    WYSIMOLWYG (What You See Is More or
Less What You Get).  All these    can be mildly derogatory, as they are
often used to refer to    dumbed-down {user-friendly} interfaces
targeted at    non-programmers; a hacker has no fear of obscure
commands (compare    {WYSIAYG}).  On the other hand, {EMACS} was one of
the very    first WYSIWYG editors, replacing (actually, at first
overlaying)    the extremely obscure, command-based {TECO}.  See also
{WIMP    environment}.  [Oddly enough, WYSIWYG has already made it into
the    OED, in lower case yet. --ESR]

*** Changed in 4.1.0. ***
:Weenix: /wee'niks/ n.   1. [ITS] A derogatory term for    {{Unix}},
derived from {Unix weenie}.  According to one noted    ex-ITSer, it is
"the operating system preferred by Unix Weenies:    typified by poor
modularity, poor reliability, hard file deletion,    no file version
numbers, case sensitivity everywhere, and users who    believe that
these are all advantages".  (Some ITS fans behave as    though they
believe Unix stole a future that rightfully belonged to    them.  See
{{ITS}}, sense 2.)  2. [Brown University] A Unix-like    OS developed
for tutorial purposes at Brown University.  See
`http://www.cs.brown.edu/courses/cs167/weenix.html'.  Named
independently of the ITS usage.

*** Changed in 4.1.0. ***
:Winchester:: n.  Informal generic term for    sealed-enclosure
magnetic-disk drives in which the read-write head    planes over the
disk surface on an air cushion.  There is a legend    that the name
arose because the original 1973 engineering prototype    for what later
became the IBM 3340 featured two 30-megabyte    volumes; 30-30 became
`Winchester' when somebody noticed the    similarity to the common term
for a famous Winchester rifle (in the    latter, the first 30 referred
to caliber and the second to the    grain weight of the charge).  (It
is sometimes incorrectly claimed    that Winchester was the laboratory
in which the technology was    developed.)

*** New in 4.1.0. ***
:Wintel: n.  Microsoft Windows plus Intel - the tacit    alliance that
dominated desktop computing in the 1990s.  Now (1999)    possibly on
the verge of breaking up under pressure from    {Linux}; see {Lintel}.

*** New in 4.2.0. ***
:YHBT: //  [Usenet: very common]  Abbreviation: You Have    Been
Trolled (see {troll}, sense 1).  Especially used in    "YHBT.  YHL.
HAND.", which is widely understood to expand to    "You Have Been
Trolled.  You Have Lost.  Have A Nice Day".  You    are quite likely to
see this if you respond incautiously to    a flame-provoking post that
was obviously floated as sucker bait.

*** Changed in 4.1.3. ***
:You are not expected to understand this: [Unix] cav.  The    canonical
comment describing something {magic} or too    complicated to bother
explaining properly.  From an infamous    comment in the
context-switching code of the V6 Unix kernel.     Dennis Ritchie has
explained this in detail
(http://cm.bell-labs.com/cm/cs/who/dmr/odd.html).

*** Changed in 4.2.0. ***
:You know you've been hacking too long when:  The    set-up line for a
genre of one-liners told by hackers about    themselves.  These include
the following:


   *    not only do you check your email more often than your paper
     mail, but you remember your {network address} faster than your
     postal one.

   *    your {SO} kisses you on the neck and the first thing you
     think is "Uh, oh, {priority interrupt}."

   *    you go to balance your checkbook and discover that you're
     doing it in octal.

   *    your computers have a higher street value than your car.

   *    in your universe, `round numbers' are powers of 2, not 10.

   *    more than once, you have woken up recalling a dream in    some
     programming language.

   *    you realize you have never seen half of your best friends.



A list (http://albrecht.ecn.purdue.edu/~taylor/humor/hack.html)    list
of these can be found by searching for this phrase on the web.

   [An early version of this entry said "All but one of these    have
been reliably reported as hacker traits (some of them quite    often).
Even hackers may have trouble spotting the ringer."  The    ringer was
balancing one's checkbook in octal, which I made up out    of whole
cloth.  Although more respondents picked that one    out as fiction
than any of the others, I also received multiple    independent reports
of its actually happening, most famously    to Grace Hopper while she
was working with BINAC in 1949. --ESR]

*** New in 4.2.2. ***
:Zawinski's Law:  "Every program attempts to expand until it    can
read mail. Those programs which cannot so expand are replaced    by
ones which can."  Coined by Jamie Zawinski (who called it the    "Law
of Software Envelopment") to express his belief that all    truly
useful programs experience pressure to evolve into toolkits    and
application platforms (the mailer thing, he says, is just a    side
effect of that).  It is commonly cited, though with widely    varying
degrees of accuracy.

*** New in 4.1.0. ***
: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}.

*** Changed in 4.1.3. ***
: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}.

*** New in 4.1.0. ***
: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."

*** Changed in 4.1.0. ***
:alt: /awlt/  1. n. The alt shift key on an IBM PC or    {clone}
keyboard; see {bucky bits}, sense 2 (though typical    PC usage does
not simply set the 0200 bit).  2. n. The `option'    key on a
Macintosh; use of this term usually reveals that the    speaker hacked
PCs before coming to the Mac (see also {feature    key}, which is
sometimes _incorrectly_ called `alt').     3. n.,obs.  [PDP-10; often
capitalized to ALT] Alternate name    for the ASCII ESC character
(ASCII 0011011), after the keycap    labeling on some older terminals;
also `altmode' (/awlt'mohd/).     This character was almost never
pronounced `escape' on an ITS    system, in {TECO}, or under TOPS-10 --
always alt, as in "Type    alt alt to end a TECO command" or "alt-U
onto the system" (for    "log onto the [ITS] system").  This usage
probably arose because    alt is more convenient to say than `escape',
especially when    followed by another alt or a character (or another
alt _and_ a    character, for that matter).  4. The alt hierarchy on
Usenet,    the tree of newsgroups created by users without a formal
vote and    approval procedure.  There is a myth, not entirely
implausible,    that alt is acronymic for "anarchists, lunatics, and
terrorists"; but in fact it is simply short for "alternative".

*** New in 4.1.0. ***
:ambimouseterous: /am-b*-mows'ter-us/ or /am-b*-mows'trus/    adj.
[modeled on ambidextrous]    Able to use a mouse with either hand.

*** New in 4.1.0. Changed in 4.1.1. ***
: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}.

*** New in 4.1.0. ***
:astroturfing: n.  The use of paid shills to create the    impression
of a popular movement, through means like letters to    newspapers from
soi-disant `concerned citizens', paid opinion    pieces, and the
formation of grass-roots lobbying groups that are    actually funded by
a PR group (astroturf is fake grass; hence the    term).  This term
became common among hackers after it came to    light in early 1998
that Microsoft had attempted to use such    tactics to forestall the
U.S. Department of Justice's antitrust    action against the company.

   This backfired horribly, angering a number of state
attorneys-general enough to induce them to go public with plans to
join the Federal suit.  It also set anybody defending Microsoft on
the net for the accusation "You're just astroturfing!".

*** Changed in 4.1.0. ***
:avatar: n. Syn.  [in Hindu mythology, the incarnation of    a god] 1.
Among people working on virtual reality and    {cyberspace} interfaces,
an "avatar" is an icon or    representation of a user in a shared
virtual reality.  The term is    sometimes used on {MUD}s.  2. [CMU,
Tektronix] {root},    {superuser}.  There are quite a few Unix machines
on which the    name of the superuser account is `avatar' rather than
`root'.     This quirk was originated by a CMU hacker who found the
terms    `root' and  `superuser' unimaginative, and thought `avatar'
might better impress people with the responsibility they were
accepting.

*** Changed in 4.1.0. ***
: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".

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

   [1996 update: This term is seldom heard any more.  The UUCP network
 world that gave it meaning has nearly disappeared; everyone is on
the Internet now and network traffic is distributed in very
different patterns.  Today one might see references to a `backbone
router' instead --ESR]

*** New in 4.1.0. ***
:backreference: n.  1. In a regular expression or pattern    match, the
text which was matched within grouping parentheses    parentheses. 2.
The part of the pattern which refers back to the    matched text. 3. By
extension, anything which refers back to    something which has been
seen or discussed before.  "When you said    `she' just now, who were
you backreferencing?"

*** New in 4.1.0. ***
: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 {BASIC}, {recursive acronym}    (Cygnus), {Acme}, and
{mung}.  Discovering backronyms is a    common form of wordplay among
hackers.  Compare {retcon}.

*** Changed in 4.1.1. ***
:backspace and overstrike: interj.  [rare] Whoa!  Back up.     Used to
suggest that someone just said or did something wrong.     Once common
among APL programmers; may now be obsolete.

*** New in 4.2.0. ***
: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 (see examples below).  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; 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 backedup 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."

*** Changed in 4.1.1. ***
:bandwidth: n.  1. [common] Used by hackers (in a    generalization of
its technical meaning) as the volume of    information per unit time
that a computer, person, or transmission    medium can handle.  "Those
are amazing graphics, but I missed some    of the detail -- not enough
bandwidth, I guess."  Compare    {low-bandwidth}.  This generalized
usage began to go mainstream    after the Internet population explosion
of 1993-1994.  2. Attention    span.  3. On {Usenet}, a measure of
network capacity that is    often wasted by people complaining about
how items posted by others    are a waste of bandwidth.

*** Changed in 4.1.1. ***
:banner: n.  1. The title page added to printouts by most    print
spoolers (see {spool}).  Typically includes user or    account ID
information in very large character-graphics capitals.     Also called
a `burst page', because it indicates where to burst    (tear apart)
fanfold paper to separate one user's printout from the    next.  2. A
similar printout generated (typically on multiple pages    of fan-fold
paper) from user-specified text, e.g., by a program    such as Unix's
`banner({1,6})'.  3. On interactive software,    a first screen
containing a logo and/or author credits and/or a    copyright notice.
This is probably now the commonest sense.

*** New in 4.1.1. ***
:banner ad: n.  Any of the annoying graphical    advertisements that
span the tops of way too many Web    pages.

*** New in 4.2.2. ***
:banner site: n.  [warez d00dz] A 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}.

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

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
: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 Comite' Consultatif
International Des Communications Te'le'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.

*** Changed in 4.2.0. ***
:baud barf: /bawd barf/ n.  The garbage one gets a    terminal (or
terminal emulator) when using a modem connection with    some protocol
setting (esp. line speed) incorrect, or when    someone picks up a
voice extension on the same line, or when really    bad line noise
disrupts the connection.  Baud barf is not    completely {random}, by
the way; hackers with a lot of    serial-line experience can usually
tell whether the device at the    other end is expecting a higher or
lower speed than the terminal is    set to.  _Really_ experienced ones
can identify particular    speeds.

*** New in 4.1.0. Changed in 4.1.2. ***
:bazaar: n.,adj.  In 1997, after meditatating 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
(http://www.tuxedo.org/~esr/writings/cathedral-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.

*** Changed in 4.1.1, 4.1.2. ***
: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}.

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
:beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n.     1. Mostly
working, but still under test; usu. used with `in': `in    beta'.  In
the {Real World}, systems (hardware or software)    software often go
through two stages of release testing: Alpha    (in-house) and Beta
(out-house?).  Beta releases are generally made    to a group of lucky
(or unlucky) trusted customers.     2. Anything that is new and
experimental.  "His girlfriend is in    beta" means that he is still
testing for compatibility and    reserving judgment.  3. Flaky;
dubious; suspect (since beta    software is notoriously buggy).

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

*** New in 4.1.3. ***
: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.

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

*** Changed in 4.2.2. ***
:bit: n.  [from the mainstream meaning and `Binary digIT']    1.
[techspeak] The unit of information; the amount of information
obtained by asking a yes-or-no question for which the two outcomes
are equally probable.  2. [techspeak] A computational quantity that
can take on one of two values, such as true and false or 0 and 1.
3. A mental flag: a reminder that something should be done
eventually.  "I have a bit set for you."  (I haven't seen you for    a
while, and I'm supposed to tell or ask you something.)  4. More
generally, a (possibly incorrect) mental state of belief.  "I have    a
bit set that says that you were the last guy to hack on EMACS."
(Meaning "I think you were the last guy to hack on EMACS, and what    I
am about to say is predicated on this, so please stop me if this
isn't true.")

   "I just need one bit from you" is a polite way of indicating that
you intend only a short interruption for a question that can
presumably be answered yes or no.

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

   The term `bit' first appeared in print in the computer-science
sense in 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.

*** Changed in 4.1.0, 4.2.0. ***
: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.

*** New in 4.1.1. ***
:bixen: pl.n.  Users of BIX (the BIX Information eXchange,    formerly
the Byte Information eXchange). Parallels other plurals    like boxen,
{VAXen}, oxen.

*** Changed in 4.1.0, 4.1.1. ***
:bixie: /bik'see/ n.  Variant {emoticon}s used on BIX    (the BIX
Information eXchange).  The most common ({smiley})    bixie is <@_@>,
representing two cartoon eyes and a mouth.  These    were originally
invented in an SF fanzine called APA-L and imported    to BIX by one of
the earliest users.

*** Changed in 4.1.1. ***
: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}.

*** Changed in 4.1.2, 4.2.2. ***
:blink: vi.,n.  To use a navigator or off-line message    reader to
minimize time spent on-line to a commercial network    service (a
necessity in many places outside the U.S. where the    telecoms
monopolies charge per-minute for local calls).  This term    attained
wide use in the UK, but is rare or unknown in the US.

*** Changed in 4.1.0, 4.1.1, 4.2.0. ***
:blinkenlights: /blink'*n-li:tz/ n.  [common] Front-panel    diagnostic
lights on a computer, esp. a {dinosaur}.  Now that    dinosaurs are
rare, this term usually refers to status lights on a    modem, network
hub, or the like.

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


                    ACHTUNG!  ALLES LOOKENSPEEPERS!

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



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

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


                               ATTENTION

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



See also {geef}.

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

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


                    ACHTUNG! ALLES LOOKENSPEEPERS!

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

   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.

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.2. ***
: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 mainstreanm    slang `bodge'
for a clumsy improvisation or sloppy job of work.     Compare {purple
wire}, {red wire}, {yellow wire}, {pink    wire}.

*** New in 4.1.0. ***
:bob: n.  At Demon Internet (http://www.demon.net/),    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 inexorably snowballed.  Shift leaders and managers
began to refer to their groups of "bobs".  Whole ranks of support
machines were set up (and still exist in the DNS as of 1999) as    bob1
through bobN. Then came alt.tech-support.recovery, and    it was filled
with Demon support personnel.  They    all referred to themselves, and
to others, as `bob', and after a while it    caught on.   There is now a
  Bob Code (http://bob.bob.bofh.org/~giolla/bobcode.html)
describing the Bob nature.

*** Changed in 4.1.0. ***
: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".

*** Changed in 4.1.3. ***
: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}.

*** New in 4.1.2. Changed in 4.2.0. ***
:borken: adj.  (also `borked') Common deliberate typo for    `broken'.

*** New in 4.1.0. Changed in 4.2.0, 4.2.2. ***
: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.

*** New in 4.1.1. ***
:bot spot: n.  [MUD] The user on a MUD with the longest    connect
time.  Derives from the fact that {bot}s on MUDS often    stay
constantly connected and appear at the bottom of the list.

*** Changed in 4.2.2. ***
: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.)

*** Changed in 4.1.0. ***
: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. [Stanford] To play volleyball.  The    now-demolished {D.
C. Power Lab} building used by the Stanford    AI Lab in the 1970s had
a volleyball court on the front lawn.  From    5 P.M. to 7 P.M. was the
scheduled maintenance time for the    computer, so every afternoon at 5
would come over the intercom the    cry: "Now hear this: bounce,
bounce!", followed by Brian McCune    loudly bouncing a volleyball on
the floor outside the offices of    known volleyballers.  3. 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}.  4. To casually    reboot a system in order to clear up a
transient problem.  Reported    primarily among {VMS} and {Unix} users.
5.  [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.

*** Changed in 4.1.0, 4.2.2. ***
: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 `footrinting').

*** Changed in 4.2.0. ***
: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}.

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
: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.

*** Changed in 4.1.1. ***
: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}.

*** Changed in 4.1.0. ***
: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.

   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 stereotype 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 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]

*** Changed in 4.1.1. ***
: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}.

*** New in 4.2.2. ***
: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 embarassing even in a programming    assignment
turned in by a computer science college sophomore."

*** Changed in 4.1.0. ***
:bum:  1. vt. To make highly efficient, either in time or    space,
often at the expense of clarity.  "I managed to bum three    more
instructions out of that code."  "I spent half the night    bumming the
interrupt code."  In 1996, this term and the practice it    describes
are semi-obsolete. In {elder days}, John McCarthy    (inventor of
{LISP}) used to compare some efficiency-obsessed    hackers among his
students to "ski bums"; thus, optimization    became "program bumming",
and eventually just "bumming".  2. To    squeeze out excess; to remove
something in order to improve    whatever it was removed from (without
changing function; this    distinguishes the process from a
{featurectomy}).  3. n. A small    change to an algorithm, program, or
hardware device to make it more    efficient.  "This hardware bum makes
the jump instruction    faster."  Usage: now uncommon, largely
superseded by v. {tune}    (and n. {tweak}, {hack}), though none of
these exactly    capture sense 2.  All these uses are rare in
Commonwealth hackish,    because in the parent dialects of English the
noun `bum' is a rude synonym    for `buttocks' and the verb `bum' for
buggery.

*** Changed in 4.2.2. ***
: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    time-sharing 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'.

*** Changed in 4.2.0. ***
: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."

*** New in 4.1.0. ***
:byte sex: n.  [common] The byte sex of hardware is    {big-endian} or
{little-endian}; see those entries.

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
: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]

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
: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. obs. 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, and it
may now be mainstream; it has been    reported seen (1993) in
directions for a card-based voting machine    in California.

   Historical note: One correspondent believes `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'.  There is a    legend that
the word was originally acronymic, standing for    "Card Hole Aggregate
Debris", but this has all the earmarks of    a {backronym}.

*** Changed in 4.2.1, 4.2.2. ***
: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.

*** New in 4.2.0. ***
:cheerfully: adv.   See {happily}.

*** Changed in 4.2.1, 4.2.2. ***
: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 (see {amoeba}), Commodore's
machines were notoriously    crocky little {bitty box}es (see also
{PETSCII}), 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.

*** Changed in 4.1.0. ***
: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.

*** New in 4.1.1. ***
:clock:  1. n 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
100MHz, 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."

*** New in 4.1.0. Changed in 4.2.1, 4.2.2. ***
: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 strike you with
the great sword Clue-Bringer!"

*** New in 4.2.2. ***
: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 bandwidthm.     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.

*** New in 4.1.0. Changed in 4.1.2. ***
: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.

*** New in 4.1.0. ***
:cobweb site: n.  A World Wide Web Site that hasn't been    updated so
long it has figuratively grown cobwebs.

*** New in 4.1.1. ***
:code: 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.
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."
Anyone referring to software as "the software    codes" is probably a
{newbie} or a {suit}.

*** New in 4.2.0. ***
: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."

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
:compress: [Unix] vt.  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.

*** Changed in 4.1.0. ***
: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.
The KL-10 Massbus connector was    actually _patented_ by {DEC}, which
reputedly refused to    license the design and thus effectively locked
third parties out of    competition for the lucrative Massbus
peripherals market.  This    policy is a source of never-ending
frustration for the diehards who    maintain older PDP-10 or VAX
systems.  Their CPUs work fine, but    they are stuck with dying,
obsolescent disk and tape drives with    low capacity and high power
requirements.

   (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}.

*** Changed in 4.1.1. ***
: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').
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).

*** Changed in 4.1.2, 4.1.2. ***
: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).  Compare {magic cookie};    see also {fortune
cookie}.  Now mainstream in the specific sense    of web-browser
cookies.

*** New in 4.2.0. ***
: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".

*** New in 4.1.0. ***
: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.

*** New in 4.2.1. ***
: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}.

*** New in 4.1.0. Changed in 4.1.1, 4.1.3, 4.2.2, 4.2.2. ***
: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. There are plausible reports    that it was in use on
talk.bizarre as early as 1992. Compare    {hing}, {grilf}, {filk},
{newsfroup}.

*** New in 4.2.2. ***
: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 developper 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}.

*** New in 4.1.0. ***
: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'.

*** Changed in 4.1.3. ***
:crayon: n.  1. Someone who works on Cray supercomputers.     More
specifically, it implies a programmer, probably of the CDC    ilk,
probably male, and almost certainly wearing a tie    (irrespective of
gender).  Systems types who have a Unix background    tend not to be
described as crayons.  2. Formerly, anyone who    worked for Cray
Research; since the buyout by SGI, anyone they    inherited from Cray.
3. A {computron} (sense 2)    that participates only in
{number-crunching}.  4. A unit of    computational power equal to that
of a single Cray-1.  There is a    standard joke about this usage that
derives from an old Crayola    crayon promotional gimmick: When you buy
64 crayons you get a free    sharpener.

*** New in 4.2.2. ***
: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 ananonymized networks    like Gnutella and
Freenet.

*** New in 4.1.1. ***
: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.

*** Changed in 4.1.0. ***
:cycle crunch: n.,obs.  A situation wherein the number of    people
trying to use a computer simultaneously has reached the    point where
no one can get enough cycles because they are spread    too thin and
the system has probably begun to {thrash}.  This    scenario is an
inevitable result of Parkinson's Law applied to    timesharing.
Usually the only solution is to buy more computer.     Happily, this
has rapidly become easier since the mid-1980s, so    much so that the
very term `cycle crunch' now has a faintly archaic    flavor; most
hackers now use workstations or personal computers as    opposed to
traditional timesharing systems, and are far more likely    to complain
of `bandwidth crunch' on their shared networks rather than    cycle
crunch.

*** Changed in 4.1.1. ***
: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.

*** Changed in 4.2.0. ***
:daemon: /day'mn/ or /dee'mn/ n.  [from the mythological    meaning,
later rationalized as the acronym `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.

*** Changed in 4.1.0. ***
: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, SBN    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 devil (a visual
play on {daemon}) in    sneakers, holding a pitchfork (referring to one
of the    characteristic features of Unix, the `fork(2)' system call).
  Also known as the {Devil Book}.

*** New in 4.1.0. ***
: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).

*** New in 4.2.2. ***
: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}).

*** Changed in 4.1.0, 4.2.0. ***
:defenestration: n.  [mythically from a traditional Czech
assasination method, via SF fandom] 1. Proper karmic retribution    for
an incorrigible punster.  "Oh, ghod, that was _awful_!"     "Quick!
Defenestrate him!"  2. 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.  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. The act of    completely removing Micro$oft Windows from a
PC in favor of a    better OS (typically Linux).

*** New in 4.2.2. ***
: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>".

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.1, 4.2.1. ***
: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}.

*** Changed in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
:demoeffect: n.  [{demoscene}] 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).

*** New in 4.1.0. ***
: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]

*** New in 4.1.0. ***
: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.

*** New in 4.1.0. ***
: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 of
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 and began to build    self-contained display hacks of
considerable elaboration and beauty    (within the culture such a hack
is called a {demo}).  The split    seems to have happened at the end of
the 1980s.  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
demosceneers frown at this, but the majority think    it's a good
direction.  Many demosceneers 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/'.

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.2. ***
: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 `depreciate', or the verb
form    `deprecate' with `depreciated`.  They are different words; see
any    dictionary for discussion.]

*** Changed in 4.1.0. ***
:derf: /derf/ v.,n.  [PLATO] 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.

*** Changed in 4.1.0. ***
:digit: n.,obs.  An employee of Digital Equipment    Corporation.  See
also {VAX}, {VMS}, {PDP-10},    {{TOPS-10}}, {field circus}.

*** Changed in 4.1.0, 4.1.2. ***
:dinosaurs mating: n.  Said to occur when yet another    {big iron}
merger or buyout occurs; reflects a perception by    hackers that these
signal another stage in the long, slow dying of    the {mainframe}
industry.  In its glory days of the 1960s, it    was `IBM and the Seven
Dwarves': 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.  More such earth-shaking
unions of doomed giants seem    inevitable.

*** Changed in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
: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'.

*** Changed in 4.1.3, 4.2.2. ***
: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    for
{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.

*** New in 4.2.2. ***
:distro: n.  Synonym for {distribution}, sense 1.

*** Changed in 4.1.1, 4.2.0, 4.2.1, 4.2.2. ***
: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.  Sadly, Apple has    removed the pages that used to describe
the dogcow.

*** New in 4.1.0. Changed in 4.1.1, 4.1.2. ***
: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.

*** Changed in 4.1.2, 4.2.2. ***
: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 do derive    from an
`autobiographical' Bugs Bunny cartoon in which a gang    of attacking
canines actually yells "Dogpile on the rabbit!".

*** Changed in 4.2.0, 4.2.2. ***
: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 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 RJ45 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]

*** Changed in 4.2.0. ***
: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.

*** Changed in 4.1.0. ***
: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".

*** New in 4.2.0. ***
: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.

*** Changed in 4.2.1. ***
: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 is said to
include the    line "Do not dangle the mouse by the cord or throw it at
  coworkers.", but this sounds like parody.

*** New in 4.2.0. ***
: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'.

*** Changed in 4.1.0, 4.1.1. ***
:eat flaming death: imp.  A construction popularized among    hackers
by the infamous {CPU Wars} comic; supposedly derive 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 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!"

*** New in 4.2.0. ***
:ed: n.  "ed is the standard text editor." Line taken    from original
the {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).

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.1. ***
: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},    {card walloper}.  A
copy of "The Last Bug" lives on the    the GNU site at
`http://www.gnu.org/fun/jokes/last.bug.html'.

*** Changed in 4.1.0, 4.1.1. ***
: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 `eleet', and `31337' (among
others) have been sighted.

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

*** Changed in 4.1.0. ***
: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    `Bo"cklin', an art-Noveau
display font.

*** Changed in 4.1.0. ***
: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.

   It appears that the emoticon was invented by one Scott Fahlman on
the CMU {bboard} systems sometime between early 1981 and    mid-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."  [GLS confirms that he remembers this
original posting].

   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.

*** Changed in 4.1.2. ***
: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.

*** New in 4.1.0. ***
:eurodemo: /yoor'o-dem`-o/  a {demo}, sense 4

*** New in 4.1.0. Changed in 4.1.1. ***
: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,

*** Changed in 4.1.2, 4.1.3. ***
: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.

*** New in 4.1.3. ***
: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?")

*** Changed in 4.2.0. ***
: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}.

*** Changed in 4.1.0. ***
:farming: n.  [Adelaide University, Australia] What the heads    of a
disk drive are said to do when they plow little furrows in the
magnetic media.  Associated with a {crash}.  Typically used as
follows: "Oh no, the machine has just crashed; I hope the hard    drive
hasn't gone {farming} again." No longer common; modern    drives
automatically park their heads in a safe zone on    power-down, so it
takes a real mechanical problem to induce this.

*** New in 4.2.0. ***
: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.

*** Changed in 4.1.1. ***
: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!"

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

*** Changed in 4.1.0, 4.1.3, 4.2.0. ***
: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 `seva"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.

*** New in 4.2.2. ***
: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.

*** Changed in 4.1.0, 4.1.0. ***
: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 Compaq regime, is located
in Maynard, Massachusetts.)

*** Changed in 4.1.0, 4.1.0. ***
:filk: /filk/ n.,v.  [from SF fandom, where a typo for    `folk' was
adopted as a new word] 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.  There
is a flourishing subgenre of these 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}.

*** Changed in 4.1.0. ***
: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.)

*** Changed in 4.1.1. ***
: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}.

   [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]

*** Changed in 4.2.0. ***
: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.

*** New in 4.1.1. ***
: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.

*** Changed in 4.2.2. ***
: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
massive change was made to the {{Multics}} timesharing    system to
convert from the short-lived 1965 version of the ASCII    code to the
1967 version (in draft at the time); this was scheduled    for Flag Day
(a U.S. holiday), June 14, 1966.  The actual change    moved the code
point for the ASCII newline character; this required    that all of the
Multics source code, documentation, and device    drivers be changed
simultaneously.  See also    {backward combatability}.

*** Changed in 4.1.3, 4.2.0, 4.2.0. ***
: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.

*** New in 4.2.2. ***
: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 (this
may also be called {slashdot effect}).

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.1.2, 4.2.2. ***
: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.

*** Changed in 4.2.0, 4.2.0. ***
: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},    {corge}, {grault}, {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'), 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 popular in the 1930s,    which
frequently included the word "foo".  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".
According to the    Warner Brothers Cartoon Companion
(http://www.spumco.com/magazine/eowbcc/) 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 may have    been the Chinese word `fu' (sometimes
transliterated `foo'),    which can mean "happiness" when spoken with
the proper 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) but with their origins rapidly forgotten.

   One place they are 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).  Informants connected the term to the Smokey
Stover strip.

   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, only then 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.

*** Changed in 4.1.0, 4.1.0, 4.2.0. ***
: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}.

*** New in 4.2.2. ***
: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 http://www.xemacs.org/About/XEmacsVsGNUemacs.html (Emacs/XEmacs
fork), the GCC/EGCS    fork (later healed by a merger) and the forks
among the FreeBSD,    NetBSD, and OpenBSD operating systems.

*** Changed in 4.2.2. ***
: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 ).  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 project, 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}.

*** New in 4.1.0. ***
: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}.

*** New in 4.2.0. ***
: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.  See also {open source}.

*** New in 4.1.0. ***
:fscking: /fus'-king/ or /eff'-seek-ing/ adj.     [Usenet; common]
Fucking, in the expletive sense (it refers to the    Unix
filesystem-repair command fsck(1), 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?"

*** New in 4.1.0. ***
: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).

*** New in 4.2.2. ***
: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.

*** New in 4.2.2. ***
:ginger:  n.  See {saga}.

*** Changed in 4.1.1. ***
: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.

*** New in 4.2.0. ***
: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.

*** Changed in 4.1.0. ***
: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".

*** Changed in 4.1.0. ***
:gonk: /gonk/ vi.,n.  1. 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}.

*** Changed in 4.1.1. ***
: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.

*** Changed in 4.1.0. ***
: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}.

*** Changed in 4.2.2. ***
: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.

*** New in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
: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 also been alleged that the source is from the title of a
paper "A General Regular Expression Parser" -ESR]

*** New in 4.1.0. ***
:gribble: n.  Random binary data rendered as unreadable    text. Noise
characters in a data stream are displayed as    gribble. Modems with
mismatched bitrates usually generate gribble    (more specifically,
{baud barf}). Dumping a binary file to the    screen is an excellent
source of gribble, and (if the bell/speaker    is active) headaches.

*** New in 4.1.0. ***
: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 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 themselves.

   All this folklore is widely known among hackers.

*** New in 4.1.0. ***
:gunpowder chicken: n.  Same as {laser chicken}.

*** Changed in 4.1.0, 4.1.1, 4.2.0. ***
: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).

*** Changed in 4.1.1. ***
: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.  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."

*** Changed in 4.1.0. ***
: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} and    {Internet
address}).  For discussion of some of the basics of    this culture,
see the    How To Become A Hacker
(http://www.tuxedo.org/~esr/faqs/hacker-howto.html) 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 {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.

*** Changed in 4.1.0, 4.1.2. ***
: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."

*** Changed in 4.1.0, 4.2.2. ***
: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}.

   A well-known result in topology called the Brouwer Fixed-Point
Theorem states that any continuous transformation of a 2-sphere into
itself has at least one fixed 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."

   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.

*** Changed in 4.1.0. ***
: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}.

*** Changed in 4.2.0. ***
: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." Neverheless, 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.

*** Changed in 4.2.0. ***
: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.

*** Changed in 4.1.2. ***
: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...).

*** Changed in 4.2.1, 4.2.1. ***
: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. {USG Unix}, {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}.

*** New in 4.2.2. ***
:honey pot: n.  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 it's
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".

*** Changed in 4.1.0. ***
: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}, {bum}, {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.

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.1.0. ***
: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 early 1999, 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.

*** Changed in 4.2.0. ***
: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}.

*** Changed in 4.1.0. ***
: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]

*** New in 4.2.2. ***
: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.

*** New in 4.1.0. ***
: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}.

*** New in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
:jolix: /joh'liks/ n.,adj.  386BSD, the freeware port of    the BSD
Net/2 release to the Intel i386 architecture by Bill    Jolitz, Lynne
Greer Jolitz, and friends.  Used to differentiate    from BSDI's port
based on the same source tape, which used to be    called BSD/386 and
is now BSD/OS.  See {BSD}.

*** Changed in 4.1.2, 4.2.2. ***
: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.

*** New in 4.2.1. Changed in 4.2.2. ***
: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}.

*** Changed in 4.2.2, 4.2.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.  Compare    {gun}.
2. To reboot a machine or kill a running process.  "The    server's
down, let me go kick it."

*** Changed in 4.2.0. ***
:kluge: /klooj/  [from the German `klug', clever; poss.     related to
Polish `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.

   {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 above; 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.

*** New in 4.1.0. ***
: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".

*** New in 4.1.1. ***
: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 Rinzei Zen Buddhism).  Hackers are    very
fond of the koan form and compose their own koans for    humororous
and/or enlightening effect.  See {Some AI Koans},    {has the X
nature}, {hacker humor}.

*** Changed in 4.2.0. ***
:kyrka: /chur'ka/ n.  [Swedish] See {feature key}.

*** New in 4.1.0. ***
:lag: n.  [MUD, IRC; very common] When used without    qualification
this is synomous with {netlag}.  Curiously, people    will often
complain "I'm really lagged" when in fact it is their    server or
network connection that is lagging.

*** Changed in 4.1.0, 4.1.0. ***
:lamer: n.   [prob. originated in skateboarder slang]    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.

*** Changed in 4.1.0, 4.1.0. ***
:languages of choice: n.  {C}, {C++}, {LISP}, and    {Perl}.  Nearly
every hacker knows one of C or LISP, and most    good ones are fluent
in both.  C++, despite some serious drawbacks,    is generally
preferred to other object-oriented languages (though    in 1999 it
looks as though {Java} has displaced it in the affections    of
hackers, if not everywhere).  Since around 1990 Perl has rapidly
been gaining favor, especially as a tool for systems-administration
utilities and rapid prototyping.  {Python}, Smalltalk and Prolog are
also popular in small but influential communities.

   There is also a rapidly dwindling category of older hackers with
FORTRAN, or even assembler, as their language of choice.  They    often
prefer to be known as {Real Programmer}s, and other    hackers consider
them a bit odd (see "{The Story of    Mel}" in Appendix A).  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 {card walloper} languages as a total and    unmitigated
{loss}.

*** Changed in 4.1.1. ***
: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}, {rib    site}.  Now that traffic
patterns depend more on the distribution    of routers than of host
machines this term has largely fallen out    of use.

*** Changed in 4.2.1, 4.2.2. ***
: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.  2. v. [common, Toronto
area] To instantly fetch a    file (other than a mail attachment)
whether by FTP or IRC file req    or any other method.  Seems to be a
holdover from the early 1990s    when Toronto had a very active BBS and
warez scene.

*** New in 4.2.2. ***
: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}.

*** Changed in 4.1.1, 4.1.2. ***
: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}.

*** Changed in 4.2.0. ***
:line starve:  [MIT] 1. vi. To feed paper through a printer    the
wrong way by one line (most printers can't do this).  On a    display
terminal, to move the cursor up to the previous line of the    screen.
"To print `X squared', you just output `X', line starve,    `2', line
feed."  (The line starve causes the `2' to appear on the    line above
the `X', and the line feed gets back to the original    line.)  2. n. A
character (or character sequence) that causes a    terminal to perform
this action.  ASCII 0011010, also called SUB or    control-Z, was one
common line-starve character in the days before    microcomputers and
the X3.64 terminal standard.  Today, the term    might be used for the
ISO reverse line feed character 0x8D. Unlike    `line feed', `line
starve' is _not_ standard {{ASCII}}    terminology.  Even among hackers
it is considered a bit silly.     3. [proposed] A sequence such as \c
(used in System V echo, as well    as {{nroff}} and {{troff}}) that
suppresses a {newline} or    other character(s) that would normally be
emitted.

*** New in 4.1.0. ***
:link rot: n.  The natural decay of web links as the sites   they're
connected to change or die.  Compare {bit rot}.

*** Changed in 4.1.0. ***
:lurker: n.  One of the `silent majority' in a 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.

*** Changed in 4.1.0. ***
:macrotape: /mak'roh-tayp/ n.  An industry-standard reel of    tape.
Originally, as opposed to a DEC microtape; nowadays, as    opposed to
modern QIC and DDS tapes.  Syn. {round tape}.

*** Changed in 4.1.0, 4.2.0. ***
: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}.

*** Changed in 4.1.0. ***
: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 (see
{cray})), 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}).

*** Changed in 4.1.1. ***
: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.

*** New in 4.1.1. ***
: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".

*** Changed in 4.1.1. ***
: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."

*** Changed in 4.1.2. ***
: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.

*** New in 4.2.0. ***
: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}.

*** Changed in 4.1.2, 4.1.2. ***
: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.

*** Changed in 4.1.0, 4.1.0, 4.1.2, 4.2.0, 4.2.2. ***
: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
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}, 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.

    {corge}, {grault}, {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
          {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.

*** New in 4.1.1. Changed in 4.1.2. ***
:microserf: /mi:'kro-s*rf/  [popularized, though not    originated, by
Douglas Copeland's book "Microserfs"] A    programmer at {Microsoft},
especially a low-level coder with    little chance of fame or fortune.
Compare {MicroDroid}.

*** New in 4.2.2. ***
: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 ans
Micros~2 were suggested for the two companies    that would exist after
a break-up.

*** Changed in 4.1.0. ***
: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).

*** New in 4.2.0. ***
:middle-out implementation:   See {bottom-up implementation}.

*** Changed in 4.2.2. ***
:minifloppies: n.,obs.  5.25-inch floppy disks, as opposed    to
3.5-inch or {microfloppies} and the long-obsolescent 8-inch    variety
(if there is ever a smaller size, they will undoubtedly be    tagged
`nanofloppies').  At one time, this term was a trademark    of Shugart
Associates for their SA-400 minifloppy drive.  Nobody    paid any
attention.  See {stiffy}.

*** New in 4.1.1. ***
:mobo: /moh'bo/  Written and (rarely) spoken contraction of
"motherboard"

*** Changed in 4.1.1. ***
: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).

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
: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".

*** Changed in 4.1.0. ***
: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 {FTP}    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.  This usage may be related to a TV
  commercial for Del Monte fruit juice, in which one of the
characters insisted on "the full Del Monte"; but see the World    Wide
Words article    "The Full Monty"
(http://clever.net/quinion/words/articles/monty.htm) for discussion of
the rather complex etymology that    may lie behind this.  Compare
American {moby}.

*** New in 4.2.2. ***
: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}.

*** Changed in 4.1.0, 4.2.2. ***
: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 nmeaning "to wipe (a    person's nose)".

*** Changed in 4.1.3. ***
: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}.

*** Changed in 4.1.1. ***
: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}.

*** Changed in 4.1.1. ***
: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."

*** New in 4.2.0. ***
: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.

*** Changed in 4.1.0. ***
: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}.

*** Changed in 4.1.1, 4.2.0. ***
: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 one at `http://www.nethack.org/'.  See    also {moria}, {rogue},
{Angband}.

*** Changed in 4.1.0. ***
: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'.

*** Changed in 4.1.1. ***
: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    almost 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.  Indeed, 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.

*** Changed in 4.2.1. ***
:newbie: /n[y]oo'bee/ n.  [verry 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}.

*** Changed in 4.1.0. ***
: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.

*** Changed in 4.2.0. ***
: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},    {terpri}.

*** Changed in 4.2.2. ***
: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.

*** New in 4.1.0. ***
: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 and unanswerable    "What, besides `angry'
and `hungry', is the third common English    word that ends in -GRY?".
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.

*** Changed in 4.1.1, 4.2.0. ***
:nybble: /nib'l/ (alt. `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' and `double word'; some (indicated) have    substantial
information separate entries.
    2 bits:
          {crumb}, {quad}, {quarter}, tayste, tydbit

    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:
          word (on a 36-bit machine)

    48 bits:
          {gawble} (under circumstances that remain obscure)

    64 bits
          double word (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.

*** Changed in 4.1.0. ***
: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.

*** New in 4.1.3. ***
: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 one of the naturalized    imports from SF fandom
frequently observed among hackers.

*** Changed in 4.1.0, 4.2.0. ***
: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 o.| T) / T <- iN

   where `o' is the APL null character, the assignment arrow is a
single character, and `i' represents the APL iota.

   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.

*** New in 4.1.1. ***
: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 avoid the negative    connotations (to {suit}s) of
the term "{free software}".  For    discussion of the followon tactics
and their consequences, see    the Open Source Initiative
(http://www.opensource.org)    site.

*** New in 4.1.1. ***
: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
450MHz CPU at 500MHz, even though    they can only tell the difference
by running a {benchmark} program.

*** New in 4.2.2. ***
: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.

*** New in 4.1.0. ***
: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' status is temporary and    rotates periodically among
senior project members.

   This term comes from the Perl development community, but has been
sighted elsewhere.  It derives from a stuffed-toy pumpkin    that was
passed around at a development shop years ago as    the access control
for a shared backup-tape drive.

*** Changed in 4.1.1. ***
:peek: n.,vt.  (and {poke}) The commands in most    microcomputer
BASICs for directly accessing memory contents at an    absolute
address; often extended to mean the corresponding    constructs in any
{HLL} (peek reads memory, poke modifies it).     Much hacking on small,
non-MMU micros used to consist of `peek'ing    around memory, more or
less at random, to find the location where    the system keeps
interesting stuff.  Long (and variably accurate)    lists of such
addresses for various computers circulated (see    {{interrupt list}}).
The results of `poke's at these    addresses may be highly useful,
mildly amusing, useless but neat,    or (most likely) total {lossage}
(see {killer poke}).

   Since a {real operating system} provides useful, higher-level
services for the tasks commonly performed with peeks and pokes on
micros, and real languages tend not to encourage low-level memory
groveling, a question like "How do I do a peek in C?" is    diagnostic
of the {newbie}.  (Of course, OS kernels often have to    do exactly
this; a real kernel hacker would unhesitatingly, if    unportably,
assign an absolute address to a pointer variable and    indirect
through it.)

*** Changed in 4.1.0. ***
:phase of the moon: n.  Used humorously as a random parameter    on
which something is said to depend.  Sometimes implies    unreliability
of whatever is dependent, or that reliability seems    to be dependent
on conditions nobody has been able to determine.     "This feature
depends on having the channel open in mumble mode,    having the foo
switch set, and on the phase of the moon."  See    also {heisenbug}.

   True story: Once upon a time there was a program bug that    really
did depend on the phase of the moon.  There was a little    subroutine
that had traditionally been used in various programs at    MIT to
calculate an approximation to the moon's true phase.  GLS
incorporated this routine into a LISP program that, when it wrote
out a file, would print a timestamp line almost 80 characters long.
Very occasionally the first line of the message would be too long
and would overflow onto the next line, and when the file was later
read back in the program would {barf}.  The length of the first    line
depended on both the precise date and time and the length of    the
phase specification when the timestamp was printed, and so the    bug
literally depended on the phase of the moon!

   The first paper edition of the Jargon File (Steele-1983) included
an example of one of the timestamp lines that exhibited this bug,
but the typesetter `corrected' it.  This has since been    described as
the phase-of-the-moon-bug bug.

   However, beware of assumptions.  A few years ago, engineers of CERN
 (European Center for Nuclear Research) were baffled by some errors
in experiments conducted with the LEP particle accelerator.  As the
formidable amount of data generated by such devices is heavily
processed by computers before being seen by humans, many people
suggested the software was somehow sensitive to the phase of the
moon.  A few desperate engineers discovered the truth; the error
turned out to be the result of a tiny change in the geometry of the
27km circumference ring, physically caused by the deformation of    the
Earth by the passage of the Moon!  This story has entered    physics
folklore as a Newtonian vengeance on particle physics and    as an
example of the relevance of the simplest and oldest physical    laws to
the most modern science.

*** New in 4.1.0. ***
:pig-tail:  [radio hams] A short piece of cable with two    connectors
on each end for converting between one connector type    and another.
Common pig-tails are 9-to-25-pin serial-port    converters and cables
to connect PCMCIA network cards to an RJ-45    network cable.

*** New in 4.1.0. ***
:ping storm: n.  A form of {DoS attack} consisting    of a flood of
{ping} requests (normally used to check network    conditions) designed
to disrupt the normal activity of a system.     This act is sometimes
called `ping lashing' or `ping flood'.     Compare {mail storm},
{broadcast storm}.

*** New in 4.1.0. ***
:pink wire: n.  [from the pink PTFE wire used in military    equipment]
As {blue wire}, but used in military    applications. 2. vi. To add a
pink wire to a board.

*** New in 4.1.0. ***
:plug-and-pray: adj.,vi.  Parody of the techspeak term
`plug-and-play', describing a PC peripheral card which is claimed    to
have no need for hardware configuration via DIP switches, and    which
should be work as soon as it is inserted in the PC.     Unfortunately,
even the PCI bus is not up to pulling this off    reliably, and people
who have to do installation or troubleshoot    PCs soon find themselves
longing for the DIP switches.

*** New in 4.2.0. ***
:pointy hat: n.  See {wizard hat}.  This synonym    specifically refers
to the wizards of Unseen University in Terry    Pratchett's "Discworld"
serious of humorous fantasies; these    books are extremely popular
among hackers.

*** New in 4.1.0. ***
:pointy-haired: adj.  [after the character in the    {Dilbert} comic
strip] Describes the extreme form of the    property that separates
{suit}s and {marketroid}s from    hackers. Compare {brain-dead};
{demented}; see    {PHB}. Always applied to people, never to ideas. The
plural form    is often used as a noun. "The pointy-haireds ordered me
to use    Windows NT, but I set up a Linux server with Samba instead."

*** Changed in 4.2.0. ***
:pop: /pop/  [from the operation that removes the top of a    stack,
and the fact that procedure return addresses are usually    saved on
the stack] (also capitalized `POP') 1. vt. To remove    something from
a {stack} or {PDL}.  If a person says he/she    has popped something
from his stack, that means he/she has finally    finished working on it
and can now remove it from the list of    things hanging overhead.  2.
When a discussion gets to a level of    detail so deep that the main
point of the discussion is being lost,    someone will shout "Pop!",
meaning "Get back up to a higher    level!"  The shout is frequently
accompanied by an upthrust arm    with a finger pointing to the
ceiling. 3. [all-caps, as `POP']    Point of Presence, a bank of
dial-in lines allowing customers to    make (local) calls into an ISP.
This is borderline techspeak.

*** New in 4.1.1. ***
:pr0n: //  [Usenet, IRC] Pornography.  Originally this    referred only
to Internet porn but since then it has expanded to    refer to just
about anything.  The term comes from the {warez    kiddies} tendency to
replace letters with numbers.  At some point    on IRC someone
mistyped, swapped the middle two letters, and the    name stuck, then
propagated over into mainstream hacker    usage.  Compare {filk},
{grilf}, {hing} and    {newsfroup}.

*** Changed in 4.1.0. ***
:prime time: n.  [from TV programming] Normal high-usage    hours on a
system or network.  Back in the days of big timesharing    machines
`prime time' was when lots of people were competing for    limited
cycles, usually the day shift.  Avoidance of prime time was
traditionally given as a major reason for {night mode} hacking.     The
term fell into disuse during the early PC era, but has been    revived
to refer to times of day or evening at which the Internet    tends to
be heavily loaded, making Web access slow.  The hackish    tendency to
late-night {hacking run}s has changed not a bit.

*** New in 4.1.0. ***
:print: v.  To output, even if to a screen.  If a hacker    says that a
program "printed a message", he means this; if he    refers to printing
a file, he probably means it in the conventional    sense of writing to
a hardcopy device (compounds like `print job'    and `printout', on the
other hand, always refer to the    latter). This very common term is
likely a holdover from the days    when printing terminals were the
norm, perpetuated by programming    language constructs like {C}'s
printf(3).  See senses 1 and 2 of    {tty}.

*** New in 4.2.0. ***
:proggy: n.  1. Any computer program that is considered a    full
application. 2. Any computer program that is made up of or    otherwise
contains {proglet}s. 3. Any computer program that is    large enough to
be normally distributed as an RPM or {tarball}.

*** Changed in 4.1.1. ***
:programming: n.  1. The art of debugging a blank sheet of    paper
(or, in these days of on-line editing, the art of debugging    an empty
file).  "Bloody instructions which, being taught, return    to plague
their inventor" ("Macbeth", Act 1, Scene 7) 2. A    pastime similar to
banging one's head against a wall, but with    fewer opportunities for
reward.  3. The most fun you can have with    your clothes on.  4. The
least fun you can have with your clothes    off.

*** Changed in 4.1.1, 4.2.0. ***
:proprietary: adj.  1. In {marketroid}-speak, superior;    implies a
product imbued with exclusive magic by the unmatched    brilliance of
the company's own hardware or software designers.     2. In the
language of hackers and users, inferior; implies a    product not
conforming to open-systems standards, and thus one that    puts the
customer at the mercy of a vendor able to gouge freely on    service
and upgrade charges after the initial sale has locked the    customer
in.  Often in the phrase "proprietary crap".  3. Synonym    for
closed-source, e.g. software issued in binary without source    and
under a restructive license.

   Since the coining of the term {open source}, many hackers    have
made a conscious effort to distinguish between    `proprietary' and
`commercial' software.  It is possible    for software to be commercial
(that is, intended to make a profit    for the producers) without being
proprietary.  The reverse is    also possible, for example in
binary-only freeware.

*** New in 4.1.0. ***
:pumpkin holder: n.  See {patch pumpkin}.

*** New in 4.1.0. ***
:pumpking: n.  Syn. for {pumpkin holder}; see {patch    pumpkin}.

*** Changed in 4.1.0. ***
:punt: v.  [from the punch line of an old joke referring to    American
football: "Drop back 15 yards and punt!"] 1. To give up,    typically
without any intention of retrying.  "Let's punt the    movie tonight."
"I was going to hack all night to get this    feature in, but I decided
to punt" may mean that you've decided    not to stay up all night, and
may also mean you're not ever even    going to put in the feature.  2.
More specifically, to give up on    figuring out what the {Right Thing}
is and resort to an    inefficient hack.  3. A design decision to defer
solving a problem,    typically because one cannot define what is
desirable sufficiently    well to frame an algorithmic solution.  "No
way to know what the    right form to dump the graph in is -- we'll
punt that for now."     4. To hand a tricky implementation problem off
to some other    section of the design.  "It's too hard to get the
compiler to do    that; let's punt to the runtime system." 5. To knock
someone off    an Internet or chat connection; a `punter' thus, is a
person or    program that does this.

*** Changed in 4.1.0. ***
:quantifiers::  In techspeak and jargon, the standard metric
prefixes used in the SI (Syste`me International) conventions for
scientific measurement have dual uses.  With units of time or    things
that come in powers of 10, such as money, they retain their    usual
meanings of multiplication by powers of 1000 = 10^3.     But when used
with bytes or other things that naturally come in    powers of 2, they
usually denote multiplication by powers of    1024 = 2^(10).

   Here are the SI magnifying prefixes, along with the corresponding
binary interpretations in common use:

     prefix  decimal  binary
     kilo-   1000^1   1024^1 = 2^10 = 1,024

     mega-   1000^2   1024^2 = 2^20 = 1,048,576

     giga-   1000^3   1024^3 = 2^30 = 1,073,741,824

     tera-   1000^4   1024^4 = 2^40 = 1,099,511,627,776

     peta-   1000^5   1024^5 = 2^50 = 1,125,899,906,842,624

     exa-    1000^6   1024^6 = 2^60 = 1,152,921,504,606,846,976

     zetta-  1000^7   1024^7 = 2^70 = 1,180,591,620,717,411,303,424

     yotta-  1000^8   1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176

   Here are the SI fractional prefixes:

     _prefix  decimal     jargon usage_
     milli-  1000^-1     (seldom used in jargon)
     micro-  1000^-2     small or human-scale (see {micro-})
     nano-   1000^-3     even smaller (see {nano-})
     pico-   1000^-4     even smaller yet (see {pico-})
     femto-  1000^-5     (not used in jargon---yet)
     atto-   1000^-6     (not used in jargon---yet)
     zepto-  1000^-7     (not used in jargon---yet)
     yocto-  1000^-8     (not used in jargon---yet)

The prefixes zetta-, yotta-, zepto-, and yocto- have been included
in these tables purely for completeness and giggle value; they were
adopted in 1990 by the `19th Conference Generale des Poids et
Mesures'.  The binary peta- and exa- loadings, though well
established, are not in jargon use either -- yet.  The prefix
milli-, denoting multiplication by 1/1000, has always    been rare in
jargon (there is, however, a standard joke about the    `millihelen' --
notionally, the amount of beauty required to    launch one ship).  See
the entries on {micro-}, {pico-}, and    {nano-} for more information
on connotative jargon use of these    terms.  `Femto' and `atto'
(which, interestingly, derive not    from Greek but from Danish) have
not yet acquired jargon loadings,    though it is easy to predict what
those will be once computing    technology enters the required realms
of magnitude (however, see    {attoparsec}).

   There are, of course, some standard unit prefixes for powers of
10.  In the following table, the `prefix' column is the
international standard suffix for the appropriate power of ten; the
`binary' column lists jargon abbreviations and words for the
corresponding power of 2.  The B-suffixed forms are commonly used
for byte quantities; the words `meg' and `gig' are nouns that may
(but do not always) pluralize with `s'.

     prefix   decimal   binary       pronunciation
     kilo-       k      K, KB,       /kay/
     mega-       M      M, MB, meg   /meg/
     giga-       G      G, GB, gig   /gig/,/jig/

Confusingly, hackers often use K or M as though they were suffix or
numeric multipliers rather than a prefix; thus "2K dollars", "2M    of
disk space".  This is also true (though less commonly) of G.

   Note that the formal SI metric prefix for 1000 is `k'; some use
this strictly, reserving `K' for multiplication by 1024 (KB is    thus
`kilobytes').

   K, M, and G used alone refer to quantities of bytes; thus, 64G is
64 gigabytes and `a K' is a kilobyte (compare mainstream use of    `a
G' as short for `a grand', that is, $1000).  Whether one    pronounces
`gig' with hard or soft `g' depends on what one thinks    the proper
pronunciation of `giga-' is.

   Confusing 1000 and 1024 (or other powers of 2 and 10 close in
magnitude) -- for example, describing a memory in units of    500K or
524K instead of 512K -- is a sure sign of the    {marketroid}.  One
example of this: it is common to refer to the    capacity of 3.5"
{microfloppies} as `1.44 MB' In fact, this is a    completely {bogus}
number.  The correct size is 1440 KB, that    is, 1440 * 1024 = 1474560
bytes.  So the `mega' in `1.44 MB' is    compounded of two `kilos', one
of which is 1024 and the other of    which is 1000.  The correct number
of megabytes would of course be    1440 / 1024 = 1.40625.  Alas, this
fine point is probably lost on    the world forever.

   [1993 update: hacker Morgan Burke has proposed, to general
approval on Usenet, the following additional prefixes:

groucho
     10^(-30)

harpo
     10^(-27)

harpi
     10^(27)

grouchi
     10^(30)

We observe that this would leave the prefixes zeppo-, gummo-, and
chico- available for future expansion.  Sadly, there is little
immediate prospect that Mr. Burke's eminently sensible proposal    will
be ratified.]

   [1999 upate: there is an    IEC proposal
(ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/information-units)
for binary multipliers, but no evidence that any of    its proposals
are in live use.]

*** Changed in 4.2.0. ***
:quine: /kwi:n/ n.  [from the name of the logician Willard    van Orman
Quine, via Douglas Hofstadter] A program that generates a    copy of
its own source text as its complete output.  Devising the    shortest
possible quine in some given programming language is a    common
hackish amusement.  (We ignore some variants of BASIC    in which a
program consisting of a single empty string literal    reproduces
itself trivially.)  Here is one classic quine:

     ((lambda (x)
       (list x (list (quote quote) x)))
      (quote
         (lambda (x)
           (list x (list (quote quote) x)))))

   This one works in LISP or Scheme.  It's relatively easy to write
quines in other languages such as Postscript which readily handle
programs as data; much harder (and thus more challenging!) in
languages like C which do not.  Here is a classic C quine for ASCII
machines:

     char*f="char*f=%c%s%c;main()
     {printf(f,34,f,34,10);}%c";
     main(){printf(f,34,f,34,10);}

   For excruciatingly exact quinishness, remove the interior line
breaks.  Here is another elegant quine in ANSI C:

     #define q(k)main(){return!puts(#k"\nq("#k")");}
     q(#define q(k)main(){return!puts(#k"\nq("#k")");})

   Some infamous {Obfuscated C Contest} entries have been    quines
that reproduced in exotic ways.  There is an amusing    Quine Home Page
(http://www.nyx.org/~gthompso/quine.htm).

*** Changed in 4.1.0. ***
:random: adj.  1. Unpredictable (closest to mathematical
definition); weird.  "The system's been behaving pretty    randomly."
2. Assorted; undistinguished.  "Who was at the    conference?"  "Just a
bunch of random business types."     3. (pejorative) Frivolous;
unproductive; undirected.  "He's just a    random loser."  4.
Incoherent or inelegant; poorly chosen; not    well organized.  "The
program has a random set of misfeatures."     "That's a random name for
that function."  "Well, all the names    were chosen pretty randomly."
5. In no particular order, though    deterministic.  "The I/O channels
are in a pool, and when a file    is opened one is chosen randomly."
6. Arbitrary.  "It generates    a random name for the scratch file."
7. Gratuitously wrong, i.e.,    poorly done and for no good apparent
reason.  For example, a    program that handles file name defaulting in
a particularly useless    way, or an assembler routine that could
easily have been coded    using only three registers, but redundantly
uses seven for values    with non-overlapping lifetimes, so that no one
else can invoke it    without first saving four extra registers.  What
{randomness}!     8. n. A random hacker; used particularly of
high-school    students who soak up computer time and generally get in
the way.     9. n.  Anyone who is not a hacker (or, sometimes, anyone
not known    to the hacker speaking); the noun form of sense 2.  "I
went to the    talk, but the audience was full of randoms asking bogus
 questions".  10. n. (occasional MIT usage) One who lives at    Random
Hall.  See also {J. Random}, {some random X}.     11. [UK]
Conversationally, a non sequitur or something similarly
out-of-the-blue. As in: "Stop being so random!"  This sense    equates
to `hatstand', taken from the Viz comic character "Roger    Irrelevant
- He's completely Hatstand."

*** Changed in 4.1.0. ***
:random numbers:: n.  When one wishes to specify a large but    random
number of things, and the context is inappropriate for    {N}, certain
numbers are preferred by hacker tradition (that is,    easily
recognized as placeholders).  These include the following:

    17
          Long described at MIT as `the least random number'; see 23.

    23
          Sacred number of Eris, Goddess of Discord (along with 17 and
          5).

    42
          The Answer to the Ultimate Question of Life, the Universe, and
          Everything. (Note that this answer is completely fortuitous.
          `:-)')

    69
          From the sexual act.  This one was favored in MIT's ITS
          culture.

    105
          69 hex = 105 decimal, and 69 decimal = 105 octal.

    666
          The Number of the Beast.

For further enlightenment, study the "Principia Discordia",    "{The
Hitchhiker's Guide to the Galaxy}", "The Joy    of Sex", and the
Christian Bible (Revelation 13:18).  See also    {Discordianism} or
consult your pineal gland.  See also {for    values of}.

*** Changed in 4.1.0. ***
:randomness: n.  1. An inexplicable misfeature; gratuitous
inelegance.  2. A {hack} or {crock} that depends on a complex
combination of coincidences (or, possibly, the combination upon
which the crock depends for its accidental failure to malfunction).
"This hack can output characters 40-57 by putting the character    in
the four-bit accumulator field of an XCT and then extracting six
bits -- the low 2 bits of the XCT opcode are the right thing."
"What randomness!"  3. Of people, synonymous with `flakiness'.     The
connotation is that the person so described is behaving    weirdly,
incompetently, or inappropriately for reasons which are    (a) too
tiresome to bother inquiring into, (b) are probably as    inscrutable
as quantum phenomena anyway, and (c) are likely to pass    with time.
"Maybe he has a real complaint, or maybe it's just    randomness.  See
if he calls back."

   Despite the negative connotations jargon uses of this term have, it
 is worth noting that randomness can actually be a valuable
resource, very useful for applications in cryptography and
elsewhere.  Computers are so thoroughly deterministic that they    have
a hard time generating high-quality randomess, so hackers have
sometimes felt the need to built special-purpose contraptions for
this purpose alone.  One well-known website offers random bits
generated by radioactive decay (http://www.fourmilab.ch/hotbits/).
Another derives random bits from    images of Lava Lite lamps
(http://lavarand.sgi.com/).     (Hackers invariably find the latter
hilarious.  If you have to ask    why, you'll never get it.)

*** New in 4.1.0. ***
:rasterbation: n.  [portmanteau: raster + masturbation]    The
gratuituous use of comuputer generated images and effects in    movies
and graphic art which would have been better without them.
Especially employed as a term of abuse by Photoshop/GIMP users and
graphic artists.

*** New in 4.2.2. ***
:ratio site:  [warez d00dz] A FTP site storing pirated files    where
one must first upload something before being able to    download. There
is a ratio, based on bytes or files count, between    the uploads and
download. For instance, on a 2:1 site, to download    a 4 Mb file, one
must first upload at least 2 Mb of files. The    hotter the contents of
the server are, the smaller the ratio    is. More often than not, the
server refuses uploads because its    disk is full, making it useless
for downloading - or the    connection magically breaks after one has
uploaded a large amount    of files, just before the downloading phase
begins. See also    {banner site}, {leech mode}.

*** Changed in 4.2.0. ***
:rc file: /R-C fi:l/ n.  [Unix: from `runcom files' on    the {CTSS}
system 1962-63, via the startup script    `/etc/rc'] Script file
containing startup instructions for an    application program (or an
entire operating system), usually a text    file containing commands of
the sort that might have been invoked    manually once the system was
running but are to be executed    automatically each time the system
starts up.  See also {dot    file}, {profile} (sense 1).

*** New in 4.1.0. ***
:reality-distortion field: n.  An expression used to    describe the
persuasive ability of managers like Steve Jobs (the    term originated
at Apple in the 1980s to describe his peculiar    charisma).  Those
close to these managers become passionately    committed to possibly
insane projects, without regard to the    practicality of their
implementation or competitive forces in the    marketpace.

*** New in 4.1.1. ***
:recompile the world:  The surprisingly large amount of work    that
needs to be done as the result of any small but globally    visible
program change. "The world" may mean the entirety of some    huge
program, or may in theory refer to every program of a certain    class
in the entire known universe. For instance, "Add one #define    to
stdio.h, and you have to recompile the world." This means that    any
minor change to the standard-I/O header file theoretically    mandates
recompiling every C program in existence, even if only to    verify
that the change didn't screw something else up. In practice,    you may
not actually have to recompile the world, but the    implication is
that some human cleverness is required to figure out    what parts can
be safely left out.

*** New in 4.1.0. ***
:rehi:  [IRC, MUD] "Hello again." Very commonly used to greet    people
upon returning to an IRC channel after {channel    hopping}.

*** New in 4.1.0. ***
:relay rape: n.  The hijacking of a third party's    unsecured mail
server to deliver {spam}.

*** New in 4.1.1. Changed in 4.1.2. ***
:rip: v.  1. To extract the digital representation of a    piece of
music from an audio CD. Software that does this is often    called a
"CD ripper".  2. [Amiga hackers] To extract sound or    graphics from a
program that they have been compiled/assembled    into, or which
generates them at run-time.  In the case of older    Amiga games this
entails searching through memory shortly after a    reboot. This sense
has been in use for many years and probably gave    rise to the (now
more common) sense 1.

*** New in 4.1.0. ***
:ripoff: n.  Synonym for {chad}, sense 1.

*** New in 4.1.0. ***
:robocanceller: /roh-boh-kan'sel-*r/  A program that    monitors Usenet
feeds, attempting to detect and eliminate {spam}    by sending
appropriate cancel messages .  Robocancellers may use    the {Breidbart
Index} as a trigger.  Programming them is not a    game for amateurs;
see {ARMM}. See also {Dave the    Resurrector}.

*** Changed in 4.1.0. ***
:robot: n.  See {bot}.

*** Changed in 4.1.0, 4.1.0, 4.1.1. ***
:rogue:  1. [Unix] n. A Dungeons-and-Dragons-like game    using
character graphics, written under BSD Unix and subsequently    ported
to other Unix systems.  The original BSD `curses(3)'    screen-handling
package was hacked together by Ken Arnold primarily    to support
games, and the development of `rogue(6)'    popularized its use; it has
since become one of Unix's most    important and heavily used
application libraries.  Nethack, Omega,    Larn, Angband, and an entire
subgenre of computer dungeon games    (all known as `roguelikes') all
took off from the inspiration    provided by `rogue(6)'; the popular
Windows game Diablo,    though graphics-intensive, has very similar
play logic.  See also    {nethack}.  2. [Usenet] adj.  An {ISP} which
permits net    abuse (usually in the form of {spam}ming) by its
customers, or    which itself engages in such activities.  Rogue ISPs
are sometimes    subject to {IDP}s or {UDP}s.  Sometimes deliberately
mispelled as "rouge".  See also {nethack}, {moria},    {Angband}.

*** Changed in 4.2.2. ***
:saga: n.  [WPI] A cuspy but bogus raving story about N    random
broken people.

   Here is a classic example of the saga form, as told by Guy L.
Steele:

     Jon L. White (login name JONL) and I (GLS) were office mates at MIT
     for many years.  One April, we both flew from Boston to California
     for a week on research business, to consult face-to-face with some
     people at Stanford, particularly our mutual friend Richard P.
     Gabriel (RPG; see {gabriel}).

     RPG picked us up at the San Francisco airport and drove us back to
     Palo Alto (going {logical} south on route 101, parallel to {El
     Camino Bignum}).  Palo Alto is adjacent to Stanford University and
     about 40 miles south of San Francisco.  We ate at The Good Earth,
     a `health food' restaurant, very popular, the sort whose
     milkshakes all contain honey and protein powder.  JONL ordered
     such a shake -- the waitress claimed the flavor of the day was
     "lalaberry".  I still have no idea what that might be, but it
     became a running joke.  It was the color of raspberry, and JONL
     said it tasted rather bitter.  I ate a better tostada there than I
     have ever had in a Mexican restaurant.

     After this we went to the local Uncle Gaylord's Old Fashioned Ice
     Cream Parlor.  They make ice cream fresh daily, in a variety of
     intriguing flavors.  It's a chain, and they have a slogan: "If you
     don't live near an Uncle Gaylord's -- MOVE!"  Also, Uncle Gaylord
     (a real person) wages a constant battle to force big-name ice
     cream makers to print their ingredients on the package (like air
     and plastic and other non-natural garbage).  JONL and I had first
     discovered Uncle Gaylord's the previous August, when we had flown
     to a computer-science conference in Berkeley, California, the
     first time either of us had been on the West Coast.  When not in
     the conference sessions, we had spent our time wandering the length
     of Telegraph Avenue, which (like Harvard Square in Cambridge) was
     lined with picturesque street vendors and interesting little shops.
     On that street we discovered Uncle Gaylord's Berkeley store.  The
     ice cream there was very good.  During that August visit JONL went
     absolutely bananas (so to speak) over one particular flavor, ginger
     honey.

     Therefore, after eating at The Good Earth -- indeed, after every
     lunch and dinner and before bed during our April visit -- a trip
     to Uncle Gaylord's (the one in Palo Alto) was mandatory.  We had
     arrived on a Wednesday, and by Thursday evening we had been there
     at least four times.  Each time, JONL would get ginger honey ice
     cream, and proclaim to all bystanders that "Ginger was the spice
     that drove the Europeans mad!  That's why they sought a route to
     the East!  They used it to preserve their otherwise off-taste
     meat."  After the third or fourth repetition RPG and I were
     getting a little tired of this spiel, and began to paraphrase him:
     "Wow!  Ginger!  The spice that makes rotten meat taste good!"
     "Say!  Why don't we find some dog that's been run over and sat in
     the sun for a week and put some _ginger_ on it for dinner?!"
     "Right!  With a lalaberry shake!"  And so on.  This failed to faze
     JONL; he took it in good humor, as long as we kept returning to
     Uncle Gaylord's.  He loves ginger honey ice cream.

     Now RPG and his then-wife KBT (Kathy Tracy) were putting us up
     (putting up with us?) in their home for our visit, so to thank them
     JONL and I took them out to a nice French restaurant of their
     choosing.  I unadventurously chose the filet mignon, and KBT had
     je ne sais quoi du jour, but RPG and JONL had lapin (rabbit).
     (Waitress: "Oui, we have fresh rabbit, fresh today."  RPG: "Well,
     JONL, I guess we won't need any _ginger_!")

     We finished the meal late, about 11 P.M., which is 2 A.M Boston
     time, so JONL and I were rather droopy.  But it wasn't yet
     midnight.  Off to Uncle Gaylord's!

     Now the French restaurant was in Redwood City, north of Palo Alto.
     In leaving Redwood City, we somehow got onto route 101 going north
     instead of south.  JONL and I wouldn't have known the difference
     had RPG not mentioned it.  We still knew very little of the local
     geography.  I did figure out, however, that we were headed in the
     direction of Berkeley, and half-jokingly suggested that we continue
     north and go to Uncle Gaylord's in Berkeley.

     RPG said "Fine!" and we drove on for a while and talked.  I was
     drowsy, and JONL actually dropped off to sleep for 5 minutes.  When
     he awoke, RPG said, "Gee, JONL, you must have slept all the way
     over the bridge!", referring to the one spanning San Francisco
     Bay.  Just then we came to a sign that said "University Avenue".
     I mumbled something about working our way over to Telegraph Avenue;
     RPG said "Right!" and maneuvered some more.  Eventually we pulled
     up in front of an Uncle Gaylord's.

     Now, I hadn't really been paying attention because I was so sleepy,
     and I didn't really understand what was happening until RPG let me
     in on it a few moments later, but I was just alert enough to notice
     that we had somehow come to the Palo Alto Uncle Gaylord's after
     all.

     JONL noticed the resemblance to the Palo Alto store, but hadn't
     caught on.  (The place is lit with red and yellow lights at night,
     and looks much different from the way it does in daylight.)  He
     said, "This isn't the Uncle Gaylord's I went to in Berkeley!  It
     looked like a barn!  But this place looks _just like_ the one back
     in Palo Alto!"

     RPG deadpanned, "Well, this is the one _I_ always come to when I'm
     in Berkeley.  They've got two in San Francisco, too.  Remember,
     they're a chain."

     JONL accepted this bit of wisdom.  And he was not totally ignorant
     -- he knew perfectly well that University Avenue was in Berkeley,
     not far from Telegraph Avenue.  What he didn't know was that there
     is a completely different University Avenue in Palo Alto.

     JONL went up to the counter and asked for ginger honey.  The guy at
     the counter asked whether JONL would like to taste it first,
     evidently their standard procedure with that flavor, as not too
     many people like it.

     JONL said, "I'm sure I like it.  Just give me a cone."  The guy
     behind the counter insisted that JONL try just a taste first.
     "Some people think it tastes like soap."  JONL insisted, "Look, I
     _love_ ginger.  I eat Chinese food.  I eat raw ginger roots.  I
     already went through this hassle with the guy back in Palo Alto.
     I _know_ I like that flavor!"

     At the words "back in Palo Alto" the guy behind the counter got a
     very strange look on his face, but said nothing.  KBT caught his
     eye and winked.  Through my stupor I still hadn't quite grasped
     what was going on, and thought RPG was rolling on the floor
     laughing and clutching his stomach just because JONL had launched
     into his spiel ("makes rotten meat a dish for princes") for the
     forty-third time.  At this point, RPG clued me in fully.

     RPG, KBT, and I retreated to a table, trying to stifle our
     chuckles.  JONL remained at the counter, talking about ice cream
     with the guy b.t.c., comparing Uncle Gaylord's to other ice cream
     shops and generally having a good old time.

     At length the g.b.t.c. said, "How's the ginger honey?"  JONL said,
     "Fine!  I wonder what exactly is in it?"  Now Uncle Gaylord
     publishes all his recipes and even teaches classes on how to make
     his ice cream at home.  So the g.b.t.c. got out the recipe, and he
     and JONL pored over it for a while.  But the g.b.t.c. could
     contain his curiosity no longer, and asked again, "You really like
     that stuff, huh?"  JONL said, "Yeah, I've been eating it
     constantly back in Palo Alto for the past two days.  In fact, I
     think this batch is about as good as the cones I got back in Palo
     Alto!"

     G.b.t.c. looked him straight in the eye and said, "You're _in_
     Palo Alto!"

     JONL turned slowly around, and saw the three of us collapse in a
     fit of giggles.  He clapped a hand to his forehead and exclaimed,
     "I've been hacked!"

   [My spies on the West Coast inform me that there is a close
relative of the raspberry found out there called an `ollalieberry'
--ESR]

   [Ironic footnote: the {meme} about ginger vs. rotting meat is an
urban legend.  It's not borne out by an examination of medieval
recipes or period purchase records for spices, and appears
full-blown in the works of Samuel Pegge, a gourmand and notorious
flake case who originated numerous food myths.  The truth seems to
be that ginger was used to cover not rot but the extreme salt taste
of meat packed in brine, which was the best method available before
refrigeration.  --ESR]

*** Changed in 4.2.0. ***
:sagan: /say'gn/ n.  [from Carl Sagan's TV series    "Cosmos"; think
"billions and billions"] A large quantity    of anything.  "There's a
sagan different ways to tweak EMACS."     "The U.S. Government spends
sagans on bombs and welfare -- hard    to say which is more
destructive."

*** Changed in 4.2.0. ***
:sandbox: n.  1. (also `sandbox, the') Common term for the R&D
department at many software and computer companies (where hackers    in
commercial environments are likely to be found).  Half-derisive,    but
reflects the truth that research is a form of creative play.
Compare {playpen}.  2. Syn. {link farm}. 3. A controlled    environment
within which potentially dangerous programs are run.     Used esp. in
reference to Java implementations.

*** New in 4.1.0. ***
:scary devil monastery:  n.  Anagram frequently used to    refer to the
newsgroup alt.sysadmin.recovery, which is    populated with characters
that rather justify the reference.

*** Changed in 4.1.0, 4.1.1, 4.2.0. ***
:scram switch: n.  [from the nuclear power industry] An
emergency-power-off switch (see {Big Red Switch}), esp. one
positioned to be easily hit by evacuating personnel.  In general,
this is _not_ something you {frob} lightly; these often    initiate
expensive events (such as Halon dumps) and are installed    in a
{dinosaur pen} for use in case of electrical fire or in    case some
luckless {field servoid} should put 120 volts across    himself while
{Easter egging}.  (See also {molly-guard},    {TMRC}.)

   A correspondent reports a legend that "Scram" is an acronym for
"Start Cutting Right Away, Man" (another less plausible variant    of
this legend refers to "Safety Control Rod Axe Man"; these are    almost
certainly both {backronym}s).  The story goes that in the    earliest
nuclear power experiments the engineers recognized the    possibility
that the reactor wouldn't behave exactly as predicted    by their
mathematical models.  Accordingly, they made sure that    they had
mechanisms in place that would rapidly drop the control    rods back
into the reactor.  One mechanism took the form of `scram
technicians'.  These individuals stood next to the ropes or cables
that raised and lowered the control rods.  Equipped with axes or
cable-cutters, these technicians stood ready for the (literal)
`scram' command.  If necessary, they would cut the cables, and
gravity would expeditiously return the control rods to the reactor,
thereby averting yet another kind of {core dump}.

   Modern reactor control rods are held in place with claw-like
devices, held closed by current.  SCRAM switches are circuit
breakers that immediately open the circuit to the rod arms,
resulting in the rapid insertion and subsequent bottoming of the
control rods.

*** New in 4.1.0. ***
:screen: n.  [Atari ST {demoscene}] One {demoeffect}    or one
screenful of them.  Probably comes from old Sierra-style    adventures
or shoot-em-ups where one travels from one place to    another one
screenful at a time.

*** New in 4.1.0. Changed in 4.1.0. ***
:screen name: n.  A {handle} sense 1.  This term has    been common
among users of IRC, MUDs, and commercial on-line    services since the
mid-1990s. Hackers recognize the term but    don't generally use it.

*** New in 4.1.0. Changed in 4.2.2. ***
:script kiddies: pl.n.  1. The lowest form of {cracker};    script
kiddies do mischief with scripts and programs written by    others,
often without understanding the {exploit}.  2. People    who cannot
program, but who create tacky HTML pages by copying    JavaScript
routines from other tacky HTML pages.  More generally,    a script
kiddie writes (or more likely cuts and pastes) code    without either
having or desiring to have a mental model of what the code    does;
someone who thinks of code as magical incantations and asks only
"what do I need to type to make this happen?"

*** Changed in 4.1.2. ***
:segmentation fault: n.  [Unix] 1. [techspeak] An error in    which a
running program attempts to access memory not allocated to    it and
{core dump}s with a segmentation violation error.  This    is often
caused by improper usage of pointers in the source code,
dereferencing a null pointer, or (in C) inadvertently using a
non-pointer variable as a pointer.  The classic example is:

        int i;
        scanf ("%d", i);  /* should have used &i */



2. To lose a train of thought or a line of reasoning.  Also uttered
as an exclamation at the point of befuddlement.

*** New in 4.1.0. ***
:semi-automated: adj.  [US Geological Survey] A procedure    that has
yet to be completely automated; it still requires a smidge    of
clueful human interaction.  Semi-automated programs usually come
with written-out operator instructions that are worth their weight
in gold - without them, very nasty things can happen.     At USGS
semi-automated programs are often referred to as "semi-automated
weapons".

*** New in 4.1.0. ***
:sharing violation:   [From a file error common to several    {OS}s]  A
response to receiving information, typically of an excessively
personal nature, that you were probably happier not knowing.  "You know
  those little noises that Pat makes in bed..?"  "Whoa!  Sharing
violation!"  In contrast to the original file error, which indicated
that you were _not_ being given data that you _did_    want.

*** New in 4.2.0. ***
:shebang: /sh*-bang/ n.  The character sequence "#!"     that
frequently begins executable shell scripts under Unix.     Probably
derived from "shell bang" under the influence of    American slang "the
whole shebang" (everything, the works).

*** Changed in 4.1.1. ***
:shell out: vi.  [Unix] To {spawn} an interactive    subshell from
within a program (e.g., a mailer or editor).  "Bang    foo runs foo in
a subshell, while bang alone shells out."

*** Changed in 4.1.0. ***
:shovelware: /shuh'v*l-weir`/ n.  1. Extra software dumped onto    a
CD-ROM or tape to fill up the remaining space on the medium after
the software distribution it's intended to carry, but not    integrated
with the distribution.  2. A slipshod compilation of    software dumped
onto a CD-ROM without much care for organization or    even usability.

*** New in 4.1.0. ***
:slashdot effect: n.  1. Also spelled "/. effect"; what is    said to
have happened when a website being virtually unreachable    because too
many people are hitting it after the site was mentioned    in an
interesting article on the popular    Slashdot (http://slashdot.org/)
news service.  The term is    quite widely used by /. readers,
including variants like "That site    has been slashdotted again!"  2.
In a perhaps inevitable generation,    the term is being used to
describe any similar effect from being    listed on a popular site.
This would better be described as a    {flash crowd}.

*** New in 4.2.2. ***
:smoot: /smoot/ n.  [MIT] A unit of length equal five    feet seven
inches.  The length of the Harvard Bridge in Boston is    famously
364.4 smoots plus or minus an ear (the ear stands for    {epsilon}).
This legend began with a fraternity prank in 1958    during which the
body length of Oliver Smoot (class of '62) was    actually used to
measure out that distance.  It is commemorated by    smoot marks that
MIT students repaint every few years; the    tradition even survived
the demolition and rebuilding of the bridge    in the late 1980s.  The
Boston police have been known to use smoot    markers to indicate
accident locations on the bridge.

*** Changed in 4.2.2. ***
:smurf: /smerf/ n.  1. [from the soc.motss newsgroup on    Usenet,
after some obnoxiously gooey cartoon characters] A    newsgroup regular
with a habitual style that is irreverent, silly,    and cute.  Like
many other hackish terms for people, this one    may be praise or
insult depending on who uses it.  In general,    being referred to as a
smurf is probably not going to make your day    unless you've
previously adopted the label yourself in a spirit of    irony.  Compare
{old fart}.  2. [techspeak] A ping packet    with a forged source
address sent to some other network's broadcast    address.  All the
machines on the destination network will send a ping    response to the
forged source address (the victim).  This both    overloads the
victim's network and hides the location of the attacker.

*** Changed in 4.1.0. ***
:sneakernet: /snee'ker-net/ n.  Term used (generally with    ironic
intent) for transfer of electronic information by physically
carrying tape, disks, or some other media from one machine to
another.  "Never underestimate the bandwidth of a station wagon
filled with magtape, or a 747 filled with CD-ROMs."  Also called
`Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'; in the    1990s,
`Nike network' after a well-known sneaker brand.

*** Changed in 4.2.0. ***
:sniff: v.,n.  1. To watch IP packets traversing a local    network.
Most often in the phrase `packet sniffer', a program    for doing same.
2.Synonym for {poll}.

*** New in 4.1.0. ***
:sock puppet: n.  [Usenet: from the act of placing a sock    over your
hand and talking to it and pretending it's talking back]    In Usenet
parlance, a {pseudo} through which the puppeteer posts    follow-ups to
their own original message to give the appearance    that a number of
people support the views held in the original    message.

*** Changed in 4.2.2. ***
:software rot: n.  Term used to describe the tendency of    software
that has not been used in a while to {lose}; such    failure may be
semi-humorously ascribed to {bit rot}.  More    commonly, `software
rot' strikes when a program's assumptions    become out of date.  If
the design was insufficiently {robust},    this may cause it to fail in
mysterious ways. Syn. `code rot'.     See also {link rot}.

   For example, owing to endemic shortsightedness in the design of
COBOL programs, a good number of them succumbed to software rot    when
their 2-digit year counters underwent {wrap around} at the    beginning
of the year 2000.  Actually, related lossages often    afflict
centenarians who have to deal with computer software    designed by
unimaginative clods.  One such incident became the    focus of a minor
public flap in 1990, when a gentleman born in 1889    applied for a
driver's license renewal in Raleigh, North Carolina.     The new system
refused to issue the card, probably because with    2-digit years the
ages 101 and 1 cannot be distinguished.

   Historical note: Software rot in an even funnier sense than the
mythical one was a real problem on early research computers (e.g.,
the R1; see {grind crank}).  If a program that depended on a
peculiar instruction hadn't been run in quite a while, the user
might discover that the opcodes no longer did the same things they
once did.  ("Hey, so-and-so needs an instruction to do
such-and-such.  We can {snarf} this opcode, right?  No one uses    it.")

   Another classic example of this sprang from the time an MIT hacker
found a simple way to double the speed of the unconditional jump
instruction on a PDP-6, so he patched the hardware.  Unfortunately,
this broke some fragile timing software in a music-playing program,
throwing its output out of tune.  This was fixed by adding a
defensive initialization routine to compare the speed of a timing
loop with the real-time clock; in other words, it figured out how
fast the PDP-6 was that day, and corrected appropriately.

   Compare {bit rot}.

*** New in 4.2.2. ***
:source: n.  [very common]  In reference to software,    `source' is
invariably shorthand for `source code', the    preferred human-readable
and human-modifiable form of the program.     This is as opposed to
object code, the derived binary executable    form of a program.  This
shorthand readily takes derivative forms;    one may speak of "the
sources of a system" or of "having source".

*** Changed in 4.1.0, 4.1.1. ***
:spam: vt.,vi.,n.  [from "Monty Python's Flying    Circus"] 1. To crash
a program by overrunning a fixed-size buffer    with excessively large
input data.  See also {buffer overflow},    {overrun screw}, {smash the
stack}.  2. To cause a newsgroup    to be flooded with irrelevant or
inappropriate messages. You can    spam a newsgroup with as little as
one well- (or ill-) planned    message (e.g. asking "What do you think
of abortion?" on    soc.women).  This is often done with {cross-post}ing
  (e.g. any message which is crossposted to alt.rush-limbaugh    and
alt.politics.homosexuality will almost inevitably spam    both groups).
This overlaps with {troll} behavior; the latter    more specific term
has become more common. 3. To send many    identical or
nearly-identical messages separately to a large number    of Usenet
newsgroups. This is more specifically called `ECP',    Excessive
Cross-Posting.  This is one sure way to infuriate nearly    everyone on
the Net. See also {velveeta} and {jello}. 4. To    bombard a newsgroup
with multiple copies of a message.  This is    more specifically called
`EMP', Excessive Multi-Posting.  5.  To    mass-mail unrequested
identical or nearly-identical email messages,    particularly those
containing advertising.  Especially used when    the mail addresses
have been culled from network traffic or    databases without the
consent of the recipients. Synonyms    include {UCE}, {UBE}. 6. Any
large, annoying,    quantity of output.  For instance, someone on IRC
who walks away from    their screen and comes back to find 200 lines of
text might say "Oh no,    spam".

   The later definitions have become much more prevalent as the
Internet has opened up to non-techies, and to most people senses 3    4
and 5 are now primary.  All three behaviors are considered abuse    of
the net, and are almost universally grounds for termination of    the
originator's email account or network connection.  In these    senses
the term `spam' has gone mainstream, though without its    original
sense or folkloric freight - there is apparently a    widespread myth
among {luser}s that "spamming" is what happens    when you dump cans of
Spam into a revolving fan.

*** New in 4.2.2. ***
:spam bait: n.   Email addresses included in, or comprising    the
entirety of, a usenet message so that spammers mining a    newsgroup
with an {address harvester} will collect them. These    addresses can
be people who have offended or annoyed the poster, or    who are
included so that a spammer will spam an official, thereby causing
himself trouble.  One particularly effective form of spam bait is
the address of a {teergrube}.

*** New in 4.1.0. ***
:spamblock: /spam'blok/ n.  [poss. by analogy to    sunblock] Text
inserted in an email address to render it invalid    and thus useless
to spammers.  For example, the address    `jrandom@hacker.org' might be
transformed to    `jrandom@NOSPAM.hacker.org'.  Adding spamblock to an
address is    often referred to as `munging' it (see {munge})-.  This
evasion    tactic depends on the fact that most spammers collect names
with    some sort of {address harvester} on volumes too high to de-mung
  by hand, but individual humans reading an email message can readily
 spot and remove a spamblock in the from address.

   Note: This is not actually a very effective tactic, and may already
 be passing out of use in early 1999 after about two years of life.
In both mail and news, it's essentially impossible to keep a smart
address harvester from mining out the addresses in the message
header and trace lines.  Therefore the only people who can be
protected are third parties mentioned by email address in the
message - not a common enough case to interest spammers.

*** New in 4.1.0. ***
:spamhaus: spam'hows n.  Pejorative term for an    internet service
provider that permits or even encourages {spam}    mailings from its
systems.  The plural is `spamhausen'.  There is    a web page devoted
to tracking spamhausen (http://combat.uxn.com/spamhaus.html).

   The most notorious of the spamhausen was Sanford Wallace's Cyber
Promotions Inc., shut down by a lawsuit on 16 October 1997.  The
anniversary of the shutdown is celebrated on Usenet as Spam Freedom
Day, but lesser imitators of the Spamford still infest various    murky
corners of the net.  Since prosecution of spammers became    routine
under the junk-fax laws and statues specifically targeting    spam,
spamhausen have declined in relative importance; today,    hit-and-run
attacks by spammers using {relay rape} and    {throwaway account}s on
reputable ISPs seem to account for most    of the flow.

*** New in 4.1.0. ***
:spamvertize: v.  To advertise using {spam}.     Pejorative.

*** New in 4.1.0. ***
:spangle: n.  [UK] The singular of {bells and    whistles}.  See also
{spungle}.

*** New in 4.1.0. ***
:spawn: n.,vi.  1. [techspeak] In UNIX parlance, to create    a child
process from within a process.  Technically this is a    `fork'; the
term `spawn' is a bit more general and is used for    threads
(lightweight processes) as well as traditional heavyweight
processes.  2. In gaming, meant to indicate where (`spawn-point')
and when a player comes to life (or `re-spawns') after being    killed.
Opposite of {frag}.

*** New in 4.2.2. ***
:spider:  The Web-walking part of a search engine that collects
pages for indexing in the search engine's database.  Also called    a
{bot}.  The best-known spider is Scooter, the web-walker    for the
Alta Vista search engine.

*** New in 4.1.0. ***
:spider food: n.  Keywords embedded (usually invisibly)    into a web
page to attract search engines (spiders). The intended    result of
including spider food in one's web page is to insure that    the page
appears high on the list of matching entries to a search    engine
query.  There are right and wrong ways to do this; the right    way is
a discreet `meta keywords' tag, the wrong way is to embed    many
repeats of a keyword in comments (and many search engines now    detect
and ignore the latter).

*** New in 4.2.2. ***
:splat out: v.  [Usenet] To partially obscure a potentially
provocative word by substituting {splat} characters for some of    its
letters (usually, but not always, the vowels).  The purpose is    not
to make the word unrecognizable but to make it a mention rather    than
a use, so that no flamewar ensues.  Words often splatted out    include
N*z* (see {Godwin's Law}), *v*l*t**n (anywhere    fundamentalists might
be lurking), *b*rt**n, and g*n    c*ntr*l. Compare {UN*X}.

*** New in 4.1.3. ***
:spoiler space:  [also `spoiler spoo'] A screenful of blank    lines
(and, often, form-feeds) deliberately inserted in a message
following a {spoiler} warning, so the actual spoiler can't be    seen
without hitting a key.

*** New in 4.1.0. ***
:spoof: vi.  To capture, alter, and retransmit a    communication
stream in a way that misleads the recipient.  As used    by hackers,
refers especially to altering TCP/IP packet source    addresses or
other packet-header data in order to masquerade as a    trusted
machine. This term has become very widespread and is    borderline
techspeak.

*** New in 4.1.0. ***
:spungle: n.  [Durham, UK; portmanteau, {spangle} +    bungle] A
{spangle} of no actual usefulness. Example: Roger the    Bent Paperclip
in Microsoft Word '98.  A spungle's only virtue is    that it looks
pretty, unless you find creeping featurism ugly.

*** Changed in 4.2.0. ***
:stiffy: n.  3.5-inch {microfloppies}, so called because    their
jackets are more rigid than those of the 5.25-inch and the    (now
totally obsolete) 8-inch floppy.  Elsewhere this might be    called a
`firmy'.  For some odd reason, several sources have    taken the
trouble to inform us that this term is widespread in    South Africa.

*** Changed in 4.1.0. ***
:suit: n.  1. Ugly and uncomfortable `business    clothing' often worn
by non-hackers.  Invariably worn with a    `tie', a strangulation
device that partially cuts off the blood    supply to the brain.  It is
thought that this explains much about    the behavior of suit-wearers.
Compare {droid}.  2. A person who    habitually wears suits, as
distinct from a techie or hacker.  See    {pointy-haired}, {burble},
{management}, {Stupids},    {SNAFU principle}, {PHB}, and
{brain-damaged}.

*** Changed in 4.2.0. ***
:sun-stools: n.  Unflattering hackerism for SunTools, a    pre-X
windowing environment notorious in its day for size,    slowness, and
misfeatures.  {X}, however, is larger and (some    claim) slower; see
{second-system effect}.

*** Changed in 4.1.0. ***
:surf: v.  [from the `surf' idiom for rapidly flipping TV    channels]
To traverse the Internet in search of interesting stuff,    used esp.
if one is doing so with a World Wide Web browser.  It is    also common
to speak of `surfing in' to a particular resource.

   Hackers adopted this term early, but many have stopped using it
since it went completely mainstream around 1995.  The passive,
couch-potato connotations that go with TV channel surfing were    never
pleasant, and hearing non-hackers wax enthusiastic about    "surfing
the net" tends to make hackers feel a bit as though    their home is
being overrun by ignorami.

*** Changed in 4.1.0, 4.2.2, 4.2.2. ***
:talk mode: n.  A feature supported by Unix, ITS, and some    other
OSes that allows two or more logged-in users to set up a    real-time
on-line conversation.  It combines the immediacy of    talking with all
the precision (and verbosity) that written    language entails.  It is
difficult to communicate inflection,    though conventions have arisen
for some of these (see the section    on writing style in the
Prependices for details).

   Talk mode has a special set of jargon words, used to save typing,
which are not used orally.  Some of these are identical to (and
probably derived from) Morse-code jargon used by ham-radio amateurs
since the 1920s.

AFAIAC
     as far as I am concerned

AFAIK
     as far as I know

BCNU
     be seeing you

BTW
     by the way

BYE?
     are you ready to unlink?  (this is the standard way to end a
     talk-mode conversation; the other person types `BYE' to confirm,
     or else continues the conversation)

CUL
     see you later

ENQ?
     are you busy?  (expects `ACK' or `NAK' in return)

FOO?
     are you there? (often used on unexpected links, meaning also
     "Sorry if I butted in ..." (linker) or "What's up?"  (linkee))

FWIW
     for what it's worth

FYI
     for your information

FYA
     for your amusement

GA
     go ahead  (used when two people have tried to type simultaneously;
     this cedes the right to type to the other)

GRMBL
     grumble (expresses disquiet or disagreement)

HELLOP
     hello? (an instance of the `-P' convention)

IIRC
     if I recall correctly

JAM
     just a minute (equivalent to `SEC....')

MIN
     same as `JAM'

NIL
     no (see {NIL})

NP
     no problem

O
     over to you

OO
     over and out

/
     another form of "over to you" (from x/y as "x over y")

\
     lambda (used in discussing LISPy things)

OBTW
     oh, by the way

OTOH
     on the other hand

R U THERE?
     are you there?

SEC
     wait a second (sometimes written `SEC...')

SYN
     Are you busy? (expects ACK, SYN|ACK, or RST in return; this is
     modeled on the TCP/IP handshake sequence)

T
     yes (see the main entry for {T})

TNX
     thanks

TNX 1.0E6
     thanks a million (humorous)

TNXE6
     another form of "thanks a million"

WRT
     with regard to, or with respect to.

WTF
     the universal interrogative particle; WTF knows what it means?

WTH
     what the hell?

<double newline>
     When the typing party has finished, he/she types two newlines to
     signal that he/she is done; this leaves a blank line between
     `speeches' in the conversation, making it easier to reread the
     preceding text.

<name>:
     When three or more terminals are linked, it is conventional for
     each typist to {prepend} his/her login name or handle and a colon
     (or a hyphen) to each line to indicate who is typing (some
     conferencing facilities do this automatically).  The login name is
     often shortened to a unique prefix (possibly a single letter)
     during a very long conversation.

/\/\/\
     A giggle or chuckle.  On a MUD, this usually means `earthquake
     fault'.

Most of the above sub-jargon is used at both Stanford and MIT.
Several of these expressions are also common in {email}, esp.     FYI,
FYA, BTW, BCNU, WTF, and CUL.  A few other abbreviations have    been
reported from commercial networks, such as GEnie and    CompuServe,
where on-line `live' chat including more than two    people is common
and usually involves a more `social' context,    notably the following:

<g>
     grin

<gd&r>
     grinning, ducking, and running

BBL
     be back later

BRB
     be right back

HHOJ
     ha ha only joking

HHOK
     ha ha only kidding

HHOS
     {ha ha only serious}

IMHO
     in my humble opinion (see {IMHO})

LOL
     laughing out loud

NHOH
     Never Heard of Him/Her (often used in {initgame})

ROTF
     rolling on the floor

ROTFL
     rolling on the floor laughing

AFK
     away from keyboard

b4
     before

CU l8tr
     see you later

MORF
     male or female?

TTFN
     ta-ta for now

TTYL
     talk to you later

OIC
     oh, I see

rehi
     hello again

Most of these are not used at universities or in the Unix world,
though ROTF and TTFN have gained some currency there and IMHO is
common; conversely, most of the people who know these are    unfamiliar
with FOO?, BCNU, HELLOP, {NIL}, and {T}.

   The {MUD} community uses a mixture of Usenet/Internet emoticons,
a few of the more natural of the old-style talk-mode abbrevs, and
some of the `social' list above; specifically, MUD respondents
report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH.  The use
of `rehi' is also common; in fact, mudders are fond of re-    compounds
and will frequently `rehug' or `rebonk' (see    {bonk/oif}) people.
The word `re' by itself is taken as    `regreet'.  In general, though,
MUDders express a preference for    typing things out in full rather
than using abbreviations; this may    be due to the relative youth of
the MUD cultures, which tend to    include many touch typists and to
assume high-speed links.  The    following uses specific to MUDs are
reported:

CU l8er
     see you later (mutant of `CU l8tr')

FOAD
     fuck off and die (use of this is generally OTT)

OTT
     over the top (excessive, uncalled for)

ppl
     abbrev for "people"

THX
     thanks (mutant of `TNX'; clearly this comes in batches of 1138 (the
     Lucasian K)).

UOK?
     are you OK?

Some {B1FF}isms (notably the variant spelling `d00d')    appear to be
passing into wider use among some subgroups of    MUDders.

   One final note on talk mode style: neophytes, when in talk mode,
often seem to think they must produce letter-perfect prose because
they are typing rather than speaking.  This is not the best
approach.  It can be very frustrating to wait while your partner
pauses to think of a word, or repeatedly makes the same spelling
error and backs up to fix it.  It is usually best just to leave
typographical errors behind and plunge forward, unless severe
confusion may result; in that case it is often fastest just to type
"xxx" and start over from before the mistake.

   See also {hakspek}, {emoticon}.

*** New in 4.1.0. ***
:tape monkey: n.  A junior system administrator, one who    might
plausibly be assigned to do physical swapping of tapes and
subsequent storage.  When a backup needs to be restored, one might
holler "Tape monkey!" (Compare {one-banana problem})  Also used    to
dismiss jobs not worthy of a highly trained sysadmin's ineffable
talents: "Cable up her PC? You must be joking - I'm no tape    monkey."

*** New in 4.1.0. ***
:tarball: n.  [very common; prob. based on the "tar    baby" in the
Uncle Remus folk tales] An archive, created with the    Unix tar(1)
utility, containing myriad related files.  "Here, I'll    just ftp you
a tarball of the whole project."  Tarballs have been    the standard
way to ship around source-code distributions since the    mid-1980s; in
retrospect it seems odd that this term did not enter    common usage
until the late 1990s.

*** New in 4.1.0. ***
:teergrube: /teer'groob/ n.  [German for `tar pit'] A    trap set to
punish spammers who use an {address harvester}; a    mail server
deliberately set up to be really, really slow.  To    activate it,
scatter addresses that look like users on the teergrube's    host in
places where the address harvester will be trolling (one    popular way
is to embed the fake address in a Usenet sig block next    to a
human-readable warning not to send mail to it).  The address
harvester will dutifully collect the address.  When the spammer
tries to mailbomb it, his mailer will get stuck.

*** Changed in 4.1.0. ***
:terminal junkie: n.  [UK] A {wannabee} or early {larval    stage}
hacker who spends most of his or her time wandering the    directory
tree and writing {noddy} programs just to get a fix of    computer
time.  Variants include `terminal jockey', `console    junkie', and
{console jockey}.  The term `console jockey'    seems to imply more
expertise than the other three (possibly    because of the exalted
status of the {{console}} relative to an    ordinary terminal).  See
also {twink}, {read-only    user}.  Appropriately, this term was used
in the works of William    S. Burroughs to describe a heroin addict
with an unlimited supply.

*** Changed in 4.2.0. ***
:the network: n.  1. Historicaslly, the union of all the major
noncommercial, academic, and hacker-oriented networks, such as
Internet, the pre-1990 ARPANET, NSFnet, {BITNET}, and the    virtual
UUCP and {Usenet} `networks', plus the corporate    in-house networks
and commercial time-sharing services (such as    CompuServe, GEnie and
AOL) that gateway to them.  A site is    generally considered `on the
network' if it can be reached    through some combination of
Internet-style (@-sign) and UUCP    (bang-path) addresses.  See
{Internet}, {bang path},    {{Internet address}}, {network address}.
2. Following the    mass-culture discovery of the Internet in 1994 and
subsequent    proliferation of cheap TCP/IP connections, "the network"
is    increasingly synonymous with the Internet itself (as it was before
  the second wave of wide-area computer networking began around 1980).
  3. A fictional conspiracy of libertarian hacker-subversives and
anti-authoritarian monkeywrenchers described in Robert Anton
Wilson's novel "Schro"dinger's Cat", to which many hackers    have
subsequently decided they belong (this is an example of {ha    ha only
serious}).

   In sense 1, `the network' is often abbreviated to `the net'.  "Are
you on the net?" is a frequent question when hackers first meet
face to face, and "See you on the net!" is a frequent goodbye.

*** New in 4.1.0. Changed in 4.1.1. ***
:throwaway account: n.  1. An inexpensive Internet account    purchased
on a legitimate {ISP} for the the sole purpose of    spewing {spam}. 2.
An inexpensive Internet account obtained for    the sole purpose of
doing something which requires a valid email    address but being able
to ignore spam since the user will not look    at the account again.

*** New in 4.1.3. Changed in 4.2.0. ***
:thundering herd problem:  Scheduler thrashing.  This can    happen
under Unix when you have a number of processes that are    waiting on a
single event. When that event (a connection to the web    server, say)
happens, every process which could possibly handle the    event is
awakened.  In the end, only one of those processes will    actually be
able to do the work, but, in the meantime, all the    others wake up
and contend for CPU time before being put back to    sleep. Thus the
system thrashes briefly while a herd of processes    thunders through.
If this starts to happen many times per second,    the performance
impact can be significant.

*** Changed in 4.2.0. ***
:tits on a keyboard: n.  Small bumps on certain keycaps to    keep
touch-typists registered. Usually on the `5' of a numeric    keypad,
and on the `F' and `J' of a {QWERTY} keyboard;    but older Macs,
perverse as usual, had them on the `D' and    `K' keys (this changed in
1999).

*** Changed in 4.1.0. ***
:toaster: n.  1. The archetypal really stupid application    for an
embedded microprocessor controller; often used in comments    that
imply that a scheme is inappropriate technology (but see    {elevator
controller}).  "{DWIM} for an assembler?  That'd    be as silly as
running Unix on your    toaster
(http://www.phys.uu.nl/~beljaars/reddwarf/script/4/4.whi)!"  2. A very,
very dumb computer. "You could run this    program on any dumb
toaster."  See {bitty box}, {Get a real    computer!}, {toy}, {beige
toaster}.  3. A Macintosh, esp.     the Classic Mac.  Some hold that
this is implied by sense 2.  4. A    peripheral device.  "I bought my
box without toasters, but since    then I've added two boards and a
second disk drive." 5. A    specialized computer used as an appliance.
See {web toaster},    {video toaster}.

*** New in 4.1.0. ***
:toor: n.  The Bourne-Again Super-user.  An alternate account    with
UID of 0, created on Unix machines where the root user has an
inconvenient choice of shell. Compare {avatar}.

*** Changed in 4.1.2. ***
:topic drift: n.  Term used on GEnie, Usenet and other    electronic
fora to describe the tendency of a {thread} to drift    away from the
original subject of discussion (and thus, from the    Subject header of
the originating message), or the results of that    tendency.  The
header in each post can be changed to keep current    with the posts,
but usually isn't due to forgetfulness or laziness.     A single post
may often result in several posts each responding to    a different
point in the original.  Some subthreads will actually    be in response
to some off-the-cuff side comment, possibly    degenerating into a
{flame war}, or just as often evolving into a    separate discussion.
Hence, discussions aren't really so much    threads as they are trees.
Except that they don't really have    leaves, or multiple branching
roots; usually some lines of    discussion will just sort of die off
after everyone gets tired of    them.  This could take anywhere from
hours to weeks, or even    longer.

   The term `topic drift' is often used in gentle reminders that    the
discussion has strayed off any useful track.  "I think we    started
with a question about Niven's last book, but we've ended up
discussing the sexual habits of the common marmoset.  Now    _that's_
topic drift!"

*** Changed in 4.1.0, 4.1.0. ***
:tourist: n.  1. [ITS] A guest on the system, especially    one who
generally logs in over a network from a remote location for    {comm
mode}, email, games, and other trivial purposes.  One step    below
{luser}.  ITS hackers often used to spell this    {turist}, perhaps by
some sort of tenuous analogy with    {luser} (this usage may also have
expressed the ITS culture's    penchant for six-letterisms, and-or been
some sort of tribute to    Alan Turing).  Compare {twink}, {lurker},
{read-only    user}.  2. [IRC] An {IRC} user who goes from channel to
channel    without saying anything; see {channel hopping}.

*** Changed in 4.2.2. ***
:trampoline: n.  An incredibly {hairy} technique, found    in some
{HLL} and program-overlay implementations (e.g., on the    Macintosh),
that involves on-the-fly generation of small executable    (and, likely
as not, self-modifying) code objects to do indirection    between code
sections.  Under BSD and possibly in other Unixes,    trampoline code
is used to transfer control from the kernel back to    user mode when a
signal (which has had a handler installed) is sent    to a process.
hese pieces of {live data} are called    `trampolines'.  Trampolines
are notoriously difficult to    understand in action; in fact, it is
said by those who use this    term that the trampoline that doesn't
bend your brain is not the    true trampoline.  See also {snap}.

*** Changed in 4.1.0, 4.1.0, 4.2.2. ***
:troll: v.,n.  1. [From the Usenet group    alt.folklore.urban] To
utter a posting on {Usenet}    designed to attract predictable
responses or {flame}s; or, the    post itself.  Derives from the phrase
"trolling for {newbie}s"    which in turn comes from mainstream
"trolling", a style of    fishing in which one trails bait through a
likely spot hoping for a    bite.  The well-constructed troll is a post
that induces lots of    newbies and flamers to make themselves look
even more clueless than    they already do, while subtly conveying to
the more savvy and    experienced that it is in fact a deliberate
troll.  If you don't    fall for the joke, you get to be in on it. See
also {YHBT}. 2.     An individual who chronically trolls in sense 1;
regularly posts    specious arguments, flames or personal attacks to a
newsgroup,    discussion list, or in email for no other purpose than to
annoy    someone or disrupt a discussion.  Trolls are recognizable by
the    fact that the have no real interest in learning about the topic
at    hand - they simply want to utter flame bait.  Like the ugly
creatures they are named after, they exhibit no redeeming
characteristics, and as such, they are recognized as a lower form    of
life on the net, as in, "Oh, ignore him, he's just a troll."     3.
[Berkeley] Computer lab monitor. A popular campus job for CS
students. Duties include helping newbies and ensuring that lab
policies are followed. Probably so-called because it involves
lurking in dark cavelike corners.

   Some people claim that the troll (sense 1) is properly a narrower
category    than {flame bait}, that a troll is categorized by containing
  some assertion that is wrong but not overtly controversial. See
also {Troll-O-Meter}.

   The use of `troll' in either sense is a live metaphor that readily
produces elaborations and combining forms.  For example, one not
infrequently sees the warning "Do not feed the troll" as part    of a
followup to troll postings.

*** Changed in 4.1.0. ***
:tunafish: n.  In hackish lore, refers to the mutated    punchline of
an age-old joke to be found at the bottom of the    manual pages of
`tunefs(8)' in the original {BSD} 4.2    distribution.  The joke was
removed in later releases once    commercial sites started using 4.2,
but apparently restored on the    4.4BSD tape and in
{Net,Free,Open}BSD.  Tunefs relates to the    `tuning' of file-system
parameters for optimum performance, and    at the bottom of a few pages
of wizardly inscriptions was a `BUGS'    section consisting of the line
"You can tune a file system, but    you can't tunafish".  Variants of
this can be seen in other BSD    versions, though it has been excised
from some versions by    humorless management {droid}s.  The [nt]roff
source for SunOS    4.1.1 contains a comment apparently designed to
prevent this:    "Take this out and a Unix Demon will dog your steps
from now until    the `time_t''s wrap around."

   [It has since been pointed out that indeed you can tunafish.
Usually at a canning factory... --ESR]

*** Changed in 4.1.0. ***
:twink: /twink/ n.  1. [Berkeley] A clue-repellant user;    the next
step beyond a clueless one.  2. [UCSC] A {read-only    user}.  Also
reported on the Usenet group soc.motss; may    derive from gay slang
for a cute young thing with nothing upstairs    (compare mainstream
`chick').

*** Changed in 4.1.0. ***
:twirling baton: n.  [PLATO] The overstrike sequence -/|\-/|\-    which
produces an animated twirling baton.  If you output it with a    single
backspace between characters, the baton spins in place.  If    you
output the sequence BS SP between characters, the baton spins    from
left to right.  If you output BS SP BS BS between characters,    the
baton spins from right to left.  This is also occasionally    called a
twiddle prompt.

   The twirling baton was a popular component of animated signature
files on the pioneering PLATO educational timesharing system.  The
`archie' Internet service is perhaps the best-known baton    program
today; it uses the twirling baton as an idler indicating    that the
program is working on a query.  The twirling baton is also    used as a
boot progress indicator on several BSD variants of Unix;    if it stops
you're probably going to have a long and trying day.

*** Changed in 4.2.0, 4.2.2. ***
:upload: /uhp'lohd/ v.  1. [techspeak] To transfer    programs or data
over a digital communications link from a system near    you
(espercially a smaller or peripheral `client' system) to one    further
away from you (especially a larger or central `host'    system).  A
transfer in the other direction is, of course, called a    {download}
2. [speculatively] To move the essential patterns    and algorithms
that make up one's mind from one's brain into a    computer.  Those who
are convinced that such patterns and    algorithms capture the complete
essence of the self view this    prospect with pleasant anticipation.

*** New in 4.2.2. ***
:userland: n.  Anywhere outside the kernel.  "That code    belongs in
userland."  This term has been in common use among    {Linux} kernel
hackers since at leat 1997, and seems to have    originated in that
community.

*** New in 4.1.0. Changed in 4.1.1. ***
:vanity domain: n.  [common; from `vanity plate' as in    car license
plate] An Internet domain, particularly in    the .com or .org
top-level domains, apparently created for no    reason other than
boosting the creator's ego.

*** New in 4.1.0. ***
:vaston: n.  [Durham, UK] The unit of `load average'. A    measure of
how much work a computer is doing. A meter displaying    this as a
function of time is known as a `vastometer'. First used    during a
computing practical in December 1996.

*** Changed in 4.1.3. ***
:vaxocentrism: /vak`soh-sen'trizm/ n.  [analogy with
`ethnocentrism'] A notional disease said to afflict C programmers
who persist in coding according to certain assumptions that are
valid (esp. under Unix) on {VAXen} but false elsewhere. Among    these
are:

  1. The assumption that dereferencing a null pointer is safe because it
     is all bits 0, and location 0 is readable and 0.  Problem: this may
     instead cause an illegal-address trap on non-VAXen, and even on
     VAXen under OSes other than BSD Unix.  Usually this is an implicit
     assumption of sloppy code (forgetting to check the pointer before
     using it), rather than deliberate exploitation of a misfeature.

  2. The assumption that characters are signed.

  3. The assumption that a pointer to any one type can freely be cast
     into a pointer to any other type.  A stronger form of this is the
     assumption that all pointers are the same size and format, which
     means you don't have to worry about getting the casts or types
     correct in calls.  Problem: this fails on word-oriented machines
     or others with multiple pointer formats.

  4. The assumption that the parameters of a routine are stored in
     memory, on a stack, contiguously, and in strictly ascending or
     descending order.  Problem: this fails on many RISC architectures.

  5. The assumption that pointer and integer types are the same size,
     and that pointers can be stuffed into integer variables (and
     vice-versa) and drawn back out without being truncated or mangled.
     Problem: this fails on segmented architectures or word-oriented
     machines with funny pointer formats.

  6. The assumption that a data type of any size may begin at any byte
     address in memory (for example, that you can freely construct and
     dereference a pointer to a word- or greater-sized object at an odd
     char address).  Problem: this fails on many (esp. RISC)
     architectures better optimized for {HLL} execution speed, and can
     cause an illegal address fault or bus error.

  7. The (related) assumption that there is no padding at the end of
     types and that in an array you can thus step right from the last
     byte of a previous component to the first byte of the next one.
     This is not only machine- but compiler-dependent.

  8. The assumption that memory address space is globally flat and that
     the array reference `foo[-1]' is necessarily valid.  Problem: this
     fails at 0, or other places on segment-addressed machines like
     Intel chips (yes, segmentation is universally considered a
     {brain-damaged} way to design machines (see {moby}), but that is a
     separate issue).

  9. The assumption that objects can be arbitrarily large with no
     special considerations.  Problem: this fails on segmented
     architectures and under non-virtual-addressing environments.

 10. The assumption that the stack can be as large as memory.  Problem:
     this fails on segmented architectures or almost anything else
     without virtual addressing and a paged stack.

 11. The assumption that bits and addressable units within an object
     are ordered in the same way and that this order is a constant of
     nature.  Problem: this fails on {big-endian} machines.

 12. The assumption that it is meaningful to compare pointers to
     different objects not located within the same array, or to objects
     of different types.  Problem: the former fails on segmented
     architectures, the latter on word-oriented machines or others with
     multiple pointer formats.

 13. The assumption that an `int' is 32 bits, or (nearly equivalently)
     the assumption that `sizeof(int) == sizeof(long)'.  Problem: this
     fails on PDP-11s, 286-based systems and even on 386 and 68000
     systems under some compilers (and on 64-bit    systems like the
     Alpha, of course).

 14. The assumption that `argv[]' is writable.  Problem: this fails in
     many embedded-systems C environments and even under a few flavors
     of Unix.

Note that a programmer can validly be accused of vaxocentrism    even
if he or she has never seen a VAX.  Some of these assumptions    (esp.
2-5) were valid on the PDP-11, the original C machine, and    became
endemic years before the VAX.  The terms `vaxocentricity'    and
`all-the-world's-a-VAX syndrome' have been used synonymously.

*** Changed in 4.1.0. ***
:veeblefester: /vee'b*l-fes`tr/ n.  [from the    "Born Loser" comix via
Commodore; prob. originally from    "Mad" Magazine's `Veeblefetzer'
parodies beginning in #15,    1954] Any obnoxious person engaged in the
(alleged) professions of    marketing or management.  Antonym of
{hacker}.  Compare    {suit}, {marketroid}.

*** New in 4.1.0. ***
:velveeta: n.  [Usenet: by analogy with {spam}.  The    trade name
Velveeta is attached in the U.S. to a particularly nasty
processed-cheese spread.] Also knows as {ECP}; a message that is
excessively cross-posted, as opposed to {spam} which is too
frequently posted.  This term is widely recognized but not commonly
used; most people refer to both kinds of abuse as spam. Compare
{jello}.

*** Changed in 4.1.0, 4.1.1, 4.1.1. ***
:vi: /V-I/, _not_ /vi:/ and _never_ /siks/ n.      [from `Visual
Interface'] A screen editor crufted together by    Bill Joy for an
early {BSD} release.  Became the de facto    standard Unix editor and a
nearly undisputed hacker favorite    outside of MIT until the rise of
{EMACS} after about 1984.     Tends to frustrate new users no end, as
it will neither take    commands while expecting input text nor vice
versa, and the default    setup on older versions provides no
indication of which mode the    editor is in (years ago, a
correspondent reported that he has often    heard the editor's name
pronounced /vi:l/; there is now a vi    clone named `vile').
Nevertheless vi (and variants such as vim    and elvis) is still widely
used (about half the respondents in a    1991 Usenet poll preferred
it), and even EMACS fans often resort to    it as a mail editor and for
small editing jobs (mainly because it    starts up faster than the
bulkier versions of EMACS).  See    {holy wars}.

*** New in 4.1.0. ***
:video toaster: n.  Historically, an Amiga fitted with a    particular
line of special video effects hardware from NewTek -    long a popular
platform at special-effects and video production    houses.  More
generally, any computer system designed specifically    for video
production and manipulation.  Compare {web toaster}    and see
{toaster}.

*** New in 4.1.0. ***
:virtual beer: n.  Praise or thanks. Used universally in    the Linux
community. Originally this term signified cash, after a    famous
incident in which some some Britishers who wanted to buy    Linus a
beer and sent him money to Finland to do so.

*** Changed in 4.1.0. ***
:voodoo programming: n.  [from George Bush's "voodoo    economics"] 1.
The use by guess or cookbook of an {obscure} or    {hairy} system,
feature, or algorithm that one does not truly    understand.  The
implication is that the technique may not work,    and if it doesn't,
one will never know why.  Almost synonymous with    {black magic},
except that black magic typically isn't    documented and _nobody_
understands it.  Compare {magic},    {deep magic}, {heavy wizardry},
{rain dance}, {cargo    cult programming}, {wave a dead chicken}.  2.
Things programmers    do that they know shouldn't work but they try
anyway, and which    sometimes actually work, such as recompiling
everything.

*** New in 4.1.0. Changed in 4.1.1, 4.1.2. ***
:wall wart: n.  A small power-supply brick with integral    male plug,
designed to plug directly into a wall outlet; called a    `wart'
because when installed on a power strip it tends to block up    at
least one more socket than it uses..  These are frequently
associated with modems and other small electronic devices which
would become unacceptably bulky or hot if they had power supplies    on
board (there are other reasons as well having to do with the    cost of
UL certification).

*** Changed in 4.2.0. ***
:wank: /wangk/ n.,v.,adj.  [Columbia University: prob. by    mutation
from Commonwealth slang v. `wank', to masturbate] Used    much as
{hack} is elsewhere, as a noun denoting a clever    technique or person
or the result of such cleverness.  May describe    (negatively) the act
of hacking for hacking's sake ("Quit wanking,    let's go get supper!")
or (more positively) a {wizard}.  Adj.     `wanky' describes something
particularly clever (a person,    program, or algorithm).
Conversations can also get wanky when    there are too many wanks
involved.  This excess wankiness is    signalled by an overload of the
`wankometer' (compare    {bogometer}).  When the wankometer overloads,
the conversation's    subject must be changed, or all non-wanks will
leave.  Compare    `neep-neeping' (under {neep-neep}).  Usage: U.S.
only.  In    Britain and the Commonwealth this word is _extremely_ rude
and    is best avoided unless one intends to give offense.  Adjectival
 `wanky' is less offensive and simply means `stupid' or `broken'
(this is mainstream in Great Britain).

*** Changed in 4.2.0. ***
:warez d00dz: /weirz doodz/ n.  A substantial subculture of
{cracker}s refer to themselves as `warez d00dz'; there is    evidently
some connection with {B1FF} here.  As `Ozone Pilot',    one former
warez d00d, wrote:

     Warez d00dz get illegal copies of copyrighted software.  If it has
     copy protection on it, they break the protection so the software
     can be copied.  Then they distribute it around the world via
     several gateways.  Warez d00dz form badass group names like RAZOR
     and the like.  They put up boards that distribute the latest ware,
     or pirate program.  The whole point of the Warez sub-culture is to
     get the pirate program released and distributed before any other
     group.  I know, I know.  But don't ask, and it won't hurt as much.
     This is how they prove their poweress [sic].  It gives them the
     right to say, "I released King's Quest IVXIX before you so
     obviously my testicles are larger." Again don't ask...

   The studly thing to do if one is a warez d00d, it appears, is emit
`0-day warez', that is copies of commercial software copied and
cracked on the same day as its retail release.  Warez d00ds also
hoard software in a big way, collecting untold megabytes of
arcade-style games, pornographic JPGs, and applications they'll
never use onto their hard disks.  As Ozone Pilot acutely observes:

     [BELONG] is the only word you will need to know.  Warez d00dz want
     to belong.  They have been shunned by everyone, and thus turn to
     cyberspace for acceptance.  That is why they always start groups
     like TGW, FLT, USA and the like.  Structure makes them happy. [...]
     Warez d00dz will never have a handle like "Pink Daisy" because
     warez d00dz are insecure.  Only someone who is very secure with a
     good dose of self-esteem can stand up to the cries of fag and
     girlie-man.  More likely you will find warez d00dz with handles
     like:  Doctor Death, Deranged Lunatic, Hellraiser, Mad Prince,
     Dreamdevil, The Unknown, Renegade Chemist, Terminator, and Twin
     Turbo.  They like to sound badass when they can hide behind their
     terminals.  More likely, if you were given a sample of 100 people,
     the person whose handle is Hellraiser is the last person you'd
     associate with the name.

   The contrast with Internet hackers is stark and instructive.  See
{cracker}, {wannabee}, {handle}, {elite}, {courier},    {leech};
compare {weenie}, {spod}.

*** New in 4.1.1. ***
:warez kiddies: n.  Even more derogatory way of referring    to {warez
d00dz}; refers to the fact that most warez d00dz are    around the age
of puberty. Compare {script kiddies}.

*** New in 4.2.0. ***
:web ring: n.   Two or more web sites connected    by prominent links
between sites sharing a common interest or theme.     Usually such
cliques have the topology of a ring, in order to make    it easy for
visitors to navigate through all of them.

*** New in 4.1.0. ***
:web toaster: n.  A small specialized computer, shipped    with no
monitor or keyboard or any other external peripherals,
pre-configured to be controlled through an Ethernet port and
function as a WWW server.  Products of this kind (for example the
Cobalt Qube) are often about the size of a toaster. See    {toaster};
compare {video toaster}.

*** New in 4.1.0. ***
:webify: n.  To put a piece of (possibly already    existing) material
on the WWW.  Frequently used for papers ("Why    don't you webify all
your publications?") or for demos ("They    webified their 6.866 final
project").  This term seems to have    been (rather logically)
independently invented multiple times in    the early 1990s.

*** Changed in 4.1.0. ***
:wedged: adj.  1. To be stuck, incapable of proceeding    without help.
This is different from having crashed.  If the    system has crashed,
it has become totally non-functioning.  If the    system is wedged, it
is trying to do something but cannot make    progress; it may be
capable of doing a few things, but not be fully    operational.  For
example, a process may become wedged if it    {deadlock}s with another
(but not all instances of wedging are    deadlocks).  See also {gronk},
{locked up}, {hosed},    {hung} (wedged is more severe than {hung}).
2. Often refers    to humans suffering misconceptions.  "He's totally
wedged -- he's    convinced that he can levitate through meditation."
3. [Unix]    Specifically used to describe the state of a TTY left in a
losing    state by abort of a screen-oriented program or one that has
messed    with the line discipline in some obscure way.

   There is some dispute over the origin of this term.  It is usually
thought to derive from a common description of recto-cranial
inversion; however, it may actually have originated with older
`hot-press' printing technology in which physical type elements    were
locked into type frames with wedges driven in by mallets.     Once this
had been done, no changes in the typesetting for that    page could be
made.

*** Changed in 4.1.1. ***
:well-behaved: adj.  1. [primarily {{MS-DOS}}] Said of    software
conforming to system interface guidelines and standards.
Well-behaved software uses the operating system to do chores such    as
keyboard input, allocating memory and drawing graphics.  Oppose
{ill-behaved}.  2. Software that does its job quietly and    without
counterintuitive effects.  Esp. said of software having    an interface
spec sufficiently simple and well-defined that it can    be used as a
{tool} by other software.  See {cat}.  3.  Said    of an algorithm that
doesn't {crash} or {blow up}, even when    given {pathological} input.
Implies that the stability of the    algorithm is intrinsic, which
makes this somewhat different from    {bulletproof}.

*** New in 4.1.0. Changed in 4.2.2. ***
:whack-a-mole: n.  [from the carnival game which involves    quickly
and repeatedly hitting the heads of mechanical moles with a    mallet
as they pop up from their holes.] 1.  The practice of    repeatedly
causing spammers' {throwaway account}s and drop boxes    to be
terminated.  2. After sense 1 became established in the    mid-1990s
the term passed into more generalized use, and now is    commonly found
in such combinations as `whack-a-mole windows';    the obnoxious pop-ip
advertisement windows spawned in flocks when    you surg to sites like
Geocities or Tripod.

*** New in 4.2.0. ***
:wheel of reincarnation:   [coined in a paper by T. H. Myer    and I.E.
Sutherland "On the Design of Display Processors", Comm.     ACM, Vol.
11, no. 6, June 1968)] Term used to refer to a well-known    effect
whereby function in a computing system family is migrated    out to
special-purpose peripheral hardware for speed, then the    peripheral
evolves toward more computing power as it does its job,    then
somebody notices that it is inefficient to support two    asymmetrical
processors in the architecture and folds the function    back into the
main CPU, at which point the cycle begins again.

   Several iterations of this cycle have been observed in
graphics-processor design, and at least one or two in    communications
and floating-point processors.  Also known as `the    Wheel of Life',
`the Wheel of Samsara', and other variations of    the basic
Hindu/Buddhist theological idea.  See also {blitter},    {bit bang}.

*** New in 4.2.2. ***
:whitelist: n.  The opposite of a blacklist.  That is,    instead of
being an explicit list of people who are banned, it's an    explicit
list of people who are to be admitted.  Hackers use this    especially
of lists of email addresses that are explicitly enabled    to get past
strict anti-spam filters.

*** Changed in 4.1.0, 4.2.0, 4.2.2. ***
:wibble:  [UK, perh. originally from the first "Roger    Irrelevant"
strip in "VIZ" comics, spread via "Your    Sinclair magazine in the
1980s and early 1990s"] 1. n.,v.     Commonly used to describe chatter,
content-free remarks or other    essentially meaningless contributions
to threads in    newsgroups. "Oh, rspence is wibbling again".  2. [UK
IRC] An    explicit on-line no-op equivalent to {humma}.  3. One of the
  preferred {metasyntactic variable}s in the UK, forming a series
with `wobble', `wubble', and `flob' (attributed to    the hilarious
historical comedy "Blackadder"). 4. A    pronounciation of the letters
"www", as seen in URLs; i.e.,    www.{foo}.com may be pronounced
"wibble dot foo dot com"    (compare {dub dub dub}).

   The ancestral sense of this word is reported to have been "My
brain is packing it in now.  I give up. _Tilt! Tilt! Tilt!_"

*** Changed in 4.2.0. ***
:wizard: n.  1. Transitively, a person who knows how a    complex piece
of software or hardware works (that is, who    {grok}s it); esp.
someone who can find and fix bugs quickly in    an emergency.  Someone
is a {hacker} if he or she has general    hacking ability, but is a
wizard with respect to something only if    he or she has specific
detailed knowledge of that thing.  A good    hacker could become a
wizard for something given the time to study    it.  2. The term
`wizard' is also used intransitively of someone    who has extremely
high-level hacking or problem-solving ability.     3. A person who is
permitted to do things forbidden to ordinary    people; one who has
{wheel} privileges on a system.  4. A Unix    expert, esp. a Unix
systems programmer.  This usage is well    enough established that
`Unix Wizard' is a recognized job title at    some corporations and to
most headhunters.  See {guru}, {lord    high fixer}.  See also {deep
magic}, {heavy wizardry},    {incantation}, {magic}, {mutter}, {rain
dance},    {voodoo programming}, {wave a dead chicken}.

*** New in 4.2.0. ***
:wizard hat: n.  [also, after Terry Pratchett, `pointy    hat']
Notional headgear worn by whoever is the {wizard} in a    particular
context.  The implication is that it's a transferable    role.  "Talk
to Alice, she's wearing the TCP/IP wizard hat while    Bob is on
vacation."  This metaphor is sufficiently live that one    may actually
see hackers miming the act of putting on, taking off,    or
transferring a phantom hat.  Compare {patch pumpkin}.

*** New in 4.1.0. Changed in 4.2.2. ***
:womble: n.  [Unisys UK: from British animated characters]    A user
who has great difficulty in communicating their requirements    and/or
in using the resulting software. Extreme case of {luser}. An
especially senior or high-ranking womble is referred to as
Great-Uncle Bulgaria.

*** Changed in 4.2.2. ***
:write-only memory: n.  The obvious antonym to    `read-only memory'.
Out of frustration with the long and    seemingly useless chain of
approvals required of component    specifications, during which no
actual checking seemed to occur, an    engineer at Signetics once
created a specification for a write-only    memory and included it with
a bunch of other specifications to be    approved.  This inclusion came
to the attention of Signetics    {management} only when regular
customers started calling and    asking for pricing information.
Signetics published a corrected    edition of the data book and
requested the return of the    `erroneous' ones.  Later, in 1972,
Signetics bought a    double-page spread in "Electronics" magazine's
April issue and    used the spec as an April Fools' Day joke.  Instead
of the more    conventional characteristic curves, the 25120 "fully
encoded, 9046    x N, Random Access, write-only-memory" data sheet
included    diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number
  of pins remaining vs. number of socket insertions", and "AQL    vs.
selling price".  The 25120 required a 6.3 VAC VFF supply, a    +10V
VCC, and VDD of 0V, +/- 2%.

*** Changed in 4.1.3, 4.2.0. ***
:wumpus: /wuhm'p*s/ n.  The central monster (and, in many    versions,
the name) of a famous family of very early computer games    called
"Hunt The Wumpus'.  The original was invented in 1970 (several    years
before {ADVENT}) by Gregory Yob.     The wumpus lived somewhere in a
cave with the topology of an    dodecahedron's edge/vertex graph (later
versions supported other    topologies, including an icosahedron and
Mo"bius strip). The    player started somewhere at random in the cave
with five `crooked    arrows'; these could be shot through up to three
connected rooms,    and would kill the wumpus on a hit (later versions
introduced the    wounded wumpus, which got very angry).  Unfortunately
for players,    the movement necessary to map the maze was made
hazardous not    merely by the wumpus (which would eat you if you
stepped on him)    but also by bottomless pits and colonies of super
bats that would    pick you up and drop you at a random location (later
versions added    `anaerobic termites' that ate arrows, bat migrations,
and    earthquakes that randomly changed pit locations).

   This game appears to have been the first to use a non-random
graph-structured map (as opposed to a rectangular grid like the    even
older Star Trek games).  In this respect, as in the    dungeon-like
setting and its terse, amusing messages, it prefigured    {ADVENT} and
{Zork} and was directly ancestral to the latter    (Zork acknowledged
this heritage by including a super-bat colony).     A C emulation of
the original Basic game is available at the    Retrocomputing Museum,
`http://www.ccil.org/retro'.

*** Changed in 4.1.3, 4.2.0, 4.2.2, 4.2.2, 4.2.2. ***
:xyzzy: /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/    adj.
[from the ADVENT game] The {canonical} `magic    word'.  This comes
from {ADVENT}, in which the idea is to    explore an underground cave
with many rooms and to collect the    treasures you find there.  If you
type `xyzzy' at the appropriate    time, you can move instantly between
two otherwise distant points.     If, therefore, you encounter some bit
of {magic}, you might    remark on this quite succinctly by saying
simply "Xyzzy!"     "Ordinarily you can't look at someone else's screen
if he has    protected it, but if you type quadruple-bucky-clear the
system will    let you do it anyway."  "Xyzzy!"  It's traditional for
xyzzy    to be an {Easter egg} in games with text interfaces.

   Xyzzy has actually been implemented as an undocumented no-op
command on several OSes; in Data General's AOS/VS, for example, it
would typically respond "Nothing happens", just as {ADVENT}    did if
the magic was invoked at the wrong spot or before a player    had
performed the action that enabled the word.  In more recent    32-bit
versions, by the way, AOS/VS responds "Twice as much    happens".

   Early versions of the popular `minesweeper' game under Microsoft
Windows had a cheat mode triggered by the command
`xyzzy<enter><right-shift>' that turns the top-left pixel of the
screen different colors depending on whether or not the cursor is
over a bomb.  This feature temporarily diasappeared in Windows 98,
but reappeared in Windows 2000.

   The following passage from "The Wonderful Wizard of Oz" by    L.
Frank Baum, suggesting a possible pre-ADVENT origin, has    recently
come to light:

   "Ziz-zy, zuz-zy, zik!" said Dorothy, who was now standing on both
feet.  This ended the saying of the charm, and they heard a great
chattering and flapping of wings, as the band of Winged Monkeys    flew
up to them.

   The text can be viewed at
ftp://metalab.unc.edu/pub/docs/books/gutenberg/etext93/wizoz10.txt
(Project Gutenberg).

   Another possible pre-ADVENT porigin is discussed at
http://people.delphi.com/rickadams/adventure/c_xyzzy.html (the XYZZY
page).

*** New in 4.1.0. ***
:yellow card: n.  See {green card}.

*** New in 4.2.2. ***
:zbeba:  n.   [USENET] The word `moron' in {rot13}.     Used to
describe newbies who are behaving with especial cluelessness.

*** Changed in 4.1.0. ***
:zigamorph: /zig'*-morf/ n.  1. Hex FF (11111111) when    used as a
delimiter or {fence} character.  Usage: primarily at    IBM shops.  2.
[proposed] n. The Unicode non-character U+FFFF    (1111111111111111), a
character code which is not assigned to any    character, and so is
usable as end-of-string.  (Unicode is a 16-bit    character code
intended to cover all of the world's writing    systems, including
Latin, Greek, Cyrillic, Chinese, hiragana,    katakana, Devanagari,
Thai, Laotian and many other    scripts - support for {elvish} is
planned for a future    release).

************************* Deleted entries *************************



       <bobbit>		4.1.2  (DejaNews suggests it's dead)
       AOS		4.1.1  (PDP-10 mnemonic; no longer live)
       CTY		4.1.1  (the OSs that used this are 15 years dead)
       DEChead		4.1.0  (obs. now that DEC is gone)
       JFCL		4.1.1  (PDP-10 mnemonic; no longer live)
       JRST		4.1.1  (PDP-10 mnemonic; no longer live)
       JR[LN]		4.1.2  (PDP-10 reference; no longer live)
       NOMEX underwear		4.1.1  (DejaNews suggests it was never live)
       Open DeathTrap		4.1.0
       PIP		4.1.1  (PDP-10 reference; no longer live)
       Pink-Shirt Book		4.1.1
       \begin		4.1.1  (folded into front matter)
       altmode		4.1.1  (ITS/PDP-10 reference; no longer live)
       blow away		4.1.1  (mainstream)
       chine nual		4.1.1  (been dead since the early 1980s)
       cruncha cruncha cruncha		4.1.1  (DejaNews suggests it's dead)
       dec		4.1.1  (merged into DEC)
       double DECkers		4.1.0  (obs. now that DEC is gone)
       fepped out		4.1.1  (nobody's seen one since LISP machines)
       microtape		4.1.0
       news		4.1.1  (see netnews)
       pdl		4.1.1  (merged into PDL)
       pig, run like a		4.1.0  (mainstream)

************************ Statistics ************************


    Total entries:                2302
    Total new:                 254
    Total changed:             457
    Total deleted:             24

Additions by version:
    4.1.0: 153
    4.1.1: 22
    4.1.2: 4
    4.1.3: 10
    4.2.0: 30
    4.2.1: 2
    4.2.2: 33

Changes by version:
    4.1.0: 160
    4.1.1: 80
    4.1.2: 34
    4.1.3: 17
    4.2.0: 80
    4.2.1: 17
    4.2.2: 69

New percentage:            12.40%
Changed percentage:        22.31%
Deleted percentage:         1.17%
Total change percentage:   35.89%
   
