|
: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}.
:firewall code: n. 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.
: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}.
: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/ Syn. {stiffy} (a 3.5-inch floppy disk).
:fish: [Adelaide University, Australia] n. 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: [acronym, by analogy with FIFO (First In, First Out)] n. '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: // [Thinking Machines, Inc.] Fixed In the Next Release. A written-only notation attached to bug reports. Often wishful thinking.
:fix: n.,v. What one does when a problem has been reported too many times to be ignored.
: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}.
: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).
USENETter Marc Ramsey, who was at WPI from 1972 to 1976, adds: "I am 99% certain that the use of 'flame' originated at WPI. Those who made a nuisance of themselves insisting that they needed to use a TTY for 'real work' came to be known as 'flaming asshole lusers'. Other particularly annoying people became 'flaming asshole ravers', which shortened to 'flaming ravers', and ultimately 'flamers'. I remember someone picking up on the Human Torch pun, but I don't think 'flame on/off' was ever much used at WPI." See also {asbestos}.
The term may have been independently invented at several different places; it is also reported that 'flaming' was in use to mean something like 'interminably drawn-out semi-serious discussions' (late-night bull sessions) at Carleton College during 1968—1971.
It's 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 be right at home on USENET.
:flame bait: n. A posting intended to trigger a {flame war}, or one that invites flames in reply.
: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/ [Rutgers University] n. 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 or markup language, 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.
: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}; 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: [IRC] v. 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:: [techspeak] n. 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 is because (from a hacker's point of view) they 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: [Mac users] n. 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 can 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 such names as 'Helvetica 10' for 10-point Helvetica). Legal boilerplate is usually printed in Flyspeck 3.
:flytrap: n. See {firewall machine}.
:FM: n. *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?"
:FOAF: // [USENET] n. Acronym for 'Friend Of A Friend'. The source of an unverified, possibly untrue story. This 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 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 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: [XEROX PARC] n. 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 Recognition'), 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 "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").
It is even possible that hacker usage actually springs from 'FOO, Lampoons and Parody', the title of a comic book first issued in September 1958; the byline read 'C. Crumb' but the style of the art suggests this may well have been a sort-of pseudonym for noted weird-comix artist Robert Crumb. The title FOO was featured in large letters on the front cover. What the word meant to Mr. Crumb is anybody's guess.
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 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}.
:fool file, the: [USENET] n. A notional repository of all the most dramatically and abysmally stupid utterances ever. There is a subgenre of {sig block}s that 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 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.
: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 intention was to leapfrog from the old DEC timesharing system SAIL was 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 they 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.
: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}.
:for free: adj. Said of a capability of a programming language or hardware equipment 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." Usually it refers to a serendipitous feature of doing things a certain way (compare {big win}), but it may refer to an intentional but secondary feature.
:for the rest of us: [from the Mac slogan "The computer for the rest of us"] adj. 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 na"ive 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}.
: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: this usage probably derives from the programming language MAD (Michigan Algorithm Decoder), an Algol-like language that was the most common choice among mainstream (non-hacker) users at MIT in the mid-60s. It had 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).
:fora: pl.n. Plural of {forum}.
:foreground: [UNIX] vt. To foreground a task is to bring it 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}.
:fork bomb: [UNIX] n. 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}.
:forked: [UNIX; prob. influenced by a mainstream expletive] adj. Terminally slow, or dead. Originated when one system was slowed to a snail's pace by an inadvertent {fork bomb}.
:Fortrash: /for'trash/ n. Hackerism for the FORTRAN language, referring to its primitive design, gross and irregular syntax, limited control constructs, and slippery, exception-filled semantics.
:fortune cookie: [WAITS, via UNIX] n. 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}.
:forum: n. [USENET, GEnie, CI$; pl. 'fora' or 'forums'] Any discussion group accessible through a dial-in {BBS}, a {mailing list}, or a {newsgroup} (see {network, the}). A forum functions much like a bulletin board; users submit {posting}s for all to read and discussion ensues. Contrast real-time chat via {talk mode} or point-to-point personal {email}.
:fossil: n. 1. In software, a misfeature that becomes understandable only in historical context, as a remnant of times past retained so as not to break compatibility. Example: the retention of octal as default base for string escapes in {C}, in spite of the better match of hexadecimal to ASCII and modern byte-addressable architectures. See {dusty deck}. 2. More restrictively, a feature with past but no present utility. Example: the force-all-caps (LCASE) bits in the V7 and {BSD} UNIX tty driver, designed for use with monocase terminals. In a perversion of the usual backward-compatibility goal, this functionality has actually been expanded and renamed in some later {USG UNIX} releases as the IUCLC and OLCUC bits. 3. The FOSSIL (Fido/Opus/Seadog Standard Interface Level) driver specification for serial-port access to replace the {brain-dead} routines in the IBM PC ROMs. Fossils are used by most MS-DOS {BBS} software in preference to the 'supported' ROM routines, which do not support interrupt-driven operation or setting speeds above 9600; the use of a semistandard FOSSIL library is preferable to the {bare metal} serial port programming otherwise required. Since the FOSSIL specification allows additional functionality to be hooked in, drivers that use the {hook} but do not provide serial-port access themselves are named with a modifier, as in 'video fossil'.
:four-color glossies: 1. Literature created by {marketroid}s that allegedly contains technical specs but which is in fact as superficial as possible without being totally {content-free}. "Forget the four-color glossies, give me the tech ref manuals." Often applied as an indication of superficiality even when the material is printed on ordinary paper in black and white. Four-color-glossy manuals are *never* useful for finding a problem. 2. [rare] Applied by extension to manual pages that don't contain enough information to diagnose why the program doesn't produce the expected or desired output.
:fragile: adj. Syn {brittle}.
:fred: n. 1. The personal name most frequently used as a {metasyntactic variable} (see {foo}). Allegedly popular because it's easy for a non-touch-typist to type on a standard QWERTY keyboard. Unlike {J. Random Hacker} or 'J. Random Loser', this name has no positive or negative loading (but see {Mbogo, Dr. Fred}). See also {barney}. 2. An acronym for 'Flipping Ridiculous Electronic Device'; other F-verbs may be substituted for 'flipping'.
:frednet: /fred'net/ n. Used to refer to some {random} and uncommon protocol encountered on a network. "We're implementing bridging in our router to solve the frednet problem."
:freeware: n. Free software, often written by enthusiasts and distributed by users' groups, or via electronic mail, local bulletin boards, {USENET}, or other electronic media. At one time, 'freeware' was a trademark of Andrew Fluegelman, the author of the well-known MS-DOS comm program PC-TALK III. It wasn't enforced after his mysterious disappearance and presumed death in 1984. See {shareware}.
:freeze: v. To lock an evolving software distribution or document against changes so it can be released with some hope of stability. Carries the strong implication that the item in question will 'unfreeze' at some future date. "OK, fix that bug and we'll freeze for release."
There are more specific constructions on this. A 'feature freeze', for example, locks out modifications intended to introduce new features; a 'code freeze' connotes no more changes at all. At Sun Microsystems and elsewhere, one may also hear references to 'code slush' —- that is, an almost-but-not-quite frozen state.
:fried: adj. 1. Non-working due to hardware failure; burnt out. Especially used of hardware brought down by a 'power glitch' (see {glitch}), {drop-outs}, a short, or some other electrical event. (Sometimes this literally happens to electronic circuits! In particular, resistors can burn out and transformers can melt down, emitting noxious smoke —- see {friode}, {SED} and {LER}. However, this term is also used metaphorically.) Compare {frotzed}. 2. Of people, exhausted. Said particularly of those who continue to work in such a state. Often used as an explanation or excuse. "Yeah, I know that fix destroyed the file system, but I was fried when I put it in." Esp. common in conjunction with 'brain': "My brain is fried today, I'm very short on sleep."
:friode: /fri:'ohd/ [TMRC] n. A reversible (that is, fused or blown) diode. Compare {fried}; see also {SED}, {LER}.
:fritterware: n. An excess of capability that serves no productive end. The canonical example is font-diddling software on the Mac (see {macdink}); the term describes anything that eats huge amounts of time for quite marginal gains in function but seduces people into using it anyway.
:frob: /frob/ 1. n. [MIT] The {TMRC} definition was "FROB = a protruding arm or trunnion"; by metaphoric extension, a 'frob' is any random small thing; an object that you can comfortably hold in one hand; something you can frob. See {frobnitz}. 2. vt. Abbreviated form of {frobnicate}. 3. [from the {MUD} world] A command on some MUDs that changes a player's experience level (this can be used to make wizards); also, to request {wizard} privileges on the 'professional courtesy' grounds that one is a wizard elsewhere. The command is actually 'frobnicate' but is universally abbreviated to the shorter form.
:frobnicate: /frob'ni-kayt/ vt. [Poss. derived from {frobnitz}, and usually abbreviated to {frob}, but 'frobnicate' is recognized as the official full form.] To manipulate or adjust, to tweak. One frequently frobs bits or other 2-state devices. Thus: "Please frob the light switch" (that is, flip it), but also "Stop frobbing that clasp; you'll break it". One also sees the construction 'to frob a frob'. See {tweak} and {twiddle}. Usage: frob, twiddle, and tweak sometimes connote points along a continuum. 'Frob' connotes aimless manipulation; 'twiddle' connotes gross manipulation, often a coarse search for a proper setting; 'tweak' connotes fine-tuning. If someone is turning a knob on an oscilloscope, then if he's carefully adjusting it, he is probably tweaking it; if he is just turning it but looking at the screen, he is probably twiddling it; but if he's just doing it because turning a knob is fun, he's frobbing it. The variant 'frobnosticate' has been recently reported.
:frobnitz: /frob'nits/, pl. 'frobnitzem' /frob'nit-zm/ or 'frobni' /frob'ni:/ [TMRC] n. An unspecified physical object, a widget. Also refers to electronic black boxes. This rare form is usually abbreviated to 'frotz', or more commonly to {frob}. Also used are 'frobnule' (/frob'n[y]ool/) and 'frobule' (/frob'yool/). Starting perhaps in 1979, 'frobozz' /fr*-boz'/ (plural: 'frobbotzim' /fr*-bot'zm/) has also become very popular, largely through its exposure as a name via {Zork}. These can also be applied to nonphysical objects, such as data structures.
Pete Samson, compiler of the {TMRC} lexicon, adds, "Under the TMRC [railroad] layout were many storage boxes, managed (in 1958) by David R. Sawyer. Several had fanciful designations written on them, such as 'Frobnitz Coil Oil'. Perhaps DRS intended Frobnitz to be a proper name, but the name was quickly taken for the thing". This was almost certainly the origin of the term.
:frog: alt. 'phrog' 1. interj. Term of disgust (we seem to have a lot of them). 2. Used as a name for just about anything. See {foo}. 3. n. Of things, a crock. 4. n. Of people, somewhere in between a turkey and a toad. 5. 'froggy': adj. Similar to 'bagbiting' (see {bagbiter}), but milder. "This froggy program is taking forever to run!"
:frogging: [University of Waterloo] v. 1. Partial corruption of a text file or input stream by some bug or consistent glitch, as opposed to random events like line noise or media failures. Might occur, for example, if one bit of each incoming character on a tty were stuck, so that some characters were correct and others were not. See {terminak} for a historical example. 2. By extension, accidental display of text in a mode where the output device emits special symbols or mnemonics rather than conventional ASCII. Often happens, for example, when using a terminal or comm program on a device like an IBM PC with a special 'high-half' character set and with the bit-parity assumption wrong. A hacker sufficiently familiar with ASCII bit patterns might be able to read the display anyway.
:front end: n. 1. An intermediary computer that does set-up and filtering for another (usually more powerful but less friendly) machine (a 'back end'). 2. What you're talking to when you have a conversation with someone who is making replies without paying attention. "Look at the dancing elephants!" "Uh-huh." "Do you know what I just said?" "Sorry, you were talking to the front end." See also {fepped out}. 3. Software that provides an interface to another program 'behind' it, which may not be as user-friendly. Probably from analogy with hardware front-ends (see sense 1) that interfaced with mainframes.
:frotz: /frots/ 1. n. See {frobnitz}. 2. 'mumble frotz': An interjection of very mild disgust.
:frotzed: /frotst/ adj. {down} because of hardware problems. Compare {fried}. A machine that is merely frotzed may be fixable without replacing parts, but a fried machine is more seriously damaged.
:frowney: n. (alt. 'frowney face') See {emoticon}.
:fry: 1. vi. To fail. Said especially of smoke-producing hardware failures. More generally, to become non-working. Usage: never said of software, only of hardware and humans. See {fried}, {magic smoke}. 2. vt. To cause to fail; to {roach}, {toast}, or {hose} a piece of hardware. Never used of software or humans, but compare {fried}.
:FTP: /F-T-P/, *not* /fit'ip/ 1. [techspeak] n. The File Transfer Protocol for transmitting files between systems on the Internet. 2. vt. To {beam} a file using the File Transfer Protocol. 3. Sometimes used as a generic even for file transfers not using {FTP}. "Lemme get a copy of 'Wuthering Heights' ftp'd from uunet."
:FUBAR: n. The Failed UniBus Address Register in a VAX. A good example of how jargon can occasionally be snuck past the {suit}s; see {foobar}, and {foo} for a fuller etymology.
:fuck me harder: excl. Sometimes uttered in response to egregious misbehavior, esp. in software, and esp. of misbehaviors which seem unfairly persistent (as though designed in by the imp of the perverse). Often theatrically elaborated: "Aiighhh! Fuck me with a piledriver and 16 feet of curare-tipped wrought-iron fence *and no lubricants*!" The phrase is sometimes heard abbreviated 'FMH' in polite company.
[This entry is an extreme example of the hackish habit of coining elaborate and evocative terms for lossage. Here we see a quite self-conscious parody of mainstream expletives that has become a running gag in part of the hacker culture; it illustrates the hackish tendency to turn any situation, even one of extreme frustration, into an intellectual game (the point being, in this case, to creatively produce a long-winded description of the most anatomically absurd mental image possible —- the short forms implicitly allude to all the ridiculous long forms ever spoken). Scatological language is actually relatively uncommon among hackers, and there was some controversy over whether this entry ought to be included at all. As it reflects a live usage recognizably peculiar to the hacker culture, we feel it is in the hackish spirit of truthfulness and opposition to all forms of censorship to record it here. —ESR & GLS]
:FUD: /fuhd/ n. Defined by Gene Amdahl after he left IBM to found his own company: "FUD is the fear, uncertainty, and doubt that IBM sales people instill in the minds of potential customers who might be considering [Amdahl] products." The idea, of course, was to persuade them to go with safe IBM gear rather than with competitors' equipment. This was traditionally done by promising that Good Things would happen to people who stuck with IBM, but Dark Shadows loomed over the future of competitors' equipment or software. See {IBM}.
:FUD wars: /fuhd worz/ n. [from {FUD}] Political posturing engaged in by hardware and software vendors ostensibly committed to standardization but actually willing to fragment the market to protect their own shares. The UNIX International vs. OSF conflict is but one outstanding example.
:fudge: 1. vt. To perform in an incomplete but marginally acceptable way, particularly with respect to the writing of a program. "I didn't feel like going through that pain and suffering, so I fudged it —- I'll fix it later." 2. n. The resulting code.
:fudge factor: n. A value or parameter that is varied in an ad hoc way to produce the desired result. The terms 'tolerance' and {slop} are also used, though these usually indicate a one-sided leeway, such as a buffer that is made larger than necessary because one isn't sure exactly how large it needs to be, and it is better to waste a little space than to lose completely for not having enough. A fudge factor, on the other hand, can often be tweaked in more than one direction. A good example is the 'fuzz' typically allowed in floating-point calculations: two numbers being compared for equality must be allowed to differ by a small amount; if that amount is too small, a computation may never terminate, while if it is too large, results will be needlessly inaccurate. Fudge factors are frequently adjusted incorrectly by programmers who don't fully understand their import. See also {coefficient of X}.
:fuel up: vi. To eat or drink hurriedly in order to get back to hacking. "Food-p?" "Yeah, let's fuel up." "Time for a {great-wall}!" See also {{oriental food}}.
:fuggly: /fuhg'lee/ adj. Emphatic form of {funky}; funky + ugly). Unusually for hacker jargon, this may actually derive from black street-jive. To say it properly, the first syllable should be growled rather than spoken. Usage: humorous. "Man, the {{ASCII}}-to-{{EBCDIC}} code in that printer driver is *fuggly*." See also {wonky}.
:fum: [XEROX PARC] n. At PARC, often the third of the standard {metasyntactic variable}s (after {foo} and {bar}. Competes with {baz}, which is more common outside PARC.
:funky: adj. Said of something that functions, but in a slightly strange, klugey way. It does the job and would be difficult to change, so its obvious non-optimality is left alone. Often used to describe interfaces. The more bugs something has that nobody has bothered to fix because workarounds are easier, the funkier it is. {TECO} and UUCP are funky. The Intel i860's exception handling is extraordinarily funky. Most standards acquire funkiness as they age. "The new mailer is installed, but is still somewhat funky; if it bounces your mail for no reason, try resubmitting it." "This UART is pretty funky. The data ready line is active-high in interrupt mode and active-low in DMA mode." See {fuggly}.
:funny money: n. 1. Notional 'dollar' units of computing time and/or storage handed to students at the beginning of a computer course; also called 'play money' or 'purple money' (in implicit opposition to real or 'green' money). In New Zealand and Germany the odd usage 'paper money' has been recorded; in Gremany, the particularly amusing synonym 'transfer rouble' commemmorates the worthlessness of the ex-USSR's currency. When your funny money ran out, your account froze and you needed to go to a professor to get more. Fortunately, the plunging cost of timesharing cycles has made this less common. The amounts allocated were almost invariably too small, even for the non-hackers who wanted to slide by with minimum work. In extreme cases, the practice led to small-scale black markets in bootlegged computer accounts. 2. By extension, phantom money or quantity tickets of any kind used as a resource-allocation hack within a system. Antonym: 'real money'.
:fuzzball: [TCP/IP hackers] n. A DEC LSI-11 running a particular suite of homebrewed software written by Dave Mills and assorted co-conspirators, used in the early 1980s for Internet protocol testbedding and experimentation. These were used as NSFnet backbone sites in its early 56KB-line days; a few are still active on the Internet as of early 1991, doing odd jobs such as network time service.
= G = =====
:G: [SI] pref.,suff. See {{quantifiers}}.
:gabriel: /gay'bree-*l/ [for Dick Gabriel, SAIL LISP hacker and volleyball fanatic] n. An unnecessary (in the opinion of the opponent) stalling tactic, e.g., tying one's shoelaces or combing one's hair repeatedly, asking the time, etc. Also used to refer to the perpetrator of such tactics. Also, 'pulling a Gabriel', 'Gabriel mode'.
:gag: vi. Equivalent to {choke}, but connotes more disgust. "Hey, this is FORTRAN code. No wonder the C compiler gagged." See also {barf}.
:gang bang: n. The use of large numbers of loosely coupled programmers in an attempt to wedge a great many features into a product in a short time. Though there have been memorable gang bangs (e.g., that over-the-weekend assembler port mentioned in Steven Levy's 'Hackers'), most are perpetrated by large companies trying to meet deadlines and produce enormous buggy masses of code entirely lacking in {orthogonal}ity. When market-driven managers make a list of all the features the competition has and assign one programmer to implement each, they often miss the importance of maintaining a coherent design. See also {firefighting}, {Mongolian Hordes technique}, {Conway's Law}.
:garbage collect: vi. (also 'garbage collection', n.) See {GC}.
:garply: /gar'plee/ [Stanford] n. Another metasyntactic variable (see {foo}); once popular among SAIL hackers.
:gas: [as in 'gas chamber'] 1. interj. A term of disgust and hatred, implying that gas should be dispensed in generous quantities, thereby exterminating the source of irritation. "Some loser just reloaded the system for no reason! Gas!" 2. interj. A suggestion that someone or something ought to be flushed out of mercy. "The system's getting {wedged} every few minutes. Gas!" 3. vt. To {flush} (sense 1). "You should gas that old crufty software." 4. [IBM] n. Dead space in nonsequentially organized files that was occupied by data that has been deleted; the compression operation that removes it is called 'degassing' (by analogy, perhaps, with the use of the same term in vacuum technology). 5. [IBM] n. Empty space on a disk that has been clandestinely allocated against future need.
:gaseous: adj. Deserving of being {gas}sed. Disseminated by Geoff Goodfellow while at SRI; became particularly popular after the Moscone-Milk killings in San Francisco, when it was learned that the defendant Dan White (a politician who had supported Proposition 7) would get the gas chamber under Proposition 7 if convicted of first-degree murder (he was eventually convicted of manslaughter).
:GC: /G-C/ [from LISP terminology; 'Garbage Collect'] 1. vt. To clean up and throw away useless things. "I think I'll GC the top of my desk today." When said of files, this is equivalent to {GFR}. 2. vt. To recycle, reclaim, or put to another use. 3. n. An instantiation of the garbage collector process.
'Garbage collection' is computer-science jargon for a particular class of strategies for dynamically reallocating computer memory. One such strategy involves periodically scanning all the data in memory and determining what is no longer accessible; useless data items are then discarded so that the memory they occupy can be recycled and used for another purpose. Implementations of the LISP language usually use garbage collection.
In jargon, the full phrase is sometimes heard but the {abbrev} is more frequently used because it is shorter. Note that there is an ambiguity in usage that has to be resolved by context: "I'm going to garbage-collect my desk" usually means to clean out the drawers, but it could also mean to throw away or recycle the desk itself.
:GCOS:: /jee'kohs/ n. A {quick-and-dirty} {clone} of System/360 DOS that emerged from GE around 1970; originally called GECOS (the General Electric Comprehensive Operating System). Later kluged to support primitive timesharing and transaction processing. After the buyout of GE's computer division by Honeywell, the name was changed to General Comprehensive Operating System (GCOS). Other OS groups at Honeywell began referring to it as 'God's Chosen Operating System', allegedly in reaction to the GCOS crowd's uninformed and snotty attitude about the superiority of their product. All this might be of zero interest, except for two facts: (1) The GCOS people won the political war, and this led in the orphaning and eventual death of Honeywell {{Multics}}, and (2) GECOS/GCOS left one permanent mark on UNIX. Some early UNIX systems at Bell Labs used GCOS machines for print spooling and various other services; the field added to '/etc/passwd' to carry GCOS ID information was called the 'GECOS field' and survives today as the 'pw_gecos' member used for the user's full name and other human-ID information. GCOS later played a major role in keeping Honeywell a dismal also-ran in the mainframe market, and was itself ditched for UNIX in the late 1980s when Honeywell retired its aging {big iron} designs.
:GECOS:: /jee'kohs/ n. See {{GCOS}}.
:gedanken: /g*-don'kn/ adj. Ungrounded; impractical; not well-thought-out; untried; untested. 'Gedanken' is a German word for 'thought'. A thought experiment is one you carry out in your head. In physics, the term 'gedanken experiment' is used to refer to an experiment that is impractical to carry out, but useful to consider because you can reason about it theoretically. (A classic gedanken experiment of relativity theory involves thinking about a man in an elevator accelerating through space.) Gedanken experiments are very useful in physics, but you have to be careful. It's too easy to idealize away some important aspect of the real world in contructing your 'apparatus'.
Among hackers, accordingly, the word has a pejorative connotation. It is said of a project, especially one in artificial intelligence research, that is written up in grand detail (typically as a Ph.D. thesis) without ever being implemented to any great extent. Such a project is usually perpetrated by people who aren't very good hackers or find programming distasteful or are just in a hurry. A 'gedanken thesis' is usually marked by an obvious lack of intuition about what is programmable and what is not, and about what does and does not constitute a clear specification of an algorithm. See also {AI-complete}, {DWIM}.
:geef: v. [ostensibly from 'gefingerpoken'] vt. Syn. {mung}. See also {blinkenlights}.
:geek out: vi. To temporarily enter techno-nerd mode while in a non-hackish context, for example at parties held near computer equipment. Especially used when you need to do something highly technical and don't have time to explain: "Pardon me while I geek out for a moment." See {computer geek}.
:gen: /jen/ n.,v. Short for {generate}, used frequently in both spoken and written contexts.
:gender mender: n. A cable connector shell with either two male or two female connectors on it, used to correct the mismatches that result when some {loser} didn't understand the RS232C specification and the distinction between DTE and DCE. Used esp. for RS-232C parts in either the original D-25 or the IBM PC's bogus D-9 format. Also called 'gender bender', 'gender blender', 'sex changer', and even 'homosexual adapter'; however, there appears to be some confusion as to whether a 'male homosexual adapter' has pins on both sides (is male) or sockets on both sides (connects two males).
:General Public Virus: n. Pejorative name for some versions of the {GNU} project {copyleft} or General Public License (GPL), which requires that any tools or {app}s incorporating copylefted code must be source-distributed on the same counter-commercial terms as GNU stuff. Thus it is alleged that the copyleft 'infects' software generated with GNU tools, which may in turn infect other software that reuses any of its code. The Free Software Foundation's official position as of January 1991 is that copyright law limits the scope of the GPL to "programs textually incorporating significant amounts of GNU code", and that the 'infection' is not passed on to third parties unless actual GNU source is transmitted (as in, for example, use of the Bison parser skeleton). Nevertheless, widespread suspicion that the {copyleft} language is 'boobytrapped' has caused many developers to avoid using GNU tools and the GPL. Recent (July 1991) changes in the language of the version 2.00 license may eliminate this problem.
:generate: vt. To produce something according to an algorithm or program or set of rules, or as a (possibly unintended) side effect of the execution of an algorithm or program. The opposite of {parse}. This term retains its mechanistic connotations (though often humorously) when used of human behavior. "The guy is rational most of the time, but mention nuclear energy around him and he'll generate {infinite} flamage."
:gensym: /jen'sim/ [from MacLISP for 'generated symbol'] 1. v. To invent a new name for something temporary, in such a way that the name is almost certainly not in conflict with one already in use. 2. n. The resulting name. The canonical form of a gensym is 'Gnnnn' where nnnn represents a number; any LISP hacker would recognize G0093 (for example) as a gensym. 3. A freshly generated data structure with a gensymmed name. These are useful for storing or uniquely identifying crufties (see {cruft}).
:Get a life!: imp. Hacker-standard way of suggesting that the person to whom you are speaking has succumbed to terminal geekdom (see {computer geek}). Often heard on {USENET}, esp. as a way of suggesting that the target is taking some obscure issue of {theology} too seriously. This exhortation was popularized by William Shatner on a "Saturday Night Live" episode in a speech that ended "Get a *life*!", but some respondents believe it to have been in use before then. It was certainly in wide use among hackers for at least five years before achieving mainstream currency around early 1992.
:Get a real computer!: imp. Typical hacker response to news that somebody is having trouble getting work done on a system that (a) is single-tasking, (b) has no hard disk, or (c) has an address space smaller than 4 megabytes. This is as of mid-1991; note that the threshold for 'real computer' rises with time, and it may well be (for example) that machines with character-only displays will be generally considered 'unreal' in a few years (GLS points out that they already are in some circles). See {essentials}, {bitty box}, and {toy}.
:GFR: /G-F-R/ vt. [ITS] From 'Grim File Reaper', an ITS and Lisp Machine utility. To remove a file or files according to some program-automated or semi-automatic manual procedure, especially one designed to reclaim mass storage space or reduce name-space clutter (the original GFR actually moved files to tape). Often generalized to pieces of data below file level. "I used to have his phone number, but I guess I {GFR}ed it." See also {prowler}, {reaper}. Compare {GC}, which discards only provably worthless stuff.
:gig: /jig/ or /gig/ [SI] n. See {{quantifiers}}.
:giga-: /ji'ga/ or /gi'ga/ [SI] pref. See {{quantifiers}}.
:GIGO: /gi:'goh/ [acronym] 1. 'Garbage In, Garbage Out' —- usually said in response to {luser}s who complain that a program didn't complain about faulty data. Also commonly used to describe failures in human decision making due to faulty, incomplete, or imprecise data. 2. 'Garbage In, Gospel Out': this more recent expansion is a sardonic comment on the tendency human beings have to put excessive trust in 'computerized' data.
:gilley: [USENET] n. The unit of analogical bogosity. According to its originator, the standard for one gilley was "the act of bogotoficiously comparing the shutting down of 1000 machines for a day with the killing of one person". The milligilley has been found to suffice for most normal conversational exchanges.
:gillion: /gil'y*n/ or /jil'y*n/ [formed from {giga-} by analogy with mega/million and tera/trillion] n. 10^9. Same as an American billion or a British 'milliard'. How one pronounces this depends on whether one speaks {giga-} with a hard or soft 'g'.
:GIPS: /gips/ or /jips/ [analogy with {MIPS}] n. Giga-Instructions per Second (also possibly 'Gillions of Instructions per Second'; see {gillion}). In 1991, this is used of only a handful of highly parallel machines, but this is expected to change. Compare {KIPS}.
:glark: /glark/ vt. To figure something out from context. "The System III manuals are pretty poor, but you can generally glark the meaning from context." Interestingly, the word was originally 'glork'; the context was "This gubblick contains many nonsklarkish English flutzpahs, but the overall pluggandisp can be glorked [sic] from context" (David Moser, quoted by Douglas Hofstadter in his "Metamagical Themas" column in the January 1981 'Scientific American'). It is conjectured that hackish usage mutated the verb to 'glark' because {glork} was already an established jargon term. Compare {grok}, {zen}.
:glass: [IBM] n. Synonym for {silicon}.
:glass tty: /glas T-T-Y/ or /glas ti'tee/ n. A terminal that has a display screen but which, because of hardware or software limitations, behaves like a teletype or some other printing terminal, thereby combining the disadvantages of both: like a printing terminal, it can't do fancy display hacks, and like a display terminal, it doesn't produce hard copy. An example is the early 'dumb' version of Lear-Siegler ADM 3 (without cursor control). See {tube}, {tty}; compare {dumb terminal}, {smart terminal}. See "{TV Typewriters}" (appendix A) for an interesting true story about a glass tty.
:glassfet: /glas'fet/ [by analogy with MOSFET, the acronym for 'Metal-Oxide-Semiconductor Field-Effect Transistor'] n. Syn. {firebottle}, a humorous way to refer to a vacuum tube.
:glitch: /glich/ [from German 'glitschen' to slip, via Yiddish 'glitshen', to slide or skid] 1. n. A sudden interruption in electric service, sanity, continuity, or program function. Sometimes recoverable. An interruption in electric service is specifically called a 'power glitch' (also {power hit}). This is of grave concern because it usually crashes all the computers. In jargon, though, a hacker who got to the middle of a sentence and then forgot how he or she intended to complete it might say, "Sorry, I just glitched". 2. vi. To commit a glitch. See {gritch}. 3. vt. [Stanford] To scroll a display screen, esp. several lines at a time. {{WAITS}} terminals used to do this in order to avoid continuous scrolling, which is distracting to the eye. 4. obs. Same as {magic cookie}, sense 2.
All these uses of 'glitch' derive from the specific technical meaning the term has in the electronic hardware world, where it is now techspeak. A glitch can occur when the inputs of a circuit change, and the outputs change to some {random} value for some very brief time before they settle down to the correct value. If another circuit inspects the output at just the wrong time, reading the random value, the results can be very wrong and very hard to debug (a glitch is one of many causes of electronic {heisenbug}s).
:glob: /glob/, *not* /glohb/ [UNIX] vt.,n. To expand special characters in a wildcarded name, or the act of so doing (the action is also called 'globbing'). The UNIX conventions for filename wildcarding have become sufficiently pervasive that many hackers use some of them in written English, especially in email or news on technical topics. Those commonly encountered include the following:
* wildcard for any string (see also {UN*X}) ? wildcard for any character (generally read this way only at the beginning or in the middle of a word)
[] delimits a wildcard matching any of the enclosed characters
{} alternation of comma-separated alternatives; thus, 'foo{baz,qux}' would be read as 'foobaz' or 'fooqux'
Some examples: "He said his name was [KC]arl" (expresses ambiguity). "I don't read talk.politics.*" (any of the talk.politics subgroups on {USENET}). Other examples are given under the entry for {X}. Compare {regexp}.
Historical note: The jargon usage derives from 'glob', the name of a subprogram that expanded wildcards in archaic pre-Bourne versions of the UNIX shell.
:glork: /glork/ 1. interj. Term of mild surprise, usually tinged with outrage, as when one attempts to save the results of 2 hours of editing and finds that the system has just crashed. 2. Used as a name for just about anything. See {foo}. 3. vt. Similar to {glitch}, but usually used reflexively. "My program just glorked itself." See also {glark}.
:glue: n. Generic term for any interface logic or protocol that connects two component blocks. For example, {Blue Glue} is IBM's SNA protocol, and hardware designers call anything used to connect large VLSI's or circuit blocks 'glue logic'.
:gnarly: /nar'lee/ adj. Both {obscure} and {hairy} in the sense of complex. "{Yow!} —- the tuned assembler implementation of BitBlt is really gnarly!" From a similar but less specific usage in surfer slang.
:GNU: /gnoo/, *not* /noo/ 1. [acronym: 'GNU's Not UNIX!', see {{recursive acronym}}] A UNIX-workalike development effort of the Free Software Foundation headed by Richard Stallman . GNU EMACS and the GNU C compiler, two tools designed for this project, have become very popular in hackerdom and elsewhere. The GNU project was designed partly to proselytize for RMS's position that information is community property and all software source should be shared. One of its slogans is "Help stamp out software hoarding!" Though this remains controversial (because it implicitly denies any right of designers to own, assign, and sell the results of their labors), many hackers who disagree with RMS have nevertheless cooperated to produce large amounts of high-quality software for free redistribution under the Free Software Foundation's imprimatur. See {EMACS}, {copyleft}, {General Public Virus}. 2. Noted UNIX hacker John Gilmore , founder of USENET's anarchic alt.* hierarchy.
:GNUMACS: /gnoo'maks/ [contraction of 'GNU EMACS'] Often-heard abbreviated name for the {GNU} project's flagship tool, {EMACS}. Used esp. in contrast with {GOSMACS}.
:go flatline: [from cyberpunk SF, refers to flattening of EEG traces upon brain-death] vi., also adjectival 'flatlined'. 1. To {die}, terminate, or fail, esp. irreversibly. In hacker parlance, this is used of machines only, human death being considered somewhat too serious a matter to employ jargon-jokes about. 2. To go completely quiescent; said of machines undergoing controlled shutdown. "You can suffer file damage if you shut down UNIX but power off before the system has gone flatline." 3. Of a video tube, to fail by losing vertical scan, so all one sees is a bright horizontal line bisecting the screen.
:go root: [UNIX] vi. To temporarily enter {root mode} in order to perform a privileged operation. This use is deprecated in Australia, where v. 'root' refers to animal sex.
:go-faster stripes: [UK] Syn. {chrome}.
:gobble: vt. To consume or to obtain. The phrase 'gobble up' tends to imply 'consume', while 'gobble down' tends to imply 'obtain'. "The output spy gobbles characters out of a {tty} output buffer." "I guess I'll gobble down a copy of the documentation tomorrow." See also {snarf}.
:Godzillagram: /god-zil'*-gram/ n. [from Japan's national hero] 1. A network packet that in theory is a broadcast to every machine in the universe. The typical case of this is an IP datagram whose destination IP address is [255.255.255.255]. Fortunately, few gateways are foolish enough to attempt to implement this! 2. A network packet of maximum size. An IP Godzillagram has 65,536 octets.
:golden: adj. [prob. from folklore's 'golden egg'] When used to describe a magnetic medium (e.g., 'golden disk', 'golden tape'), describes one containing a tested, up-to-spec, ready-to-ship software version. Compare {platinum-iridium}.
:golf-ball printer: n. The IBM 2741, a slow but letter-quality printing device and terminal based on the IBM Selectric typewriter. The 'golf ball' was a round object bearing reversed embossed images of 88 different characters arranged on four meridians of latitude; one could change the font by swapping in a different golf ball. This was the technology that enabled APL to use a non-EBCDIC, non-ASCII, and in fact completely non-standard character set. This put it 10 years ahead of its time —- where it stayed, firmly rooted, for the next 20, until character displays gave way to programmable bit-mapped devices with the flexibility to support other character sets.
:gonk: /gonk/ vt.,n. 1. To prevaricate or to embellish the truth beyond any reasonable recognition. It is alleged that in German the term is (mythically) 'gonken'; in Spanish the verb becomes 'gonkar'. "You're gonking me. That story you just told me is a bunch of gonk." In German, for example, "Du gonkst mir" (You're pulling my leg). See also {gonkulator}. 2. [British] To grab some sleep at an odd time; compare {gronk out}.
:gonkulator: /gon'kyoo-lay-tr/ [from the old "Hogan's Heroes" TV series] n. A pretentious piece of equipment that actually serves no useful purpose. Usually used to describe one's least favorite piece of computer hardware. See {gonk}.
:gonzo: /gon'zoh/ [from Hunter S. Thompson] adj. Overwhelming; outrageous; over the top; very large, esp. used of collections of source code, source files, or individual functions. Has some of the connotations of {moby} and {hairy}, but without the implication of obscurity or complexity.
:Good Thing: n.,adj. Often capitalized; always pronounced as if capitalized. 1. Self-evidently wonderful to anyone in a position to notice: "The Trailblazer's 19.2Kbaud PEP mode with on-the-fly Lempel-Ziv compression is a Good Thing for sites relaying netnews." 2. Something that can't possibly have any ill side-effects and may save considerable grief later: "Removing the self-modifying code from that shared library would be a Good Thing." 3. When said of software tools or libraries, as in "YACC is a Good Thing", specifically connotes that the thing has drastically reduced a programmer's work load. Oppose {Bad Thing}.
:gorilla arm: n. The side-effect that destroyed touch-screens as a mainstream input technology despite a promising start in the early 1980s. It seems the designers of all those {spiffy} touch-menu systems failed to notice that humans aren't designed to hold their arms in front of their faces making small motions. After more than a very few selections, the arm begins to feel sore, cramped, and oversized; hence 'gorilla arm'. This is now considered a classic cautionary tale to human-factors designers; "Remember the gorilla arm!" is shorthand for "How is this going to fly in *real* use?".
:gorp: /gorp/ [CMU: perhaps from the canonical hiker's food, Good Old Raisins and Peanuts] Another {metasyntactic variable}, like {foo} and {bar}.
:GOSMACS: /goz'maks/ [contraction of 'Gosling EMACS'] n. The first {EMACS}-in-C implementation, predating but now largely eclipsed by {GNUMACS}. Originally freeware; a commercial version is now modestly popular as 'UniPress EMACS'. The author (James Gosling) went on to invent {NeWS}.
:Gosperism: /gos'p*r-izm/ A hack, invention, or saying by arch-hacker R. William (Bill) Gosper. This notion merits its own term because there are so many of them. Many of the entries in {HAKMEM} are Gosperisms; see also {life}.
:gotcha: n. A {misfeature} of a system, especially a programming language or environment, that tends to breed bugs or mistakes because it behaves in an unexpected way. For example, a classic gotcha in {C} is the fact that 'if (a=b) {code;}' is syntactically valid and sometimes even correct. It puts the value of 'b' into 'a' and then executes 'code' if 'a' is non-zero. What the programmer probably meant was 'if (a==b) {code;}', which executes 'code' if 'a' and 'b' are equal.
:GPL: /G-P-L/ n. Abbrev. for 'General Public License' in widespread use; see {copyleft}.
:GPV: /G-P-V/ n. Abbrev. for {General Public Virus} in widespread use.
:grault: /grawlt/ n. Yet another {metasyntactic variable}, invented by Mike Gallaher and propagated by the {GOSMACS} documentation. See {corge}.
:gray goo: n. A hypothetical substance composed of {sagan}s of sub-micron-sized self-replicating robots programmed to make copies of themselves out of whatever is available. The image that goes with the term is one of the entire biosphere of Earth being eventually converted to robot goo. This is the simplest of the {{nanotechnology}} disaster scenarios, easily refuted by arguments from energy requirements and elemental abundances. Compare {blue goo}.
:Great Renaming: n. The {flag day} on which all of the non-local groups on the {USENET} had their names changed from the net.- format to the current multiple-hierarchies scheme.
:Great Runes: n. Uppercase-only text or display messages. Some archaic operating systems still emit these. See also {runes}, {smash case}, {fold case}.
Decades ago, back in the days when it was the sole supplier of long-distance hardcopy transmittal devices, the Teletype Corporation was faced with a major design choice. To shorten code lengths and cut complexity in the printing mechanism, it had been decided that teletypes would use a monocase font, either ALL UPPER or all lower. The question was, which one to choose. A study was conducted on readability under various conditions of bad ribbon, worn print hammers, etc. Lowercase won; it is less dense and has more distinctive letterforms, and is thus much easier to read both under ideal conditions and when the letters are mangled or partly obscured. The results were filtered up through {management}. The chairman of Teletype killed the proposal because it failed one incredibly important criterion:
"It would be impossible to spell the name of the Deity correctly."
In this way (or so, at least, hacker folklore has it) superstition triumphed over utility. Teletypes were the major input devices on most early computers, and terminal manufacturers looking for corners to cut naturally followed suit until well into the 1970s. Thus, that one bad call stuck us with Great Runes for thirty years.
:Great Worm, the: n. The 1988 Internet {worm} perpetrated by {RTM}. This is a play on Tolkien (compare {elvish}, {Elder Days}). In the fantasy history of his Middle Earth books, there were dragons powerful enough to lay waste to entire regions; two of these (Scatha and Glaurung) were known as "the Great Worms". This usage expresses the connotation that the RTM hack was a sort of devastating watershed event in hackish history; certainly it did more to make non-hackers nervous about the Internet than anything before or since.
:great-wall: [from SF fandom] vi.,n. A mass expedition to an oriental restaurant, esp. one where food is served family-style and shared. There is a common heuristic about the amount of food to order, expressed as "Get N - 1 entrees"; the value of N, which is the number of people in the group, can be inferred from context (see {N}). See {{oriental food}}, {ravs}, {stir-fried random}.
:Green Book: n. 1. One of the three standard {PostScript} references: 'PostScript Language Program Design', bylined 'Adobe Systems' (Addison-Wesley, 1988; QA76.73.P67P66 ISBN; 0-201-14396-8); see also {Red Book}, {Blue Book}, and the {White Book} (sense 2)). 2. Informal name for one of the three standard references on SmallTalk: 'Smalltalk-80: Bits of History, Words of Advice', by Glenn Krasner (Addison-Wesley, 1983; QA76.8.S635S58; ISBN 0-201-11669-3) (this, too, is associated with blue and red books). 3. The 'X/Open Compatibility Guide'. Defines an international standard {{UNIX}} environment that is a proper superset of POSIX/SVID; also includes descriptions of a standard utility toolkit, systems administrations features, and the like. This grimoire is taken with particular seriousness in Europe. See {Purple Book}. 4. The IEEE 1003.1 POSIX Operating Systems Interface standard has been dubbed "The Ugly Green Book". 5. Any of the 1992 standards which will be issued by the CCITT's tenth plenary assembly. Until now, these have changed color each review cycle (1984 was {Red Book}, 1988 {Blue Book}); however, it is rumored that this convention is going to be dropped before 1992. These include, among other things, the X.400 email standard and the Group 1 through 4 fax standards. See also {{book titles}}.
:green bytes: n. (also 'green words') 1. Meta-information embedded in a file, such as the length of the file or its name; as opposed to keeping such information in a separate description file or record. The term comes from an IBM user's group meeting (ca. 1962) at which these two approaches were being debated and the diagram of the file on the blackboard had the 'green bytes' drawn in green. 2. By extension, the non-data bits in any self-describing format. "A GIF file contains, among other things, green bytes describing the packing method for the image." Compare {out-of-band}, {zigamorph}, {fence} (sense 1).
:green card: n. [after the 'IBM System/360 Reference Data' card] This is used for any summary of an assembly language, even if the color is not green. Less frequently used now because of the decrease in the use of assembly language. "I'll go get my green card so I can check the addressing mode for that instruction." Some green cards are actually booklets.
The original green card became a yellow card when the System/370 was introduced, and later a yellow booklet. An anecdote from IBM refers to a scene that took place in a programmers' terminal room at Yorktown in 1978. A luser overheard one of the programmers ask another "Do you have a green card?" The other grunted and passed the first a thick yellow booklet. At this point the luser turned a delicate shade of olive and rapidly left the room, never to return. See also {card}.
:green lightning: [IBM] n. 1. Apparently random flashing streaks on the face of 3278-9 terminals while a new symbol set is being downloaded. This hardware bug was left deliberately unfixed, as some genius within IBM suggested it would let the user know that 'something is happening'. That, it certainly does. Later microprocessor-driven IBM color graphics displays were actually *programmed* to produce green lightning! 2. [proposed] Any bug perverted into an alleged feature by adroit rationalization or marketing. "Motorola calls the CISC cruft in the 88000 architecture 'compatibility logic', but I call it green lightning". See also {feature}.
:green machine: n. A computer or peripheral device that has been designed and built to military specifications for field equipment (that is, to withstand mechanical shock, extremes of temperature and humidity, and so forth). Comes from the olive-drab 'uniform' paint used for military equipment.
:Green's Theorem: [TMRC] prov. For any story, in any group of people there will be at least one person who has not heard the story. [The name of this theorem is a play on a fundamental theorem in calculus. —- ESR]
:grep: /grep/ [from the qed/ed editor idiom g/re/p , where re stands for a regular expression, to Globally search for the Regular Expression and Print the lines containing matches to it, via {{UNIX}} 'grep(1)'] vt. To rapidly scan a file or set of files looking for a particular string or pattern (when browsing through a large set of files, one may speak of 'grepping around'). By extension, to look for something by pattern. "Grep the bulletin board for the system backup schedule, would you?" See also {vgrep}.
:grind: vt. 1. [MIT and Berkeley] To format code, especially LISP code, by indenting lines so that it looks pretty. This usage was associated with the MacLISP community and is now rare; {prettyprint} was and is the generic term for such operations. 2. [UNIX] To generate the formatted version of a document from the nroff, troff, TeX, or Scribe source. The BSD program 'vgrind(1)' grinds code for printing on a Versatec bitmapped printer. 3. To run seemingly interminably, esp. (but not necessarily) if performing some tedious and inherently useless task. Similar to {crunch} or {grovel}. Grinding has a connotation of using a lot of CPU time, but it is possible to grind a disk, network, etc. See also {hog}. 4. To make the whole system slow. "Troff really grinds a PDP-11." 5. 'grind grind' excl. Roughly, "Isn't the machine slow today!"
:grind crank: n. A mythical accessory to a terminal. A crank on the side of a monitor, which when operated makes a zizzing noise and causes the computer to run faster. Usually one does not refer to a grind crank out loud, but merely makes the appropriate gesture and noise. See {grind} and {wugga wugga}.
Historical note: At least one real machine actually had a grind crank —- the R1, a research machine built toward the end of the days of the great vacuum tube computers, in 1959. R1 (also known as 'The Rice Institute Computer' (TRIC) and later as 'The Rice University Computer' (TRUC)) had a single-step/free-run switch for use when debugging programs. Since single-stepping through a large program was rather tedious, there was also a crank with a cam and gear arrangement that repeatedly pushed the single-step button. This allowed one to 'crank' through a lot of code, then slow down to single-step for a bit when you got near the code of interest, poke at some registers using the console typewriter, and then keep on cranking.
:gripenet: [IBM] n. A wry (and thoroughly unoffical) name for IBM's internal VNET system, deriving from its common use by IBMers to voice pointed criticism of IBM management that would be taboo in more formal channels.
:gritch: /grich/ 1. n. A complaint (often caused by a {glitch}). 2. vi. To complain. Often verb-doubled: "Gritch gritch". 3. A synonym for {glitch} (as verb or noun).
:grok: /grok/, var. /grohk/ [from the novel 'Stranger in a Strange Land', by Robert A. Heinlein, where it is a Martian word meaning literally 'to drink' and metaphorically 'to be one with'] vt. 1. To understand, usually in a global sense. Connotes intimate and exhaustive knowledge. Contrast {zen}, similar supernal understanding as a single brief flash. See also {glark}. 2. Used of programs, may connote merely sufficient understanding. "Almost all C compilers grok the 'void' type these days."
:gronk: /gronk/ [popularized by Johnny Hart's comic strip "B.C." but the word apparently predates that] vt. 1. To clear the state of a wedged device and restart it. More severe than 'to {frob}'. 2. [TMRC] To cut, sever, smash, or similarly disable. 3. The sound made by many 3.5-inch diskette drives. In particular, the microfloppies on a Commodore Amiga go "grink, gronk".
:gronk out: vi. To cease functioning. Of people, to go home and go to sleep. "I guess I'll gronk out now; see you all tomorrow."
:gronked: adj. 1. Broken. "The teletype scanner was gronked, so we took the system down." 2. Of people, the condition of feeling very tired or (less commonly) sick. "I've been chasing that bug for 17 hours now and I am thoroughly gronked!" Compare {broken}, which means about the same as {gronk} used of hardware, but connotes depression or mental/emotional problems in people.
:grovel: vi. 1. To work interminably and without apparent progress. Often used transitively with 'over' or 'through'. "The file scavenger has been groveling through the file directories for 10 minutes now." Compare {grind} and {crunch}. Emphatic form: 'grovel obscenely'. 2. To examine minutely or in complete detail. "The compiler grovels over the entire source program before beginning to translate it." "I grovelled through all the documentation, but I still couldn't find the command I wanted."
:grunge: /gruhnj/ n. 1. That which is grungy, or that which makes it so. 2. [Cambridge] Code which is inaccessible due to changes in other parts of the program. The preferred term in North America is {dead code}.
:gubbish: /guhb'*sh/ [a portmanteau of 'garbage' and 'rubbish'?] n. Garbage; crap; nonsense. "What is all this gubbish?" The opposite portmanteau 'rubbage' is also reported.
:guiltware: /gilt'weir/ n. 1. A piece of {freeware} decorated with a message telling one how long and hard the author worked on it and intimating that one is a no-good freeloader if one does not immediately send the poor suffering martyr gobs of money. 2. {Shareware} that works.
:gumby: /guhm'bee/ [from a class of Monty Python characters, poss. with some influence from the 1960s claymation character] n. An act of minor but conspicuous stupidity, often in 'gumby maneuver' or 'pull a gumby'.
:gun: [ITS: from the ':GUN' command] vt. To forcibly terminate a program or job (computer, not career). "Some idiot left a background process running soaking up half the cycles, so I gunned it." Compare {can}.
:gunch: /guhnch/ [TMRC] vt. To push, prod, or poke at a device that has almost produced the desired result. Implies a threat to {mung}.
:gurfle: /ger'fl/ interj. An expression of shocked disbelief. "He said we have to recode this thing in FORTRAN by next week. Gurfle!" Compare {weeble}.
:guru: n. [UNIX] An expert. Implies not only {wizard} skill but also a history of being a knowledge resource for others. Less often, used (with a qualifier) for other experts on other systems, as in 'VMS guru'. See {source of all good bits}.
:guru meditation: n. Amiga equivalent of 'panic' in UNIX (sometimes just called a 'guru' or 'guru event'). When the system crashes, a cryptic message "GURU MEDITATION #XXXXXXXX.YYYYYYYY" appears, indicating what the problem was. An Amiga guru can figure things out from the numbers. Generally a {guru} event must be followed by a {Vulcan nerve pinch}.
This term is (no surprise) an in-joke from the earliest days of the Amiga. There used to be a device called a 'Joyboard' which was basically a plastic board built onto on a joystick-like device; it was sold with a skiing game cartridge for the Atari game machine. It is said that whenever the prototype OS crashed, the system programmer responsible would calm down by concentrating on a solution while sitting cross-legged on a Joyboard trying to keep the board in balance. This position resembled that of a meditating guru. Sadly, the joke was removed in AmigaOS 2.04.
:gweep: /gweep/ [WPI] 1. v. To {hack}, usually at night. At WPI, from 1977 onwards, this often indicated that the speaker could be found at the College Computing Center punching cards or crashing the {PDP-10} or, later, the DEC-20; the term has survived the demise of those technologies, however, and is still live in late 1991. "I'm going to go gweep for a while. See you in the morning" "I gweep from 8pm till 3am during the week." 2. n. One who habitually gweeps in sense 1; a {hacker}. "He's a hard-core gweep, mumbles code in his sleep."
= H = =====
:h: [from SF fandom] infix. A method of 'marking' common words, i.e., calling attention to the fact that they are being used in a nonstandard, ironic, or humorous way. Originated in the fannish catchphrase "Bheer is the One True Ghod!" from decades ago. H-infix marking of 'Ghod' and other words spread into the 1960s counterculture via underground comix, and into early hackerdom either from the counterculture or from SF fandom (the three overlapped heavily at the time). More recently, the h infix has become an expected feature of benchmark names (Dhrystone, Rhealstone, etc.); this is prob. patterning on the original Whetstone (the name of a laboratory) but influenced by the fannish/counterculture h infix.
:ha ha only serious: [from SF fandom, orig. as mutation of HHOK, 'Ha Ha Only Kidding'] A phrase (often seen abbreviated as HHOS) that aptly captures the flavor of much hacker discourse. Applied especially to parodies, absurdities, and ironic jokes that are both intended and perceived to contain a possibly disquieting amount of truth, or truths that are constructed on in-joke and self-parody. This lexicon contains many examples of ha-ha-only-serious in both form and content. Indeed, the entirety of hacker culture is often perceived as ha-ha-only-serious by hackers themselves; to take it either too lightly or too seriously marks a person as an outsider, a {wannabee}, or in {larval stage}. For further enlightenment on this subject, consult any Zen master. See also {{Humor, Hacker}}, and {AI koans}.
:hack: 1. n. Originally, a quick job that produces what is needed, but not well. 2. n. An incredibly good, and perhaps very time-consuming, piece of work that produces exactly what is needed. 3. vt. To bear emotionally or physically. "I can't hack this heat!" 4. vt. To work on something (typically a program). In an immediate sense: "What are you doing?" "I'm hacking TECO." In a general (time-extended) sense: "What do you do around here?" "I hack TECO." More generally, "I hack 'foo'" is roughly equivalent to "'foo' is my major interest (or project)". "I hack solid-state physics." 5. vt. To pull a prank on. See sense 2 and {hacker} (sense 5). 6. vi. To interact with a computer in a playful and exploratory rather than goal-directed way. "Whatcha up to?" "Oh, just hacking." 7. n. Short for {hacker}. 8. See {nethack}. 9. [MIT] v. To explore the basements, roof ledges, and steam tunnels of a large, institutional building, to the dismay of Physical Plant workers and (since this is usually performed at educational institutions) the Campus Police. This activity has been found to be eerily similar to playing adventure games such as Dungeons and Dragons and {Zork}. See also {vadding}.
Constructions on this term abound. They include 'happy hacking' (a farewell), 'how's hacking?' (a friendly greeting among hackers) and 'hack, hack' (a fairly content-free but friendly comment, often used as a temporary farewell). For more on this totipotent term see "{The Meaning of 'Hack'}". See also {neat hack}, {real hack}.
:hack attack: [poss. by analogy with 'Big Mac Attack' from ads for the McDonald's fast-food chain; the variant 'big hack attack' is reported] n. Nearly synonymous with {hacking run}, though the latter more strongly implies an all-nighter.
:hack mode: n. 1. What one is in when hacking, of course. 2. More specifically, a Zen-like state of total focus on The Problem that may be achieved when one is hacking (this is why every good hacker is part mystic). Ability to enter such concentration at will correlates strongly with wizardliness; it is one of the most important skills learned during {larval stage}. Sometimes amplified as 'deep hack mode'.
Being yanked out of hack mode (see {priority interrupt}) may be experienced as a physical shock, and the sensation of being in it is more than a little habituating. The intensity of this experience is probably by itself sufficient explanation for the existence of hackers, and explains why many resist being promoted out of positions where they can code. See also {cyberspace} (sense 2).
Some aspects of hackish etiquette will appear quite odd to an observer unaware of the high value placed on hack mode. For example, if someone appears at your door, it is perfectly okay to hold up a hand (without turning one's eyes away from the screen) to avoid being interrupted. One may read, type, and interact with the computer for quite some time before further acknowledging the other's presence (of course, he or she is reciprocally free to leave without a word). The understanding is that you might be in {hack mode} with a lot of delicate {state} (sense 2) in your head, and you dare not {swap} that context out until you have reached a good point to pause. See also {juggling eggs}.
:hack on: vt. To {hack}; implies that the subject is some pre-existing hunk of code that one is evolving, as opposed to something one might {hack up}.
:hack together: vt. To throw something together so it will work. Unlike 'kluge together' or {cruft together}, this does not necessarily have negative connotations.
:hack up: vt. To {hack}, but generally implies that the result is a hack in sense 1 (a quick hack). Contrast this with {hack on}. To 'hack up on' implies a {quick-and-dirty} modification to an existing system. Contrast {hacked up}; compare {kluge up}, {monkey up}, {cruft together}.
:hack value: n. Often adduced as the reason or motivation for expending effort toward a seemingly useless goal, the point being that the accomplished goal is a hack. For example, MacLISP had features for reading and printing Roman numerals, which were installed purely for hack value. See {display hack} for one method of computing hack value, but this cannot really be explained. As a great artist once said of jazz: "If you hafta ask, you ain't never goin' to find out."
:hack-and-slay: v. (also 'hack-and-slash') 1. To play a {MUD} or go mudding, especially with the intention of {berserking} for pleasure. 2. To undertake an all-night programming/hacking session, interspersed with stints of mudding as a change of pace. This term arose on the British academic network amongst students who worked nights and logged onto Essex University's MUDs during public-access hours (2 A.M. to 7 A.M.). Usually more mudding than work was done in these sessions.
:hacked off: [analogous to 'pissed off'] adj. Said of system administrators who have become annoyed, upset, or touchy owing to suspicions that their sites have been or are going to be victimized by crackers, or used for inappropriate, technically illegal, or even overtly criminal activities. For example, having unreadable files in your home directory called 'worm', 'lockpick', or 'goroot' would probably be an effective (as well as impressively obvious and stupid) way to get your sysadmin hacked off at you.
:hacked up: adj. Sufficiently patched, kluged, and tweaked that the surgical scars are beginning to crowd out normal tissue (compare {critical mass}). Not all programs that are hacked become 'hacked up'; if modifications are done with some eye to coherence and continued maintainability, the software may emerge better for the experience. Contrast {hack up}.
:hacker: [originally, someone who makes furniture with an axe] n. 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating {hack value}. 4. A person who is good at programming quickly. 5. An expert at a particular program, or one who frequently does work using it or on it; as in 'a UNIX hacker'. (Definitions 1 through 5 are correlated, and people who fit them congregate.) 6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example. 7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. 8. [deprecated] A malicious meddler who tries to discover sensitive information by poking around. Hence 'password hacker', 'network hacker'. See {cracker}.
The term 'hacker' also tends to connote membership in the global community defined by the net (see {network, the} and {Internet address}). It also implies that the person described is seen to subscribe to some version of the hacker ethic (see {hacker ethic, the}.
It is better to be described as a hacker by others than to describe oneself that way. Hackers consider themselves something of an elite (a meritocracy based on ability), though one to which new members are gladly welcome. There is thus a certain ego satisfaction to be had in identifying yourself as a hacker (but if you claim to be one and are not, you'll quickly be labeled {bogus}). See also {wannabee}.
:hacker ethic, the: n. 1. The belief that information-sharing is a powerful positive good, and that it is an ethical duty of hackers to share their expertise by writing free software and facilitating access to information and to computing resources wherever possible. 2. The belief that system-cracking for fun and exploration is ethically OK as long as the cracker commits no theft, vandalism, or breach of confidentiality. Both of these normative ethical principles are widely, but by no means universally) accepted among hackers. Most hackers subscribe to the hacker ethic in sense 1, and many act on it by writing and giving away free software. A few go further and assert that *all* information should be free and *any* proprietary control of it is bad; this is the philosophy behind the {GNU} project.
Sense 2 is more controversial: some people consider the act of cracking itself to be unethical, like breaking and entering. But this principle at least moderates the behavior of people who see themselves as 'benign' crackers (see also {samurai}). On this view, it is one of the highest forms of hackerly courtesy to (a) break into a system, and then (b) explain to the sysop, preferably by email from a {superuser} account, exactly how it was done and how the hole can be plugged —- acting as an unpaid (and unsolicited) {tiger team}. |
|