Full Text Archive logoFull Text Archive — Free Classic E-books

Part 4 out of 11

Adobe PDF icon
Download this document as a .pdf
File size: 1.0 MB
What's this? light bulb idea Many people prefer to read off-line or to print out text and read from the real printed page. Others want to carry documents around with them on their mobile phones and read while they are on the move. We have created .pdf files of all out documents to accommodate all these groups of people. We recommend that you download .pdfs onto your mobile phone when it is connected to a WiFi connection for reading off-line.

serious manner. "I diddled a copy of {ADVENT} so it didn't
double-space all the time." "Let's diddle this piece of code and
see if the problem goes away." See {tweak} and {twiddle}.
2. n. The action or result of diddling. See also {tweak},
{twiddle}, {frob}.

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

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

:diff: /dif/ n. 1. A change listing, especially giving differences
between (and additions to) source code or documents (the term is
often used in the plural `diffs'). "Send me your diffs for the
Jargon File!" Compare {vdiff}. 2. Specifically, such a listing
produced by the `diff(1)' command, esp. when used as
specification input to the `patch(1)' utility (which can
actually perform the modifications; see {patch}). This is a
common method of distributing patches and source updates in the
UNIX/C world. See also {vdiff}, {mod}.

:digit: n. An employee of Digital Equipment Corporation. See also
{VAX}, {VMS}, {PDP-10}, {{TOPS-10}}, {DEChead}, {double
DECkers}, {field circus}.

:dike: vt. To remove or disable a portion of something, as a wire
from a computer or a subroutine from a program. A standard slogan
is "When in doubt, dike it out". (The implication is that it is
usually more effective to attack software problems by reducing
complexity than by increasing it.) The word `dikes' is widely
used among mechanics and engineers to mean `diagonal cutters',
esp. a heavy-duty metal-cutting device, but may also refer to a
kind of wire-cutters used by electronics techs. To `dike
something out' means to use such cutters to remove something.
Indeed, the TMRC Dictionary defined dike as "to attack with
dikes". Among hackers this term has been metaphorically extended
to informational objects such as sections of code.

:ding: n.,vi. 1. Synonym for {feep}. Usage: rare among hackers,
but commoner in the {Real World}. 2. `dinged': What happens
when someone in authority gives you a minor bitching about
something, esp. something trivial. "I was dinged for having a
messy desk."

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

:dinosaur: n. 1. Any hardware requiring raised flooring and special
power. Used especially of old minis and mainframes, in contrast
with newer microprocessor-based machines. In a famous quote from
the 1988 UNIX EXPO, Bill Joy compared the mainframe in the massive
IBM display with a grazing dinosaur "with a truck outside pumping
its bodily fluids through it". IBM was not amused. Compare
{big iron}; see also {mainframe}. 2. [IBM] A very conservative
user; a {zipperhead}.

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

:dinosaurs mating: n. Said to occur when yet another {big iron}
merger or buyout occurs; reflects a perception by hackers that
these signal another stage in the long, slow dying of the
{mainframe} industry. In its glory days of the 1960s, it was
`IBM and the Seven Dwarves': Burroughs, Control Data, General
Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out
early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR,
Control Data, and Honeywell) for a while. Honeywell was bought out
by Bull; Burroughs merged with Univac to form Unisys (in 1984 ---
this was when the phrase `dinosaurs mating' was coined); and as
this is written (early 1991) AT&T is attempting to recover from a
disastrously bad first six years in the hardware industry by
absorbing NCR. More such earth-shaking unions of doomed giants
seem inevitable.

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

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

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

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

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

:disk farm: n. (also {laundromat}) A large room or rooms filled
with disk drives (esp. {washing machine}s).

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

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

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

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

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

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

:distribution: n. 1. A software source tree packaged for
distribution; but see {kit}. 2. A vague term encompassing
mailing lists and USENET newsgroups (but not {BBS} {fora}); any
topic-oriented message channel with multiple recipients. 3. An
information-space domain (usually loosely correlated with
geography) to which propagation of a USENET message is restricted;
a much-underutilized feature.

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

:doc: /dok/ n. Common spoken and written shorthand for
`documentation'. Often used in the plural `docs' and in the
construction `doc file' (documentation available on-line).

:doco: /do'koh/ [orig. in-house jargon at Symbolics] n. A
documentation writer. See also {devo} and {mango}.

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

:dodgy: adj. Syn. with {flaky}. Preferred outside the U.S.

:dogcow: /dog'kow/ n. See {Moof}.

:dogwash: /dog'wosh/ [From a quip in the `urgency' field of a very
optional software change request, ca. 1982. It was something like
"Urgency: Wash your dog first".] 1. n. A project of minimal
priority, undertaken as an escape from more serious work. 2. v.
To engage in such a project. Many games and much {freeware} get
written this way.

:domainist: /doh-mayn'ist/ adj. 1. 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, eric@snark.thyrsus.com specifies the machine
called snark in the subdomain called thyrsus within the
top-level domain called com. See also {big-endian}, sense 2.
2. Said of a site, mailer, or routing program which knows how to
handle domainist addresses. 3. Said of a person (esp. a site
admin) who prefers domain addressing, supports a domainist mailer,
or prosyletizes for domainist addressing and disdains {bang
path}s. This is now (1991) semi-obsolete, as most sites have
converted.

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

