Full Text Archive logoFull Text Archive — Free Classic E-books

Part 5 out of 11

Adobe PDF icon
Download this document as a .pdf
File size: 1.0 MB
What's this? light bulb idea Many people prefer to read off-line or to print out text and read from the real printed page. Others want to carry documents around with them on their mobile phones and read while they are on the move. We have created .pdf files of all out documents to accommodate all these groups of people. We recommend that you download .pdfs onto your mobile phone when it is connected to a WiFi connection for reading off-line.

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
, 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).
Used by people who claim that there are only *ten* digits,
dammit; sixteen-fingered human beings are rather rare, despite what
some keyboard designs might seem to imply (see {space-cadet
keyboard}).

:HHOK: See {ha ha only serious}.

:HHOS: See {ha ha only serious}.

:hidden flag: [scientific computation] n. An extra option added to a
routine without changing the calling sequence. For example,
instead of adding an explicit input variable to instruct a routine
to give extra diagnostic output, the programmer might just add a
test for some otherwise meaningless feature of the existing inputs,
such as a negative mass. Liberal use of hidden flags can make a
program very hard to debug and understand.

:high bit: [from `high-order bit'] n. 1. The most significant
bit in a byte. 2. By extension, the most significant part of
something other than a data byte: "Spare me the whole {saga},
just give me the high bit." See also {meta bit}, {hobbit},
{dread high-bit disease}, and compare the mainstream slang
`bottom line'.

:high moby: /hi:' mohb'ee/ n. The high half of a 512K
{PDP-10}'s physical address space; the other half was of course
the low moby. This usage has been generalized in a way that has
outlasted the {PDP-10}; for example, at the 1990 Washington D.C.
Area Science Fiction Conclave (Disclave), when a miscommunication
resulted in two separate wakes being held in commemoration of the
shutdown of MIT's last {{ITS}} machines, the one on the upper
floor was dubbed the `high moby' and the other the `low moby'.
All parties involved {grok}ked this instantly. See {moby}.

:highly: [scientific computation] adv. The preferred modifier for
overstating an understatement. As in: `highly nonoptimal', the
worst possible way to do something; `highly nontrivial', either
impossible or requiring a major research project; `highly
nonlinear', completely erratic and unpredictable; `highly
nontechnical', drivel written for {luser}s, oversimplified to the
point of being misleading or incorrect (compare {drool-proof
paper}). In other computing cultures, postfixing of {in the
extreme} might be preferred.

:hing: // [IRC] n. Fortuitous typo for `hint', now in wide
intentional use among players of {initgame}. Compare
{newsfroup}, {filk}.

:hirsute: adj. Occasionally used humorously as a synonym for {hairy}.

:HLL: /H-L-L/ n. [High-Level Language (as opposed to assembler)]
Found primarily in email and news rather than speech. Rarely, the
variants `VHLL' and `MLL' are found. VHLL stands for
`Very-High-Level Language' and is used to describe a
{bondage-and-discipline language} that the speaker happens to
like; Prolog and Backus's FP are often called VHLLs. `MLL' stands
for `Medium-Level Language' and is sometimes used half-jokingly to
describe {C}, alluding to its `structured-assembler' image.
See also {languages of choice}.

:hobbit: n. 1. The High Order Bit of a byte; same as the {meta
bit} or {high bit}. 2. The non-ITS name of vad@ai.mit.edu
(*Hobbit*), master of lasers.

:hog: n.,vt. 1. Favored term to describe programs or hardware that
seem to eat far more than their share of a system's resources,
esp. those which noticeably degrade interactive response.
*Not* used of programs that are simply extremely large or
complex or that are merely painfully slow themselves (see {pig,
run like a}). More often than not encountered in qualified forms,
e.g., `memory hog', `core hog', `hog the processor', `hog
the disk'. "A controller that never gives up the I/O bus
gets killed after the bus-hog timer expires." 2. Also said
of *people* who use more than their fair share of resources
(particularly disk, where it seems that 10% of the people use 90%
of the disk, no matter how big the disk is or how many people use
it). Of course, once disk hogs fill up one filesystem, they
typically find some other new one to infect, claiming to the
sysadmin that they have an important new project to complete.

:holy wars: [from {USENET}, but may predate it] n. {flame
war}s over {religious issues}. The paper by Danny Cohen that
popularized the terms {big-endian} and {little-endian} in
connection with the LSB-first/MSB-first controversy was entitled
"On Holy Wars and a Plea for Peace". Other perennial Holy
Wars have included {EMACS} vs. {vi}, my personal computer vs.
everyone else's personal computer, {{ITS}} vs. {{UNIX}},
{{UNIX}} vs. {VMS}, {BSD} UNIX vs. {USG UNIX}, {C} vs.
{{Pascal}}, {C} vs. {LISP}, etc., ad nauseam. The
characteristic that distinguishes holy wars from normal
technical disputes is that in a holy wars most of the participants
spend their time trying to pass off personal value choices and
cultural attachments as objective technical evaluations. See also
{theology}.

:home box: n. A hacker's personal machine, especially one he or she
owns. "Yeah? Well, *my* home box runs a full 4.2 BSD, so
there!"

:hook: n. A software or hardware feature included in order to
simplify later additions or changes by a user. For example, a
simple program that prints numbers might always print them in base
10, but a more flexible version would let a variable determine what
base to use; setting the variable to 5 would make the program print
numbers in base 5. The variable is a simple hook. An even more
flexible program might examine the variable and treat a value of 16
or less as the base to use, but treat any other number as the
address of a user-supplied routine for printing a number. This is
a {hairy} but powerful hook; one can then write a routine to
print numbers as Roman numerals, say, or as Hebrew characters, and
plug it into the program through the hook. Often the difference
between a good program and a superb one is that the latter has
useful hooks in judiciously chosen places. Both may do the
original job about equally well, but the one with the hooks is much
more flexible for future expansion of capabilities ({EMACS}, for
example, is *all* hooks). The term `user exit' is
synonymous but much more formal and less hackish.

:hop: n. One file transmission in a series required to get a file
from point A to point B on a store-and-forward network. On such
networks (including {UUCPNET} and {FidoNet}), the important
inter-machine metric is the number of hops in the shortest path
between them, rather than their geographical separation. See
{bang path}.

:hose: 1. vt. To make non-functional or greatly degraded in
performance. "That big ray-tracing program really hoses the
system." See {hosed}. 2. n. A narrow channel through which
data flows under pressure. Generally denotes data paths that
represent performance bottlenecks. 3. n. Cabling, especially
thick Ethernet cable. This is sometimes called `bit hose' or
`hosery' (play on `hosiery') or `etherhose'. See also
{washing machine}.

:hosed: adj. Same as {down}. Used primarily by UNIX hackers.
Humorous: also implies a condition thought to be relatively easy to
reverse. Probably derived from the Canadian slang `hoser'
popularized by the Bob and Doug Mackenzie skits on SCTV. See
{hose}. It is also widely used of people in the mainstream sense
of `in an extremely unfortunate situation'.

Once upon a time, a Cray that had been experiencing periodic
difficulties crashed, and it was announced to have been hosed.
It was discovered that the crash was due to the disconnection of
some coolant hoses. The problem was corrected, and users were then
assured that everything was OK because the system had been rehosed.
See also {dehose}.

:hot spot: n. 1. [primarily used by C/UNIX programmers, but
spreading] It is received wisdom that in most programs, less than
10% of the code eats 90% of the execution time; if one were to
graph instruction visits versus code addresses, one would typically
see a few huge spikes amidst a lot of low-level noise. Such spikes
are called `hot spots' and are good candidates for heavy
optimization or {hand-hacking}. The term is especially used of
tight loops and recursions in the code's central algorithm, as
opposed to (say) initial set-up costs or large but infrequent I/O
operations. See {tune}, {bum}, {hand-hacking}. 2. The
active location of a cursor on a bit-map display. "Put the
mouse's hot spot on the `ON' widget and click the left button."
3. A screen region that is sensitive to mouse clicks, which trigger
some action. Hypertext help screens are an example, in which a hot
spot exists in the vicinity of any word for which additional
material is available. 4. In a massively parallel computer with
shared memory, the one location that all 10,000 processors are
trying to read or write at once (perhaps because they are all doing
a {busy-wait} on the same lock).

