Part 15
:examining the entrails: n. The process of {grovel}ling through a core dump or hex image in the attempt to discover the bug that brought a program or system down. The reference is to divination from the entrails of a sacrified animal. Compare {runes}, {incantation}, {black art}, {desk check}.
:EXCH: /eks'ch*/ or /eksch/ vt. To exchange two things, each for the other; to swap places. If you point to two people sitting down and say "Exch!", you are asking them to trade places. EXCH, meaning EXCHange, was originally the name of a PDP-10 instruction that exchanged the contents of a register and a memory location. Many newer hackers tend to be thinking instead of the {PostScript} exchange operator (which is usually written in lowercase).
:excl: /eks'kl/ n. Abbreviation for `exclamation point'. See {bang}, {shriek}, {{ASCII}}.
:EXE: /eks'ee/ or /eek'see/ or /E-X-E/ n. An executable binary file. Some operating systems (notably MS-DOS, VMS, and TWENEX) use the extension .EXE to mark such files. This usage is also occasionally found among UNIX programmers even though UNIX executables don't have any required suffix.
:exec: /eg-zek'/ vt.,n. 1. [UNIX: from `execute'] Synonym for {chain}, derives from the `exec(2)' call. 2. [from `executive'] obs. The command interpreter for an {OS} (see {shell}); term esp. used around mainframes, and prob. derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems. 3. At IBM and VM/CMS shops, the equivalent of a shell command file (among VM/CMS users).
The mainstream `exec' as an abbreviation for (human) executive is *not* used. To a hacker, an `exec' is a always a program, never a person.
:exercise, left as an: [from technical books] Used to complete a proof when one doesn't mind a {handwave}, or to avoid one entirely. The complete phrase is: "The proof (or the rest) is left as an exercise for the reader." This comment *has* occasionally been attached to unsolved research problems by authors possessed of either an evil sense of humor or a vast faith in the capabilities of their audiences.
:eyeball search: n. To look for something in a mass of code or data with one's own native optical sensors, as opposed to using some sort of pattern matching software like {grep} or any other automated search tool. Also called a {vgrep}; compare {vdiff}, {desk check}.
= F = =====
:fab: /fab/ [from `fabricate'] v. 1. To produce chips from a design that may have been created by someone at another company. Fabbing chips based on the designs of others is the activity of a {silicon foundry}. To a hacker, `fab' is practically never short for `fabulous'. 2. `fab line': the production system (lithography, diffusion, etching, etc.) for chips at a chip manufacturer. Different `fab lines' are run with different process parameters, die sizes, or technologies, or simply to provide more manufacturing volume.
:face time: n. Time spent interacting with somebody face-to-face (as opposed to via electronic links). "Oh, yeah, I spent some face time with him at the last Usenix."
:factor: n. See {coefficient of X}.
:fall over: [IBM] vi. Yet another synonym for {crash} or {lose}. `Fall over hard' equates to {crash and burn}.
:fall through: v. (n. `fallthrough', var. `fall-through') 1. To exit a loop by exhaustion, i.e., by having fulfilled its exit condition rather than via a break or exception condition that exits from the middle of it. This usage appears to be *really* old, dating from the 1940s and 1950s. 2. To fail a test that would have passed control to a subroutine or some other distant portion of code. 3. In C, `fall-through' occurs when the flow of execution in a switch statement reaches a `case' label other than by jumping there from the switch header, passing a point where one would normally expect to find a `break'. A trivial example:
switch (color) { case GREEN: do_green(); break; case PINK: do_pink(); /* FALL THROUGH */ case RED: do_red(); break; default: do_blue(); break; }
The variant spelling `/* FALL THRU */' is also common.
The effect of this 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.
:fandango on core: [UNIX/C hackers, from the Mexican dance] n. 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 list: /F-A-Q list/ or /fak list/ [USENET] n. A compendium of accumulated lore, posted periodically to high-volume newsgroups in an attempt to forestall Frequently Asked Questions. 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 posting. Examples: "What is the proper type of NULL?" and "What's that funny name for the `#' character?" are both Frequently Asked Questions. Several extant FAQ lists do (or should) make reference to the Jargon File (the on-line version of this lexicon).
:FAQL: /fa'kl/ n. Syn. {FAQ list}.
:farming: [Adelaide University, Australia] n. 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}, but 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 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: [from Hunter Thompson] n. 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}.
:feature creature: [poss. fr. slang `creature feature' for a horror movie] n. 1. One who loves to add features to designs or programs, perhaps at the expense of coherence, concision, or {taste}. 2. Alternately, a semi-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. Many of these are old churches; hence, the Swedish idiom for the symbol is `kyrka', cognate to English `church' and Scots-dialect `kirk' but pronounced /shir'k*/ in modern Swedish. This is in fact where Apple got the symbol; they give the translation "interesting feature"!
:feature shock: [from Alvin Toffler's book title `Future Shock'] n. 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. (This 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 5 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: [from {feeping creaturism}] n. 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. [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. Occasionally, an error induced by unexpectedly regular spacing of inputs, which can (for instance) screw up your hash table.
: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'.
:FidoNet: n. A worldwide hobbyist network of personal computers which exchange 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. Though it is much younger than {USENET}, FidoNet is already (in early 1991) a significant fraction of USENET's size at some 8000 systems.
:field circus: [a derogatory pun on `field service'] n. 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: [FidoNet] n. 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/ [from SF fandom, where a typo for `folk' was adopted as a new word] n.,v. A `filk' is 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 {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 the people working on it have no additional information about it. Use of the phrase in this way suggests gently people would appreciate it if users would quit bothering them and wait for the 11:00 news for additional information.
:filter: [orig. {{UNIX}}, now also in {{MS-DOS}}] n. 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}).
: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.
:fine: [WPI] adj. 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 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. 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-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: [IRC] v. 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.
: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}.