Double Bucky

Double bucky, you're the one!

You make my keyboard lots of fun.

Double bucky, an additional bit or two:

(Vo-vo-de-o!)

Control and meta, side by side,

Augmented ASCII, nine bits wide!

Double bucky! Half a thousand glyphs, plus a few!

Oh,

I sure wish that I

Had a couple of

Bits more!

Perhaps a

Set of pedals to

Make the number of

Bits four:

Double double bucky!

Double bucky, left and right

OR'd together, outta sight!

Double bucky, I'd like a whole word of

Double bucky, I'm happy I heard of

Double bucky, I'd like a whole word of you!

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

[This, by the way, is an excellent example of computer {filk}

--- ESR] See also {meta bit}, {cokebottle}, and {quadruple

bucky}.

:double DECkers: n. Used to describe married couples in which both

partners work for Digital Equipment Corporation.

:doubled sig: [USENET] n. A {sig block} that has been included

twice in a {USENET} article or, less commonly, in an electronic

mail message. An article or message with a doubled sig can be

caused by improperly configured software. More often, however, it

reveals the author's lack of experience in electronic

communication. See {BIFF}, {pseudo}.

:down: 1. adj. Not operating. "The up escalator is down" is

considered a humorous thing to say, and "The elevator is down"

always means "The elevator isn't working" and never refers to

what floor the elevator is on. With respect to computers, this

usage has passed into the mainstream; the extension to other kinds

of machine is still hackish. 2. `go down' vi. To stop

functioning; usually said of the {system}. The message from the

{console} that every hacker hates to hear from the operator is

"The system will go down in 5 minutes". 3. `take down',

`bring down' vt. To deactivate purposely, usually for repair work

or {PM}. "I'm taking the system down to work on that bug in the

tape drive." Occasionally one hears the word `down' by itself

used as a verb in this vt. sense. See {crash}; oppose {up}.

:download: vt. To transfer data or (esp.) code from a larger `host'

system (esp. a {mainframe}) over a digital comm link to a smaller

`client' system, esp. a microcomputer or specialized peripheral.

Oppose {upload}.

However, note that ground-to-space communications has its own usage

rule for this term. Space-to-earth transmission is always download

and the reverse upload regardless of the relative size of the

computers involved. So far the in-space machines have invariably

been smaller; thus the upload/download distinction has been

reversed from its usual sense.

:DP: /D-P/ n. 1. Data Processing. Listed here because,

according to hackers, use of the term marks one immediately as a

{suit}. See {DPer}. 2. Common abbrev for {Dissociated

Press}.

:DPB: /d*-pib'/ [from the PDP-10 instruction set] vt. To plop

something down in the middle. Usage: silly. "DPB

yourself into that couch there." The connotation would be that

the couch is full except for one slot just big enough for you to

sit in. DPB means `DePosit Byte', and was the name of a PDP-10

instruction that inserts some bits into the middle of some other

bits. This usage has been kept alive by the Common LISP function

of the same name.

:DPer: /dee-pee-er/ n. Data Processor. Hackers are absolutely

amazed that {suit}s use this term self-referentially.

"*Computers* process data, not people!" See {DP}.

:dragon: n. [MIT] A program similar to a {daemon}, except that

it is not invoked at all, but is instead used by the system to

perform various secondary tasks. A typical example would be an

accounting program, which keeps track of who is logged in,

accumulates load-average statistics, etc. Under ITS, many

terminals displayed a list of people logged in, where they were,

what they were running, etc., along with some random picture (such

as a unicorn, Snoopy, or the Enterprise), which was generated by

the `name dragon'. Usage: rare outside MIT --- under UNIX and most

other OSes this would be called a `background demon' or

{daemon}. The best-known UNIX example of a dragon is

`cron(1)'. At SAIL, they called this sort of thing a

`phantom'.

:Dragon Book: n. The classic text `Compilers: Principles,

Techniques and Tools', by Alfred V. Aho, Ravi Sethi, and Jeffrey D.

Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6), so called because

of the cover design featuring a dragon labeled `complexity of

compiler design' and a knight bearing the lance `LALR parser

generator' among his other trappings. This one is more

specifically known as the `Red Dragon Book' (1986); an earlier

edition, sans Sethi and titled `Principles Of Compiler Design'

(Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN

0-201-00022-9), was the `Green Dragon Book' (1977). (Also `New

Dragon Book', `Old Dragon Book'.) The horsed knight and the

Green Dragon were warily eying each other at a distance; now the

knight is typing (wearing gauntlets!) at a terminal showing a

video-game representation of the Red Dragon's head while the rest

of the beast extends back in normal space. See also {{book

titles}}.

:drain: [IBM] v. Syn. for {flush} (sense 2). Has a connotation

of finality about it; one speaks of draining a device before taking

it offline.

:dread high-bit disease: n. A condition endemic to PRIME (a.k.a.

PR1ME) minicomputers that results in all the characters having

their high (0x80) bit ON rather than OFF. This of course makes

transporting files to other systems much more difficult, not to

mention talking to true 8-bit devices. Folklore had it that PRIME

adopted the reversed-8-bit convention in order to save 25 cents per

serial line per machine; PRIME old-timers, on the other hand, claim

they inherited the disease from Honeywell via customer NASA's

compatibility requirements and struggled manfully to cure it.

Whoever was responsible, this probably qualifies as one of the

most {cretinous} design tradeoffs ever made. See {meta bit}.

A few other machines have exhibited similar brain damage.

