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 4.2.3 4.3.0. It was generated on Mon Apr 30
22:33:02 EDT 2001 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, 4.3.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.
We are informed, however, that rec.skydiving members have
maintained a tradition of formation jumps in the shape of an @;
picture at
`http://www.birdwalk.com/DevilsWorkshop/favorites/source/6.html'.
*** 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 Colossal Cave Adventure page
(http://people.delphi.com/rickadams/adventure/index.html).
*** 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
Me, too!
is also frequently seen. See also {September that never ended}.
*** Changed in 4.1.0, 4.1.1, 4.2.0, 4.2.3, 4.2.3. ***
:ASCII:: /as'kee/ n. [originally an acronym (American Standard Code
for Information Interchange) but now merely conventional] The
predominant character set encoding of present-day computers. The
standard version uses 7 bits for each character, whereas most
earlier codes (including early drafts of ASCII prior to June 1961)
used fewer. This change allowed the inclusion of lowercase letters
-- a major {win} -- but it did not provide for accented letters or
any other letterforms not used in English (such as the German sharp-S
or the ae-ligature which is a letter in, for example, Norwegian).
It could be worse, though. It could be much worse. See {{EBCDIC}}
to understand how. A history of ASCII and its ancestors is at
`http://www.wps.com/texts/codes/index.html'.
Computers are much pickier and less flexible about spelling than
humans; thus, hackers need to be very precise when talking about
characters, and have developed a considerable amount of verbal
shorthand for them. Every character has one or more names -- some
formal, some concise, some silly. Common jargon names for ASCII
characters are collected here. See also individual entries for
{bang}, {excl}, {open}, {ques}, {semi}, {shriek}, {splat},
{twiddle}, and {Yu-Shiang Whole Fish}.
This list derives from revision 2.3 of the Usenet ASCII
pronunciation guide. Single characters are listed in ASCII order;
character pairs are sorted in by first member. For each character,
common names are given in rough order of popularity, followed by
names that are reported but rarely seen; official ANSI/CCITT names
are surrounded by brokets: <>. Square brackets mark the
particularly silly names introduced by {INTERCAL}. The
abbreviations "l/r" and "o/c" stand for left/right and "open/close"
respectively. Ordinary parentheticals provide some usage
information.
!
Common: {bang}; pling; excl; not; shriek; ball-bat; . Rare: factorial; exclam; smash; cuss; boing; yell; wow;
hey; wham; eureka; [spark-spot]; soldier, control.
"
Common: double quote; quote. Rare: literal mark; double-glitch;
; ; dirk; [rabbit-ears]; double prime.
#
Common: number sign; pound; pound sign; hash; sharp; {crunch}; hex;
[mesh]. Rare: grid; crosshatch; octothorpe; flash; ,
pig-pen; tictactoe; scratchmark; thud; thump; {splat}.
$
Common: dollar; . Rare: currency symbol; buck; cash;
string (from BASIC); escape (when used as the echo of ASCII ESC);
ding; cache; [big money].
%
Common: percent; ; mod; grapes. Rare:
[double-oh-seven].
&
Common: ; amp; amper; and, and sign. Rare: address
(from C); reference (from C++); andpersand; bitand; background
(from `sh(1)'); pretzel. [INTERCAL called this `ampersand'; what
could be sillier?]
'
Common: single quote; quote; . Rare: prime; glitch;
tick; irk; pop; [spark]; ; .
( )
Common: l/r paren; l/r parenthesis; left/right; open/close;
paren/thesis; o/c paren; o/c parenthesis; l/r parenthesis; l/r
banana. Rare: so/already; lparen/rparen; ; o/c round bracket, l/r round bracket, [wax/wane];
parenthisey/unparenthisey; l/r ear.
*
Common: star; [{splat}]; . Rare: wildcard; gear; dingle;
mult; spider; aster; times; twinkle; glob (see {glob}); {Nathan
Hale}.
+
Common: ; add. Rare: cross; [intersection].
,
Common: . Rare: ; [tail].
-
Common: dash; ; . Rare: [worm]; option; dak;
bithorpe.
.
Common: dot; point; ; . Rare: radix point;
full stop; [spot].
/
Common: slash; stroke; ; forward slash. Rare: diagonal;
solidus; over; slak; virgule; [slat].
:
Common: . Rare: dots; [two-spot].
;
Common: ; semi. Rare: weenie; [hybrid], pit-thwong.
< >
Common: ; bra/ket; l/r angle; l/r angle
bracket; l/r broket. Rare: from/{into, towards}; read from/write
to; suck/blow; comes-from/gozinta; in/out; crunch/zap (all from
UNIX); tic/tac; [angle/right angle].
=
Common: ; gets; takes. Rare: quadrathorpe; [half-mesh].
?
Common: query; ; {ques}. Rare: quiz; whatmark;
[what]; wildchar; huh; hook; buttonhook; hunchback.
@
Common: at sign; at; strudel. Rare: each; vortex; whorl;
[whirlpool]; cyclone; snail; ape; cat; rose; cabbage; .
V
Rare: [book].
[ ]
Common: l/r square bracket; l/r bracket; ; bracket/unbracket. Rare: square/unsquare; [U turn/U
turn back].
\
Common: backslash, hack, whack; escape (from C/UNIX); reverse
slash; slosh; backslant; backwhack. Rare: bash; ;
reversed virgule; [backslat].
^
Common: hat; control; uparrow; caret; . Rare: xor
sign, chevron; [shark (or shark-fin)]; to the (`to the power of');
fang; pointer (in Pascal).
_
Common: ; underscore; underbar; under. Rare: score;
backarrow; skid; [flatworm].
`
Common: backquote; left quote; left single quote; open quote;
; grave. Rare: backprime; [backspark];
unapostrophe; birk; blugle; back tick; back glitch; push; ; quasiquote.
{ }
Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly
bracket/brace; l/r curly bracket/brace; .
Rare: brace/unbrace; curly/uncurly; leftit/rytit; l/r squirrelly;
[embrace/bracelet]. A balanced pair of these may be called
`curlies'.
|
Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare:
; gozinta; thru; pipesinta (last three from UNIX);
[spike].
~
Common: ; squiggle; {twiddle}; not. Rare: approx; wiggle;
swung dash; enyay; [sqiggle (sic)].
The pronunciation of `#' as `pound' is common in the U.S. but a bad
idea; {{Commonwealth Hackish}} has its own, rather more apposite use
of `pound sign' (confusingly, on British keyboards the 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, 4.2.3, 4.3.0, 4.3.0. ***
:Acme: n. [from Greek `akme', highest point of perfection or
achievement] The canonical supplier of bizarre, elaborate, and
non-functional gadgetry - where Rube Goldberg and Heath Robinson
(two cartoonists who specialized in elaborate contraptions) shop.
The name has been humorously expanded as A (or American) Company
Making Everything. (In fact, Acme was a real brand sold from Sears
Roebuck catalogs in the early 1900s.) Describing some X as an "Acme
X" either means "This is {insanely great}", or, more likely, "This
looks {insanely great} on paper, but in practice it's really easy to
shoot yourself in the foot with it." Compare {pistol}.
This term, specially cherished by American hackers and explained
here for the benefit of our overseas brethren, comes from the Warner
Brothers' series of "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 wooden crates labeled prominently with
the Acme name - which, probably not by coincidence, was the trade
name of the animation rotation board used by cartoonists since
forever. Acme devices invariably malfunctioned in improbable and
violent ways.
*** 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 was "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 quite hard to
follow, theorists stopped using the unadorned letters A and B to
represent the main players and started calling them Alice and Bob.
So now we say "Alice communicates with someone claiming to be Bob,
and to be sure, Alice tests that Bob knows a secret number K. Alice
sends to Bob a random number X. Bob then forms Y by encrypting X
under key K and sends Y back to Alice". A whole mythology rapidly
grew up around the metasyntactic names; see
`http://www.conceptlabs.co.uk/alicebob.html'.
In Bruce Schneier's definitive introductory text "Applied
Cryptography" (2nd ed., 1996, John Wiley & Sons, ISBN 0-471-11709-9)
he 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, 4.3.0. ***
:BASIC: /bay'-sic/ n. A programming language, originally designed
for Dartmouth's experimental timesharing system in the early 1960s,
which for many years was the leading cause of brain damage in
proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on
Computing: A Personal Perspective" that "It is practically
impossible to teach good programming style to students that have had
prior exposure to BASIC: as potential programmers they are mentally
mutilated beyond hope of regeneration." This is another case (like
{Pascal}) of the cascading {lossage} that happens when a language
deliberately designed as an educational toy gets taken too
seriously. A novice can write short BASIC programs (on the order of
10-20 lines) very easily; writing anything longer (a) is very
painful, and (b) encourages bad habits that will make it harder to
use more powerful languages well. This wouldn't be so bad if
historical accidents hadn't made BASIC so common on low-end micros
in the 1980s. As it is, it probably ruined tens of thousands of
potential wizards.
[1995: Some languages called `BASIC' aren't quite this nasty any
more, having acquired Pascal- and C-like procedures and control
structures and shed their line numbers. --ESR]
BASIC stands for "Beginner's All-purpose Symbolic Instruction
Code". Earlier versions of this entry claiming this was a later
{backronym} were incorrect.
*** 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, 4.3.0. ***
:BFI: /B-F-I/ n. See {brute force and ignorance}. Also encountered
in the variants `BFMI', `brute force and _massive_ ignorance' and
`BFBI' `brute force and bloody ignorance'. In some parts of the
U.S. this abbreviation was probably reinforced by a company called
Browning-Ferris Industries in the waste-management business; a large
BFI logo in white-on-blue could be seen on the sides of garbage
trucks.
*** 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:
::=
::= | "."
::= []
|
::= []
::= ","
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? 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}, and {{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, 4.2.3, 4.2.3. ***
:Bad and Wrong: adj. [Durham, UK] Said of something that is both
badly designed and wrongly executed. This common term is the
prototype of, and is used by contrast with, three less common terms
- Bad and Right (a kludge, something ugly but functional); Good and
Wrong (an overblown GUI or other attractive nuisance); and (rare
praise) Good and Right. These terms entered common use at Durham
c.1994 and may have been imported from elsewhere; they are also in
use at Oxford, and the emphatic form "Evil and Bad and Wrong"
(abbreviated EBW) is reported from there. There are standard
abbreviations: they start with B&R, a typo for "Bad and Wrong".
Consequently, B&W is actually "Bad and Right", G&R = "Good and
Wrong", and G&W = "Good and Right". Compare {evil and rude}, {Good
Thing}, {Bad Thing}.
*** New in 4.2.3. ***
:Batman factor: n. 1. An integer number representing the number of
items hanging from a {batbelt}. In most settings, a Batman factor of
more than 3 is not acceptable without odd stares and whispering.
This encourages the hacker in question to choose items for the
batbelt carefully to avoid awkward social situations, usually
amongst non-hackers. 2. A somewhat more vaguely defined index of
contribution to sense 1. Devices that are especially obtrusive,
such as large, older model cell phones, "Pocket" PC devices and
walkie talkies are said to have a high batman factor. Sleeker
devices such as a later-model Palm or StarTac phone are prized for
their low batman factor and lessened obtrusiveness and weight.
*** New in 4.1.0. Changed in 4.2.0, 4.2.3. ***
:Befunge: n. A worthy companion to {INTERCAL}; a computer language
family which escapes the quotidian limitation of linear control flow
and embraces program counters flying through multiple dimensions
with exotic topologies. The Befunge home page is at
`http://www.catseye.mb.ca/esoteric/befunge/'.
*** Changed in 4.3.0. ***
:Blue Glue: n. [IBM; obs.] IBM's SNA (Systems Network
Architecture), an incredibly {losing} and {bletcherous}
communications protocol once widely favored at commercial shops that
didn't know any better (like other proprietary networking protocols,
it became obsolete and effectively disappeared after the Internet
explosion c.1994). The official IBM definition is "that which binds
blue boxes together." See {fear and loathing}. It may not be
irrelevant that Blue Glue is the trade name of a 3M product that is
commonly used to hold down the carpet squares to the removable panel
floors common in {dinosaur pen}s. A correspondent at U. Minn.
reports that the CS department there has about 80 bottles of the
stuff hanging about, so they often refer to any messy work to be
done as `using the blue glue'.
*** 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.clifton.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 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, 4.3.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; third edition 2000, 0-596-00027-8). 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
() 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}, {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.
*** New in 4.3.0. ***
:DMZ: [common] Literally, De-Militarized Zone. Figuratively, the
portion of a private network that is visible through the network's
firewalls (see {firewall machine}). Coined in the late 1990s as
jargon, this term is now borderline techspeak.
*** New in 4.2.3. ***
:DSW: n. [alt.(sysadmin|tech-support).recovery; abbrev. for `Dick
Size War'] A contest between two or more people boasting about who
has the faster machine, keys on (either physical or cryptographic)
keyring, greyer hair, or almost anything. Salvos in a DSW are
typicaly humorous and playful, often self-mocking.
*** 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.
*** Changed in 4.3.0. ***
:Death Square: n. The corporate logo of Novell, the people who
acquired USL after AT&T let go of it (Novell eventually sold the
Unix group to SCO). Coined by analogy with {Death Star}, because
many people believed Novell was bungling the lead in Unix systems
exactly as AT&T did for many years. [They were right --ESR]
*** 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 Neal
Stephenson's "In The Beginning Was The Command Line". A friend of
his built a network with a load of Macs and a few high-powered
database servers. He found that from time to time the whole network
would lock up for no apparent reason. The problem was eventually
tracked down to MacOS's cooperative multitasking: when a user held
down the mouse button for too long, the network stack wouldn't get a
chance to run...
*** Changed in 4.2.0, 4.3.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}. Actually, "mbogo" is indeed a Ki-Swahili word
referring to the African Cape Buffalo, Syncerus caffer. It is one
of the "big five" dangerous African game animals, and many people
with bush experience believe it to be the most dangerous of them.
Compare {Bloggs Family} and {J. Random Hacker}; see also {Fred
Foobar} and {fred}.
*** 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
preferred shorthand is simply {source}. 2. The official name of the
database language used by the old Pick Operating System, actually a
sort of crufty, brain-damaged SQL with delusions of grandeur. The
name permitted {marketroid}s to say "Yes, and you can program our
computers in English!" to ignorant {suit}s without quite running
afoul of the truth-in-advertising laws.
*** 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}, after which it became swiftly obsolete.
*** 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.2.3, 4.3.0. ***
:Finagle's Law: n. The generalized or `folk' version of {Murphy's
Law}, fully named "Finagle's Law of Dynamic Negatives" and usually
rendered "Anything that can go wrong, will". May have been first
published by Francis P. Chisholm in his 1963 essay "The Chisholm
Effect", later reprinted in the classic anthology "A Stress Analysis
Of A Strapless Evening Gown: And Other Essays For A Scientific Eye"
(Robert Baker ed, Prentice-Hall, ISBN 0-13-852608-7).
The label `Finagle's Law' was popularized by SF author Larry
Niven in several stories depicting a frontier culture of asteroid
miners; this `Belter' culture professed a religion and/or running
joke involving the worship of the dread god Finagle and his mad
prophet Murphy. Some technical and scientific cultures (e.g.,
paleontologists) know it under the name `Sod's Law'; this usage may
be more common in Great Britain.
One variant favored among hackers is "The perversity of the
Universe tends towards a maximum"; Niven specifically referred to
this as O'Toole's Corollary of Finagle's Law. See also {Hanlon's
Razor}.
*** 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.2.3. ***
:Frankenputer: n. 1. A mostly-working computer thrown together from
the spare parts of several machines out of which the {magic smoke}
had been let. Most shops have a closet full of nonworking machines.
When a new machine is needed immediately (for testing, for example)
and there is no time (or budget) to requisition a new box, someone
(often an intern) is tasked with building a Frankenputer. 2. Also
used in referring to a machine that once was a name-brand computer,
but has been upgraded long beyond its useful life, to the point at
which the nameplate violates truth-in-advertising laws (e.g., a
Pentium II-class machine inexplicably living in a case marked
"Gateway 486/66").
*** 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.3. ***
:GNUMACS: /gnoo'maks/ n. [contraction of `GNU EMACS'] Often-heard
abbreviated name for the {GNU} project's flagship tool, {EMACS}.
`StallMACS', referring to Richard Stallman, is less common but also
heard. Used esp. in contrast with {GOSMACS} and X Emacs.
*** 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.3.0. ***
:Hed Rat: Unflattering anagram of Red Hat, a popular {Linux}
distribution. Compare {Telerat}; see also {AIDX}, {Macintrash}
{Nominal Semidestructor}, {ScumOS}, {sun-stools}, {HP-SUX},
{Slowlaris}.
*** New in 4.1.0. ***
:IANAL: // [Usenet] Abbreviation, "I Am Not A Lawyer". Usually
precedes legal advice.
*** Changed in 4.1.0, 4.3.0. ***
:IBM: /I-B-M/ Once upon a time, the computer company most hackers
loved to hate; today, the one they are most puzzled to find
themselves liking.
From hackerdom's beginnings in the mid-1960s to the early 1990s,
IBM was regarded with active loathing. Common expansions of the
corporate name included: Inferior But Marketable; It's Better
Manually; Insidious Black Magic; It's Been Malfunctioning;
Incontinent Bowel Movement; and a near-{infinite} number of even
less complimentary expansions (see also {fear and loathing}). What
galled hackers about most IBM machines above the PC level wasn't so
much that they were underpowered and overpriced (though that counted
against them), but that the designs were incredibly archaic,
{crufty}, and {elephantine} ... and you couldn't _fix_ them --
source code was locked up tight, and programming tools were
expensive, hard to find, and bletcherous to use once you had found
them.
We didn't know how good we had it back then. In the 1990s,
Microsoft became more noxious and omnipresent than IBM had ever
been. Then, in the 1980s IBM had its own troubles with Microsoft and
lost its strategic way, receding from the hacker community's view.
In the late 1990s IBM re-invented itself as a services company,
began to release open-source software through its AlphaWorks group,
and began shipping {Linux} systems and building ties to the Linux
community. To the astonishment of all parties, IBM emerged as a
staunch friend of the hacker community and {open source} development.
This lexicon includes a number of entries attributed to `IBM';
these derive from some rampantly unofficial jargon lists circulated
within IBM's formerly beleaguered hacker underground.
*** 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, 4.2.3. ***
: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, an ISO standard 3103:
`Method for preparation of a liquor of tea for use in sensory
tests.', alleged to be equivalent to British Standard BS6008: `How
to make a standard cup of tea.' - ESR]
*** 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}.
*** New in 4.3.0. ***
:Indent-o-Meter: [] A fiendishly clever ASCII display hack that
became a brief fad in 1993-1994; it used combinations of tabs and
spaces to produce an analog indicator of the amount of indentation
an included portion of a reply had undergone. The full story is at
`http://world.std.com/~mmcirvin/indent.html'.
*** 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, RFC2795
(http://www.ietf.org/rfc/rfc2795.txt) (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 open-source emulators for that
interpreter but an actual compiler as well have been written to
permit the P-code to be run on platforms the games never originally
graced. In fact, new games written in this P-code are still being
written. There is a home page at `http://www.csd.uwo.ca/Infocom/',
and it is even possible to play these games in your browser
(http://www.xs4all.nl/~pot/infocom/) if it is Java-capable.
*** New in 4.3.0. ***
:InterCaps: [Great Britain] Synonym for {BiCapitalization}.
*** 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 in some of the
standard toolkits (AWT in particular). {Microsoft}'s determined
attempts to corrupt the language (which it rightly sees as a threat
to its OS monopoly) have not helped. As of 2001, 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 , 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/'.
*** New in 4.3.0. ***
:KLB: n. [common among Perl hackers ] Known Lazy Bastard. Used to
describe somebody who perpeptually asks questions which are easily
answered by refering to the reference material or manual.
*** 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.2.3. ***
:Kool Aid, to drink the: [from a kid's sugar-enriched drink in
fruity flavors] When someone who should know better succumbs to
marketing influences and actually begins to believe the propaganda
being dished out by a vendor. Usually the decortication process is
slow and almost unnoticeable until one day the victim emerges as a
True Believer and begins spreading the faith himself. The term
originates in the suicide of 914 followers of Jim Jones's People's
Temple cult in Guiana in 1978. What they actually drank was
cyanide-laced Flavor-Aid, a cheap knockoff rather than Kool-Aid
itself. There is a
http://www.cs.ruu.nl/wais/html/na-dir/food/kool-aid-faq.html (FAQ) on
this topic
*** New in 4.2.3. ***
:LAN party: /lan par'tee/ An event to which several users bring
their boxes and hook them up to a common LAN (Local Area Network),
often for the purpose of playing multiplayer computer games,
especially action games such as Quake or Unreal Tournament. This is
also a good venue for people to show-off their fancy new hardware.
Such events can get pretty large, several hundred people attend the
annual QuakeCon in Texas. The theoretical rationale behind LAN
parties is that playing over the Internet often introduces too much
lag in the playing experience - but just as important is the special
quality of trash-talking each other across the room while playing,
and the instinctive social ritual of consuming vast amounts of food
and drink together.
*** 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, 4.3.0. ***
: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 /li'nuhks/ is preferred because the name
`Linus' has an /ee/ sound in Swedish (Linus's family is part of
Finland's 6% ethnic-Swedish minority) and Linus considers English
short /i/ to be closer to /ee/ than English long /i:/. This may be
the most remarkable hacker project in history -- an entire clone of
Unix for 386, 486 and Pentium micros, distributed for free with
sources over the net (ports to Alpha and Sparc and many other
machines are also in use).
Linux is what {GNU} aimed to be, and it relies on the GNU toolset.
But the Free Software Foundation didn't produce the kernel to go with
that toolset until 1999, which was too late. Other, similar efforts
like FreeBSD and NetBSD have been technically successful but never
caught fire the way Linux has; as this is written in 2001, 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 {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, 4.3.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.]
[1998 update: John Lions's death was an occasion of general
mourning in the hacker community.]
*** 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, 4.3.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. 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).
*** New in 4.3.0. ***
:McQuary limit: 4 lines of at most 80 characters each, sometimes
still cited on Usenet as the maximum acceptable size of a {sig
block}. Before the great bandwidth explosion of the early 1990s,
long sigs actually cost people running Usenet servers significant
amounts of money. Nowadays social pressure against long sigs is
intended to avoid waste of human attention rather than machine
bandwidth. Accordingly, the McQuary limit should be considered a
rule of thumb rather than a hard limit; it's best to avoid sigs that
are large, repetitive, and distracting. See also {warlording}.
*** 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, 4.2.3. ***
: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, but the last one (a
Canadian military site) was decomissioned in November 2000. 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.3. ***
:NSA line eater: n. The National Security Agency trawling program
sometimes assumed to be reading the net for the U.S. Government's
spooks. Most hackers used to think it was mythical but believed in
acting as though existed just in case. Since the mid-1990s it has
gradually become known that the NSA actually does this, quite
illegally, through its Echelon program.
The standard countermeasure is to put loaded phrases like `KGB',
`Uzi', `nuclear materials', `Palestine', `cocaine', and
`assassination' in their {sig block}s in a (probably futile) attempt
to confuse and overload the creature. The {GNU} version of {EMACS}
actually has a command that randomly inserts a bunch of insidious
anarcho-verbiage into your edited text.
As far back as the 1970s there was a mainstream variant of this
myth involving a `Trunk Line Monitor', which supposedly used speech
recognition to extract words from telephone trunks. This is much
harder than noticing keywords in email, and most of the people who
originally propagated it had no idea of then-current technology or
the storage, signal-processing, or speech recognition needs of such
a project. On the basis of mass-storage costs alone it would have
been cheaper to hire 50 high-school students and just let them
listen in.
Twenty years and several orders of technological magnitude later,
however, there are clear indications that the NSA has actually
deployed such filtering (again, very much against U.S. law). In
2000, the FBI wants to get into this act with its `Carnivore'
surveillance system.
*** 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."
*** Changed in 4.3.0. ***
:OS/2: /O S too/ n. The anointed successor to MS-DOS for Intel 286-
and 386-based micros; proof that IBM/Microsoft couldn't get it right
the second time, either. Often called `Half-an-OS'. Mentioning it
is usually good for a cheap laugh among hackers -- the design was so
{baroque}, and the implementation of 1.x so bad, that 3 years after
introduction you could still count the major {app}s shipping for it
on the fingers of two hands -- in unary. The 2.x versions were said
to have improved somewhat, and informed hackers rated them superior
to Microsoft Windows (an endorsement which, however, could easily be
construed as damning with faint praise). In the mid-1990s IBM put
OS/2 on life support, refraining from killing it outright purely
for internal political reasons; by 1999 the success of {Linux} had
effectively ended any possibility of a renaissance. See
{monstrosity}, {cretinous}, {second-system effect}.
*** 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.3.0. ***
:OT: // [Usenet: common] Abbreviation for "off-topic". This is
used to respond to a question that is inappropriate for the
newsgroup that the questioner posted to. Often used in an
HTML-style modifier or with adverbs.
*** 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." Compare {pilot error},
{UBD}.
*** 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.
*** Changed in 4.3.0, 4.3.0. ***
:Pascal:: n. An Algol-descended language designed by Niklaus Wirth
on the CDC 6600 around 1967-68 as an instructional tool for
elementary programming. This language, designed primarily to keep
students from shooting themselves in the foot and thus extremely
restrictive from a general-purpose-programming point of view, was
later promoted as a general-purpose tool and, in fact, became the
ancestor of a large family of languages including Modula-2 and
{{Ada}} (see also {bondage-and-discipline language}). The hackish
point of view on Pascal was probably best summed up by a devastating
(and, in its deadpan way, screamingly funny) 1981 paper by Brian
Kernighan (of {K&R} fame) entitled "Why Pascal is Not My Favorite
Programming Language", which was turned down by the technical
journals but circulated widely via photocopies. It was eventually
published in "Comparing and Assessing Programming Languages", edited
by Alan Feuer and Narain Gehani (Prentice-Hall, 1984); a web search
for the title should find many copies. Part of his discussion is
worth repeating here, because its criticisms are still apposite to
Pascal itself after many years of improvement and could also stand
as an indictment of many other bondage-and-discipline languages.
(The entire essay os available at
`http://www.lysator.liu.se/c/bwk-on-pascal.html'. At the end of a
summary of the case against Pascal, Kernighan wrote:
9. There is no escape
This last point is perhaps the most important. The language is
inadequate but circumscribed, because there is no way to escape its
limitations. There are no casts to disable the type-checking when
necessary. There is no way to replace the defective run-time
environment with a sensible one, unless one controls the compiler
that defines the "standard procedures". The language is closed.
People who use Pascal for serious programming fall into a fatal
trap. Because the language is impotent, it must be extended. But
each group extends Pascal in its own direction, to make it look
like whatever language they really want. Extensions for separate
compilation, FORTRAN-like COMMON, string data types, internal
static variables, initialization, octal numbers, bit operators,
etc., all add to the utility of the language for one group but
destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond
its original target. In its pure form, Pascal is a toy language,
suitable for teaching but not for real programming.
Pascal has since been entirely displaced (mainly by {C}) from the
niches it had acquired in serious applications and systems
programming, and from its role as a teaching language by Java.
*** 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, 4.3.0. ***
: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 "hex" or "sex" in its name. Successor chips
have been called `Pentium II', `Pentium III', and `Pentium IV'.
*** 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 (<>, 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.3.0. ***
:RTI: /R-T-I/ interj. The mnemonic for the `return from interrupt'
instruction on many computers including the 6502 and 6800. The
variant `RETI' is found among Z80 hackers. Equivalent to "Now,
where was I?" or used to end a conversational digression. See
{pop}; see also {POPJ}.
*** 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}}.
*** New in 4.2.3. ***
:SCSI voodoo: /skuz'ee voo'doo/ [common among Mac users] {SCSI}
interface hardware is notoriously fickle of temperament. Often, the
SCSI bus will fail to work unless the cable order of devices is
re-arranged, SCSI termination is added or removed (sometimes
double-termination or _no_ termination will fix the problem), or
particular devices are given particular SCSI IDs. The skills needed
to trick the naturally skittish demons of SCSI into working are
collectively known as SCSI voodoo. Compare {magic}, {deep magic},
{heavy wizardry}, {rain dance}, {cargo cult programming}, {wave a
dead chicken}, {voodoo programming}.
While ordinary mortals frequently experience near-terminal
frustration when attempting to configure SCSI device chains, it is
said that a true master of this arcane art can (through rituals
involving chicken blood, ground rhino horn, hairs of a virgin, eye
of newt, etc.) hook up your personal computer with three scanners, a
Zip drive, an IDE hard drive, a home weather station, a Smith-Corona
typewriter, and the neighbor's garage door.
*** 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.3.0. ***
:See figure 1: Metaphorically, "Get stuffed." From the title of
a famous parody that can easily be found with a web search on this
phrase; figure 1, in fact, depicts the digitus impudicus.
*** 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
workstation 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.
*** New in 4.3.0. ***
:Swiss-Army chainsaw: In early Unix days, a well-known technical
paper analogized the lexical analyzer lex(1) to a Swiss-army knife;
this was a comment on the remarkable variety of more general uses
discovered for a program originally designed as a special-purpose
code generator for writing compilers. Two decades later, well-known
hacker Henry Spencer described the {Perl} scripting language as a
"Swiss-Army chainsaw", intending to convey his evaluation of the
language as exceedingly powerful but ugly and noisy and prone to
belch noxious fumes. This had two results: (1) Perl fans adopted
the epithet as a badge of pride, and (2) it entered more general
usage to describe software that is highly versatile but
distressingly inelegant.
*** 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.3.0. ***
:TLA: /T-L-A/ n. [Three-Letter Acronym] 1. Self-describing
abbreviation for a species with which computing terminology is
infested. 2. Any confusing acronym. Examples include MCA, FTP,
SNA, CPU, MMU, SCCS, DMU, FPU, NNTP, TLA. People who like this
looser usage argue that not all TLAs have three letters, just as not
all four-letter words have four letters. One also hears of `ETLA'
(Extended Three-Letter Acronym, pronounced /ee tee el ay/) being
used to describe four-letter acronyms; the terms `SFLA' (Stupid
Four-Letter Acronym), `LFLA' (Longer Four Letter Acronym), and VLFLA
(Very Long Five Letter Acronym) have also been reported. See also
{YABA}.
The self-effacing phrase "TDM TLA" (Too Damn Many...) is often
used to bemoan the plethora of TLAs in use. In 1989, a random of
the journalistic persuasion asked hacker Paul Boutin "What do you
think will be the biggest problem in computing in the 90s?" Paul's
straight-faced response: "There are only 17,000 three-letter
acronyms." (To be exact, there are 26^3 = 17,576.) There is
probably some karmic justice in the fact that Paul Boutin
subsequently became a journalist.
*** 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://tmrc-www.mit.edu'. The TMRC
Dictionary is available there, at
`http://tmrc-www.mit.edu/dictionary.html'.
*** 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}, {Indent-o-Meter}.
*** 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., Unsolicited 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, 4.2.3. ***
:UN*X: n. Used to refer to the Unix operating system (a trademark
of AT&T, then of Novell, then of Univel, then of the Open Group; the
source code parted company with it after Novell and was owned by
SCO, which was acquired by 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}.
*** New in 4.2.3. ***
:UUOC: [from the comp.unix.shell group on Usenet] Stands for
`Useless Use of {cat}'; the reference is to the Unix command cat(1),
not the feline animal. As received wisdom on comp.unix.shell
observes, "The purpose of cat is to concatenate (or `catenate')
files. If it's only one file, concatenating it with nothing at all
is a waste of time, and costs you a process." Nevertheless one sees
people doing
cat file | some_command and its args ...
instead of the equivalent and cheaper
- or --! On
IRIX, , which kills and
restarts the X server, is sometimes called a vulcan nerve pinch.
Also called {three-finger salute} and `Vulcan death grip'. At shops
with a lot of Microsoft Windows machines, this is often called the
`Microsoft Maneuver' because of the distressing frequency with which
Microsoft's unreliable software requires it. Compare {quadruple
bucky}.
*** New in 4.1.3. ***
:W2K bug: [from `Y2K bug' for the Year 2000 problem] The deployment
of Microsoft's Windows 2000 operating system, which hackers
generally expect will turn out to have been 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/ or /wiss'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) 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.3.0. ***
:all your base are belong to us: A declaration of victory or
superiority. The phrase stems from a 1991 adaptation of Toaplan's
"Zero Wing" shoot-'em-up arcade game for the Sega Genesis game
console. A brief introduction was added to the opening screen, and
it has what many consider to be the worst Japanese-to-English
translation in video game history. The introduction shows the bridge
of a starship in chaos as a Borg-like figure named CATS materializes
and says, "How are you gentlemen!! All your base are belong to us."
[sic] In 2001, this amusing mistranslation spread virally through
the internet, bringing with it a slew of JPEGs and a movie of hacked
photographs, each showing a street sign, store front, package label,
etc. hacked to read "All your base are belong to us" or one of the
other dopy lines from the game. When the phrase is used properly,
the overall effect is both screamingly funny and somewhat chilling,
reminiscent of the B movie "They Live".
The original has been generalized to "All your X are belong to
us", where X is filled in to connote a sinister takeover of some
sort. Thus, "When Joe signed up for his new job at Yoyodyne, he had
to sign a draconian NDA. It basically said, `All your code are
belong to us.'" Has many of the connotations of "Resistance is
futile; you will be assimilated" (see {Borg}). Considered silly, and
most likely to be used by the type of person that finds {Jeff K.}
hilarious.
*** 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!".
*** New in 4.3.0. ***
:autoconfiscate: [origibnally from Cygnus Solutions, later Red Hat
Software] To set up or modify a source-code {distribution} so that
it configures and builds using the GNU project's
autoconf/automake/libtools suite. Among open-source hackers, a mere
running binary of a program is not considered a full release; what's
interesting is a source tree that can be built into binaries using
standard tools. Since the mid-1990s, autoconf and friends been the
standard way to adapt a distribution for portability so that it casn
be built on multiple operating systems without change.
*** 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, 4.3.0. ***
: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}.
[2001 update: This term has passed into history. The UUCP network
world that gave it meaning is gone; everyone is on the Internet now
and network traffic is distributed in very different patterns.
Today one might see references to a `backbone router' instead --ESR]
*** New in 4.1.0. ***
:backreference: n. 1. In a regular expression or pattern match, the
text which was matched within grouping parentheses 2. The part of
the pattern which refers back to the matched text. 3. By extension,
anything which refers back to something which has been seen or
discussed before. "When you said `she' just now, who were you
backreferencing?"
*** 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. 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." Compare {derf}.
*** 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}; see also
{brainwidth}. This generalized usage began to go mainstream after
the Internet population explosion of 1993-1994. 2. Attention span.
3. On {Usenet}, a measure of network capacity that is often wasted
by people complaining about how items posted by others are a waste of
bandwidth.
*** 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] An FTP site storing pirated files
where one must first click on several banners and/or subscribe to
various `free' services, usually generating some form of revenues
for the site owner, to be able to access the site. More often than
not, the username/password painfully obtained by clicking on banners
and subscribing to bogus services or mailing lists turns out to be
non-working or gives access to a site that always responds busy. See
{ratio site}, {leech mode}.
*** 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 on 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, 4.3.0. ***
: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. After 1998, the evident success of this way of doing
things became one of the strongest arguments for {open source}.
*** 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}, hardware or software systems often go through two
stages of release testing: Alpha (in-house) and Beta (out-house?).
Beta releases are generally made to a group of lucky (or unlucky)
trusted customers. 2. Anything that is new and experimental. "His
girlfriend is in beta" means that he is still testing for
compatibility and reserving judgment. 3. Flaky; dubious; suspect
(since beta software is notoriously buggy).
Historical note: More formally, to beta-test is to test a
pre-release (potentially unreliable) version of a piece of software
by making it available to selected (or self-selected) customers and
users. This term derives from early 1960s terminology for product
cycle checkpoints, first used at IBM but later standard throughout
the industry. `Alpha Test' was the unit, module, or component test
phase; `Beta Test' was initial system test. These themselves came
from earlier A- and B-tests for hardware. The A-test was a
feasibility and manufacturability evaluation done before any
commitment to design and development. The B-test was a
demonstration that the engineering model functioned as specified.
The C-test (corresponding to today's beta) was the B-test performed
on early samples of the production design, and the D test was the C
test repeated after the model had been in production a while.
*** 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.
*** New in 4.3.0. ***
:black hat: [common among security specialists] A {cracker},
someone bent on breaking into the system you are protecting. Oppose
the less comon `white hat' for an ally or friendly security
specialist; the term `gray hat' is in occasional use for people with
cracker skills operating within the law, e.g. in doing security
evaluations. All three terms derive from the dress code of
formulaic Westerns, in which bad guys wore black hats and good guys
white ones.
*** 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, 4.2.3. ***
:blinkenlights: /blink'*n-li:tz/ n. [common] Front-panel diagnostic
lights on a computer, esp. a {dinosaur}. Now that dinosaurs are
rare, this term usually refers to status lights on a modem, network
hub, or the like.
This term derives from the last word of the famous
blackletter-Gothic sign in mangled pseudo-German that once graced
about half the computer rooms in the English-speaking world. One
version ran in its entirety as follows:
ACHTUNG! ALLES LOOKENSPEEPERS!
Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
Ist easy schnappen der springenwerk, blowenfusen und poppencorken
mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen.
Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
pockets muss; relaxen und watchen das blinkenlichten.
This silliness dates back at least as far as 1959 at Stanford
University and had already gone international by the early 1960s,
when it was reported at London University's ATLAS computing site.
There are several variants of it in circulation, some of which
actually do end with the word `blinkenlights'.
In an amusing example of turnabout-is-fair-play, German hackers
have developed their own versions of the blinkenlights poster in
fractured English, one of which is reproduced here:
ATTENTION
This room is fullfilled mit special electronische equippment.
Fingergrabbing and pressing the cnoeppkes from the computers is
allowed for die experts only! So all the "lefthanders" stay away
and do not disturben the brainstorming von here working
intelligencies. Otherwise you will be out thrown and kicked
anderswhere! Also: please keep still and only watchen astaunished
the blinkenlights.
See also {geef}.
Old-time hackers sometimes get nostalgic for blinkenlights because
they were so much more fun to look at than a blank panel. Sadly,
very few computers still have them (the three LEDs on a PC keyboard
certainly don't count). The obvious reasons (cost of wiring, cost of
front-panel cutouts, almost nobody needs or wants to interpret
machine-register states on the fly anymore) are only part of the
story. Another part of it is that radio-frequency leakage from the
lamp wiring was beginning to be a problem as far back as transistor
machines. But the most fundamental fact is that there are very few
signals slow enough to blink an LED these days! With slow CPUs, you
could watch the bus register or instruction counter tick, but at
33/66/150MHz it's all a blur.
Despite this, a couple of relatively recent computer designs of
note have featured programmable blinkenlights that were added just
because they looked cool. The Connection Machine, a
65,536-processor parallel computer designed in the mid-1980s, was a
black cube with one side covered with a grid of red blinkenlights;
the sales demo had them evolving {life} patterns. A few years later
the ill-fated BeBox (a personal computer designed to run the BeOS
operating system) featured twin rows of blinkenlights on the case
front. When Be, Inc. decided to get out of the hardware business in
1996 and instead ported their OS to the PowerPC and later to the
Intel architecture, many users severly suffered from the absence of
their beloved blinkenlights. Before long an external version of the
blinkenlights driven by a PC serial port became available; there is
some sort of plot symmetry in the fact that it was assembled by a
German.
Finally, a version updated for the Internet has been seen on
news.admin.net-abuse.email:
ACHTUNG! ALLES LOOKENSPEEPERS!
Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist
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.2.3. ***
:bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The
archetypical perversely awful algorithm (as opposed to {bubble
sort}, which is merely the generic _bad_ algorithm). Bogo-sort is
equivalent to repeatedly throwing a deck of cards in the air,
picking them up at random, and then testing whether they are in
order. It serves as a sort of canonical example of awfulness.
Looking at a program and seeing a dumb algorithm, one might say "Oh,
I see, this program uses bogo-sort." Esp. appropriate for
algorithms with factorial or super-exponential running time in the
average case and probabilistically infinite worst-case running time.
Compare {bogus}, {brute force}, {lasherism}.
A spectacular variant of bogo-sort has been proposed which has the
interesting property that, if the Many Worlds interpretation of
quantum mechanics is true, it can sort an arbitrarily large array in
linear time. (In the Many-Worlds model, the result of any quantum
action is to split the universe-before into a sheaf of
universes-after, one for each possible way the state vector can
collapse; in any one of the universes-after the result appears
random.) The steps are: 1. Permute the array randomly using a
quantum process, 2. If the array is not sorted, destroy the universe
(checking that it is sorted requires O(n) time). Implementation of
step 2 is left as an exercise for the reader.
*** 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". According to Merriam-Webster, the word dates
back to 1825 and originally referred to a counterfeiting machine.
*** 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:///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.
*** 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, 4.3.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 (possibly editing a configuration file in the
process, if it is one that is only re-read at boot time). Reported
primarily among {VMS} and {Unix} users. 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.
*** New in 4.3.0. ***
:brainwidth: n. [Great Britain] Analagous to {bandwidth} but used
strictly for human capacity to process information and especially to
multitask. "Writing email is taking up most of my brainwidth right
now, I can't look at that Flash animation."
*** 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 `footprinting').
*** 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.2.3. ***
:broken-ring network: Pejorative hackerism for "token-ring
network", an early LAN technology from IBM that lost the standards
war to Ethernet. Though token-ring survives in a few niche markets
(such as factory automation) that put a high premium on resistance
to electrical noise, the term is now (2000) primarily historical.
*** 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 stereotypical medical
doctor. This sense is almost certainly ancestral to modern use of
"bug" for a covert monitoring device, but may also have contributed
to the use of "bug" for the effects of radio interference itself.
Actually, use of `bug' in the general sense of a disruptive event
goes back to Shakespeare! (Henry VI, part III - Act V, Scene II:
King Edward: "So, lie thou there. Die thou; and die our fear; For
Warwick was a bug that fear'd us all.") In the first edition of
Samuel Johnson's dictionary one meaning of `bug' is "A frightful
object; a walking spectre"; this is traced to `bugbear', a Welsh
term for a variety of mythological monster which (to complete the
circle) has recently been reintroduced into the popular lexicon
through fantasy role-playing games.
In any case, in jargon the word almost never refers to insects.
Here is a plausible conversation that never actually happened:
"There is a bug in this ant farm!"
"What do you mean? I don't see any ants in it."
"That's the bug."
A careful discussion of the etymological issues can be found in a
paper by Fred R. Shapiro, 1987, "Entomology of the Computer Bug:
History and Folklore", American Speech 62(4):376-378.
[There has been a widespread myth that the original bug was moved
to the Smithsonian, and an earlier version of this entry so
asserted. A correspondent who thought to check discovered that the
bug was not there. While investigating this in late 1990, your
editor discovered that the NSWC still had the bug, but had
unsuccessfully tried to get the Smithsonian to accept it -- and that
the present curator of their History of American Technology Museum
didn't know this and agreed that it would make a worthwhile exhibit.
It was moved to the Smithsonian in mid-1991, but due to space and
money constraints was not actually exhibited for years afterwards.
Thus, the process of investigating the original-computer-bug bug
fixed it in an entirely unexpected way, by making the myth true!
--ESR]
*** 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.
*** New in 4.2.3. ***
:burn a CD: v. To write a software or document distribution on
writable CDROM. Coined from the fact that a laser is used to
inscribe the information by burning small pits in the medium, and
from the fact that disk comes out of the drive warm to the touch.
Writable CDs can be done on a normal desk-top machine with a
suitable drive (so there is no protracted release cycle associated with
making them) but each one takes a long time to make, so they are not
appropriate for volume production. Writable CDs are suitable for
software backups and for short-turnaround-time low-volume software
distribution, such as sending a beta release version to a few
selected field test sites. Compare {cut a tape}.
*** 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.3.0. ***
:buzzword-compliant: [also `buzzword-enabled'] Used (disparagingly)
of products that seem to have been specified to incorporate all of
this month's trendy technologies. Key buzzwords that often show up
in buzzword-compliant specifications as of 2001 include `XML',
`Java', `peer-to-peer', `distributed', and `open'.
*** New in 4.1.0. ***
:byte sex: n. [common] The byte sex of hardware is {big-endian} or
{little-endian}; see those entries.
*** Changed in 4.2.3. ***
:can: vt. To abort a job on a time-sharing system. Used esp. when
the person doing the deed is an operator, as in "canned from the
{{console}}". Frequently used in an imperative sense, as in "Can
that print job, the LPT just popped a sprocket!" Synonymous with
{gun}. It is said that the ASCII character with mnemonic CAN
(0011000) was used as a kill-job character on some early OSes, but
this is more likely to be short for `cancel'. Alternatively, this
term may derive from mainstream slang `canned' for being laid off or
fired.
*** 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, 4.2.3, 4.3.0, 4.3.0, 4.3.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. The confetti-like
paper bits punched out of cards or paper tape; this has also been
called `chaff', `computer confetti', and `keypunch droppings'. It's
reported that this was very old Army slang (associated with
teletypewriters before the computer era), and has been occasionally
sighted in directions for punched-card vote tabulators long after it
passed out of live use among computer programmers in the late 1970s.
This sense of `chad' returned to the mainstream during the finale
of the hotly disputed U.S. presidential election in 2000 via stories
about the Florida vote recounts. Note however that in the revived
mainstream usage chad is not a mass noun and `a chad' is a single
piece of the stuff.
There is an urban legend that `chad' (sense 2) derives from the
Chadless keypunch (named for its inventor), which cut little
u-shaped tabs in the card to make a hole when the tab folded back,
rather than punching out a circle/rectangle; it was clear that if
the Chadless keypunch didn't make them, then the stuff that other
keypunches made had to be `chad'. However, serious attempts to
track down "Chadless" as a personal name or U.S. trademark have
failed, casting doubt on this etymology - and the U.S. Patent
Classification System uses "chadless" (small c) as an adjective,
suggesting that "chadless" derives from "chad" and not the other way
around. There is another legend that the word was originally
acronymic, standing for "Card Hole Aggregate Debris", but this has
all the earmarks of a {backronym}. It has also been noted that the
word "chad" is Scots dialect for gravel, but nobody has proposed any
plausible reason that card chaff should be thought of as gravel.
None of these etymologies are really plausible.
*** 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."
*** Changed in 4.3.0. ***
:clone: n. 1. An exact duplicate: "Our product is a clone of their
product." Implies a legal reimplementation from documentation or by
reverse-engineering. Also connotes lower price. 2. A shoddy,
spurious copy: "Their product is a clone of our product." 3. A
blatant ripoff, most likely violating copyright, patent, or trade
secret protections: "Your product is a clone of my product." This
use implies legal action is pending. 4. [obs] `PC clone:' a
PC-BUS/ISA or EISA-compatible 80x86-based microcomputer (this use is
sometimes spelled `klone' or `PClone'). These invariably have much
more bang for the buck than the IBM archetypes they resemble. This
term fell out of use in the 1990s; the class of machines it
describes are now simply `PCs' or `Intel machines'. 5. [obs.] In the
construction `Unix clone': An OS designed to deliver a Unix-lookalike
environment without Unix license fees, or with additional
`mission-critical' features such as support for real-time
programming. {Linux} and the free BSDs killed off this product
category and the term with it. 6. v. To make an exact copy of
something. "Let me clone that" might mean "I want to borrow that
paper so I can make a photocopy" or "Let me get a copy of that file
before you {mung} it".
*** 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 smite you with
the great sword Cluebringer!"
*** 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.3.0. ***
:coaster toaster: A writer for recordable CD-ROMs, especially cheap
IDE models that tend to produce a high proportion of {coaster}s.
*** 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.3.0. ***
:computer confetti: n. Syn. {chad}. [obs.] Though this term was
common at one time, this use of punched-card chad is not a good
idea, as the pieces are stiff and have sharp corners that could
injure the eyes. GLS reports that he once attended a wedding at MIT
during which he and a few other guests enthusiastically threw chad
instead of rice. The groom later grumbled that he and his bride had
spent most of the evening trying to get the stuff out of their hair.
[2001 update: this term has passed out of use for two reasons; (1)
the stuff it describes is now quite rare, and (2) the term {chad},
which was half-forgotten in 1990, has enjoyed a revival. --ESR]
*** 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). Syn. {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, 4.2.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.
Nowadays, often applied to any SGI employee who either works at one
of the former Cray Research facilities (i.e. Eagan Minnesota and
Chippewa Falls Wisconsin) or works primarily in vector computing
aspects of the business. Sometimes considered mildly offensive by
those to whom it is applied, particularly those whose work has
nothing to do with vector computing. 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.
*** Changed in 4.2.3. ***
:creeping featurism: /kree'ping fee'chr-izm/ n. [common] 1.
Describes a systematic tendency to load more {chrome} and {feature}s
onto systems at the expense of whatever elegance they may have
possessed when originally designed. See also {feeping creaturism}.
"You know, the main problem with {BSD} Unix has always been creeping
featurism." 2. More generally, the tendency for anything
complicated to become even more complicated because people keep
saying "Gee, it would be even better if it had this feature too".
(See {feature}.) The result is usually a patchwork because it grew
one ad-hoc step at a time, rather than being planned. Planning is a
lot of work, but it's easy to add just one extra little feature to
help someone ... and then another ... and another.... When
creeping featurism gets out of hand, it's like a cancer. The GNU
hello program, intended to illustrate {GNU} command-line switch and
coding conventions, is also a wonderful parody of creeping
featurism; the distribution changelog is particulary funny. Usually
this term is used to describe computer programs, but it could also
be said of the federal government, the IRS 1040 form, and new cars.
A similar phenomenon sometimes afflicts conscious redesigns; see
{second-system effect}. See also {creeping elegance}.
*** 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 anonymized 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}).
*** New in 4.2.3. ***
:dead-tree version: [common] A paper version of an on-line
document; one printed on dead trees. In this context, "dead trees"
always refers to paper. See also {tree-killer}.
*** 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.3.0. ***
:deflicted: [portmanteau of "defective" and "afflicted"; common
among PC repair technicians, and probably originated among hardware
techs outside the hacker community proper] Term used of hardware
that is broken due to poor design or shoddy manufacturing or
(especially) both; less frequently used of software and rarely of
people. This term is normally employed in a tone of weary contempt
by technicians who have seen the specific failure in the trouble
report before and are cynically confident they'll see it again.
*** New in 4.2.2. Changed in 4.2.3. ***
: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 "" or ".
*** 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. Changed in 4.2.3. ***
:demoscene: /dem'oh-seen/ [also `demo scene'] A culture of
multimedia hackers located primarily in Scandinavia and northern
Europe. Demoscene folklore recounts that when old-time {warez d00dz}
cracked some piece of software they often added an advertisement in
the beginning, usually containing colorful {display hack}s with
greetings to other cracking groups. The demoscene was born among
people who decided building these display hacks is more interesting
than hacking - or anyway safer. Around 1990 there began to be very
serious police pressure on cracking groups, including raids with
SWAT teams crashing into bedrooms to confiscate computers. Whether
in response to this or for esthetic reasons, crackers of that period
began to build self-contained display hacks of considerable
elaboration and beauty (within the culture such a hack is called a
{demo}). As more of these {demogroup}s emerged, they started to
have {compo}s at copying parties (see {copyparty}), which later
evolved to standalone events (see {demoparty}). The demoscene has
retained some traits from the {warez d00dz}, including their style of
handles and group names and some of their jargon.
Traditionally demos were written in assembly language, with lots of
smart tricks, self-modifying code, undocumented op-codes and the
like. Some time around 1995, people started coding demos in C, and
a couple of years after that, they also started using Java.
Ten years on (in 1998-1999), the demoscene is changing as its
original platforms (C64, Amiga, Spectrum, Atari ST, IBM PC under
DOS) die out and activity shifts towards Windows, Linux, and the
Internet. While deeply underground in the past, demoscene is trying
to get into the mainstream as accepted art form, and one symptom of
this is the commercialization of bigger demoparties. Older
demosceners frown at this, but the majority think it's a good
direction. Many demosceners end up working in the computer game
industry. Demoscene resource pages are available at
`http://www.oldskool.org/demos/explained/' and
`http://www.scene.org/'.
*** 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. Compare {baggy pantsing}.
*** 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
Dwarfs': Burroughs, Control Data, General Electric, Honeywell, NCR,
RCA, and Univac. RCA and GE sold out early, and it was `IBM and the
Bunch' (Burroughs, Univac, NCR, Control Data, and Honeywell) for a
while. Honeywell was bought out by Bull; Burroughs merged with
Univac to form Unisys (in 1984 -- this was when the phrase
`dinosaurs mating' was coined); and in 1991 AT&T absorbed NCR (but
spat it back out a few years later). Control Data still exists but
is no longer in the mainframe business. More such earth-shaking
unions of doomed giants seem inevitable.
*** New in 4.2.3. ***
:disemvowel: v. [USENET: play on `disembowel'] Less common synonym
for {splat out}.
*** 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 form
{distro} is often used for this sense. 2. A vague term encompassing
mailing lists and Usenet newsgroups (but not {BBS} {fora}); any
topic-oriented message channel with multiple recipients. 3. An
information-space domain (usually loosely correlated with geography)
to which propagation of a Usenet message is restricted; a
much-underutilized feature.
*** 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, 4.2.3. ***
:dogcow: /dog'kow/ n. See {Moof}. The dogcow is a semi-legendary
creature that lurks in the depths of the Macintosh Technical Notes
Hypercard stack V3.1. The full story of the dogcow is told in
technical note #31 (the particular dogcow illustrated is properly
named `Clarus'). Option-shift-click will cause it to emit a
characteristic `Moof!' or `!fooM' sound. _Getting_ to tech note 31
is the hard part; to discover how to do that, one must needs examine
the stack script with a hackerly eye. Clue: {rot13} is involved. A
dogcow also appears if you choose `Page Setup...' with a LaserWriter
selected and click on the `Options' button. It also lurks in other
Mac printer drivers, notably those for the now-discontinued Style
Writers. See
`http://developer.apple.com/products/techsupport/dogcow/tn31.html'.
*** 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 to 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, 4.2.3. ***
:drool-proof paper: n. Documentation that has been obsessively
{dumbed down}, to the point where only a {cretin} could bear to read
it, is said to have succumbed to the `drool-proof paper syndrome' or
to have been `written on drool-proof paper'. For example, this is
an actual quote from Apple's LaserWriter manual: "Do not expose your
LaserWriter to open fire or flame." The SGI Indy manual included the
line "[Do not] dangle the mouse by the cord or throw it at
coworkers."
*** 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 derived from a famously
turgid line in a WWII-era anti-Nazi propaganda comic that ran "Eat
flaming death, non-Aryan mongrels!" or something of the sort
(however, it is also reported that on the 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, 4.3.0. ***
:elite: adj. Clueful. Plugged-in. One of the cognoscenti. Also
used as a general positive adjective. This term is not actually
native hacker slang; it is used primarily by crackers and {warez
d00dz}, for which reason hackers use it only with heavy irony. The
term used to refer to the folks allowed in to the "hidden" or
"privileged" sections of BBSes in the early 1980s (which, typically,
contained pirated software). Frequently, early boards would only let
you post, or even see, a certain subset of the sections (or
`boards') on a BBS. Those who got to the frequently legendary
`triple super secret' boards were elite. Misspellings of this term
in warez d00dz style abound; the forms `l337' `eleet', and `31337'
(among others) have been sighted.
A true hacker would be more likely to use `wizardly'. Oppose
{lamer}.
*** 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, 4.3.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 was long thought 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].
There is a rival claim one by KevinMcKenzie, who seems to have
proposed the smiley on the MsgGroup mailing list, April 12 1979. It
seems likely these two inventions were independent.
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, 4.2.3. ***
:filk: /filk/ n.,v. [from SF fandom, where a typo for `folk' was
adopted as a new word] Originally, a popular or folk song with
lyrics revised or completely new lyrics and/or music, intended for
humorous effect when read, and/or to be sung late at night at SF
conventions. More recently (especially since the late 1980s), filk
has come to include a great deal of originally-composed music on
SFnal or fantasy themes and a range of moods wider than simple
parody or humor. Worthy of mention here because there is a
flourishing subgenre of filks called `computer filks', written by
hackers and often containing rather sophisticated technical humor.
See {double bucky} for an example. Compare {grilf}, {hing}, {pr0n},
and {newsfroup}.
*** 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}. See also {wild side}.
[When first coined in the mid-1980s this term was pure jargon. Now
(1999) it is techspeak, and has been retained only as an example of
uptake --ESR]
*** 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, 4.3.0. ***
: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 {{CTSS}} 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}.
[Previous versions of this entry described this as a change in
{Multics}, which was wrong. Evidently this confusion arose from the
fact that the changes were made partly to facilitate Multics
developmnt --ESR]
*** 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. Changed in 4.2.3. ***
:flash crowd: Larry Niven's 1973 SF short story "Flash Crowd"
predicted that one consequence of cheap teleportation would be huge
crowds materializing almost instantly at the sites of interesting
news stories. Twenty years later the term passed into common use on
the Internet to describe exponential spikes in website or server
usage when one passes a certain threshold of popular interest (what
this does to the server may also be called {slashdot effect}).
*** 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, 4.3.0, 4.3.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 published from about 1930 to
about 1952. Bill Holman, the author of the strip, filled it with
odd jokes and personal contrivances, including other nonsense
phrases such as "Notary Sojac" and "1506 nix nix". The word "foo"
frequently appeared in the on license plates of cars, in nonsens
sayings in the background of some frames (such as "He who foos last
foos best" or "Many smoke but foo men chew"), and Holman had Smokey
say "Where there's foo, there's fire".
According to the Warner Brothers Cartoon Companion
(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" or "prosperity"
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; notably in Robert Clampett's "Daffy Doc" of 1938, in which
a very early version of Daffy Duck holds up a sign saying "SILENCE
IS FOO!") When the fad faded, the origin of "foo" was forgotten.
One place "foo" is known to have remained live is in the U.S.
military during the WWII years. In 1944-45, the term `foo fighters'
was in use by radar operators for the kind of mysterious or spurious
trace that would later be called a UFO (the older term resurfaced in
popular American usage in 1995 via the name of one of the better
grunge-rock bands). Because informants connected the term directly
to the Smokey Stover strip, the folk etymology that connects it to
French "feu" (fire) can be gently dismissed.
The U.S. and British militaries frequently swapped slang terms
during the war (see {kluge} and {kludge} for another important
example) Period sources reported that `FOO' became a semi-legendary
subject of WWII British-army graffiti more or less equivalent to the
American Kilroy. Where British troops went, the graffito "FOO was
here" or something similar showed up. Several slang dictionaries
aver that FOO probably came from Forward Observation Officer, but
this (like the contemporaneous "FUBAR") was probably a {backronym} .
Forty years later, Paul Dickson's excellent book "Words" (Dell,
1982, ISBN 0-440-52260-7) traced "Foo" to an unspecified British
naval magazine in 1946, quoting as follows: "Mr. Foo is a mysterious
Second World War product, gifted with bitter omniscience and
sarcasm."
Earlier versions of this entry suggested the possibility that
hacker usage actually sprang from "FOO, Lampoons and Parody", the
title of a comic book first issued in September 1958, a joint
project of Charles and Robert Crumb. Though Robert Crumb (then in
his mid-teens) later became one of the most important and
influential artists in underground comics, this venture was hardly a
success; indeed, the brothers later burned most of the existing
copies in disgust. The title FOO was featured in large letters on
the front cover. However, very few copies of this comic actually
circulated, and students of Crumb's `oeuvre' have established that
this title was a reference to the earlier Smokey Stover comics. The
Crumbs may also have been influenced by a short-lived Canadian
parody magazine named `Foo' published in 1951-52.
An old-time member reports that in the 1959 "Dictionary of the
TMRC Language", compiled at {TMRC}, there was an entry that went
something like this:
FOO: The first syllable of the sacred chant phrase "FOO MANE PADME
HUM." Our first obligation is to keep the foo counters turning.
(For more about the legendary foo counters, see {TMRC}.) This
definition used Bill Holman's nonsense word, 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.
Finally (and perhaps irrelevantly) a Russian correspondent reports
that in mainstream Russian, "Foo" (or "Fu") is an interjection
commonly used as a response to bad smell, bad taste, or other
unpleasant sensatiion.
*** Changed in 4.1.0, 4.1.0, 4.2.0, 4.2.3. ***
:foobar: n. [very common] Another widely used {metasyntactic
variable}; see {foo} for etymology. Probably originally propagated
through DECsystem manuals by Digital Equipment Corporation ({DEC})
in 1960s and early 1970s; confirmed sightings there go back to 1972.
Hackers do _not_ generally use this to mean {FUBAR} in either the
slang or jargon sense. See also {Fred Foobar}. In RFC1639,
"FOOBAR" was made an abbreviation for "FTP Operation Over Big
Address Records", but this was an obvious {backronym}. It has been
plausibly suggested that "foobar" spread among early computer
engineers partly because of FUBAR and partly because "foo bar"
parses in electronics techspeak as an inverted foo signal; if a
digital signal is coded so that a positive voltage or high current
condition represents a "1", then a horizontal bar is commonly
placed over the signal label.
*** 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 begins its own line of
development). Forking is considered a {Bad Thing} - not merely
because it implies a lot of wasted effort in the future, but because
forks tend to be accompanied by a great deal of strife and acrimony
between the successor groups over issues of legitimacy, succession,
and design direction. There is serious social pressure against
forking. As a result, major forks (such as the Gnu-Emacs/XEmacs
split, the fissionings of the 386BSD group into three daughter
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. Changed in 4.3.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.
RMS observes that the English word "free" can refer either to
liberty (where it means the same as the Spanish or French "libre")
or to price (where it means the same as the Spanish "gratis" or
French "gratuit"). RMS and other people associated with the FSF
like to explain the word "free" in "free software" by saying "Free
as an speech, not as in beer."
See also {open source}. Hard-core proponents of the term "free
software" sometimes reject this newer term, claiming that the style of
argument associated with it ignores or downplays the moral
imperative at the heart of free software.
*** 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(8), of which it can be said that if
you have to use it at all you are having a bad day). Originated on
{scary devil monastery} and the bofh.net newsgroups, but became much
more widespread following the passage of {CDA}. Also occasionally
seen in the variant "What the fsck?"
*** 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).
*** Changed in 4.3.0. ***
:gang bang: n. The use of large numbers of loosely coupled
programmers in an attempt to wedge a great many features into a
product in a short time. Though there have been memorable gang
bangs (e.g., that over-the-weekend assembler port mentioned in
Steven Levy's "Hackers"), and large numbers of loosely-coupled
programmers operating in {bazaar} mode can do very useful work when
they're not on a deadline, most are perpetrated by large companies
trying to meet unrealistic deadlines; the inevitable result is
enormous buggy masses of code entirely lacking in {orthogonal}ity.
When market-driven managers make a list of all the features the
competition has and assign one programmer to implement each, the
probability of maintaining a coherent (or even functional) design
goes to {epsilon}. See also {firefighting}, {Mongolian Hordes
technique}, {Conway's Law}.
*** New in 4.3.0. ***
:geek: n. A person who has chosen concentration rather than
conformity; one who pursues skill (especially technical skill) and
imagination, not mainstream social acceptance. Geeks usually have a
strong case of {neophilia}. Most geeks are adept with computers and
treat {hacker} as a term of respect, but not all are hackers
themselves - and some who _are_ in fact hackers normally call
themselves geeks anyway, because they (quite properly) regard
`hacker' as a label that should be bestowed by others rather than
self-assumed.
One description (http://www.darkwater.com/omni/geek.html)
accurately if a little breathlessly enumerates "gamers, ravers,
science fiction fans, punks, perverts, programmers, nerds, subgenii,
and trekkies. These are people who did not go to their high school
proms, and many would be offended by the suggestion that they should
have even wanted to."
Originally, a `geek' was a carnival performer who bit the heads
off chickens. Before about 1990 usage of this term was rather
negative. Earlier versions of this lexicon defined a `computer
geek' as one who eats (computer) bugs for a living - an asocial,
malodorous, pasty-faced monomaniac with all the personality of a
cheese grater. This is often still the way geeks are regarded by
non-geeks, but as the mainstream culture becomes more dependent on
technology and technical skill mainstream attitudes have tended to
shift towards grudging respect. Correspondingly, there are now
`geek pride' festivals (the implied reference to `gay pride' is not
accidental).
See also {propeller head}, {clustergeeking}, {geek out},
{wannabee}, {terminal junkie}, {spod}, {weenie}, {geek code}.
*** 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.3.0. ***
:glitch: /glich/ [very common; from German `glitschig' slippery,
via Yiddish `glitshen', to slide or skid] 1. n. A sudden
interruption in electric service, sanity, continuity, or program
function. Sometimes recoverable. An interruption in electric
service is specifically called a `power glitch' (also {power hit}),
of grave concern because it usually crashes all the computers. In
jargon, though, a hacker who got to the middle of a sentence and
then forgot how he or she intended to complete it might say, "Sorry,
I just glitched". 2. vi. To commit a glitch. See {gritch}. 3. vt.
[Stanford] To scroll a display screen, esp. several lines at a
time. {{WAITS}} terminals used to do this in order to avoid
continuous scrolling, which is distracting to the eye. 4. obs.
Same as {magic cookie}, sense 2.
All these uses of `glitch' derive from the specific technical
meaning the term has in the electronic hardware world, where it is
now techspeak. A glitch can occur when the inputs of a circuit
change, and the outputs change to some {random} value for some very
brief time before they settle down to the correct value. If another
circuit inspects the output at just the wrong time, reading the
random value, the results can be very wrong and very hard to debug
(a glitch is one of many causes of electronic {heisenbug}s).
*** 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.
*** New in 4.2.3. ***
:go gold: v. [common] See {golden}.
*** 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.2.3. ***
:golden: adj. [prob. from folklore's `golden egg'] When used to
describe a magnetic medium (e.g., `golden disk', `golden tape'),
describes one containing a tested, up-to-spec, ready-to-ship
software version. Compare {platinum-iridium}. One may also "go
gold", which is the act of releasing a golden version. The gold
color of many CDROMs is a coincidence; this term was well
established a decade before CDROM distribution become common in the
mid-1990s.
*** Changed in 4.1.0, 4.3.0. ***
:gonk: /gonk/ vi.,n. 1. [prob. back-formed from {gonkulator}.] To
prevaricate or to embellish the truth beyond any reasonable
recognition. In German the term is (mythically) `gonken'; in
Spanish the verb becomes `gonkar'. "You're gonking me. That story
you just told me is a bunch of gonk." In German, for example, "Du
gonkst mich" (You're pulling my leg). See also {gonkulator}. 2.
[British] To grab some sleep at an odd time; compare {gronk out}.
*** 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.
*** New in 4.2.3. Changed in 4.3.0. ***
:google: v. [common] To search the Web using the Google search
engine, `www.google.com'. Google is highly esteemed among hackers
for its significance ranking system, which is so uncannily effective
that many users consider it to have rendered other search engines
effectively irrelevant. The name `google' has additional flavor for
hackers because most know that it was copied from a mathematical
term for ten to the hundredth power, famously first uttered by a
mathematician's infant child.
*** 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}.
*** New in 4.3.0. ***
:gray hat: See {black hat}.
*** 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 grues 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, 4.3.0. ***
:gweep: /gweep/ [WPI] 1. v. To {hack}, usually at night. At WPI,
from 1975 onwards, one who gweeped could often be found at the
College Computing Center punching cards or crashing the {PDP-10} or,
later, the DEC-20. A correspondent who was there at the time opines
that the term was originally onomatopoetic, describing the keyclick
sound of the Datapoint terminals long connected to the PDP-10;
others allege that `gweep' was the sound of the Datapoint's bell
(compare {feep}). The term has survived the demise of those
technologies, however, and was still alive in early 1999. "I'm
going to go gweep for a while. See you in the morning." "I gweep
from 8 PM till 3 AM during the week." 2. n. One who habitually
gweeps in sense 1; a {hacker}. "He's a hard-core gweep, mumbles
code in his sleep." Derogatory in connotation, and not used in
self-reference.
*** 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 {geek}, {wannabee}.
This term seems to have been first adopted as a badge in the 1960s
by the hacker culture surrounding TMRC and the MIT AI Lab. We have
a report that it was used in a sense close to this entry's by teenage
radio hams and electronics tinkerers in the mid-1950s.
*** 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, 4.3.0, 4.3.0. ***
:hairy: adj. 1. Annoyingly complicated. "{DWIM} is incredibly
hairy." 2. Incomprehensible. "{DWIM} is incredibly hairy." 3. Of
people, high-powered, authoritative, rare, expert, and/or
incomprehensible. Hard to explain except in context: "He knows this
hairy lawyer who says there's nothing to worry about." See also
{hirsute}.
There is a theorem in simplicial homology theory which states that
any continuous tangent field on a 2-sphere is null at least in a
point. Mathematically literate hackers tend to associate the term
`hairy' with the informal version of this theorem; "You can't comb a
hairy ball smooth." (Previous versions of this entry associating
the above informal statement with the Brouwer fixed-point theorem
were incorrect.)
The adjective `long-haired' is well-attested to have been in
slang use among scientists and engineers during the early 1950s; it
was equivalent to modern `hairy' senses 1 and 2, and was very likely
ancestral to the hackish use. In fact the noun `long-hair' was at
the time used to describe a person satisfying sense 3. Both senses
probably passed out of use when long hair was adopted as a signature
trait by the 1960s counterculture, leaving hackish `hairy' as a sort
of stunted mutant relic.
In British mainstream use, "hairy" means "dangerous", and
consequently, in British programming terms, "hairy" may be used to
denote complicated and/or incomprehensible code, but only if that
complexity or incomprehesiveness is also considered dangerous.
*** Changed in 4.3.0. ***
:hakspek: /hak'speek/ n. A shorthand method of spelling found on
many British academic bulletin boards and {talker system}s.
Syllables and whole words in a sentence are replaced by single ASCII
characters the names of which are phonetically similar or
equivalent, while multiple letters are usually dropped. Hence,
`for' becomes `4'; `two', `too', and `to' become `2'; `ck' becomes
`k'. "Before I see you tomorrow" becomes "b4 i c u 2moro". First
appeared in London about 1986, and was probably caused by the
slowness of available talker systems, which operated on archaic
machines with outdated operating systems and no standard methods of
communication.
Hakspek almost diappeared after the great bandwidth explosion of
the early 1990s, as fast Internet links wiped out the old-style
talker systems. However, it has enjoyed a revival in another medium
- the Short Message Service (SMS) associated with GSM cellphones.
SMS sends are limited to a maximum of 160 characters, and typing on
a cellphone keypad is difficult and slow anyway. There are now even
published paper dictionaries for SMS users to help them do
hakspek-to-English and vice-versa.
See also {talk mode}.
*** 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.3, 4.3.0. ***
:hexadecimal:: n. Base 16. Coined in the early 1950s to replace
earlier `sexadecimal', which was too racy and amusing for stuffy
IBM, and later adopted by the rest of the industry.
Actually, neither term is etymologically pure. If we take
`binary' to be paradigmatic, the most etymologically correct term
for base 10, for example, is `denary', which comes from `deni' (ten
at a time, ten each), a Latin `distributive' number; the
corresponding term for base-16 would be something like `sendenary'.
"Decimal" comes from the combining root of `decem', Latin for 10. If
wish to create a truly analogous word for base 16, we should start
with `sedecim', Latin for 16. Ergo, `sedecimal' is the word that
would have been created by a Latin scholar. The `sexa-' prefix is
Latin but incorrect in this context, and `hexa-' is Greek. The word
`octal' is similarly incorrect; a correct form would be `octaval'
(to go with decimal), or `octonary' (to go with binary). If anyone
ever implements a base-3 computer, computer scientists will be faced
with the unprecedented dilemma of a choice between two _correct_
forms; both `ternary' and `trinary' have a claim to this throne.
*** 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. System V, {C} vs. {{Pascal}}, {C}
vs. FORTRAN, etc. In the year 2000, popular favorites of the day
are KDE vs, GNOME, vim vs. elvis, Linux vs. [Free|Net|Open]BSD.
Hardy perennials include {EMACS} vs. {vi}, my personal computer vs.
everyone else's personal computer, ad nauseam. The characteristic
that distinguishes holy wars from normal technical disputes is that
in a holy war most of the participants spend their time trying to
pass off personal value choices and cultural attachments as
objective technical evaluations. This happens precisely because in
a true holy war, the actual substantive differences between the
sides are relatively minor. See also {theology}.
*** 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 2001, 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 () {
}
`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 ()
{
}
`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 ()
{
}
`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 ()
{
}
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.3.0. ***
:intertwingled: adj. [Invented by Theodor Holm Nelson, prob. a
blend of "mingled" and "intertwined".] Connected together in a
complex way; specifically, composed of one another's components.
*** 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.3.0. ***
:jump off into never-never land: v. [from J. M. Barrie's "Peter
Pan"] An unexpected jump in a program that produces catastrophic or
just plain weird results. Compare {hyperspace}.
*** 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. Other
correspondents differ with Mr. Brandtjen's history of the device and
his allegation that it was a simple rather than complex one, but
agree that the Kluge automatic feeder was the most likely source of
the folklore.
{TMRC} and the MIT hacker culture of the early '60s seems to have
developed in a milieu that remembered and still used some WWII
military slang (see also {foobar}). It seems likely that `kluge'
came to MIT via alumni of the many military electronics projects
that had been located in Cambridge (many in MIT's venerable Building
20, in which {TMRC} is also located) during the war.
The variant `kludge' was apparently popularized by the
{Datamation} article mentioned 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 Rinzai Zen Buddhism). Defined here
because hackers are very fond of the koan form and compose their own
koans for humorous and/or enlightening effect. See {Some AI Koans},
{has the X nature}, {hacker humor}.
*** New in 4.2.3. ***
:kook: [Usenet; originally and more formally, `net.kook'] Term used
to describe a regular poster who continually posts messages with no
apparent grounding in reality. Different from a {troll}, which
implies a sort of sly wink on the part of a poster who knows better,
kooks really believe what they write, to the extent that they
believe anything.
The kook trademark is paranoia and grandiosity. Kooks will often
build up elaborate imaginary support structures, fake corporations
and the like, and continue to act as if those things are real even
after their falsity has been documented in public.
While they may appear harmless, and are usually filtered out by the
other regular participants in a newsgroup of mailing list, they can
still cause problems because the necessity for these measures is
not immediately apparent to newcomers; there are several instances
on record, for example, of journalists writing stories with quotes
from kooks who caught them unaware.
An entertaining web page chronicaling the activities of many
notable kooks can be found at `http://www.crank.net/usenet.html'.
*** 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, 4.3.0, 4.3.0. ***
:lamer: n. [originally among Amiga fans] 1. Synonym for {luser},
not used much by hackers but common among {warez d00dz}, crackers,
and {phreaker}s. A person who downloads much, but who never
uploads. (Also known as `leecher'). Oppose {elite}. Has the same
connotations of self-conscious elitism that use of {luser} does
among hackers. 2. Someone who tries to crack a BBS. 3. Someone who
annoys the sysop or other BBS users - for instance, by posting lots
of silly messages, uploading virus-ridden software, frequently
dropping carrier, etc.
Crackers also use it to refer to cracker {wannabee}s. In phreak
culture, a lamer is one who scams codes off others rather than doing
cracks or really understanding the fundamental concepts. In {warez
d00dz} culture, where the ability to wave around cracked commercial
software within days of (or before) release to the commercial market
is much esteemed, the lamer might try to upload garbage or shareware
or something incredibly old (old in this context is read as a few
years to anything older than 3 days). `Lamer' is also much used in
the IRC world in a similar sense to the above.
This term originated among Amiga crackers of the mid-1980s. It was
popularized there by Lamer Exterminator', the most famous and
feared Amiga virus ever, which gradually corrupted
non-write-protected floppy disks with bad sectors. The bad sectors,
when looked at, where overwritten with the following text: 'LAMER!
LAMER! LAMER! LAMER! (x1000)'
*** 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 an electronic forum;
one who posts occasionally or not at all but is known to read the
group's postings regularly. This term is not pejorative and indeed
is casually used reflexively: "Oh, I'm just lurking." Often used in
`the lurkers', the hypothetical audience for the group's
{flamage}-emitting regulars. When a lurker speaks up for the first
time, this is called `delurking'.
The creator of the popular science-fiction TV series "Babylon 5"
has ties to SF fandom and the hacker culture. In that series, the
use of the term `lurker' for a homeless or displaced person is a
conscious reference to the jargon term.
*** 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, 4.3.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}).
However, in yet another instance of the {cycle of reincarnation},
the port of Linux to the IBM S/390 architecture in 1999 - assisted
by IBM - produced a resurgence of interest in mainframe computing as
a way of providing huge quanitities of easily maintainable, reliable
virtual Linux servers, saving IBM's mainframe division from almost
certain extinction.
*** 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
like "the value of f(foo,bar) is the sum of foo and bar"). However,
it has been plausibly suggested that the real reason for the term
"metasyntactic variable" is that it sounds good.
To some extent, the list of one's preferred metasyntactic variables
is a cultural signature. They occur both in series (used for
related groups of variables or objects) and as singletons. Here are
a few common signatures:
{foo}, {bar}, {baz}, {quux}, quuux, quuuux...:
MIT/Stanford usage, now found everywhere (thanks largely to
early versions of this lexicon!). At MIT (but not at
Stanford), {baz} dropped out of use for a while in the 1970s
and '80s. A common recent mutation of this sequence inserts
{qux} before {quux}.
bazola, ztesch:
Stanford (from mid-'70s on).
{foo}, {bar}, thud, grunt:
This series was popular at CMU. Other CMU-associated
variables include {gorp}.
{foo}, {bar}, bletch:
Waterloo University. We are informed that the CS club at
Waterloo formerly had a sign on its door reading "Ye Olde
Foo Bar and Grill"; this led to an attempt to establish
"grill" as the third metasyntactic variable, but it never
caught on.
{foo}, {bar}, fum:
This series is reported to be common at XEROX PARC.
{fred}, jim, sheila, {barney}:
See the entry for {fred}. These tend to be Britishisms.
{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, eggs
{Python} programmers.
snork
Brown University, early 1970s.
{foo}, {bar}, zot
Helsinki University of Technology, Finland.
blarg, wibble
New Zealand.
toto, titi, tata, tutu
France.
pippo, pluto, paperino
Italy. Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are the
Italian names for Goofy and Donald Duck.
aap, noot, mies
The Netherlands. These are the first words a child used to
learn to spell on a Dutch spelling board.
oogle, foogle, boogle; zork, gork, bork
These two series (which may be continued with other initial
consonents) are reportedly common in England, and said to go
back to Lewis Carroll.
Of all these, only `foo' and `bar' are universal (and {baz}
nearly so). The compounds {foobar} and `foobaz' also enjoy very
wide currency.
Some jargon terms are also used as metasyntactic names; {barf}
and {mumble}, for example. See also {{Commonwealth Hackish}} for
discussion of numerous metasyntactic variables found in Great
Britain and the Commonwealth.
*** New in 4.1.1. Changed in 4.1.2. ***
:microserf: /mi:'kro-s*rf/ [popularized, though not originated, by
Douglas Coupland's book "Microserfs"] A programmer at {Microsoft},
especially a low-level coder with little chance of fame or fortune.
Compare {MicroDroid}.
*** 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 and
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.3.0. ***
:minor detail: Often used in an ironic sense about brokenness or
problems that while apparently major, are in principle solvable. "It
works - the fact that it crashes the system right after is a minor
detail." Compare {SMOP}.
*** 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://www.worldwidewords.org/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.2.3. ***
:mung: /muhng/ vt. [in 1960 at MIT, `Mash Until No Good'; sometime
after that the derivation from the {{recursive acronym}} `Mung Until
No Good' became standard; but see {munge}] 1. To make changes to a
file, esp. large-scale and irrevocable changes. See {BLT}. 2. To
destroy, usually accidentally, occasionally maliciously. The system
only mungs things maliciously; this is a consequence of {Finagle's
Law}. See {scribble}, {mangle}, {trash}, {nuke}. Reports from
{Usenet} suggest that the pronunciation /muhnj/ is now usual in
speech, but the spelling `mung' is still common in program comments
(compare the widespread confusion over the proper spelling of
{kluge}). 3. In the wake of the {spam} epidemics of the 1990s, mung
is now commonly used to describe the act of modifying an email
address in a sig block in a way that human beings can readily
reverse but that will fool an {address harvester}. Example:
johnNOSPAMsmith@isp.net. 4. The kind of beans the sprouts of which
are used in Chinese food. (That's their real name! Mung beans!
Really!)
Like many early hacker terms, this one seems to have originated at
{TMRC}; it was already in use there in 1958. Peter Samson
(compiler of the original TMRC lexicon) thinks it may originally
have been onomatopoeic for the sound of a relay spring (contact)
being twanged. However, it is known that during the World Wars,
`mung' was U.S. army slang for the ersatz creamed chipped beef
better known as `SOS', and it seems quite likely that the word in
fact goes back to Scots-dialect {munge}.
*** 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 meaning "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." Compare {brute force}.
*** 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 at `http://www.nethack.org/'. See also {moria}, {rogue},
{Angband}.
*** Changed in 4.3.0. ***
:netiquette: /net'ee-ket/ or /net'i-ket/ n. [Coined by Chuq von
Rospach c.1983] [portmanteau, network + etiquette] The conventions
of politeness recognized on {Usenet}, such as avoidance of
cross-posting to inappropriate groups and refraining from commercial
pluggery outside the biz groups.
*** 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. [very common; orig. from British
public-school and military slang variant of `new boy'] A Usenet
neophyte. This term surfaced in the {newsgroup} talk.bizarre but is
now in wide use (the combination "clueless newbie" is especially
common). Criteria for being considered a newbie vary wildly; a
person can be called a newbie in one newsgroup while remaining a
respected regular in another. The label `newbie' is sometimes
applied as a serious insult to a person who has been around Usenet
for a long time but who carefully hides all evidence of having a
clue. See {B1FF}; see also {gnubie}.
*** 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.3.0. ***
:not entirely unlike X: Used ironically of things which are in
fact almost entirely unlike X, except for one feature which the
speaker clearly regards as insignificant. "That is not entirely
unlike cool...at least it's small. Comes directly from the
Hitchiker's Guide to the Galaxy scene in which the food synthesizer
on the starship Heart of Gold dispenses something "almost, but not
entirely unlike, tea".
*** 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, 4.2.3, 4.3.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', `double word', and `quad' or `quad word'; some
(indicated) have substantial information separate entries.
2 bits:
{crumb}, {quad}, {quarter}, tayste, tydbit, morsel
4 bits:
nybble
5 bits:
{nickle}
10 bits:
{deckle}
16 bits:
playte, {chawmp} (on a 32-bit machine), word (on a 16-bit
machine), half-word (on a 32-bit machine).
18 bits:
{chawmp} (on a 36-bit machine), half-word (on a 36-bit
machine)
32 bits:
dynner, {gawble} (on a 32-bit machine), word (on a 32-bit
machine), longword (on a 16-bit machine).
36 bits:
word (on a 36-bit machine)
48 bits:
{gawble} (under circumstances that remain obscure)
64 bits:
double word (on a 32-bit machine) quad (on a 16-bit machine)
128 bits:
quad (on a 32-bit machine)
The fundamental motivation for most of these jargon terms (aside
from the normal hackerly enjoyment of punning wordplay) is the
extreme ambiguity of the term `word' and its derivatives.
*** 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 became 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 avoiding the negative connotations (to {suit}s) of
the term "{free software}". For discussion of the follow-on tactics
and their consequences, see the Open Source Initiative
(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 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"
series 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.
*** Changed in 4.3.0. ***
:poser: n. [from French `poseur'] A {wannabee}; not hacker slang,
but used among crackers, phreaks and {warez d00dz}. Not as negative
as {lamer} or {leech}. Probably derives from a similar usage among
punk-rockers and metalheads, putting down those who "talk the talk
but don't walk the walk".
*** 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 any kind. 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 used in the phrase "proprietary crap". 3. Synonym for
closed-source, e.g. software issued in binary without source and
under a restrictive 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 ("what is 6 times 9", correct in base 13). (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
gratuitous 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] An 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.
*** Changed in 4.3.0. ***
:roach: vt. [Bell Labs] To destroy, esp. of a data structure.
Hardware gets {toast}ed or {fried}, software gets roached. Probably
derived from '70s and '80s drug slang; marijuana smokers used
`roach' to refer to the unsmokable remnant of a joint, and to
`roach' a joint was therefore to destroy it.
*** 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}, {moria}, {Angband}. 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 misspelled as "rouge".
*** 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.
*** Changed in 4.2.3. ***
:sanity check: n. [very common] 1. The act of checking a piece of
code (or anything else, e.g., a Usenet posting) for completely
stupid mistakes. Implies that the check is to make sure the author
was sane when it was written; e.g., if a piece of scientific
software relied on a particular formula and was giving unexpected
results, one might first look at the nesting of parentheses or the
coding of the formula, as a `sanity check', before looking at the
more complex I/O or data structure manipulation routines, much less
the algorithm itself. Compare {reality check}. 2. A run-time test,
either validating input or ensuring that the program hasn't screwed
up internally (producing an inconsistent value or state). 3.
Conversationally, saying "sanity check" means you are requesting a
check of your assumptions. "Wait a minute, sanity check, are we
talking about the same Kevin here?"
*** 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.
*** Changed in 4.2.3. ***
:scratch: 1. [from `scratchpad'] adj. Describes a data structure or
recording medium attached to a machine for testing or temporary-use
purposes; one that can be {scribble}d on without loss. Usually in
the combining forms `scratch memory', `scratch register', `scratch
disk', `scratch tape', `scratch volume'. See also {scratch monkey}.
2. [primarily IBM, also Commodore] vt. To delete (as in a file).
*** 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.2.3. ***
:screen scraping: n. The act of capturing data from a system or
program by snooping the contents of some display that is not
actually intended for data transport or inspection by programs.
Around 1980 this term referred to tricks like reading the display
memory of a smart terminal through its auxillary port. Nowadays it
often refers to parsing the HTML in generated web pages with
programs designed to mine out particular patterns of content. In
either guise screen-scraping is an ugly, ad-hoc, last-resort
technique that is very likely to break on even minor changes to the
format of the data being snooped.
*** New in 4.1.0. Changed in 4.2.2. ***
:script kiddies: pl.n. 1. [very common] The lowest form of
{cracker}; script kiddies do mischief with scripts and programs
written by others, often without understanding the {exploit} they
are using. Used of people with limited technical expertise using
easy-to-operate, pre-configured, and/or automated tools to conduct
disruptive activities against networked systems. Since most of
these tools are fairly well-known by the security community, the
adverse impact of such actions is usually minimal. 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.3.0. ***
:shim: n. 1. A small piece of data inserted in order to achieve a
desired memory alignment or other addressing property. For example,
the PDP-11 Unix linker, in split I&D (instructions and data) mode,
inserts a two-byte shim at location 0 in data space so that no data
object will have an address of 0 (and be confused with the C null
pointer). See also {loose bytes}. 2. A type of small transparent
image inserted into HTML documents by certain WYSIWYG HTML editors,
used to set the spacing of elements meant to have a fixed
positioning within a TABLE or DIVision. Hackers who work on the HTML
code of such pages afterwards invariably curse these for their
crocky dependence on the particular spacing of original image file,
the editor that generated them, and the version of the browser used
to veiw them. Worse, they are a poorly designed {kludge} which the
advent of Cascading Style Sheets makes wholly unnecessary; Any fool
can plainly see that use of borders, layers and positioned elements
is the Right Thing (or would be if adequate support for CSS were
more common).
*** 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, 4.2.3. ***
: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. Hormel, the makers of Spam, have
published a surprisingly enlightened position statement
(http://www.spam.com/ci/ci_in.htm) on the Internet usage.
*** 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://www.spamhaus.org).
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).
*** Changed in 4.3.0. ***
:spike: v. 1. To defeat a selection mechanism by introducing a
(sometimes temporary) device that forces a specific result. The
word is used in several industries; telephone engineers refer to
spiking a relay by inserting a pin to hold the relay in either the
closed or open state, and railroaders refer to spiking a track
switch so that it cannot be moved. In programming environments it
normally refers to a temporary change, usually for testing purposes
(as opposed to a permanent change, which would be called
{hardwired}). 2. A visible peak in an otherwise rather constant
graph (e.g. a sudden surge in line voltage, an unexpected short
"high" on a logical line in a circuit). Hackers frequently use this
for a sudden short increase in some quantity such as system load or
network traffic.
*** New in 4.2.2. Changed in 4.2.3. ***
:splat out: v. [Usenet; syn. `disemvowel'] 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}), k*bo* (see {KIBO,
sense 2}), *v*l*t**n (anywhere fundamentalists might be lurking),
*b*rt**n, and g*n c*ntr*l. Compare {UN*X}.
*** Changed in 4.2.3. ***
:spod: n. [UK] 1. A lower form of life found on {talker system}s
and {MUD}s. The spod has few friends in {RL} and uses talkers
instead, finding communication easier and preferable over the net.
He has all the negative traits of the computer geek without having
any interest in computers per se. Lacking any knowledge of or
interest in how networks work, and considering his access a
God-given right, he is a major irritant to sysadmins, clogging up
lines in order to reach new MUDs, following passed-on instructions
on how to sneak his way onto Internet ("Wow! It's in America!") and
complaining when he is not allowed to use busy routes. A true spod
will start any conversation with "Are you male or female?" (and
follow it up with "Got any good numbers/IDs/passwords?") and will
not talk to someone physically present in the same terminal room
until they log onto the same machine that he is using and enter talk
mode. Compare {newbie}, {tourist}, {weenie}, {twink}, {terminal
junkie}, {warez d00dz}. 2. A {backronym} for "Sole Purpose, Obtain a
Degree"; according to some self-described spods, this term is used
by indifferent students to condemn their harder-working fellows.
Compare the defiant adoption of the term {geek} in the mid-1990s by
people who would previously have been stigmatized by 3. [Glasgow
University] An otherwise competent hacker who spends way too much
time on talker systems. 4. [obs.] An ordinary person; a {random}.
This is the meaning with which the term was coined, but the inventor
informs us he has himself accepted sense 1.
*** 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.3.0. ***
:sporgery: [portmanteau of `spam' or `spew' and `forgery'. Massive
floods of forged articles intended to disrupt a newsgroup. Typically
these have reasonable-looking headers but complete gibberish for
content, making the legitimate articles too difficult to find. This
tactic has been most notoriously used by the Church of Scientology
to disrupt discussion on the newsgroup alt.religion.scientology, but
is unfortunately not by any means confined to that group.
*** 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.
*** New in 4.2.3. ***
:steved: adj.,v. /steevd/ [Apple employees and users] Terminated,
said of a development project. Originated after Steven P. Jobs
returned to Apple as acting CEO in 1997. Jobs immediated axed
several development projects, including OpenDoc and Newton that had
been launched by John Sculley, the man who had ousted Jobs in the
mid 1980s. Now any project shut down at Apple and often at any large
firm connected with Apple may be said to have gotten steved. It is
usually spelled lowercase despite the origin. It is almost always
past-tense and used quasi-adjectivally.
*** 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, 4.3.0. ***
: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?
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.
YHTBT
You Had To Be There. Used of a situation which loses significant
meaning in the telling, usually because it's difficult to convey
tone and timing.
:
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:
grin
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. Historically, 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 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.3.0. ***
:toast: 1. n. Any completely inoperable system or component, esp.
one that has just crashed and burned: "Uh, oh ... I think the serial
board is toast." (This sense went mainstream around 1993.) 2. vt.
To cause a system to crash accidentally, especially in a manner that
requires manual rebooting. "Rick just toasted the {firewall
machine} again." Compare {fried}.
*** Changed in 4.1.0, 4.3.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. a Mac in the original unitary case.
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.3.0. ***
:toolchain: A collection of tools used to develop for a particular
hardware target, or to work with a particular data format (thus `the
Crusoe development toolchain', or the `DocBook toolchain'). Often
used in the context of building software on one system which will be
installed or run on some other device; in that case the chain of
tools usually consists of such items as a particular version of a
compiler, libraries, special headers, etc. May also be used of
text-formatting, page layout, or multimedia tools which render from
some markup to a variety of production formats. Differs from
`toolkit' in that the former implies a collection of
semi-independent tools with complementary functions, while
`toolchain' implies that each of the parts is a serial stage in a
rather tightly bound pipeline. Seems to have become current in
early 1999 and 2000; now common.
*** 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.
These 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 they 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."
Compare {kook}. 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.3.0. ***
:tube: 1. n. A CRT terminal. Never used in the mainstream sense of
TV; real hackers don't watch TV, except for Loony Toons, Rocky &
Bullwinkle, Trek Classic, the Simpsons, Babylon 5, and the
occasional cheesy old swashbuckler movie. 2. [IBM] To send a copy
of something to someone else's terminal. "Tube me that note?"
*** 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, 4.2.3. ***
: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'). 3. On MU* systems that specialize in role-playing, refers
to behavior of a (usually inexperienced) player that either ignores
rules or social convention, or disrupts the natural flow of a scene
to show of super powers.
*** 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
(especially 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.3.0. ***
:upstream: adj. [common] Towards the original author(s) or
maintainer(s) of a project. Used in connection with software that
is distributed both in its original source form and in derived,
adapted versions through a distribution (like the Debian version of
Linux or one of the BSD ports) that has component maintainers for
each of their parts. When a component maintainer receives a bug
report or patch, he may choose to retain the patch as a porting
tweak to the distribution's derivative of the project, or to pass it
upstream to the project's maintainer. The antonym `downstream' is
rare.
*** New in 4.2.2. Changed in 4.2.3. ***
:userland: n. Anywhere outside the kernel. "That code belongs in
userland." This term has been in common use among {Linux} kernel
hackers since at least 1997, and may have have originated in that
community (a sighting has been reported from the 1995 archives of a
NetBSD mailing list, however).
*** 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.2.3. ***
:vdiff: /vee'dif/ v.,n. Visual diff. The operation of finding
differences between two files by {eyeball search}. The term
`optical diff' has also been reported, and is sometimes more
specifically used for the act of superimposing two nearly identical
printouts on one another and holding them up to a light to spot
differences. Though this method is poor for detecting omissions in
the `rear' file, it can also be used with printouts of graphics, a
claim few if any diff programs can make. See {diff}.
An interesting variant of the vdiff technique usable by anyone who
has sufficient control over the parallax of their eyeballs (e.g.
those who can easily view random-dot stereograms), is to hold up two
paper printouts and go cross-eyed to superimpose them. This invokes
deep, fast, built-in image comparison wetware (the same machinery
responsible for depth perception) and differences stand out almost
immediately. This technique is good for finding edits in graphical
images, or for comparing an image with a compressed version to spot
artifacts.
*** 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 Britishers who wanted to buy Linus a beer
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}, {SCSI
voodoo}. 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, 4.3.0. ***
: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-up
advertisement windows spawned in flocks when you surf to sites like
Angelfire or Lycos.
*** 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.3.0. ***
:white hat: See {black hat}.
*** 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, 4.2.3. ***
: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}).
*** New in 4.3.0. ***
:wild side: The public or uncontrolled side of a {firewall
machine}.
*** 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. See also {pointy hat}, compare {patch
pumpkin}.
*** New in 4.1.0. Changed in 4.2.2, 4.3.0. ***
:womble: n. [Unisys UK: from British puppet-show 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.tuxedo.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' 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 Project Gutenberg
(ftp://metalab.unc.edu/pub/docs/books/gutenberg/etext93/wizoz10.txt).
Another possible pre-ADVENT origin is discussed at the XYZZY page
(http://people.delphi.com/rickadams/adventure/c_xyzzy.html).
*** 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).
*** Changed in 4.3.0. ***
:zombie: n. 1. [Unix] A process that has died but has not yet
relinquished its process table slot (because the parent process
hasn't executed a `wait(2)' for it yet). These can be seen in
`ps(1)' listings occasionally. Compare {orphan}. 2. A machine,
especially someone's {home box}, that has been cracked and is being
used as part of a second-stage attack by miscreants trying to mask
their home IP address. Especially used of machines being exploited
in large gangs for a mechanized denial-of-service attack like Tribe
Flood Network; the image that goes with this is of a veritable army
of zombies mindlessly doing the bidding of a necromancer.
************************* Deleted entries *************************
'Snooze 4.3.0
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)
DPB 4.3.0 (PDP-10 mnemonic; no longer live)
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)
Marginal Hacks 4.3.0
Missed'em-five 4.3.0
NOMEX underwear 4.1.1 (DejaNews suggests it was never live)
NetBOLLIX 4.3.0
Open DeathTrap 4.1.0
PIP 4.1.1 (PDP-10 reference; no longer live)
Pangloss parity 4.3.0
Pink-Shirt Book 4.1.1
SysVile 4.3.0
TELNET 4.3.0
TechRef 4.3.0
USG Unix 4.3.0
\begin 4.1.1 (folded into front matter)
altmode 4.1.1 (ITS/PDP-10 reference; no longer live)
block transfer computations 4.3.0
blow away 4.1.1 (mainstream)
bodysurf code 4.3.0
bot spot 4.3.0
branch to Fishkill 4.3.0
chine nual 4.1.1 (been dead since the early 1980s)
computer geek 4.3.0 (replaced by `geek')
cruncha cruncha cruncha 4.1.1 (DejaNews suggests it's dead)
dec 4.1.1 (merged into DEC)
digit 4.3.0 (DEC is gone)
double DECkers 4.1.0 (obs. now that DEC is gone)
fepped out 4.1.1 (nobody's seen one since LISP machines)
gaseous 4.3.0
laundromat 4.3.0
microtape 4.1.0
moose call 4.3.0
mouse around 4.3.0
news 4.1.1 (see netnews)
pdl 4.1.1 (merged into PDL)
pig, run like a 4.1.0 (mainstream)
plingnet 4.3.0
pnambic 4.3.0
snivitz 4.3.0
twonkie 4.3.0
whalesong 4.3.0
************************ Statistics ************************
Total entries: 0
Total new: 295
Total changed: 555
Total deleted: 49
Additions by version:
4.1.0: 153
4.1.1: 21
4.1.2: 4
4.1.3: 10
4.2.0: 30
4.2.1: 2
4.2.2: 33
4.2.3: 16
4.3.0: 26
Changes by version:
4.1.0: 159
4.1.1: 80
4.1.2: 34
4.1.3: 17
4.2.0: 79
4.2.1: 17
4.2.2: 69
4.2.3: 40
4.3.0: 60
New percentage: -100.00%
Changed percentage: -188.14%
Deleted percentage: -16.61%
Total change percentage: -304.75%