:house wizard: [prob. from ad-agency lingo, `house freak'] n. A
hacker occupying a technical-specialist, R&D, or systems position
at a commercial shop. A really effective house wizard can have
influence out of all proportion to his/her ostensible rank and
still not have to wear a suit. Used esp. of UNIX wizards. The
term `house guru' is equivalent.

:HP-SUX: /H-P suhks/ n. Unflattering hackerism for HP-UX,
Hewlett-Packard's UNIX port, which eatures some truly unique bogosities
in the filesystem internals and elsewhere (these occasionally create
portability problems). HP-UX is often referred to as `hockey-pux'
inside HP, and one respondent claims that the proper pronunciation
is /H-P ukkkhhhh/ as though one were about to spit. Another such
alternate spelling and pronunciation is "H-PUX" /H-puhks/.
Hackers at HP/Apollo (the former Apollo Computers which was
swallowed by HP in 1989) have been heard to complain that
Mr. Packard should have pushed to have his name first, if for no
other reason than the greater eloquence of the resulting acronym.
Compare {AIDX}, {buglix}. See also {Nominal Semidestructor},
{Telerat}, {Open DeathTrap}, {ScumOS}, {sun-stools},
{terminak}.

:huff: v. To compress data using a Huffman code. Various programs
that use such methods have been called `HUFF' or some variant
thereof. Oppose {puff}. Compare {crunch}, {compress}.

:humma: // excl. A filler word used on various `chat' and
`talk' programs when you had nothing to say but felt that it was
important to say something. The word apparently originated (at
least with this definition) on the MECC Timeshare System (MTS, a
now-defunct educational time-sharing system running in Minnesota
during the 1970s and the early 1980s) but was later sighted on
early UNIX systems.

:Humor, Hacker:: n. A distinctive style of shared intellectual

Book of the day: