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 {B1FF}, {pseudo}.
:down: 1. /adj./ Not operating. "The up escalator is down"
is considered a humorous thing to say (unless of course you were
expecting to use it), and "The elevator is down" always means
"The elevator isn't working" and never refers to what floor the
elevator is on. With respect to computers, this term has passed
into the mainstream; the extension to other kinds of machine is
still confined to techies (e.g. boiler mechanics may speak of a
boiler being down). 2. `go down' /vi./ To stop functioning;
usually said of the {system}. The message from the {console}
that every hacker hates to hear from the operator is "System going
down in 5 minutes". 3. `take down', `bring down' /vt./ To
deactivate purposely, usually for repair work or {PM}. "I'm
taking the system down to work on that bug in the tape drive."
Occasionally one hears the word `down' by itself used as a verb
in this /vt./ sense. See {crash}; oppose {up}.
: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 `down'
and the reverse `up' 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'/ /vt./ [from the PDP-10 instruction set] 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 one last person 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. Hackish 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: /v./ [IBM] 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 some
now-obsolete computers and peripherals (including ASR-33 teletypes
and PRIME minicomputers) that results in all characters having
their high (0x80) bit forced on. This of course makes transporting
files to other systems much more difficult, not to mention the
problems these machines have talking with true 8-bit devices.
This term was originally used specifically of PRIME (a.k.a. PR1ME)
minicomputers. Folklore has it that PRIME adopted the
reversed-8-bit
convention in order to save 25 cents per serial line per machine;
PRIME old-timers, on the other hand, claim they inherited the
disease from Honeywell via customer NASA's compatibility
requirements and struggled heroically to cure it. Whoever was
responsible, this probably qualifies as one of the most
{cretinous} design tradeoffs ever made. See {meta bit}.
:DRECNET: /drek'net/ /n./ [from Yiddish/German `dreck',
meaning filth] 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, a program that translates some device-independent
or other common format to something a real device can actually
understand.
:droid: /n./ [from `android', SF terminology for a humanoid
robot of essentially biological (as opposed to
mechanical/electronic) construction] A person (esp. a
low-level bureaucrat or service-business employee) exhibiting most
of the following characteristics: (a) naive trust in the wisdom of
the parent organization or `the system'; (b) a blind-faith
propensity to believe obvious nonsense emitted by authority figures
(or computers!); (c) a rule-governed mentality, one unwilling or
unable to look beyond the `letter of the law' in exceptional
situations; (d) a paralyzing fear of official reprimand or worse if
Procedures are not followed No Matter What; and (e) no interest in
doing anything above or beyond the call of a very
narrowly-interpreted duty, or in particular in fixing that which is
broken; an "It's not my job, man" attitude.
Typical droid positions include supermarket checkout assistant and
bank clerk; the syndrome is also endemic in low-level government
employees. The implication is that the rules and official
procedures constitute software that the droid is executing;
problems arise when the software has not been properly debugged.
The term `droid mentality' is also used to describe the mindset
behind this behavior. Compare {suit}, {marketroid}; see
{-oid}.
: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: /n./ [prob. by analogy with {drop-outs}]
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}, sense 2.
: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 (one cause of such behavior under Unix when a bad
connection to a modem swamps the processor with spurious character
interrupts; see {screaming tty}). 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. 2. Of hardware, very slow relative to
normal performance.
:drum: adj, /n./ Ancient techspeak term referring to slow,
cylindrical magnetic media that were once state-of-the-art 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: /n./ (also `mouse on drugs') 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);
}
Shocking though it appears to all who encounter it for the first
time, the device is actually perfectly valid, legal C. C's default
{fall through} in case statements has long been its most
controversial single feature; Duff observed that "This code forms
some sort of argument in that debate, but I'm not sure whether it's
for or against."
[For maximal obscurity, the outermost pair of braces above could be
actually be removed -- GLS]
:dumb terminal: /n./ A terminal that is one step above a
{glass tty}, having a minimally addressable cursor but no
on-screen editing or other features normally supported 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'/ /n./ [Purdue] 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 such tedium
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/ /n./ [FidoNet] 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') /n./ [FidoNet]
An infinite stream of duplicated, near-identical messages on a
FidoNet {echo}, the only difference being unique or mangled
identification information applied by a faulty or incorrectly
configured system or network gateway, thus rendering {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 ({DP}
types call this `legacy code', a term hackers consider smarmy and
excessively reverent). 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};
compare {crawling horror}.
: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. Some victims of DWIM thus claimed that
the acronym stood for `Damn Warren's Infernal Machine!'.
In one notorious incident, Warren added a DWIM feature to the
command interpreter used at Xerox PARC. One day another hacker
there typed `delete *$' to free up some disk space. (The
editor there named backup files by appending `$' to the
original file name, so he was trying to delete any backup files
left over from old editing sessions.) It happened that there
weren't any editor backup files, so DWIM helpfully reported
`*$ not found, assuming you meant 'delete *'.' It then started
to delete all the files on the disk! The hacker managed to stop it
with a {Vulcan nerve pinch} after only a half dozen or so files
were lost.
The disgruntled victim later said he had been sorely tempted to go
to Warren's office, tie Warren down in his chair in front of his
workstation, and then type `delete *$' twice.
DWIM is often suggested in jest as a desired feature for a complex
program; it is also occasionally described as the single
instruction the ideal computer would have. Back when proofs of
program correctness were in vogue, there were also jokes about
`DWIMC' (Do What I Mean, Correctly). A related term, more often
seen as a verb, is DTRT (Do The Right Thing); see {Right
Thing}.
:dynner: /din'r/ /n./ 32 bits, by analogy with {nybble} and
{{byte}}. Usage: rare and extremely silly. See also {playte},
{tayste}, {crumb}. General discussion of such terms is under
{nybble}.
= E =
=====
:earthquake: /n./ [IBM] 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: /n./ [from the custom of the Easter Egg hunt
observed in the U.S. and many parts of Europe] 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: /n./ [IBM] 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/ /n./
[abbreviation, Extended Binary Coded Decimal Interchange Code] 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: /n./ [IBM] The sort said to be possessed by
persons for whom the transition from {punched card} to tape was
traumatic (nobody has dared tell them about disks yet). It is said
that these people, including (according to an old joke) the founder
of IBM, will be buried `face down, 9-edge first' (the 9-edge being
the bottom of the card). This directive is inscribed on IBM's 1402
and 1622 card readers and is referenced in a famous bit of doggerel
called "The Last Bug", the climactic lines of which are as
follows:
He died at the console
Of hunger and thirst.
Next day he was buried,
Face down, 9-edge first.
The eighty-column mind 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, running along San Francisco
peninsula. It originally extended all the way down to Mexico City;
many portions of the old road are still intact. Navigation on the
San Francisco peninsula is usually done relative to El Camino Real,
which defines {logical} north and south even though it isn't
really north-south in many places. El Camino Real runs right past
Stanford University and so is familiar to hackers.
The Spanish word `real' (which has two syllables: /ray-ahl'/)
means `royal'; El Camino Real is `the royal road'. In the FORTRAN
language, a `real' quantity is a number typically precise to seven
significant digits, and a `double precision' quantity is a larger
floating-point number, precise to perhaps fourteen significant
digits (other languages have similar `real' types).
When a hacker from MIT visited Stanford in 1976, he remarked what a
long road El Camino Real was. Making a pun on `real', he started
calling it `El Camino Double Precision' -- but when the hacker
was told that the road was hundreds of miles long, he renamed it
`El Camino Bignum', and that name has stuck. (See {bignum}.)
In recent years, the synonym `El Camino Virtual' has been
reported as an alternate at IBM and Amdahl sites in the Valley.
[GLS has since let slip that the unnamed hacker in this story was
in fact he --ESR]
: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: /adj./ [from mathematical usage] 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 {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./ 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}.
:elite: /adj./ Clueful. Plugged-in. One of the cognoscenti.
Also used as a general positive adjective. This term is not
actually hacker slang in the strict sense; it is used primarily by
crackers and {warez d00dz}. Cracker usage is probably related to
a 19200cps modem called the `Courier Elite' that was widely popular
on pirate boards before the V.32bis standard. A true hacker would
be more likely to use `wizardly'. Oppose {lamer}.
:ELIZA effect: /*-li:'z* *-fekt'/ /n./ [AI community] 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 psychotherapist 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/ /n./ [from Editing MACroS] The ne plus
ultra of hacker editors, a programmable text editor with an entire
LISP system inside it. It was originally written by Richard
Stallman in {TECO} under {{ITS}} at the MIT AI lab; AI Memo 554
described it as "an advanced, self-documenting, customizable,
extensible real-time display editor". It has since been
reimplemented any number of times, by various hackers, and versions
exist that run under most major operating systems. Perhaps the
most widely used version, also written by Stallman and now called
"{GNU} EMACS" or {GNUMACS}, runs principally under Unix.
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' and `E-mail')
1. /n./ Electronic mail automatically passed through computer
networks and/or via modems over common-carrier lines. Contrast
{snail-mail}, {paper-net}, {voice-net}. See {network
address}. 2. /vt./ To send electronic mail.
Oddly enough, the word `emailed' is actually listed in the OED;
it means "embossed (with a raised pattern) or perh. arranged in a
net or open work". A use from 1480 is given. The word is probably
derived from French `'emaill'e' (enameled) and related to Old
French `emmaille"ure' (network). A French correspondent tells
us that in modern French, `email' is a hard enamel obtained by
heating special paints in a furnace; an `emailleur' (no final e) is
a craftsman who makes email (he generally paints some objects
(like, say, jewelry) and cooks them in a furnace).
There are numerous spelling variants of this word. In Internet
traffic up to 1995, `email' predominates, `e-mail' runs a
not-too-distant second, and `E-mail' and `Email' are a distant
third and fourth.
: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. 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 {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./ Common {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/ /n./ [abbreviation, `End Of File']
1. [techspeak] The {out-of-band} value returned by C's
sequential character-input functions (and their equivalents in
other environments) when end of file has been reached. This value
is -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/ /n./ [End Of Line] 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: /n./ [Unix: prob. from astronomical timekeeping] The
time and date corresponding to 0 in an operating system's clock and
timestamp values. Under most Unix versions the epoch is 00:00:00
GMT, January 1, 1970; under VMS, it's 00:00:00 of November 17, 1858
(base date of the U.S. Naval Observatory's ephemerides); on a
Macintosh, it's the midnight beginning January 1 1904. System time
is measured in seconds or {tick}s past the epoch. Weird
problems may ensue when the clock wraps around (see {wrap
around}), which is not necessarily a rare event; on systems
counting 10 ticks per second, a signed 32-bit count of ticks is
good only for 6.8 years. The 1-tick-per-second clock of Unix is
good only until January 18, 2038, assuming at least some software
continues to consider it signed and that word lengths don't
increase by then. See also {wall time}.
: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: /n./ Syn. {epoch}. Webster's Unabridged makes these
words almost synonymous, but `era' more often connotes a span of
time rather than a point in time, whereas the reverse is true for
{epoch}. 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. 1987; 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. See the Eric Conspiracy Web Page at
http://www.ccil.org/~esr/ecsl.html for full details.
: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*/ /pref./ [SI] See {{quantifiers}}.
:examining the entrails: /n./ The process of {grovel}ling
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'/ or /eks'ek/ 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: /adj./ [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.
:Exon: /eks'on/ /excl./ A generic obscenity that quickly
entered wide use on the Internet and Usenet after {Black
Thursday}. From the last name of Senator James Exon
(Democrat-Nevada), primary author of the {CDA}.
:external memory: /n./ A memo pad, palmtop computer, 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.
:eye candy: /i:' kand`ee/ /n./ [from mainstream slang
"ear candy"] A display of some sort that's presented to {luser}s
to keep them distracted while the program performs necessary
background tasks. "Give 'em some eye candy while the back-end
{slurp}s that {BLOB} into core."
: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}.
= F =
=====
: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: /vi./ [IBM] 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 the above 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. See also {Duff's device}.
:fan: /n./ Without qualification, indicates a fan of science
fiction, especially one who goes to {con}s and tends to hang out
with other fans. Many hackers are fans, so this term has been
imported from fannish slang; however, unlike much fannish slang it
is recognized by most non-fannish hackers. Among SF fans the
plural is correctly `fen', but this usage is not automatic to
hackers. "Laura reads the stuff occasionally but isn't really a
fan."
:fandango on core: /n./ [Unix/C hackers, from the Mexican
dance] In C, a wild pointer that runs out of bounds, causing a
{core dump}, or corrupts the `malloc(3)' {arena} in such
a way as to cause mysterious failures later on, is sometimes said
to have `done a fandango on core'. On low-end personal machines
without an MMU, 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: /F-A-Q/ or /fak/ /n./ [Usenet] 1. A Frequently Asked
Question. 2. A compendium of accumulated lore, posted periodically
to high-volume newsgroups in an attempt to forestall such
questions. Some people prefer the term `FAQ list' or `FAQL'
/fa'kl/, reserving `FAQ' for sense 1.
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 FAQ
posting. Examples: "What is the proper type of NULL?" and
"What's that funny name for the `#' character?" are both
Frequently Asked Questions. Several FAQs refer readers to
this file.
:FAQ list: /F-A-Q list/ or /fak list/ /n./ [Usenet] Syn
{FAQ}, sense 2.
:FAQL: /fa'kl/ /n./ Syn. {FAQ list}.
:faradize: /far'*-di:z/ /v./ [US Geological Survey] To start any
hyper-addictive process or trend, or to continue adding current to
such a trend. Telling one user about a new octo-tetris game you
compiled would be a faradizing act -- in two weeks you might find
your entire department playing the faradic game.
:farkled: /far'kld/ /adj./ [DeVry Institute of Technology,
Atlanta] Syn. {hosed}. Poss. owes something to Yiddish
`farblondjet' and/or the `Farkle Family' skits on "Rowan
and Martin's Laugh-In", a popular comedy show of the late 1960s.
:farming: /n./ [Adelaide University, Australia] What the heads
of a disk drive are said to do when they plow little furrows in the
magnetic media. Associated with a {crash}. Typically used as
follows: "Oh no, the machine has just crashed; I hope the hard
drive hasn't gone {farming} again."
: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}, although 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 them 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: /n./ [from Hunter S. Thompson] A state
inspired by the prospect of dealing with certain real-world systems
and standards that are totally {brain-damaged} but ubiquitous
-- Intel 8086s, or {COBOL}, or {{EBCDIC}}, or any {IBM}
machine 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: