Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

The New Hacker's Dictionary

.pdf
Скачиваний:
224
Добавлен:
10.08.2013
Размер:
1.62 Mб
Скачать

451

Node:fold case, Next:[5336]followup, Previous:[5337]FOD, Up:[5338]= F

=

fold case v.

See [5339]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.

---

Node:followup, Next:[5340]fontology, Previous:[5341]fold case, Up:[5342]= F =

followup n.

[common] On Usenet, a [5343]posting generated in response to another posting (as opposed to a [5344]reply, which goes by email rather than being broadcast). Followups include the ID of the [5345]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 [5346]thread.

---

Node:fontology, Next:[5347]foo, Previous:[5348]followup, Up:[5349]= F

=

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.

452

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

---

Node:foo, Next:[5350]foobar, Previous:[5351]fontology, Up:[5352]= F =

foo /foo/

1. interj. Term of disgust. 2. [very common] Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files). 3. First on the standard list of [5353]metasyntactic variables used in syntax examples. See also [5354]bar, [5355]baz, [5356]qux, [5357]quux, [5358]corge, [5359]grault, [5360]garply, [5361]waldo, [5362]fred, [5363]plugh, [5364]xyzzy, [5365]thud.

When `foo' is used in connection with `bar' it has generally traced to the WWII-era Army slang acronym [5366]FUBAR (`Fucked Up Beyond All Repair'), later modified to [5367]foobar. Early versions of the Jargon File interpreted this change as a post-war bowdlerization, but it it now seems more likely that FUBAR was itself a derivative of `foo' perhaps influenced by German `furchtbar' (terrible) - `foobar' may actually have been the original form.

For, it seems, the word `foo' itself had an immediate prewar history in comic strips and cartoons. The earliest documented uses were in the "Smokey Stover" comic strip popular in the 1930s, which frequently included the word "foo". Bill Holman, the author of the strip, filled it with odd jokes and personal contrivances, including other nonsense phrases such as "Notary Sojac" and "1506 nix nix". According to the [5368]Warner Brothers Cartoon Companion Holman claimed to have found the word "foo" on the bottom of a Chinese figurine. This is plausible; Chinese statuettes often have apotropaic inscriptions, and this may have been the

453

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"). English speakers' reception of Holman's `foo' nonsense word was undoubtedly influenced by Yiddish `feh' and English `fooey' and `fool'.

Holman's strip featured a firetruck called the Foomobile that rode on two wheels. The comic strip was tremendously popular in the late 1930s, and legend has it that a manufacturer in Indiana even produced an operable version of Holman's Foomobile. According to the Encyclopedia of American Comics, `Foo' fever swept the U.S., finding its way into popular songs and generating over 500 `Foo Clubs.' The fad left `foo' references embedded in popular culture (including a couple of appearances in Warner Brothers cartoons of 1938-39) but with their origins rapidly forgotten.

One place they are known to have remained live is in the U.S. military during the WWII years. In 1944-45, the term `foo fighters' was in use by radar operators 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). Informants connected the term to the Smokey Stover strip.

The U.S. and British militaries frequently swapped slang terms during the war (see [5369]kluge and [5370]kludge for another important example) Period sources reported that `FOO' became 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, but this (like the contemporaneous "FUBAR") was probably a [5371]backronym . Forty years later, Paul Dickson's excellent book "Words" (Dell, 1982, ISBN 0-440-52260-7) traced "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."

