B: "Indeed."

`Undocumented feature' is a common, allegedly humorous euphemism

for a {bug}.

:feature creature: [poss. fr. slang `creature feature' for a

horror movie] n. 1. One who loves to add features to designs or

programs, perhaps at the expense of coherence, concision, or

{taste}. 2. Alternately, a semi-mythical being that induces

otherwise rational programmers to perpetrate such crocks. See also

{feeping creaturism}, {creeping featurism}.

:feature key: n. The Macintosh key with the cloverleaf graphic on

its keytop; sometimes referred to as `flower', `pretzel',

`clover', `propeller', `beanie' (an apparent reference to the

major feature of a propeller beanie), {splat}, or the `command

key'. The Mac's equivalent of an {alt} key. The proliferation

of terms for this creature may illustrate one subtle peril of

iconic interfaces.

Many people have been mystified by the cloverleaf-like symbol that

appears on the feature key. Its oldest name is `cross of St.

Hannes', but it occurs in pre-Christian Viking art as a decorative

motif. Throughout Scandinavia today the road agencies use it to

mark sites of historical interest. Many of these are old churches;

hence, the Swedish idiom for the symbol is `kyrka', cognate to

English `church' and Scots-dialect `kirk' but pronounced

/shir'k*/ in modern Swedish. This is in fact where Apple got the

symbol; they give the translation "interesting feature"!

