B: "Indeed."

`Undocumented feature' is a common, allegedly humorous euphemism

for a {bug}. There's a related joke that is sometimes referred

to as the "one-question geek test". You say to someone "I saw a

Volkswagen Beetle today with a vanity license plate that read

FEATURE". If he/she laughs, he/she is a geek (see {computer

geek}, sense #2).

:feature creature: /n./ [poss. fr. slang `creature feature'

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

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

{taste}. 2. Alternately, a 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. Apple picked up the symbol from

an early Mac developer who happened to be Swedish. Apple

documentation gives the translation "interesting feature"!

There is some dispute as to the proper (Swedish) name of this

symbol. It technically stands for the word `sev"ardhet'

(interesting feature); many of these are old churches. Some Swedes

report as an idiom for it the word `kyrka', cognate to English

`church' and Scots-dialect `kirk' but pronounced /shir'k*/ in

modern Swedish. Others say this is nonsense. Another idiom

reported for the sign is `runsten' /roon'stn/, derived from

the fact that many of the interesting features are Viking

rune-stones.

:feature shock: /n./ [from Alvin Toffler's book title

"Future Shock"] 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. (Doing so 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 five 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: /n./ [from {feeping creaturism}] 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. An extra data value inserted in an array or

other data structure in order to allow some normal test on the

array's contents also to function as a termination test. For

example, a highly optimized routine for finding a value in an array

might artificially place a copy of the value to be searched for

after the last slot of the array, thus allowing the main search

loop to search for the value without having to check at each pass

whether the end of the array had been reached. 3. [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. [rare] An error

induced by unexpected regularities in input values, which can (for

instance) completely thwart a theoretically efficient binary tree

or hash table implementation. (The error here involves the

difference between expected and worst case behaviors of an

algorithm.)

: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' or `dropped into the fep'.

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

computers which exchanges 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. FidoNet has grown rapidly

and in early 1996 has approximately 38000 nodes.

:field circus: /n./ [a derogatory pun on `field service'] 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: /n./ [FidoNet] 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/ /n.,v./ [from SF fandom, where a typo for

`folk' was adopted as a new word] 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 {grilf}, {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 that the

people working on it have no additional information about it as

yet; use of the phrase in this way suggests gently that the problem

is liable to be fixed more quickly if the people doing the fixing

can spend time doing the fixing rather than responding to

questions, the answers to which will appear on the normal "11:00

news", if people will just be patient.

:filter: /n./ [orig. {{Unix}}, now also in {{MS-DOS}}] 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}). Compare {sponge}.

: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. Some technical and scientific cultures

(e.g., paleontologists) know it under the name `Sod's Law'; this

usage may be more common in Great Britain.

:fine: /adj./ [WPI] 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

information about 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

(see also {Hacking X for Y}). 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 trouble: /n./ Mistyping, typos, or generalized keyboard

incompetence (this is surprisingly common among hackers, given the

amount of time they spend at keyboards). "I keep putting colons at

the end of statements instead of semicolons", "Finger trouble

again, eh?".

: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: /v./ [IRC] 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. There may be

some influence from the `Finn' character in William Gibson's

seminal cyberpunk novel "Count Zero", who at one point says to

another (much younger) character "I have a pair of shoes older

than you are, so shut up!"

: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./ 1. 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.

2. Any sanity check inserted to catch a {can't happen} error.

Wise programmers often change code to fix a bug twice: once to fix

the bug, and once to insert a firewall which would have arrested

the bug before it did quite as much damage.

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

[When first coined in the mid-1980s this term was pure jargon. Now

(1996) it is borderline techspeak, and may have to be dropped from

this lexicon before very long --ESR]

: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/ /n./ Syn. {stiffy} (a 3.5-inch floppy

disk).

:fish: /n./ [Adelaide University, Australia] 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: /n./ [acronym, by analogy with FIFO (First In,

First Out)] `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: // /adj./ [Thinking Machines, Inc.] Fixed In The

Often Next Release. A written-only notation attached to bug

reports.

wishful thinking.

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

too many times to be ignored.

:FIXME: /imp./ A standard tag often put in C comments near a

piece of code that needs work. The point of doing so is that a

`grep' or a similar pattern-matching tool can find all such

places quickly.

/* FIXME: note this is common in {GNU} code. */

Compare {XXX}.

: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}, also {dahmum}.

: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).

The term may have been independently invented at several different

places. It has been reported from MIT, Carleton College and RPI

(among many other places) from as far back as 1969.

It is 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 feel right at home on Usenet.

:flame bait: /n./ A posting intended to trigger a {flame

war}, or one that invites flames in reply. See also {troll}.

: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/ /n./ [Rutgers University] 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 markup language, or output device, 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. See also {sharchive}.

: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} (sense 2); 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: /v./ [IRC] 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:: /n./ [techspeak] 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 attitude follows from the observations that flowcharts (at

least from a hacker's point of view) 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: /n./ [Mac users] 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 could 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 names like `Helvetica 10' for

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

Flyspeck 3.

:flytrap: /n./ See {firewall machine}.

:FM: /F-M/ /n./ 1. *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?"

2. Abbreviation for "Fucking Magic", used in the sense of

{black magic}.

:fnord: /n./ [from the "Illuminatus Trilogy"] 1. A word

used in email and news postings to tag utterances as surrealist

mind-play or humor, esp. in connection with {Discordianism} and

elaborate conspiracy theories. "I heard that David Koresh is

sharing an apartment in Argentina with Hitler. (Fnord.)" "Where

can I fnord get the Principia Discordia from?" 2. A

{metasyntactic variable}, commonly used by hackers with ties to

{Discordianism} or the {Church of the SubGenius}.

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

The source of an unverified, possibly untrue story. This term 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 usage 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 generally 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: /n./ [XEROX PARC] 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 Repair'), 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 "The 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").

Paul Dickson's excellent book "Words" (Dell, 1982, ISBN

0-440-52260-7) traces "Foo" to an unspecified British naval

magazine in 1946, quoting as follows: "Mr. Foo is a mysterious

Second World War product, gifted with bitter omniscience and

sarcasm."

Other sources confirm that `FOO' was a semi-legendary subject of

WWII British-army graffiti more-or-less equivalent to the American

Kilroy. Where British troops went, the graffito "FOO was here"

or something similar showed up. Several slang dictionaries aver

that FOO probably came from Forward Observation Officer. In this

connection, the later American military slang `foo fighters' is

interesting; at least as far back as the 1950s, radar operators

used it for the kind of mysterious or spurious trace that would

later be called a UFO (the older term resurfaced in popular

American usage in 1995 via the name of one of the better

grunge-rock bands).

Earlier versions of this entry suggested the possibility that

hacker usage actually sprang from "FOO, Lampoons and Parody",

the title of a comic book first issued in September 1958, a joint

project of Charles and Robert Crumb. Though Robert Crumb (then in

his mid-teens) later became one of the most important and

influential artists in underground comics, this venture was hardly

a success; indeed, the brothers later burned most of the existing

copies in disgust. The title FOO was featured in large letters on

the front cover. However, very few copies of this comic actually

circulated, and students of Crumb's `oeuvre' have established

that this title was a reference to the earlier Smokey Stover

comics.

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

The Algol 68-R compiler used to initialize its storage to the

character string "F00LF00LF00LF00L..." because as a pointer or as

a floating point number it caused a crash, and as an integer or a

character string it was very recognizable in a dump. Sadly, one

day a very senior professor at Nottingham University wrote a

program that called him a fool. He proceeded to demonstrate the

correctness of this assertion by lobbying the university (not quite

successfully) to forbid the use of Algol on its computers. See

also {DEADBEEF}.

:fool file, the: /n./ [Usenet] A notional repository of all the

most dramatically and abysmally stupid utterances ever. An entire

subgenre of {sig block}s 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 usage 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 then 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 the company 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}.

3. "RAM footprint": The minimum amount of RAM which an OS or other

program takes; this figure gives one one an idea of how much will

be left for other applications. How actively this RAM is used is

another matter entirely. Recent tendencies to featuritis and

software bloat can expand the RAM footprint of an OS to the point

of making it nearly unusable in practice. [This problem is,

thankfully, limited to operating systems so stupid that they don't

do virtual memory -- ESR]

:for free: /adj./ Said of a capability of a programming

language or hardware 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." The term

usually 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: /adj./ [from the Mac slogan "The computer

for the rest of us"] 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 naive 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: at MIT this usage has traditionally been traced to

the programming language MAD (Michigan Algorithm Decoder), an

Algol-58-like language that was the most common choice among

mainstream (non-hacker) users at MIT in the mid-60s. It inherited

from Algol-58 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: /vt./ [Unix] To bring a task 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: /n./ [Unix] 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: /adj./ [Unix; prob. influenced by a mainstream

expletive] 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

(FORmula TRANslator) language, referring to its primitive design,

gross and irregular syntax, limited control constructs, and

slippery, exception-filled semantics.

:fortune cookie: /n./ [WAITS, via Unix] 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: /n./ 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 solving 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}, {FRS}.

: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 term. A `feature

freeze', for example, locks out modifications intended to introduce

new features but still allows bugfixes and completion of existing

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."

:frink: /frink/ /v./ The unknown ur-verb, fill in your own

meaning. Found esp. on the Usenet newsgroup alt.fan.lemurs,

where it is said that the lemurs know what `frink' means, but

they aren't telling. Compare {gorets}.

:friode: /fri:'ohd/ /n./ [TMRC] 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. See also {window

shopping}.

: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 (sense 2).

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:/ /n./ [TMRC] 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 variants can also be applied to nonphysical

objects, such as data structures.

Pete Samson, compiler of the original {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}, 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 and compare

{dread high-bit disease}. 2. By extension, accidental display

of text in a mode where the output device emits special symbols or

mnemonics rather than conventional ASCII. This 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 mildest 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}.

:FRS: // /n./ Abbreviation for "Freely Redistributable

Software" which entered general use on the Internet in 1995 after

years of low-level confusion over what exactly to call software

written to be passed around and shared (contending terms including

{freeware}, {shareware}, and `sourceware' were never

universally felt to be satisfactory for various subtle reasons).

The first formal conference on freely redistributable software was

held in Cambridge, Massachussetts, in February 1996 (sponsored by

the

Free Software Foundation). The conference organizers used the FRS

abbreviation heavily in its calls for papers and other literature

during 1995; this was probably critical in helping establish the

term.

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

:FSF: /F-S-F/ /abbrev./ Common abbreviation (both spoken and

written) for the name of the Free Software Foundation, a nonprofit

educational association formed to support the {GNU}

project.

: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 implicit coercion was traditionally

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

:Full Monty, the: /n./ See {monty}, sense 2.

:fum: /n./ [XEROX PARC] 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."

: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

Germany, the particularly amusing synonym `transfer ruble'

commemmorates the funny money used for trade between COMECON

countries back when the Soviet Bloc still existed. 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'.

:furrfu: // /excl./ [Usenet] Written-only equivalent of

"Sheesh!"; it is, in fact, "sheesh" modified by {rot13}.

Evolved in mid-1992 as a response to notably silly postings

repeating urban myths on the Usenet newsgroup

alt.folklore.urban, after some posters complained that

"Sheesh!" as a response to {newbie}s was being overused. See

also {FOAF}.

:fuzzball: /n./ [TCP/IP hackers] 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 were still

active on the Internet as late as mid-1993, doing odd jobs such as

network time service.

= G =

=====

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

:g-file: /n./ [Commodore BBS culture] Any file that is written

with the intention of being read by a human rather than a machine,

such as the Jargon File, documentation, humor files, hacker lore,

and technical materials.

This term survives from the nearly forgotten Commodore 64

underground and BBS community. In the early 80s, C-Net had emerged

as the most popular C64 BBS software for systems which encouraged

messaging (as opposed to file transfer). There were three main

options for files: Program files (p-files), which served the same

function as `doors' in today's systems, UD files (the user

upload/download section), and g-files. Anything that was meant to

be read was included in g-files.

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

hacker and volleyball fanatic] 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; the inevitable result is

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, the probability of maintaining a coherent (or even

functional) design goes infinitesimal. See also {firefighting},

{Mongolian Hordes technique}, {Conway's Law}.

:garbage collect: /vi./ (also `garbage collection', n.) See

{GC}.

:garply: /gar'plee/ /n./ [Stanford] 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 since 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).

:gawble: /gaw'bl/ /n./ See {chawmp}.

: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 techspeak for a

particular class of strategies for dynamically but transparently

reallocating computer memory (i.e., without requiring explicit

allocation and deallocation by higher-level software). 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}

GC 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*-dahn'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 it can

be reasoned about 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 must be used with care. It's too easy to idealize

away some important aspect of the real world in constructing the

`apparatus'.

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

It is typically used 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 code: /n./ (also "Code of the Geeks"). A set of

codes commonly used in {sig block}s to broadcast the interests,

skills, and aspirations of the poster. Features a G at the left

margin followed by numerous letter codes, often suffixed with

plusses or minuses. Because many net users are involved in

computer science, the most common prefix is `GCS'. To see a copy

of the current code, browse

http://krypton.mankato.msus.edu/~hayden/geek.html. Here is a