:dongle: /dong'gl/ n. 1. A security or {copy protection}
device for commercial microcomputer programs consisting of a
serialized EPROM and some drivers in a D-25 connector shell, which
must be connected to an I/O port of the computer while the program
is run. Programs that use a dongle query the port at startup and
at programmed intervals thereafter, and terminate if it does not
respond with the dongle's programmed validation code. Thus, users
can make as many copies of the program as they want but must pay
for each dongle. The idea was clever, but it was initially a
failure, as users disliked tying up a serial port this way. Most
dongles on the market today (1991) will pass data through the port
and monitor for {magic} codes (and combinations of status lines)
with minimal if any interference with devices further down the line
--- this innovation was necessary to allow daisy-chained dongles
for multiple pieces of software. The devices are still not widely
used, as the industry has moved away from copy-protection schemes
in general. 2. By extension, any physical electronic key or
transferrable ID required for a program to function. See
{dongle-disk}.

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

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

:donuts: n.obs. A collective noun for any set of memory bits. This
is extremely archaic and may no longer be live jargon; it dates
from the days of ferrite-{core} memories in which each bit was
implemented by a doughnut-shaped magnetic flip-flop.

:doorstop: n. Used to describe equipment that is non-functional and
halfway expected to remain so, especially obsolete equipment kept
around for political reasons or ostensibly as a backup. "When we
get another Wyse-50 in here, that ADM 3 will turn into a doorstop."
Compare {boat anchor}.

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

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

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

Double Bucky

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

--- The Great Quux (with apologies to Jeffrey Moss)

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

:double DECkers: n. Used to describe married couples in which both
partners work for Digital Equipment Corporation.

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

:down: 1. adj. Not operating. "The up escalator is down" is
considered a humorous thing to say, 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
usage has passed into the mainstream; the extension to other kinds
of machine is still hackish. 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
"The system will go down in 5 minutes". 3. `take down',
`bring down' vt. To deactivate purposely, usually for repair work
or {PM}. "I'm taking the system down to work on that bug in the
tape drive." Occasionally one hears the word `down' by itself
used as a verb in this vt. sense. See {crash}; oppose {up}.

:download: vt. To transfer data or (esp.) code from a larger `host'
system (esp. a {mainframe}) over a digital comm link to a smaller
`client' system, esp. a microcomputer or specialized peripheral.
Oppose {upload}.

However, note that ground-to-space communications has its own usage
rule for this term. Space-to-earth transmission is always download
and the reverse upload regardless of the relative size of the
computers involved. So far the in-space machines have invariably
been smaller; thus the upload/download distinction has been
reversed from its usual sense.

:DP: /D-P/ n. 1. Data Processing. Listed here because,
according to hackers, use of the term marks one immediately as a
{suit}. See {DPer}. 2. Common abbrev for {Dissociated
Press}.

:DPB: /d*-pib'/ [from the PDP-10 instruction set] vt. To plop
something down in the middle. Usage: silly. "DPB
yourself into that couch there." The connotation would be that
the couch is full except for one slot just big enough for you to
sit in. DPB means `DePosit Byte', and was the name of a PDP-10
instruction that inserts some bits into the middle of some other
bits. This usage has been kept alive by the Common LISP function
of the same name.

:DPer: /dee-pee-er/ n. Data Processor. Hackers are absolutely
amazed that {suit}s use this term self-referentially.
"*Computers* process data, not people!" See {DP}.

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

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

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

:dread high-bit disease: n. A condition endemic to PRIME (a.k.a.
PR1ME) minicomputers that results in all the characters having
their high (0x80) bit ON rather than OFF. This of course makes
transporting files to other systems much more difficult, not to
mention talking to true 8-bit devices. Folklore had 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 manfully to cure it.
Whoever was responsible, this probably qualifies as one of the
most {cretinous} design tradeoffs ever made. See {meta bit}.
A few other machines have exhibited similar brain damage.

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

:driver: n. 1. The {main loop} of an event-processing program;
the code that gets commands and dispatches them for execution.
2. [techspeak] In `device driver', code designed to handle a
particular peripheral device such as a magnetic disk or tape unit.
3. In the TeX world and the computerized typesetting world in
general, `driver' also means a program that translates some
device-independent or other common format to something a real
device can actually understand.

:droid: n. A person (esp. a low-level bureaucrat or
service-business employee) exhibiting most of the following
characteristics: (a) na"ive trust in the wisdom of the parent
organization or `the system'; (b) a propensity to believe
obvious nonsense emitted by authority figures (or computers!);
blind faith; (c) a rule-governed mentality, one unwilling or unable
to look beyond the `letter of the law' in exceptional
situations; and (d) no interest 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. This
becomes a problem 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}.

:drool-proof paper: n. Documentation that has been obsessively {dumbed
down}, to the point where only a {cretin} could bear to read it, is
said to have succumbed to the `drool-proof paper syndrome' or to
have been `written on drool-proof paper'. For example, this is
an actual quote from Apple's LaserWriter manual: "Do not expose
your LaserWriter to open fire or flame."

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

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

:drop-outs: n. 1. A variety of `power glitch' (see {glitch});
momentary 0 voltage on the electrical mains. 2. Missing characters
in typed input due to software malfunction or system saturation
(this can happen under UNIX when a bad connection to a modem swamps
the processor with spurious character interrupts). 3. Mental
glitches; used as a way of describing those occasions when the mind
just seems to shut down for a couple of beats. See {glitch},
{fried}.

