Some 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. Hundreds 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 2 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&#39. 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 interpreted BASIC 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/ [acronym, `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. 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. 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 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.

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

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&#39 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}, {overrun screw},
{core}.

FAQ list: /F-A-Q 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.

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

fd leak: /ef dee 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, w