The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


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 parts 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 components
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. See also the jokes
under field circus. Compare shotgun debugging.
eat flaming death
================= imp. A construction popularized among hackers by
the infamous CPU Wars comic; supposedly derive from a famously
turgid line in a WWII-era anti-Nazi propaganda comic that ran
"Eat flaming death, non-Aryan mongrels!" or something of the sort
(however, it is also reported that the Firesign 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 dinosaurs. 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-ol'/)
means `royal'; El Camino Real is `the royal road'. In the FORTRAN
language, a `real' quantity is a number typically precise to seven
significant digits, and a `double precision' quantity is a larger
floating-point number, precise to perhaps fourteen significant
digits (other languages have similar `real' types).

When a hacker from MIT visited Stanford in 1976, he remarked what a
long road El Camino Real was. Making a pun on `real', he started
calling it `El Camino Double Precision' --- but when the hacker
was told that the road was hundreds of miles long, he renamed it
`El Camino Bignum', and that name has stuck. (See bignum.)

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 and Great Worm, the.
elegant
======= [from mathematical usage] adj. Combining simplicity,
power, and a certain ineffable grace of design. Higher praise than
`clever', `winning', or even cuspy.

The French aviator, adventurer, and author Antoine de
Saint-Exup'ery, probably best known for his classic children's
book "The Little Prince", was also an aircraft designer. He
gave us perhaps the best definition of engineering elegance when he
said "A designer knows he has achieved perfection not when there
is nothing left to add, but when there is nothing left to take
away."

elephantine
=========== adj. Used of programs or systems that are both
conspicuous hogs (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. An 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 intrigued
by artificial languages in general). It is traditional for
graphics printers, plotters, window systems, and the like to
support a Feanorian typeface as one of their demo items. See also
elder days. 2. By extension, any odd or unreadable typeface
produced by a graphics device. 3. The typeface mundanely called
`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 that run
under most major operating systems. Perhaps the most widely used
version, also written by Stallman and now called "GNU EMACS"
or GNUMACS, runs principally under UNIX. 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/ (also written `e-mail') 1. n. Electronic mail
automatically passed through computer networks and/or via modems
over common-carrier lines. Contrast snail-mail,
paper-net, voice-net. See network address.
2. vt. To send electronic mail.

Oddly enough, the word `emailed' is actually listed in the OED; it
means "embossed (with a raised pattern) or 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
newbies), resulting in arguments and flame wars.

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. Five or six
multi-player variants of varying degrees of sophistication exist,
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: 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 marketroids to say "Yes, and you
can program our computers in English!" to ignorant suits
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] The
out-of-band value returned by C's sequential character-input
functions (and their equivalents in other environments) when end of
file has been reached. This value is -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) that is mapped by the terminal driver into
an end-of-file condition. 3. Used by extension in non-computer
contexts when a human is doing something that can be modeled as a
sequential read and can't go further. "Yeah, I looked for a list
of 360 mnemonics to post as a joke, but I hit EOF pretty fast; all
the library had was a JCL manual." See also
EOL.
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 would make an ASR-33 Teletype explode
on receipt. This construction parodies 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 of November 17, 1858
(base date of the U.S. Naval Observatory's ephemerides); on a
Macintosh, it's the midnight beginning January 1 1904. System time
is measured in seconds or ticks 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, 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
fifteen 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).
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
usage 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/. Compare evil and rude.
evil and rude
============= adj. Both evil and rude, but with the
additional connotation that the rudeness was due to malice rather
than incompetence. Thus, for example: Microsoft's Windows NT is
evil because it's a competent implementation of a bad design;
it's rude because it's gratuitously incompatible with UNIX in
places where compatibility would have been as easy and effective to
do; but it's evil and rude because the incompatibilities are
apparently there not to fix design bugs in UNIX but rather to lock
hapless customers and developers into the Microsoft way. Hackish
evil and rude is close to the mainstream sense of
`evil'.
exa-
==== /ek's*/ [SI] pref. See "quantifiers".
examining the entrails
====================== n. The process of grovelling through
a core dump or hex image in an 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 are probably 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.
external memory
=============== n. A memo pad or written notes. "Hold on while
I write that to external memory". The analogy is with store or
DRAM versus nonvolatile disk storage on computers.
eyeball search
============== n.,v. 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.