:DRECNET: /drek'net/ [from Yiddish/German `dreck', meaning

dirt] n. Deliberate distortion of DECNET, a networking protocol

used in the {VMS} community. So called because DEC helped write

the Ethernet specification and then (either stupidly or as a

malignant customer-control tactic) violated that spec in the design

of DRECNET in a way that made it incompatible. See also

{connector conspiracy}.

:driver: n. 1. The {main loop} of an event-processing program;

the code that gets commands and dispatches them for execution.

2. [techspeak] In `device driver', code designed to handle a

particular peripheral device such as a magnetic disk or tape unit.

3. In the TeX world and the computerized typesetting world in

general, `driver' also means a program that translates some

device-independent or other common format to something a real

device can actually understand.

:droid: n. A person (esp. a low-level bureaucrat or

service-business employee) exhibiting most of the following

characteristics: (a) na"ive trust in the wisdom of the parent

organization or `the system'; (b) a propensity to believe

obvious nonsense emitted by authority figures (or computers!);

blind faith; (c) a rule-governed mentality, one unwilling or unable

to look beyond the `letter of the law' in exceptional

situations; and (d) no interest in fixing that which is broken; an

"It's not my job, man" attitude.

Typical droid positions include supermarket checkout assistant and

bank clerk; the syndrome is also endemic in low-level government

employees. The implication is that the rules and official

procedures constitute software that the droid is executing. This

becomes a problem when the software has not been properly debugged.

The term `droid mentality' is also used to describe the mindset

behind this behavior. Compare {suit}, {marketroid}; see

{-oid}.

:drool-proof paper: n. Documentation that has been obsessively {dumbed

down}, to the point where only a {cretin} could bear to read it, is

said to have succumbed to the `drool-proof paper syndrome' or to

have been `written on drool-proof paper'. For example, this is

an actual quote from Apple's LaserWriter manual: "Do not expose

your LaserWriter to open fire or flame."

:drop on the floor: vt. To react to an error condition by silently

discarding messages or other valuable data. "The gateway

ran out of memory, so it just started dropping packets on the

floor." Also frequently used of faulty mail and netnews relay

sites that lose messages. See also {black hole}, {bit bucket}.

:drop-ins: [prob. by analogy with {drop-outs}] n. Spurious

characters appearing on a terminal or console as a result of line

noise or a system malfunction of some sort. Esp. used when these

are interspersed with one's own typed input. Compare

{drop-outs}.

:drop-outs: n. 1. A variety of `power glitch' (see {glitch});

momentary 0 voltage on the electrical mains. 2. Missing characters

in typed input due to software malfunction or system saturation

(this can happen under UNIX when a bad connection to a modem swamps

the processor with spurious character interrupts). 3. Mental

glitches; used as a way of describing those occasions when the mind

just seems to shut down for a couple of beats. See {glitch},

{fried}.