sample geek code (that or Robert Hayden, the code's inventor) from

that page:

-----BEGIN GEEK CODE BLOCK-----

Version: 3.1

GED/J d-- s:++>: a- C++(++++)$ ULUO++ P+>+++ L++ !E---- W+(---) N+++

o+ K+++ w+(---) O- M+$>++ V-- PS++(+++)>$ PE++(+)>$ Y++ PGP++ t- 5+++

X++ R+++>$ tv+ b+ DI+++ D+++ G+++++>$ e++$>++++ h r-- y+**

------END GEEK CODE BLOCK------

The geek code originated in 1993; it was inspired (according to the

inventor) by previous "bear", "smurf" and "twink"

style-and-sexual-preference codes from lesbian and gay

{newsgroup}s. It has in turn spawned imitators; there is now

even a "Saturn geek code" for owners of the Saturn car. See also

{computer geek}.

: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 or say something

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

I geek out for a moment." See {computer geek}; see also

{propeller head}.

: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 doubly 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."

:Genius From Mars Technique: /n./ [TMRC] A visionary quality

which enables one to ignore the standard approach and come up with

a totally unexpected new algorithm. An attack on a problem from an

offbeat angle that no one has ever thought of before, but that in

retrospect makes total sense. Compare {grok}, {zen}.

: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. Gensymmed names are useful

for storing or uniquely identifying crufties (see {cruft}).

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

person to whom it is directed 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 in 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 16 megabytes. This is as of early 1996; note

that the threshold for `real computer' rises with time. See

{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.

:GIFs at 11: [Fidonet] Fidonet alternative to {film at

11}, especially in echoes (Fidonet topic areas) where uuencoded

GIFs are permitted. Other formats, especially JPEG and MPEG,

may be referenced instead.

:gig: /jig/ or /gig/ /n./ [SI] See {{quantifiers}}.

:giga-: /ji'ga/ or /gi'ga/ /pref./ [SI] 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 "do the right thing" when given imperfect input or

otherwise mistreated in some way. 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: /n./ [Usenet] 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/ /n./ [formed from

{giga-} by analogy with mega/million and tera/trillion]

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/ /n./ [analogy with {MIPS}]

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: /n./ [IBM] 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.

:glassfet: /glas'fet/ /n./ [by analogy with MOSFET, the

acronym for `Metal-Oxide-Semiconductor Field-Effect Transistor']

Syn. {firebottle}, a humorous way to refer to a vacuum tube.

:glitch: /glich/ [from German `glitschig' to slip, via

Yiddish `glitshen', to slide or skid] 1. /n./ A sudden interruption

in electric service, sanity, continuity, or program function.

Sometimes recoverable. An interruption in electric service is

specifically called a `power glitch' (also {power hit}), of

grave concern because it usually crashes all the computers. In

jargon, though, a hacker who got to the middle of a sentence and

then forgot how he or she intended to complete it might say,

"Sorry, I just glitched". 2. /vi./ To commit a glitch. See

{gritch}. 3. /vt./ [Stanford] To scroll a display screen, esp.

several lines at a time. {{WAITS}} terminals used to do this in

order to avoid continuous scrolling, which is distracting to the

eye. 4. obs. Same as {magic cookie}, sense 2.

All these uses of `glitch' derive from the specific technical

meaning the term has in the electronic hardware world, where it is

now techspeak. A glitch can occur when the inputs of a circuit

change, and the outputs change to some {random} value for some

very brief time before they settle down to the correct value. If

another circuit inspects the output at just the wrong time, reading

the random value, the results can be very wrong and very hard to

debug (a glitch is one of many causes of electronic {heisenbug}s).

:glob: /glob/, *not* /glohb/ /v.,n./ [Unix] To expand

special characters in a wildcarded name, or the act of so doing

(the action is also called `globbing'). The Unix conventions for

filename wildcarding have become sufficiently pervasive that many

hackers use some of them in written English, especially in email or

news on technical topics. Those commonly encountered include the

following:

*

wildcard for any string (see also {UN*X})

?

wildcard for any single character (generally read this way

only at the beginning or in the middle of a word)

[]

delimits a wildcard matching any of the enclosed characters

{}

alternation of comma-separated alternatives; thus,

`foo{baz,qux}' would be read as `foobaz' or `fooqux'

Some examples: "He said his name was [KC]arl" (expresses

ambiguity). "I don't read talk.politics.*" (any of the

talk.politics subgroups on {Usenet}). Other examples are given

under the entry for {X}. Note that glob patterns are similar,

but not identical, to those used in {regexp}s.

Historical note: The jargon usage derives from `glob', the

name of a subprogram that expanded wildcards in archaic pre-Bourne

versions of the Unix shell.

:glork: /glork/ 1. /interj./ Term of mild surprise, usually

tinged with outrage, as when one attempts to save the results of

two hours of editing and finds that the system has just crashed.

2. Used as a name for just about anything. See {foo}.

3. /vt./ Similar to {glitch}, but usually used reflexively. "My

program just glorked itself." See also {glark}.

:glue: /n./ Generic term for any interface logic or protocol

that connects two component blocks. For example, {Blue Glue} is

IBM's SNA protocol, and hardware designers call anything used to

connect large VLSI's or circuit blocks `glue logic'.

:gnarly: /nar'lee/ /adj./ Both {obscure} and {hairy}

(sense 1). "{Yow!} -- the tuned assembler implementation of

BitBlt is really gnarly!" From a similar but less specific usage

in surfer slang.

:GNU: /gnoo/, *not* /noo/ 1. [acronym: `GNU's Not

Unix!', see {{recursive acronym}}] A Unix-workalike development

effort of the Free Software Foundation headed by Richard Stallman

<rms@gnu.ai.mit.edu>. GNU EMACS and the GNU C compiler, two

tools designed for this project, have become very popular in

hackerdom and elsewhere. The GNU project was designed partly to

proselytize for RMS's position that information is community

property and all software source should be shared. One of its

slogans is "Help stamp out software hoarding!" Though this

remains controversial (because it implicitly denies any right of

designers to own, assign, and sell the results of their labors),

many hackers who disagree with RMS have nevertheless cooperated to

produce large amounts of high-quality software for free

redistribution under the Free Software Foundation's imprimatur.

See {EMACS}, {copyleft}, {General Public Virus},

{Linux}. 2. Noted Unix hacker John Gilmore <gnu@toad.com>,

founder of Usenet's anarchic alt.* hierarchy.

:GNUMACS: /gnoo'maks/ /n./ [contraction of `GNU EMACS']

Often-heard abbreviated name for the {GNU} project's flagship

tool, {EMACS}. Used esp. in contrast with {GOSMACS}.

:go flatline: /v./ [from cyberpunk SF, refers to flattening of

EEG traces upon brain-death] (also adjectival `flatlined'). 1. To

{die}, terminate, or fail, esp. irreversibly. In hacker

parlance, this is used of machines only, human death being

considered somewhat too serious a matter to employ jargon-jokes

about. 2. To go completely quiescent; said of machines undergoing

controlled shutdown. "You can suffer file damage if you shut down

Unix but power off before the system has gone flatline." 3. Of a

video tube, to fail by losing vertical scan, so all one sees is a

bright horizontal line bisecting the screen.

:go root: /vi./ [Unix] To temporarily enter {root mode} in

order to perform a privileged operation. This use is deprecated in

Australia, where /v./ `root' refers to animal sex.

:go-faster stripes: /n./ [UK] Syn. {chrome}. Mainstream in

some parts of UK.

:gobble: /vt./ 1. To consume, usu. used with `up'. "The

output spy gobbles characters out of a {tty} output buffer."

2. To obtain, usu. used with `down'. "I guess I'll gobble down

a copy of the documentation tomorrow." See also {snarf}.

:Godwin's Law: /prov./ [Usenet] "As a Usenet discussion grows

longer, the probability of a comparison involving Nazis or Hitler

approaches one." There is a tradition in many groups that, once

this occurs, that thread is over, and whoever mentioned the Nazis

has automatically lost whatever argument was in progress. Godwin's

Law thus practically guarantees the existence of an upper bound on

thread length in those groups.

:Godzillagram: /god-zil'*-gram/ /n./ [from Japan's national

hero] 1. A network packet that in theory is a broadcast to every

machine in the universe. The typical case is an IP datagram whose

destination IP address is [255.255.255.255]. Fortunately, few

gateways are foolish enough to attempt to implement this case!

2. A network packet of maximum size. An IP Godzillagram has 65,536

octets. Compare {super source quench}.

:golden: /adj./ [prob. from folklore's `golden egg'] When

used to describe a magnetic medium (e.g., `golden disk',

`golden tape'), describes one containing a tested, up-to-spec,

ready-to-ship software version. Compare {platinum-iridium}.

:golf-ball printer: /n. obs./ The IBM 2741, a slow but

letter-quality printing device and terminal based on the IBM

Selectric typewriter. The `golf ball' was a little spherical

frob bearing reversed embossed images of 88 different characters

arranged on four parallels of latitude; one could change the font

by swapping in a different golf ball. The print element spun and

jerked alarmingly in action and when in motion was sometimes

described as an `infuriated golf ball'. This was the technology

that enabled APL to use a non-EBCDIC, non-ASCII, and in fact

completely non-standard character set. This put it 10 years ahead

of its time -- where it stayed, firmly rooted, for the next 20,

until character displays gave way to programmable bit-mapped

devices with the flexibility to support other character sets.

:gonk: /gonk/ /vi.,n./ 1. To prevaricate or to embellish the

truth beyond any reasonable recognition. In German the term is

(mythically) `gonken'; in Spanish the verb becomes `gonkar'.

"You're gonking me. That story you just told me is a bunch of

gonk." In German, for example, "Du gonkst mir" (You're pulling

my leg). See also {gonkulator}. 2. [British] To grab some

sleep at an odd time; compare {gronk out}.

:gonkulator: /gon'kyoo-lay-tr/ /n./ [from the old

"Hogan's Heroes" TV series] A pretentious piece of equipment

that actually serves no useful purpose. Usually used to describe

one's least favorite piece of computer hardware. See {gonk}.

:gonzo: /gon'zoh/ /adj./ [from Hunter S. Thompson]

Overwhelming; outrageous; over the top; very large, esp. used of

collections of source code, source files, or individual functions.

Has some of the connotations of {moby} and {hairy}, but

without the implication of obscurity or complexity.

:Good Thing: /n.,adj./ Often capitalized; always pronounced as

if capitalized. 1. Self-evidently wonderful to anyone in a

position to notice: "The Trailblazer's 19.2Kbaud PEP mode with

on-the-fly Lempel-Ziv compression is a Good Thing for sites

relaying netnews." 2. Something that can't possibly have any ill

side-effects and may save considerable grief later: "Removing the

self-modifying code from that shared library would be a Good

Thing." 3. When said of software tools or libraries, as in "YACC

is a Good Thing", specifically connotes that the thing has

drastically reduced a programmer's work load. Oppose {Bad

Thing}.

:gopher: /n./ A type of Internet service first floated around

1991 and now (1994) being obsolesced by the World Wide Web. Gopher

presents a menuing interface to a tree or graph of links;

the links can be to documents, runnable programs, or other gopher

menus arbitrarily far across the net.

Some claim that the gopher software, which was originally developed

at the University of Minnesota, was named after the Minnesota

Gophers (a sports team). Others claim the word derives from

American slang `gofer' (from "go for", dialectical "go fer"),

one whose job is to run and fetch things. Finally, observe that

gophers (aka woodchucks) dig long tunnels, and the idea of

tunneling through the net to find information was a defining

metaphor for the developers. Probably all three things were true,

but with the first two coming first and the gopher-tunnel metaphor

serendipitously adding flavor and impetus to the project as it

developed out of its concept stage.

:gopher hole: /n./ 1. Any access to a {gopher}. 2. [Amateur

Packet Radio] The terrestrial analog of a {wormhole} (sense

2), from which this term was coined. A gopher hole links two

amateur packet relays through some non-ham radio medium.

:gorets: /gor'ets/ /n./ The unknown ur-noun, fill in your own

meaning. Found esp. on the Usenet newsgroup alt.gorets, which

seems to be a running contest to redefine the word by implication

in the funniest and most peculiar way, with the understanding that

no definition is ever final. [A correspondent from the Former

Soviet Union informs me that `gorets' is Russian for `mountain

dweller' --ESR] Compare {frink}.

:gorilla arm: /n./ The side-effect that destroyed touch-screens

as a mainstream input technology despite a promising start in the

early 1980s. It seems the designers of all those {spiffy}

touch-menu systems failed to notice that humans aren't designed to

hold their arms in front of their faces making small motions.

After more than a very few selections, the arm begins to feel sore,

cramped, and oversized -- the operator looks like a gorilla while

using the touch screen and feels like one afterwards. This is now

considered a classic cautionary tale to human-factors designers;

"Remember the gorilla arm!" is shorthand for "How is this going

to fly in *real* use?".

:gorp: /gorp/ /n./ [CMU: perhaps from the canonical hiker's

food, Good Old Raisins and Peanuts] Another {metasyntactic

variable}, like {foo} and {bar}.

:GOSMACS: /goz'maks/ /n./ [contraction of `Gosling EMACS']

The first {EMACS}-in-C implementation, predating but now largely

eclipsed by {GNUMACS}. Originally freeware; a commercial

version is now modestly popular as `UniPress EMACS'. The author,

James Gosling, went on to invent {NeWS} and the programming

language Java; the latter earned him {demigod} status.

:Gosperism: /gos'p*r-izm/ /n./ A hack, invention, or saying

due to arch-hacker R. William (Bill) Gosper. This notion merits

its own term because there are so many of them. Many of the

entries in {HAKMEM} are Gosperisms; see also {life}.

:gotcha: /n./ A {misfeature} of a system, especially a

programming language or environment, that tends to breed bugs or

mistakes because it both enticingly easy to invoke and completely

unexpected and/or unreasonable in its outcome. For example, a

classic gotcha in {C} is the fact that `if (a=b) {code;}'

is syntactically valid and sometimes even correct. It puts the

value of `b' into `a' and then executes `code' if

`a' is non-zero. What the programmer probably meant was

`if (a==b) {code;}', which executes `code' if `a'

and `b' are equal.

:GPL: /G-P-L/ /n./ Abbreviation for `General Public

License' in widespread use; see {copyleft}, {General Public

Virus}.

:GPV: /G-P-V/ /n./ Abbrev. for {General Public Virus} in

widespread use.

:grault: /grawlt/ /n./ Yet another {metasyntactic

variable}, invented by Mike Gallaher and propagated by the

{GOSMACS} documentation. See {corge}.

:gray goo: /n./ A hypothetical substance composed of

{sagan}s of sub-micron-sized self-replicating robots programmed

to make copies of themselves out of whatever is available. The

image that goes with the term is one of the entire biosphere of

Earth being eventually converted to robot goo. This is the

simplest of the {{nanotechnology}} disaster scenarios, easily

refuted by arguments from energy requirements and elemental

abundances. Compare {blue goo}.

:Great Renaming: /n./ The {flag day} in 1985 on which all of

the non-local groups on the {Usenet} had their names changed

from the net.- format to the current multiple-hierarchies scheme.

Used esp. in discussing the history of newsgroup names. "The

oldest sources group is comp.sources.misc; before the Great

Renaming, it was net.sources."

:Great Runes: /n./ Uppercase-only text or display messages.

Some archaic operating systems still emit these. See also

{runes}, {smash case}, {fold case}.

Decades ago, back in the days when it was the sole supplier of

long-distance hardcopy transmittal devices, the Teletype

Corporation was faced with a major design choice. To shorten code

lengths and cut complexity in the printing mechanism, it had been

decided that teletypes would use a monocase font, either ALL UPPER

or all lower. The Question Of The Day was therefore, which one to

choose. A study was conducted on readability under various

conditions of bad ribbon, worn print hammers, etc. Lowercase won;

it is less dense and has more distinctive letterforms, and is thus

much easier to read both under ideal conditions and when the

letters are mangled or partly obscured. The results were filtered

up through {management}. The chairman of Teletype killed the

proposal because it failed one incredibly important criterion:

"It would be impossible to spell the name of the Deity

correctly."

In this way (or so, at least, hacker folklore has it) superstition

triumphed over utility. Teletypes were the major input devices on

most early computers, and terminal manufacturers looking for

corners to cut naturally followed suit until well into the 1970s.

Thus, that one bad call stuck us with Great Runes for thirty years.

:Great Worm, the: /n./ The 1988 Internet {worm} perpetrated

by {RTM}. This is a play on Tolkien (compare {elvish},

{elder days}). In the fantasy history of his Middle Earth

books, there were dragons powerful enough to lay waste to entire

regions; two of these (Scatha and Glaurung) were known as "the

Great Worms". This usage expresses the connotation that the RTM

hack was a sort of devastating watershed event in hackish history;

certainly it did more to make non-hackers nervous about the

Internet than anything before or since.

:great-wall: /vi.,n./ [from SF fandom] A mass expedition to an

oriental restaurant, esp. one where food is served family-style

and shared. There is a common heuristic about the amount of food

to order, expressed as "Get N - 1 entrees"; the value of

N, which is the number of people in the group, can be

inferred from context (see {N}). See {{oriental food}},

{ravs}, {stir-fried random}.

:Green Book: /n./ 1. One of the three standard {{PostScript}}

references: "PostScript Language Program Design", bylined

`Adobe Systems' (Addison-Wesley, 1988; QA76.73.P67P66 ISBN

0-201-14396-8); see also {Red Book}, {Blue Book}, and the

