This is an automatically generated difference report including new,
changed and deleted entries from the second edition of TNHD (Jargon
File release 3.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.
The entries are dumped in raw form with Texinfo makup; this at least
provides some information on fonts.
This report covers the following versions: 3.1.0 3.2.0 3.3.0 3.3.1
3.3.2 3.3.3 4.0.0. It was generated on Thu Jul 25 23:19:32 EDT 1996
Some statistics follow the change report.
******************** New and Changed entries ********************
*** Changed in 3.1.0, 3.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 Slashed-O is a letter, curse this
arrangement). 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. 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?
*** New in 3.1.0. ***
:4.2: /for' poynt too'/ /n./ Without a prefix, this almost
invariably refers to @{BSD@} Unix release 4.2. Note that it is an
indication of cluelessness to say "version 4.2", and "release 4.2"
is rare; the number stands on its own, or is used in the more
explicit forms 4.2BSD or (less commonly) BSD 4.2. Similar remarks
apply to "4.3", "4.4" and to earlier, less-widespread releases 4.1
and 2.9.
*** New in 3.3.3. ***
:: /n./ [Usenet: alt.folklore.urban and elsewhere] Commonly
used as a placeholder for omitted text in a followup message (not
copying the whole parent message is considered good form). Refers,
of course, to the celebrated mutilation of John Bobbitt.
*** Changed in 3.3.2. ***
:@-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 California
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.
*** New in 3.2.0. ***
:AFAIK: // /n./ [Usenet] Abbrev. for "As Far As I Know".
*** New in 3.2.0. Changed in 3.3.1. ***
:ANSI: /an'see/ 1. /n./ [techspeak] The American National Standards
Institute. ANSI, along with the International Organization for
Standards (ISO), standardized the C programming language (see
@{K&R@}, @{Classic C@}), and promulgates many other important
software standards. 2. /n./ [techspeak] A terminal may be said to be
`ANSI' if it meets the ANSI X.364 standard for terminal control.
Unfortunately, this standard was both over-complicated and too
permissive. It has been retired and replaced by the ECMA-48
standard, which shares both flaws. 3. /n./ [BBS jargon] The set of
screen-painting codes that most MS-DOS and Amiga computers accept.
This comes from the ANSI.SYS device driver that must be loaded on an
MS-DOS computer to view such codes. Unfortunately, neither DOS ANSI
nor the BBS ANSIs derived from it exactly match the ANSI X.364
terminal standard. For example, the ESC-[1m code turns on the bold
highlight on large machines, but in IBM PC/MS-DOS ANSI, it turns on
`intense' (bright) colors. Also, in BBS-land, the term `ANSI' is
often used to imply that a particular computer uses or can emulate
the IBM high-half character set from MS-DOS. Particular use depends
on context. Occasionally, the vanilla ASCII character set is used
with the color codes, but on BBSs, ANSI and `IBM characters' tend to
go together.
*** Changed in 3.2.0. ***
:AOS: 1. /aws/ (East Coast), /ay'os/ (West Coast) /vt. obs./ To
increase the amount of something. "AOS the campfire." [based on a
PDP-10 increment instruction] Usage: considered silly, and now
obsolete. Now largely supplanted by @{bump@}. See @{SOS@}� 2.
/n./ A @{@{Multics@}@}-derived OS supported at one time by Data
General. This was pronounced /A-O-S/ or /A-os/. A spoof of the
standard AOS system administrator's manual ("How to Load and
Generate your AOS System") was created, issued a part number, and
circulated as photocopy folklore; it was called "How to Goad and
Levitate your CHAOS System". 3. /n./ Algebraic Operating System, in
reference to those calculators which use infix instead of postfix
(reverse Polish) notation. 4. A @{BSD@}-like operating system for
the IBM RT.
Historical note: AOS in sense 1 was the name of a @{PDP-10@}
instruction that took any memory location in the computer and added
1 to it; AOS meant `Add One and do not Skip'. Why, you may ask,
does the `S' stand for `do not Skip' rather than for `Skip'? Ah,
here was a beloved piece of PDP-10 folklore. There were eight such
instructions: AOSE added 1 and then skipped the next instruction if
the result was Equal to zero; AOSG added 1 and then skipped if the
result was Greater than 0; AOSN added 1 and then skipped if the
result was Not 0; AOSA added 1 and then skipped Always; and so on.
Just plain AOS didn't say when to skip, so it never skipped.
For similar reasons, AOJ meant `Add One and do not Jump'. Even
more bizarre, SKIP meant `do not SKIP'� If you wanted to skip the
next instruction, you had to say `SKIPA'� Likewise, JUMP meant `do
not JUMP'; the unconditional form was JUMPA� However, hackers never
did this. By some quirk of the 10's design, the @{JRST@} (Jump and
ReSTore flag with no flag specified) was actually faster and so was
invariably used. Such were the perverse mysteries of assembler
programming.
*** Changed in 3.2.0, 4.0.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 silly 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 3.2.0. ***
:Acme: /n./ The canonical supplier of bizarre, elaborate, and
non-functional gadgetry - where Rube Goldberg and Heath Robinson
shop. Describing some X as an "Acme X" either means "This is
@{insanely great@}", or, more likely, "This looks @{insanely great@}
on paper, but in practice it's really easy to shoot yourself in the
foot with it." Compare @{pistol@}.
This term, specially cherished by American hackers and explained
here for the benefit of our overseas brethren, comes from the Warner
Brothers' series of "Roadrunner" cartoons. In these cartoons, the
famished Wile E. Coyote was forever attempting to catch up with,
trap, and eat the Roadrunner. His attempts usually involved one or
more high-technology Rube Goldberg devices - rocket jetpacks,
catapults, magnetic traps, high-powered slingshots, etc. These were
usually delivered in large cardboard boxes, labeled prominently with
the Acme name. These devices invariably malfunctioned in violent
and improbable ways.
*** Changed in 3.2.0. ***
:BASIC: /bay'-sic/ /n./ [acronym: Beginner's All-purpose Symbolic
Instruction Code] A programming language, originally designed for
Dartmouth's experimental timesharing system in the early 1960s,
which has since become 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.
As it is, it ruins thousands of potential wizards a year.
[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]
*** Changed in 3.2.0. ***
:BLOB: 1. /n./ [acronym: Binary Large OBject] Used by database
people to refer to any random large block of bits that needs to be
stored in a database, such as a picture or sound file. The
essential point about a BLOB is that it's an object that cannot be
interpreted within the database itself. 2. /v./ To @{mailbomb@}
someone by sending a BLOB to him/her; esp. used as a mild threat.
"If that program crashes again, I'm going to BLOB the core dump to
you."
*** New in 3.3.2. ***
:BOFH: // /n./ 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://prime-mover.cc.waikato.ac.nz/Bastard.html.
*** Changed in 3.1.0. ***
: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 1980, 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, and are still widely popular. Note that
BSD versions going back to 2.9 are often referred to by their
version numbers, without the BSD prefix. See @{4.2@}, @{@{Unix@}@},
@{USG Unix@}�
*** New in 4.0.0. ***
:Black Screen of Death: n. [prob. related to the Floating Head of
Death in a famous "Far Side" cartoon.] A failure mode of
@{Microsloth Windows@}. On an attempt to launch a DOS box, a
networked Windows system not uncommonly blanks the screen and locks
up the PC so hard that it requires a cold @{boot@} to recover. This
unhappy phenomenon is known as The Black Screen of Death.
*** New in 3.3.2. ***
:Black Thursday: n. February 8th, 1996 - the day of the signing
into law of the @{CDA@}, so called by analogy with the catastrophic
"Black Friday" in 1929 that began the Great Depression.
*** New in 3.3.2. ***
:BrokenWindows: /n./ Abusive hackerism for the @{crufty@} and
@{elephantine@} @{X@} environment on Sun machines; properly called
`OpenWindows'.
*** Changed in 3.2.0. ***
:C: /n./ 1. The third letter of the English alphabet. 2. ASCII
1000011. 3. The name of a programming language designed by Dennis
Ritchie during the early 1970s and immediately used to reimplement
@{@{Unix@}@}; so called because many features derived from an earlier
compiler named `B' in commemoration of *its* parent, BCPL. (BCPL
was in turn descended from an earlier Algol-derived language, CPL.)
Before Bjarne Stroustrup settled the question by designing @{C++@},
there was a humorous debate over whether C's successor should be
named `D' or `P'� C became immensely popular outside Bell Labs
after about 1980 and is now the dominant language in systems and
microcomputer applications programming. See also @{languages of
choice@}, @{indent style@}.
C is often described, with a mixture of fondness and disdain
varying according to the speaker, as "a language that combines all
the elegance and power of assembly language with all the readability
and maintainability of assembly language".
*** New in 3.3.2. ***
:C++: /C'-pluhs-pluhs/ /n./ Designed by Bjarne Stroustrup of AT&T
Bell Labs as a successor to @{C@}. Now one of the @{languages of
choice@}, although many hackers still grumble that it is the
successor to either Algol 68 or @{Ada@} (depending on generation),
and a prime example of @{second-system effect@}. Almost anything
that can be done in any language can be done in C++, but it requires
a @{language lawyer@} to know what is and what is not legal-- the
design is *almost* too large to hold in even hackers' heads. Much
of the @{cruft@} results from C++'s attempt to be backward
compatible with C. Stroustrup himself has said in his retrospective
book "The Design and Evolution of C++" (p. 207), "Within C++, there
is a much smaller and cleaner language struggling to get out."
[Many hackers would now add "Yes, and it's called Java" --ESR]
*** New in 3.3.2. ***
: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 threatens 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 sought an immediate
injunction to block enforcement of the CDA pending a constitutional
challenge. This injunction was granted on the likelihood that
plaintiffs would prevail on the merits of the case. At time of
writing (Spring 1996), the fate of the CDA, and its effect on the
Internet, is still unknown. See also @{Exon@}.
To join the fight against the CDA (if it's still law) and other
forms of Internet censorship, visit the Center for Democracy and
Technology Home Page at http://www.cdt.org.
*** Changed in 3.2.0. ***
:COBOL: /koh'bol/ /n./ [COmmon Business-Oriented Language]
(Synonymous with @{evil@}.) A weak, verbose, and flabby language
used by @{card walloper@}s to do boring mindless things on
@{dinosaur@} mainframes. Hackers believe that all COBOL programmers
are @{suit@}s or @{code grinder@}s, and no self-respecting hacker
will ever admit to having learned the language. Its very name is
seldom uttered without ritual expressions of disgust or horror. One
popular one is Edsger W. Dijkstra's famous observation that "The
use of COBOL cripples the mind; its teaching should, therefore, be
regarded as a criminal offense." (from "Selected Writings on
Computing: A Personal Perspective") See also @{fear and loathing@},
@{software rot@}.
*** Changed in 3.1.0. ***
:CP/M:: /C-P-M/ /n./ [Control Program/Monitor; later @{retcon@}ned
to Control Program for Microcomputers] An early microcomputer @{OS@}
written by hacker Gary Kildall for 8080- and Z80-based machines,
very popular in the late 1970s but virtually wiped out by MS-DOS
after the release of the IBM PC in 1981. Legend has it that
Kildall's company blew its chance to write the OS for the IBM PC
because Kildall decided to spend a day IBM's reps wanted to meet
with him enjoying the perfect flying weather in his private plane.
Many of CP/M's features and conventions strongly resemble those of
early @{DEC@} operating systems such as @{@{TOPS-10@}@}, OS/8, RSTS,
and RSX-11. See @{@{MS-DOS@}@}, @{operating system@}.
*** New in 3.3.0. ***
:Camel Book: /n./ Universally recognized nickname for the book
"Programming Perl", by Larry Wall and Randal L. Schwartz, O'Reilly
Associates 1991, ISBN 0-937175-64-1. The definitive reference on
@{Perl@}.
*** New in 3.2.0. ***
:Code of the Geeks: /n./ see @{geek code@}.
*** Changed in 3.2.0. ***
: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/). The
prefix @{meta@} may be pronounced /mee't*/; similarly, Greek letter
beta is usually /bee't*/, zeta is usually /zee't*/, and so forth.
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@}, 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!"). Finally, note that the
American terms `parens', `brackets', and `braces' for (), [], and {}
are uncommon; Commonwealth hackish prefers `brackets', `square
brackets', and `curly brackets'. Also, the use of `pling' for
@{bang@} is common outside the United States.
See also @{attoparsec@}, @{calculator@}, @{chemist@}, @{console
jockey@}, @{fish@}, @{go-faster stripes@}, @{grunge@}, @{hakspek@},
@{heavy metal@}, @{leaky heap@}, @{lord high fixer@}, @{loose
bytes@}, @{muddie@}, @{nadger@}, @{noddy@}, @{psychedelicware@},
@{plingnet@}, @{raster blaster@}, @{RTBM@}, @{seggie@}, @{spod@},
@{sun lounge@}, @{terminal junkie@}, @{tick-list features@},
@{weeble@}, @{weasel@}, @{YABA@}, and notes or definitions under
@{Bad Thing@}, @{barf@}, @{bogus@}, @{bum@}, @{chase pointers@},
@{cosmic rays@}, @{crippleware@}, @{crunch@}, @{dodgy@}, @{gonk@},
@{hamster@}, @{hardwarily@}, @{mess-dos@}, @{nybble@}, @{proglet@},
@{root@}, @{SEX@}, @{tweak@}, and @{xyzzy@}.
*** Changed in 3.3.2. ***
:DDT: /D-D-T/ /n./ 1. Generic term for a program that assists in
debugging other programs by showing individual machine instructions
in a readable symbolic form and letting the user change them. In
this sense the term DDT is now archaic, having been widely displaced
by `debugger' or names of individual programs like `adb', `sdb',
`dbx', or `gdb'. 2. [ITS] Under MIT's fabled @{@{ITS@}@} operating
system, DDT (running under the alias HACTRN, a six-letterism for
`Hack Translator') was also used as the @{shell@} or top level
command language used to execute other programs. 3. Any one of
several specific DDTs (sense 1) supported on early @{DEC@} hardware.
The DEC PDP-10 Reference Handbook (1969) contained a footnote on
the first page of the documentation for DDT that illuminates the
origin of the term:
Historical footnote: DDT was developed at MIT for the PDP-1
computer in 1961. At that time DDT stood for "DEC Debugging
Tape". Since then, the idea of an on-line debugging program has
propagated throughout the computer industry. DDT programs are now
available for all DEC computers. Since media other than tape are
now frequently used, the more descriptive name "Dynamic Debugging
Technique" has been adopted, retaining the DDT abbreviation.
Confusion between DDT-10 and another well known pesticide,
dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
since each attacks a different, and apparently mutually exclusive,
class of bugs.
(The `tape' referred to was, incidentally, not magnetic but paper.)
Sadly, this quotation was removed from later editions of the
handbook after the @{suit@}s took over and DEC became much more
`businesslike'.
The history above is known to many old-time hackers. But there's
more: Peter Samson, compiler of the original @{TMRC@} lexicon,
reports that he named `DDT' after a similar tool on the TX-0
computer, the direct ancestor of the PDP-1 built at MIT's Lincoln
Lab in 1957. The debugger on that ground-breaking machine (the
first transistorized computer) rejoiced in the name FLIT
(FLexowriter Interrogation Tape).
*** Changed in 3.2.0. ***
:DEADBEEF: /ded-beef/ /n./ The hexadecimal word-fill pattern for
freshly allocated memory (decimal -21524111) under a number of IBM
environments, including the RS/6000. Some modern debugging tools
deliberately fill freed memory with this value as a way of
converting @{heisenbug@}s into @{Bohr bug@}s. As in "Your program
is DEADBEEF" (meaning gone, aborted, flushed from memory); if you
start from an odd half-word boundary, of course, you have BEEFDEAD�
See also the anecdote under @{fool@}.
*** Changed in 3.3.0, 3.3.1. ***
:DEC:: /dek/ /n./ Commonly used abbreviation for Digital Equipment
Corporation, now deprecated by DEC itself in favor of "Digital".
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 heavy 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 is still regarded with a
certain wry affection even among many hackers too young to have
grown up on DEC machines. The contrast with @{IBM@} is instructive.
[1996 update: DEC has gradually been reclaiming some of its old
reputation among techies in the last five years. The success of the
Alpha, an innovatively-designed and very high-performance @{killer
micro@}, has helped a lot. So has DEC's newfound receptiveness to
Unix and open systems in general. --ESR]
*** Changed in 3.3.0. ***
:Datamation: /day`t*-may'sh*n/ /n./ A magazine that many hackers
assume all @{suit@}s read. Used to question an unbelieved quote, as
in "Did you read that in `Datamation?'" (But see below; this slur
may be dated by the time you read this.) It used to publish
something hackishly funny every once in a while, like the original
paper on @{COME FROM@} in 1973, and Ed Post's "Real Programmers
Don't Use Pascal" ten years later, but for a long time after that it
was much more exclusively @{suit@}-oriented and boring. Following a
change of editorship in 1994, Datamation is trying for more of the
technical content and irreverent humor that marked its early days.
Datamation now has a WWW page at http://www.datamation.com worth
visiting for its selection of computer humor, including "Real
Programmers Don't Use Pascal" and the `Bastard Operator From Hell'
stories by Simon Travaglia (see @{BOFH@}).
*** New in 3.1.0. Changed in 3.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.
*** Changed in 3.1.0. ***
:Devil Book: /n./ See @{daemon book@}, the term preferred by its
authors.
*** New in 4.0.0. ***
:Dilbert: /n./ Name and title character of a comic strip
nationally syndicated in the U.S. and enormously popular among
hackers. Dilbert is an archetypical engineer-nerd who works at an
anonymous high-technology company; the strips present a lacerating
satire of insane working conditions and idiotic @{management@}
practices all too readily recognized by hackers. Adams, who spent
nine years in @{cube@} 4S700R at Pacific Bell (not @{DEC@} as often
reported), often remarks that he has never been able to come up with
a fictional management blunder that his correspondents didn't
quickly either report to have actually happened or top with a
similar but even more bizarre incident. In 1996 Adams distilled his
insights into the collective psychology of businesses into an even
funnier book, "The Dilbert Principle" (HarperCollins, ISBN
0-887-30787-6). See also @{rat dance@}.
*** Changed in 4.0.0. ***
:Dissociated Press: /n./ [play on `Associated Press'; perhaps
inspired by a reference in the 1950 Bugs Bunny cartoon "What's Up,
Doc?"] An algorithm for transforming any text into potentially
humorous garbage even more efficiently than by passing it through a
@{marketroid@}. The algorithm starts by printing any N consecutive
words (or letters) in the text. Then at every step it searches for
any random occurrence in the original text of the last N words (or
letters) already printed and then prints the next word or letter.
@{EMACS@} has a handy command for this. Here is a short example of
word-based Dissociated Press applied to an earlier version of this
Jargon File:
wart: /n./ A small, crocky @{feature@} that sticks out of an array
(C has no checks for this). This is relatively benign and easy to
spot if the phrase is bent so as to be not worth paying attention
to the medium in question.
Here is a short example of letter-based Dissociated Press applied
to the same source:
window sysIWYG: /n./ A bit was named aften /bee't*/ prefer to use
the other guy's re, especially in every cast a chuckle on neithout
getting into useful informash speech makes removing a featuring a
move or usage actual abstractionsidered /interj./ Indeed spectace
logic or problem!
A hackish idle pastime is to apply letter-based Dissociated Press
to a random body of text and @{vgrep@} the output in hopes of finding
an interesting new word. (In the preceding example, `window
sysIWYG' and `informash' show some promise.) Iterated applications
of Dissociated Press usually yield better results. Similar
techniques called `travesty generators' have been employed with
considerable satirical effect to the utterances of Usenet flamers;
see @{pseudo@}.
*** Changed in 3.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@}.) In
recent years, the synonym `El Camino Virtual' has been reported as
an alternate at IBM and Amdahl sites in the Valley.
[GLS has since let slip that the unnamed hacker in this story was
in fact he --ESR]
*** New in 3.3.2. ***
: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-Nevada), primary
author of the @{CDA@}.
*** Changed in 3.3.0. ***
:FM: /F-M/ /n./ 1. *Not* `Frequency Modulation' but rather an
abbreviation for `Fucking Manual', the back-formation from @{RTFM@}.
Used to refer to the manual itself in the @{RTFM@}. "Have you seen
the Networking FM lately?" 2. Abbreviation for "Fucking Magic", used
in the sense of @{black magic@}.
*** New in 3.3.0. ***
:FRS: // /n./ 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;
this was probably critical in helping establish the term.
*** New in 3.3.1. ***
:FSF: /F-S-F/ /abbrev./ Common abbreviation (both spoken and
written) for the name of the Free Software Foundation, a nonprofit
educational association formed to support the @{GNU@} project.
*** Changed in 4.0.0, 4.0.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. FidoNet has grown rapidly and in early 1996 has
approximately 38000 nodes.
*** Changed in 3.3.2. ***
: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". One
variant favored among hackers is "The perversity of the Universe
tends towards a maximum" (but see also @{Hanlon's Razor@}). 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.
*** New in 3.2.0. ***
:Full Monty, the: /n./ See @{monty@}, sense 2.
*** New in 3.3.0. ***
:GIFs at 11: [Fidonet] Fidonet alternative to @{film at 11@},
especially in echoes (Fidonet topic areas) where uuencoded GIFs are
permitted. Other formats, especially JPEG and MPEG, may be
referenced instead.
*** Changed in 3.3.0, 3.3.2. ***
: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
is now modestly popular as `UniPress EMACS'� The author, James
Gosling, went on to invent @{NeWS@} and the programming language
Java; the latter earned him @{demigod@} status.
*** New in 3.1.0. ***
:Genius From Mars Technique: /n./ [TMRC] A visionary quality which
enables one to ignore the standard approach and come up with a
totally unexpected new algorithm. An attack on a problem from an
offbeat angle that no one has ever thought of before, but that in
retrospect makes total sense. Compare @{grok@}, @{zen@}.
*** Changed in 3.3.0. ***
:Get a real computer!: /imp./ Typical hacker response to news that
somebody is having trouble getting work done on a system that (a) is
single-tasking, (b) has no hard disk, or (c) has an address space
smaller than 16 megabytes. This is as of early 1996; note that the
threshold for `real computer' rises with time. See @{bitty box@}
and @{toy@}.
*** New in 3.1.0. ***
: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.
*** Changed in 4.0.0. ***
:Hanlon's Razor: /prov./ A corollary of @{Finagle's Law@}, similar
to Occam's Razor, that reads "Never attribute to malice that which
can be adequately explained by stupidity." The derivation of the
Hanlon eponym is not definitely known, but a very similar remark
("You have attributed conditions to villainy that simply result from
stupidity.") appears in "Logic of Empire", a 1941 story by Robert A.
Heinlein, who calls it the `devil theory' of sociology. Heinlein's
popularity in the hacker culture makes plausible the supposition
that `Hanlon' is derived from `Heinlein' by phonetic corruption. A
similar epigram has been attributed to William James, but Heinlein
more probably got the idea from Alfred Korzybski and other
practitioners of General Semantics. Quoted here because it seems to
be a particular favorite of hackers, often showing up in @{sig
block@}s, @{fortune cookie@} files and the login banners of BBS
systems and commercial networks. This probably reflects the
hacker's daily experience of environments created by
well-intentioned but short-sighted people. Compare @{Sturgeon's
Law@}.
*** New in 3.3.0. ***
:ISP: /I-S-P/ Common abbreviation for Internet Service Provider, a
kind of company that barely existed before 1993. ISPs sell Internet
access to the mass market. While the big nationwide commercial BBSs
with Internet access (like America Online, CompuServe, GEnie,
Netcom, etc.) are technically ISPs, the term is usually reserved for
local or regional small providers (often run by hackers turned
entrepreneurs) who resell Internet access cheaply without themselves
being information providers or selling advertising. Compare
@{NSP@}.
*** New in 3.2.0. ***
: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. 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 freeware emulators
for that interpreter have been written to permit the P-code to be
run on platforms the games never originally graced.
*** New in 4.0.0. ***
:Internet:: /n./ The mother of all networks. First incarnated
beginning in 1969 as the ARPANET, a U.S. Department of Defense
research testbed. Though it has been widely believed that the goal
was to develop a network architecture for military
command-and-control that could survive disruptions up to and
including nuclear war, this is a myth; in fact, ARPANET was
conceived from the start as a way to get most economical use out of
then-scarce large-computer resources.
As originally imagined, ARPANET's major use would have been to
support what is now called remote login and more sophisticated forms
of distributed computing, but the infant technology of electronic
mail quickly grew to dominate actual usage. Universities, research
labs and defense contractors early discovered the Internet's
potential as a medium of communication between *humans* and linked
up in steadily increasing numbers, connecting together a quirky mix
of academics, techies, hippies, SF fans, hackers, and anarchists.
The roots of this lexicon lie in those early years.
Over the next quarter-century the Internet evolved in many ways.
The typical machine/OS combination moved from DEC @{PDP-10@}s and
@{PDP-20@}s, running @{TOPS-10@} and @{TOPS-20@}, to PDP-11s and
VAXes and Suns running @{Unix@}, and in the 1990s to Unix on Intel
microcomputers. The Internet's protocols grew more capable, most
notably in the move from NCP/IP to @{TCP/IP@} in 1982 and the
implementation of Domain Name Service in 1983. With TCP/IP and DNS
in place. It was around this time that people began referring to
the collection of interconnected networks with ARPANET at its core
as "the Internet".
The ARPANET had a fairly strict set of participation guidelines -
connected institutions had to be involved with a DOD-related
research project. By the mid-80s, many of the organizations
clamoring to join didn't fit this profile. In 1986, the National
Science Foundation built NSFnet to open up access to its five
regional supercomputing centers; NSFnet became the backbone of the
Internet, replacing the original ARPANET pipes (which were formally
shut down in 1990). Between 1990 and late 1994 the pieces of NSFnet
were sold to major telecommunications companies until the Internet
backbone had gone completely commercial.
That year, 1994, was also the year the mainstream culture
discovered the Internet. Once again, the @{killer app@} was not the
anticipated one - rather, what caught the public imagination was the
hypertext and multimedia features of the World Wide Web. As of
early 1996, the Internet has seen off its only serious challenger
(the OSI protocol stack favored by European telecom monopolies) and
is in the process of absorbing into itself many of of the
proprietary networks built during the second wave of wide-area
networking after 1980. It is now a commonplace even in mainstream
media to predict that a globally-extended Internet will become the
key unifying communications technology of the next century. See also
@{network, the@} and @{Internet address@}.
*** New in 3.1.0. Changed in 3.3.0, 3.3.1, 3.3.3. ***
:Linux:: /lee'nuhks/ or /li'nuks/, *not* /li:'nuhks/ /n./ The free
Unix workalike created by Linus Torvalds and friends starting about
1990 (the pronunciation /lee'nuhks/ is preferred because the name
`Linus' has an /ee/ sound in Swedish). 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-based machines are underway).
This is what @{GNU@} aimed to be, but the Free Software Foundation
has not (as of early 1996) produced the kernel to go with its Unix
toolset (which Linux uses). Other, similar efforts like FreeBSD and
NetBSD have been much less successful. 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.
*** Changed in 4.0.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 will finally see legal
public print as ISBN 1-57398-013-7 from Peer-To-Peer
Communications, with a forward by Dennis Ritchie.]
*** Changed in 3.2.0. ***
: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 commercial 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. Recently (1994) an inferior imitation of these
has been put in circulation with a red corporate logo added.
*** Changed in 3.1.0. ***
: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 language that cannot even be used to write its own
compiler is beneath contempt. 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 3.3.0, 3.3.3. ***
: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. 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 3.1.0, 3.2.0, 3.3.0. ***
:Moof: /moof/ [Macintosh users] 1. /n./ The call of a
semi-legendary creature, properly called the @{dogcow@}. (Some
previous versions of this entry claimed, incorrectly, that Moof was
the name of the *creature*.) 2. /adj./ Used to flag software that's
a hack, something untested and on the edge. On one Apple CD-ROM,
certain folders such as "Tools & Apps (Moof!)" and "Development
Platforms (Moof!)", are so marked to indicate that they contain
software not fully tested or sanctioned by the powers that be. When
you open these folders you cross the boundary into hackerland. 3.
/v./ On the Microsoft Network, the term `moof' has gained popularity
as a verb meaning `to be suddenly disconnected by the system'. One
might say "I got moofed".
*** Changed in 3.3.0. ***
: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. It remained at that value through time of writing (late
1995). See also @{Parkinson's Law of Data@}.
*** Changed in 3.1.0. ***
:NMI: /N-M-I/ /n./ Non-Maskable Interrupt. An IRQ 7 on the PDP-11
or 680[01234]0; the NMI line on an 80[1234]86. In contrast with a
@{priority interrupt@} (which might be ignored, although that is
unlikely), an NMI is *never* ignored. Except, that is, on @{clone@}
boxes, where NMI is often ignored on the motherboard because flaky
hardware can generate many spurious ones.
*** Changed in 4.0.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
good a priori reason that they should be. 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."
*** New in 3.3.2. ***
:NSP: /N-S-P/ /n./ Common abbreviation for `Network Service
Provider', one of the big national or regional companies that
maintains a portion of the Internet backbone and resells
connectivity to @{ISP@}s. In 1996, major NSPs include ANS, MCI,
UUNET, and Sprint. An Internet wholesaler.
*** Changed in 3.3.2. ***
:New Testament: /n./ [C programmers] The second edition of K&R's
"The C Programming Language" (Prentice-Hall, 1988; ISBN
0-13-110362-8), describing ANSI Standard C� See @{K&R@}; this
version is also called `K&R2'.
*** Changed in 3.1.0. ***
:Nominal Semidestructor: /n./ Soundalike slang for `National
Semiconductor', found among other places in the Networking/2
networking sources. During the late 1970s to mid-1980s this company
marketed a series of microprocessors including the NS16000 and
NS32000 and several variants. At one point early in the great
microprocessor race, the specs on these chips made them look like
serious competition for the rising Intel 80x86 and Motorola 680x0
series. Unfortunately, the actual parts were notoriously flaky and
never implemented the full instruction set promised in their
literature, apparently because the company couldn't get any of the
mask steppings to work as designed. They eventually sank without
trace, joining the Zilog Z8000 and a few even more obscure also-rans
in the graveyard of forgotten microprocessors. Compare @{HP-SUX@},
@{AIDX@}, @{buglix@}, @{Macintrash@}, @{Telerat@}, @{Open
DeathTrap@}, @{ScumOS@}, @{sun-stools@}.
*** New in 3.1.0. ***
:OSU: /O-S-U/ /n. obs./ [TMRC] Acronym for Officially Sanctioned
User; a user who is recognized as such by the computer authorities
and allowed to use the computer above the objections of the security
monitor.
*** New in 3.2.0. ***
:OTOH: // [USENET] On The Other Hand.
*** New in 3.3.0. ***
:Pangloss parity: /n./ [from Dr. Pangloss, the eternal optimist in
Voltaire's "Candide"] In corporate DP shops, a common condition of
severe but equally shared @{lossage@} resulting from the theory that
as long as everyone in the organization has the exactly the *same*
model of obsolete computer, everything will be fine.
*** Changed in 3.1.0. ***
: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, increasingly consider it one of the
@{languages of choice@}. Perl has been described, in a parody of a
famous remark about `lex(1)', as the "Swiss-Army chainsaw" of Unix
programming. See also @{Camel Book@}.
*** New in 3.2.0. ***
:RTS: /R-T-S/ /imp./ Acronym for `Read The Screen'. Mainly used by
hackers in the microcomputer world. Refers to what one would like
to tell the @{suit@} one is forced to explain an extremely simple
application to. Particularly appropriate when the suit failed to
notice the `Press any key to continue' prompt, and wishes to know
`why won't it do anything'. Also seen as `RTFS' in especially
deserving cases.
*** Changed in 3.3.0. ***
:Shub-Internet: /shuhb' in't*r-net/ /n./ [MUD: from H. P.
Lovecraft's evil fictional deity Shub-Niggurath, the Black Goat with
a Thousand Young] The harsh personification of the Internet, Beast
of a Thousand Processes, Eater of Characters, Avatar of Line Noise,
and Imp of Call Waiting; the hideous multi-tendriled entity formed
of all the manifold connections of the net. A sect of MUDders
worships Shub-Internet, sacrificing objects and praying for good
connections. To no avail -- its purpose is malign and evil, and is
the cause of all network slowdown. Often heard as in "Freela casts
a tac nuke at Shub-Internet for slowing her down." (A forged
response often follows along the lines of: "Shub-Internet gulps down
the tac nuke and burps happily.") Also cursed by users of the Web,
@{FTP@} and @{TELNET@} when the system slows down. The dread name of
Shub-Internet is seldom spoken aloud, as it is said that repeating
it three times will cause the being to wake, deep within its lair
beneath the Pentagon.
[January 1996: It develops that one of the computer administrators
in the basement of the Pentagon read this entry and fell over
laughing. As a result, you too can now poke Shub-Internet by
@{ping@}ing shub-internet.ims.disa.mil. See also @{kremvax@}. -
ESR]
*** Changed in 3.3.2, 3.3.3. ***
:T: /T/ 1. [from LISP terminology for `true'] Yes. Used in reply
to a question (particularly one asked using @{The `-P'
convention@}). In LISP, the constant T means `true', among other
things. Some Lisp hackers use `T' and `NIL' instead of `Yes' and
`No' almost reflexively. This sometimes causes misunderstandings.
When a waiter or flight attendant asks whether a hacker wants
coffee, he may absently respond `T', meaning that he wants coffee;
but of course he will be brought a cup of tea instead. Fortunately,
most hackers (particularly those who frequent Chinese restaurants)
like tea at least as well as coffee -- so it is not that big a
problem. 2. See @{time T@} (also @{since time T equals minus
infinity@}). 3. [techspeak] In transaction-processing circles, an
abbreviation for the noun `transaction'. 4. [Purdue] Alternate
spelling of @{tee@}. 5. A dialect of @{LISP@} developed at Yale.
(There is an intended allusion to NIL, "New Implementation of Lisp",
another dialect of Lisp developed for the @{VAX@})
*** New in 3.2.0. Changed in 3.2.0, 3.3.2. ***
: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]
Sometimes expanded as "The Crap Phil Is Pushing". The reference is
to Phil Karn, KA9Q, and the context is an ongoing
technical/political war between the majority of sites still running
AX.25 and a growing minority of TCP/IP relays.
*** Changed in 3.1.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 thirty years since; all the features
described here are still present). 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 Power and Signals group included most 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.
*** New in 3.1.0. ***
:Tinkerbell program: /n./ [Great Britain] A monitoring program used
to scan incoming network calls and generate alerts when calls are
received from particular sites, or when logins are attempted using
certain IDs. Named after `Project Tinkerbell', an experimental
phone-tapping program developed by British Telecom in the early
1980s.
*** New in 3.1.0. ***
:URL: /U-R-L/ or /erl/ /n./ Uniform Resource Locator, an address
widget that identifies a document or resource on the World Wide Web.
This entry is here primarily to record the fact that the term is
commonly pronounced both /erl/, and /U-R-L/ (the latter predominates
in more formal contexts).
*** Changed in 3.1.0, 3.3.0. ***
:UTSL: // /n./ [Unix] On-line acronym for `Use the Source, Luke' (a
pun on Obi-Wan Kenobi's "Use the Force, Luke!" in "Star Wars") --
analogous to @{RTFS@} (sense 1), but more polite. This is a common
way of suggesting that someone would be better off reading the
source code that supports whatever feature is causing confusion,
rather than making yet another futile pass through the manuals, or
broadcasting questions on Usenet that haven't attracted @{wizard@}s
to answer them.
Once upon a time in @{elder days@}, everyone running Unix had
source. After 1978, AT&T's policy tightened up, so this objurgation
was in theory appropriately directed only at associates of some
outfit with a Unix source license. In practice, bootlegs of Unix
source code (made precisely for reference purposes) were so
ubiquitous that one could utter it at almost anyone on the network
without concern.
Nowadays, free Unix clones have become widely enough distributed
that anyone can read source legally. The most widely distributed is
certainly Linux, with variants of the NET/2 and 4.4BSD distributions
running second. Cheap commercial Unixes with source such as BSD/OS
are accelerating this trend.
*** Changed in 4.0.0. ***
:UUCPNET: /n. obs./ The store-and-forward network consisting of all
the world's connected Unix machines (and others running some clone
of the UUCP (Unix-to-Unix CoPy) software). Any machine reachable
only via a @{bang path@} is on UUCPNET� This term has been rendered
obsolescent by the spread of cheap Internet connections in the
1990s; the few remaining UUCP links are essentially slow channels to
the Internet rather than an autonomous network. See @{network
address@}.
*** Changed in 3.1.0, 3.3.3. ***
:Unix:: /yoo'niks/ /n./ [In the authors' words, "A weak pun on
Multics"; very early on it was `UNICS'] (also `UNIX') An interactive
time-sharing system invented in 1969 by Ken Thompson after Bell Labs
left the Multics project, originally so he could play games on his
scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a
co-author of the system. The turning point in Unix's history came
when it was reimplemented almost entirely in C during 1972-1974,
making it the first source-portable OS� Unix subsequently underwent
mutations and expansions at the hands of many different people,
resulting in a uniquely flexible and developer-friendly environment.
By 1991, Unix had become the most widely used multiuser
general-purpose operating system in the world. Many people consider
this the most important victory yet of hackerdom over industry
opposition (but see @{Unix weenie@} and @{Unix conspiracy@} for an
opposing point of view). See @{Version 7@}, @{BSD@}, @{USG Unix@},
@{Linux@}�
Some people are confused over whether this word is appropriately
`UNIX' or `Unix'; both forms are common, and used interchangeably.
Dennis Ritchie says that the `UNIX' spelling originally happened in
CACM's 1974 paper "The UNIX Time-Sharing System" because "we had a
new typesetter and @{troff@} had just been invented and we were
intoxicated by being able to produce small caps." Later, dmr tried
to get the spelling changed to `Unix' in a couple of Bell Labs
papers, on the grounds that the word is not acronymic. He failed,
and eventually (his words) "wimped out" on the issue. So, while the
trademark today is `UNIX', both capitalizations are grounded in
ancient usage; the Jargon File uses `Unix' in deference to dmr's
wishes.
*** Changed in 4.0.0. ***
:Unix conspiracy: /n./ [ITS] According to a conspiracy theory long
popular among @{@{ITS@}@} and @{@{TOPS-20@}@} fans, Unix's growth is
the result of a plot, hatched during the 1970s at Bell Labs, whose
intent was to hobble AT&T's competitors by making them dependent
upon a system whose future evolution was to be under AT&T's control.
This would be accomplished by disseminating an operating system
that is apparently inexpensive and easily portable, but also
relatively unreliable and insecure (so as to require continuing
upgrades from AT&T). This theory was lent a substantial impetus in
1984 by the paper referenced in the @{back door@} entry.
In this view, Unix was designed to be one of the first computer
viruses (see @{virus@}) -- but a virus spread to computers
indirectly by people and market forces, rather than directly through
disks and networks. Adherents of this `Unix virus' theory like to
cite the fact that the well-known quotation "Unix is snake oil" was
uttered by DEC president Kenneth Olsen shortly before DEC began
actively promoting its own family of Unix workstations. (Olsen now
claims to have been misquoted.)
[If there was ever such a conspiracy, it got thoroughly out of the
plotters' control after 1990. AT&T sold its UNIX operation to
Novell around the same time @{Linux@} and other free-UNIX
distributions were beginning to make noise. --ESR]
*** Changed in 3.2.0, 3.3.0, 4.0.0. ***
:Usenet: /yoos'net/ or /yooz'net/ /n./ [from `Users' Network'; the
original spelling was USENET, but the mixed-case form is now widely
preferred] A distributed @{bboard@} (bulletin board) system
supported mainly by Unix machines. Originally implemented in
1979-1980 by Steve Bellovin, Jim Ellis, Tom Truscott, and Steve
Daniel at Duke University, it has swiftly grown to become
international in scope and is now probably the largest decentralized
information utility in existence. As of early 1996, it hosts over
10,000 @{newsgroup@}s and an average of over 500 megabytes (the
equivalent of several thousand paper pages) of new technical
articles, news, discussion, chatter, and @{flamage@} every day.
By the year the Internet hit the mainstream (1994) the original
UUCP transport for Usenet was fading out of use (see @{UUCPNET@}) -
almost all Usenet connections were over Internet links. A lot of
newbies and journalists began to refer to "Internet newsgroups" as
though Usenet was and always had been just another Internet service.
This ignorance greatly annoys experienced Usenetters.
*** New in 3.1.0. ***
:V7: /V'sev'en/ /n./ See @{Version 7@}.
*** Changed in 3.1.0, 3.3.0. ***
:VAX: /vaks/ /n./ 1. [from Virtual Address eXtension] The most
successful minicomputer design in industry history, possibly
excepting its immediate ancestor, the PDP-11. Between its release
in 1978 and its eclipse by @{killer micro@}s after about 1986, the
VAX was probably the hacker's favorite machine of them all, esp.
after the 1982 release of 4.2 BSD Unix (see @{BSD@})� Esp. noted
for its large, assembler-programmer-friendly instruction set -- an
asset that became a liability after the RISC revolution. 2. A major
brand of vacuum cleaner in Britain. Cited here because its sales
pitch, "Nothing sucks like a VAX!" became a sort of battle-cry of
RISC partisans. It is even sometimes claimed that DEC actually
entered a cross-licensing deal with the vacuum-Vax people that
allowed them to market VAX computers in the U.K. in return for not
challenging the vacuum cleaner trademark in the U.S�
A rival brand actually pioneered the slogan: its original form was
"Nothing sucks like Electrolux". It has apparently become a classic
example (used in advertising textbooks) of the perils of not knowing
the local idiom. But in 1996, the press manager of Electrolux AB,
while confirming that the company used this slogan in the late 1960s,
also tells us that their marketing people were fully aware of the
possible double entendre and intended it to gain attention.
And gain attention it did - the VAX-vacuum-cleaner people thought
the slogan a sufficiently good idea to copy it. Several British
hackers report that VAX's promotions used it in 1986-1987, and we
have one report from a New Zealander that the infamous slogan
surfaced there in TV ads for the product in 1992.
*** Changed in 3.3.2. ***
:WOMBAT: /wom'bat/ /adj./ [acronym: Waste Of Money, Brains, And
Time] Applied to problems which are both profoundly
@{uninteresting@} in themselves and unlikely to benefit anyone
interesting even if solved. Often used in fanciful constructions
such as `wrestling with a wombat'. See also @{crawling horror@},
@{SMOP@}� Also note the rather different usage as a metasyntactic
variable in @{@{Commonwealth Hackish@}@}.
Users of the PDP-11 database program DATATRIEVE adopted the wombat
as their notional mascot; the program's help file responded to
"HELP WOMBAT" with factual information about Real World wombats.
*** Changed in 3.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).
Others claim, however, that Winchester was simply the laboratory in
which the technology was developed.
*** Changed in 3.1.0. ***
:YAFIYGI: /yaf'ee-y*-gee/ /adj./ [coined in response to WYSIWYG]
Describes the command-oriented ed/vi/nroff/TeX style of word
processing or other user interface, the opposite of @{WYSIWYG@}.
Stands for "You asked for it, you got it", because what you actually
asked for is often not apparent until long after it is too late to
do anything about it. Used to denote perversity ("Real Programmers
use YAFIYGI tools...and *like* it!") or, less often, a necessary
tradeoff ("Only a YAFIYGI tool can have full programmable
flexibility in its interface.").
This precise sense of "You asked for it, you got it" seems to
have first appeared in Ed Post's classic parody "Real Programmers
don't use Pascal" (see @{Real Programmer@}s); the acronym is a more
recent invention.
*** New in 3.1.0. ***
:YMMV: // /cav./ Abbreviation for @{Your mileage may vary@} common
on Usenet.
*** Changed in 3.1.0, 3.3.3. ***
:Yellow Book: /n./ The print version of this Jargon File; "The
New Hacker's Dictionary" from MIT Press; The book includes
essentially all the material the File, plus a Foreword by Guy L.
Steele Jr. and a Preface by Eric S. Raymond. Most importantly, the
book version is nicely typeset and includes almost all of the
infamous Crunchly cartoons by the Great Quux, each attached to an
appropriate entry. The first edition (1991, ISBN 0-262-68069-6)
corresponded to the Jargon File version 2.9.6. The second edition
(1993, ISBN 0-262-68079-3) corresponded to the Jargon File 3.0.0.
The third (1996, ISBN 0-262-68092-0) will correspond to 4.0.0.
*** New in 3.3.2. Changed in 3.3.3. ***
:Zero-One-Infinity Rule: /prov./ "Allow none of @{foo@}, one of
@{foo@}, or any number of @{foo@}." A rule of thumb for software
design, which instructs one to not place @{random@} limits on the
number of instances of a given entity (such as: windows in a window
system, letters in an OS's filenames, etc.). Specifically, one
should either disallow the entity entirely, allow exactly one
instance (an "exception"), or allow as many as the user wants -
address space and memory permitting.
The logic behind this rule is that there are often situations where
it makes clear sense to allow one of something instead of none.
However, if one decides to go further and allow N (for N > 1), then
why not N+1? And if N+1, then why not N+2, and so on? Once above
1, there's no excuse not to allow any N; hence, @{infinity@}.
Many hackers recall in this connection Isaac Asimov's SF novel
"The Gods Themselves" in which a character announces that the number
2 is impossible - if you're going to believe in more than one
universe, you might as well believe in an infinite number of them.
*** Changed in 3.2.0. ***
:Zork: /zork/ /n./ The second of the great early experiments in
computer fantasy gaming; see @{ADVENT@}� Originally written on
MIT-DM during 1977-1979, later distributed with BSD Unix (as a
patched, sourceless RT-11 FORTRAN binary; see @{retrocomputing@})
and commercialized as `The Zork Trilogy' by @{Infocom@}. The
FORTRAN source was later rewritten for portability and released to
Usenet under the name "Dungeon". Both FORTRAN "Dungeon" and
translated C versions are available at many FTP sites.
*** New in 3.1.0. ***
:acolyte: /n. obs./ [TMRC] An @{OSU@} privileged enough to submit
data and programs to a member of the @{priesthood@}.
*** Changed in 3.2.0, 3.3.2. ***
:adger: /aj'r/ /vt./ [UCLA mutant of @{nadger@}, poss. 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@}.
*** Changed in 3.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 `clover' or `Command' key
on a Macintosh; use of this term usually reveals that the speaker
hacked PCs before coming to the Mac (see also @{feature key@}).
Some Mac hackers, confusingly, reserve `alt' for the Option key (and
it is so labeled on some Mac II keyboards). 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".
*** Changed in 3.3.2. ***
:automagically: /aw-toh-maj'i-klee/ /adv./ Automatically, but in a
way that, for some reason (typically because it is too complicated,
or too ugly, or perhaps even too trivial), the speaker doesn't feel
like explaining to you. See @{magic@}. "The C-INTERCAL compiler
generates C, then automagically invokes `cc(1)' to produce an
executable."
This term is quite old, going back at least to the mid-70s and
probably much earlier. The word `automagic' occurred in advertising
(for a shirt-ironing gadget) as far back as the late 1940s.
*** Changed in 3.3.0. ***
:avatar: /n./ Syn. 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 disliked the term `superuser', and was
propagated through an ex-CMU hacker at Tektronix.
*** Changed in 3.1.0, 3.1.0, 3.3.0. ***
:back door: /n./ A hole in the security of a system deliberately
left in place by designers or maintainers. The motivation for such
holes is not always sinister; some operating systems, for example,
come out of the box with privileged accounts intended for use by
field service technicians or the vendor's maintenance programmers.
Syn. @{trap door@}; may also be called a `wormhole'. See also
@{iron box@}, @{cracker@}, @{worm@}, @{logic bomb@}.
Historically, back doors have often lurked in systems longer than
anyone expected or planned, and a few have become widely known. Ken
Thompson's 1983 Turing Award lecture to the ACM admitted the
existence of a back door in early Unix versions that may have
qualified as the most fiendishly clever security hack of all time.
In this scheme, the C compiler contained code that would recognize
when the `login' command was being recompiled and insert some code
recognizing a password chosen by Thompson, giving him entry to the
system whether or not an account had been created for him.
Normally such a back door could be removed by removing it from the
source code for the compiler and recompiling the compiler. But to
recompile the compiler, you have to *use* the compiler -- so
Thompson also arranged that the compiler would *recognize when it
was compiling a version of itself*, and insert into the recompiled
compiler the code to insert into the recompiled `login' the code to
allow Thompson entry -- and, of course, the code to recognize itself
and do the whole thing again the next time around! And having done
this once, he was then able to recompile the compiler from the
original sources; the hack perpetuated itself invisibly, leaving the
back door in place and active but with no trace in the sources.
The talk that suggested this truly moby hack was published as
"Reflections on Trusting Trust", "Communications of the ACM 27", 8
(August 1984), pp. 761-763 (text available at
http://www.acm.org/classics). Ken Thompson has since confirmed that
this hack was implemented and that the Trojan Horse code did appear
in the login binary of a Unix Support group machine. Ken says the
crocked compiler was never distributed. Your editor has heard two
separate reports that suggest that the crocked login did make it out
of Bell Labs, notably to BBN, and that it enabled at least one
late-night login across the network by someone using the login name
`kt'.
*** Changed in 3.3.0. ***
:backbone site: /n./ A key Usenet and email site; one that
processes a large amount of third-party traffic, especially if it is
the home site of any of the regional coordinators for the Usenet
maps. Notable backbone sites as of early 1993, when this sense of
the term was beginning to pass out of general use due to wide
availability of cheap Internet connections, included uunet and the
mail machines at Rutgers University, UC Berkeley, @{DEC@}'s Western
Research Laboratories, Ohio State University, and the University of
Texas. Compare @{rib site@}, @{leaf site@}.
[1996 update: This term is seldom heard any more. The UUCP network
world that gave it meaning has nearly disappeared; everyone is on
the Internet now and network traffic is distributed in very
different patterns. --ESR]
*** New in 3.2.0. ***
:balloonian variable: /n./ [Commodore users; perh. a deliberate
phonetic mangling of `boolean variable'?] Any variable that doesn't
actually hold or control state, but must nevertheless be declared,
checked, or set. A typical balloonian variable started out as a
flag attached to some environment feature that either became
obsolete or was planned but never implemented. Compatibility
concerns (or politics attached to same) may require that such a flag
be treated as though it were @{live@}.
*** Changed in 3.1.0, 3.3.1, 3.3.1. ***
:bamf: /bamf/ 1. [from X-Men comics; originally "bampf"] /interj./
Notional sound made by a person or object teleporting in or out of
the hearer's vicinity. Often used in @{virtual reality@} (esp.
@{MUD@}) electronic @{fora@} when a character wishes to make a
dramatic entrance or exit. 2. The sound of magical transformation,
used in virtual reality @{fora@} like MUDs. 3. In MUD circles,
"bamf" is also used to refer to the act by which a MUD server sends
a special notification to the MUD client to switch its connection to
another server ("I'll set up the old site to just bamf people over
to our new location."). 4. Used by MUDders on occasion in a more
general sense related to sense 3, to refer to directing someone to
another location or resource ("A user was asking about some
technobabble so I bamfed them to
http://www.ccil.org/jargon/jargon.html.")
*** Changed in 3.1.0. ***
:barfmail: /n./ Multiple @{bounce message@}s accumulating to the
level of serious annoyance, or worse. The sort of thing that
happens when an inter-network mail gateway goes down or wonky.
*** Changed in 3.3.2. ***
:beep: /n.,v./ Syn. @{feep@}. This term is techspeak under MS-DOS
and OS/2, and seems to be generally preferred among micro hobbyists.
*** Changed in 3.3.2. ***
:beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ /n./ 1. Mostly
working, but still under test; usu. used with `in': `in beta'. In
the @{Real World@}, systems (hardware or software) software often go
through two stages of release testing: Alpha (in-house) and Beta
(out-house?). Beta releases are generally made to a group of lucky
(or unlucky) trusted customers. 2. Anything that is new and
experimental. "His girlfriend is in beta" means that he is still
testing for compatibility and reserving judgment. 3. Flaky;
dubious; suspect (since beta software is notoriously buggy).
Historical note: More formally, to beta-test is to test a
pre-release (potentially unreliable) version of a piece of software
by making it available to selected (or self-selected) customers and
users. This term derives from early 1960s terminology for product
cycle checkpoints, first used at IBM but later standard throughout
the industry. `Alpha Test' was the unit, module, or component test
phase; `Beta Test' was initial system test. These themselves came
from earlier A- and B-tests for hardware. The A-test was a
feasibility and manufacturability evaluation done before any
commitment to design and development. The B-test was a
demonstration that the engineering model functioned as specified.
The C-test (corresponding to today's beta) was the B-test performed
on early samples of the production design.
*** Changed in 3.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
golden Labrador 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 3.2.0, 3.3.1. ***
:big-endian: /adj./ [From Swift's "Gulliver's Travels" via the
famous paper "On Holy Wars and a Plea for Peace" by Danny Cohen,
USC/ISI IEN 137, dated April 1, 1980] 1. Describes a computer
architecture in which, within a given multi-byte numeric
representation, the most significant byte has the lowest address
(the word is stored `big-end-first'). Most processors, including
the IBM 370 family, the @{PDP-10@}, the Motorola microprocessor
families, and most of the various RISC designs current in late 1995,
are big-endian. Big-endian byte order is also sometimes called
`network order'. See @{little-endian@}, @{middle-endian@}, @{NUXI
problem@}, @{swab@}. 2. An @{@{Internet address@}@} the wrong way
round. Most of the world follows the Internet standard and writes
email addresses starting with the name of the computer and ending up
with the name of the country. In the U.K. the Joint Networking Team
had decided to do it the other way round before the Internet domain
standard was established. Most gateway sites have @{ad-hockery@} in
their mailers to handle this, but can still be confused. In
particular, the address [email protected] could be interpreted in
JANET's big-endian way as one in the U.K. (domain uk) or in the
standard little-endian way as one in the domain as (American Samoa)
on the opposite side of the world.
*** New in 3.2.0. ***
:blammo: /v./ [Oxford Brookes University and alumni, UK] To
forcibly remove someone from any interactive system, especially
talker systems. The operators, who may remain hidden, may `blammo' a
user who is misbehaving. Very similar to MIT @{gun@}; in fact, the
`blammo-gun' is a notional device used to `blammo' someone. While
in actual fact the only incarnation of the blammo-gun is the command
used to forcibly eject a user, operators speak of different levels
of blammo-gun fire; e.g., a blammo-gun to `stun' will temporarily
remove someone, but a blammo-gun set to `maim' will stop someone
coming back on for a while.
*** New in 3.1.0. ***
:blink: /vi.,n./ To use a navigator or off-line message reader to
minimize time spent on-line to a commercial network service. As of
late 1994, this term was said to be in wide use in the UK, but is
rare or unknown in the US.
*** Changed in 3.2.0. ***
:blinkenlights: /blink'*n-li:tz/ /n./ Front-panel diagnostic lights
on a computer, esp. a @{dinosaur@}. 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.
*** Changed in 4.0.0. ***
:block transfer computations: /n./ [from the television series "Dr.
Who"] Computations so fiendishly subtle and complex that they could
not be performed by machines. Used to refer to any task that should
be expressible as an algorithm in theory, but isn't. (The Z80's
LDIR instruction, "Computed Block Transfer with increment", may also
be relevant)
*** New in 3.2.0. Changed in 3.3.3. ***
:blue box: /n./ 1. obs. Once upon a time, before all-digital
switches made it possible for the phone companies to move them out
of band, one could actually hear the switching tones used to route
long-distance calls. Early @{phreaker@}s built devices called `blue
boxes' that could reproduce these tones, which could be used to
commandeer portions of the phone network. (This was not as hard as
it may sound; one early phreak acquired the sobriquet `Captain
Crunch' after he proved that he could generate switching tones with
a plastic whistle pulled out of a box of Captain Crunch cereal!)
There were other colors of box with more specialized phreaking uses;
red boxes, black boxes, silver boxes, etc. 2. /n./ An @{IBM@}
machine, especially a large (non-PC) one.
*** New in 3.2.0. ***
:bodysurf code: /n./ A program or segment of code written quickly
in the heat of inspiration without the benefit of formal design or
deep thought. Like its namesake sport, the result is too often a
wipeout that leaves the programmer eating sand.
*** Changed in 3.2.0. ***
:bogon: /boh'gon/ /n./ [by analogy with proton/electron/neutron,
but doubtless reinforced after 1980 by the similarity to Douglas
Adams's `Vogons'; see the @{Bibliography@} in Appendix C and note
that Arthur Dent actually mispronounces `Vogons' as `Bogons' at one
point] 1. The elementary particle of bogosity (see @{quantum
bogodynamics@}). For instance, "the Ethernet is emitting bogons
again" means that it is broken or acting in an erratic or bogus
fashion. 2. A query packet sent from a TCP/IP domain resolver to a
root server, having the reply bit set instead of the query bit. 3.
Any bogus or incorrectly formed packet sent on a network. 4. By
synecdoche, used to refer to any bogus thing, as in "I'd like to go
to lunch with you but I've got to go to the weekly staff bogon"� 5.
A person who is bogus or who says bogus things. This was
historically the original usage, but has been overtaken by its
derivative senses 1-4. See also @{bogosity@}, @{bogus@}; compare
@{psyton@}, @{fat electrons@}, @{magic smoke@}.
The bogon has become the type case for a whole bestiary of nonce
particle names, including the `clutron' or `cluon' (indivisible
particle of cluefulness, obviously the antiparticle of the bogon)
and the futon (elementary particle of @{randomness@}, or sometimes
of lameness). These are not so much live usages in themselves as
examples of a live meta-usage: that is, it has become a standard
joke or linguistic maneuver to "explain" otherwise mysterious
circumstances by inventing nonce particle names. And these imply
nonce particle theories, with all their dignity or lack thereof (we
might note parenthetically that this is a generalization from
"(bogus particle) theories" to "bogus (particle theories)"!).
Perhaps such particles are the modern-day equivalents of trolls and
wood-nymphs as standard starting-points around which to construct
explanatory myths. Of course, playing on an existing word (as in
the `futon') yields additional flavor. Compare @{magic smoke@}.
*** Changed in 3.3.0. ***
:book titles:: There is a tradition in hackerdom of informally
tagging important textbooks and standards documents with the
dominant color of their covers or with some other conspicuous
feature of the cover. Many of these are described in this lexicon
under their own entries. See @{Aluminum Book@}, @{Blue Book@},
@{Camel Book@}, @{Cinderella Book@}, @{Devil Book@}, @{Dragon
Book@}, @{Green Book@}, @{Orange Book@}, @{Pink-Shirt Book@},
@{Purple Book@}, @{Red Book@}, @{Silver Book@}, @{White Book@},
@{Wizard Book@}, @{Yellow Book@}, and @{bible@}; see also @{rainbow
series@}. Since about 1983 this tradition has gotten a boost from
the popular O'Reilly Associates line of technical books, which
usually feature some kind of exotic animal on the cover.
*** New in 3.3.0. ***
:browser: /n./ A program specifically designed to help users view
and navigate hypertext, on-line documentation, or a database. While
this general sense has been present in jargon for a long time, the
proliferation of browsers for the World Wide Web after 1992 has made
it much more popular and provided a central or default meaning of
the word previously lacking in hacker usage. Nowadays, if someone
mentions using a `browser' without qualification, one may assume it
is a Web browser.
*** New in 3.3.0. ***
:buffer chuck: /n./ Shorter and ruder syn. for @{buffer overflow@}.
*** Changed in 3.1.0, 3.3.1. ***
: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! 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.
Actually, use of `bug' in the general sense of a disruptive event
goes back to Shakespeare! 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 has not yet been exhibited. Thus, the process of
investigating the original-computer-bug bug fixed it in an entirely
unexpected way, by making the myth true! --ESR]
*** New in 3.2.0. ***
:bug-of-the-month club: /n./ [from "book-of-the-month club", a
time-honored mail-order-marketing technique in the U.S.] A mythical
club which users of `sendmail(1)' (the UNIX mail daemon) belong to;
this was coined on the Usenet newsgroup comp.security.unix at a time
when sendmail security holes, which allowed outside @{cracker@}s
access to the system, were being uncovered at an alarming rate,
forcing sysadmins to update very often. Also, more completely,
`fatal security bug-of-the-month club'.
*** Changed in 4.0.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
`bum' is a rude synonym for `buttocks'.
*** Changed in 3.1.0. ***
:casting the runes: /n./ What a @{guru@} does when you ask him or
her to run a particular program and type at it because it never
works for anyone else; esp. used when nobody can ever see what the
guru is doing different from what J. Random Luser does. Compare
@{incantation@}, @{runes@}, @{examining the entrails@}; also see the
AI koan about Tom Knight in "@{AI Koans@}" (Appendix A)�
A correspondent from England tells us that one of ICL's most
talented systems designers used to be called out occasionally to
service machines which the @{field circus@} had given up on. Since
he knew the design inside out, he could often find faults simply by
listening to a quick outline of the symptoms. He used to play on
this by going to some site where the field circus had just spent the
last two weeks solid trying to find a fault, and spreading a diagram
of the system out on a table top. He'd then shake some chicken
bones and cast them over the diagram, peer at the bones intently for
a minute, and then tell them that a certain module needed replacing.
The system would start working again immediately upon the
replacement.
*** Changed in 3.3.2. ***
:cdr: /ku'dr/ or /kuh'dr/ /vt./ [from LISP] To skip past the first
item from a list of things (generalized from the LISP operation on
binary tree structures, which returns a list consisting of all but
the first element of its argument). In the form `cdr down', to
trace down a list of elements: "Shall we cdr down the agenda?"
Usage: silly. See also @{loop through@}.
Historical note: The instruction format of the IBM 704 that hosted
the original LISP implementation featured two 15-bit fields called
the `address' and `decrement' parts. The term `cdr' was originally
`Contents of Decrement part of Register'. Similarly, `car' stood
for `Contents of Address part of Register'.
The cdr and car operations have since become bases for formation
of compound metaphors in non-LISP contexts. GLS recalls, for
example, a programming project in which strings were represented as
linked lists; the get-character and skip-character operations were
of course called CHAR and CHDR�
*** Changed in 3.1.0, 3.2.0. ***
:chad: /chad/ /n./ 1. The perforated edge strips on printer paper,
after they have been separated from the printed portion. Also
called @{selvage@} and @{perf@}. 2. obs. The confetti-like paper
bits punched out of cards or paper tape; this has also been called
`chaff', `computer confetti', and `keypunch droppings'. This use
may now be mainstream; it has been reported seen (1993) in
directions for a card-based voting machine in California.
Historical note: One correspondent believes `chad' (sense 2)
derives from the Chadless keypunch (named for its inventor), which
cut little u-shaped tabs in the card to make a hole when the tab
folded back, rather than punching out a circle/rectangle; it was
clear that if the Chadless keypunch didn't make them, then the stuff
that other keypunches made had to be `chad'. There is a legend that
the word was originally acronymic, standing for "Card Hole Aggregate
Debris", but this has all the earmarks of a bogus folk etymology.
*** Changed in 3.3.2. ***
:channel: /n./ [IRC] The basic unit of discussion on @{IRC@}. Once
one joins a channel, everything one types is read by others on that
channel. Channels are named with strings that begin with a `#' sign
and can have topic descriptions (which are generally irrelevant to
the actual subject of discussion). Some notable channels are
`#initgame', `#hottub', and `#report'. At times of international
crisis, `#report' has hundreds of members, some of whom take turns
listening to various news services and typing in summaries of the
news, or in some cases, giving first-hand accounts of the action
(e.g., Scud missile attacks in Tel Aviv during the Gulf War in
1991).
*** New in 3.2.0. ***
:chawmp: /n./ [University of Florida] 16 or 18 bits (half of a
machine word). This term was used by FORTH hackers during the late
1970s/early 1980s; it is said to have been archaic then, and may now
be obsolete. It was coined in revolt against the promiscuous use of
`word' for anything between 16 and 32 bits; `word' has an additional
special meaning for FORTH hacks that made the overloading
intolerable. For similar reasons, /gaw'bl/ (spelled `gawble' or
possibly `gawbul') was in use as a term for 32 or 48 bits
(presumably a full machine word, but our sources are unclear on
this). These terms are more easily understood if one thinks of them
as faithful phonetic spellings of `chomp' and `gobble' pronounced in
a Florida or other Southern U.S. dialect. For general discussion of
similar terms, see @{nybble@}.
*** New in 3.1.0. Changed in 3.3.2, 3.3.3. ***
:choad: /chohd/ /n./ Synonym for `penis' used in alt.tasteless and
popularized by the denizens thereof. They say: "We think maybe it's
from Middle English but we're all too damned lazy to check the OED."
[I'm not. It isn't. --ESR] This term is alleged to have been
inherited through 1960s underground comics, and to have been
recently sighted in the Beavis and Butthead cartoons. Speakers of
the Hindi, Bengali and Gujarati languages have confirmed that
`choad' is in fact an Indian vernacular word equivalent to `fuck';
it is therefore likely to have entered English slang via the British
Raj.
*** Changed in 3.1.0. ***
:computer geek: /n./ 1. One who eats (computer) bugs for a living.
One who fulfills all the dreariest negative stereotypes about
hackers: an asocial, malodorous, pasty-faced monomaniac with all the
personality of a cheese grater. Cannot be used by outsiders without
implied insult to all hackers; compare black-on-black vs.
white-on-black usage of `nigger'. A computer geek may be either a
fundamentally clueless individual or a proto-hacker in @{larval
stage@}. Also called `turbo nerd', `turbo geek'. See also
@{propeller head@}, @{clustergeeking@}, @{geek out@}, @{wannabee@},
@{terminal junkie@}, @{spod@}, @{weenie@}. 2. Some self-described
computer geeks use this term in a positive sense and protest sense 1
(this seems to have been a post-1990 development). For one such
argument, see http://samsara.circus.com/~omni/geek.html.
*** Changed in 3.1.0. ***
:condom: /n./ 1. The protective plastic bag that accompanies
3.5-inch microfloppy diskettes. Rarely, also used of (paper) disk
envelopes. Unlike the write protect tab, the condom (when left on)
not only impedes the practice of @{SEX@} but has also been shown to
have a high failure rate as drive mechanisms attempt to access the
disk -- and can even fatally frustrate insertion. 2. The protective
cladding on a @{light pipe@}. 3. `keyboard condom': A flexible,
transparent plastic cover for a keyboard, designed to provide some
protection against dust and @{programming fluid@} without impeding
typing. 4. `elephant condom': the plastic shipping bags used inside
cardboard boxes to protect hardware in transit. 5. /n. obs./ A
dummy directory `/usr/tmp/sh', created to foil the Great Worm by
exploiting a portability bug in one of its parts. So named in the
title of a comp.risks article by Gene Spafford during the Worm
crisis, and again in the text of "The Internet Worm Program: An
Analysis", Purdue Technical Report CSD-TR-823. See @{Great Worm,
the@}.
*** Changed in 3.3.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
hex wrench 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 3.2.0. ***
:cookie bear: /n. obs./ Original term, pre-Sesame-Street, for what
is now universally called a @{cookie monster@}. A correspondent
observes "In those days, hackers were actually getting their yucks
from...sit down now...Andy Williams. Yes, *that* Andy Williams.
Seems he had a rather hip (by the standards of the day) TV variety
show. One of the best parts of the show was the recurring `cookie
bear' sketch. In these sketches, a guy in a bear suit tried all
sorts of tricks to get a cookie out of Williams. The sketches would
always end with Williams shrieking (and I don't mean figuratively),
`No cookies! Not now, not ever...NEVER!!!' And the bear would fall
down. Great stuff."
*** Changed in 3.2.0. ***
:cookie monster: /n./ [from the children's TV program "Sesame
Street"] Any of a family of early (1970s) hacks reported on
@{@{TOPS-10@}@}, @{@{ITS@}@}, @{@{Multics@}@}, and elsewhere that
would lock up either the victim's terminal (on a time-sharing
machine) or the @{@{console@}@} (on a batch @{mainframe@}),
repeatedly demanding "I WANT A COOKIE"� The required responses
ranged in complexity from "COOKIE" through "HAVE A COOKIE" and
upward. Folklorist Jan Brunvand (see @{FOAF@}) has described these
programs as urban legends (implying they probably never existed) but
they existed, all right, in several different versions. See also
@{wabbit@}. Interestingly, the term `cookie monster' appears to be
a @{retcon@}; the original term was @{cookie bear@}.
*** Changed in 3.2.0. ***
:cray instability: /n./ 1. A shortcoming of a program or algorithm
that manifests itself only when a large problem is being run on a
powerful machine (see @{cray@}). Generally more subtle than bugs
that can be detected in smaller problems running on a workstation or
mini. 2. More specifically, a shortcoming of algorithms which are
well behaved when run on gentle floating point hardware (such as
IEEE-standard or DEC) but which break down badly when exposed to a
Cray's unique `rounding' rules.
*** Changed in 3.1.0. ***
:cruft: /kruhft/ [back-formation from @{crufty@}] 1. /n./ An
unpleasant substance. The dust that gathers under your bed is
cruft; the TMRC Dictionary correctly noted that attacking it with a
broom only produces more. 2. /n./ The results of shoddy
construction. 3. /vt./ [from `hand cruft', pun on `hand craft'] To
write assembler code for something normally (and better) done by a
compiler (see @{hand-hacking@}). 4. /n./ Excess; superfluous junk;
used esp. of redundant or superseded code. 5. [University of
Wisconsin] /n./ Cruft is to hackers as gaggle is to geese; that is,
at UW one properly says "a cruft of hackers".
*** Changed in 3.3.0, 3.3.2. ***
:cyberspace: /si:'br-spays`/ /n./ 1. Notional `information-space'
loaded with visual cues and navigable with brain-computer interfaces
called `cyberspace decks'; a characteristic prop of @{cyberpunk@}
SF� Serious efforts to construct @{virtual reality@} interfaces
modeled explicitly on Gibsonian cyberspace are under way, using more
conventional devices such as glove sensors and binocular TV
headsets. Few hackers are prepared to deny outright the possibility
of a cyberspace someday evolving out of the network (see @{network,
the@}). 2. The Internet or @{Matrix@} (sense #2) as a whole,
considered as a crude cyberspace (sense 1). Although this usage
became widely popular in the mainstream press during 1994 when the
Internet exploded into public awareness, it is strongly deprecated
among hackers because the Internet does not meet the high,
SF-inspired standards they have for true cyberspace technology.
Thus, this use of the term usually tags a @{wannabee@} or outsider.
3. Occasionally, the metaphoric location of the mind of a person in
@{hack mode@}. Some hackers report experiencing strong eidetic
imagery when in hack mode; interestingly, independent reports from
multiple sources suggest that there are common features to the
experience. In particular, the dominant colors of this subjective
`cyberspace' are often gray and silver, and the imagery often
involves constellations of marching dots, elaborate shifting
patterns of lines and angles, or moire patterns.
*** Changed in 3.2.0. ***
:cycle of reincarnation: /n./ [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@}.
*** Changed in 3.3.2. ***
:cycle server: /n./ A powerful machine that exists primarily for
running large compute-, disk-, or memory-intensive jobs. Implies
that interactive tasks such as editing are done on other machines on
the network, such as workstations.
*** New in 3.1.0. ***
:cypherpunk: /n./ [from @{cyberpunk@}] Someone interested in the
uses of encryption via electronic ciphers for enhancing personal
privacy and guarding against tyranny by centralized, authoritarian
power structures, especially government. There is an active
cypherpunks mailing list at [email protected]
coordinating work on public-key encryption freeware, privacy, and
digital cash. See also @{tentacle@}.
*** New in 3.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) -- the standard reference book
on the internals of @{BSD@} Unix. So called because the cover has 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 3.2.0. ***
:dahmum: /dah'mum/ /n./ [Usenet] The material of which protracted
@{flame war@}s, especially those about operating systems, is
composed. Homeomorphic to @{spam@}. The term `dahmum' is derived
from the name of a militant @{OS/2@} advocate, and originated when
an extensively crossposted OS/2-versus-@{Linux@} debate was fed
through @{Dissociated Press@}.
*** Changed in 3.1.0. ***
:dead: /adj./ 1. Non-functional; @{down@}; @{crash@}ed. Especially
used of hardware. 2. At XEROX PARC, software that is working but
not undergoing continued development and support. 3. Useless;
inaccessible. Antonym: `live'. Compare @{dead code@}.
*** Changed in 3.1.0. ***
:dead code: /n./ Routines that can never be accessed because all
calls to them have been removed, or code that cannot be reached
because it is guarded by a control structure that provably must
always transfer control somewhere else. The presence of dead code
may reveal either logical errors due to alterations in the program
or significant changes in the assumptions and environment of the
program (see also @{software rot@}); a good compiler should report
dead code so a maintainer can think about what it means. (Sometimes
it simply means that an *extremely* defensive programmer has
inserted @{can't happen@} tests which really can't happen -- yet.)
Syn. @{grunge@}. See also @{dead@}, and @{The Story of Mel, a Real
Programmer@}.
*** New in 3.3.0. ***
:dead link: /n./ [WWW] A World-Wide-Web URL that no longer points
to the information it was written to reach. Usually this happens
because the document has been moved or deleted. Lots of dead links
make a WWW page frustrating and useless and are the #1 sign of poor
page maintainance. Compare @{dangling pointer@}.
*** Changed in 3.3.0. ***
:defenestration: /n./ [from the traditional Czechoslovakian method
of assassinating prime ministers, 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. [proposed] The
requirement to support a command-line interface. "It has to run on
a VT100." "Curses! I've been defenestrated!"
*** Changed in 3.3.0. ***
:delint: /dee-lint/ /v. obs./ To modify code to remove problems
detected when @{lint@}ing. Confusingly, this process is also
referred to as `linting' code. This term is no longer in general
use because ANSI C compilers typically issue compile-time warnings
almost as detailed as lint warnings.
*** Changed in 3.3.2. ***
: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@}), Linus Torvalds (inventor of Linux), and
most recently James Gosling (inventor of Java). 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@}.
*** New in 3.2.0. ***
:demon dialer: /n./ A program which repeatedly calls the same
telephone number. Demon dialing may be benign (as when a number of
communications programs contend for legitimate access to a @{BBS@}
line) or malign (that is, used as a prank or denial-of-service
attack). This term dates from the @{blue box@} days of the 1970s
and early 1980s and is now semi-obsolescent among @{phreaker@}s; see
@{war dialer@} for its contemporary progeny.
*** New in 3.2.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.
*** Changed in 3.2.0. ***
: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.
*** Changed in 3.3.0, 3.3.2. ***
:domainist: /doh-mayn'ist/ /adj./ 1. [USENET, by pointed analogy
with "sexist", "racist", etc.] Someone who judges people by the
domain of their email addresses; esp. someone who dismisses anyone
who posts from a public internet provider. "What do you expect from
an article posted from aol.com?" 2. Said of an @{@{Internet
address@}@} (as opposed to a @{bang path@}) because the part to the
right of the `@' specifies a nested series of `domains'; for
example, [email protected] specifies the machine called snark in
the subdomain called thyrsus within the top-level domain called com.
See also @{big-endian@}, sense 2.
The meaning of this term has drifted. At one time sense 2 was
primary. In elder days it was also used of a site, mailer, or
routing program which knew how to handle domainist addresses; or of
a person (esp. a site admin) who preferred domain addressing,
supported a domainist mailer, or proselytized for domainist
addressing and disdained @{bang path@}s. These senses are now
(1996) obsolete, as effectively all sites have converted.
*** Changed in 3.3.2, 3.3.3. ***
:down: 1. /adj./ Not operating. "The up escalator is down" is
considered a humorous thing to say (unless of course you were
expecting to use it), and "The elevator is down" always means "The
elevator isn't working" and never refers to what floor the elevator
is on. With respect to computers, this term has passed into the
mainstream; the extension to other kinds of machine is still
confined to techies (e.g. boiler mechanics may speak of a boiler
being down). 2. `go down' /vi./ To stop functioning; usually said
of the @{system@}. The message from the @{console@} that every
hacker hates to hear from the operator is "System going down in 5
minutes". 3. `take down', `bring down' /vt./ To deactivate
purposely, usually for repair work or @{PM@}. "I'm taking the
system down to work on that bug in the tape drive." Occasionally one
hears the word `down' by itself used as a verb in this /vt./ sense.
See @{crash@}; oppose @{up@}.
*** Changed in 3.3.2. ***
:dread high-bit disease: /n./ A condition endemic to some
now-obsolete computers and peripherals (including ASR-33 teletypes
and PRIME minicomputers) that results in all characters having their
high (0x80) bit forced on. This of course makes transporting files
to other systems much more difficult, not to mention the problems
these machines have talking with true 8-bit devices.
This term was originally used specifically of PRIME (a.k.a. PR1ME)
minicomputers. Folklore has it that PRIME adopted the reversed-8-bit
convention in order to save 25 cents per serial line per machine;
PRIME old-timers, on the other hand, claim they inherited the
disease from Honeywell via customer NASA's compatibility
requirements and struggled heroically to cure it. Whoever was
responsible, this probably qualifies as one of the most
@{cretinous@} design tradeoffs ever made. See @{meta bit@}.
*** Changed in 3.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@}.
*** New in 3.2.0. ***
:elite: /adj./ Clueful. Plugged-in. One of the cognoscenti. Also
used as a general positive adjective. This term is not actually
hacker slang in the strict sense; it is used primarily by crackers
and @{warez d00dz@}. Cracker usage is probably related to a
19200cps modem called the `Courier Elite' that was widely popular on
pirate boards before the V.32bis standard. A true hacker would be
more likely to use `wizardly'. Oppose @{lamer@}.
*** Changed in 3.2.0, 3.3.0, 3.3.3. ***
:email: /ee'mayl/ (also written `e-mail' and `E-mail') 1. /n./
Electronic mail automatically passed through computer networks
and/or via modems over common-carrier lines. Contrast
@{snail-mail@}, @{paper-net@}, @{voice-net@}. See @{network
address@}. 2. /vt./ To send electronic mail.
Oddly enough, the word `emailed' is actually listed in the OED;
it means "embossed (with a raised pattern) or perh. arranged in a
net or open work". A use from 1480 is given. The word is probably
derived from French `'emaill'e' (enameled) and related to Old French
`emmaille"ure' (network). A French correspondent tells us that in
modern French, `email' is a hard enamel obtained by heating special
paints in a furnace; an `emailleur' (no final e) is a craftsman who
makes email (he generally paints some objects (like, say, jewelry)
and cooks them in a furnace).
There are numerous spelling variants of this word. In Internet
traffic up to 1995, `email' predominates, `e-mail' runs a
not-too-distant second, and `E-mail' and `Email' are a distant third
and fourth.
*** New in 3.3.0. ***
: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."
*** Changed in 3.1.0. ***
:farkled: /far'kld/ /adj./ [DeVry Institute of Technology, Atlanta]
Syn. @{hosed@}. Poss. owes something to Yiddish `farblondjet'
and/or the `Farkle Family' skits on "Rowan and Martin's Laugh-In", a
popular comedy show of the late 1960s.
*** Changed in 3.3.0. ***
:feature: /n./ 1. A good property or behavior (as of a program).
Whether it was intended or not is immaterial. 2. An intended
property or behavior (as of a program). Whether it is good or not
is immaterial (but if bad, it is also a @{misfeature@}). 3. A
surprising property or behavior; in particular, one that is
purposely inconsistent because it works better that way -- such an
inconsistency is therefore a @{feature@} and not a @{bug@}. This
kind of feature is sometimes called a @{miswart@}; see that entry
for a classic example. 4. A property or behavior that is gratuitous
or unnecessary, though perhaps also impressive or cute. For
example, one feature of Common LISP's `format' function is the
ability to print numbers in two different Roman-numeral formats (see
@{bells, whistles, and gongs@}). 5. A property or behavior that was
put in to help someone else but that happens to be in your way. 6.
A bug that has been documented. To call something a feature
sometimes means the author of the program did not consider the
particular case, and that the program responded in a way that was
unexpected but not strictly incorrect. A standard joke is that a
bug can be turned into a @{feature@} simply by documenting it (then
theoretically no one can complain about it because it's in the
manual), or even by simply declaring it to be good. "That's not a
bug, that's a feature!" is a common catchphrase. See also @{feetch
feetch@}, @{creeping featurism@}, @{wart@}, @{green lightning@}.
The relationship among bugs, features, misfeatures, warts, and
miswarts might be clarified by the following hypothetical exchange
between two hackers on an airliner:
A: "This seat doesn't recline."
B: "That's not a bug, that's a feature. There is an emergency
exit door built around the window behind you, and the route has to
be kept clear."
A: "Oh. Then it's a misfeature; they should have increased the
spacing between rows here."
B: "Yes. But if they'd increased spacing in only one section it
would have been a wart -- they would've had to make
nonstandard-length ceiling panels to fit over the displaced seats."
A: "A miswart, actually. If they increased spacing throughout
they'd lose several rows and a chunk out of the profit margin. So
unequal spacing would actually be the Right Thing."
B: "Indeed."
`Undocumented feature' is a common, allegedly humorous euphemism
for a @{bug@}. There's a related joke that is sometimes referred to
as the "one-question geek test". You say to someone "I saw a
Volkswagen Beetle today with a vanity license plate that read
FEATURE". If he/she laughs, he/she is a geek (see @{computer
geek@}, sense #2).
*** Changed in 3.3.1. ***
:feature key: /n./ 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@}, or the `command key'. The Mac's
equivalent of an @{alt@} key. The proliferation of terms for this
creature may illustrate one subtle peril of iconic interfaces.
Many people have been mystified by the cloverleaf-like symbol that
appears on the feature key. Its oldest name is `cross of St.
Hannes', but it occurs in pre-Christian Viking art as a decorative
motif. Throughout Scandinavia today the road agencies use it to
mark sites of historical interest. Apple picked up the symbol from
an early Mac developer who happened to be Swedish. Apple
documentation gives the translation "interesting feature"!
There is some dispute as to the proper (Swedish) name of this
symbol. It technically stands for the word `sev"ardhet'
(interesting feature); many of these are old churches. Some Swedes
report as an idiom for it the word `kyrka', cognate to English
`church' and Scots-dialect `kirk' but pronounced /shir'k*/ in modern
Swedish. Others say this is nonsense. Another idiom reported for
the sign is `runsten' /roon'stn/, derived from the fact that many of
the interesting features are Viking rune-stones.
*** New in 3.2.0. ***
:finger trouble: /n./ Mistyping, typos, or generalized keyboard
incompetence (this is surprisingly common among hackers, given the
amount of time they spend at keyboards). "I keep putting colons at
the end of statements instead of semicolons", "Finger trouble again,
eh?".
*** Changed in 3.2.0. ***
:finn: /v./ [IRC] To pull rank on somebody based on the amount of
time one has spent on @{IRC@}. The term derives from the fact that
IRC was originally written in Finland in 1987. There may be some
influence from the `Finn' character in William Gibson's seminal
cyberpunk novel "Count Zero", who at one point says to another (much
younger) character "I have a pair of shoes older than you are, so
shut up!"
*** Changed in 4.0.0. ***
:firewall machine: /n./ A dedicated gateway machine with special
security precautions on it, used to service outside network
connections and dial-in lines. The idea is to protect a cluster of
more loosely administered machines hidden behind it from
@{cracker@}s. The typical firewall is an inexpensive micro-based
Unix box kept clean of critical data, with a bunch of modems and
public network ports on it but just one carefully watched connection
back to the rest of the cluster. The special precautions may
include threat monitoring, callback, and even a complete @{iron
box@} keyable to particular incoming IDs or activity patterns. Syn.
@{flytrap@}, @{Venus flytrap@}.
[When first coined in the mid-1980s this term was pure jargon. Now
(1996) it is borderline techspeak, and may have to be dropped from
this lexicon before very long --ESR]
*** Changed in 3.2.0. ***
:flame: 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.
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.
*** Changed in 3.3.0. ***
:foo: /foo/ 1. /interj./ Term of disgust. 2. 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@}.
The etymology of hackish `foo' is obscure. When used in
connection with `bar' it is generally traced to the WWII-era Army
slang acronym FUBAR (`Fucked Up Beyond All Repair'), later
bowdlerized to @{foobar@}. (See also @{FUBAR@}.)
However, the use of the word `foo' itself has more complicated
antecedents, including a long history in comic strips and cartoons.
The old "Smokey Stover" comic strips by Bill Holman often included
the word `FOO', in particular on license plates of cars; allegedly,
`FOO' and `BAR' also occurred in Walt Kelly's "Pogo" strips. In the
1938 cartoon "The Daffy Doc", a very early version of Daffy Duck
holds up a sign saying "SILENCE IS FOO�"; oddly, this seems to refer
to some approving or positive affirmative use of foo. It has been
suggested that this might be related to the Chinese word `fu'
(sometimes transliterated `foo'), which can mean "happiness" when
spoken with the proper tone (the lion-dog guardians flanking the
steps of many Chinese restaurants are properly called "fu dogs").
Paul Dickson's excellent book "Words" (Dell, 1982, ISBN
0-440-52260-7) traces "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."
Other sources confirm that `FOO' was 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. In this
connection, the later American military slang `foo fighters' is
interesting; at least as far back as the 1950s, radar operators used
it 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).
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.
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@}. Almost
the entire staff of what later became the MIT AI Lab was involved
with TMRC, and probably picked the word up there.
Very probably, hackish `foo' had no single origin and derives
through all these channels from Yiddish `feh' and/or English
`fooey'.
*** Changed in 3.2.0. ***
:fool: /n./ As used by hackers, specifically describes a person who
habitually reasons from obviously or demonstrably incorrect premises
and cannot be persuaded by evidence to do otherwise; it is not
generally used in its other senses, i.e., to describe a person with
a native incapacity to reason correctly, or a clown. Indeed, in
hackish experience many fools are capable of reasoning all too
effectively in executing their errors. See also @{cretin@},
@{loser@}, @{fool file, the@}.
The Algol 68-R compiler used to initialize its storage to the
character string "F00LF00LF00LF00L..." because as a pointer or as a
floating point number it caused a crash, and as an integer or a
character string it was very recognizable in a dump. Sadly, one day
a very senior professor at Nottingham University wrote a program
that called him a fool. He proceeded to demonstrate the correctness
of this assertion by lobbying the university (not quite
successfully) to forbid the use of Algol on its computers. See also
@{DEADBEEF@}�
*** Changed in 3.3.0. ***
:footprint: /n./ 1. The floor or desk area taken up by a piece of
hardware. 2. [IBM] The audit trail (if any) left by a crashed
program (often in plural, `footprints'). See also @{toeprint@}. 3.
"RAM footprint": The minimum amount of RAM which an OS or other
program takes; this figure gives one one an idea of how much will be
left for other applications. How actively this RAM is used is
another matter entirely. Recent tendencies to featuritis and
software bloat can expand the RAM footprint of an OS to the point of
making it nearly unusable in practice. [This problem is,
thankfully, limited to operating systems so stupid that they don't
do virtual memory - ESR]
*** Changed in 3.3.0. ***
:for values of: [MIT] A common rhetorical maneuver at MIT is to use
any of the canonical @{random numbers@} as placeholders for
variables. "The max function takes 42 arguments, for arbitrary
values of 42." "There are 69 ways to leave your lover, for 69 = 50."
This is especially likely when the speaker has uttered a random
number and realizes that it was not recognized as such, but even
`non-random' numbers are occasionally used in this fashion. A
related joke is that pi equals 3 -- for small values of pi and large
values of 3.
Historical note: at MIT this usage has traditionally been traced to
the programming language MAD (Michigan Algorithm Decoder), an
Algol-58-like language that was the most common choice among
mainstream (non-hacker) users at MIT in the mid-60s. It inherited
from Algol-58 a control structure FOR VALUES OF X = 3, 7, 99 DO ...
that would repeat the indicated instructions for each value in the
list (unlike the usual FOR that only works for arithmetic sequences
of values). MAD is long extinct, but similar for-constructs still
flourish (e.g., in Unix's shell languages).
*** Changed in 3.1.0. ***
:frog: alt. `phrog' 1. /interj./ Term of disgust (we seem to have a
lot of them). 2. Used as a name for just about anything. See
@{foo@}. 3. /n./ Of things, a crock. 4. /n./ Of people, somewhere
in between a turkey and a toad. 5. `froggy': /adj./ Similar to
@{bagbiting@}, but milder. "This froggy program is taking forever
to run!"
*** New in 3.2.0. ***
:g-file: /n./ [Commodore BBS culture] Any file that is written with
the intention of being read by a human rather than a machine, such
as the Jargon File, documentation, humor files, hacker lore, and
technical materials.
This term survives from the nearly forgotten Commodore 64
underground and BBS community. In the early 80s, C-Net had emerged
as the most popular C64 BBS software for systems which encouraged
messaging (as opposed to file transfer). There were three main
options for files: Program files (p-files), which served the same
function as `doors' in today's systems, UD files (the user
upload/download section), and g-files. Anything that was meant to
be read was included in g-files.
*** New in 3.2.0. ***
:gawble: /gaw'bl/ /n./ See @{chawmp@}.
*** New in 3.1.0. Changed in 3.2.0, 3.3.2, 3.3.3. ***
:geek code: /n./ (also "Code of the Geeks"). A set of codes
commonly used in @{sig block@}s to broadcast the interests, skills,
and aspirations of the poster. Features a G at the left margin
followed by numerous letter codes, often suffixed with plusses or
minuses. Because many net users are involved in computer science,
the most common prefix is `GCS'. To see a copy of the current code,
browse http://krypton.mankato.msus.edu/~hayden/geek.html. Here is a
sample geek code (that or Robert Hayden, the code's inventor) from
that page:
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GED/J d-- s:++>: a- C++(++++)$ ULUO++ P+>+++ L++ !E---- W+(---) N+++
o+ K+++ w+(---) O- M+$>++ V-- PS++(+++)>$ PE++(+)>$ Y++ PGP++ t- 5+++
X++ R+++>$ tv+ b+ DI+++ D+++ G+++++>$ e++$>++++ h r-- y+**
------END GEEK CODE BLOCK------
The geek code originated in 1993; it was inspired (according to the
inventor) by previous "bear", "smurf" and "twink"
style-and-sexual-preference codes from lesbian and gay
@{newsgroup@}s. It has in turn spawned imitators; there is now even
a "Saturn geek code" for owners of the Saturn car. See also
@{computer geek@}.
*** Changed in 3.3.2. ***
:golf-ball printer: /n. obs./ The IBM 2741, a slow but
letter-quality printing device and terminal based on the IBM
Selectric typewriter. The `golf ball' was a little spherical frob
bearing reversed embossed images of 88 different characters arranged
on four parallels of latitude; one could change the font by swapping
in a different golf ball. The print element spun and jerked
alarmingly in action and when in motion was sometimes described as
an `infuriated golf ball'. This was the technology that enabled APL
to use a non-EBCDIC, non-ASCII, and in fact completely non-standard
character set. This put it 10 years ahead of its time -- where it
stayed, firmly rooted, for the next 20, until character displays
gave way to programmable bit-mapped devices with the flexibility to
support other character sets.
*** New in 3.2.0. ***
:gopher: /n./ A type of Internet service first floated around 1991
and now (1994) being obsolesced by the World Wide Web. Gopher
presents a menuing interface to a tree or graph of links; the links
can be to documents, runnable programs, or other gopher menus
arbitrarily far across the net.
Some claim that the gopher software, which was originally developed
at the University of Minnesota, was named after the Minnesota
Gophers (a sports team). Others claim the word derives from
American slang `gofer' (from "go for", dialectical "go fer"), one
whose job is to run and fetch things. Finally, observe that gophers
(aka woodchucks) dig long tunnels, and the idea of tunneling through
the net to find information was a defining metaphor for the
developers. Probably all three things were true, but with the first
two coming first and the gopher-tunnel metaphor serendipitously
adding flavor and impetus to the project as it developed out of its
concept stage.
*** New in 3.2.0. ***
:gopher hole: /n./ 1. Any access to a @{gopher@}. 2. [Amateur
Packet Radio] The terrestrial analog of a @{wormhole@} (sense 2),
from which this term was coined. A gopher hole links two amateur
packet relays through some non-ham radio medium.
*** Changed in 3.3.2. ***
:grilf: // /n./ Girlfriend. Like @{newsfroup@} and @{filk@}, a
typo reincarnated as a new word. Seems to have originated sometime
in 1992 on @{Usenet@}. [A friend tells me there was a Lloyd Biggle
SF novel "Watchers Of The Dark", in which alien species after
species goes insane and begins to chant "Grilf! Grilf!". A human
detective eventually determines that the word means "Liar!" I hope
this has nothing to do with the popularity of the Usenet term.
--ESR]
*** Changed in 3.3.2, 3.3.2. ***
:gubbish: /guhb'*sh/ /n./ [a portmanteau of `garbage' and
`rubbish'; may have originated with SF author Philip K. Dick]
Garbage; crap; nonsense. "What is all this gubbish?" The opposite
portmanteau `rubbage' is also reported; in fact, it was British
slang during the 19th century and appears in Dickens.
*** Changed in 3.1.0. ***
:gumby: /guhm'bee/ /n./ [from a class of Monty Python characters,
poss� with some influence from the 1960s claymation character] An
act of minor but conspicuous stupidity, often in `gumby maneuver' or
`pull a gumby'. 2. [NRL] /n./ A bureaucrat, or other technical
incompetent who impedes the progress of real work. 3. /adj./
Relating to things typically associated with people in sense 2.
(e.g. "Ran would be writing code, but Richard gave him gumby work
that's due on Friday", or, "Dammit! Travel screwed up my plane
tickets. I have to go out on gumby patrol.")
*** Changed in 3.2.0, 3.3.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. There used to be 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 in AmigaOS 2.04 (actually in 2.00, a buggy
post-2.0 release on the A3000 only).
*** Changed in 3.3.2. ***
:gweep: /gweep/ [WPI] 1. /v./ To @{hack@}, usually at night. At
WPI, from 1975 onwards, one who gweeped could often be found at the
College Computing Center punching cards or crashing the @{PDP-10@}
or, later, the DEC-20. A correspondent who was there at the time
opines that the term was originally onomatopoetic, describing the
keyclick sound of the Datapoint terminals long connected to the
PDP-10. The term has survived the demise of those technologies,
however, and was still alive in late 1991. "I'm going to go gweep
for a while. See you in the morning." "I gweep from 8 PM till 3 AM
during the week." 2. /n./ One who habitually gweeps in sense 1; a
@{hacker@}. "He's a hard-core gweep, mumbles code in his sleep."
*** Changed in 3.2.0. ***
:hacked off: /adj./ [analogous to `pissed off'] Said of system
administrators who have become annoyed, upset, or touchy owing to
suspicions that their sites have been or are going to be victimized
by crackers, or used for inappropriate, technically illegal, or even
overtly criminal activities. For example, having unreadable files
in your home directory called `worm', `lockpick', or `goroot' would
probably be an effective (as well as impressively obvious and
stupid) way to get your sysadmin hacked off at you.
It has been pointed out that there is precedent for this usage in
U.S. Navy slang, in which officers under discipline are sometimes
said to be "in hack" and one may speak of "hacking off the C.O.".
*** New in 3.2.0. ***
:hairball: /n./ [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.
*** Changed in 3.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."
*** Changed in 3.3.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 is someone who, owning a 286 PC and Windows 3.0, goes
out and buys 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 the bugs in each release (n) and
selling it to them as release (n+1).
*** New in 3.3.0. ***
:hired gun: /n./ A contract programmer, as opposed to a full-time
staff member. All the connotations of this term suggested by
innumerable spaghetti Westerns are intentional.
*** New in 3.3.1. ***
:hoarding: /n./ See @{software hoarding@}.
*** New in 3.3.3. ***
:hollised: /hol'ist/ /adj./ [Usenet: sci.space] To be hollised is
to have been ordered by one's employer not to post any even remotely
job-related material to USENET (or, by extension, to other Internet
media). The original and most notorious case of this involved one
Ken Hollis, a Lockheed employee and space-program enthusiast who
posted publicly available material on access to Space Shuttle
launches to sci.space. He was gagged under threat of being fired in
1994 at the behest of NASA public-relations officers. The result
was, of course, a huge publicity black eye for NASA. Nevertheless
several other NASA contractor employees were subsequently hollised
for similar activities. Use of this term carries the strong
connotation that the persons doing the gagging are bureaucratic
idiots blinded to their own best interests by territorial reflexes.
*** New in 3.3.2. ***
:home page: /n./ 1. One's personal billboard on the World Wide Web.
The term `home page' is perhaps a bit misleading because home
directories and physical homes in @{RL@} are private, but home pages
are designed to be very public. 2. By extension, a WWW repository
for information and links related to a project or organization.
Compare @{home box@}.
*** New in 3.2.0. ***
:hot chat: /n./ Sexually explicit one-on-one chat. See
@{teledildonics@}.
*** Changed in 3.3.0, 3.3.1. ***
: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.
*** New in 3.3.1. Changed in 3.3.3. ***
:hotlink: /hot'link/ /n./ A @{hot spot@} on a World Wide Web page;
an area, which, when clicked or selected, chases a URL. Also
spelled `hot link'. Use of this term focuses on the link's role as
an immediate part of your display, as opposed to the timeless sense
of logical connection suggested by @{web pointer@}. Your screen
shows hotlinks but your document has web pointers, not (in normal
usage) the other way around.
*** Changed in 3.3.0, 3.3.3. ***
: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 1996, 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. ICE has a home page at
http://www.tis.com/crypto/ice.html.
*** New in 3.3.2. ***
:inflate: /vt./ To decompress or @{puff@} a file. Rare among
Internet hackers, used primarily by MS-DOS/Windows types.
*** Changed in 3.3.2. ***
:initgame: /in-it'gaym/ /n./ [IRC] An @{IRC@} version of the
venerable trivia game "20 questions", 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]
*** Changed in 3.2.0, 3.2.0. ***
:joe code: /joh' kohd`/ /n./ 1. Code that is overly @{tense@} and
unmaintainable. "@{Perl@} may be a handy program, but if you look
at the source, it's complete joe code." 2. Badly written, possibly
buggy code.
Correspondents wishing to remain anonymous have fingered a
particular Joe at the Lawrence Berkeley Laboratory and observed that
usage has drifted slightly; the original sobriquet `Joe code' was
intended in sense 1.
1994 update: This term has now generalized to ` code', used
to designate code with distinct characteristics traceable to its
author. "This section doesn't check for a NULL return from malloc()!
Oh. No wonder! It's Ed code!". Used most often with a programmer
who has left the shop and thus is a convenient scapegoat for
anything that is wrong with the project.
*** Changed in 3.3.2. ***
:jolix: /joh'liks/ /n.,adj./ 386BSD, the freeware port of the BSD
Net/2 release to the Intel i386 architecture by Bill 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@}.
*** New in 3.2.0. ***
:k-: /pref./ Extremely. Not commonly used 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 3.3.2. ***
:kibozo: /ki:-boh'zoh/ /n./ [Usenet] One who @{kiboze@}s but is not
Kibo (see @{KIBO@}, sense 2).
*** New in 4.0.0. ***
:killer app: The application that actually makes a mass market for
a promising but under-utilized technology. First used in the
mid-1980s to describe Lotus 1-2-3 once it became evident that demand
for that product had been the major driver of the early business
market for IBM PCs. The term was then restrospectively applied to
VisiCalc, which had played a similar role in the success of the
Apple II. After 1994 it became commonplace to describe the World
Wide Web as the Internet's killer app. One of the standard
questions asked about each new personal-computer technology as it
emerges has become "what's the killer app?"
*** Changed in 3.3.0. ***
:killer micro: /n./ [popularized by Eugene Brooks] A
microprocessor-based machine that infringes on mini, mainframe, or
supercomputer performance turf. Often heard in "No one will survive
the attack of the killer micros!", the battle cry of the downsizers.
Used esp. of RISC architectures.
The popularity of the phrase `attack of the killer micros' is
doubtless reinforced by the title of the movie "Attack Of The Killer
Tomatoes" (one of the @{canonical@} examples of
so-bad-it's-wonderful among hackers). This has even more @{flavor@}
now that killer micros have gone on the offensive not just
individually (in workstations) but in hordes (within massively
parallel computers).
[1996 update: Eugene Brooks was right. Since this term first
entered the Jargon File in 1990, the minicomputer has effectively
vanished, the @{mainframe@} sector is in deep and apparently
terminal decline (with IBM but a shadow of its former self), and
even the supercomputer business has contracted into a smaller niche.
It's networked killer micros as far as the eye can see. --ESR]
*** Changed in 3.1.0, 3.2.0. ***
:kludge: 1. /klooj/ /n./ Incorrect (though regrettably common)
spelling of @{kluge@} (US). These two words have been confused in
American usage since the early 1960s, and widely confounded in Great
Britain since the end of World War II. 2. [TMRC] A @{crock@} that
works. (A long-ago "Datamation" article by Jackson Granholme
similarly said: "An ill-assorted collection of poorly matching
parts, forming a distressing whole.") 3. /v./ To use a kludge to
get around a problem. "I've kludged around it for now, but I'll fix
it up properly later."
This word appears to have derived from Scots `kludge' or
`kludgie' for a common toilet, via British military slang. It
apparently became confused with U.S. @{kluge@} during or after World
War II; some Britons from that era use both words in definably
different ways, but @{kluge@} is now uncommon in Great Britain.
`Kludge' in Commonwealth hackish differs in meaning from `kluge' in
that it lacks the positive senses; a kludge is something no
Commonwealth hacker wants to be associated too closely with. Also,
`kludge' is more widely known in British mainstream slang than
`kluge' is in the U.S.
*** Changed in 3.1.0, 3.3.0, 3.3.3. ***
:kluge: /klooj/ [from the German `klug', clever; poss. related to
Polish `klucza', a trick or hook] 1. /n./ A Rube Goldberg (or Heath
Robinson) device, whether in hardware or software. 2. /n./ A clever
programming trick intended to solve a particular nasty case in an
expedient, if not clear, manner. Often used to repair bugs. Often
involves @{ad-hockery@} and verges on being a @{crock@}. 3. /n./
Something that works for the wrong reason. 4. /vt./ To insert a
kluge into a program. "I've kluged this routine to get around that
weird bug, but there's probably a better way." 5. [WPI] /n./ A
feature that is implemented in a @{rude@} manner.
Nowadays this term is often encountered in the variant spelling
`kludge'. Reports from @{old fart@}s are consistent that `kluge'
was the original spelling, reported around computers as far back as
the mid-1950s and, at that time, used exclusively of *hardware*
kluges. In 1947, the "New York Folklore Quarterly" reported a
classic shaggy-dog story `Murgatroyd the Kluge Maker' then current
in the Armed Forces, in which a `kluge' was a complex and puzzling
artifact with a trivial function. Other sources report that `kluge'
was common Navy slang in the WWII era for any piece of electronics
that worked well on shore but consistently failed at sea.
However, there is reason to believe this slang use may be a decade
older. Several respondents have connected it to the brand name of
a device called a "Kluge paper feeder", an adjunct to mechanical
printing presses. Legend has it that the Kluge feeder was designed
before small, cheap electric motors and control electronics; it
relied on a fiendishly complex assortment of cams, belts, and
linkages to both power and synchronize all its operations from one
motive driveshaft. It was accordingly temperamental, subject to
frequent breakdowns, and devilishly difficult to repair -- but oh,
so clever! People who tell this story also aver that `Kluge' was
the name of a design engineer.
There is in fact a Brandtjen & Kluge Inc., an old family business
that manufactures printing equipment - interestingly, their name is
pronounced /kloo'gee/! Henry Brandtjen, president of the firm, told
me (ESR, 1994) that his company was co-founded by his father and an
engineer named Kluge /kloo'gee/, who built and co-designed the
original Kluge automatic feeder in 1919. Mr. Brandtjen claims,
however, that this was a *simple* device (with only four cams); he
says he has no idea how the myth of its complexity took hold.
@{TMRC@} and the MIT hacker culture of the early '60s seems to
have developed in a milieu that remembered and still used some WWII
military slang (see also @{foobar@}). It seems likely that `kluge'
came to MIT via alumni of the many military electronics projects
that had been located in Cambridge (many in MIT's venerable Building
20, in which @{TMRC@} is also located) during the war.
The variant `kludge' was apparently popularized by the
@{Datamation@} article mentioned above; it was titled "How to Design
a Kludge" (February 1962, pp. 30, 31). This spelling was probably
imported from Great Britain, where @{kludge@} has an independent
history (though this fact was largely unknown to hackers on either
side of the Atlantic before a mid-1993 debate in the Usenet group
alt.folklore.computers over the First and Second Edition versions of
this entry; everybody used to think @{kludge@} was just a mutation
of @{kluge@}). It now appears that the British, having forgotten
the etymology of their own `kludge' when `kluge' crossed the
Atlantic, repaid the U.S. by lobbing the `kludge' orthography in the
other direction and confusing their American cousins' spelling!
The result of this history is a tangle. Many younger U.S. hackers
pronounce the word as /klooj/ but spell it, incorrectly for its
meaning and pronunciation, as `kludge'. (Phonetically, consider
huge, refuge, centrifuge, and deluge as opposed to sludge, judge,
budge, and fudge. Whatever its failings in other areas, English
spelling is perfectly consistent about this distinction.) British
hackers mostly learned /kluhj/ orally, use it in a restricted
negative sense and are at least consistent. European hackers have
mostly learned the word from written American sources and tend to
pronounce it /kluhj/ but use the wider American meaning!
Some observers consider this mess appropriate in view of the word's
meaning.
*** New in 3.2.0. ***
:lamer: /n./ [prob. originated in skateboarder slang] Synonym for
@{luser@}, not used much by hackers but common among @{warez
d00dz@}, crackers, and @{phreaker@}s. Oppose @{elite@}. Has the
same connotations of self-conscious elitism that use of @{luser@}
does among hackers.
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).
*** Changed in 3.1.0, 3.3.2. ***
: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 1996 it
looks as though Java may soon displace 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. 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, a Real
Programmer@}" 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@}.
*** New in 3.2.0. ***
:leech: /n./ 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.
*** Changed in 3.1.0. ***
:letterbomb: 1. /n./ A piece of @{email@} containing @{live data@}
intended to do nefarious things to the recipient's machine or
terminal. It is possible, for example, to send letterbombs that
will 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. See also
@{Trojan horse@}; compare @{nastygram@}. 2. Loosely, a
@{mailbomb@}.
*** Changed in 3.1.0. ***
:lexiphage: /lek'si-fayj`/ /n./ A notorious word @{chomper@} on
ITS. See @{bagbiter@}. This program would draw on a selected
victim's bitmapped terminal the words "THE BAG" in ornate letters,
followed a pair of jaws biting pieces of it off.
*** Changed in 3.3.0. ***
:like nailing jelly to a tree: /adj./ Used to describe a task
thought to be impossible, esp. one in which the difficulty arises
from poor specification or inherent slipperiness in the problem
domain. "Trying to display the `prettiest' arrangement of nodes and
arcs that diagrams a given graph is like nailing jelly to a tree,
because nobody's sure what `prettiest' means algorithmically."
Hacker use of this term may recall mainstream slang originated
early in the 20th century by President Theodore Roosevelt. There is
a legend that, weary of inconclusive talks with Colombia over the
right to dig a canal through its then-province Panama, he remarked,
"Negotiating with those pirates is like trying to nail currant jelly
to the wall." Roosevelt's government subsequently encouraged the
anti-Colombian insurgency that created the nation of Panama.
*** New in 3.2.0. ***
:linearithmic: /adj./ Of an algorithm, having running time that is
O(N log N). Coined as a portmanteau of `linear' and `logarithmic'
in "Algorithms In C" by Robert Sedgewick (Addison-Wesley 1990, ISBN
0-201-51425-7).
*** New in 3.3.3. ***
:list-bomb: /v./ To @{mailbomb@} someone by forging messages
causing the victim to become a subscriber to many mailing lists.
This is a self-defeating tactic; it merely forces mailing list
servers to require confirmation by return message for every
subscription.
*** New in 3.2.0. ***
:live: /li:v/ /adj.,adv./ Opposite of `test'. Refers to actual
real-world data or a program working with it. For example, the
response to "I think the record deleter is finished" might be "Is it
live yet?" or "Have you tried it out on live data?" This usage
usually carries the connotation that live data is more fragile and
must not be corrupted, or bad things will happen. So a more
appropriate response might be: "Well, make sure it works perfectly
before we throw live data at it." The implication here is that
record deletion is something pretty significant, and a haywire
record-deleter running amok live would probably cause great harm.
*** Changed in 3.2.0. ***
:loop through: /vt./ To process each element of a list of things.
"Hold on, I've got to loop through my paper mail." Derives from the
computer-language notion of an iterative loop; compare `cdr down'
(under @{cdr@}), which is less common among C and Unix programmers.
ITS hackers used to say `IRP over' after an obscure pseudo-op in the
MIDAS PDP-10 assembler (the same IRP op can nowadays be found in
Microsoft's assembler).
*** Changed in 3.3.2. ***
:lurker: /n./ One of the `silent majority' in a electronic forum;
one who posts occasionally or not at all but is known to read the
group's postings regularly. This term is not pejorative and indeed
is casually used reflexively: "Oh, I'm just lurking." Often used in
`the lurkers', the hypothetical audience for the group's
@{flamage@}-emitting regulars. When a lurker speaks up for the
first time, this is called `delurking'.
*** Changed in 3.3.2, 3.3.3. ***
:magic number: /n./ [Unix/C] 1. In source code, some non-obvious
constant whose value is significant to the operation of a program
and that is inserted inconspicuously in-line (@{hardcoded@}), rather
than expanded in by a symbol set by a commented `#define'. Magic
numbers in this sense are bad style. 2. A number that encodes
critical information used in an algorithm in some opaque way. The
classic examples of these are the numbers used in hash or CRC
functions, or the coefficients in a linear congruential generator
for pseudo-random numbers. This sense actually predates and was
ancestral to the more commonsense 1. 3. Special data located at the
beginning of a binary data file to indicate its type to a utility.
Under Unix, the system and various applications programs (especially
the linker) distinguish between types of executable file by looking
for a magic number. Once upon a time, these magic numbers were
PDP-11 branch instructions that skipped over header data to the
start of executable code; 0407, for example, was octal for `branch
16 bytes relative'. Many other kinds of files now have magic numbers
somewhere; some magic numbers are, in fact, strings, like the
`!' at the beginning of a Unix archive file or the `%!'
leading PostScript files. Nowadays only a @{wizard@} knows the
spells to create magic numbers. How do you choose a fresh magic
number of your own? Simple -- you pick one at random. See? It's
magic!
*The* magic number, on the other hand, is 7+/-2. See "The
magical number seven, plus or minus two: some limits on our capacity
for processing information" by George Miller, in the "Psychological
Review" 63:81-97 (1956). This classic paper established the number
of distinct items (such as numeric digits) that humans can hold in
short-term memory. Among other things, this strongly influenced the
interface design of the phone system.
*** New in 3.2.0. ***
:mail storm: /n./ [from @{broadcast storm@}, influenced by
`maelstrom'] What often happens when a machine with an Internet
connection and active users re-connects after extended downtime -- a
flood of incoming mail that brings the machine to its knees. See
also @{hairball@}.
*** Changed in 3.1.0, 3.2.0, 3.2.0, 3.3.3. ***
: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.
To some extent, the list of one's preferred metasyntactic variables
is a cultural signature. They occur both in series (used for
related groups of variables or objects) and as singletons. Here are
a few common signatures:
@{foo@}, @{bar@}, @{baz@}, @{quux@}, quuux, quuuux...:
MIT/Stanford usage, now found everywhere (thanks largely to
early versions of this lexicon!). At MIT (but not at
Stanford), @{baz@} dropped out of use for a while in the
1970s and '80s. A common recent mutation of this sequence
inserts @{qux@} before @{quux@}.
bazola, ztesch:
Stanford (from mid-'70s on).
@{foo@}, @{bar@}, thud, grunt:
This series was popular at CMU. Other CMU-associated
variables include @{gorp@}.
@{foo@}, @{bar@}, fum:
This series is reported to be common at XEROX PARC.
@{fred@}, @{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/.
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.
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.
*** Changed in 3.2.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 dd/mm/yy).
*** Changed in 3.2.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 is possibly derived
from a TV commercial for Del Monte fruit juice, in which one of the
characters insisted on "the full Del Monte". Compare American
@{moby@}.
*** Changed in 3.2.0. ***
:mudhead: /n./ Commonly used to refer to a @{MUD@} player who eats,
sleeps, and breathes MUD� Mudheads have been known to fail their
degrees, drop out, etc., with the consolation, however, that they
made wizard level. When encountered in person, on a MUD, or in a
chat system, all a mudhead will talk about is three topics: the
tactic, character, or wizard that is supposedly always unfairly
stopping him/her from becoming a wizard or beating a favorite MUD;
why the specific game he/she has experience with is so much better
than any other; and the MUD he or she is writing or going to write
because his/her design ideas are so much better than in any existing
MUD. See also @{wannabee@}.
To the anthropologically literate, this term may recall the
Zuni/Hopi legend of the mudheads or `koyemshi', mythical half-formed
children of an unnatural union. Figures representing them act as
clowns in Zuni sacred ceremonies. Others may recall the `High
School Madness' sequence from the Firesign Theater album "Don't
Crush That Dwarf, Hand Me the Pliers", in which there is a character
named "Mudhead".
*** Changed in 3.2.0. ***
: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. 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 3.2.0. ***
: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@}).
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).
*** Changed in 3.2.0. ***
:nadger: /nad'jr/ /v./ [UK] 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.
Apparently this word originated on a now-legendary 1950s radio
comedy program called "The Goon Show". The Goon Show usage of
"nadger" was definitely in the sense of "jinxed" "clobbered" "fouled
up". The American mutation @{adger@} seems to have preserved more
of the original flavor.
*** New in 3.3.1. Changed in 3.3.2, 3.3.2, 3.3.3. ***
:nerd: /n./ 1. [mainstream slang] Pejorative applied to anyone with
an above-average IQ and few gifts at small talk and ordinary social
rituals. 2. [jargon] Term of praise applied (in conscious ironic
reference to sense 1) to someone who knows what's really important
and interesting and doesn't care to be distracted by trivial chatter
and silly status games. Compare the two senses of @{computer
geek@}.
The word itself appears to derive from the lines "And then, just to
show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a Preep
and a Proo, / A Nerkle, a Nerd, and a Seersucker, too!" in the
Dr. Seuss book "If I Ran the Zoo" (1950). (The spellings `nurd' and
`gnurd' also used to be current at MIT.) How it developed its
mainstream meaning is unclear, but sense 1 seems to have entered
mass culture in the early 1970s (there are reports that in the
mid-1960s it meant roughly "annoying misfit" without the connotation
of intelligence).
An IEEE Spectrum article (4/95, page 16) once derived `nerd' in its
variant form `knurd' from the word `drunk' backwards, but this
bears all the earmarks of a bogus folk etymology.
Hackers developed sense 2 in self-defense perhaps ten years later,
and some actually wear "Nerd Pride" buttons, only half as a joke.
At MIT one can find not only buttons but (what else?) pocket
protectors bearing the slogan and the MIT seal.
*** Changed in 3.3.2. ***
:network address: /n./ (also `net address') As used by hackers,
means an address on `the' network (see @{network, the@}; this used
to include @{bang path@} addresses but now almost always implies an
@{@{Internet address@}@}).
Display of a network address is essential if one wants to be to be
taken seriously by hackers; in particular, persons or organizations
that claim to understand, work with, sell to, or recruit from among
hackers but *don't* display net addresses are quietly presumed to be
clueless poseurs and mentally flushed (see @{flush@}, sense 4).
Hackers often put their net addresses on their business cards and
wear them prominently in contexts where they expect to meet other
hackers face-to-face (see also @{@{science-fiction fandom@}@}).
This is mostly functional, but is also a signal that one identifies
with hackerdom (like lodge pins among Masons or tie-dyed T-shirts
among Grateful Dead fans). 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. See also
@{sitename@}, @{domainist@}.
[1996 update: the lodge-pin function of the network address has
been gradually eroding in the last two years as Internet and World
Wide Web usage have become common outside hackerdom. - ESR]
*** Changed in 4.0.0. ***
:network, the: /n./ 1. 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@}. 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). 2. A fictional conspiracy of libertarian
hacker-subversives and anti-authoritarian monkeywrenchers described
in Robert Anton Wilson's novel "Schr"odinger's Cat", to which many
hackers have subsequently decided they belong (this is an example of
@{ha ha only serious@}).
In sense 1, `network' is often abbreviated to `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.
*** Changed in 3.1.0. ***
:newsgroup: /n./ [Usenet] One of @{Usenet@}'s huge collection of
topic groups or @{fora@}. Usenet groups can be `unmoderated'
(anyone can post) or `moderated' (submissions are automatically
directed to a moderator, who edits or filters and then posts the
results). Some newsgroups have parallel @{mailing list@}s for
Internet people with no netnews access, with postings to the group
automatically propagated to the list and vice versa. Some moderated
groups (especially those which are actually gatewayed Internet
mailing lists) are distributed as `digests', with groups of postings
periodically collected into a single large posting with an index.
Among the best-known are comp.lang.c (the C-language forum),
comp.arch (on computer architectures), comp.unix.wizards (for Unix
wizards), rec.arts.sf.written and siblings (for science-fiction
fans), and talk.politics.misc (miscellaneous political discussions
and @{flamage@}).
*** New in 3.3.2. ***
:node: /n./ 1. [Internet, UUCP] A host machine on the network. 2.
[MS-DOS BBSes] A dial-in line on a BBS. Thus an MS-DOS @{sysop@}
might say that his BBS has 4 nodes even though it has a single
machine and no Internet link, confusing an Internet hacker no end.
*** Changed in 3.2.0. ***
:nybble: /nib'l/ (alt. `nibble') /n./ [from /v./ `nibble' by
analogy with `bite' => `byte'] Four bits; one @{hex@} digit; a
half-byte. Though `byte' is now techspeak, this useful relative is
still jargon. Compare @{@{byte@}@}; see also @{bit@}, Apparently
the `nybble' spelling is uncommon in Commonwealth Hackish, as
British orthography suggests the pronunciation /ni:'bl/.
Following `bit', `byte' and `nybble' there have been quite a few
analogical attempts to construct unambiguous terms for bit blocks of
other sizes. All of these are strictly jargon, not techspeak, and
not very common jargon at that (most hackers would recognize them in
context but not use them spontaneously). We collect them here for
reference together with the ambiguous techspeak terms `word',
`half-word' and `quadwords'; some (indicated) have substantial
information separate entries.
2 bits:
@{crumb@}, @{quad@}, @{quarter@}, tayste
4 bits:
nybble
5 bits:
@{nickle@}
10 bits:
@{deckle@}
16 bits:
playte, @{chawmp@} (on a 32-bit machine), word (on a 16-bit
machine), half-word (on a 32-bit machine).
18 bits:
@{chawmp@} (on a 36-bit machine), half-word (on a 36-bit
machine)
32 bits:
dynner, @{gawble@} (on a 32-bit machine), word (on a 32-bit
machine), longword (on a 16-bit machine).
36:
word (on a 36-bit machine)
48 bits:
@{gawble@} (under circumstances that remain obscure)
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 3.3.2. ***
:ooblick: /oo'blik/ /n./ [from the Dr. Seuss title "Bartholomew and
the Oobleck"; the spelling `oobleck' is still current in the
mainstream] A bizarre semi-liquid sludge made from cornstarch and
water. Enjoyed among hackers who make batches during playtime at
parties for its amusing and extremely non-Newtonian behavior; it
pours and splatters, but resists rapid motion like a solid and will
even crack when hit by a hammer. Often found near lasers.
Here is a field-tested ooblick recipe contributed by GLS:
1 cup cornstarch
1 cup baking soda
3/4 cup water
N drops of food coloring
This recipe isn't quite as non-Newtonian as a pure cornstarch
ooblick, but has an appropriately slimy feel.
Some, however, insist that the notion of an ooblick *recipe* is
far too mechanical, and that it is best to add the water in small
increments so that the various mixed states the cornstarch goes
through as it *becomes* ooblick can be grokked in fullness by many
hands. For optional ingredients of this experience, see the
"@{Ceremonial Chemicals@}" section of Appendix B.
*** Changed in 3.1.0. ***
:parent message: /n./ What a @{followup@} follows up.
*** Changed in 3.3.2. ***
:perf: /perf/ /n./ Syn. @{chad@} (sense 1). The term `perfory'
/per'f*-ree/ is also heard. The term @{perf@} may also refer to the
perforations themselves, rather than the chad they produce when torn
(philatelists use it this way).
*** New in 3.2.0. ***
:phreaker: /freek'r/ /n./ One who engages in @{phreaking@}.
*** New in 3.2.0. ***
:pixel sort: /n./ [Commodore users] Any compression routine which
irretrievably loses valuable data in the process of @{crunch@}ing
it. Disparagingly used for `lossy' methods such as JPEG. The
theory, of course, is that these methods are only used on
photographic images in which minor loss-of-data is not visible to
the human eye. The term `pixel sort' implies distrust of this
theory. Compare @{bogo-sort@}.
*** Changed in 3.2.0. ***
:plonk: /excl.,vt./ [Usenet: possibly influenced by British slang
`plonk' for cheap booze, or `plonker' for someone behaving stupidly
(latter is lit. equivalent to Yiddish `schmuck')] The sound a
@{newbie@} makes as he falls to the bottom of a @{kill file@}.
While it originated in the @{newsgroup@} talk.bizarre, this term
(usually written "*plonk*") is now (1994) widespread on Usenet as a
form of public ridicule.
*** New in 3.2.0. ***
:poser: /n./ 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".
*** Changed in 3.1.0. ***
:prettyprint: /prit'ee-print/ /v./ (alt. `pretty-print') 1. To
generate `pretty' human-readable output from a @{hairy@} internal
representation; esp. used for the process of @{grind@}ing (sense 1)
program code, and most esp. for LISP code. 2. To format in some
particularly slick and nontrivial way.
*** New in 3.1.0. ***
:priesthood: /n. obs./ [TMRC] The select group of system managers
responsible for the operation and maintenance of a batch operated
computer system. On these computers, a user never had direct access
to a computer, but had to submit his/her data and programs to a
priest for execution. Results were returned days or even weeks
later. See @{acolyte@}.
*** Changed in 3.3.2. ***
:profile: /n./ 1. A control file for a program, esp. a text file
automatically read from each user's home directory and intended to
be easily modified by the user in order to customize the program's
behavior. Used to avoid @{hardcoded@} choices (see also @{dot
file@}, @{rc file@}). 2. [techspeak] A report on the amounts of
time spent in each routine of a program, used to find and @{tune@}
away the @{hot spot@}s in it. This sense is often verbed. Some
profiling modes report units other than time (such as call counts)
and/or report at granularities other than per-routine, but the idea
is similar. 3.[techspeak] A subset of a standard used for a
particular purpose. This sense confuses hackers who wander into the
weird world of ISO standards no end!
*** New in 3.1.0. ***
:progasm: /proh'gaz-m/ /n./ [University of Wisconsin] The euphoria
experienced upon the completion of a program or other
computer-related project.
*** Changed in 3.3.0. ***
: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 (although
clothes are not mandatory).
*** Changed in 3.2.0. ***
:pseudoprime: /n./ A backgammon prime (six consecutive occupied
points) with one point missing. This term is an esoteric pun
derived from a mathematical method that, rather than determining
precisely whether a number is prime (has no divisors), uses a
statistical technique to decide whether the number is `probably'
prime. A number that passes this test was, before about 1985,
called a `pseudoprime' (the terminology used by number theorists has
since changed slightly; pre-1985 pseudoprimes are now `probable
primes' and `pseudoprime' has a more restricted meaning in modular
arithmetic). The hacker backgammon usage stemmed from the idea that
a pseudoprime is almost as good as a prime: it does the job of a
prime until proven otherwise, and that probably won't happen.
*** New in 3.3.3. ***
:rat dance: /n./ [From the @{Dilbert@} comic strip of November 14,
1995] A @{hacking run@} that produces results which, while
superficially coherent, have little or nothing to do with its
original objectives. There are strong connotations that the coding
process and the objectives themselves were pretty @{random@}. (In
the original comic strip, the Ratbert is invited to dance on
Dilbert's keyboard in order to produce bugs for him to fix, and
authors a Web browser instead.) Compare @{Infinite-Monkey Theorem@}.
This term seems to have become widely recognized quite rapidly
after the original strip, a fact which testifies to Dilbert's huge
popularity among hackers. All too many find the perverse incentives
and Kafkaesque atmosphere of Dilbert's mythical workplace reflective
of their own experiences.
*** Changed in 3.1.0. ***
:rc file: /R-C fi:l/ /n./ [Unix: from `runcom files' on the
@{CTSS@} system ca.1955, 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).
*** Changed in 3.1.0. ***
:real operating system: /n./ The sort the speaker is used to.
People from the BSDophilic academic community are likely to issue
comments like "System V� Why don't you use a *real* operating
system?", people from the commercial/industrial Unix sector are
known to complain "BSD� Why don't you use a *real* operating
system?", and people from IBM object "Unix� Why don't you use a
*real* operating system?" Only @{MS-DOS@} is universally considered
unreal. See @{holy wars@}, @{religious issues@}, @{proprietary@},
@{Get a real computer!@}
*** Changed in 3.1.0. ***
:room-temperature IQ: /quant./ [IBM] 80 or below (nominal room
temperature is 72 degrees Fahrenheit, 22 degrees Celsius). Used in
describing the expected intelligence range of the @{luser@}. "Well,
but how's this interface going to play with the room-temperature IQ
crowd?" See @{drool-proof paper@}. This is a much more insulting
phrase in countries that use Celsius thermometers.
*** Changed in 3.3.2. ***
:root: /n./ [Unix] 1. The @{superuser@} account (with user name
`root') that ignores permission bits, user number 0 on a Unix
system. The term @{avatar@} is also used. 2. The top node of the
system directory structure; historically the home directory of the
root user, but probably named after the root of an (inverted) tree.
3. By extension, the privileged system-maintenance login on any OS�
See @{root mode@}, @{go root@}, see also @{wheel@}.
*** Changed in 3.3.2. ***
:runes: /pl.n./ 1. Anything that requires @{heavy wizardry@} or
@{black art@} to @{parse@}: core dumps, JCL commands, APL, or code
in a language you haven't a clue how to read. Not quite as bad as
@{line noise@}, but close. Compare @{casting the runes@}, @{Great
Runes@}. 2. Special display characters (for example, the high-half
graphics on an IBM PC)� 3. [borderline techspeak] 16-bit characters
from the Unicode multilingual character set.
*** Changed in 3.2.0. ***
:runic: /adj./ Syn. @{obscure@}. VMS fans sometimes refer to Unix
as `Runix'; Unix fans return the compliment by expanding VMS to
`Very Messy Syntax' or `Vachement Mauvais Syst`eme' (French idiom,
"Hugely Bad System").
*** New in 3.1.0. ***
:salt: /n./ A tiny bit of near-random data inserted where too much
regularity would be undesirable; a data @{frob@} (sense 1). For
example, the Unix crypt(3) man page mentions that "the salt string
is used to perturb the DES algorithm in one of 4096 different ways."
*** Changed in 3.3.2. ***
:salt substrate: /n./ [MIT] Collective noun used to refer to potato
chips, pretzels, saltines, or any other form of snack food designed
primarily as a carrier for sodium chloride. Also `sodium
substrate'. From the technical term `chip substrate', used to refer
to the silicon on the top of which the active parts of integrated
circuits are deposited.
*** New in 3.1.0. Changed in 3.3.0. ***
:samizdat: /sahm-iz-daht/ /n./ [Russian, literally "self
publishing"] The process of disseminating documentation via
underground channels. Originally referred to underground
duplication and distribution of banned books in the Soviet Union;
now refers by obvious extension to any less-than-official
promulgation of textual material, esp. rare, obsolete, or
never-formally-published computer documentation. Samizdat is
obviously much easier when one has access to high-bandwidth networks
and high-quality laser printers. Note that samizdat is properly
used only with respect to documents which contain needed information
(see also @{hacker ethic@}) but which are for some reason otherwise
unavailable, but *not* in the context of documents which are
available through normal channels, for which unauthorized
duplication would be unethical copyright violation. See @{Lions
Book@} for a historical example.
*** New in 3.1.0. ***
:shar file: /shar' fi:l/ /n./ Syn. @{sharchive@}.
*** Changed in 3.3.2, 3.3.3. ***
:shell: [orig. @{@{Multics@}@} /n./ techspeak, widely propagated
via Unix] 1. [techspeak] The command interpreter used to pass
commands to an operating system; so called because it is the part of
the operating system that interfaces with the outside world. 2.
More generally, any interface program that mediates access to a
special resource or @{server@} for convenience, efficiency, or
security reasons; for this meaning, the usage is usually `a shell
around' whatever. This sort of program is also called a `wrapper'.
3. A skeleton program, created by hand or by another program (like,
say, a parser generator), which provides the necessary
@{incantation@}s to set up some task and the control flow to drive
it (the term @{driver@} is sometimes used synonymously). The user
is meant to fill in whatever code is needed to get real work done.
This usage is common in the AI and Microsoft Windows worlds, and
confuses Unix hackers.
Historical note: Apparently, the original Multics shell (sense 1)
was so called because it was a shell (sense 3); it ran user programs
not by starting up separate processes, but by dynamically linking
the programs into its own code, calling them as subroutines, and
then dynamically de-linking them on return. The VMS command
interpreter still does something very like this.
*** Changed in 3.1.0. ***
:short card: /n./ A half-length IBM XT expansion card or adapter
that will fit in one of the two short slots located towards the
right rear of a standard chassis (tucked behind the floppy disk
drives). See also @{tall card@}.
*** Changed in 3.2.0. ***
:smoke and mirrors: /n./ Marketing deceptions. The term is
mainstream in this general sense. Among hackers it's strongly
associated with bogus demos and crocked @{benchmark@}s (see also
@{MIPS@}, @{machoflops@}). "They claim their new box cranks 50 MIPS
for under $5000, but didn't specify the instruction mix -- sounds
like smoke and mirrors to me." The phrase, popularized by newspaper
columnist Jimmy Breslin c.1975, has been said to derive from carnie
slang for magic acts and `freak show' displays that depend on
`trompe l'oeil' effects, but also calls to mind the fierce Aztec god
Tezcatlipoca (lit. "Smoking Mirror") for whom the hearts of huge
numbers of human sacrificial victims were regularly cut out. Upon
hearing about a rigged demo or yet another round of fantasy-based
marketing promises, hackers often feel analogously disheartened.
See also @{stealth manager@}.
*** Changed in 4.0.0. ***
:snail-mail: /n./ Paper mail, as opposed to electronic. Sometimes
written as the single word `SnailMail'. One's postal address is,
correspondingly, a `snail address'. Derives from earlier coinage
`USnail' (from `U.S. Mail'), for which there have even been parody
posters and stamps made. Also (less commonly) called `P-mail', from
`paper mail' or `physical mail'. Oppose @{email@}.
*** New in 3.1.0. ***
:sneaker: /n./ An individual hired to break into places in order to
test their security; analogous to @{tiger team@}. Compare
@{samurai@}.
*** New in 3.3.2. ***
:sodium substrate: /n./ Syn @{salt substrate@}.
*** New in 3.3.1. ***
:software hoarding: /n./ Pejorative term employed by members and
adherents of the @{GNU@} project to describe the act of holding
software proprietary, keeping it under trade secret or license terms
which prohibit free redistribution and modification. Used primarily
in Free Software Foundation propaganda. For a summary of related
issues, see @{GNU@}.
*** New in 3.3.0. ***
:spaceship operator: /n./ The glyph `<=>', so-called apparently
because in the low-resolution constant-width font used on many
terminals it vaguely resembles a flying saucer. @{Perl@} uses this
to denote the signum-of-difference operation.
*** Changed in 3.2.0, 3.3.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). 3. To send many identical or
nearly-identical messages separately to a large number of Usenet
newsgroups. This is one sure way to infuriate nearly everyone on
the Net.
The second and third definitions have become much more prevalent as
the Internet has opened up to non-techies, and to many Usenetters
sense 3 is now (1995) primary. In this sense the term has
apparantly begun to go mainstream, though without its original sense
or folkloric freight - there is apparently a widespread belief among
@{luser@}s that "spamming" is what happens when you dump cans of
Spam into a revolving fan.
*** Changed in 3.1.0. ***
:spoiler: /n./ [Usenet] 1. A remark which reveals important plot
elements from books or movies, thus denying the reader (of the
article) the proper suspense when reading the book or watching the
movie. 2. Any remark which telegraphs the solution of a problem or
puzzle, thus denying the reader the pleasure of working out the
correct answer (see also @{interesting@}). Either sense readily
forms compounds like `total spoiler', `quasi-spoiler' and even
`pseudo-spoiler'.
By convention, articles which are spoilers in either sense should
contain the word `spoiler' in the Subject: line, or guarantee via
various tricks that the answer appears only after several
screens-full of warning, or conceal the sensitive information via
@{rot13@}, or some combination of these techniques.
*** New in 3.2.0. ***
:squirrelcide: /n./ [common on Usenet's comp.risks newsgroup.]
(alt. `squirrelicide') What all too frequently happens when a
squirrel decides to exercise its species's unfortunate penchant for
shorting out power lines with their little furry bodies. Result:
one dead squirrel, one down computer installation. In this
situation, the computer system is said to have been squirrelcided.
*** New in 3.2.0. ***
:star out: /v./ [University of York, England] To replace a user's
encrypted password in /etc/passwd with a single asterisk. Under Unix
this is not a legal encryption of any password; hence the user is
not permitted to log in. In general, accounts like adm, news, and
daemon are permanently "starred out"; occasionally a real user might
have the this inflicted upon him/her as a punishment, e.g. "Graham
was starred out for playing Omega in working hours". Also
occasionally known as The Order Of The Gold Star in this context.
"Don't do that, or you'll be awarded the Order of the Gold Star..."
Compare @{disusered@}.
*** New in 3.3.0. ***
:stealth manager: /n./ [Corporate DP] A manager that appears out of
nowhere, promises undeliverable software to unknown end users, and
vanishes before the programming staff realizes what has happened.
See @{smoke and mirrors@}.
*** New in 3.3.0. ***
:superloser: /n./ [Unix] A superuser with no clue - someone with
root privileges on a Unix system and no idea what he/she is doing,
the moral equivalent of a three-year-old with an unsafetied Uzi.
Anyone who thinks this is an uncommon situation reckons without the
territorial urges of @{management@}.
*** New in 3.2.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.
*** Changed in 3.2.0, 3.3.3. ***
: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.
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@})
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...')
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.
:
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, running, and ducking
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 3.1.0. ***
:tentacle: /n./ A covert @{pseudo@}, sense 1. An artificial
identity created in cyberspace for nefarious and deceptive purposes.
The implication is that a single person may have multiple
tentacles. This term was originally floated in some paranoid
ravings on the cypherpunks list (see @{cypherpunk@}), and adopted in
a spirit of irony by other, saner members. It has since shown up,
used seriously, in the documentation for some remailer software, and
is now (1994) widely recognized on the net.
*** Changed in 3.1.0. ***
:thread: /n./ [Usenet, GEnie, CompuServe] Common abbreviation of
`topic thread', a more or less continuous chain of postings on a
single topic. To `follow a thread' is to read a series of Usenet
postings sharing a common subject or (more correctly) which are
connected by Reference headers. The better newsreaders can present
news in thread order automatically.
Interestingly, this is far from a neologism. The OED says: "That
which connects the successive points in anything, esp. a narrative,
train of thought, or the like; the sequence of events or ideas
continuing throughout the whole course of anything;" Citations are
given going back to 1642!
*** New in 3.1.0. ***
:toad: /vt./ [MUD] 1. Notionally, to change a @{MUD@} player into a
toad. 2. To permanently and totally exile a player from the MUD. A
very serious action, which can only be done by a MUD @{wizard@};
often involves a lot of debate among the other characters first.
See also @{frog@}, @{FOD@}.
*** Changed in 3.3.2. ***
:trivial: /adj./ 1. Too simple to bother detailing. 2. Not worth
the speaker's time. 3. Complex, but solvable by methods so well
known that anyone not utterly @{cretinous@} would have thought of
them already. 4. Any problem one has already solved (some claim
that hackish `trivial' usually evaluates to `I've seen it before').
Hackers' notions of triviality may be quite at variance with those
of non-hackers. See @{nontrivial@}, @{uninteresting@}.
The physicist Richard Feynman, who had the hacker nature to an
amazing degree (see his essay "Los Alamos From Below" in "Surely
You're Joking, Mr. Feynman!"), defined `trivial theorem' as "one
that has already been proved".
*** New in 3.1.0. Changed in 3.3.1. ***
:troll: /v.,n./ [From the Usenet group alt.folklore.urban] To utter
a posting on @{Usenet@} designed to attract predictable responses or
@{flame@}s. 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.
Some people claim that the troll is properly a narrower category
than @{flame bait@}, that a troll is categorized by containing some
assertion that is wrong but not overtly controversial.
*** Changed in 3.3.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.
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]
*** New in 3.1.0. Changed in 3.3.1. ***
:u-: /pref./ Written shorthand for @{micro-@}; techspeak when
applied to metric units, jargon when used otherwise. Derived from
the Greek letter "mu", the first letter of "micro" (and which letter
looks a lot like the English letter "u").
*** Changed in 3.3.2. ***
:vaxherd: /vaks'herd/ /n. obs./ [from `oxherd'] A VAX operator. The
image is reinforced because VAXen actually did tend to come in
herds, technically known as `clusters'.
*** Changed in 3.1.0. ***
:virtual: /adj./ [via the technical term `virtual memory', prob.
from the term `virtual image' in optics] 1. Common alternative to
@{logical@}; often used to refer to the artificial objects (like
addressable virtual memory larger than physical memory) simulated by
a computer system as a convenient way to manage access to shared
resources. 2. Simulated; performing the functions of something that
isn't really there. An imaginative child's doll may be a virtual
playmate. Oppose @{real@}.
*** Changed in 3.1.0. ***
:wall time: /n./ (also `wall clock time') 1. `Real world' time
(what the clock on the wall shows), as opposed to the system clock's
idea of time. 2. The real running time of a program, as opposed to
the number of @{tick@}s required to execute it (on a timesharing
system these always differ, as no one program gets all the ticks,
and on multiprocessor systems with good thread support one may get
more processor time than real time).
*** New in 3.2.0. ***
:war dialer: /n./ A cracking tool, a program that calls a given
list or range of phone numbers and records those which answer with
handshake tones (and so might be entry points to computer or
telecommunications systems). Some of these programs have become
quite sophisticated, and can now detect modem, fax, or PBX tones and
log each one separately. The war dialer is one of the most
important tools in the @{phreaker@}'s kit. These programs evolved
from early @{demon dialer@}s.
*** New in 3.1.0. ***
:warez: /weirz/ /n./ Widely used in @{cracker@} subcultures to
denote cracked version of commercial software, that is versions from
which copy-protection has been stripped. Hackers recognize this
term but don't use it themselves. See @{warez d00dz@}.
*** New in 3.1.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 GIFs, 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@}; compare
@{weenie@}, @{spod@}.
*** Changed in 3.2.0. ***
:washing machine: /n./ 1. Old-style 14-inch hard disks in
floor-standing cabinets. So called because of the size of the
cabinet and the `top-loading' access to the media packs -- and, of
course, they were always set on `spin cycle'. The washing-machine
idiom transcends language barriers; it is even used in Russian
hacker jargon. See also @{walking drives@}. The thick channel
cables connecting these were called `bit hoses' (see @{hose@}, sense
3). 2. [CMU] A machine used exclusively for @{washing software@}.
CMU has clusters of these.
*** New in 3.2.0. ***
:washing software: /n./ The process of recompiling a software
distribution (used more often when the recompilation is occuring
from scratch) to pick up and merge together all of the various
changes that have been made to the source.
*** New in 3.3.2. ***
:web pointer: /n./ A World Wide Web @{URL@}. See also @{hotlink@},
which has slightly different connotations.
*** New in 3.3.0. ***
:webmaster: /n./ [WWW: from @{postmaster@}] The person at a site
providing World Wide Web information who is responsible for
maintaining the public pages and keeping the Web server running and
properly configured.
*** Changed in 3.1.0. ***
:wheel: /n./ [from slang `big wheel' for a powerful person] A
person who has an active @{wheel bit@}. "We need to find a wheel to
unwedge the hung tape drives." (See @{wedged@}, sense 1.) The
traditional name of security group zero in @{BSD@} (to which the
major system-internal users like @{root@} belong) is `wheel'. Some
vendors have expanded on this usage, modifying Unix so that only
members of group `wheel' can @{go root@}.
*** New in 3.2.0. ***
:wibble: [UK] 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". Compare
@{humma@}. 2. 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").
*** New in 3.3.2. ***
:windoid: /n./ In the Macintosh world, a style of window with much
less adornment (smaller or missing title bar, zoom box, etc, etc)
than a standard window.
*** New in 3.1.0. ***
:wok-on-the-wall: /n./ A small microwave dish antenna used for
cross-campus private network circuits, from the obvious resemblance
between a microwave dish and the Chinese culinary utensil.
*** New in 3.2.0. ***
:wormhole: /werm'hohl/ /n./ [from the `wormhole' singularities
hypothesized in some versions of General Relativity theory] 1. obs.
A location in a monitor which contains the address of a routine,
with the specific intent of making it easy to substitute a different
routine. This term is now obsolescent; modern operating systems use
clusters of wormholes extensively (for modularization of I/O
handling in particular, as in the Unix device-driver organization)
but the preferred techspeak for these clusters is `device tables',
`jump tables' or `capability tables'. 2. [Amateur Packet Radio] A
network path using a commercial satellite link to join two or more
amateur VHF networks. So called because traffic routed through a
wormhole leaves and re-enters the amateur network over great
distances with usually little clue in the message routing header as
to how it got from one relay to the other. Compare @{gopher hole@}
(sense 2).
*** Changed in 3.2.0. ***
: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!"
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".
The popular `minesweeper' game under Microsoft Windows has 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.
*** Changed in 3.3.2. ***
: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 (a subset of
ISO 10646) is a 16-bit character code intended to cover all of the
world's writing systems, including Roman, Greek, Cyrillic, Chinese,
hiragana, katakana, Devanagari, Ethiopic, Thai, Laotian and many
other languages (support for @{elvish@} is planned for a future
release).
************************* Deleted entries *************************
devo 3.3.2
doco 3.3.2
mango 3.3.2
sendmail 3.3.2
spoo 3.2.0
spooge 3.2.0
toto 3.2.0
unleaded 3.2.0
************************ Statistics ************************
Total entries: 2067
Total new: 114
Total changed: 235
Total deleted: 8
Additions by version:
3.1.0: 29
3.2.0: 43
3.3.0: 14
3.3.1: 5
3.3.2: 15
3.3.3: 4
4.0.0: 4
Changes by version:
3.1.0: 53
3.2.0: 53
3.3.0: 38
3.3.1: 11
3.3.2: 45
3.3.3: 20
4.0.0: 15
New percentage: 5.84%
Changed percentage: 12.03%
Deleted percentage: 0.41%
Total change percentage: 18.28%