The Jargon File, Version 4.0.0, 24 Jul 1996

Chapter 16

Chapter 163,684 wordsPublic domain

The effect of the above code is to `do_green()' when color is `GREEN', `do_red()' when color is `RED', `do_blue()' on any other color other than `PINK', and (and this is the important part) `do_pink()' *and then* `do_red()' when color is `PINK'. Fall-through is {considered harmful} by some, though there are contexts (such as the coding of state machines) in which it is natural; it is generally considered good practice to include a comment highlighting the fall-through where one would normally expect a break. See also {Duff's device}.

:fan: /n./ Without qualification, indicates a fan of science fiction, especially one who goes to {con}s and tends to hang out with other fans. Many hackers are fans, so this term has been imported from fannish slang; however, unlike much fannish slang it is recognized by most non-fannish hackers. Among SF fans the plural is correctly `fen', but this usage is not automatic to hackers. "Laura reads the stuff occasionally but isn't really a fan."

:fandango on core: /n./ [Unix/C hackers, from the Mexican dance] In C, a wild pointer that runs out of bounds, causing a {core dump}, or corrupts the `malloc(3)' {arena} in such a way as to cause mysterious failures later on, is sometimes said to have `done a fandango on core'. On low-end personal machines without an MMU, this can corrupt the OS itself, causing massive lossage. Other frenetic dances such as the rhumba, cha-cha, or watusi, may be substituted. See {aliasing bug}, {precedence lossage}, {smash the stack}, {memory leak}, {memory smash}, {overrun screw}, {core}.

:FAQ: /F-A-Q/ or /fak/ /n./ [Usenet] 1. A Frequently Asked Question. 2. A compendium of accumulated lore, posted periodically to high-volume newsgroups in an attempt to forestall such questions. Some people prefer the term `FAQ list' or `FAQL' /fa'kl/, reserving `FAQ' for sense 1.

This lexicon itself serves as a good example of a collection of one kind of lore, although it is far too big for a regular FAQ posting. Examples: "What is the proper type of NULL?" and "What's that funny name for the `#' character?" are both Frequently Asked Questions. Several FAQs refer readers to this file.

:FAQ list: /F-A-Q list/ or /fak list/ /n./ [Usenet] Syn {FAQ}, sense 2.

:FAQL: /fa'kl/ /n./ Syn. {FAQ list}.

:faradize: /far'*-di:z/ /v./ [US Geological Survey] To start any hyper-addictive process or trend, or to continue adding current to such a trend. Telling one user about a new octo-tetris game you compiled would be a faradizing act -- in two weeks you might find your entire department playing the faradic game.

:farkled: /far'kld/ /adj./ [DeVry Institute of Technology, Atlanta] Syn. {hosed}. Poss. owes something to Yiddish `farblondjet' and/or the `Farkle Family' skits on "Rowan and Martin's Laugh-In", a popular comedy show of the late 1960s.

:farming: /n./ [Adelaide University, Australia] What the heads of a disk drive are said to do when they plow little furrows in the magnetic media. Associated with a {crash}. Typically used as follows: "Oh no, the machine has just crashed; I hope the hard drive hasn't gone {farming} again."

:fascist: /adj./ 1. Said of a computer system with excessive or annoying security barriers, usage limits, or access policies. The implication is that said policies are preventing hackers from getting interesting work done. The variant `fascistic' seems to have been preferred at MIT, poss. by analogy with `touristic' (see {tourist}). 2. In the design of languages and other software tools, `the fascist alternative' is the most restrictive and structured way of capturing a particular function; the implication is that this may be desirable in order to simplify the implementation or provide tighter error checking. Compare {bondage-and-discipline language}, although that term is global rather than local.

:fat electrons: /n./ Old-time hacker David Cargill's theory on the causation of computer glitches. Your typical electric utility draws its line current out of the big generators with a pair of coil taps located near the top of the dynamo. When the normal tap brushes get dirty, they take them off line to clean them up, and use special auxiliary taps on the *bottom* of the coil. Now, this is a problem, because when they do that they get not ordinary or `thin' electrons, but the fat'n'sloppy electrons that are heavier and so settle to the bottom of the generator. These flow down ordinary wires just fine, but when they have to turn a sharp corner (as in an integrated-circuit via), they're apt to get stuck. This is what causes computer glitches. [Fascinating. Obviously, fat electrons must gain mass by {bogon} absorption --ESR] Compare {bogon}, {magic smoke}.

:faulty: /adj./ Non-functional; buggy. Same denotation as {bletcherous}, {losing}, q.v., but the connotation is much milder.

:fd leak: /F-D leek/ /n./ A kind of programming bug analogous to a {core leak}, in which a program fails to close file descriptors (`fd's) after file operations are completed, and thus eventually runs out of them. See {leak}.

:fear and loathing: /n./ [from Hunter S. Thompson] A state inspired by the prospect of dealing with certain real-world systems and standards that are totally {brain-damaged} but ubiquitous -- Intel 8086s, or {COBOL}, or {{EBCDIC}}, or any {IBM} machine except the Rios (a.k.a. the RS/6000). "Ack! They want PCs to be able to talk to the AI machine. Fear and loathing time!"

:feature: /n./ 1. A good property or behavior (as of a program). Whether it was intended or not is immaterial. 2. An intended property or behavior (as of a program). Whether it is good or not is immaterial (but if bad, it is also a {misfeature}). 3. A surprising property or behavior; in particular, one that is purposely inconsistent because it works better that way -- such an inconsistency is therefore a {feature} and not a {bug}. This kind of feature is sometimes called a {miswart}; see that entry for a classic example. 4. A property or behavior that is gratuitous or unnecessary, though perhaps also impressive or cute. For example, one feature of Common LISP's `format' function is the ability to print numbers in two different Roman-numeral formats (see {bells, whistles, and gongs}). 5. A property or behavior that was put in to help someone else but that happens to be in your way. 6. A bug that has been documented. To call something a feature sometimes means the author of the program did not consider the particular case, and that the program responded in a way that was unexpected but not strictly incorrect. A standard joke is that a bug can be turned into a {feature} simply by documenting it (then theoretically no one can complain about it because it's in the manual), or even by simply declaring it to be good. "That's not a bug, that's a feature!" is a common catchphrase. See also {feetch feetch}, {creeping featurism}, {wart}, {green lightning}.

The relationship among bugs, features, misfeatures, warts, and miswarts might be clarified by the following hypothetical exchange between two hackers on an airliner:

A: "This seat doesn't recline."

B: "That's not a bug, that's a feature. There is an emergency exit door built around the window behind you, and the route has to be kept clear."

A: "Oh. Then it's a misfeature; they should have increased the spacing between rows here."

B: "Yes. But if they'd increased spacing in only one section it would have been a wart -- they would've had to make nonstandard-length ceiling panels to fit over the displaced seats."

A: "A miswart, actually. If they increased spacing throughout they'd lose several rows and a chunk out of the profit margin. So unequal spacing would actually be the Right Thing."

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