:drugged: adj. (also `on drugs') 1. Conspicuously stupid,
heading toward {brain-damaged}. Often accompanied by a
pantomime of toking a joint (but see {appendix B}). 2. Of hardware,
very slow relative to normal performance.

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

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

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

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

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

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

Having verified that the device is valid portable C, Duff announced
it. C's default {fall through} in case statements has long been
its most controversial single feature; Duff observed that "This
code forms some sort of argument in that debate, but I'm not sure
whether it's for or against."

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

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

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

:dump: n. 1. An undigested and voluminous mass of information about
a problem or the state of a system, especially one routed to the
slowest available output device (compare {core dump}), and most
especially one consisting of hex or octal {runes} describing the
byte-by-byte state of memory, mass storage, or some file. In
{elder days}, debugging was generally done by `groveling over'
a dump (see {grovel}); increasing use of high-level languages
and interactive debuggers has made this uncommon, and the term
`dump' now has a faintly archaic flavor. 2. A backup. This
usage is typical only at large timesharing installations.

:dumpster diving: /dump'-ster di:'-ving/ n. 1. The practice of
sifting refuse from an office or technical installation to extract
confidential data, especially security-compromising information
(`dumpster' is an Americanism for what is elsewhere called a
`skip'). Back in AT&T's monopoly days, before paper shredders
became common office equipment, phone phreaks (see {phreaking})
used to organize regular dumpster runs against phone company plants
and offices. Discarded and damaged copies of AT&T internal manuals
taught them much. The technique is still rumored to be a favorite
of crackers operating against careless targets. 2. The practice of
raiding the dumpsters behind buildings where producers and/or
consumers of high-tech equipment are located, with the expectation
(usually justified) of finding discarded but still-valuable
equipment to be nursed back to health in some hacker's den.
Experienced dumpster-divers not infrequently accumulate basements
full of moldering (but still potentially useful) {cruft}.

:dup killer: /d[y]oop kill'r/ [FidoNet] n. Software that is
supposed to detect and delete duplicates of a message that may
have reached the FidoNet system via different routes.

:dup loop: /d[y]oop loop/ (also `dupe loop') [FidoNet] n. An
incorrectly configured system or network gateway may propagate
duplicate messages on one or more {echo}es, with different
identification information that renders {dup killer}s
ineffective. If such a duplicate message eventually reaches a
system through which it has already passed (with the original
identification information), all systems passed on the way back to
that system are said to be involved in a {dup loop}.

:dusty deck: n. Old software (especially applications) which one is
obliged to remain compatible with (or to maintain). The term
implies that the software in question is a holdover from card-punch
days. Used esp. when referring to old scientific and
{number-crunching} software, much of which was written in FORTRAN
and very poorly documented but is believed to be too expensive to
replace. See {fossil}.

:DWIM: /dwim/ [acronym, `Do What I Mean'] 1. adj. Able to guess,
sometimes even correctly, the result intended when bogus input was
provided. 2. n.,obs. The BBNLISP/INTERLISP function that attempted
to accomplish this feat by correcting many of the more common
errors. See {hairy}. 3. Occasionally, an interjection hurled
at a balky computer, esp. when one senses one might be tripping
over legalisms (see {legalese}).

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

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

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

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

:dynner: /din'r/ 32 bits, by analogy with {nybble} and
{{byte}}. Usage: rare and extremely silly. See also {playte},
{tayste}, {crumb}.

= E =
=====

:earthquake: [IBM] n. The ultimate real-world shock test for
computer hardware. Hackish sources at IBM deny the rumor that the
Bay Area quake of 1989 was initiated by the company to test
quality-assurance procedures at its California plants.

:Easter egg: [from the custom of the Easter Egg hunt observed in
the U.S. and many psparts of Europe] n. 1. A message hidden in the
object code of a program as a joke, intended to be found by persons
disassembling or browsing the code. 2. A message, graphic, or
sound effect emitted by a program (or, on a PC, the BIOS ROM) in
response to some undocumented set of commands or keystrokes,
intended as a joke or to display program credits. One well-known
early Easter egg found in a couple of OSes caused them to respond
to the command `make love' with `not war?'. Many
personal computers have much more elaborate eggs hidden in ROM,
including lists of the developers' names, political exhortations,
snatches of music, and (in one case) graphics images of the entire
development team.

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

:eat flaming death: imp. A construction popularized among hackers by
the infamous {CPU Wars} comic; supposed to derive from a famously
turgid line in a WWII-era anti-Nazi propaganda comic that ran
"Eat flaming death, non-Aryan mongrels!" or something of the sort
(however, it is also reported that the Firesign Theater's
1975 album "In The Next World, You're On Your Own" included the
phrase "Eat flaming death, fascist media pigs"; this may have been
an influence). Used in humorously overblown expressions of
hostility. "Eat flaming death, {{EBCDIC}} users!"

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

:echo: [FidoNet] n. A {topic group} on {FidoNet}'s echomail
system. Compare {newsgroup}.

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

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

The eighty-column mind is thought by most hackers to dominate IBM's
customer base and its thinking. See {IBM}, {fear and
loathing}, {card walloper}.

:El Camino Bignum: /el' k*-mee'noh big'nuhm/ n. The road
mundanely called El Camino Real, a road through the San Francisco
peninsula that originally extended all the way down to Mexico City
and many portions of which 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 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 7
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}.)

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

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

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

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

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

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

