:feetch feetch: /feech feech/ interj. If someone tells you about
   some new improvement to a program, you might respond: "Feetch,
   feetch!"  The meaning of this depends critically on vocal
   inflection.  With enthusiasm, it means something like "Boy, that's
   great!  What a great hack!"  Grudgingly or with obvious doubt, it
   means "I don't know; it sounds like just one more unnecessary and
   complicated thing".  With a tone of resignation, it means, "Well,
   I'd rather keep it simple, but I suppose it has to be done".

:fence: n. 1. A sequence of one or more distinguished
   ({out-of-band}) characters (or other data items), used to
   delimit a piece of data intended to be treated as a unit (the
   computer-science literature calls this a `sentinel').  The NUL
   (ASCII 0000000) character that terminates strings in C is a fence.
   Hex FF is also (though slightly less frequently) used this way.
   See {zigamorph}.  2. [among users of optimizing compilers] Any
   technique, usually exploiting knowledge about the compiler, that
   blocks certain optimizations.  Used when explicit mechanisms are
   not available or are overkill.  Typically a hack: "I call a dummy
   procedure there to force a flush of the optimizer's
   register-coloring info" can be expressed by the shorter "That's a
   fence procedure".

:fencepost error: n. 1. A problem with the discrete equivalent of a
   boundary condition.  Often exhibited in programs by iterative
   loops.  From the following problem: "If you build a fence 100 feet
   long with posts 10 feet apart, how many posts do you need?"
   Either 9 or 11 is a better answer than the obvious 10.  For
   example, suppose you have a long list or array of items, and want
   to process items m through n; how many items are there?  The
   obvious answer is n - m, but that is off by one; the right
   answer is n - m + 1.  A program that used the `obvious'
   formula would have a fencepost error in it.  See also {zeroth}
   and {off-by-one error}, and note that not all off-by-one errors
   are fencepost errors.  The game of Musical Chairs involves a
   catastrophic off-by-one error where N people try to sit in
   N - 1 chairs, but it's not a fencepost error.  Fencepost
   errors come from counting things rather than the spaces between
   them, or vice versa, or by neglecting to consider whether one
   should count one or both ends of a row.  2. Occasionally, an error
   induced by unexpectedly regular spacing of inputs, which can (for
   instance) screw up your hash table.

:fepped out: /fept owt/ adj. The Symbolics 3600 Lisp Machine has a
   Front-End Processor called a `FEP' (compare sense 2 of {box}).
   When the main processor gets {wedged}, the FEP takes control of
   the keyboard and screen.  Such a machine is said to have
   `fepped out'.

:FidoNet: n. A worldwide hobbyist network of personal computers
   which exchange mail, discussion groups, and files.  Founded in 1984
   and originally consisting only of IBM PCs and compatibles, FidoNet
   now includes such diverse machines as Apple ][s, Ataris, Amigas,
   and UNIX systems.  Though it is much younger than {USENET},
   FidoNet is already (in early 1991) a significant fraction of
   USENET's size at some 8000 systems.

:field circus: [a derogatory pun on `field service'] n. The field
   service organization of any hardware manufacturer, but especially
   DEC.  There is an entire genre of jokes about DEC field circus
   engineers:

     Q: How can you recognize a DEC field circus engineer
        with a flat tire?
     A: He's changing one tire at a time to see which one is flat.

     Q: How can you recognize a DEC field circus engineer
        who is out of gas?
     A: He's changing one tire at a time to see which one is flat.

   [See {Easter egging} for additional insight on these jokes.]

   There is also the `Field Circus Cheer' (from the {plan file} for
   DEC on MIT-AI):

     Maynard! Maynard!
     Don't mess with us!
     We're mean and we're tough!
     If you get us confused
     We'll screw up your stuff.

   (DEC's service HQ is located in Maynard, Massachusetts.)

:field servoid: [play on `android'] /fee'ld ser'voyd/ n.
   Representative of a field service organization (see {field
   circus}).  This has many of the implications of {droid}.

:Fight-o-net: [FidoNet] n. Deliberate distortion of {FidoNet},
   often applied after a flurry of {flamage} in a particular
   {echo}, especially the SYSOP echo or Fidonews (see {'Snooze}).

:File Attach: [FidoNet] 1. n. A file sent along with a mail message
   from one BBS to another.  2. vt. Sending someone a file by using
   the File Attach option in a BBS mailer.

:File Request: [FidoNet] 1. n. The {FidoNet} equivalent of
   {FTP}, in which one BBS system automatically dials another and
   {snarf}s one or more files.  Often abbreviated `FReq'; files
   are often announced as being "available for FReq" in the same way
   that files are announced as being "available for/by anonymous
   FTP" on the Internet.  2. vt. The act of getting a copy of a file
   by using the File Request option of the BBS mailer.

:file signature: n. A {magic number} sense 3.

:filk: /filk/ [from SF fandom, where a typo for `folk' was
   adopted as a new word] n.,v. A `filk' is a popular or folk song
   with lyrics revised or completely new lyrics, intended for humorous
   effect when read and/or to be sung late at night at SF conventions.
   There is a flourishing subgenre of these called `computer filks',
   written by hackers and often containing rather sophisticated
   technical humor.  See {double bucky} for an example.  Compare
   {hing} and {newsfroup}.

:film at 11: [MIT: in parody of TV newscasters] 1. Used in
   conversation to announce ordinary events, with a sarcastic
   implication that these events are earth-shattering.  "{{ITS}}
   crashes; film at 11."  "Bug found in scheduler; film at 11."
   2. Also widely used outside MIT to indicate that additional
   information will be available at some future time, *without*
   the implication of anything particularly ordinary about the
   referenced event.  For example, "The mail file server died this
   morning; we found garbage all over the root directory.  Film at
   11." would indicate that a major failure had occurred but the
   people working on it have no additional information about it.  Use
   of the phrase in this way suggests gently people would appreciate
   it if users would quit bothering them and wait for the 11:00 news
   for additional information.

:filter: [orig. {{UNIX}}, now also in {{MS-DOS}}] n. A program that
   processes an input data stream into an output data stream in some
   well-defined way, and does no I/O to anywhere else except possibly
   on error conditions; one designed to be used as a stage in a
   `pipeline' (see {plumbing}).

:Finagle's Law: n. The generalized or `folk' version of
   {Murphy's Law}, fully named "Finagle's Law of Dynamic
   Negatives" and usually rendered "Anything that can go wrong,
   will".  One variant favored among hackers is "The perversity of
   the Universe tends towards a maximum" (but see also {Hanlon's
   Razor}).  The label `Finagle's Law' was popularized by SF author
   Larry Niven in several stories depicting a frontier culture of
   asteroid miners; this `Belter' culture professed a religion
   and/or running joke involving the worship of the dread god Finagle
   and his mad prophet Murphy.

:fine: [WPI] adj. Good, but not good enough to be {cuspy}.  The word
   `fine' is used elsewhere, of course, but without the implicit
   comparison to the higher level implied by {cuspy}.

:finger: [WAITS, via BSD UNIX] 1. n. A program that displays a
   particular user or all users logged on the system or a remote
   system.  Typically shows full name, last login time, idle time,
   terminal line, and terminal location (where applicable).  May also
   display a {plan file} left by the user.  2. vt. To apply finger
   to a username.  3. vt. By extension, to check a human's current
   state by any means.  "Foodp?"  "T!"  "OK, finger Lisa and see
   if she's idle."  4. Any picture (composed of ASCII characters)
   depicting `the finger'.  Originally a humorous component of one's
   plan file to deter the curious fingerer (sense 2), it has entered
   the arsenal of some {flamer}s.

:finger-pointing syndrome: n. All-too-frequent result of bugs, esp.
   in new or experimental configurations.  The hardware vendor points
   a finger at the software.  The software vendor points a finger
   at the hardware.  All the poor users get is the finger.

:finn: [IRC] v.  To pull rank on somebody based on the amount of
   time one has spent on {IRC}.  The term derives from the fact
   that IRC was originally written in Finland in 1987.

:firebottle: n. A large, primitive, power-hungry active electrical
   device, similar in function to a FET but constructed out of glass,
   metal, and vacuum.  Characterized by high cost, low density, low
   reliability, high-temperature operation, and high power
   dissipation.  Sometimes mistakenly called a `tube' in the U.S.
   or a `valve' in England; another hackish term is {glassfet}.

:firefighting: n. 1. What sysadmins have to do to correct sudden
   operational problems.  An opposite of hacking.  "Been hacking your
   new newsreader?"  "No, a power glitch hosed the network and I spent
   the whole afternoon fighting fires."  2. The act of throwing lots
   of manpower and late nights at a project, esp. to get it out
   before deadline.  See also {gang bang}, {Mongolian Hordes
   technique}; however, the term `firefighting' connotes that the
   effort is going into chasing bugs rather than adding features.

:firehose syndrome: n. In mainstream folklore it is observed that
   trying to drink from a firehose can be a good way to rip your lips
   off.  On computer networks, the absence or failure of flow control
   mechanisms can lead to situations in which the sending system
   sprays a massive flood of packets at an unfortunate receiving
   system; more than it can handle.  Compare {overrun}, {buffer
   overflow}.

: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 <player>' results in the immediate and total
   death of <player>, 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
   <rms@gnu.ai.mit.edu>.  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 <gnu@toad.com>, 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}.

   The most reliable manifestation of either version of the hacker
   ethic is that almost all hackers are actively willing to share
   technical tricks, software, and (where possible) computing
   resources with other hackers.  Huge cooperative networks such as
   {USENET}, {Fidonet} and Internet (see {Internet address})
   can function without central control because of this trait; they
   both rely on and reinforce a sense of community that may be
   hackerdom's most valuable intangible asset.

:hacking run: [analogy with `bombing run' or `speed run'] n. A
   hack session extended long outside normal working times, especially
   one longer than 12 hours.  May cause you to `change phase the hard
   way' (see {phase}).

:Hacking X for Y: [ITS] n. The information ITS made publicly
   available about each user (the INQUIR record) was a sort of form in
   which the user could fill out fields.  On display, two of these
   fields were combined into a project description of the form
   "Hacking X for Y" (e.g., `"Hacking perceptrons for
   Minsky"').  This form of description became traditional and has
   since been carried over to other systems with more general
   facilities for self-advertisement (such as UNIX {plan file}s).

:Hackintosh: n. 1. An Apple Lisa that has been hacked into emulating a
   Macintosh (also called a `Mac XL').  2. A Macintosh assembled
   from parts theoretically belonging to different models in the line.

:hackish: /hak'ish/ adj. (also {hackishness} n.) 1. Said of
   something that is or involves a hack.  2. Of or pertaining to
   hackers or the hacker subculture.  See also {true-hacker}.

:hackishness: n. The quality of being or involving a hack.  This
   term is considered mildly silly.  Syn.  {hackitude}.

:hackitude: n. Syn. {hackishness}; this word is considered sillier.

:hair: [back-formation from {hairy}] n. The complications that
   make something hairy.  "Decoding {TECO} commands requires a
   certain amount of hair."  Often seen in the phrase `infinite
   hair', which connotes extreme complexity.  Also in `hairiferous'
   (tending to promote hair growth): "GNUMACS elisp encourages lusers
   to write complex editing modes."  "Yeah, it's pretty hairiferous
   all right." (or just: "Hair squared!")

:hairy: adj. 1. Annoyingly complicated.  "{DWIM} is incredibly
   hairy."  2. Incomprehensible.  "{DWIM} is incredibly hairy."
   3. Of people, high-powered, authoritative, rare, expert, and/or
   incomprehensible.  Hard to explain except in context: "He knows
   this hairy lawyer who says there's nothing to worry about."  See
   also {hirsute}.

   The adjective `long-haired' is well-attested to have been in
   slang use among scientists and engineers during the early 1950s; it
   was equivalent to modern `hairy' senses 1 and 2, and was very
   likely ancestral to the hackish use.  In fact the noun
   `long-hair' was at the time used to describe a person satisfying
   sense 3.  Both senses probably passed out of use when long hair
   was adopted as a signature trait by the 1960s counterculture,
   leaving hackish `hairy' as a sort of stunted mutant relic.

:HAKMEM: /hak'mem/ n. MIT AI Memo 239 (February 1972).  A
   legendary collection of neat mathematical and programming hacks
   contributed by many people at MIT and elsewhere.  (The title of the
   memo really is "HAKMEM", which is a 6-letterism for `hacks
   memo'.)  Some of them are very useful techniques, powerful
   theorems, or interesting unsolved problems, but most fall into the
   category of mathematical and computer trivia.  Here is a sampling
   of the entries (with authors), slightly paraphrased:

   Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
   than 2^18.

   Item 46 (Rich Schroeppel): The most *probable* suit
   distribution in bridge hands is 4-4-3-2, as compared to 4-3-3-3,
   which is the most *evenly* distributed.  This is because the
   world likes to have unequal numbers: a thermodynamic effect saying
   things will not be in the state of lowest energy, but in the state
   of lowest disordered energy.

   Item 81 (Rich Schroeppel): Count the magic squares of order 5
   (that is, all the 5-by-5 arrangements of the numbers from 1 to 25
   such that all rows, columns, and diagonals add up to the same
   number).  There are about 320 million, not counting those that
   differ only by rotation and reflection.

   Item 154 (Bill Gosper): The myth that any given programming
   language is machine independent is easily exploded by computing the
   sum of powers of 2.  If the result loops with period = 1
   with sign +, you are on a sign-magnitude machine.  If the
   result loops with period = 1 at -1, you are on a
   twos-complement machine.  If the result loops with period greater
   than 1, including the beginning, you are on a ones-complement
   machine.  If the result loops with period greater than 1, not
   including the beginning, your machine isn't binary --- the pattern
   should tell you the base.  If you run out of memory, you are on a
   string or bignum system.  If arithmetic overflow is a fatal error,
   some fascist pig with a read-only mind is trying to enforce machine
   independence.  But the very ability to trap overflow is machine
   dependent.  By this strategy, consider the universe, or, more
   precisely, algebra: Let X = the sum of many powers of 2 =
   ...111111.  Now add X to itself:
   X + X = ...111110 Thus, 2X = X - 1, so
   X = -1.  Therefore algebra is run on a machine (the
   universe) that is two's-complement.

   Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
   number such that if you represent it on the {PDP-10} as both an
   integer and a floating-point number, the bit patterns of the two
   representations are identical.

   Item 176 (Gosper): The "banana phenomenon" was encountered when
   processing a character string by taking the last 3 letters typed
   out, searching for a random occurrence of that sequence in the
   text, taking the letter following that occurrence, typing it out,
   and iterating.  This ensures that every 4-letter string output
   occurs in the original.  The program typed BANANANANANANANA....  We
   note an ambiguity in the phrase, "the Nth occurrence of."  In one
   sense, there are five 00's in 0000000000; in another, there are
   nine.  The editing program TECO finds five.  Thus it finds only the
   first ANA in BANANA, and is thus obligated to type N next.  By
   Murphy's Law, there is but one NAN, thus forcing A, and thus a
   loop.  An option to find overlapped instances would be useful,
   although it would require backing up N - 1 characters before
   seeking the next N-character string.

   Note: This last item refers to a {Dissociated Press}
   implementation.  See also {banana problem}.

   HAKMEM also contains some rather more complicated mathematical and
   technical items, but these examples show some of its fun flavor.

:hakspek: /hak'speek/ n. A shorthand method of spelling found on
   many British academic bulletin boards and {talker system}s.
   Syllables and whole words in a sentence are replaced by single
   ASCII characters the names of which are phonetically similar or
   equivalent, while multiple letters are usually dropped.  Hence,
   `for' becomes `4'; `two', `too', and `to' become `2'; `ck'
   becomes `k'.  "Before I see you tomorrow" becomes "b4 i c u
   2moro".  First appeared in London about 1986, and was probably
   caused by the slowness of available talker systems, which
   operated on archaic machines with outdated operating systems and
   no standard methods of communication.  Has become rarer since.
   See also {talk mode}.

:hammer: vt. Commonwealth hackish syn. for {bang on}.

:hamster: n. 1. [Fairchild] A particularly slick little piece of
   code that does one thing well; a small, self-contained hack.  The
   image is of a hamster happily spinning its exercise wheel.  2. A
   tailless mouse; that is, one with an infrared link to a receiver on
   the machine, as opposed to the conventional cable.  3. [UK] Any
   item of hardware made by Amstrad, a company famous for its cheap
   plastic PC-almost-compatibles.

:hand-hacking: n. 1. The practice of translating {hot spot}s from
   an {HLL} into hand-tuned assembler, as opposed to trying to
   coerce the compiler into generating better code.  Both the term and
   the practice are becoming uncommon.  See {tune}, {bum}, {by
   hand}; syn.  with v. {cruft}.  2. More generally, manual
   construction or patching of data sets that would normally be
   generated by a translation utility and interpreted by another
   program, and aren't really designed to be read or modified by
   humans.

:handle: [from CB slang] n.  An electronic pseudonym; a `nom de
   guerre' intended to conceal the user's true identity.  Network and
   BBS handles function as the same sort of simultaneous concealment
   and display one finds on Citizen's Band radio, from which the term
   was adopted.  Use of grandiose handles is characteristic of
   {cracker}s, {weenie}s, {spod}s, and other lower forms of
   network life; true hackers travel on their own reputations rather
   than invented legendry.

:hand-roll: [from obs. mainstream slang `hand-rolled' in
   opposition to `ready-made', referring to cigarettes] v. To
   perform a normally automated software installation or configuration
   process {by hand}; implies that the normal process failed due to
   bugs in the configurator or was defeated by something exceptional
   in the local environment.  "The worst thing about being a gateway
   between four different nets is having to hand-roll a new sendmail
   configuration every time any of them upgrades."

:handshaking: n. Hardware or software activity designed to start or
   keep two machines or programs in synchronization as they {do
   protocol}.  Often applied to human activity; thus, a hacker might
   watch two people in conversation nodding their heads to indicate
   that they have heard each others' points and say "Oh, they're
   handshaking!".  See also {protocol}.

:handwave: [poss. from gestures characteristic of stage magicians]
   1. v. To gloss over a complex point; to distract a listener; to
   support a (possibly actually valid) point with blatantly faulty
   logic.  2. n. The act of handwaving.  "Boy, what a handwave!"

   If someone starts a sentence with "Clearly..." or
   "Obviously..." or "It is self-evident that...", it is
   a good bet he is about to handwave (alternatively, use of these
   constructions in a sarcastic tone before a paraphrase of someone
   else's argument suggests that it is a handwave).  The theory behind
   this term is that if you wave your hands at the right moment, the
   listener may be sufficiently distracted to not notice that what you
   have said is {bogus}.  Failing that, if a listener does object,
   you might try to dismiss the objection with a wave of your hand.

   The use of this word is often accompanied by gestures: both hands
   up, palms forward, swinging the hands in a vertical plane pivoting
   at the elbows and/or shoulders (depending on the magnitude of the
   handwave); alternatively, holding the forearms in one position
   while rotating the hands at the wrist to make them flutter.  In
   context, the gestures alone can suffice as a remark; if a speaker
   makes an outrageously unsupported assumption, you might simply wave
   your hands in this way, as an accusation, far more eloquent than
   words could express, that his logic is faulty.

:hang: v. 1. To wait for an event that will never occur.  "The
   system is hanging because it can't read from the crashed drive".
   See {wedged}, {hung}.  2. To wait for some event to occur; to
   hang around until something happens.  "The program displays a menu
   and then hangs until you type a character."  Compare {block}.
   3. To attach a peripheral device, esp. in the construction `hang
   off':  "We're going to hang another tape drive off the file
   server."  Implies a device attached with cables, rather than
   something that is strictly inside the machine's chassis.

:Hanlon's Razor: prov. A corollary of {Finagle's Law}, similar to
   Occam's Razor, that reads "Never attribute to malice that which can
   be adequately explained by stupidity."  The derivation of the
   common title Hanlon's Razor is unknown; a similar epigram has been
   attributed to William James.  Quoted here because it seems to be a
   particular favorite of hackers, often showing up in {fortune
   cookie} files and the login banners of BBS systems and commercial
   networks.  This probably reflects the hacker's daily experience of
   environments created by well-intentioned but short-sighted people.

:happily: adv.  Of software, used to emphasize that a program is
   unaware of some important fact about its environment, either
   because it has been fooled into believing a lie, or because it
   doesn't care.  The sense of `happy' here is not that of elation,
   but rather that of blissful ignorance.  "The program continues to
   run, happily unaware that its output is going to /dev/null."

:haque: /hak/ [USENET] n. Variant spelling of {hack}, used
   only for the noun form and connoting an {elegant} hack.

:hard boot: n. See {boot}.

:hardcoded: adj. 1. Said of data inserted directly into a program,
   where it cannot be easily modified, as opposed to data in some
   {profile}, resource (see {de-rezz} sense 2), or environment
   variable that a {user} or hacker can easily modify.  2. In C,
   this is esp. applied to use of a literal instead of a
   `#define' macro (see {magic number}).

:hardwarily: /hard-weir'*-lee/ adv. In a way pertaining to
   hardware.  "The system is hardwarily unreliable."  The adjective
   `hardwary' is *not* traditionally used, though it has recently
   been reported from the U.K.  See {softwarily}.

:hardwired: adj. 1. In software, syn. for {hardcoded}.  2. By
   extension, anything that is not modifiable, especially in the sense
   of customizable to one's particular needs or tastes.

:has the X nature: [seems to derive from Zen Buddhist koans of the
   form "Does an X have the Buddha-nature?"] adj. Common hacker
   construction for `is an X', used for humorous emphasis.  "Anyone
   who can't even use a program with on-screen help embedded in it
   truly has the {loser} nature!"  See also {the X that can be Y
   is not the true X}.

:hash bucket: n. A notional receptacle into which more than one
   thing accessed by the same key or short code might be dropped.
   When you look up a name in the phone book (for example), you
   typically hash it by extracting its first letter; the hash buckets
   are the alphabetically ordered letter sections.  This is used as
   techspeak with respect to code that uses actual hash functions; in
   jargon, it is used for human associative memory as well.  Thus, two
   things `in the same hash bucket' may be confused with each other.
   "If you hash English words only by length, you get too many common
   grammar words in the first couple of hash buckets." Compare {hash
   collision}.

:hash collision: [from the technical usage] n. (var. `hash
   clash') When used of people, signifies a confusion in associative
   memory or imagination, especially a persistent one (see
   {thinko}).  True story: One of us [ESR] was once on the phone
   with a friend about to move out to Berkeley.  When asked what he
   expected Berkeley to be like, the friend replied: "Well, I have
   this mental picture of naked women throwing Molotov cocktails, but
   I think that's just a collision in my hash tables."  Compare
   {hash bucket}.

:hat: n. Common (spoken) name for the circumflex (`^', ASCII
   1011110) character.  See {ASCII} for other synonyms.

:HCF: /H-C-F/ n. Mnemonic for `Halt and Catch Fire', any of
   several undocumented and semi-mythical machine instructions with
   destructive side-effects, supposedly included for test purposes on
   several well-known architectures going as far back as the IBM 360.
   The MC6800 microprocessor was the first for which an HCF opcode
   became widely known.  This instruction caused the processor to
   {toggle} a subset of the bus lines as rapidly as it could; in
   some configurations this could actually cause lines to burn
   up.

:heads down: [Sun] adj. Concentrating, usually so heavily and for so
   long that everything outside the focus area is missed.  See also
   {hack mode} and {larval stage}, although it is not confined to
   fledgling hackers.

:heartbeat: n. 1. The signal emitted by a Level 2 Ethernet
   transceiver at the end of every packet to show that the
   collision-detection circuit is still connected.  2. A periodic
   synchronization signal used by software or hardware, such as a bus
   clock or a periodic interrupt.  3. The `natural' oscillation
   frequency of a computer's clock crystal, before frequency division
   down to the machine's clock rate.  4. A signal emitted at regular
   intervals by software to demonstrate that it is still alive.
   Sometimes hardware is designed to reboot the machine if it stops
   hearing a heartbeat.  See also {breath-of-life packet}.

:heatseeker: [IBM] n. A customer who can be relied upon to always
   buy the latest version of an existing product (not quite the same
   as a member the {lunatic fringe}).  A 1992 example of a
   heatseeker is someone who, owning a 286 PC and Windows 3.0, goes
   out and buys Windows 3.1 (which offers no worthwhile benefits
   unless you have a 386).  If all customers were heatseekers, vast
   amounts of money could be made by just fixing the bugs in each
   release (n) and selling it to them as release (n+1).

:heavy metal: [Cambridge] n. Syn. {big iron}.

:heavy wizardry: n. Code or designs that trade on a particularly
   intimate knowledge or experience of a particular operating system
   or language or complex application interface.  Distinguished from
   {deep magic}, which trades more on arcane *theoretical*
   knowledge.  Writing device drivers is heavy wizardry; so is
   interfacing to {X} (sense 2) without a toolkit.  Esp. found in
   comments similar to "Heavy wizardry begins here ...".  Compare
   {voodoo programming}.

:heavyweight: adj. High-overhead; {baroque}; code-intensive;
   featureful, but costly.  Esp. used of communication protocols,
   language designs, and any sort of implementation in which maximum
   generality and/or ease of implementation has been pushed at the
   expense of mundane considerations such as speed, memory
   utilization, and startup time.  {EMACS} is a heavyweight editor;
   {X} is an *extremely* heavyweight window system.  This term
   isn't pejorative, but one man's heavyweight is another's
   {elephantine} and a third's {monstrosity}.  Oppose
   `lightweight'.  Usage: now borders on techspeak, especially in
   the compound `heavyweight process'.

:heisenbug: /hi:'zen-buhg/ [from Heisenberg's Uncertainty
   Principle in quantum physics] n. A bug that disappears or alters
   its behavior when one attempts to probe or isolate it.  Antonym of
   {Bohr bug}; see also {mandelbug}, {schroedinbug}.  In C,
   nine out of ten heisenbugs result from either {fandango on core}
   phenomena (esp. lossage related to corruption of the malloc
   {arena}) or errors that {smash the stack}.

:Helen Keller mode: n. 1. State of a hardware or software system
   that is deaf, dumb, and blind, i.e., accepting no input and
   generating no output, usually due to an infinite loop or some other
   excursion into {deep space}.  (Unfair to the real Helen Keller,
   whose success at learning speech was triumphant.)  See also
   {go flatline}, {catatonic}.  2. On IBM PCs under DOS, refers
   to a specific failure mode in which a screen saver has kicked in
   over an {ill-behaved} application which bypasses the interrupts
   the screen saver watches for activity.  Your choices are to try to
   get from the program's current state through a successful
   save-and-exit without being able to see what you're doing, or
   re-boot the machine.  This isn't (strictly speaking) a crash.

:hello, sailor!: interj. Occasional West Coast equivalent of
   {hello, world}; seems to have originated at SAIL, later
   associated with the game {Zork} (which also included "hello,
   aviator" and "hello, implementor").  Originally from the
   traditional hooker's greeting to a swabbie fresh off the boat, of
   course.

:hello, wall!: excl. See {wall}.

:hello, world: interj. 1. The canonical minimal test message in the
   C/UNIX universe.  2. Any of the minimal programs that emit this
   message.  Traditionally, the first program a C coder is supposed to
   write in a new environment is one that just prints "hello, world"
   to standard output (and indeed it is the first example program
   in {K&R}).  Environments that generate an unreasonably large
   executable for this trivial test or which require a {hairy}
   compiler-linker invocation to generate it are considered to
   {lose} (see {X}).  3. Greeting uttered by a hacker making an
   entrance or requesting information from anyone present.  "Hello,
   world!  Is the {VAX} back up yet?"

:hex: n. 1. Short for {{hexadecimal}}, base 16.  2. A 6-pack
   of anything (compare {quad}, sense 2).  Neither usage has
   anything to do with {magic} or {black art}, though the pun is
   appreciated and occasionally used by hackers.  True story: As a
   joke, some hackers once offered some surplus ICs for sale to be
   worn as protective amulets against hostile magic.  The chips were,
   of course, hex inverters.

:hexadecimal:: n. Base 16.  Coined in the early 1960s to replace
   earlier `sexadecimal', which was too racy and amusing for stuffy
   IBM, and later adopted by the rest of the industry.

   Actually, neither term is etymologically pure.  If we take `binary'
   to be paradigmatic, the most etymologically correct term for
   base 10, for example, is `denary', which
   comes from `deni' (ten at a time, ten each), a Latin `distributive'
   number; the corresponding term for base-16 would be something like
   `sendenary'.  `Decimal' is from an ordinal number; the
   corresponding prefix for 6 would imply something like
   `sextidecimal'.  The `sexa-' prefix is Latin but incorrect in this
   context, and `hexa-' is Greek.  The word `octal' is similarly
   incorrect; a correct form would be `octaval' (to go with decimal),
   or `octonary' (to go with binary).  If anyone ever implements a
   base-3 computer, computer scientists will be faced with the
   unprecedented dilemma of a choice between two *correct* forms;
   both `ternary' and `trinary' have a claim to this throne.

:hexit: /hek'sit/ n. A hexadecimal digit (0--9, and A--F or a--f).