:drugged: adj. (also `on drugs') 1. Conspicuously stupid,

heading toward {brain-damaged}. Often accompanied by a

pantomime of toking a joint (but see {appendix B}). 2. Of hardware,

very slow relative to normal performance.

:drum: adj,n. Ancient techspeak term referring to slow,

cylindrical magnetic media which were once state-of-the-art

mass-storage devices. Under BSD UNIX the disk partition used for

swapping is still called `/dev/drum'; this has led to

considerable humor and not a few straight-faced but utterly bogus

`explanations' getting foisted on {newbie}s. See also "{The

Story of Mel, a Real Programmer}" in {appendix A}.

:drunk mouse syndrome: (also `mouse on drugs') n. A malady

exhibited by the mouse pointing device of some computers. The

typical symptom is for the mouse cursor on the screen to move in

random directions and not in sync with the motion of the actual

mouse. Can usually be corrected by unplugging the mouse and

plugging it back again. Another recommended fix for optical mice

is to rotate your mouse pad 90 degrees.

At Xerox PARC in the 1970s, most people kept a can of copier

cleaner (isopropyl alcohol) at their desks. When the steel ball on

the mouse had picked up enough {cruft} to be unreliable, the

mouse was doused in cleaner, which restored it for a while.

However, this operation left a fine residue that accelerated the

accumulation of cruft, so the dousings became more and more

frequent. Finally, the mouse was declared `alcoholic' and sent

to the clinic to be dried out in a CFC ultrasonic bath.

:Duff's device: n. The most dramatic use yet seen of {fall

through} in C, invented by Tom Duff when he was at Lucasfilm.

Trying to {bum} all the instructions he could out of an inner

loop that copied data serially onto an output port, he decided to

{unroll} it. He then realized that the unrolled version could

be implemented by *interlacing* the structures of a switch and

a loop:

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

switch (count % 8)

{

case 0: do { *to = *from++;

case 7: *to = *from++;

case 6: *to = *from++;

case 5: *to = *from++;

case 4: *to = *from++;

case 3: *to = *from++;

case 2: *to = *from++;

case 1: *to = *from++;

} while (--n > 0);

}

Having verified that the device is valid portable C, Duff announced

it. C's default {fall through} in case statements has long been

its most controversial single feature; Duff observed that "This

code forms some sort of argument in that debate, but I'm not sure

whether it's for or against."

:dumb terminal: n. A terminal which is one step above a {glass tty},

having a minimally-addressable cursor but no on-screen editing or

other features which are claimed by a {smart terminal}. Once upon a

time, when glass ttys were common and addressable cursors were

something special, what is now called a dumb terminal could pass for

a smart terminal.

:dumbass attack: /duhm'as *-tak'/ [Purdue] n. Notional cause of a

novice's mistake made by the experienced, especially one made while

running as {root} under UNIX, e.g., typing `rm -r *' or

`mkfs' on a mounted file system. Compare {adger}.

:dumbed down: adj. Simplified, with a strong connotation of

*over*simplified. Often, a {marketroid} will insist that

the interfaces and documentation of software be dumbed down after

the designer has burned untold gallons of midnight oil making it

smart. This creates friction. See {user-friendly}.

:dump: n. 1. An undigested and voluminous mass of information about

a problem or the state of a system, especially one routed to the

slowest available output device (compare {core dump}), and most

especially one consisting of hex or octal {runes} describing the

byte-by-byte state of memory, mass storage, or some file. In

{elder days}, debugging was generally done by `groveling over'

a dump (see {grovel}); increasing use of high-level languages

and interactive debuggers has made this uncommon, and the term

`dump' now has a faintly archaic flavor. 2. A backup. This

usage is typical only at large timesharing installations.

:dumpster diving: /dump'-ster di:'-ving/ n. 1. The practice of

sifting refuse from an office or technical installation to extract

confidential data, especially security-compromising information

(`dumpster' is an Americanism for what is elsewhere called a

`skip'). Back in AT&T's monopoly days, before paper shredders

became common office equipment, phone phreaks (see {phreaking})

used to organize regular dumpster runs against phone company plants

and offices. Discarded and damaged copies of AT&T internal manuals

taught them much. The technique is still rumored to be a favorite

of crackers operating against careless targets. 2. The practice of

raiding the dumpsters behind buildings where producers and/or

consumers of high-tech equipment are located, with the expectation

(usually justified) of finding discarded but still-valuable

equipment to be nursed back to health in some hacker's den.

Experienced dumpster-divers not infrequently accumulate basements

full of moldering (but still potentially useful) {cruft}.

:dup killer: /d[y]oop kill'r/ [FidoNet] n. Software that is

supposed to detect and delete duplicates of a message that may

have reached the FidoNet system via different routes.

:dup loop: /d[y]oop loop/ (also `dupe loop') [FidoNet] n. An

incorrectly configured system or network gateway may propagate

duplicate messages on one or more {echo}es, with different

identification information that renders {dup killer}s

ineffective. If such a duplicate message eventually reaches a

system through which it has already passed (with the original

identification information), all systems passed on the way back to

that system are said to be involved in a {dup loop}.

:dusty deck: n. Old software (especially applications) which one is

obliged to remain compatible with (or to maintain). The term

implies that the software in question is a holdover from card-punch

days. Used esp. when referring to old scientific and

{number-crunching} software, much of which was written in FORTRAN

and very poorly documented but is believed to be too expensive to

replace. See {fossil}.

:DWIM: /dwim/ [acronym, `Do What I Mean'] 1. adj. Able to guess,

sometimes even correctly, the result intended when bogus input was

provided. 2. n.,obs. The BBNLISP/INTERLISP function that attempted

to accomplish this feat by correcting many of the more common

errors. See {hairy}. 3. Occasionally, an interjection hurled

at a balky computer, esp. when one senses one might be tripping

over legalisms (see {legalese}).

Warren Teitelman originally wrote DWIM to fix his typos and

spelling errors, so it was somewhat idiosyncratic to his style, and

would often make hash of anyone else's typos if they were

stylistically different. This led a number of victims of DWIM to

claim the acronym stood for `Damn Warren's Infernal

Machine!'.

In one notorious incident, Warren added a DWIM feature to the

command interpreter used at Xerox PARC. One day another hacker

there typed `delete *$' to free up some disk space. (The

editor there named backup files by appending `$' to the

original file name, so he was trying to delete any backup files

left over from old editing sessions.) It happened that there

weren't any editor backup files, so DWIM helpfully reported

`*$ not found, assuming you meant 'delete *'.' It then started

to delete all the files on the disk! The hacker managed to stop it

with a {Vulcan nerve pinch} after only a half dozen or so files

were lost.

The hacker later said he had been sorely tempted to go to Warren's

office, tie Warren down in his chair in front of his workstation,

and then type `delete *$' twice.

DWIM is often suggested in jest as a desired feature for a complex

program; it is also occasionally described as the single

instruction the ideal computer would have. Back when proofs of

program correctness were in vogue, there were also jokes about

`DWIMC' (Do What I Mean, Correctly). A related term, more often

seen as a verb, is DTRT (Do The Right Thing); see {Right

Thing}.

:dynner: /din'r/ 32 bits, by analogy with {nybble} and

{{byte}}. Usage: rare and extremely silly. See also {playte},

{tayste}, {crumb}.

= E =

=====

:earthquake: [IBM] n. The ultimate real-world shock test for

computer hardware. Hackish sources at IBM deny the rumor that the

Bay Area quake of 1989 was initiated by the company to test

quality-assurance procedures at its California plants.

:Easter egg: [from the custom of the Easter Egg hunt observed in

the U.S. and many psparts of Europe] n. 1. A message hidden in the

object code of a program as a joke, intended to be found by persons

disassembling or browsing the code. 2. A message, graphic, or

sound effect emitted by a program (or, on a PC, the BIOS ROM) in

response to some undocumented set of commands or keystrokes,

intended as a joke or to display program credits. One well-known

early Easter egg found in a couple of OSes caused them to respond

to the command `make love' with `not war?'. Many

personal computers have much more elaborate eggs hidden in ROM,

including lists of the developers' names, political exhortations,

snatches of music, and (in one case) graphics images of the entire

development team.

:Easter egging: [IBM] n. The act of replacing unrelated parts more or

less at random in hopes that a malfunction will go away. Hackers

consider this the normal operating mode of {field circus} techs and

do not love them for it. Compare {shotgun debugging}.

:eat flaming death: imp. A construction popularized among hackers by

the infamous {CPU Wars} comic; supposed to derive from a famously

turgid line in a WWII-era anti-Nazi propaganda comic that ran

"Eat flaming death, non-Aryan mongrels!" or something of the sort

(however, it is also reported that the Firesign Theater's

1975 album "In The Next World, You're On Your Own" included the

phrase "Eat flaming death, fascist media pigs"; this may have been

an influence). Used in humorously overblown expressions of

hostility. "Eat flaming death, {{EBCDIC}} users!"

:EBCDIC:: /eb's*-dik/, /eb'see`dik/, or /eb'k*-dik/ [abbreviation,

Extended Binary Coded Decimal Interchange Code] n. An alleged

character set used on IBM {dinosaur}s. It exists in at least six

mutually incompatible versions, all featuring such delights as

non-contiguous letter sequences and the absence of several ASCII

punctuation characters fairly important for modern computer

languages (exactly which characters are absent varies according to

which version of EBCDIC you're looking at). IBM adapted EBCDIC

from {{punched card}} code in the early 1960s and promulgated it

as a customer-control tactic (see {connector conspiracy}),

spurning the already established ASCII standard. Today, IBM claims

to be an open-systems company, but IBM's own description of the

EBCDIC variants and how to convert between them is still internally

classified top-secret, burn-before-reading. Hackers blanch at the

very *name* of EBCDIC and consider it a manifestation of

purest {evil}. See also {fear and loathing}.

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

system. Compare {newsgroup}.

:eighty-column mind: [IBM] n. The sort said to be possessed by

persons for whom the transition from {punched card} to tape was

traumatic (nobody has dared tell them about disks yet). It is said

that these people, including (according to an old joke) the founder

of IBM, will be buried `face down, 9-edge first' (the 9-edge being

the bottom of the card). This directive is inscribed on IBM's