:elvish: n. 1. The Tengwar of Feanor, a table of letterforms
resembling the beautiful Celtic half-uncial hand of the `Book
of Kells'. Invented and described by J. R. R. Tolkien
in `The Lord of The Rings' as an orthography for his fictional
`elvish' languages, this system (which is both visually and
phonetically elegant) has long fascinated hackers (who tend to be
interested by artificial languages in general). It is traditional
for graphics printers, plotters, window systems, and the like to
support a Feanorian typeface as one of their demo items. See also
{elder days}. 2. By extension, any odd or unreadable typeface
produced by a graphics device. 3. The typeface mundanely called
`B"ocklin', an art-decoish display font.

:EMACS: /ee'maks/ [from Editing MACroS] n. The ne plus ultra of
hacker editors, a programmable text editor with an entire LISP
system inside it. It was originally written by Richard Stallman in
{TECO} under {{ITS}} at the MIT AI lab; AI Memo 554 described
it as "an advanced, self-documenting, customizable, extensible
real-time display editor". It has since been reimplemented any
number of times, by various hackers, and versions exist which run
under most major operating systems. Perhaps the most widely used
version, also written by Stallman and now called "{GNU} EMACS"
or {GNUMACS}, runs principally under UNIX. It includes
facilities to run compilation subprocesses and send and receive
mail; many hackers spend up to 80% of their {tube time} inside
it. Other variants include {GOSMACS}, CCA EMACS, UniPress
EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS.

Some EMACS versions running under window managers iconify as an
overflowing kitchen sink, perhaps to suggest the one feature the
editor does not (yet) include. Indeed, some hackers find EMACS too
heavyweight and {baroque} for their taste, and expand the name as
`Escape Meta Alt Control Shift' to spoof its heavy reliance on
keystrokes decorated with {bucky bits}. Other spoof expansions
include `Eight Megabytes And Constantly Swapping', `Eventually
`malloc()'s All Computer Storage', and `EMACS Makes A Computer
Slow' (see {{recursive acronym}}). See also {vi}.

:email: /ee'mayl/ 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 arranged in a net work".
A use from 1480 is given. The word is derived from French
`emmailleure', network.

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

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

:-)
`smiley face' (for humor, laughter, friendliness,
occasionally sarcasm)

:-(
`frowney face' (for sadness, anger, or upset)

;-)
`half-smiley' ({ha ha only serious});
also known as `semi-smiley' or `winkey face'.

:-/
`wry face'

(These may become more comprehensible if you tilt your head
sideways, to the left.)

The first two listed are by far the most frequently encountered.
Hyphenless forms of them are common on CompuServe, GEnie, and BIX;
see also {bixie}. On {USENET}, `smiley' is often used as a
generic term synonymous with {emoticon}, as well as specifically
for the happy-face emoticon.

It appears that the emoticon was invented by one Scott Fahlman on
the CMU {bboard} systems around 1980. He later wrote: "I wish I
had saved the original post, or at least recorded the date for
posterity, but I had no idea that I was starting something that
would soon pollute all the world's communication channels." [GLS
confirms that he remembers this original posting].

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

:empire: n. Any of a family of military simulations derived from a
game written by Peter Langston many years ago. There are five or
six multi-player variants of varying degrees of sophistication, and
one single-player version implemented for both UNIX and VMS; the
latter is even available as MS-DOS freeware. All are notoriously
addictive.

:engine: n. 1. A piece of hardware that encapsulates some function
but can't be used without some kind of {front end}. Today we
have, especially, `print engine': the guts of a laser printer.
2. An analogous piece of software; notionally, one that does a lot
of noisy crunching, such as a `database engine'.

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

:English: 1. n.,obs. The source code for a program, which may be in
any language, as opposed to the linkable or executable binary
produced from it by a compiler. The idea behind the term is that
to a real hacker, a program written in his favorite programming
language is at least as readable as English. Usage: used mostly by
old-time hackers, though recognizable in context. 2. The official
name of the database language used by the Pick Operating System,
actually a sort of crufty, brain-damaged SQL with delusions of
grandeur. The name permits {marketroid}s to say "Yes, and you
can program our computers in English!" to ignorant {suit}s
without quite running afoul of the truth-in-advertising laws.

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

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