{White Book} (sense 2). 2. Informal name for one of the three

standard references on SmallTalk: "Smalltalk-80: Bits of

History, Words of Advice", by Glenn Krasner (Addison-Wesley, 1983;

QA76.8.S635S58; ISBN 0-201-11669-3) (this, too, is associated with

blue and red books). 3. The "X/Open Compatibility Guide",

which defines an international standard {{Unix}} environment that

is a proper superset of POSIX/SVID; also includes descriptions of a

standard utility toolkit, systems administrations features, and the

like. This grimoire is taken with particular seriousness in

Europe. See {Purple Book}. 4. The IEEE 1003.1 POSIX Operating

Systems Interface standard has been dubbed "The Ugly Green Book".

5. Any of the 1992 standards issued by the CCITT's tenth plenary

assembly. These include, among other things, the X.400 email

standard and the Group 1 through 4 fax standards. See also

{{book titles}}.

:green bytes: /n./ (also `green words') 1. Meta-information

embedded in a file, such as the length of the file or its name; as

opposed to keeping such information in a separate description file

or record. The term comes from an IBM user's group meeting

(ca. 1962) at which these two approaches were being debated and the

diagram of the file on the blackboard had the `green bytes' drawn

in green. 2. By extension, the non-data bits in any

self-describing format. "A GIF file contains, among other things,

green bytes describing the packing method for the image." Compare

{out-of-band}, {zigamorph}, {fence} (sense 1).

:green card: /n./ [after the "IBM System/360 Reference

Data" card] A summary of an assembly language, even if the color is

not green. Less frequently used now because of the decrease in the

use of assembly language. "I'll go get my green card so I can

check the addressing mode for that instruction." Some green cards

are actually booklets.

The original green card became a yellow card when the System/370

was introduced, and later a yellow booklet. An anecdote from IBM

refers to a scene that took place in a programmers' terminal room

at Yorktown in 1978. A {luser} overheard one of the programmers

ask another "Do you have a green card?" The other grunted and

passed the first a thick yellow booklet. At this point the luser

turned a delicate shade of olive and rapidly left the room, never

to return.

:green lightning: /n./ [IBM] 1. Apparently random flashing

streaks on the face of 3278-9 terminals while a new symbol set is

being downloaded. This hardware bug was left deliberately unfixed,

as some genius within IBM suggested it would let the user know that

`something is happening'. That, it certainly does. Later

microprocessor-driven IBM color graphics displays were actually

*programmed* to produce green lightning! 2. [proposed] Any

bug perverted into an alleged feature by adroit rationalization or

marketing. "Motorola calls the CISC cruft in the 88000

architecture `compatibility logic', but I call it green

lightning". See also {feature} (sense 6).

:green machine: /n./ A computer or peripheral device that has

been designed and built to military specifications for field

equipment (that is, to withstand mechanical shock, extremes of

temperature and humidity, and so forth). Comes from the olive-drab

`uniform' paint used for military equipment.

:Green's Theorem: /prov./ [TMRC] For any story, in any group of

people there will be at least one person who has not heard the

story. A refinement of the theorem states that there will be

*exactly* one person (if there were more than one, it wouldn't

be as bad to re-tell the story). [The name of this theorem is a

play on a fundamental theorem in calculus. --ESR]

:grep: /grep/ /vi./ [from the qed/ed editor idiom g/re/p,

where re stands for a regular expression, to Globally search

for the Regular Expression and Print the lines containing matches

to it, via {{Unix}} `grep(1)'] To rapidly scan a file or set

of files looking for a particular string or pattern (when browsing

through a large set of files, one may speak of `grepping

around'). By extension, to look for something by pattern. "Grep

the bulletin board for the system backup schedule, would you?"

See also {vgrep}.

:grilf: // /n./ Girlfriend. Like {newsfroup} and

{filk}, a typo reincarnated as a new word. Seems to have

originated sometime in 1992 on {Usenet}. [A friend tells me

there was a Lloyd Biggle SF novel "Watchers Of The Dark", in

which alien species after species goes insane and begins to chant

"Grilf! Grilf!". A human detective eventually determines that

the word means "Liar!" I hope this has nothing to do with the

popularity of the Usenet term. --ESR]

:grind: /vt./ 1. [MIT and Berkeley] To prettify hardcopy of

code, especially LISP code, by reindenting lines, printing keywords

and comments in distinct fonts (if available), etc. This usage was

associated with the MacLISP community and is now rare;

{prettyprint} was and is the generic term for such

operations. 2. [Unix] To generate the formatted version of a

document from the {{nroff}}, {{troff}}, {{TeX}}, or Scribe

source. 3. To run seemingly interminably, esp. (but not

necessarily) if performing some tedious and inherently useless

task. Similar to {crunch} or {grovel}. Grinding has a

connotation of using a lot of CPU time, but it is possible to grind

a disk, network, etc. See also {hog}. 4. To make the whole

system slow. "Troff really grinds a PDP-11." 5. `grind grind'

/excl./ Roughly, "Isn't the machine slow today!"

:grind crank: /n./ A mythical accessory to a terminal. A

crank on the side of a monitor, which when operated makes a zizzing

noise and causes the computer to run faster. Usually one does not

refer to a grind crank out loud, but merely makes the appropriate

gesture and noise. See {grind} and {wugga wugga}.

Historical note: At least one real machine actually had a grind

crank -- the R1, a research machine built toward the end of the

days of the great vacuum tube computers, in 1959. R1 (also known

as `The Rice Institute Computer' (TRIC) and later as `The Rice

University Computer' (TRUC)) had a single-step/free-run switch for

use when debugging programs. Since single-stepping through a large

program was rather tedious, there was also a crank with a cam and

gear arrangement that repeatedly pushed the single-step button.

This allowed one to `crank' through a lot of code, then slow

down to single-step for a bit when you got near the code of

interest, poke at some registers using the console typewriter, and

then keep on cranking.

:gripenet: /n./ [IBM] A wry (and thoroughly unofficial) name

for IBM's internal VNET system, deriving from its common use by

IBMers to voice pointed criticism of IBM management that would be

taboo in more formal channels.

:gritch: /grich/ [MIT] 1. /n./ A complaint (often caused by a

{glitch}). 2. /vi./ To complain. Often verb-doubled: "Gritch

gritch". 3. A synonym for {glitch} (as verb or noun).

Interestingly, this word seems to have a separate history from

{glitch}, with which it is often confused. Back in the early

1960s, when `glitch' was strictly a hardware-tech's term of art,

the Burton House dorm at M.I.T. maintained a "Gritch Book", a

blank volume, into which the residents hand-wrote complaints,

suggestions, and witticisms. Previous years' volumes of this

tradition were maintained, dating back to antiquity. The word

"gritch" was described as a portmanteau of "gripe" and

"bitch". Thus, sense 3 above is at least historically incorrect.

:grok: /grok/, var. /grohk/ /vt./ [from the novel

"Stranger in a Strange Land", by Robert A. Heinlein, where it

is a Martian word meaning literally `to drink' and metaphorically

`to be one with'] The emphatic form is `grok in

fullness'. 1. To understand, usually in a global sense. Connotes

intimate and exhaustive knowledge. Contrast {zen}, which is

similar supernal understanding experienced as a single brief flash.

See also {glark}. 2. Used of programs, may connote merely

sufficient understanding. "Almost all C compilers grok the

`void' type these days."

:gronk: /gronk/ /vt./ [popularized by Johnny Hart's comic

strip "B.C." but the word apparently predates that] 1. To

clear the state of a wedged device and restart it. More severe

than `to {frob}' (sense 2). 2. [TMRC] To cut, sever, smash,

or similarly disable. 3. The sound made by many 3.5-inch diskette

drives. In particular, the microfloppies on a Commodore Amiga go

"grink, gronk".

:gronk out: /vi./ To cease functioning. Of people, to go home

and go to sleep. "I guess I'll gronk out now; see you all

tomorrow."

:gronked: /adj./ 1. Broken. "The teletype scanner was

gronked, so we took the system down." 2. Of people, the condition

of feeling very tired or (less commonly) sick. "I've been chasing

that bug for 17 hours now and I am thoroughly gronked!" Compare

{broken}, which means about the same as {gronk} used of

hardware, but connotes depression or mental/emotional problems in

people.

:grovel: /vi./ 1. To work interminably and without apparent

progress. Often used transitively with `over' or `through'.

"The file scavenger has been groveling through the /usr

directories for 10 minutes now." Compare {grind} and

{crunch}. Emphatic form: `grovel obscenely'. 2. To examine

minutely or in complete detail. "The compiler grovels over the

entire source program before beginning to translate it." "I

grovelled through all the documentation, but I still couldn't find

the command I wanted."

:grunge: /gruhnj/ /n./ 1. That which is grungy, or that which

makes it so. 2. [Cambridge] Code which is inaccessible due to

changes in other parts of the program. The preferred term in North

America is {dead code}.

:gubbish: /guhb'*sh/ /n./ [a portmanteau of `garbage' and

`rubbish'; may have originated with SF author Philip K. Dick]

Garbage; crap; nonsense. "What is all this gubbish?" The

opposite portmanteau `rubbage' is also reported; in fact, it was

British slang during the 19th century and appears in Dickens.

:guiltware: /gilt'weir/ /n./ 1. A piece of {freeware}

decorated with a message telling one how long and hard the author

worked on it and intimating that one is a no-good freeloader if one

does not immediately send the poor suffering martyr gobs of money.

2. A piece of {shareware} that works.

:gumby: /guhm'bee/ /n./ [from a class of Monty Python

characters, poss. with some influence from the 1960s claymation

character] An act of minor but conspicuous stupidity, often in

`gumby maneuver' or `pull a gumby'. 2. [NRL] /n./ A bureaucrat,

or other technical incompetent who impedes the progress of real

work. 3. /adj./ Relating to things typically associated with

people

in sense 2. (e.g. "Ran would be writing code, but Richard gave

him gumby work that's due on Friday", or, "Dammit! Travel

screwed up my plane tickets. I have to go out on gumby patrol.")

:gun: /vt./ [ITS: from the `:GUN' command] To forcibly

terminate a program or job (computer, not career). "Some idiot

left a background process running soaking up half the cycles, so I

gunned it." Usage: now rare. Compare {can}, {blammo}.

:gunch: /guhnch/ /vt./ [TMRC] To push, prod, or poke at a

device that has almost (but not quite) produced the desired result.

Implies a threat to {mung}.

:gurfle: /ger'fl/ /interj./ An expression of shocked

disbelief. "He said we have to recode this thing in FORTRAN by

next week. Gurfle!" Compare {weeble}.

:guru: /n./ [Unix] An expert. Implies not only {wizard}

skill but also a history of being a knowledge resource for others.

Less often, used (with a qualifier) for other experts on other

systems, as in `VMS guru'. See {source of all good bits}.

:guru meditation: /n./ Amiga equivalent of `panic' in Unix

(sometimes just called a `guru' or `guru event'). When the

system crashes, a cryptic message of the form "GURU MEDITATION

#XXXXXXXX.YYYYYYYY" may appear, indicating what the problem was.

An Amiga guru can figure things out from the numbers. Sometimes a

{guru} event must be followed by a {Vulcan nerve pinch}.

This term is (no surprise) an in-joke from the earliest days of the

Amiga. There used to be a device called a `Joyboard' which was

basically a plastic board built onto a joystick-like device; it was

sold with a skiing game cartridge for the Atari game machine. It

is said that whenever the prototype OS crashed, the system

programmer responsible would calm down by concentrating on a

solution while sitting cross-legged on a Joyboard trying to keep

the board in balance. This position resembled that of a meditating

guru. Sadly, the joke was removed in AmigaOS 2.04 (actually in

2.00, a buggy post-2.0 release on the A3000 only).

:gweep: /gweep/ [WPI] 1. /v./ To {hack}, usually at night.

At WPI, from 1975 onwards, one who gweeped could often be found at

the College Computing Center punching cards or crashing the

{PDP-10} or, later, the DEC-20. A correspondent who was there at

the time opines that the term was originally onomatopoetic,

describing the keyclick sound of the Datapoint terminals long

connected to the PDP-10. The term has survived the demise of those

technologies, however, and was still alive in late 1991. "I'm

going to go gweep for a while. See you in the morning." "I gweep

from 8 PM till 3 AM during the week." 2. /n./ One who habitually

gweeps in sense 1; a {hacker}. "He's a hard-core gweep,

mumbles code in his sleep."

= H =

=====

:h: [from SF fandom] A method of `marking' common words,

i.e., calling attention to the fact that they are being used in a

nonstandard, ironic, or humorous way. Originated in the fannish

catchphrase "Bheer is the One True Ghod!" from decades ago.

H-infix marking of `Ghod' and other words spread into the 1960s

counterculture via underground comix, and into early hackerdom

either from the counterculture or from SF fandom (the three

overlapped heavily at the time). More recently, the h infix has

become an expected feature of benchmark names (Dhrystone,

Rhealstone, etc.); this is probably patterning on the original

Whetstone (the name of a laboratory) but influenced by the

fannish/counterculture h infix.

:ha ha only serious: [from SF fandom, orig. as mutation of

HHOK, `Ha Ha Only Kidding'] A phrase (often seen abbreviated as

HHOS) that aptly captures the flavor of much hacker discourse.

Applied especially to parodies, absurdities, and ironic jokes that

are both intended and perceived to contain a possibly disquieting

amount of truth, or truths that are constructed on in-joke and

self-parody. This lexicon contains many examples of

ha-ha-only-serious in both form and content. Indeed, the entirety

of hacker culture is often perceived as ha-ha-only-serious by

hackers themselves; to take it either too lightly or too seriously

marks a person as an outsider, a {wannabee}, or in {larval

stage}. For further enlightenment on this subject, consult any Zen

master. See also {{hacker humor}}, and {AI koans}.

:hack: 1. /n./ Originally, a quick job that produces what is

needed, but not well. 2. /n./ An incredibly good, and perhaps very

time-consuming, piece of work that produces exactly what is needed.

3. /vt./ To bear emotionally or physically. "I can't hack this

heat!" 4. /vt./ To work on something (typically a program). In an

immediate sense: "What are you doing?" "I'm hacking TECO."

In a general (time-extended) sense: "What do you do around here?"

"I hack TECO." More generally, "I hack `foo'" is roughly

equivalent to "`foo' is my major interest (or project)". "I

hack solid-state physics." See {Hacking X for Y}. 5. /vt./ To

pull a prank on. See sense 2 and {hacker} (sense 5). 6. /vi./ To

interact with a computer in a playful and exploratory rather than

goal-directed way. "Whatcha up to?" "Oh, just hacking."

7. /n./ Short for {hacker}. 8. See {nethack}. 9. [MIT] /v./ To

explore the basements, roof ledges, and steam tunnels of a large,

institutional building, to the dismay of Physical Plant workers and

(since this is usually performed at educational institutions) the

Campus Police. This activity has been found to be eerily similar

to playing adventure games such as Dungeons and Dragons and

{Zork}. See also {vadding}.

Constructions on this term abound. They include `happy hacking'

(a farewell), `how's hacking?' (a friendly greeting among

hackers) and `hack, hack' (a fairly content-free but friendly

comment, often used as a temporary farewell). For more on this

totipotent term see "{The Meaning of `Hack'}". See

also {neat hack}, {real hack}.

:hack attack: /n./ [poss. by analogy with `Big Mac Attack'

from ads for the McDonald's fast-food chain; the variant `big

hack attack' is reported] Nearly synonymous with {hacking run},

though the latter more strongly implies an all-nighter.

:hack mode: /n./ 1. What one is in when hacking, of course.

2. More specifically, a Zen-like state of total focus on The

Problem that may be achieved when one is hacking (this is why every

good hacker is part mystic). Ability to enter such concentration

at will correlates strongly with wizardliness; it is one of the

most important skills learned during {larval stage}. Sometimes

amplified as `deep hack mode'.

Being yanked out of hack mode (see {priority interrupt}) may be

experienced as a physical shock, and the sensation of being in hack

mode is more than a little habituating. The intensity of this

experience is probably by itself sufficient explanation for the

existence of hackers, and explains why many resist being promoted

out of positions where they can code. See also {cyberspace}

(sense 2).

Some aspects of hackish etiquette will appear quite odd to an

observer unaware of the high value placed on hack mode. For

example, if someone appears at your door, it is perfectly okay to

hold up a hand (without turning one's eyes away from the screen) to

avoid being interrupted. One may read, type, and interact with the

computer for quite some time before further acknowledging the

other's presence (of course, he or she is reciprocally free to

leave without a word). The understanding is that you might be in

{hack mode} with a lot of delicate {state} (sense 2) in your

head, and you dare not {swap} that context out until you have

reached a good point to pause. See also {juggling eggs}.

:hack on: /vt./ To {hack}; implies that the subject is some

pre-existing hunk of code that one is evolving, as opposed to

something one might {hack up}.

:hack together: /vt./ To throw something together so it will

work. Unlike `kluge together' or {cruft together}, this does

not necessarily have negative connotations.

:hack up: /vt./ To {hack}, but generally implies that the

result is a hack in sense 1 (a quick hack). Contrast this with

{hack on}. To `hack up on' implies a {quick-and-dirty}

modification to an existing system. Contrast {hacked up};

compare {kluge up}, {monkey up}, {cruft together}.

:hack value: /n./ Often adduced as the reason or motivation for

expending effort toward a seemingly useless goal, the point being

that the accomplished goal is a hack. For example, MacLISP had

features for reading and printing Roman numerals, which were

installed purely for hack value. See {display hack} for one

method of computing hack value, but this cannot really be

explained, only experienced. As Louis Armstrong once said when

asked to explain jazz: "Man, if you gotta ask you'll never know."

(Feminists please note Fats Waller's explanation of rhythm: "Lady,

if you got to ask, you ain't got it.")

:hacked off: /adj./ [analogous to `pissed off'] Said of

system administrators who have become annoyed, upset, or touchy

owing to suspicions that their sites have been or are going to be

victimized by crackers, or used for inappropriate, technically

illegal, or even overtly criminal activities. For example, having

unreadable files in your home directory called `worm',

`lockpick', or `goroot' would probably be an effective (as well

as impressively obvious and stupid) way to get your sysadmin hacked

off at you.

It has been pointed out that there is precedent for this usage in

U.S. Navy slang, in which officers under discipline are sometimes

said to be "in hack" and one may speak of "hacking off the C.O.".

:hacked up: /adj./ Sufficiently patched, kluged, and tweaked

that the surgical scars are beginning to crowd out normal tissue

(compare {critical mass}). Not all programs that are hacked

become `hacked up'; if modifications are done with some eye to

coherence and continued maintainability, the software may emerge

better for the experience. Contrast {hack up}.

:hacker: /n./ [originally, someone who makes furniture with an

axe] 1. A person who enjoys exploring the details of programmable

systems and how to stretch their capabilities, as opposed to most

users, who prefer to learn only the minimum necessary. 2. One who

programs enthusiastically (even obsessively) or who enjoys

programming rather than just theorizing about programming. 3. A

person capable of appreciating {hack value}. 4. A person who is

good at programming quickly. 5. An expert at a particular program,

or one who frequently does work using it or on it; as in `a Unix

hacker'. (Definitions 1 through 5 are correlated, and people who

fit them congregate.) 6. An expert or enthusiast of any kind. One

might be an astronomy hacker, for example. 7. One who enjoys the

intellectual challenge of creatively overcoming or circumventing

limitations. 8. [deprecated] A malicious meddler who tries to

discover sensitive information by poking around. Hence `password

hacker', `network hacker'. The correct term for this sense is

{cracker}.

The term `hacker' also tends to connote membership in the global

community defined by the net (see {network, the} and

{Internet address}). It also implies that the person described

is seen to subscribe to some version of the hacker ethic (see

{hacker ethic}).

It is better to be described as a hacker by others than to describe

oneself that way. Hackers consider themselves something of an

elite (a meritocracy based on ability), though one to which new

members are gladly welcome. There is thus a certain ego

satisfaction to be had in identifying yourself as a hacker (but if

you claim to be one and are not, you'll quickly be labeled

{bogus}). See also {wannabee}.

:hacker ethic: /n./ 1. The belief that information-sharing

is a powerful positive good, and that it is an ethical duty of

hackers to share their expertise by writing free software and

facilitating access to information and to computing resources

wherever possible. 2. The belief that system-cracking for fun and

exploration is ethically OK as long as the cracker commits no

theft, vandalism, or breach of confidentiality.

Both of these normative ethical principles are widely, but by no

means universally, accepted among hackers. Most hackers subscribe

to the hacker ethic in sense 1, and many act on it by writing and

giving away free software. A few go further and assert that

*all* information should be free and *any* proprietary

control of it is bad; this is the philosophy behind the {GNU}

project.

Sense 2 is more controversial: some people consider the act of

cracking itself to be unethical, like breaking and entering. But

the belief that `ethical' cracking excludes destruction at least

moderates the behavior of people who see themselves as `benign'

crackers (see also {samurai}). On this view, it may be one of

the highest forms of hackerly courtesy to (a) break into a system,

and then (b) explain to the sysop, preferably by email from a

{superuser} account, exactly how it was done and how the hole

can be plugged -- acting as an unpaid (and unsolicited) {tiger

team}.

The most reliable manifestation of either version of the hacker

ethic is that almost all hackers are actively willing to share

technical tricks, software, and (where possible) computing

resources with other hackers. Huge cooperative networks such as

{Usenet}, {FidoNet} and Internet (see {Internet address})

can function without central control because of this trait; they

both rely on and reinforce a sense of community that may be

hackerdom's most valuable intangible asset.

:hacker humor:: A distinctive style of shared

intellectual humor found among hackers, having the following marked

characteristics:

1. Fascination with form-vs.-content jokes, paradoxes, and humor

having to do with confusion of metalevels (see {meta}). One way

to make a hacker laugh: hold a red index card in front of him/her

with "GREEN" written on it, or vice-versa (note, however, that

this is funny only the first time).

2. Elaborate deadpan parodies of large intellectual constructs,

such as specifications (see {write-only memory}), standards

documents, language descriptions (see {INTERCAL}), and even

entire scientific theories (see {quantum bogodynamics},

{computron}).

3. Jokes that involve screwily precise reasoning from bizarre,

ludicrous, or just grossly counter-intuitive premises.

The Jargon File, Version 4.0.0, 24 Jul 1996 · 第 5 / 18 题