1402 and 1622 card readers and is referenced in a famous bit of

doggerel called "The Last Bug", the climactic lines of which

are as follows:

He died at the console

Of hunger and thirst.

Next day he was buried,

Face down, 9-edge first.

The eighty-column mind is thought by most hackers to dominate IBM's

customer base and its thinking. See {IBM}, {fear and

loathing}, {card walloper}.

:El Camino Bignum: /el' k*-mee'noh big'nuhm/ n. The road

mundanely called El Camino Real, a road through the San Francisco

peninsula that originally extended all the way down to Mexico City

and many portions of which are still intact. Navigation on the San

Francisco peninsula is usually done relative to El Camino Real,

which defines {logical} north and south even though it isn't

really north-south many places. El Camino Real runs right past

Stanford University and so is familiar to hackers.

The Spanish word `real' (which has two syllables: /ray-ahl'/)

means `royal'; El Camino Real is `the royal road'. In the FORTRAN

language, a `real' quantity is a number typically precise to 7

significant digits, and a `double precision' quantity is a larger

floating-point number, precise to perhaps fourteen significant

digits (other languages have similar `real' types).

When a hacker from MIT visited Stanford in 1976, he remarked what a

long road El Camino Real was. Making a pun on `real', he started

calling it `El Camino Double Precision' --- but when the hacker

was told that the road was hundreds of miles long, he renamed it

`El Camino Bignum', and that name has stuck. (See {bignum}.)

:elder days: n. The heroic age of hackerdom (roughly, pre-1980); the

era of the {PDP-10}, {TECO}, {{ITS}}, and the ARPANET. This

term has been rather consciously adopted from J. R. R. Tolkien's

fantasy epic `The Lord of the Rings'. Compare {Iron Age};

see also {elvish}.

:elegant: [from mathematical usage] adj. Combining simplicity,

power, and a certain ineffable grace of design. Higher praise than

`clever', `winning', or even {cuspy}.

:elephantine: adj. Used of programs or systems that are both

conspicuous {hog}s (owing perhaps to poor design founded on

{brute force and ignorance}) and exceedingly {hairy} in source

form. An elephantine program may be functional and even friendly,

but (as in the old joke about being in bed with an elephant) it's

tough to have around all the same (and, like a pachyderm, difficult

to maintain). In extreme cases, hackers have been known to make

trumpeting sounds or perform expressive proboscatory mime at the

mention of the offending program. Usage: semi-humorous. Compare

`has the elephant nature' and the somewhat more pejorative

{monstrosity}. See also {second-system effect} and

{baroque}.

:elevator controller: n. Another archetypal dumb embedded-systems

application, like {toaster} (which superseded it). During one

period (1983--84) in the deliberations of ANSI X3J11 (the

C standardization committee) this was the canonical example of a

really stupid, memory-limited computation environment. "You can't

require `printf(3)' to be part of the default runtime library

--- what if you're targeting an elevator controller?" Elevator

controllers became important rhetorical weapons on both sides of

several {holy wars}.

:ELIZA effect: /*-li:'z* *-fekt'/ [AI community] n. The tendency of

humans to attach associations to terms from prior experience.

For example, there is nothing magic about the symbol `+' that

makes it well-suited to indicate addition; it's just that people

associate it with addition. Using `+' or `plus' to mean addition

in a computer language is taking advantage of the ELIZA effect.

This term comes from the famous ELIZA program by Joseph Weizenbaum,

which simulated a Rogerian psychoanalyst by rephrasing many of the

patient's statements as questions and posing them to the patient.

It worked by simple pattern recognition and substitution of key

words into canned phrases. It was so convincing, however, that

there are many anecdotes about people becoming very emotionally

caught up in dealing with ELIZA. All this was due to people's

tendency to attach to words meanings which the computer never put

there. The ELIZA effect is a {Good Thing} when writing a

programming language, but it can blind you to serious shortcomings

when analyzing an Artificial Intelligence system. Compare

{ad-hockery}; see also {AI-complete}.

:elvish: n. 1. The Tengwar of Feanor, a table of letterforms

resembling the beautiful Celtic half-uncial hand of the `Book

of Kells'. Invented and described by J. R. R. Tolkien

in `The Lord of The Rings' as an orthography for his fictional

`elvish' languages, this system (which is both visually and

phonetically elegant) has long fascinated hackers (who tend to be

interested by artificial languages in general). It is traditional

for graphics printers, plotters, window systems, and the like to

support a Feanorian typeface as one of their demo items. See also

{elder days}. 2. By extension, any odd or unreadable typeface

produced by a graphics device. 3. The typeface mundanely called

`B"ocklin', an art-decoish display font.

:EMACS: /ee'maks/ [from Editing MACroS] n. The ne plus ultra of

hacker editors, a programmable text editor with an entire LISP

system inside it. It was originally written by Richard Stallman in

{TECO} under {{ITS}} at the MIT AI lab; AI Memo 554 described

it as "an advanced, self-documenting, customizable, extensible

real-time display editor". It has since been reimplemented any

number of times, by various hackers, and versions exist which run

under most major operating systems. Perhaps the most widely used

version, also written by Stallman and now called "{GNU} EMACS"

or {GNUMACS}, runs principally under UNIX. It includes

facilities to run compilation subprocesses and send and receive

mail; many hackers spend up to 80% of their {tube time} inside

it. Other variants include {GOSMACS}, CCA EMACS, UniPress

EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS.

Some EMACS versions running under window managers iconify as an

overflowing kitchen sink, perhaps to suggest the one feature the

editor does not (yet) include. Indeed, some hackers find EMACS too

heavyweight and {baroque} for their taste, and expand the name as

`Escape Meta Alt Control Shift' to spoof its heavy reliance on

keystrokes decorated with {bucky bits}. Other spoof expansions

include `Eight Megabytes And Constantly Swapping', `Eventually

`malloc()'s All Computer Storage', and `EMACS Makes A Computer

Slow' (see {{recursive acronym}}). See also {vi}.

:email: /ee'mayl/ 1. n. Electronic mail automatically passed

through computer networks and/or via modems over common-carrier

lines. Contrast {snail-mail}, {paper-net}, {voice-net}. See

{network address}. 2. vt. To send electronic mail.

Oddly enough, the word `emailed' is actually listed in the OED; it

means "embossed (with a raised pattern) or arranged in a net work".

A use from 1480 is given. The word is derived from French

`emmailleure', network.

:emoticon: /ee-moh'ti-kon/ n. An ASCII glyph used to indicate an

emotional state in email or news. Although originally intended

mostly as jokes, emoticons (or some other explicit humor

indication) are virtually required under certain circumstances in

high-volume text-only communication forums such as USENET; the lack

of verbal and visual cues can otherwise cause what were intended to

be humorous, sarcastic, ironic, or otherwise non-100%-serious

comments to be badly misinterpreted (not always even by

{newbie}s), resulting in arguments and {flame war}s.

Hundreds of emoticons have been proposed, but only a few are in

common use. These include:

:-)

`smiley face' (for humor, laughter, friendliness,

occasionally sarcasm)

:-(

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

;-)

`half-smiley' ({ha ha only serious});

also known as `semi-smiley' or `winkey face'.

:-/

`wry face'

(These may become more comprehensible if you tilt your head

sideways, to the left.)

The first two listed are by far the most frequently encountered.

Hyphenless forms of them are common on CompuServe, GEnie, and BIX;

see also {bixie}. On {USENET}, `smiley' is often used as a

generic term synonymous with {emoticon}, as well as specifically

for the happy-face emoticon.

It appears that the emoticon was invented by one Scott Fahlman on

the CMU {bboard} systems around 1980. He later wrote: "I wish I

had saved the original post, or at least recorded the date for

posterity, but I had no idea that I was starting something that

would soon pollute all the world's communication channels." [GLS

confirms that he remembers this original posting].

Note for the {newbie}: Overuse of the smiley is a mark of

loserhood! More than one per paragraph is a fairly sure sign that

you've gone over the line.

:empire: n. Any of a family of military simulations derived from a

game written by Peter Langston many years ago. There are five or

six multi-player variants of varying degrees of sophistication, and

one single-player version implemented for both UNIX and VMS; the

latter is even available as MS-DOS freeware. All are notoriously

addictive.

:engine: n. 1. A piece of hardware that encapsulates some function

but can't be used without some kind of {front end}. Today we

have, especially, `print engine': the guts of a laser printer.

2. An analogous piece of software; notionally, one that does a lot

of noisy crunching, such as a `database engine'.

The hackish senses of `engine' are actually close to its original,

pre-Industrial-Revolution sense of a skill, clever device, or

instrument (the word is cognate to `ingenuity'). This sense had

not been completely eclipsed by the modern connotation of

power-transducing machinery in Charles Babbage's time, which

explains why he named the stored-program computer that

he designed in 1844 the `Analytical Engine'.

:English: 1. n.,obs. The source code for a program, which may be in

any language, as opposed to the linkable or executable binary

produced from it by a compiler. The idea behind the term is that

to a real hacker, a program written in his favorite programming

language is at least as readable as English. Usage: used mostly by

old-time hackers, though recognizable in context. 2. The official

name of the database language used by the Pick Operating System,

actually a sort of crufty, brain-damaged SQL with delusions of

grandeur. The name permits {marketroid}s to say "Yes, and you

can program our computers in English!" to ignorant {suit}s

without quite running afoul of the truth-in-advertising laws.

:enhancement: n. {Marketroid}-speak for a bug {fix}. This abuse

of language is a popular and time-tested way to turn incompetence

into increased revenue. A hacker being ironic would instead call

the fix a {feature} --- or perhaps save some effort by declaring

the bug itself to be a feature.

:ENQ: /enkw/ or /enk/ [from the ASCII mnemonic ENQuire for

0000101] An on-line convention for querying someone's availability.

After opening a {talk mode} connection to someone apparently in

heavy hack mode, one might type `SYN SYN ENQ?' (the SYNs

representing notional synchronization bytes), and expect a return

of {ACK} or {NAK} depending on whether or not the person felt

interruptible. Compare {ping}, {finger}, and the usage of

`FOO?' listed under {talk mode}.

:EOF: /E-O-F/ [abbreviation, `End Of File'] n. 1. [techspeak]

Refers esp. to whatever {out-of-band} value is returned by

C's sequential character-input functions (and their equivalents in

other environments) when end of file has been reached. This value

is -1 under C libraries postdating V6 UNIX, but was

originally 0. 2. [UNIX] The keyboard character (usually control-D,

the ASCII EOT (End Of Transmission) character) which is mapped by

the terminal driver into an end-of-file condition. 3. Used by

extension in non-computer contexts when a human is doing something

that can be modeled as a sequential read and can't go further.

"Yeah, I looked for a list of 360 mnemonics to post as a joke, but

I hit EOF pretty fast; all the library had was a {JCL} manual."

See also {EOL}.

:EOL: /E-O-L/ [End Of Line] n. Syn. for {newline}, derived

perhaps from the original CDC6600 Pascal. Now rare, but widely

recognized and occasionally used for brevity. Used in the

example entry under {BNF}. See also {EOF}.

:EOU: /E-O-U/ n. The mnemonic of a mythical ASCII control

character (End Of User) that could make an ASR-33 Teletype explode

on receipt. This parodied the numerous obscure delimiter and

control characters left in ASCII from the days when it was

associated more with wire-service teletypes than computers (e.g.,

FS, GS, RS, US, EM, SUB, ETX, and esp. EOT). It is worth

remembering that ASR-33s were big, noisy mechanical beasts with a

lot of clattering parts; the notion that one might explode was

nowhere near as ridiculous as it might seem to someone sitting in

front of a {tube} or flatscreen today.

:epoch: [UNIX: prob. from astronomical timekeeping] n. The time

and date corresponding to 0 in an operating system's clock and

timestamp values. Under most UNIX versions the epoch is 00:00:00

GMT, January 1, 1970; under VMS, it's 00:00:00 GMT of November 17,

1858 (base date of the U.S. Naval Observatory's ephemerides).

System time is measured in seconds or {tick}s past the epoch.

Weird problems may ensue when the clock wraps around (see {wrap

around}), which is not necessarily a rare event; on systems

counting 10 ticks per second, a signed 32-bit count of ticks is

good only for 6.8 years. The 1-tick-per-second clock of UNIX is

good only until January 18, 2038, assuming at least some software

continues to consider it signed and that word lengths don't

increase by then. See also {wall time}.

:epsilon: [see {delta}] 1. n. A small quantity of anything. "The

cost is epsilon." 2. adj. Very small, negligible; less than

{marginal}. "We can get this feature for epsilon cost."

3. `within epsilon of': close enough to be indistinguishable for

all practical purposes. This is even closer than being `within

delta of'. "That's not what I asked for, but it's within

epsilon of what I wanted." Alternatively, it may mean not close

enough, but very little is required to get it there: "My program

is within epsilon of working."

:epsilon squared: n. A quantity even smaller than {epsilon}, as

small in comparison to epsilon as epsilon is to something normal;

completely negligible. If you buy a supercomputer for a million

dollars, the cost of the thousand-dollar terminal to go with it is

{epsilon}, and the cost of the ten-dollar cable to connect them

is epsilon squared. Compare {lost in the underflow}, {lost

in the noise}.

:era, the: Syn. {epoch}. Webster's Unabridged makes these words

almost synonymous, but `era' usually connotes a span of time rather

than a point in time. The {epoch} usage is recommended.

:Eric Conspiracy: n. A shadowy group of mustachioed hackers named

Eric first pinpointed as a sinister conspiracy by an infamous

talk.bizarre posting ca. 1986; this was doubtless influenced by the

numerous `Eric' jokes in the Monty Python oeuvre. There do indeed

seem to be considerably more mustachioed Erics in hackerdom than

the frequency of these three traits can account for unless they are

correlated in some arcane way. Well-known examples include Eric

Allman (he of the `Allman style' described under {indent style})

and Erik Fair (co-author of NNTP); your editor has heard from about

fourteen others by email, and the organization line `Eric

Conspiracy Secret Laboratories' now emanates regularly from more

than one site.

:Eris: /e'ris/ n. The Greek goddess of Chaos, Discord, Confusion,

and Things You Know Not Of; her name was latinized to Discordia and

she was worshiped by that name in Rome. Not a very friendly deity

in the Classical original, she was reinvented as a more benign

personification of creative anarchy starting in 1959 by the

adherents of {Discordianism} and has since been a semi-serious

subject of veneration in several `fringe' cultures, including

hackerdom. See {Discordianism}, {Church of the SubGenius}.

:erotics: /ee-ro'tiks/ n. [Helsinki University of Technology,

Finland] n. English-language university slang for electronics.

Often used by hackers in Helsinki, maybe because good electronics

excites them and makes them warm.

:error 33: [XEROX PARC] n. 1. Predicating one research effort upon

the success of another. 2. Allowing your own research effort to be

placed on the critical path of some other project (be it a research

effort or not).

:essentials: n. Things necessary to maintain a productive and secure

hacking environment. "A jug of wine, a loaf of bread, a

20-megahertz 80386 box with 8 meg of core and a 300-megabyte disk

supporting full UNIX with source and X windows and EMACS and UUCP

via a 'blazer to a friendly Internet site, and thou."

:evil: adj. As used by hackers, implies that some system, program,

person, or institution is sufficiently maldesigned as to be not

worth the bother of dealing with. Unlike the adjectives in the

{cretinous}/{losing}/{brain-damaged} series, `evil' does not

imply incompetence or bad design, but rather a set of goals or

design criteria fatally incompatible with the speaker's. This is

more an esthetic and engineering judgment than a moral one in the

mainstream sense. "We thought about adding a {Blue Glue}

interface but decided it was too evil to deal with." "{TECO}

is neat, but it can be pretty evil if you're prone to typos."

Often pronounced with the first syllable lengthened, as /eeee'vil/.

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

:examining the entrails: n. The process of {grovel}ling through

a core dump or hex image in the attempt to discover the bug that

brought a program or system down. The reference is to divination

from the entrails of a sacrified animal. Compare {runes},

{incantation}, {black art}, {desk check}.

:EXCH: /eks'ch*/ or /eksch/ vt. To exchange two things, each for the

other; to swap places. If you point to two people sitting down and

say "Exch!", you are asking them to trade places. EXCH,

meaning EXCHange, was originally the name of a PDP-10 instruction

that exchanged the contents of a register and a memory location.

Many newer hackers tend to be thinking instead of the {PostScript}

exchange operator (which is usually written in lowercase).

:excl: /eks'kl/ n. Abbreviation for `exclamation point'. See

{bang}, {shriek}, {{ASCII}}.

:EXE: /eks'ee/ or /eek'see/ or /E-X-E/ n. An executable

binary file. Some operating systems (notably MS-DOS, VMS, and

TWENEX) use the extension .EXE to mark such files. This usage is

also occasionally found among UNIX programmers even though UNIX

executables don't have any required suffix.

:exec: /eg-zek'/ vt.,n. 1. [UNIX: from `execute'] Synonym for