:EOF: /E-O-F/ [abbreviation, `End Of File'] n. 1. [techspeak]
Refers esp. to whatever {out-of-band} value is returned by
C's sequential character-input functions (and their equivalents in
other environments) when end of file has been reached. This value
is -1 under C libraries postdating V6 UNIX, but was
originally 0. 2. [UNIX] The keyboard character (usually control-D,
the ASCII EOT (End Of Transmission) character) which is mapped by
the terminal driver into an end-of-file condition. 3. Used by
extension in non-computer contexts when a human is doing something
that can be modeled as a sequential read and can't go further.
"Yeah, I looked for a list of 360 mnemonics to post as a joke, but
I hit EOF pretty fast; all the library had was a {JCL} manual."
See also {EOL}.

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

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

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

:epsilon: [see {delta}] 1. n. A small quantity of anything. "The
cost is epsilon." 2. adj. Very small, negligible; less than
{marginal}. "We can get this feature for epsilon cost."
3. `within epsilon of': close enough to be indistinguishable for
all practical purposes. This is even closer than being `within
delta of'. "That's not what I asked for, but it's within
epsilon of what I wanted." Alternatively, it may mean not close
enough, but very little is required to get it there: "My program
is within epsilon of working."

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

:era, the: Syn. {epoch}. Webster's Unabridged makes these words
almost synonymous, but `era' usually connotes a span of time rather
than a point in time. The {epoch} usage is recommended.

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

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

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

:error 33: [XEROX PARC] n. 1. Predicating one research effort upon
the success of another. 2. Allowing your own research effort to be
placed on the critical path of some other project (be it a research
effort or not).

:essentials: n. Things necessary to maintain a productive and secure
hacking environment. "A jug of wine, a loaf of bread, a
20-megahertz 80386 box with 8 meg of core and a 300-megabyte disk
supporting full UNIX with source and X windows and EMACS and UUCP
via a 'blazer to a friendly Internet site, and thou."

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

:exa-: /ek's*/ [SI] pref. See {{quantifiers}}.

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

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

:excl: /eks'kl/ n. Abbreviation for `exclamation point'. See
{bang}, {shriek}, {{ASCII}}.

:EXE: /eks'ee/ or /eek'see/ or /E-X-E/ n. An executable
binary file. Some operating systems (notably MS-DOS, VMS, and
TWENEX) use the extension .EXE to mark such files. This usage is
also occasionally found among UNIX programmers even though UNIX
executables don't have any required suffix.

:exec: /eg-zek'/ vt.,n. 1. [UNIX: from `execute'] Synonym for
{chain}, derives from the `exec(2)' call. 2. [from
`executive'] obs. The command interpreter for an {OS} (see
{shell}); term esp. used around mainframes, and prob.
derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.
3. At IBM and VM/CMS shops, the equivalent of a shell command file
(among VM/CMS users).

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

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

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

= F =
=====

:fab: /fab/ [from `fabricate'] v. 1. To produce chips from a
design that may have been created by someone at another company.
Fabbing chips based on the designs of others is the activity of a
{silicon foundry}. To a hacker, `fab' is practically never short
for `fabulous'. 2. `fab line': the production system
(lithography, diffusion, etching, etc.) for chips at a chip
manufacturer. Different `fab lines' are run with different
process parameters, die sizes, or technologies, or simply to
provide more manufacturing volume.

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

:factor: n. See {coefficient of X}.

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

:fall through: v. (n. `fallthrough', var. `fall-through')
1. To exit a loop by exhaustion, i.e., by having fulfilled its exit
condition rather than via a break or exception condition that exits
from the middle of it. This usage appears to be *really* old,
dating from the 1940s and 1950s. 2. To fail a test that would have
passed control to a subroutine or some other distant portion of
code. 3. In C, `fall-through' occurs when the flow of execution in
a switch statement reaches a `case' label other than by
jumping there from the switch header, passing a point where one
would normally expect to find a `break'. A trivial example:

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

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

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

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

:FAQ list: /F-A-Q list/ or /fak list/ [USENET] n. A compendium
of accumulated lore, posted periodically to high-volume newsgroups
in an attempt to forestall Frequently Asked Questions. This
lexicon itself serves as a good example of a collection of one kind
of lore, although it is far too big for a regular posting.
Examples: "What is the proper type of NULL?" and "What's that
funny name for the `#' character?" are both Frequently Asked
Questions. Several extant FAQ lists do (or should) make reference
to the Jargon File (the on-line version of this lexicon).

:FAQL: /fa'kl/ n. Syn. {FAQ list}.

:farming: [Adelaide University, Australia] n. What the heads of a
disk drive are said to do when they plow little furrows in the
magnetic media. Associated with a {crash}. Typically used as
follows: "Oh no, the machine has just crashed; I hope the hard
drive hasn't gone {farming} again."