454

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. The Crumbs may also have been influenced by a short-lived Canadian parody magazine named `Foo' published in 1951-52.

An old-time member reports that in the 1959 "Dictionary of the TMRC Language", compiled at [5372]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 [5373]TMRC.) This definition used Bill Holman's nonsense word, only then two decades old and demonstrably still live in popular culture and slang, to a [5374]ha ha only serious analogy with esoteric Tibetan Buddhism. Today's hackers would find it difficult to resist elaborating a joke like that, and it is not likely 1959's were any less susceptible. Almost the entire staff of what later became the MIT AI Lab was involved with TMRC, and the word spread from there.

---

Node:foobar, Next:[5375]fool, Previous:[5376]foo, Up:[5377]= F =

foobar n.

455

[very common] Another widely used [5378]metasyntactic variable; see [5379]foo for etymology. Probably originally propagated through DECsystem manuals by Digital Equipment Corporation ([5380]DEC) in 1960s and early 1970s; confirmed sightings there go back to 1972. Hackers do not generally use this to mean [5381]FUBAR in either the slang or jargon sense. See also [5382]Fred Foobar. In RFC1639, "FOOBAR" was made an abbreviation for "FTP Operation Over Big Address Records", but this was an obvious [5383]backronym.

---

Node:fool, Next:[5384]fool file, Previous:[5385]foobar, Up:[5386]= F =

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 [5387]cretin, [5388]loser, [5389]fool file.

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 [5390]DEADBEEF.

---

Node:fool file, Next:[5391]Foonly, Previous:[5392]fool, Up:[5393]= F =

456

fool file n.

[Usenet] A notional repository of all the most dramatically and abysmally stupid utterances ever. An entire subgenre of [5394]sig blocks 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.

---

Node:Foonly, Next:[5395]footprint, Previous:[5396]fool file, Up:[5397]= F

=

Foonly n.

1. The [5398]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 name itself came from FOO NLI, an error message emitted by a PDP-10 assembler at SAIL meaning "FOO is Not a Legal Identifier". The intention was to leapfrog from the old [5399]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 [5400]TOPS-20 but a

457

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 [5401]Mars, and the company never quite recovered. See the [5402]Mars entry for the continuation and moral of this story.

---

Node:footprint, Next:[5403]for free, Previous:[5404]Foonly, Up:[5405]= F

=

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 [5406]toeprint. 3. RAM footprint: The minimum amount of RAM which an OS or other program takes; this figure gives 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]

---

Node:for free, Next:[5407]for the rest of us, Previous:[5408]footprint, Up:[5409]= F =

for free adj.

[common] Said of a capability of a programming language or hardware that is available by its design without needing cleverness to implement: "In

458

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 [5410]big win), but it may refer to an intentional but secondary feature.

---

Node:for the rest of us, Next:[5411]for values of, Previous:[5412]for free, Up:[5413]= F =

for the rest of us adj.

[from the Mac slogan "The computer for the rest of us"] 1. Used to describe a [5414]spiffy product whose affordability shames other comparable products, or (more often) used sarcastically to describe [5415]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 [5416]WIMP environment, [5417]Macintrash, [5418]point-and-drool interface, [5419]user-friendly.

---

Node:for values of, Next:[5420]fora, Previous:[5421]for the rest of us, Up:[5422]= F =

for values of

459

[MIT] A common rhetorical maneuver at MIT is to use any of the canonical [5423]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).

---

Node:fora, Next:[5424]foreground, Previous:[5425]for values of, Up:[5426]= F =

fora pl.n.

Plural of [5427]forum.

---

Node:foreground, Next:[5428]fork, Previous:[5429]fora, Up:[5430]= F =

foreground vt.

[Unix; common] To bring a task to the top of one's [5431]stack for immediate processing, and hackers often use it in this sense for

460

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 [5432]background. Nowadays this term is primarily associated with [5433]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 [5434]lose.

---

Node:fork, Next:[5435]fork bomb, Previous:[5436]foreground, Up:[5437]= F =

fork

In the open-source community, a fork is what occurs when two (or more) versions of a software package's source code are being developed in parallel which once shared a common code base, and these multiple versions of the source code have irreconcilable differences between them. This should not be confused with a development branch, which may later be folded back into the original source code base. Nor should it be confused with what happens when a new distribution of Linux or some other distribution is created, because that largely assembles pieces than can and will be used in other distributions without conflict.

Forking is uncommon; in fact, it is so uncommon that individual instances loom large in hacker folklore. Notable in this class were the [5438]http://www.xemacs.org/About/XEmacsVsGNUemacs.html, the GCC/EGCS fork (later healed by a merger) and the forks among the FreeBSD, NetBSD, and OpenBSD operating systems.

---

Соседние файлы в предмете Английский язык