The Jargon File, Version 4.2.2, 20 Aug 2000
Chapter 25
Node:flavorful, Next:flippy, Previous:flavor, Up:= F =
flavorful adj.
Full of flavor (sense 2); esthetically pleasing. See random and losing for antonyms. See also the entries for taste and elegant.
Node:flippy, Next:flood, Previous:flavorful, Up:= F =
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.
Node:flood, Next:flowchart, Previous:flippy, Up:= F =
flood v.
[common] 1. To overwhelm a network channel with mechanically-generated traffic; especially used of IP, TCP/IP, UDP, or ICMP denial-of-service attacks. 2. 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. Also used in a similar sense on Usenet. 3. [Usenet] To post an unusually large number or volume of files on a related topic.
Node:flowchart, Next:flower key, Previous:flood, Up:= F =
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 wallopers, 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 1.
Node:flower key, Next:flush, Previous:flowchart, Up:= F =
flower key n.
[Mac users] See feature key.
Node:flush, Next:flypage, Previous:flower key, Up:= F =
flush v.
1. [common] 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 found the ITS usage confusing, and vice versa.
Node:flypage, Next:Flyspeck 3, Previous:flush, Up:= F =
flypage /fli:'payj/ n.
(alt. `fly page') A banner, sense 1.
Node:Flyspeck 3, Next:flytrap, Previous:flypage, Up:= F =
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.
Node:flytrap, Next:FM, Previous:Flyspeck 3, Up:= F =
flytrap n.
[rare] See firewall machine.
Node:FM, Next:fnord, Previous:flytrap, Up:= F =
FM /F-M/ n.
1. [common] 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.
Node:fnord, Next:FOAF, Previous:FM, Up:= F =
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.
Node:FOAF, Next:FOD, Previous:fnord, Up:= F =
FOAF // n.
[Usenet; common] 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.
Node:FOD, Next:fold case, Previous:FOAF, Up:= F =
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 MUDs where the wizard command `FOD ' results in the immediate and total death of , 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.
Node:fold case, Next:followup, Previous:FOD, Up:= F =
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.
Node:followup, Next:fontology, Previous:fold case, Up:= F =
followup n.
[common] 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.
Node:fontology, Next:foo, Previous:followup, Up:= 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.
[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:foobar, Previous:fontology, Up:= 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 metasyntactic variables used in syntax examples. See also bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud.
When `foo' is used in connection with `bar' it has generally traced to the WWII-era Army slang acronym FUBAR (`Fucked Up Beyond All Repair'), later modified to 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 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 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 kluge and 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 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."
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 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.) This definition used Bill Holman's nonsense word, only then two decades old and demonstrably still live in popular culture and slang, to a 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:fool, Previous:foo, Up:= F =
foobar n.
[very common] Another widely used metasyntactic variable; see foo for etymology. Probably originally propagated through DECsystem manuals by Digital Equipment Corporation (DEC) in 1960s and early 1970s; confirmed sightings there go back to 1972. Hackers do not generally use this to mean FUBAR in either the slang or jargon sense. See also Fred Foobar. In RFC1639, "FOOBAR" was made an abbreviation for "FTP Operation Over Big Address Records", but this was an obvious backronym.
Node:fool, Next:fool file, Previous:foobar, Up:= 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 cretin, loser, 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 DEADBEEF.
Node:fool file, Next:Foonly, Previous:fool, Up:= F =
fool file n.
[Usenet] A notional repository of all the most dramatically and abysmally stupid utterances ever. An entire subgenre of 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:footprint, Previous:fool file, Up:= F =
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 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 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.
Node:footprint, Next:for free, Previous:Foonly, Up:= 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 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:for the rest of us, Previous:footprint, Up:= 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 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.
Node:for the rest of us, Next:for values of, Previous:for free, Up:= F =
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.
Node:for values of, Next:fora, Previous:for the rest of us, Up:= F =
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).
Node:fora, Next:foreground, Previous:for values of, Up:= F =
fora pl.n.
Plural of forum.
Node:foreground, Next:fork, Previous:fora, Up:= F =
foreground vt.
[Unix; common] 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.
Node:fork, Next:fork bomb, Previous:foreground, Up:= 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 GCC/EGCS fork (later healed by a merger) and the forks among the FreeBSD, NetBSD, and OpenBSD operating systems.
Node:fork bomb, Next:forked, Previous:fork, Up:= F =
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.
Node:forked, Next:Fortrash, Previous:fork bomb, Up:= F =
forked adj.,vi.
1. [common after 1997, esp. in the Linux community] An open-source software project is said to have forked or be forked when the project group fissions into two or more parts pursuing separate lines of development (or, less commonly, when a third party unconnected to the project group ). Forking is considered a Bad Thing - not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction. There is serious social pressure against forking. As a result, major forks (such as the Gnu-Emacs/XEmacs split, the fissionings of the 386BSD group into three daughter project, and the short-lived GCC/EGCS split) are rare enough that they are remembered individually in hacker folklore. 2. [Unix; uncommon; 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.
Node:Fortrash, Next:fortune cookie, Previous:forked, Up:= F =
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.
Node:fortune cookie, Next:forum, Previous:Fortrash, Up:= F =
fortune cookie n.
[WAITS, via Unix; common] 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.
Node:forum, Next:fossil, Previous:fortune cookie, Up:= F =
forum n.