:fascist: adj. 1. Said of a computer system with excessive or
annoying security barriers, usage limits, or access policies. The
implication is that said policies are preventing hackers from
getting interesting work done. The variant `fascistic' seems
to have been preferred at MIT, poss. by analogy with
`touristic' (see {tourist}). 2. In the design of languages
and other software tools, `the fascist alternative' is the most
restrictive and structured way of capturing a particular function;
the implication is that this may be desirable in order to simplify
the implementation or provide tighter error checking. Compare
{bondage-and-discipline language}, but that term is global rather
than local.

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

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

:fd leak: /F-D leek/ n. A kind of programming bug analogous to a
{core leak}, in which a program fails to close file descriptors
(`fd's) after file operations are completed, and thus eventually
runs out of them. See {leak}.

:fear and loathing: [from Hunter Thompson] n. A state inspired by the
prospect of dealing with certain real-world systems and standards
that are totally {brain-damaged} but ubiquitous --- Intel 8086s,
or {COBOL}, or {{EBCDIC}}, or any {IBM} machine except the
Rios (a.k.a. the RS/6000). "Ack! They want PCs to be able to
talk to the AI machine. Fear and loathing time!"

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

:feature creature: [poss. fr. slang `creature feature' for a
horror movie] n. 1. One who loves to add features to designs or
programs, perhaps at the expense of coherence, concision, or
{taste}. 2. Alternately, a semi-mythical being that induces
otherwise rational programmers to perpetrate such crocks. See also
{feeping creaturism}, {creeping featurism}.

: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. Many of these are old churches;
hence, the Swedish idiom for the symbol is `kyrka', cognate to
English `church' and Scots-dialect `kirk' but pronounced
/shir'k*/ in modern Swedish. This is in fact where Apple got the
symbol; they give the translation "interesting feature"!

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

:featurectomy: /fee`ch*r-ek't*-mee/ n. The act of removing a
feature from a program. Featurectomies come in two flavors, the
`righteous' and the `reluctant'. Righteous featurectomies are
performed because the remover believes the program would be more
elegant without the feature, or there is already an equivalent and
better way to achieve the same end. (This is not quite the same
thing as removing a {misfeature}.) Reluctant featurectomies are
performed to satisfy some external constraint such as code size or
execution speed.

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

:feeper: /fee'pr/ n. The device in a terminal or workstation (usually
a loudspeaker of some kind) that makes the {feep} sound.

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

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

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