:feature shock: [from Alvin Toffler's book title `Future

Shock'] n. A user's (or programmer's!) confusion when confronted

with a package that has too many features and poor introductory

material.

:featurectomy: /fee`ch*r-ek't*-mee/ n. The act of removing a

feature from a program. Featurectomies come in two flavors, the

`righteous' and the `reluctant'. Righteous featurectomies are

performed because the remover believes the program would be more

elegant without the feature, or there is already an equivalent and

better way to achieve the same end. (This is not quite the same

thing as removing a {misfeature}.) Reluctant featurectomies are

performed to satisfy some external constraint such as code size or

execution speed.

:feep: /feep/ 1. n. The soft electronic `bell' sound of a

display terminal (except for a VT-52); a beep (in fact, the

microcomputer world seems to prefer {beep}). 2. vi. To cause

the display to make a feep sound. ASR-33s (the original TTYs) do

not feep; they have mechanical bells that ring. Alternate forms:

{beep}, `bleep', or just about anything suitably

onomatopoeic. (Jeff MacNelly, in his comic strip "Shoe", uses

the word `eep' for sounds made by computer terminals and video

games; this is perhaps the closest written approximation yet.) The

term `breedle' was sometimes heard at SAIL, where the terminal

bleepers are not particularly soft (they sound more like the

musical equivalent of a raspberry or Bronx cheer; for a close

approximation, imagine the sound of a Star Trek communicator's beep

lasting for 5 seconds). The `feeper' on a VT-52 has been

compared to the sound of a '52 Chevy stripping its gears. See also

{ding}.

:feeper: /fee'pr/ n. The device in a terminal or workstation (usually

a loudspeaker of some kind) that makes the {feep} sound.

:feeping creature: [from {feeping creaturism}] n. An unnecessary

feature; a bit of {chrome} that, in the speaker's judgment, is

the camel's nose for a whole horde of new features.

:feeping creaturism: /fee'ping kree`ch*r-izm/ n. A deliberate

spoonerism for {creeping featurism}, meant to imply that the

system or program in question has become a misshapen creature of

hacks. This term isn't really well defined, but it sounds so neat

that most hackers have said or heard it. It is probably reinforced

by an image of terminals prowling about in the dark making their

customary noises.

:feetch feetch: /feech feech/ interj. If someone tells you about

some new improvement to a program, you might respond: "Feetch,

feetch!" The meaning of this depends critically on vocal

inflection. With enthusiasm, it means something like "Boy, that's

great! What a great hack!" Grudgingly or with obvious doubt, it

means "I don't know; it sounds like just one more unnecessary and

complicated thing". With a tone of resignation, it means, "Well,

I'd rather keep it simple, but I suppose it has to be done".

:fence: n. 1. A sequence of one or more distinguished

({out-of-band}) characters (or other data items), used to

delimit a piece of data intended to be treated as a unit (the

computer-science literature calls this a `sentinel'). The NUL

(ASCII 0000000) character that terminates strings in C is a fence.

Hex FF is also (though slightly less frequently) used this way.

See {zigamorph}. 2. [among users of optimizing compilers] Any

technique, usually exploiting knowledge about the compiler, that

blocks certain optimizations. Used when explicit mechanisms are

not available or are overkill. Typically a hack: "I call a dummy

procedure there to force a flush of the optimizer's

register-coloring info" can be expressed by the shorter "That's a

fence procedure".

:fencepost error: n. 1. A problem with the discrete equivalent of a

boundary condition. Often exhibited in programs by iterative

loops. From the following problem: "If you build a fence 100 feet

long with posts 10 feet apart, how many posts do you need?"

Either 9 or 11 is a better answer than the obvious 10. For

example, suppose you have a long list or array of items, and want

to process items m through n; how many items are there? The

obvious answer is n - m, but that is off by one; the right

answer is n - m + 1. A program that used the `obvious'

formula would have a fencepost error in it. See also {zeroth}

and {off-by-one error}, and note that not all off-by-one errors

are fencepost errors. The game of Musical Chairs involves a

catastrophic off-by-one error where N people try to sit in

N - 1 chairs, but it's not a fencepost error. Fencepost

errors come from counting things rather than the spaces between

them, or vice versa, or by neglecting to consider whether one

should count one or both ends of a row. 2. Occasionally, an error

induced by unexpectedly regular spacing of inputs, which can (for

instance) screw up your hash table.

:fepped out: /fept owt/ adj. The Symbolics 3600 Lisp Machine has a

Front-End Processor called a `FEP' (compare sense 2 of {box}).

When the main processor gets {wedged}, the FEP takes control of

the keyboard and screen. Such a machine is said to have

`fepped out'.

:FidoNet: n. A worldwide hobbyist network of personal computers

which exchange mail, discussion groups, and files. Founded in 1984

and originally consisting only of IBM PCs and compatibles, FidoNet

now includes such diverse machines as Apple ][s, Ataris, Amigas,

and UNIX systems. Though it is much younger than {USENET},

FidoNet is already (in early 1991) a significant fraction of

USENET's size at some 8000 systems.

:field circus: [a derogatory pun on `field service'] n. The field

service organization of any hardware manufacturer, but especially

DEC. There is an entire genre of jokes about DEC field circus

engineers:

Q: How can you recognize a DEC field circus engineer

with a flat tire?

A: He's changing one tire at a time to see which one is flat.

Q: How can you recognize a DEC field circus engineer

who is out of gas?

A: He's changing one tire at a time to see which one is flat.

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

There is also the `Field Circus Cheer' (from the {plan file} for

DEC on MIT-AI):

Maynard! Maynard!

Don't mess with us!

We're mean and we're tough!

If you get us confused

We'll screw up your stuff.

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

:field servoid: [play on `android'] /fee'ld ser'voyd/ n.

Representative of a field service organization (see {field

circus}). This has many of the implications of {droid}.

:Fight-o-net: [FidoNet] n. Deliberate distortion of {FidoNet},

often applied after a flurry of {flamage} in a particular

{echo}, especially the SYSOP echo or Fidonews (see {'Snooze}).

:File Attach: [FidoNet] 1. n. A file sent along with a mail message

from one BBS to another. 2. vt. Sending someone a file by using

the File Attach option in a BBS mailer.

:File Request: [FidoNet] 1. n. The {FidoNet} equivalent of

{FTP}, in which one BBS system automatically dials another and

{snarf}s one or more files. Often abbreviated `FReq'; files

are often announced as being "available for FReq" in the same way

that files are announced as being "available for/by anonymous

FTP" on the Internet. 2. vt. The act of getting a copy of a file

by using the File Request option of the BBS mailer.

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

:filk: /filk/ [from SF fandom, where a typo for `folk' was

adopted as a new word] n.,v. A `filk' is a popular or folk song

with lyrics revised or completely new lyrics, intended for humorous

effect when read and/or to be sung late at night at SF conventions.

There is a flourishing subgenre of these called `computer filks',

written by hackers and often containing rather sophisticated

technical humor. See {double bucky} for an example. Compare

{hing} and {newsfroup}.

:film at 11: [MIT: in parody of TV newscasters] 1. Used in

conversation to announce ordinary events, with a sarcastic

implication that these events are earth-shattering. "{{ITS}}

crashes; film at 11." "Bug found in scheduler; film at 11."

2. Also widely used outside MIT to indicate that additional

information will be available at some future time, *without*

the implication of anything particularly ordinary about the

referenced event. For example, "The mail file server died this

morning; we found garbage all over the root directory. Film at

11." would indicate that a major failure had occurred but the

people working on it have no additional information about it. Use

of the phrase in this way suggests gently people would appreciate

it if users would quit bothering them and wait for the 11:00 news

for additional information.

:filter: [orig. {{UNIX}}, now also in {{MS-DOS}}] n. A program that

processes an input data stream into an output data stream in some

well-defined way, and does no I/O to anywhere else except possibly

on error conditions; one designed to be used as a stage in a

`pipeline' (see {plumbing}).

:Finagle's Law: n. The generalized or `folk' version of

{Murphy's Law}, fully named "Finagle's Law of Dynamic

Negatives" and usually rendered "Anything that can go wrong,

will". One variant favored among hackers is "The perversity of

the Universe tends towards a maximum" (but see also {Hanlon's

Razor}). The label `Finagle's Law' was popularized by SF author

Larry Niven in several stories depicting a frontier culture of

asteroid miners; this `Belter' culture professed a religion

and/or running joke involving the worship of the dread god Finagle

and his mad prophet Murphy.

:fine: [WPI] adj. Good, but not good enough to be {cuspy}. The word

`fine' is used elsewhere, of course, but without the implicit

comparison to the higher level implied by {cuspy}.

:finger: [WAITS, via BSD UNIX] 1. n. A program that displays a

particular user or all users logged on the system or a remote

system. Typically shows full name, last login time, idle time,

terminal line, and terminal location (where applicable). May also

display a {plan file} left by the user. 2. vt. To apply finger

to a username. 3. vt. By extension, to check a human's current

state by any means. "Foodp?" "T!" "OK, finger Lisa and see

if she's idle." 4. Any picture (composed of ASCII characters)

depicting `the finger'. Originally a humorous component of one's

plan file to deter the curious fingerer (sense 2), it has entered

the arsenal of some {flamer}s.

:finger-pointing syndrome: n. All-too-frequent result of bugs, esp.

in new or experimental configurations. The hardware vendor points

a finger at the software. The software vendor points a finger

at the hardware. All the poor users get is the finger.

:finn: [IRC] v. To pull rank on somebody based on the amount of

time one has spent on {IRC}. The term derives from the fact

that IRC was originally written in Finland in 1987.

:firebottle: n. A large, primitive, power-hungry active electrical

device, similar in function to a FET but constructed out of glass,

metal, and vacuum. Characterized by high cost, low density, low

reliability, high-temperature operation, and high power

dissipation. Sometimes mistakenly called a `tube' in the U.S.

or a `valve' in England; another hackish term is {glassfet}.

:firefighting: n. 1. What sysadmins have to do to correct sudden

operational problems. An opposite of hacking. "Been hacking your

new newsreader?" "No, a power glitch hosed the network and I spent

the whole afternoon fighting fires." 2. The act of throwing lots

of manpower and late nights at a project, esp. to get it out

before deadline. See also {gang bang}, {Mongolian Hordes

technique}; however, the term `firefighting' connotes that the

effort is going into chasing bugs rather than adding features.

:firehose syndrome: n. In mainstream folklore it is observed that

trying to drink from a firehose can be a good way to rip your lips

off. On computer networks, the absence or failure of flow control

mechanisms can lead to situations in which the sending system

sprays a massive flood of packets at an unfortunate receiving

system; more than it can handle. Compare {overrun}, {buffer

overflow}.

:firewall code: n. The code you put in a system (say, a telephone

switch) to make sure that the users can't do any damage. Since

users always want to be able to do everything but never want to

suffer for any mistakes, the construction of a firewall is a

question not only of defensive coding but also of interface

presentation, so that users don't even get curious about those

corners of a system where they can burn themselves.

:firewall machine: n. A dedicated gateway machine with special

security precautions on it, used to service outside network

connections and dial-in lines. The idea is to protect a cluster of

more loosely administered machines hidden behind it from

{cracker}s. The typical firewall is an inexpensive micro-based

UNIX box kept clean of critical data, with a bunch of modems and

public network ports on it but just one carefully watched

connection back to the rest of the cluster. The special

precautions may include threat monitoring, callback, and even a

complete {iron box} keyable to particular incoming IDs or

activity patterns. Syn. {flytrap}, {Venus flytrap}.

:fireworks mode: n. The mode a machine is sometimes said to be in when

it is performing a {crash and burn} operation.

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

:fish: [Adelaide University, Australia] n. 1. Another {metasyntactic

variable}. See {foo}. Derived originally from the Monty Python

skit in the middle of "The Meaning of Life" entitled

"Find the Fish". 2. A pun for `microfiche'. A microfiche

file cabinet may be referred to as a `fish tank'.

:FISH queue: [acronym, by analogy with FIFO (First In, First Out)]

n. `First In, Still Here'. A joking way of pointing out that

processing of a particular sequence of events or requests has

stopped dead. Also `FISH mode' and `FISHnet'; the latter

may be applied to any network that is running really slowly or

exhibiting extreme flakiness.

:FITNR: // [Thinking Machines, Inc.] Fixed In the Next Release.

A written-only notation attached to bug reports. Often wishful

thinking.

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

times to be ignored.

:flag: n. A variable or quantity that can take on one of two

values; a bit, particularly one that is used to indicate one of two

outcomes or is used to control which of two things is to be done.

"This flag controls whether to clear the screen before printing

the message." "The program status word contains several flag

bits." Used of humans analogously to {bit}. See also

{hidden flag}, {mode bit}.

:flag day: n. A software change that is neither forward- nor

backward-compatible, and which is costly to make and costly to

reverse. "Can we install that without causing a flag day for all

users?" This term has nothing to do with the use of the word

{flag} to mean a variable that has two values. It came into use

when a massive change was made to the {{Multics}} timesharing

system to convert from the old ASCII code to the new one; this was

scheduled for Flag Day (a U.S. holiday), June 14, 1966. See also

{backward combatability}.

:flaky: adj. (var sp. `flakey') Subject to frequent {lossage}.

This use is of course related to the common slang use of the word

to describe a person as eccentric, crazy, or just unreliable. A

system that is flaky is working, sort of --- enough that you are

tempted to try to use it --- but fails frequently enough that the

odds in favor of finishing what you start are low. Commonwealth

hackish prefers {dodgy} or {wonky}.

:flamage: /flay'm*j/ n. Flaming verbiage, esp. high-noise,

low-signal postings to {USENET} or other electronic {fora}.

Often in the phrase `the usual flamage'. `Flaming' is the act

itself; `flamage' the content; a `flame' is a single flaming

message. See {flame}.

:flame: 1. vi. To post an email message intended to insult and

provoke. 2. vi. To speak incessantly and/or rabidly on some

relatively uninteresting subject or with a patently ridiculous

attitude. 3. vt. Either of senses 1 or 2, directed with

hostility at a particular person or people. 4. n. An instance of

flaming. When a discussion degenerates into useless controversy,

one might tell the participants "Now you're just flaming" or

"Stop all that flamage!" to try to get them to cool down (so to

speak).

USENETter Marc Ramsey, who was at WPI from 1972 to 1976, adds: "I

am 99% certain that the use of `flame' originated at WPI. Those

who made a nuisance of themselves insisting that they needed to use

a TTY for `real work' came to be known as `flaming asshole lusers'.

Other particularly annoying people became `flaming asshole ravers',

which shortened to `flaming ravers', and ultimately `flamers'. I

remember someone picking up on the Human Torch pun, but I don't

think `flame on/off' was ever much used at WPI." See also

{asbestos}.

The term may have been independently invented at several different

places; it is also reported that `flaming' was in use to mean

something like `interminably drawn-out semi-serious discussions'

(late-night bull sessions) at Carleton College during 1968--1971.

It's possible that the hackish sense of `flame' is much older than

that. The poet Chaucer was also what passed for a wizard hacker in

his time; he wrote a treatise on the astrolabe, the most advanced

computing device of the day. In Chaucer's `Troilus and

Cressida', Cressida laments her inability to grasp the proof of a

particular mathematical theorem; her uncle Pandarus then observes

that it's called "the fleminge of wrecches." This phrase seems

to have been intended in context as "that which puts the wretches

to flight" but was probably just as ambiguous in Middle English as

"the flaming of wretches" would be today. One suspects that

Chaucer would be right at home on USENET.

:flame bait: n. A posting intended to trigger a {flame war}, or one

that invites flames in reply.

:flame on: vi.,interj. 1. To begin to {flame}. The punning

reference to Marvel Comics's Human Torch is no longer widely

recognized. 2. To continue to flame. See {rave}, {burble}.

:flame war: n. (var. `flamewar') An acrimonious dispute,

especially when conducted on a public electronic forum such as

{USENET}.

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

{USENET} personalities.

:flap: vt. 1. To unload a DECtape (so it goes flap, flap,

flap...). Old-time hackers at MIT tell of the days when the

disk was device 0 and {microtape}s were 1, 2,... and

attempting to flap device 0 would instead start a motor banging

inside a cabinet near the disk. 2. By extension, to unload any

magnetic tape. See also {macrotape}. Modern cartridge tapes no

longer actually flap, but the usage has remained. (The term could

well be re-applied to DEC's TK50 cartridge tape drive, a

spectacularly misengineered contraption which makes a loud flapping

sound, almost like an old reel-type lawnmower, in one of its many

tape-eating failure modes.)

:flarp: /flarp/ [Rutgers University] n. Yet another {metasyntactic

variable} (see {foo}). Among those who use it, it is associated

with a legend that any program not containing the word `flarp'

somewhere will not work. The legend is discreetly silent on the

reliability of programs which *do* contain the magic word.

:flat: adj. 1. Lacking any complex internal structure. "That

{bitty box} has only a flat filesystem, not a hierarchical

one." The verb form is {flatten}. 2. Said of a memory

architecture (like that of the VAX or 680x0) that is one big linear

address space (typically with each possible value of a processor

register corresponding to a unique core address), as opposed to a

`segmented' architecture (like that of the 80x86) in which

addresses are composed from a base-register/offset pair (segmented

designs are generally considered {cretinous}).

Note that sense 1 (at least with respect to filesystems) is usually

used pejoratively, while sense 2 is a {Good Thing}.

:flat-ASCII: adj. Said of a text file that contains only 7-bit ASCII

characters and uses only ASCII-standard control characters (that

is, has no embedded codes specific to a particular text formatter

or markup language, and no {meta}-characters). Syn.

{plain-ASCII}. Compare {flat-file}.

:flat-file: adj. A {flatten}ed representation of some database or

tree or network structure as a single file from which the

structure could implicitly be rebuilt, esp. one in {flat-ASCII}

form.

:flatten: vt. To remove structural information, esp. to filter

something with an implicit tree structure into a simple sequence of

leaves; also tends to imply mapping to {flat-ASCII}. "This code

flattens an expression with parentheses into an equivalent

{canonical} form."

:flavor: n. 1. Variety, type, kind. "DDT commands come in two

flavors." "These lights come in two flavors, big red ones and

small green ones." See {vanilla}. 2. The attribute that causes

something to be {flavorful}. Usually used in the phrase "yields

additional flavor". "This convention yields additional flavor by

allowing one to print text either right-side-up or upside-down."

See {vanilla}. This usage was certainly reinforced by the

terminology of quantum chromodynamics, in which quarks (the

constituents of, e.g., protons) come in six flavors (up, down,

strange, charm, top, bottom) and three colors (red, blue, green)

--- however, hackish use of `flavor' at MIT predated QCD. 3. The

term for `class' (in the object-oriented sense) in the LISP Machine

Flavors system. Though the Flavors design has been superseded

(notably by the Common LISP CLOS facility), the term `flavor' is

still used as a general synonym for `class' by some LISP hackers.

:flavorful: adj. Full of {flavor}; esthetically pleasing. See

{random} and {losing} for antonyms. See also the entries for

{taste} and {elegant}.

:flippy: /flip'ee/ n. A single-sided floppy disk altered for

double-sided use by addition of a second write-notch, so called

because it must be flipped over for the second side to be

accessible. No longer common.

:flood: [IRC] v. To dump large amounts of text onto an {IRC}

channel. This is especially rude when the text is uninteresting

and the other users are trying to carry on a serious conversation.

:flowchart:: [techspeak] n. An archaic form of visual control-flow

specification employing arrows and `speech balloons' of various

shapes. Hackers never use flowcharts, consider them extremely

silly, and associate them with {COBOL} programmers, {card

walloper}s, and other lower forms of life. This is because (from a

hacker's point of view) they are no easier to read than code, are

less precise, and tend to fall out of sync with the code (so that

they either obfuscate it rather than explaining it or require

extra maintenance effort that doesn't improve the code). See also

{pdl}, sense 3.

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

:flush: v. 1. To delete something, usually superfluous, or to abort

an operation. "All that nonsense has been flushed." 2. [UNIX/C]

To force buffered I/O to disk, as with an `fflush(3)' call.

This is *not* an abort or deletion as in sense 1, but a

demand for early completion! 3. To leave at the end of a day's

work (as opposed to leaving for a meal). "I'm going to flush

now." "Time to flush." 4. To exclude someone from an activity,

or to ignore a person.

`Flush' was standard ITS terminology for aborting an output

operation; one spoke of the text that would have been printed, but

was not, as having been flushed. It is speculated that this term

arose from a vivid image of flushing unwanted characters by hosing

down the internal output buffer, washing the characters away before

they can be printed. The UNIX/C usage, on the other hand, was

propagated by the `fflush(3)' call in C's standard I/O library

(though it is reported to have been in use among BLISS programmers

at DEC and on Honeywell and IBM machines as far back as 1965).

UNIX/C hackers find the ITS usage confusing, and vice versa.

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

:Flyspeck 3: n. Standard name for any font that is so tiny as to be

unreadable (by analogy with such names as `Helvetica 10' for

10-point Helvetica). Legal boilerplate is usually printed in

Flyspeck 3.

:flytrap: n. See {firewall machine}.

:FM: n. *Not* `Frequency Modulation' but rather an

abbreviation for `Fucking Manual', the back-formation from

{RTFM}. Used to refer to the manual itself in the {RTFM}.

"Have you seen the Networking FM lately?"

:FOAF: // [USENET] n. Acronym for `Friend Of A Friend'. The

source of an unverified, possibly untrue story. This was not

originated by hackers (it is used in Jan Brunvand's books on urban

folklore), but is much better recognized on USENET and elsewhere

than in mainstream English.

:FOD: /fod/ v. [Abbreviation for `Finger of Death', originally a

spell-name from fantasy gaming] To terminate with extreme prejudice

and with no regard for other people. From {MUD}s where the

wizard command `FOD <player>' results in the immediate and total

death of <player>, usually as punishment for obnoxious behavior.

This migrated to other circumstances, such as "I'm going to fod

the process that is burning all the cycles." Compare {gun}.

In aviation, FOD means Foreign Object Damage, e.g., what happens

when a jet engine sucks up a rock on the runway or a bird in

flight. Finger of Death is a distressingly apt description of

what this does to the engine.

:fold case: v. See {smash case}. This term tends to be used

more by people who don't mind that their tools smash case. It also

connotes that case is ignored but case distinctions in data

processed by the tool in question aren't destroyed.

:followup: n. On USENET, a {posting} generated in response to

another posting (as opposed to a {reply}, which goes by email

rather than being broadcast). Followups include the ID of the

{parent message} in their headers; smart news-readers can use

this information to present USENET news in `conversation' sequence

rather than order-of-arrival. See {thread}.

:fontology: [XEROX PARC] n. The body of knowledge dealing with the

construction and use of new fonts (e.g. for window systems and

typesetting software). It has been said that fontology

recapitulates file-ogeny.

[Unfortunately, this reference to the embryological dictum that

"Ontogeny recapitulates phylogeny" is not merely a joke. On the

Macintosh, for example, System 7 has to go through contortions to

compensate for an earlier design error that created a whole

different set of abstractions for fonts parallel to `files' and

`folders' --- ESR]

:foo: /foo/ 1. interj. Term of disgust. 2. Used very generally

as a sample name for absolutely anything, esp. programs and files

(esp. scratch files). 3. First on the standard list of

{metasyntactic variable}s used in syntax examples. See also

{bar}, {baz}, {qux}, {quux}, {corge}, {grault},

{garply}, {waldo}, {fred}, {plugh}, {xyzzy},

{thud}.

The etymology of hackish `foo' is obscure. When used in

connection with `bar' it is generally traced to the WWII-era Army

slang acronym FUBAR (`Fucked Up Beyond All Recognition'), later

bowdlerized to {foobar}. (See also {FUBAR}).

However, the use of the word `foo' itself has more complicated

antecedents, including a long history in comic strips and cartoons.

The old "Smokey Stover" comic strips by Bill Holman often

included the word `FOO', in particular on license plates of cars;

allegedly, `FOO' and `BAR' also occurred in Walt Kelly's

"Pogo" strips. In the 1938 cartoon "Daffy Doc", a very

early version of Daffy Duck holds up a sign saying "SILENCE IS

FOO!"; oddly, this seems to refer to some approving or positive

affirmative use of foo. It has been suggested that this might be

related to the Chinese word `fu' (sometimes transliterated

`foo'), which can mean "happiness" when spoken with the proper

tone (the lion-dog guardians flanking the steps of many Chinese

restaurants are properly called "fu dogs").

It is even possible that hacker usage actually springs from

`FOO, Lampoons and Parody', the title of a comic book first

issued in September 1958; the byline read `C. Crumb' but the style

of the art suggests this may well have been a sort-of pseudonym for

noted weird-comix artist Robert Crumb. The title FOO was featured

in large letters on the front cover. What the word meant to Mr.

Crumb is anybody's guess.

An old-time member reports that in the 1959 `Dictionary of the

TMRC Language', compiled at {TMRC} there was an entry that went

something like this:

FOO: The first syllable of the sacred chant phrase "FOO MANE PADME

HUM." Our first obligation is to keep the foo counters turning.

For more about the legendary foo counters, see {TMRC}. Almost

the entire staff of what became the MIT AI LAB was involved with

TMRC, and probably picked the word up there.

Very probably, hackish `foo' had no single origin and derives

through all these channels from Yiddish `feh' and/or English

`fooey'.

:foobar: n. Another common {metasyntactic variable}; see {foo}.

Hackers do *not* generally use this to mean {FUBAR} in

either the slang or jargon sense.

:fool: n. As used by hackers, specifically describes a person who

habitually reasons from obviously or demonstrably incorrect

premises and cannot be persuaded by evidence to do otherwise; it is

not generally used in its other senses, i.e., to describe a person

with a native incapacity to reason correctly, or a clown. Indeed,

in hackish experience many fools are capable of reasoning all too

effectively in executing their errors. See also {cretin},

{loser}, {fool file, the}.

:fool file, the: [USENET] n. A notional repository of all the most

dramatically and abysmally stupid utterances ever. There is a

subgenre of {sig block}s that consists of the header "From the

fool file:" followed by some quote the poster wishes to represent

as an immortal gem of dimwittery; for this to be really effective,

the quote has to be so obviously wrong as to be laughable. More

than one USENETter has achieved an unwanted notoriety by being

quoted in this way.

:Foonly: n. 1. The {PDP-10} successor that was to have been built by

the Super Foonly project at the Stanford Artificial Intelligence

Laboratory along with a new operating system. The intention was to

leapfrog from the old DEC timesharing system SAIL was running to a

new generation, bypassing TENEX which at that time was the ARPANET

standard. ARPA funding for both the Super Foonly and the new

operating system was cut in 1974. Most of the design team went to

DEC and contributed greatly to the design of the PDP-10 model KL10.

2. The name of the company formed by Dave Poole, one of the

principal Super Foonly designers, and one of hackerdom's more

colorful personalities. Many people remember the parrot which sat

on Poole's shoulder and was a regular companion. 3. Any of the

machines built by Poole's company. The first was the F-1 (a.k.a.

Super Foonly), which was the computational engine used to create

the graphics in the movie "TRON". The F-1 was the fastest

PDP-10 ever built, but only one was ever made. The effort drained

Foonly of its financial resources, and they turned towards building

smaller, slower, and much less expensive machines. Unfortunately,

these ran not the popular {TOPS-20} but a TENEX variant called

Foonex; this seriously limited their market. Also, the machines

shipped were actually wire-wrapped engineering prototypes requiring

individual attention from more than usually competent site

personnel, and thus had significant reliability problems. Poole's

legendary temper and unwillingness to suffer fools gladly did not

help matters. By the time of the Jupiter project cancellation in

1983 Foonly's proposal to build another F-1 was eclipsed by the

{Mars}, and the company never quite recovered. See the

{Mars} entry for the continuation and moral of this story.

:footprint: n. 1. The floor or desk area taken up by a piece of

hardware. 2. [IBM] The audit trail (if any) left by a crashed

program (often in plural, `footprints'). See also

{toeprint}.

:for free: adj. Said of a capability of a programming language or

hardware equipment that is available by its design without needing

cleverness to implement: "In APL, we get the matrix operations for

free." "And owing to the way revisions are stored in this

system, you get revision trees for free." Usually it refers to a

serendipitous feature of doing things a certain way (compare

{big win}), but it may refer to an intentional but secondary

feature.

:for the rest of us: [from the Mac slogan "The computer for the

rest of us"] adj. 1. Used to describe a {spiffy} product whose

affordability shames other comparable products, or (more often)

used sarcastically to describe {spiffy} but very overpriced

products. 2. Describes a program with a limited interface,

deliberately limited capabilities, non-orthogonality, inability to

compose primitives, or any other limitation designed to not

`confuse' a na"ive user. This places an upper bound on how far

that user can go before the program begins to get in the way of the

task instead of helping accomplish it. Used in reference to

Macintosh software which doesn't provide obvious capabilities

because it is thought that the poor lusers might not be able to

handle them. Becomes `the rest of *them*' when used in

third-party reference; thus, "Yes, it is an attractive program,

but it's designed for The Rest Of Them" means a program that

superficially looks neat but has no depth beyond the surface flash.

See also {WIMP environment}, {Macintrash},

{point-and-drool interface}, {user-friendly}.

:for values of: [MIT] A common rhetorical maneuver at MIT is to use

any of the canonical {random numbers} as placeholders for

variables. "The max function takes 42 arguments, for arbitrary

values of 42." "There are 69 ways to leave your lover, for

69 = 50." This is especially likely when the speaker has uttered

a random number and realizes that it was not recognized as such,

but even `non-random' numbers are occasionally used in this

fashion. A related joke is that pi equals 3 --- for

small values of pi and large values of 3.

Historical note: this usage probably derives from the programming

language MAD (Michigan Algorithm Decoder), an Algol-like language

that was the most common choice among mainstream (non-hacker) users

at MIT in the mid-60s. It had a control structure FOR VALUES OF X

= 3, 7, 99 DO ... that would repeat the indicated instructions for

each value in the list (unlike the usual FOR that only works for

arithmetic sequences of values). MAD is long extinct, but similar

for-constructs still flourish (e.g. in UNIX's shell languages).

:fora: pl.n. Plural of {forum}.

:foreground: [UNIX] vt. To foreground a task is to bring it to

the top of one's {stack} for immediate processing, and hackers

often use it in this sense for non-computer tasks. "If your

presentation is due next week, I guess I'd better foreground

writing up the design document."

Technically, on a time-sharing system, a task executing in

foreground is one able to accept input from and return output to

the user; oppose {background}. Nowadays this term is primarily

associated with {{UNIX}}, but it appears first to have been used

in this sense on OS/360. Normally, there is only one foreground

task per terminal (or terminal window); having multiple processes

simultaneously reading the keyboard is a good way to {lose}.

:fork bomb: [UNIX] n. A particular species of {wabbit} that can

be written in one line of C (`main() {for(;;)fork();}') or shell

(`$0 & $0 &') on any UNIX system, or occasionally created by an

egregious coding bug. A fork bomb process `explodes' by

recursively spawning copies of itself (using the UNIX system call

`fork(2)'). Eventually it eats all the process table entries

and effectively wedges the system. Fortunately, fork bombs are

relatively easy to spot and kill, so creating one deliberately

seldom accomplishes more than to bring the just wrath of the gods

down upon the perpetrator. See also {logic bomb}.

:forked: [UNIX; prob. influenced by a mainstream expletive] adj.

Terminally slow, or dead. Originated when one system was slowed to

a snail's pace by an inadvertent {fork bomb}.

:Fortrash: /for'trash/ n. Hackerism for the FORTRAN language,

referring to its primitive design, gross and irregular syntax,

limited control constructs, and slippery, exception-filled

semantics.

:fortune cookie: [WAITS, via UNIX] n. A random quote, item of

trivia, joke, or maxim printed to the user's tty at login time or

(less commonly) at logout time. Items from this lexicon have often

been used as fortune cookies. See {cookie file}.

:forum: n. [USENET, GEnie, CI$; pl. `fora' or `forums'] Any

discussion group accessible through a dial-in {BBS}, a

{mailing list}, or a {newsgroup} (see {network, the}). A

forum functions much like a bulletin board; users submit

{posting}s for all to read and discussion ensues. Contrast

real-time chat via {talk mode} or point-to-point personal

{email}.

:fossil: n. 1. In software, a misfeature that becomes

understandable only in historical context, as a remnant of times

past retained so as not to break compatibility. Example: the

retention of octal as default base for string escapes in {C}, in

spite of the better match of hexadecimal to ASCII and modern

byte-addressable architectures. See {dusty deck}. 2. More

restrictively, a feature with past but no present utility.

Example: the force-all-caps (LCASE) bits in the V7 and {BSD}

UNIX tty driver, designed for use with monocase terminals. In a

perversion of the usual backward-compatibility goal, this

functionality has actually been expanded and renamed in some later

{USG UNIX} releases as the IUCLC and OLCUC bits. 3. The FOSSIL

(Fido/Opus/Seadog Standard Interface Level) driver specification

for serial-port access to replace the {brain-dead} routines in

the IBM PC ROMs. Fossils are used by most MS-DOS {BBS} software

in preference to the `supported' ROM routines, which do not support

interrupt-driven operation or setting speeds above 9600; the use of

a semistandard FOSSIL library is preferable to the {bare metal}

serial port programming otherwise required. Since the FOSSIL

specification allows additional functionality to be hooked in,

drivers that use the {hook} but do not provide serial-port

access themselves are named with a modifier, as in `video

fossil'.

:four-color glossies: 1. Literature created by {marketroid}s

that allegedly contains technical specs but which is in fact as

superficial as possible without being totally {content-free}.

"Forget the four-color glossies, give me the tech ref manuals."

Often applied as an indication of superficiality even when the

material is printed on ordinary paper in black and white.

Four-color-glossy manuals are *never* useful for finding a

problem. 2. [rare] Applied by extension to manual pages that don't

contain enough information to diagnose why the program doesn't

produce the expected or desired output.

:fragile: adj. Syn {brittle}.

:fred: n. 1. The personal name most frequently used as a

{metasyntactic variable} (see {foo}). Allegedly popular

because it's easy for a non-touch-typist to type on a standard

QWERTY keyboard. Unlike {J. Random Hacker} or `J. Random

Loser', this name has no positive or negative loading (but see

{Mbogo, Dr. Fred}). See also {barney}. 2. An acronym for

`Flipping Ridiculous Electronic Device'; other F-verbs may be

substituted for `flipping'.

:frednet: /fred'net/ n. Used to refer to some {random} and

uncommon protocol encountered on a network. "We're implementing

bridging in our router to solve the frednet problem."

:freeware: n. Free software, often written by enthusiasts and

distributed by users' groups, or via electronic mail, local

bulletin boards, {USENET}, or other electronic media. At one

time, `freeware' was a trademark of Andrew Fluegelman, the author

of the well-known MS-DOS comm program PC-TALK III. It wasn't

enforced after his mysterious disappearance and presumed death

in 1984. See {shareware}.

:freeze: v. To lock an evolving software distribution or document

against changes so it can be released with some hope of stability.

Carries the strong implication that the item in question will

`unfreeze' at some future date. "OK, fix that bug and we'll

freeze for release."

There are more specific constructions on this. A `feature freeze',

for example, locks out modifications intended to introduce new

features; a `code freeze' connotes no more changes at all.

At Sun Microsystems and elsewhere, one may also hear references to

`code slush' --- that is, an almost-but-not-quite frozen state.

:fried: adj. 1. Non-working due to hardware failure; burnt out.

Especially used of hardware brought down by a `power glitch' (see

{glitch}), {drop-outs}, a short, or some other electrical

event. (Sometimes this literally happens to electronic circuits!

In particular, resistors can burn out and transformers can melt

down, emitting noxious smoke --- see {friode}, {SED} and

{LER}. However, this term is also used metaphorically.)

Compare {frotzed}. 2. Of people, exhausted. Said particularly

of those who continue to work in such a state. Often used as an

explanation or excuse. "Yeah, I know that fix destroyed the file

system, but I was fried when I put it in." Esp. common in

conjunction with `brain': "My brain is fried today, I'm very

short on sleep."

:friode: /fri:'ohd/ [TMRC] n. A reversible (that is, fused or

blown) diode. Compare {fried}; see also {SED}, {LER}.

:fritterware: n. An excess of capability that serves no productive

end. The canonical example is font-diddling software on the Mac

(see {macdink}); the term describes anything that eats huge

amounts of time for quite marginal gains in function but seduces

people into using it anyway.

:frob: /frob/ 1. n. [MIT] The {TMRC} definition was "FROB = a

protruding arm or trunnion"; by metaphoric extension, a `frob'

is any random small thing; an object that you can comfortably hold

in one hand; something you can frob. See {frobnitz}. 2. vt.

Abbreviated form of {frobnicate}. 3. [from the {MUD} world]

A command on some MUDs that changes a player's

experience level (this can be used to make wizards); also, to

request {wizard} privileges on the `professional courtesy'

grounds that one is a wizard elsewhere. The command is actually

`frobnicate' but is universally abbreviated to the shorter form.

:frobnicate: /frob'ni-kayt/ vt. [Poss. derived from

{frobnitz}, and usually abbreviated to {frob}, but

`frobnicate' is recognized as the official full form.] To

manipulate or adjust, to tweak. One frequently frobs bits or other

2-state devices. Thus: "Please frob the light switch" (that is,

flip it), but also "Stop frobbing that clasp; you'll break it".

One also sees the construction `to frob a frob'. See {tweak}

and {twiddle}. Usage: frob, twiddle, and tweak sometimes

connote points along a continuum. `Frob' connotes aimless

manipulation; `twiddle' connotes gross manipulation, often a

coarse search for a proper setting; `tweak' connotes fine-tuning.

If someone is turning a knob on an oscilloscope, then if he's

carefully adjusting it, he is probably tweaking it; if he is just

turning it but looking at the screen, he is probably twiddling it;

but if he's just doing it because turning a knob is fun, he's

frobbing it. The variant `frobnosticate' has been recently

reported.

:frobnitz: /frob'nits/, pl. `frobnitzem' /frob'nit-zm/ or

`frobni' /frob'ni:/ [TMRC] n. An unspecified physical object, a

widget. Also refers to electronic black boxes. This rare form is

usually abbreviated to `frotz', or more commonly to {frob}.

Also used are `frobnule' (/frob'n[y]ool/) and `frobule'

(/frob'yool/). Starting perhaps in 1979, `frobozz'

/fr*-boz'/ (plural: `frobbotzim' /fr*-bot'zm/) has also

become very popular, largely through its exposure as a name via

{Zork}. These can also be applied to nonphysical objects, such

as data structures.

Pete Samson, compiler of the {TMRC} lexicon, adds, "Under the

TMRC [railroad] layout were many storage boxes, managed (in 1958)

by David R. Sawyer. Several had fanciful designations written on

them, such as `Frobnitz Coil Oil'. Perhaps DRS intended Frobnitz

to be a proper name, but the name was quickly taken for the

thing". This was almost certainly the origin of the term.

:frog: alt. `phrog' 1. interj. Term of disgust (we seem to have

a lot of them). 2. Used as a name for just about anything. See

{foo}. 3. n. Of things, a crock. 4. n. Of people, somewhere

in between a turkey and a toad. 5. `froggy': adj. Similar to

`bagbiting' (see {bagbiter}), but milder. "This froggy

program is taking forever to run!"

:frogging: [University of Waterloo] v. 1. Partial corruption of a text

file or input stream by some bug or consistent glitch, as opposed

to random events like line noise or media failures. Might occur,

for example, if one bit of each incoming character on a tty were

stuck, so that some characters were correct and others were not.

See {terminak} for a historical example. 2. By extension,

accidental display of text in a mode where the output device emits

special symbols or mnemonics rather than conventional ASCII. Often

happens, for example, when using a terminal or comm program on a

device like an IBM PC with a special `high-half' character set and

with the bit-parity assumption wrong. A hacker sufficiently

familiar with ASCII bit patterns might be able to read the display

anyway.

:front end: n. 1. An intermediary computer that does set-up and

filtering for another (usually more powerful but less friendly)

machine (a `back end'). 2. What you're talking to when you

have a conversation with someone who is making replies without

paying attention. "Look at the dancing elephants!" "Uh-huh."

"Do you know what I just said?" "Sorry, you were talking to the

front end." See also {fepped out}. 3. Software that provides

an interface to another program `behind' it, which may not be as

user-friendly. Probably from analogy with hardware front-ends (see

sense 1) that interfaced with mainframes.

:frotz: /frots/ 1. n. See {frobnitz}. 2. `mumble frotz': An

interjection of very mild disgust.

:frotzed: /frotst/ adj. {down} because of hardware problems. Compare

{fried}. A machine that is merely frotzed may be fixable

without replacing parts, but a fried machine is more seriously

damaged.

:frowney: n. (alt. `frowney face') See {emoticon}.

:fry: 1. vi. To fail. Said especially of smoke-producing hardware

failures. More generally, to become non-working. Usage: never

said of software, only of hardware and humans. See {fried},

{magic smoke}. 2. vt. To cause to fail; to {roach}, {toast},

or {hose} a piece of hardware. Never used of software or humans,

but compare {fried}.

:FTP: /F-T-P/, *not* /fit'ip/ 1. [techspeak] n. The File

Transfer Protocol for transmitting files between systems on the

Internet. 2. vt. To {beam} a file using the File Transfer

Protocol. 3. Sometimes used as a generic even for file transfers

not using {FTP}. "Lemme get a copy of `Wuthering

Heights' ftp'd from uunet."

:FUBAR: n. The Failed UniBus Address Register in a VAX. A good

example of how jargon can occasionally be snuck past the {suit}s;

see {foobar}, and {foo} for a fuller etymology.

:fuck me harder: excl. Sometimes uttered in response to egregious

misbehavior, esp. in software, and esp. of misbehaviors which

seem unfairly persistent (as though designed in by the imp of the

perverse). Often theatrically elaborated: "Aiighhh! Fuck me with

a piledriver and 16 feet of curare-tipped wrought-iron fence

*and no lubricants*!" The phrase is sometimes heard

abbreviated `FMH' in polite company.

[This entry is an extreme example of the hackish habit of coining

elaborate and evocative terms for lossage. Here we see a quite

self-conscious parody of mainstream expletives that has become a

running gag in part of the hacker culture; it illustrates the

hackish tendency to turn any situation, even one of extreme

frustration, into an intellectual game (the point being, in this

case, to creatively produce a long-winded description of the

most anatomically absurd mental image possible --- the short forms

implicitly allude to all the ridiculous long forms ever spoken).

Scatological language is actually relatively uncommon among

hackers, and there was some controversy over whether this entry

ought to be included at all. As it reflects a live usage

recognizably peculiar to the hacker culture, we feel it is

in the hackish spirit of truthfulness and opposition to all

forms of censorship to record it here. --ESR & GLS]

:FUD: /fuhd/ n. Defined by Gene Amdahl after he left IBM to found

his own company: "FUD is the fear, uncertainty, and doubt that IBM

sales people instill in the minds of potential customers who might

be considering [Amdahl] products." The idea, of course, was to

persuade them to go with safe IBM gear rather than with

competitors' equipment. This was traditionally done by promising

that Good Things would happen to people who stuck with IBM, but

Dark Shadows loomed over the future of competitors' equipment or

software. See {IBM}.

:FUD wars: /fuhd worz/ n. [from {FUD}] Political posturing engaged in

by hardware and software vendors ostensibly committed to

standardization but actually willing to fragment the market to

protect their own shares. The UNIX International vs. OSF conflict

is but one outstanding example.

:fudge: 1. vt. To perform in an incomplete but marginally acceptable

way, particularly with respect to the writing of a program. "I

didn't feel like going through that pain and suffering, so I fudged

it --- I'll fix it later." 2. n. The resulting code.

:fudge factor: n. A value or parameter that is varied in an ad hoc way

to produce the desired result. The terms `tolerance' and

{slop} are also used, though these usually indicate a one-sided

leeway, such as a buffer that is made larger than necessary

because one isn't sure exactly how large it needs to be, and it is

better to waste a little space than to lose completely for not

having enough. A fudge factor, on the other hand, can often be

tweaked in more than one direction. A good example is the `fuzz'

typically allowed in floating-point calculations: two numbers being

compared for equality must be allowed to differ by a small amount;

if that amount is too small, a computation may never terminate,

while if it is too large, results will be needlessly inaccurate.

Fudge factors are frequently adjusted incorrectly by programmers

who don't fully understand their import. See also {coefficient

of X}.

:fuel up: vi. To eat or drink hurriedly in order to get back to

hacking. "Food-p?" "Yeah, let's fuel up." "Time for a

{great-wall}!" See also {{oriental food}}.

:fuggly: /fuhg'lee/ adj. Emphatic form of {funky}; funky +

ugly). Unusually for hacker jargon, this may actually derive from

black street-jive. To say it properly, the first syllable should

be growled rather than spoken. Usage: humorous. "Man, the

{{ASCII}}-to-{{EBCDIC}} code in that printer driver is

*fuggly*." See also {wonky}.

:fum: [XEROX PARC] n. At PARC, often the third of the standard

{metasyntactic variable}s (after {foo} and {bar}. Competes

with {baz}, which is more common outside PARC.

:funky: adj. Said of something that functions, but in a slightly

strange, klugey way. It does the job and would be difficult to

change, so its obvious non-optimality is left alone. Often used to

describe interfaces. The more bugs something has that nobody has

bothered to fix because workarounds are easier, the funkier it is.

{TECO} and UUCP are funky. The Intel i860's exception handling is

extraordinarily funky. Most standards acquire funkiness as they

age. "The new mailer is installed, but is still somewhat funky;

if it bounces your mail for no reason, try resubmitting it."

"This UART is pretty funky. The data ready line is active-high in

interrupt mode and active-low in DMA mode." See {fuggly}.

:funny money: n. 1. Notional `dollar' units of computing time and/or

storage handed to students at the beginning of a computer course;

also called `play money' or `purple money' (in implicit

opposition to real or `green' money). In New Zealand and Germany

the odd usage `paper money' has been recorded; in Gremany, the

particularly amusing synonym `transfer rouble' commemmorates the

worthlessness of the ex-USSR's currency. When your funny money

ran out, your account froze and you needed to go to a professor to

get more. Fortunately, the plunging cost of timesharing cycles has

made this less common. The amounts allocated were almost

invariably too small, even for the non-hackers who wanted to slide

by with minimum work. In extreme cases, the practice led to

small-scale black markets in bootlegged computer accounts. 2. By

extension, phantom money or quantity tickets of any kind used as a

resource-allocation hack within a system. Antonym: `real

money'.

:fuzzball: [TCP/IP hackers] n. A DEC LSI-11 running a particular

suite of homebrewed software written by Dave Mills and assorted

co-conspirators, used in the early 1980s for Internet protocol

testbedding and experimentation. These were used as NSFnet

backbone sites in its early 56KB-line days; a few are still active

on the Internet as of early 1991, doing odd jobs such as network

time service.

= G =

=====

:G: [SI] pref.,suff. See {{quantifiers}}.

:gabriel: /gay'bree-*l/ [for Dick Gabriel, SAIL LISP hacker and

volleyball fanatic] n. An unnecessary (in the opinion of the

opponent) stalling tactic, e.g., tying one's shoelaces or combing

one's hair repeatedly, asking the time, etc. Also used to refer to

the perpetrator of such tactics. Also, `pulling a Gabriel',

`Gabriel mode'.

:gag: vi. Equivalent to {choke}, but connotes more disgust. "Hey,

this is FORTRAN code. No wonder the C compiler gagged." See also

{barf}.

:gang bang: n. The use of large numbers of loosely coupled

programmers in an attempt to wedge a great many features into a

product in a short time. Though there have been memorable gang

bangs (e.g., that over-the-weekend assembler port mentioned in

Steven Levy's `Hackers'), most are perpetrated by large

companies trying to meet deadlines and produce enormous buggy

masses of code entirely lacking in {orthogonal}ity. When

market-driven managers make a list of all the features the

competition has and assign one programmer to implement each, they

often miss the importance of maintaining a coherent design. See

also {firefighting}, {Mongolian Hordes technique},

{Conway's Law}.

:garbage collect: vi. (also `garbage collection', n.) See {GC}.

:garply: /gar'plee/ [Stanford] n. Another metasyntactic variable (see

{foo}); once popular among SAIL hackers.

:gas: [as in `gas chamber'] 1. interj. A term of disgust and

hatred, implying that gas should be dispensed in generous

quantities, thereby exterminating the source of irritation. "Some

loser just reloaded the system for no reason! Gas!" 2. interj. A

suggestion that someone or something ought to be flushed out of

mercy. "The system's getting {wedged} every few minutes.

Gas!" 3. vt. To {flush} (sense 1). "You should gas that old

crufty software." 4. [IBM] n. Dead space in nonsequentially

organized files that was occupied by data that has been deleted;

the compression operation that removes it is called `degassing' (by

analogy, perhaps, with the use of the same term in vacuum

technology). 5. [IBM] n. Empty space on a disk that has been

clandestinely allocated against future need.

:gaseous: adj. Deserving of being {gas}sed. Disseminated by

Geoff Goodfellow while at SRI; became particularly popular after

the Moscone-Milk killings in San Francisco, when it was learned

that the defendant Dan White (a politician who had supported

Proposition 7) would get the gas chamber under Proposition 7 if

convicted of first-degree murder (he was eventually convicted of

manslaughter).

:GC: /G-C/ [from LISP terminology; `Garbage Collect']

1. vt. To clean up and throw away useless things. "I think I'll

GC the top of my desk today." When said of files, this is

equivalent to {GFR}. 2. vt. To recycle, reclaim, or put to

another use. 3. n. An instantiation of the garbage collector

process.

`Garbage collection' is computer-science jargon for a particular

class of strategies for dynamically reallocating computer memory.

One such strategy involves periodically scanning all the data in

memory and determining what is no longer accessible; useless data

items are then discarded so that the memory they occupy can be

recycled and used for another purpose. Implementations of the LISP

language usually use garbage collection.

In jargon, the full phrase is sometimes heard but the {abbrev} is

more frequently used because it is shorter. Note that there is an

ambiguity in usage that has to be resolved by context: "I'm going

to garbage-collect my desk" usually means to clean out the

drawers, but it could also mean to throw away or recycle the desk

itself.

:GCOS:: /jee'kohs/ n. A {quick-and-dirty} {clone} of

System/360 DOS that emerged from GE around 1970; originally called

GECOS (the General Electric Comprehensive Operating System). Later

kluged to support primitive timesharing and transaction processing.

After the buyout of GE's computer division by Honeywell, the name

was changed to General Comprehensive Operating System (GCOS).

Other OS groups at Honeywell began referring to it as `God's Chosen

Operating System', allegedly in reaction to the GCOS crowd's

uninformed and snotty attitude about the superiority of their

product. All this might be of zero interest, except for two facts:

(1) The GCOS people won the political war, and this led in the

orphaning and eventual death of Honeywell {{Multics}}, and

(2) GECOS/GCOS left one permanent mark on UNIX. Some early UNIX

systems at Bell Labs used GCOS machines for print spooling and

various other services; the field added to `/etc/passwd' to

carry GCOS ID information was called the `GECOS field' and

survives today as the `pw_gecos' member used for the user's

full name and other human-ID information. GCOS later played a

major role in keeping Honeywell a dismal also-ran in the mainframe

market, and was itself ditched for UNIX in the late 1980s when

Honeywell retired its aging {big iron} designs.

:GECOS:: /jee'kohs/ n. See {{GCOS}}.

:gedanken: /g*-don'kn/ adj. Ungrounded; impractical; not

well-thought-out; untried; untested. `Gedanken' is a German word

for `thought'. A thought experiment is one you carry out in your

head. In physics, the term `gedanken experiment' is used to

refer to an experiment that is impractical to carry out, but useful

to consider because you can reason about it theoretically. (A

classic gedanken experiment of relativity theory involves thinking

about a man in an elevator accelerating through space.) Gedanken

experiments are very useful in physics, but you have to be careful.

It's too easy to idealize away some important aspect of the real

world in contructing your `apparatus'.

Among hackers, accordingly, the word has a pejorative connotation.

It is said of a project, especially one in artificial intelligence

research, that is written up in grand detail (typically as a Ph.D.

thesis) without ever being implemented to any great extent. Such a

project is usually perpetrated by people who aren't very good

hackers or find programming distasteful or are just in a hurry. A

`gedanken thesis' is usually marked by an obvious lack of

intuition about what is programmable and what is not, and about

what does and does not constitute a clear specification of an

algorithm. See also {AI-complete}, {DWIM}.

:geef: v. [ostensibly from `gefingerpoken'] vt. Syn. {mung}. See

also {blinkenlights}.

:geek out: vi. To temporarily enter techno-nerd mode while in a

non-hackish context, for example at parties held near computer

equipment. Especially used when you need to do something highly

technical and don't have time to explain: "Pardon me while I geek

out for a moment." See {computer geek}.

:gen: /jen/ n.,v. Short for {generate}, used frequently in both spoken

and written contexts.

:gender mender: n. A cable connector shell with either two male or two

female connectors on it, used to correct the mismatches that result

when some {loser} didn't understand the RS232C specification and

the distinction between DTE and DCE. Used esp. for RS-232C

parts in either the original D-25 or the IBM PC's bogus D-9 format.

Also called `gender bender', `gender blender', `sex

changer', and even `homosexual adapter'; however, there appears

to be some confusion as to whether a `male homosexual adapter' has

pins on both sides (is male) or sockets on both sides (connects two

males).

:General Public Virus: n. Pejorative name for some versions of the

{GNU} project {copyleft} or General Public License (GPL), which

requires that any tools or {app}s incorporating copylefted code

must be source-distributed on the same counter-commercial terms as

GNU stuff. Thus it is alleged that the copyleft `infects' software

generated with GNU tools, which may in turn infect other software

that reuses any of its code. The Free Software Foundation's

official position as of January 1991 is that copyright law limits

the scope of the GPL to "programs textually incorporating

significant amounts of GNU code", and that the `infection' is not

passed on to third parties unless actual GNU source is transmitted

(as in, for example, use of the Bison parser skeleton).

Nevertheless, widespread suspicion that the {copyleft} language

is `boobytrapped' has caused many developers to avoid using GNU

tools and the GPL. Recent (July 1991) changes in the language of

the version 2.00 license may eliminate this problem.

:generate: vt. To produce something according to an algorithm or

program or set of rules, or as a (possibly unintended) side effect

of the execution of an algorithm or program. The opposite of

{parse}. This term retains its mechanistic connotations (though

often humorously) when used of human behavior. "The guy is

rational most of the time, but mention nuclear energy around him

and he'll generate {infinite} flamage."

:gensym: /jen'sim/ [from MacLISP for `generated symbol'] 1. v.

To invent a new name for something temporary, in such a way that

the name is almost certainly not in conflict with one already in

use. 2. n. The resulting name. The canonical form of a gensym is

`Gnnnn' where nnnn represents a number; any LISP hacker would

recognize G0093 (for example) as a gensym. 3. A freshly generated

data structure with a gensymmed name. These are useful for storing

or uniquely identifying crufties (see {cruft}).

:Get a life!: imp. Hacker-standard way of suggesting that the person

to whom you are speaking has succumbed to terminal geekdom (see

{computer geek}). Often heard on {USENET}, esp. as a way of

suggesting that the target is taking some obscure issue of

{theology} too seriously. This exhortation was popularized by

William Shatner on a "Saturday Night Live" episode in a speech that

ended "Get a *life*!", but some respondents believe it to

have been in use before then. It was certainly in wide use among

hackers for at least five years before achieving mainstream

currency around early 1992.

:Get a real computer!: imp. Typical hacker response to news that

somebody is having trouble getting work done on a system that

(a) is single-tasking, (b) has no hard disk, or (c) has an address

space smaller than 4 megabytes. This is as of mid-1991; note that

the threshold for `real computer' rises with time, and it may well

be (for example) that machines with character-only displays will be

generally considered `unreal' in a few years (GLS points out that

they already are in some circles). See {essentials}, {bitty

box}, and {toy}.

:GFR: /G-F-R/ vt. [ITS] From `Grim File Reaper', an ITS and Lisp

Machine utility. To remove a file or files according to some

program-automated or semi-automatic manual procedure, especially

one designed to reclaim mass storage space or reduce name-space

clutter (the original GFR actually moved files to tape). Often

generalized to pieces of data below file level. "I used to have

his phone number, but I guess I {GFR}ed it." See also

{prowler}, {reaper}. Compare {GC}, which discards only

provably worthless stuff.

:gig: /jig/ or /gig/ [SI] n. See {{quantifiers}}.

:giga-: /ji'ga/ or /gi'ga/ [SI] pref. See {{quantifiers}}.

:GIGO: /gi:'goh/ [acronym] 1. `Garbage In, Garbage Out' ---

usually said in response to {luser}s who complain that a program

didn't complain about faulty data. Also commonly used to describe

failures in human decision making due to faulty, incomplete, or

imprecise data. 2. `Garbage In, Gospel Out': this more recent

expansion is a sardonic comment on the tendency human beings have

to put excessive trust in `computerized' data.

:gilley: [USENET] n. The unit of analogical bogosity. According to

its originator, the standard for one gilley was "the act of

bogotoficiously comparing the shutting down of 1000 machines for a

day with the killing of one person". The milligilley has been

found to suffice for most normal conversational exchanges.

:gillion: /gil'y*n/ or /jil'y*n/ [formed from {giga-} by analogy

with mega/million and tera/trillion] n. 10^9. Same as an

American billion or a British `milliard'. How one pronounces

this depends on whether one speaks {giga-} with a hard or

soft `g'.

:GIPS: /gips/ or /jips/ [analogy with {MIPS}] n.

Giga-Instructions per Second (also possibly `Gillions of

Instructions per Second'; see {gillion}). In 1991, this is used

of only a handful of highly parallel machines, but this is expected

to change. Compare {KIPS}.

:glark: /glark/ vt. To figure something out from context. "The

System III manuals are pretty poor, but you can generally glark the

meaning from context." Interestingly, the word was originally

`glork'; the context was "This gubblick contains many

nonsklarkish English flutzpahs, but the overall pluggandisp can be

glorked [sic] from context" (David Moser, quoted by Douglas

Hofstadter in his "Metamagical Themas" column in the

January 1981 `Scientific American'). It is conjectured that

hackish usage mutated the verb to `glark' because {glork} was

already an established jargon term. Compare {grok},

{zen}.

:glass: [IBM] n. Synonym for {silicon}.

:glass tty: /glas T-T-Y/ or /glas ti'tee/ n. A terminal that

has a display screen but which, because of hardware or software

limitations, behaves like a teletype or some other printing

terminal, thereby combining the disadvantages of both: like a

printing terminal, it can't do fancy display hacks, and like a

display terminal, it doesn't produce hard copy. An example is the

early `dumb' version of Lear-Siegler ADM 3 (without cursor

control). See {tube}, {tty}; compare {dumb terminal}, {smart

terminal}. See "{TV Typewriters}" (appendix A) for an

interesting true story about a glass tty.

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