{chain}, derives from the `exec(2)' call. 2. [from

`executive'] obs. The command interpreter for an {OS} (see

{shell}); term esp. used around mainframes, and prob.

derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.

3. At IBM and VM/CMS shops, the equivalent of a shell command file

(among VM/CMS users).

The mainstream `exec' as an abbreviation for (human) executive is

*not* used. To a hacker, an `exec' is a always a program,

never a person.

:exercise, left as an: [from technical books] Used to complete a

proof when one doesn't mind a {handwave}, or to avoid one

entirely. The complete phrase is: "The proof (or the rest) is

left as an exercise for the reader." This comment *has*

occasionally been attached to unsolved research problems by authors

possessed of either an evil sense of humor or a vast faith in the

capabilities of their audiences.

:eyeball search: n. To look for something in a mass of code or data

with one's own native optical sensors, as opposed to using some

sort of pattern matching software like {grep} or any other

automated search tool. Also called a {vgrep}; compare

{vdiff}, {desk check}.

= F =

=====

:fab: /fab/ [from `fabricate'] v. 1. To produce chips from a

design that may have been created by someone at another company.

Fabbing chips based on the designs of others is the activity of a

{silicon foundry}. To a hacker, `fab' is practically never short

for `fabulous'. 2. `fab line': the production system

(lithography, diffusion, etching, etc.) for chips at a chip

manufacturer. Different `fab lines' are run with different

process parameters, die sizes, or technologies, or simply to

provide more manufacturing volume.

:face time: n. Time spent interacting with somebody face-to-face (as

opposed to via electronic links). "Oh, yeah, I spent some face

time with him at the last Usenix."

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

:fall over: [IBM] vi. Yet another synonym for {crash} or {lose}.

`Fall over hard' equates to {crash and burn}.

:fall through: v. (n. `fallthrough', var. `fall-through')

1. To exit a loop by exhaustion, i.e., by having fulfilled its exit

condition rather than via a break or exception condition that exits

from the middle of it. This usage appears to be *really* old,

dating from the 1940s and 1950s. 2. To fail a test that would have

passed control to a subroutine or some other distant portion of

code. 3. In C, `fall-through' occurs when the flow of execution in

a switch statement reaches a `case' label other than by

jumping there from the switch header, passing a point where one

would normally expect to find a `break'. A trivial example:

switch (color)

{

case GREEN:

do_green();

break;

case PINK:

do_pink();

/* FALL THROUGH */

case RED:

do_red();

break;

default:

do_blue();

break;

}

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

The effect of this code is to `do_green()' when color is

`GREEN', `do_red()' when color is `RED',

`do_blue()' on any other color other than `PINK', and

(and this is the important part) `do_pink()' *and then*

`do_red()' when color is `PINK'. Fall-through is

{considered harmful} by some, though there are contexts (such as

the coding of state machines) in which it is natural; it is

generally considered good practice to include a comment

highlighting the fall-through where one would normally expect a

break.

:fandango on core: [UNIX/C hackers, from the Mexican dance] n.

In C, a wild pointer that runs out of bounds, causing a {core

dump}, or corrupts the `malloc(3)' {arena} in such a way as

to cause mysterious failures later on, is sometimes said to have

`done a fandango on core'. On low-end personal machines without an

MMU, this can corrupt the OS itself, causing massive lossage.

Other frenetic dances such as the rhumba, cha-cha, or watusi, may

be substituted. See {aliasing bug}, {precedence lossage},

{smash the stack}, {memory leak}, {memory smash},

{overrun screw}, {core}.

:FAQ list: /F-A-Q list/ or /fak list/ [USENET] n. A compendium

of accumulated lore, posted periodically to high-volume newsgroups

in an attempt to forestall Frequently Asked Questions. This

lexicon itself serves as a good example of a collection of one kind

of lore, although it is far too big for a regular posting.

Examples: "What is the proper type of NULL?" and "What's that

funny name for the `#' character?" are both Frequently Asked

Questions. Several extant FAQ lists do (or should) make reference

to the Jargon File (the on-line version of this lexicon).

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

:farming: [Adelaide University, Australia] n. What the heads of a

disk drive are said to do when they plow little furrows in the

magnetic media. Associated with a {crash}. Typically used as

follows: "Oh no, the machine has just crashed; I hope the hard

drive hasn't gone {farming} again."

:fascist: adj. 1. Said of a computer system with excessive or

annoying security barriers, usage limits, or access policies. The

implication is that said policies are preventing hackers from

getting interesting work done. The variant `fascistic' seems

to have been preferred at MIT, poss. by analogy with

`touristic' (see {tourist}). 2. In the design of languages

and other software tools, `the fascist alternative' is the most

restrictive and structured way of capturing a particular function;

the implication is that this may be desirable in order to simplify

the implementation or provide tighter error checking. Compare

{bondage-and-discipline language}, but that term is global rather

than local.

:fat electrons: n. Old-time hacker David Cargill's theory on the

causation of computer glitches. Your typical electric utility

draws its line current out of the big generators with a pair of

coil taps located near the top of the dynamo. When the normal tap

brushes get dirty, they take them off line to clean up, and use

special auxiliary taps on the *bottom* of the coil. Now,

this is a problem, because when they do that they get not ordinary

or `thin' electrons, but the fat'n'sloppy electrons that are

heavier and so settle to the bottom of the generator. These flow

down ordinary wires just fine, but when they have to turn a sharp

corner (as in an integrated-circuit via) they're apt to get stuck.

This is what causes computer glitches. [Fascinating. Obviously,

fat electrons must gain mass by {bogon} absorption --- ESR]

Compare {bogon}, {magic smoke}.

:faulty: adj. Non-functional; buggy. Same denotation as

{bletcherous}, {losing}, q.v., but the connotation is much

milder.

:fd leak: /F-D leek/ n. A kind of programming bug analogous to a

{core leak}, in which a program fails to close file descriptors

(`fd's) after file operations are completed, and thus eventually

runs out of them. See {leak}.

:fear and loathing: [from Hunter Thompson] n. A state inspired by the

prospect of dealing with certain real-world systems and standards

that are totally {brain-damaged} but ubiquitous --- Intel 8086s,

or {COBOL}, or {{EBCDIC}}, or any {IBM} machine except the

Rios (a.k.a. the RS/6000). "Ack! They want PCs to be able to

talk to the AI machine. Fear and loathing time!"

:feature: n. 1. A good property or behavior (as of a program).

Whether it was intended or not is immaterial. 2. An intended

property or behavior (as of a program). Whether it is good or not

is immaterial (but if bad, it is also a {misfeature}). 3. A

surprising property or behavior; in particular, one that is

purposely inconsistent because it works better that way --- such an

inconsistency is therefore a {feature} and not a {bug}. This

kind of feature is sometimes called a {miswart}; see that entry

for a classic example. 4. A property or behavior that is

gratuitous or unnecessary, though perhaps also impressive or cute.

For example, one feature of Common LISP's `format' function is

the ability to print numbers in two different Roman-numeral formats

(see {bells, whistles, and gongs}). 5. A property or behavior

that was put in to help someone else but that happens to be in your

way. 6. A bug that has been documented. To call something a

feature sometimes means the author of the program did not consider

the particular case, and that the program responded in a way that

was unexpected but not strictly incorrect. A standard joke is that

a bug can be turned into a {feature} simply by documenting it

(then theoretically no one can complain about it because it's in

the manual), or even by simply declaring it to be good. "That's

not a bug, that's a feature!" is a common catchphrase. See also

{feetch feetch}, {creeping featurism}, {wart}, {green

lightning}.

The relationship among bugs, features, misfeatures, warts, and

miswarts might be clarified by the following hypothetical exchange

between two hackers on an airliner:

The Jargon File, Version 2.9.10, 01 Jul 1992 · 第 7 / 21 题