:fence: n. 1. A sequence of one or more distinguished
({out-of-band}) characters (or other data items), used to
delimit a piece of data intended to be treated as a unit (the
computer-science literature calls this a `sentinel'). The NUL
(ASCII 0000000) character that terminates strings in C is a fence.
Hex FF is also (though slightly less frequently) used this way.
See {zigamorph}. 2. [among users of optimizing compilers] Any
technique, usually exploiting knowledge about the compiler, that
blocks certain optimizations. Used when explicit mechanisms are
not available or are overkill. Typically a hack: "I call a dummy
procedure there to force a flush of the optimizer's
register-coloring info" can be expressed by the shorter "That's a
fence procedure".

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

:fepped out: /fept owt/ adj. The Symbolics 3600 Lisp Machine has a
Front-End Processor called a `FEP' (compare sense 2 of {box}).
When the main processor gets {wedged}, the FEP takes control of
the keyboard and screen. Such a machine is said to have
`fepped out'.

:FidoNet: n. A worldwide hobbyist network of personal computers
which exchange 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. Though it is much younger than {USENET},
FidoNet is already (in early 1991) a significant fraction of
USENET's size at some 8000 systems.

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

Q: How can you recognize a DEC field circus engineer
with a flat tire?
A: He's changing one tire at a time to see which one is flat.

Q: How can you recognize a DEC field circus engineer
who is out of gas?
A: He's changing one tire at a time to see which one is flat.

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

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

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

(DEC's service HQ is located in Maynard, Massachusetts.)

:field servoid: [play on `android'] /fee'ld ser'voyd/ n.
Representative of a field service organization (see {field
circus}). This has many of the implications of {droid}.

:Fight-o-net: [FidoNet] n. Deliberate distortion of {FidoNet},
often applied after a flurry of {flamage} in a particular
{echo}, especially the SYSOP echo or Fidonews (see {'Snooze}).

:File Attach: [FidoNet] 1. n. A file sent along with a mail message
from one BBS to another. 2. vt. Sending someone a file by using
the File Attach option in a BBS mailer.

:File Request: [FidoNet] 1. n. The {FidoNet} equivalent of
{FTP}, in which one BBS system automatically dials another and
{snarf}s one or more files. Often abbreviated `FReq'; files
are often announced as being "available for FReq" in the same way
that files are announced as being "available for/by anonymous
FTP" on the Internet. 2. vt. The act of getting a copy of a file
by using the File Request option of the BBS mailer.

:file signature: n. A {magic number} sense 3.

:filk: /filk/ [from SF fandom, where a typo for `folk' was
adopted as a new word] n.,v. A `filk' is a popular or folk song
with lyrics revised or completely new lyrics, intended for humorous
effect when read and/or to be sung late at night at SF conventions.
There is a flourishing subgenre of these called `computer filks',
written by hackers and often containing rather sophisticated
technical humor. See {double bucky} for an example. Compare
{hing} and {newsfroup}.

:film at 11: [MIT: in parody of TV newscasters] 1. Used in
conversation to announce ordinary events, with a sarcastic
implication that these events are earth-shattering. "{{ITS}}
crashes; film at 11." "Bug found in scheduler; film at 11."
2. Also widely used outside MIT to indicate that additional
information will be available at some future time, *without*
the implication of anything particularly ordinary about the
referenced event. For example, "The mail file server died this
morning; we found garbage all over the root directory. Film at
11." would indicate that a major failure had occurred but the
people working on it have no additional information about it. Use
of the phrase in this way suggests gently people would appreciate
it if users would quit bothering them and wait for the 11:00 news
for additional information.

:filter: [orig. {{UNIX}}, now also in {{MS-DOS}}] n. A program that
processes an input data stream into an output data stream in some
well-defined way, and does no I/O to anywhere else except possibly
on error conditions; one designed to be used as a stage in a
`pipeline' (see {plumbing}).

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

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

:finger: [WAITS, via BSD UNIX] 1. n. A program that displays a
particular user or all users logged on the system or a remote
system. Typically shows full name, last login time, idle time,
terminal line, and terminal location (where applicable). May also
display a {plan file} left by the user. 2. vt. To apply finger
to a username. 3. vt. By extension, to check a human's current
state by any means. "Foodp?" "T!" "OK, finger Lisa and see
if she's idle." 4. Any picture (composed of ASCII characters)
depicting `the finger'. Originally a humorous component of one's
plan file to deter the curious fingerer (sense 2), it has entered
the arsenal of some {flamer}s.

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

:finn: [IRC] v. 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.

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

:firefighting: n. 1. What sysadmins have to do to correct sudden
operational problems. An opposite of hacking. "Been hacking your
new newsreader?" "No, a power glitch hosed the network and I spent
the whole afternoon fighting fires." 2. The act of throwing lots
of manpower and late nights at a project, esp. to get it out
before deadline. See also {gang bang}, {Mongolian Hordes
technique}; however, the term `firefighting' connotes that the
effort is going into chasing bugs rather than adding features.

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

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

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

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

:firmy: /fer'mee/ Syn. {stiffy} (a 3.5-inch floppy disk).

:fish: [Adelaide University, Australia] n. 1. Another {metasyntactic
variable}. See {foo}. Derived originally from the Monty Python
skit in the middle of "The Meaning of Life" entitled
"Find the Fish". 2. A pun for `microfiche'. A microfiche
file cabinet may be referred to as a `fish tank'.

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

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

:fix: n.,v. What one does when a problem has been reported too many
times to be ignored.

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

:flag day: n. A software change that is neither forward- nor
backward-compatible, and which is costly to make and costly to
reverse. "Can we install that without causing a flag day for all
users?" This term has nothing to do with the use of the word
{flag} to mean a variable that has two values. It came into use
when a massive change was made to the {{Multics}} timesharing
system to convert from the old ASCII code to the new one; this was
scheduled for Flag Day (a U.S. holiday), June 14, 1966. See also
{backward combatability}.

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

:flamage: /flay'm*j/ n. Flaming verbiage, esp. high-noise,
low-signal postings to {USENET} or other electronic {fora}.
Often in the phrase `the usual flamage'. `Flaming' is the act
itself; `flamage' the content; a `flame' is a single flaming
message. See {flame}.

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

USENETter Marc Ramsey, who was at WPI from 1972 to 1976, adds: "I
am 99% certain that the use of `flame' originated at WPI. Those
who made a nuisance of themselves insisting that they needed to use
a TTY for `real work' came to be known as `flaming asshole lusers'.
Other particularly annoying people became `flaming asshole ravers',
which shortened to `flaming ravers', and ultimately `flamers'. I
remember someone picking up on the Human Torch pun, but I don't
think `flame on/off' was ever much used at WPI." See also
{asbestos}.

The term may have been independently invented at several different
places; it is also reported that `flaming' was in use to mean
something like `interminably drawn-out semi-serious discussions'
(late-night bull sessions) at Carleton College during 1968--1971.

It's 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 be right at home on USENET.

:flame bait: n. A posting intended to trigger a {flame war}, or one
that invites flames in reply.

:flame on: vi.,interj. 1. To begin to {flame}. The punning
reference to Marvel Comics's Human Torch is no longer widely
recognized. 2. To continue to flame. See {rave}, {burble}.

:flame war: n. (var. `flamewar') An acrimonious dispute,
especially when conducted on a public electronic forum such as
{USENET}.

:flamer: n. One who habitually {flame}s. Said esp. of obnoxious
{USENET} personalities.

:flap: vt. 1. To unload a DECtape (so it goes flap, flap,
flap...). Old-time hackers at MIT tell of the days when the
disk was device 0 and {microtape}s were 1, 2,... and
attempting to flap device 0 would instead start a motor banging
inside a cabinet near the disk. 2. By extension, to unload any
magnetic tape. See also {macrotape}. Modern cartridge tapes no
longer actually flap, but the usage has remained. (The term could
well be re-applied to DEC's TK50 cartridge tape drive, a
spectacularly misengineered contraption which makes a loud flapping
sound, almost like an old reel-type lawnmower, in one of its many
tape-eating failure modes.)

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

:flat: adj. 1. Lacking any complex internal structure. "That
{bitty box} has only a flat filesystem, not a hierarchical
one." The verb form is {flatten}. 2. Said of a memory
architecture (like that of the VAX or 680x0) that is one big linear
address space (typically with each possible value of a processor
register corresponding to a unique core address), as opposed to a
`segmented' architecture (like that of the 80x86) in which
addresses are composed from a base-register/offset pair (segmented
designs are generally considered {cretinous}).

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

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

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

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

:flavor: n. 1. Variety, type, kind. "DDT commands come in two
flavors." "These lights come in two flavors, big red ones and
small green ones." See {vanilla}. 2. The attribute that causes
something to be {flavorful}. Usually used in the phrase "yields
additional flavor". "This convention yields additional flavor by
allowing one to print text either right-side-up or upside-down."
See {vanilla}. This usage was certainly reinforced by the
terminology of quantum chromodynamics, in which quarks (the
constituents of, e.g., protons) come in six flavors (up, down,
strange, charm, top, bottom) and three colors (red, blue, green)
--- however, hackish use of `flavor' at MIT predated QCD. 3. The
term for `class' (in the object-oriented sense) in the LISP Machine
Flavors system. Though the Flavors design has been superseded
(notably by the Common LISP CLOS facility), the term `flavor' is
still used as a general synonym for `class' by some LISP hackers.

:flavorful: adj. Full of {flavor}; esthetically pleasing. See
{random} and {losing} for antonyms. See also the entries for
{taste} and {elegant}.

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

:flood: [IRC] v. To dump large amounts of text onto an {IRC}
channel. This is especially rude when the text is uninteresting
and the other users are trying to carry on a serious conversation.

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

:flower key: [Mac users] n. See {feature key}.

:flush: v. 1. To delete something, usually superfluous, or to abort
an operation. "All that nonsense has been flushed." 2. [UNIX/C]
To force buffered I/O to disk, as with an `fflush(3)' call.
This is *not* an abort or deletion as in sense 1, but a
demand for early completion! 3. To leave at the end of a day's
work (as opposed to leaving for a meal). "I'm going to flush
now." "Time to flush." 4. To exclude someone from an activity,
or to ignore a person.

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

:flypage: /fli: payj/n. (alt. `fly page') A {banner}, sense 1.

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

:flytrap: n. See {firewall machine}.

:FM: n. *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?"

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

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

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

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

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

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

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

:foo: /foo/ 1. interj. Term of disgust. 2. 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 Recognition'), 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 "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").

It is even possible that hacker usage actually springs from
`FOO, Lampoons and Parody', the title of a comic book first
issued in September 1958; the byline read `C. Crumb' but the style
of the art suggests this may well have been a sort-of pseudonym for
noted weird-comix artist Robert Crumb. The title FOO was featured
in large letters on the front cover. What the word meant to Mr.
Crumb is anybody's guess.

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

:foobar: n. Another common {metasyntactic variable}; see {foo}.
Hackers do *not* generally use this to mean {FUBAR} in
either the slang or jargon sense.

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

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

:Foonly: n. 1. The {PDP-10} successor that was to have been built by
the Super Foonly project at the Stanford Artificial Intelligence
Laboratory along with a new operating system. The intention was to
leapfrog from the old DEC timesharing system SAIL was running to a
new generation, bypassing TENEX which at that time was the ARPANET
standard. ARPA funding for both the Super Foonly and the new
operating system was cut in 1974. Most of the design team went to
DEC and contributed greatly to the design of the PDP-10 model KL10.
2. The name of the company formed by Dave Poole, one of the
principal Super Foonly designers, and one of hackerdom's more
colorful personalities. Many people remember the parrot which sat
on Poole's shoulder and was a regular companion. 3. Any of the
machines built by Poole's company. The first was the F-1 (a.k.a.
Super Foonly), which was the computational engine used to create
the graphics in the movie "TRON". The F-1 was the fastest
PDP-10 ever built, but only one was ever made. The effort drained
Foonly of its financial resources, and they turned towards building
smaller, slower, and much less expensive machines. Unfortunately,
these ran not the popular {TOPS-20} but a TENEX variant called
Foonex; this seriously limited their market. Also, the machines
shipped were actually wire-wrapped engineering prototypes requiring
individual attention from more than usually competent site
personnel, and thus had significant reliability problems. Poole's
legendary temper and unwillingness to suffer fools gladly did not
help matters. By the time of the Jupiter project cancellation in
1983 Foonly's proposal to build another F-1 was eclipsed by the
{Mars}, and the company never quite recovered. See the
{Mars} entry for the continuation and moral of this story.

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

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

Book of the day: