The Jargon File, Version 4.0.0, 24 Jul 1996
Chapter 17
: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 ' 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.
: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.