been suggested that the `disney' will become a benchmark unit for
animation graphics performance.
:mickey mouse program: /n./ North American equivalent of a
{noddy} (that is, trivial) program. Doesn't necessarily have
the belittling connotations of mainstream slang "Oh, that's just
mickey mouse stuff!"; sometimes trivial programs can be very
useful.
:micro-: /pref./ 1. Very small; this is the root of its use as
a quantifier prefix. 2. A quantifier prefix, calling for
multiplication by 10^(-6) (see {{quantifiers}}).
Neither of these uses is peculiar to hackers, but hackers tend to
fling them both around rather more freely than is countenanced in
standard English. It is recorded, for example, that one CS
professor used to characterize the standard length of his lectures
as a microcentury -- that is, about 52.6 minutes (see also
{attoparsec}, {nanoacre}, and especially
{microfortnight}). 3. Personal or human-scale -- that is,
capable of being maintained or comprehended or manipulated by one
human being. This sense is generalized from `microcomputer',
and is esp. used in contrast with `macro-' (the corresponding
Greek prefix meaning `large'). 4. Local as opposed to global (or
{macro-}). Thus a hacker might say that buying a smaller car to
reduce pollution only solves a microproblem; the macroproblem of
getting to work might be better solved by using mass transit,
moving to within walking distance, or (best of all) telecommuting.
:MicroDroid: /n./ [Usenet] A Microsoft employee, esp. one who
posts to various operating-system advocacy newsgroups. MicroDroids
post follow-ups to any messages critical of Microsoft's operating
systems, and often end up sounding like visiting Mormon
missionaries.
:microfloppies: /n./ 3.5-inch floppies, as opposed to 5.25-inch
{vanilla} or mini-floppies and the now-obsolete 8-inch variety.
This term may be headed for obsolescence as 5.25-inchers pass out
of use, only to be revived if anybody floats a sub-3-inch floppy
standard. See {stiffy}, {minifloppies}.
:microfortnight: /n./ 1/1000000 of the fundamental unit of time
in the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.
(A furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the
mass unit of the system is taken to be a firkin of water). The VMS
operating system has a lot of tuning parameters that you can set
with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the
time the system will wait for an operator to set the correct date
and time at boot if it realizes that the current value is bogus.
This time is specified in microfortnights!
Multiple uses of the millifortnight (about 20 minutes) and
{nanofortnight} have also been reported.
:microLenat: /mi:`-kroh-len'-*t/ /n./ The unit of
{bogosity}, written uL; the consensus is that this is
the largest unit practical for everyday use. The microLenat,
originally invented by David Jefferson, was promulgated as an
attack against noted computer scientist Doug Lenat by a {tenured
graduate student} at CMU. Doug had failed the student on an
important exam for giving only "AI is bogus" as his answer to the
questions. The slur is generally considered unmerited, but it has
become a running gag nevertheless. Some of Doug's friends argue
that *of course* a microLenat is bogus, since it is only one
millionth of a Lenat. Others have suggested that the unit should
be redesignated after the grad student, as the microReid.
:microReid: /mi:'kroh-reed/ /n./ See {microLenat}.
:Microsloth Windows: /mi:'kroh-sloth` win'dohz/ /n./
Hackerism for `Microsoft Windows', a windowing system for the
IBM-PC which is so limited by bug-for-bug compatibility with
{mess-dos} that it is agonizingly slow on anything less than a
fast 486. Also just called `Windoze', with the implication that
you can fall asleep waiting for it to do anything; the latter term
is extremely common on Usenet. See {Black Screen of Death};
compare {X}, {sun-stools}.
:microtape: /mi:'kroh-tayp/ /n./ Occasionally used to mean a
DECtape, as opposed to a {macrotape}. A DECtape is a small
reel, about 4 inches in diameter, of magnetic tape about an inch
wide. Unlike those for today's {macrotape}s, microtape drivers
allowed random access to the data, and therefore could be used to
support file systems and even for swapping (this was generally done
purely for {hack value}, as they were far too slow for practical
use). In their heyday they were used in pretty much the same ways
one would now use a floppy disk: as a small, portable way to save
and transport files and programs. Apparently the term
`microtape' was actually the official term used within DEC for
these tapes until someone coined the word `DECtape', which, of
course, sounded sexier to the {marketroid}s; another version of
the story holds that someone discovered a conflict with another
company's `microtape' trademark.
:middle-endian: /adj./ Not {big-endian} or
{little-endian}. Used of perverse byte orders such as 3-4-1-2
or 2-1-4-3, occasionally found in the packed-decimal formats of
minicomputer manufacturers who shall remain nameless. See {NUXI
problem}. Non-US hackers use this term to describe the American
mm/dd/yy style of writing dates (Europeans write dd/mm/yy).
:milliLampson: /mil'*-lamp`sn/ /n./ A unit of talking speed,
abbreviated mL. Most people run about 200 milliLampsons. The
eponymous Butler Lampson (a CS theorist and systems implementor
highly regarded among hackers) goes at 1000. A few people speak
faster. This unit is sometimes used to compare the (sometimes
widely disparate) rates at which people can generate ideas and
actually emit them in speech. For example, noted computer
architect C. Gordon Bell (designer of the PDP-11) is said, with
some awe, to think at about 1200 mL but only talk at about 300; he
is frequently reduced to fragments of sentences as his mouth tries
to keep up with his speeding brain.
:minifloppies: /n./ 5.25-inch {vanilla} floppy disks, as
opposed to 3.5-inch or {microfloppies} and the now-obsolescent
8-inch variety. At one time, this term was a trademark of Shugart
Associates for their SA-400 minifloppy drive. Nobody paid any
attention. See {stiffy}.
:MIPS: /mips/ /n./ [abbreviation] 1. A measure of computing
speed; formally, `Million Instructions Per Second' (that's
10^6 per second, not 2^(20)!); often rendered by
hackers as `Meaningless Indication of Processor Speed' or in
other unflattering ways. This joke expresses a nearly universal
attitude about the value of most {benchmark} claims, said
attitude being one of the great cultural divides between hackers
and {marketroid}s. The singular is sometimes `1 MIP' even
though this is clearly etymologically wrong. See also {KIPS}
and {GIPS}. 2. Computers, especially large computers,
considered abstractly as sources of {computron}s. "This is
just a workstation; the heavy MIPS are hidden in the basement."
3. The corporate name of a particular RISC-chip company; among
other things, they designed the processor chips used in DEC's 3100
workstation series. 4. Acronym for `Meaningless Information per
Second' (a joke, prob. from sense 1).
:misbug: /mis-buhg/ /n./ [MIT] An unintended property of a
program that turns out to be useful; something that should have
been a {bug} but turns out to be a {feature}. Usage: rare.
Compare {green lightning}. See {miswart}.
:misfeature: /mis-fee'chr/ or /mis'fee`chr/ /n./ A feature
that eventually causes lossage, possibly because it is not adequate
for a new situation that has evolved. Since it results from a
deliberate and properly implemented feature, a misfeature is not a
bug. Nor is it a simple unforeseen side effect; the term implies
that the feature in question was carefully planned, but its
long-term consequences were not accurately or adequately predicted
(which is quite different from not having thought ahead at all). A
misfeature can be a particularly stubborn problem to resolve,
because fixing it usually involves a substantial philosophical
change to the structure of the system involved.
Many misfeatures (especially in user-interface design) arise
because the designers/implementors mistake their personal tastes
for laws of nature. Often a former feature becomes a misfeature
because trade-offs were made whose parameters subsequently change
(possibly only in the judgment of the implementors). "Well, yeah,
it is kind of a misfeature that file names are limited to six
characters, but the original implementors wanted to save directory
space and we're stuck with it for now."
:Missed'em-five: /n./ Pejorative hackerism for AT&T System V
Unix, generally used by {BSD} partisans in a bigoted mood. (The
synonym `SysVile' is also encountered.) See {software bloat},
{Berzerkeley}.
:missile address: /n./ See {ICBM address}.
:miswart: /mis-wort/ /n./ [from {wart} by analogy with
{misbug}] A {feature} that superficially appears to be a
{wart} but has been determined to be the {Right Thing}. For
example, in some versions of the {EMACS} text editor, the
`transpose characters' command exchanges the character under the
cursor with the one before it on the screen, *except* when the
cursor is at the end of a line, in which case the two characters
before the cursor are exchanged. While this behavior is perhaps
surprising, and certainly inconsistent, it has been found through
extensive experimentation to be what most users want. This feature
is a miswart.
:moby: /moh'bee/ [MIT: seems to have been in use among
model railroad fans years ago. Derived from Melville's "Moby
Dick" (some say from `Moby Pickle').] 1. /adj./ Large, immense,
complex, impressive. "A Saturn V rocket is a truly moby frob."
"Some MIT undergrads pulled off a moby hack at the Harvard-Yale
game." (See "{The Meaning of `Hack'}").
2. /n./ obs. The maximum address space of a machine (see below).
For
a 680[234]0 or VAX or most modern 32-bit architectures, it is
4,294,967,296 8-bit bytes (4 gigabytes). 3. A title of address
(never of third-person reference), usually used to show admiration,
respect, and/or friendliness to a competent hacker. "Greetings,
moby Dave. How's that address-book thing for the Mac going?"
4. /adj./ In backgammon, doubles on the dice, as in `moby sixes',
`moby ones', etc. Compare this with {bignum} (sense 3):
double sixes are both bignums and moby sixes, but moby ones are not
bignums (the use of `moby' to describe double ones is sarcastic).
Standard emphatic forms: `Moby foo', `moby win', `moby loss'.
`Foby moo': a spoonerism due to Richard Greenblatt. 5. The
largest available unit of something which is available in discrete
increments. Thus, ordering a "moby Coke" at the local fast-food
joint is not just a request for a large Coke, it's an explicit
request for the largest size they sell.
This term entered hackerdom with the Fabritek 256K memory added to
the MIT AI PDP-6 machine, which was considered unimaginably huge
when it was installed in the 1960s (at a time when a more typical
memory size for a timesharing system was 72 kilobytes). Thus, a
moby is classically 256K 36-bit words, the size of a PDP-6 or
PDP-10 moby. Back when address registers were narrow the term was
more generally useful, because when a computer had virtual memory
mapping, it might actually have more physical memory attached to it
than any one program could access directly. One could then say
"This computer has 6 mobies" meaning that the ratio of physical
memory to address space is 6, without having to say specifically
how much memory there actually is. That in turn implied that the
computer could timeshare six `full-sized' programs without having
to swap programs between memory and disk.
Nowadays the low cost of processor logic means that address spaces
are usually larger than the most physical memory you can cram onto
a machine, so most systems have much *less* than one
theoretical `native' moby of {core}. Also, more modern
memory-management techniques (esp. paging) make the `moby
count' less significant. However, there is one series of
widely-used chips for which the term could stand to be revived ---
the Intel 8088 and 80286 with their incredibly {brain-damaged}
segmented-memory designs. On these, a `moby' would be the
1-megabyte address span of a segment/offset pair (by coincidence, a
PDP-10 moby was exactly 1 megabyte of 9-bit bytes).
:mockingbird: /n./ Software that intercepts communications
(especially login transactions) between users and hosts and
provides system-like responses to the users while saving their
responses (especially account IDs and passwords). A special case
of {Trojan horse}.
:mod: /vt.,n./ 1. Short for `modify' or `modification'.
Very commonly used -- in fact the full terms are considered
markers that one is being formal. The plural `mods' is used
esp. with reference to bug fixes or minor design changes in
hardware or software, most esp. with respect to {patch} sets
or a {diff}. 2. Short for {modulo} but used *only* for
its techspeak sense.
:mode: /n./ A general state, usually used with an adjective
describing the state. Use of the word `mode' rather than
`state' implies that the state is extended over time, and
probably also that some activity characteristic of that state is
being carried out. "No time to hack; I'm in thesis mode." In its
jargon sense, `mode' is most often attributed to people, though
it is sometimes applied to programs and inanimate objects. In
particular, see {hack mode}, {day mode}, {night mode},
{demo mode}, {fireworks mode}, and {yoyo mode}; also
{talk mode}.
One also often hears the verbs `enable' and `disable' used in
connection with jargon modes. Thus, for example, a sillier way of
saying "I'm going to crash" is "I'm going to enable crash mode
now". One might also hear a request to "disable flame mode,
please".
In a usage much closer to techspeak, a mode is a special state that
certain user interfaces must pass into in order to perform certain
functions. For example, in order to insert characters into a
document in the Unix editor `vi', one must type the "i" key,
which invokes the "Insert" command. The effect of this command
is to put vi into "insert mode", in which typing the "i" key
has a quite different effect (to wit, it inserts an "i" into the
document). One must then hit another special key, "ESC", in
order to leave "insert mode". Nowadays, modeful interfaces are
generally considered {losing} but survive in quite a few widely
used tools built in less enlightened times.
:mode bit: /n./ A {flag}, usually in hardware, that selects
between two (usually quite different) modes of operation. The
connotations are different from {flag} bit in that mode bits are
mainly written during a boot or set-up phase, are seldom explicitly
read, and seldom change over the lifetime of an ordinary program.
The classic example was the EBCDIC-vs.-ASCII bit (#12) of the
Program Status Word of the IBM 360. Another was the bit on a
PDP-12 that controlled whether it ran the PDP-8 or the LINC
instruction set.
:modulo: /mod'yu-loh/ /prep./ Except for. An
overgeneralization of mathematical terminology; one can consider
saying that 4 equals 22 except for the 9s (4 = 22 mod 9).
"Well, LISP seems to work okay now, modulo that {GC} bug."
"I feel fine today modulo a slight headache."
:molly-guard: /mol'ee-gard/ /n./ [University of Illinois] A
shield to prevent tripping of some {Big Red Switch} by clumsy or
ignorant hands. Originally used of the plexiglass covers
improvised for the BRS on an IBM 4341 after a programmer's toddler
daughter (named Molly) frobbed it twice in one day. Later
generalized to covers over stop/reset switches on disk drives and
networking equipment.
:Mongolian Hordes technique: /n./ [poss. from the Sixties
counterculture expression `Mongolian clusterfuck' for a public
orgy] Development by {gang bang}. Implies that large numbers of
inexperienced programmers are being put on a job better performed
by a few skilled ones. Also called `Chinese Army technique'; see
also {Brooks's Law}.
:monkey up: /vt./ To hack together hardware for a particular
task, especially a one-shot job. Connotes an extremely {crufty}
and consciously temporary solution. Compare {hack up},
{kluge up}, {cruft together}.
:monkey, scratch: /n./ See {scratch monkey}.
:monstrosity: 1. /n./ A ridiculously {elephantine} program
or system, esp. one that is buggy or only marginally functional.
2. /adj./ The quality of being monstrous (see `Overgeneralization'
in
the discussion of jargonification). See also {baroque}.
:monty: /mon'tee/ /n./ 1. [US Geological Survey] A program
with a ludicrously complex user interface written to perform
extremely trivial tasks. An example would be a menu-driven, button
clicking, pulldown, pop-up windows program for listing directories.
The original monty was an infamous weather-reporting program, Monty
the Amazing Weather Man, written at the USGS. Monty had a
widget-packed X-window interface with over 200 buttons; and all
monty actually *did* was {FTP} files off the network.
2. [Great Britain; commonly capitalized as `Monty' or as `the
Full Monty'] 16 megabytes of memory, when fitted to an IBM-PC or
compatible. A standard PC-compatible using the AT- or ISA-bus with
a normal BIOS cannot access more than 16 megabytes of RAM.
Generally used of a PC, Unix workstation, etc. to mean `fully
populated with' memory, disk-space or some other desirable
resource. This usage is possibly derived from a TV commercial for
Del Monte fruit juice, in which one of the characters insisted on
"the full Del Monte". Compare American {moby}.
:Moof: /moof/ [Macintosh users] 1. /n./ The call of a
semi-legendary creature, properly called the {dogcow}. (Some
previous versions of this entry claimed, incorrectly, that Moof was
the name of the *creature*.) 2. /adj./ Used to flag software
that's a hack, something untested and on the edge. On one Apple
CD-ROM, certain folders such as "Tools & Apps (Moof!)" and
"Development Platforms (Moof!)", are so marked to indicate that
they contain software not fully tested or sanctioned by the powers
that be. When you open these folders you cross the boundary into
hackerland. 3. /v./ On the Microsoft Network, the term `moof' has
gained popularity as a verb meaning `to be suddenly disconnected by
the system'. One might say "I got moofed".
:Moore's Law: /morz law/ /prov./ The observation that the
logic density of silicon integrated circuits has closely followed
the curve (bits per square inch) = 2^((t - 1962)) where
t is time in years; that is, the amount of information storable on
a given amount of silicon has roughly doubled every year since the
technology was invented. This relation, first uttered in 1964 by
semiconductor engineer Gordon Moore (who co-founded Intel four
years later) held until the late 1970s, at which point the doubling
period slowed to 18 months. It remained at that value through time
of writing (late 1995). See also {Parkinson's Law of Data}.
:moose call: /n./ See {whalesong}.
:moria: /mor'ee-*/ /n./ Like {nethack} and {rogue}, one
of the large PD Dungeons-and-Dragons-like simulation games,
available for a wide range of machines and operating systems. The
name is from Tolkien's Mines of Moria; compare {elder days},
{elvish}. The game is extremely addictive and a major consumer
of time better used for hacking.
:MOTAS: /moh-tahz/ /n./ [Usenet: Member Of The Appropriate
Sex, after {MOTOS} and {MOTSS}] A potential or (less often)
actual sex partner. See also {SO}.
:MOTOS: /moh-tohs/ /n./ [acronym from the 1970 U.S. census
forms via Usenet: Member Of The Opposite Sex] A potential or (less
often) actual sex partner. See {MOTAS}, {MOTSS}, {SO}.
Less common than MOTSS or {MOTAS}, which have largely displaced
it.
:MOTSS: /mots/ or /M-O-T-S-S/ /n./ [from the 1970
U.S. census forms via Usenet] Member Of The Same Sex, esp. one
considered as a possible sexual partner. The gay-issues newsgroup
on Usenet is called soc.motss. See {MOTOS} and {MOTAS},
which derive from it. See also {SO}.
:mouse ahead: /vi./ Point-and-click analog of `type ahead'.
To manipulate a computer's pointing device (almost always a mouse
in this usage, but not necessarily) and its selection or command
buttons before a computer program is ready to accept such input, in
anticipation of the program accepting the input. Handling this
properly is rare, but it can help make a {WIMP environment} much
more usable, assuming the users are familiar with the behavior of
the user interface.
:mouse around: /vi./ To explore public portions of a large
system, esp. a network such as Internet via {FTP} or
{TELNET}, looking for interesting stuff to {snarf}.
:mouse belt: /n./ See {rat belt}.
:mouse droppings: /n./ [MS-DOS] Pixels (usually single) that
are not properly restored when the mouse pointer moves away from a
particular location on the screen, producing the appearance that
the mouse pointer has left droppings behind. The major causes for
this problem are programs that write to the screen memory
corresponding to the mouse pointer's current location without
hiding the mouse pointer first, and mouse drivers that do not quite
support the graphics mode in use.
:mouse elbow: /n./ A tennis-elbow-like fatigue syndrome
resulting from excessive use of a {WIMP environment}.
Similarly, `mouse shoulder'; GLS reports that he used to get this
a lot before he taught himself to be ambimoustrous.
:mouso: /mow'soh/ /n./ [by analogy with `typo'] An error in
mouse usage resulting in an inappropriate selection or graphic
garbage on the screen. Compare {thinko}, {braino}.
:MS-DOS:: /M-S-dos/ /n./ [MicroSoft Disk Operating System] A
{clone} of {{CP/M}} for the 8088 crufted together in 6 weeks by
hacker Tim Paterson at Seattle Computer Products, who called the
original QDOS (Quick and Dirty Operating System) and is said to
have regretted it ever since. Microsoft licensed QDOS order to
have something to demo for IBM on time, and the rest is history.
Numerous features, including vaguely Unix-like but rather broken
support for subdirectories, I/O redirection, and pipelines, were
hacked into Microsoft's 2.0 and subsequent versions; as a result,
there are two or more incompatible versions of many system calls,
and MS-DOS programmers can never agree on basic things like what
character to use as an option switch or whether to be
case-sensitive. The resulting appalling mess is now the
highest-unit-volume OS in history. Often known simply as DOS,
which annoys people familiar with other similarly abbreviated
operating systems (the name goes back to the mid-1960s, when it was
attached to IBM's first disk operating system for the 360). The
name further annoys those who know what the term {operating
system} does (or ought to) connote; DOS is more properly a set of
relatively simple interrupt services. Some people like to
pronounce DOS like "dose", as in "I don't work on dose, man!",
or to compare it to a dose of brain-damaging drugs (a slogan button
in wide circulation among hackers exhorts: "MS-DOS: Just say
No!"). See {mess-dos}, {ill-behaved}.
:mu: /moo/ The correct answer to the classic trick question
"Have you stopped beating your wife yet?". Assuming that you
have no wife or you have never beaten your wife, the answer "yes"
is wrong because it implies that you used to beat your wife and
then stopped, but "no" is worse because it suggests that you have
one and are still beating her. According to various Discordians
and Douglas Hofstadter the correct answer is usually "mu", a
Japanese word alleged to mean "Your question cannot be answered
because it depends on incorrect assumptions". Hackers tend to be
sensitive to logical inadequacies in language, and many have
adopted this suggestion with enthusiasm. The word `mu' is
actually from Chinese, meaning `nothing'; it is used in
mainstream Japanese in that sense, but native speakers do not
recognize the Discordian question-denying use. It almost certainly
derives from overgeneralization of the answer in the following
well-known Rinzei Zen teaching riddle:
A monk asked Joshu, "Does a dog have the Buddha nature?" Joshu
retorted, "Mu!"
See also {has the X nature}, {AI Koans}, and Douglas
Hofstadter's "G"odel, Escher, Bach: An Eternal Golden Braid"
(pointer in the {Bibliography} in Appendix C.
:MUD: /muhd/ /n./ [acronym, Multi-User Dungeon; alt.
Multi-User Dimension] 1. A class of {virtual reality}
experiments accessible via the Internet. These are real-time chat
forums with structure; they have multiple `locations' like an
adventure game, and may include combat, traps, puzzles, magic, a
simple economic system, and the capability for characters to build
more structure onto the database that represents the existing
world. 2. /vi./ To play a MUD. The acronym MUD is often
lowercased
and/or verbed; thus, one may speak of `going mudding', etc.
Historically, MUDs (and their more recent progeny with names of MU-
form) derive from a hack by Richard Bartle and Roy Trubshaw on the
University of Essex's DEC-10 in the early 1980s; descendants of
that game still exist today and are sometimes generically called
BartleMUDs. There is a widespread myth (repeated,
unfortunately, by earlier versions of this lexicon) that the name
MUD was trademarked to the commercial MUD run by Bartle on British
Telecom (the motto: "You haven't *lived* 'til you've
*died* on MUD!"); however, this is false -- Richard Bartle
explicitly placed `MUD' in the public domain in 1985. BT was upset
at this, as they had already printed trademark claims on some maps
and posters, which were released and created the myth.
Students on the European academic networks quickly improved on the
MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD).
Many of these had associated bulletin-board systems for social
interaction. Because these had an image as `research' they
often survived administrative hostility to BBSs in general. This,
together with the fact that Usenet feeds were often spotty and
difficult to get in the U.K., made the MUDs major foci of hackish
social interaction there.
AberMUD and other variants crossed the Atlantic around 1988 and
quickly gained popularity in the U.S.; they became nuclei for large
hacker communities with only loose ties to traditional hackerdom
(some observers see parallels with the growth of Usenet in the
early 1980s). The second wave of MUDs (TinyMUD and variants)
tended to emphasize social interaction, puzzles, and cooperative
world-building as opposed to combat and competition. By 1991, over
50% of MUD sites were of a third major variety, LPMUD, which
synthesizes the combat/puzzle aspects of AberMUD and older systems
with the extensibility of TinyMud. In 1996 the cutting edge of the
technology is Pavel Curtis's MOO, even more extensible using a
built-in object-oriented language. The trend toward greater
programmability and flexibility will doubtless continue.
The state of the art in MUD design is still moving very rapidly,
with new simulation designs appearing (seemingly) every month.
Around 1991 there was an unsuccessful movement to deprecate the
term {MUD} itself, as newer designs exhibit an exploding variety
of names corresponding to the different simulation styles being
explored. It survived. See also {bonk/oif}, {FOD},
{link-dead}, {mudhead}, {talk mode}.
:muddie: /n./ Syn. {mudhead}. More common in Great Britain,
possibly because system administrators there like to mutter
"bloody muddies" when annoyed at the species.
:mudhead: /n./ Commonly used to refer to a {MUD} player who
eats, sleeps, and breathes MUD. Mudheads have been known to fail
their degrees, drop out, etc., with the consolation, however, that
they made wizard level. When encountered in person, on a MUD, or
in a chat system, all a mudhead will talk about is three topics:
the tactic, character, or wizard that is supposedly always unfairly
stopping him/her from becoming a wizard or beating a favorite MUD;
why the specific game he/she has experience with is so much better
than any other; and the MUD he or she is writing or going to write
because his/her design ideas are so much better than in any
existing MUD. See also {wannabee}.
To the anthropologically literate, this term may recall the
Zuni/Hopi legend of the mudheads or `koyemshi', mythical
half-formed children of an unnatural union. Figures representing
them act as clowns in Zuni sacred ceremonies. Others may recall
the `High School Madness' sequence from the Firesign Theater album
"Don't Crush That Dwarf, Hand Me the Pliers", in which there
is a character named "Mudhead".
:multician: /muhl-ti'shn/ /n./ [coined at Honeywell,
ca. 1970] Competent user of {{Multics}}. Perhaps oddly, no one
has ever promoted the analogous `Unician'.
:Multics:: /muhl'tiks/ /n./ [from "MULTiplexed Information
and Computing Service"] An early (late 1960s) timesharing
operating system co-designed by a consortium including MIT, GE, and
Bell Laboratories. Multics was very innovative for its time ---
among other things, it introduced the idea of treating all devices
uniformly as special files. All the members but GE eventually
pulled out after determining that {second-system effect} had
bloated Multics to the point of practical unusability (the
`lean' predecessor in question was {CTSS}). Honeywell
commercialized Multics after buying out GE's computer group, but it
was never very successful (among other things, on some versions one
was commonly required to enter a password to log out). One of the
developers left in the lurch by the project's breakup was Ken
Thompson, a circumstance which led directly to the birth of
{{Unix}}. For this and other reasons, aspects of the Multics
design remain a topic of occasional debate among hackers. See also
{brain-damaged} and {GCOS}.
:multitask: /n./ Often used of humans in the same meaning it
has for computers, to describe a person doing several things at
once (but see {thrash}). The term `multiplex', from
communications technology (meaning to handle more than one channel
at the same time), is used similarly.
:mumblage: /muhm'bl*j/ /n./ The topic of one's mumbling (see
{mumble}). "All that mumblage" is used like "all that
stuff" when it is not quite clear how the subject of discussion
works, or like "all that crap" when `mumble' is being used as
an implicit replacement for pejoratives.
:mumble: /interj./ 1. Said when the correct response is too
complicated to enunciate, or the speaker has not thought it out.
Often prefaces a longer answer, or indicates a general reluctance
to get into a long discussion. "Don't you think that we could
improve LISP performance by using a hybrid reference-count
transaction garbage collector, if the cache is big enough and there
are some extra cache bits for the microcode to use?" "Well,
mumble ... I'll have to think about it." 2. [MIT] Expression
of not-quite-articulated agreement, often used as an informal vote
of consensus in a meeting: "So, shall we dike out the COBOL
emulation?" "Mumble!" 3. Sometimes used as an expression of
disagreement (distinguished from sense 2 by tone of voice and other
cues). "I think we should buy a {VAX}." "Mumble!" Common
variant: `mumble frotz' (see {frotz}; interestingly, one does
not say `mumble frobnitz' even though `frotz' is short for
`frobnitz'). 4. Yet another {metasyntactic variable}, like
{foo}. 5. When used as a question ("Mumble?") means "I
didn't understand you". 6. Sometimes used in `public' contexts
on-line as a placefiller for things one is barred from giving
details about. For example, a poster with pre-released hardware in
his machine might say "Yup, my machine now has an extra 16M of
memory, thanks to the card I'm testing for Mumbleco." 7. A
conversational wild card used to designate something one doesn't
want to bother spelling out, but which can be {glark}ed from
context. Compare {blurgle}. 8. [XEROX PARC] A colloquialism
used to suggest that further discussion would be fruitless.
:munch: /vt./ [often confused with {mung}, q.v.] To
transform information in a serial fashion, often requiring large
amounts of computation. To trace down a data structure. Related
to {crunch} and nearly synonymous with {grovel}, but connotes
less pain.
:munching: /n./ Exploration of security holes of someone else's
computer for thrills, notoriety, or to annoy the system manager.
Compare {cracker}. See also {hacked off}.
:munching squares: /n./ A {display hack} dating back to the
PDP-1 (ca. 1962, reportedly discovered by Jackson Wright), which
employs a trivial computation (repeatedly plotting the graph Y = X
XOR T for successive values of T -- see {HAKMEM} items
146--148) to produce an impressive display of moving and growing
squares that devour the screen. The initial value of T is treated
as a parameter, which, when well-chosen, can produce amazing
effects. Some of these, later (re)discovered on the LISP machine,
have been christened `munching triangles' (try AND for XOR and
toggling points instead of plotting them), `munching w's', and
`munching mazes'. More generally, suppose a graphics program
produces an impressive and ever-changing display of some basic
form, foo, on a display terminal, and does it using a relatively
simple program; then the program (or the resulting display) is
likely to be referred to as `munching foos'. [This is a good
example of the use of the word {foo} as a {metasyntactic
variable}.]
:munchkin: /muhnch'kin/ /n./ [from the squeaky-voiced little
people in L. Frank Baum's "The Wizard of Oz"] A
teenage-or-younger micro enthusiast hacking BASIC or something else
equally constricted. A term of mild derision -- munchkins are
annoying but some grow up to be hackers after passing through a
{larval stage}. The term {urchin} is also used. See also
{wannabee}, {bitty box}.
:mundane: /n./ [from SF fandom] 1. A person who is not in
science fiction fandom. 2. A person who is not in the computer
industry. In this sense, most often an adjectival modifier as in
"in my mundane life...." See also {Real World}.
:mung: /muhng/ /vt./ [in 1960 at MIT, `Mash Until No Good';
sometime after that the derivation from the {{recursive acronym}}
`Mung Until No Good' became standard; but see {munge}] 1. To
make changes to a file, esp. large-scale and irrevocable changes.
See {BLT}. 2. To destroy, usually accidentally, occasionally
maliciously. The system only mungs things maliciously; this is a
consequence of {Finagle's Law}. See {scribble}, {mangle},
{trash}, {nuke}. Reports from {Usenet} suggest that the
pronunciation /muhnj/ is now usual in speech, but the spelling
`mung' is still common in program comments (compare the
widespread confusion over the proper spelling of {kluge}).
3. The kind of beans the sprouts of which are used in Chinese food.
(That's their real name! Mung beans! Really!)
Like many early hacker terms, this one seems to have originated at
{TMRC}; it was already in use there in 1958. Peter Samson
(compiler of the original TMRC lexicon) thinks it may originally
have been onomatopoeic for the sound of a relay spring (contact)
being twanged. However, it is known that during the World Wars,
`mung' was U.S. army slang for the ersatz creamed chipped beef
better known as `SOS', and it seems quite likely that the word in
fact goes back to Scots-dialect {munge}.
:munge: /muhnj/ /vt./ 1. [derogatory] To imperfectly
transform information. 2. A comprehensive rewrite of a routine,
data structure or the whole program. 3. To modify data in some way
the speaker doesn't need to go into right now or cannot describe
succinctly (compare {mumble}).
This term is often confused with {mung}, which probably was
derived from it. However, it also appears the word `munge' was in
common use in Scotland in the 1940s, and in Yorkshire in the 1950s,
as a verb, meaning to munch up into a masticated mess, and
as a noun, meaning the result of munging something up (the
parallel with the {kluge}/{kludge} pair is amusing).
:Murphy's Law: /prov./ The correct, *original* Murphy's
Law reads: "If there are two or more ways to do something, and one
of those ways can result in a catastrophe, then someone will do
it." This is a principle of defensive design, cited here because
it is usually given in mutant forms less descriptive of the
challenges of design for {luser}s. For example, you don't make a
two-pin plug symmetrical and then label it `THIS WAY UP'; if it
matters which way it is plugged in, then you make the design
asymmetrical (see also the anecdote under {magic smoke}).
Edward A. Murphy, Jr. was one of the engineers on the rocket-sled
experiments that were done by the U.S. Air Force in 1949 to test
human acceleration tolerances (USAF project MX981). One experiment
involved a set of 16 accelerometers mounted to different parts of
the subject's body. There were two ways each sensor could be glued
to its mount, and somebody methodically installed all 16 the wrong
way around. Murphy then made the original form of his
pronouncement, which the test subject (Major John Paul Stapp)
quoted at a news conference a few days later.
Within months `Murphy's Law' had spread to various technical
cultures connected to aerospace engineering. Before too many years
had gone by variants had passed into the popular imagination,
changing as they went. Most of these are variants on "Anything
that can go wrong, will"; this is correctly referred to as
{Finagle's Law}. The memetic drift apparent in these mutants
clearly demonstrates Murphy's Law acting on itself!
:music:: /n./ A common extracurricular interest of hackers
(compare {{science-fiction fandom}}, {{oriental food}}; see also
{filk}). Hackish folklore has long claimed that musical and
programming abilities are closely related, and there has been at
least one large-scale statistical study that supports this.
Hackers, as a rule, like music and often develop musical
appreciation in unusual and interesting directions. Folk music is
very big in hacker circles; so is electronic music, and the sort of
elaborate instrumental jazz/rock that used to be called
`progressive' and isn't recorded much any more. The hacker's
musical range tends to be wide; many can listen with equal
appreciation to (say) Talking Heads, Yes, Gentle Giant, Pat
Metheny, Scott Joplin, Tangerine Dream, Dream Theater, King Sunny
Ade, The Pretenders, Screaming Trees, or the Brandenburg Concerti.
It is also apparently true that hackerdom includes a much higher
concentration of talented amateur musicians than one would expect
from a similar-sized control group of {mundane} types.
:mutter: /vt./ To quietly enter a command not meant for the
ears, eyes, or fingers of ordinary mortals. Often used in `mutter
an {incantation}'. See also {wizard}.
= N =
=====
:N: /N/ /quant./ 1. A large and indeterminate number of
objects: "There were N bugs in that crock!" Also used in
its original sense of a variable name: "This crock has N
bugs, as N goes to infinity." (The true number of bugs is
always at least N + 1; see {Lubarsky's Law of Cybernetic
Entomology}.) 2. A variable whose value is inherited from the
current context. For example, when a meal is being ordered at a
restaurant, N may be understood to mean however many people
there are at the table. From the remark "We'd like to order
N wonton soups and a family dinner for N - 1" you
can deduce that one person at the table wants to eat only soup,
even though you don't know how many people there are (see
{great-wall}). 3. `Nth': /adj./ The ordinal counterpart
of N, senses 1 and 2. "Now for the Nth and last
time..." In the specific context "Nth-year grad
student", N is generally assumed to be at least 4, and is
usually 5 or more (see {tenured graduate student}). See also
{{random numbers}}, {two-to-the-N}.
:nadger: /nad'jr/ /v./ [UK] Of software or hardware (not
people), to twiddle some object in a hidden manner, generally so
that it conforms better to some format. For instance, string
printing routines on 8-bit processors often take the string text
from the instruction stream, thus a print call looks like `jsr
print:"Hello world"'. The print routine has to `nadger' the
saved instruction pointer so that the processor doesn't try to
execute the text as instructions when the subroutine returns.
Apparently this word originated on a now-legendary 1950s radio
comedy program called "The Goon Show". The Goon Show usage
of "nadger" was definitely in the sense of "jinxed"
"clobbered" "fouled up". The American mutation {adger}
seems to have preserved more of the original flavor.
:nagware: /nag'weir/ /n./ [Usenet] The variety of {shareware}
that displays a large screen at the beginning or end reminding you
to register, typically requiring some sort of keystroke to continue
so that you can't use the software in batch mode. Compare
{crippleware}.
:nailed to the wall: /adj./ [like a trophy] Said of a bug
finally eliminated after protracted, and even heroic, effort.
:nailing jelly: /vi./ See {like nailing jelly to a tree}.
:naive: /adj./ Untutored in the perversities of some particular
program or system; one who still tries to do things in an intuitive
way, rather than the right way (in really good designs these
coincide, but most designs aren't `really good' in the
appropriate sense). This trait is completely unrelated to general
maturity or competence, or even competence at any other specific
program. It is a sad commentary on the primitive state of
computing that the natural opposite of this term is often claimed
to be `experienced user' but is really more like `cynical
user'.
:naive user: /n./ A {luser}. Tends to imply someone who is
ignorant mainly owing to inexperience. When this is applied to
someone who *has* experience, there is a definite implication
of stupidity.
:NAK: /nak/ /interj./ [from the ASCII mnemonic for 0010101]
1. On-line joke answer to {ACK}?: "I'm not here." 2. On-line
answer to a request for chat: "I'm not available." 3. Used to
politely interrupt someone to tell them you don't understand their
point or that they have suddenly stopped making sense. See
{ACK}, sense 3. "And then, after we recode the project in
COBOL...." "Nak, Nak, Nak! I thought I heard you say
COBOL!"
:nano: /nan'oh/ /n./ [CMU: from `nanosecond'] A brief
period of time. "Be with you in a nano" means you really will be
free shortly, i.e., implies what mainstream people mean by "in a
jiffy" (whereas the hackish use of `jiffy' is quite different
-- see {jiffy}).
:nano-: /pref./ [SI: the next quantifier below {micro-};
meaning * 10^(-9)] Smaller than {micro-}, and used in
the same rather loose and connotative way. Thus, one has
{{nanotechnology}} (coined by hacker K. Eric Drexler) by analogy
with `microtechnology'; and a few machine architectures have a
`nanocode' level below `microcode'. Tom Duff at Bell Labs has
also pointed out that "Pi seconds is a nanocentury".
See also {{quantifiers}}, {pico-}, {nanoacre}, {nanobot},
{nanocomputer}, {nanofortnight}.
:nanoacre: /nan'oh-ay`kr/ /n./ A unit (about 2 mm square) of
real estate on a VLSI chip. The term gets its giggle value from
the fact that VLSI nanoacres have costs in the same range as real
acres once one figures in design and fabrication-setup costs.
:nanobot: /nan'oh-bot/ /n./ A robot of microscopic
proportions, presumably built by means of {{nanotechnology}}. As
yet, only used informally (and speculatively!). Also called a
`nanoagent'.
:nanocomputer: /nan'oh-k*m-pyoo'tr/ /n./ A computer with
molecular-sized switching elements. Designs for mechanical
nanocomputers which use single-molecule sliding rods for their
logic have been proposed. The controller for a {nanobot} would
be a nanocomputer.
:nanofortnight: /n./ [Adelaide University] 1 fortnight
* 10^(-9), or about 1.2 msec. This unit was used
largely by students doing undergraduate practicals. See
{microfortnight}, {attoparsec}, and {micro-}.
:nanotechnology:: /nan'-oh-tek-no`l*-jee/ /n./ A hypothetical
fabrication technology in which objects are designed and built with
the individual specification and placement of each separate atom.
The first unequivocal nanofabrication experiments took place in
1990, for example with the deposition of individual xenon atoms on
a nickel substrate to spell the logo of a certain very large
computer company. Nanotechnology has been a hot topic in the
hacker subculture ever since the term was coined by K. Eric Drexler
in his book "Engines of Creation" (Anchor/Doubleday, ISBN
0-385-19973-2), where he predicted that nanotechnology could give
rise to replicating assemblers, permitting an exponential growth of
productivity and personal wealth. See also {blue goo}, {gray
goo}, {nanobot}.
:nasal demons: /n./ Recognized shorthand on the Usenet group
comp.std.c for any unexpected behavior of a C compiler on
encountering an undefined construct. During a discussion on that
group in early 1992, a regular remarked "When the compiler
encounters [a given undefined construct] it is legal for it to make
demons fly out of your nose" (the implication is that the compiler
may choose any arbitrarily bizarre way to interpret the code
without violating the ANSI C standard). Someone else followed up
with a reference to "nasal demons", which quickly became
established.
:nastygram: /nas'tee-gram/ /n./ 1. A protocol packet or item
of email (the latter is also called a {letterbomb}) that takes
advantage of misfeatures or security holes on the target system to
do untoward things. 2. Disapproving mail, esp. from a
{net.god}, pursuant to a violation of {netiquette} or a
complaint about failure to correct some mail- or news-transmission
problem. Compare {shitogram}, {mailbomb}. 3. A status
report from an unhappy, and probably picky, customer. "What'd
Corporate say in today's nastygram?" 4. [deprecated] An error
reply by mail from a {daemon}; in particular, a {bounce
message}.
:Nathan Hale: /n./ An asterisk (see also {splat},
{{ASCII}}). Oh, you want an etymology? Notionally, from "I
regret that I have only one asterisk for my country!", a misquote
of the famous remark uttered by Nathan Hale just before he was
hanged. Hale was a (failed) spy for the rebels in the American War
of Independence.
:nature: /n./ See {has the X nature}.
:neat hack: /n./ 1. A clever technique. 2. A brilliant
practical joke, where neatness is correlated with cleverness,
harmlessness, and surprise value. Example: the Caltech Rose Bowl
card display switch (see "{The Meaning of `Hack'}",
Appendix A). See also {hack}.
:neats vs. scruffies: /n./ The label used to refer to one of
the continuing {holy wars} in AI research. This conflict
tangles together two separate issues. One is the relationship
between human reasoning and AI; `neats' tend to try to build
systems that `reason' in some way identifiably similar to the
way humans report themselves as doing, while `scruffies' profess
not to care whether an algorithm resembles human reasoning in the
least as long as it works. More importantly, neats tend to believe
that logic is king, while scruffies favor looser, more ad-hoc
methods driven by empirical knowledge. To a neat, scruffy methods
appear promiscuous, successful only by accident, and not productive
of insights about how intelligence actually works; to a scruffy,
neat methods appear to be hung up on formalism and irrelevant to
the hard-to-capture `common sense' of living intelligences.
:neep-neep: /neep neep/ /n./ [onomatopoeic, widely spread
through SF fandom but reported to have originated at Caltech in the
1970s] One who is fascinated by computers. Less specific than
{hacker}, as it need not imply more skill than is required to
boot games on a PC. The derived noun `neeping' applies
specifically to the long conversations about computers that tend to
develop in the corners at most SF-convention parties (the term
`neepery' is also in wide use). Fandom has a related proverb to
the effect that "Hacking is a conversational black hole!".
:neophilia: /nee`oh-fil'-ee-*/ /n./ The trait of being
excited and pleased by novelty. Common among most hackers, SF
fans, and members of several other connected leading-edge
subcultures, including the pro-technology `Whole Earth' wing of
the ecology movement, space activists, many members of Mensa, and
the Discordian/neo-pagan underground. All these groups overlap
heavily and (where evidence is available) seem to share
characteristic hacker tropisms for science fiction, {{music}}, and
{{oriental food}}. The opposite tendency is `neophobia'.
:nerd: /n./ 1. [mainstream slang] Pejorative applied to anyone
with an above-average IQ and few gifts at small talk and ordinary
social rituals. 2. [jargon] Term of praise applied (in conscious
ironic reference to sense 1) to someone who knows what's really
important and interesting and doesn't care to be distracted by
trivial chatter and silly status games. Compare the two senses of
{computer geek}.
The word itself appears to derive from the lines "And then, just to
show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a
Preep
and a Proo, / A Nerkle, a Nerd, and a Seersucker, too!" in the
Dr. Seuss book "If I Ran the Zoo" (1950). (The spellings
`nurd' and `gnurd' also used to be current at MIT.) How it
developed its mainstream meaning is unclear, but sense 1 seems to
have entered mass culture in the early 1970s (there are reports
that in the mid-1960s it meant roughly "annoying misfit"
without the connotation of intelligence).
An IEEE Spectrum article (4/95, page 16) once derived `nerd' in its
variant form `knurd' from the word `drunk' backwards, but this
bears all the earmarks of a bogus folk etymology.
Hackers developed sense 2 in self-defense perhaps ten years later,
and some actually wear "Nerd Pride" buttons, only half as a
joke. At MIT one can find not only buttons but (what else?) pocket
protectors bearing the slogan and the MIT seal.
:net.-: /net dot/ /pref./ [Usenet] Prefix used to describe
people and events related to Usenet. From the time before the
{Great Renaming}, when most non-local newsgroups had names
beginning `net.'. Includes {net.god}s, `net.goddesses'
(various charismatic net.women with circles of on-line admirers),
`net.lurkers' (see {lurker}), `net.person', `net.parties'
(a synonym for {boink}, sense 2), and many similar constructs.
See also {net.police}.
:net.god: /net god/ /n./ Accolade referring to anyone who
satisfies some combination of the following conditions: has been
visible on Usenet for more than 5 years, ran one of the original
backbone sites, moderated an important newsgroup, wrote news
software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and Greg
personally. See {demigod}. Net.goddesses such as Rissa or the
Slime Sisters have (so far) been distinguished more by personality
than by authority.
:net.personality: /net per`sn-al'-*-tee/ /n./ Someone who has
made a name for him or herself on {Usenet}, through either
longevity or attention-getting posts, but doesn't meet the other
requirements of {net.god}hood.
:net.police: /net-p*-lees'/ /n./ (var. `net.cops') Those
Usenet readers who feel it is their responsibility to pounce on and
{flame} any posting which they regard as offensive or in
violation of their understanding of {netiquette}. Generally
used sarcastically or pejoratively. Also spelled `net police'.
See also {net.-}, {code police}.
:NetBOLLIX: /n./ [from bollix: to bungle] {IBM}'s NetBIOS, an
extremely {brain-damaged} network protocol that, like {Blue
Glue}, is used at commercial shops that don't know any better.
:netburp: /n./ [IRC] When {netlag} gets really bad, and
delays between servers exceed a certain threshhold, the {IRC}
network effectively becomes partitioned for a period of time, and
large numbers of people seem to be signing off at the same time and
then signing back on again when things get better. An instance of
this is called a `netburp' (or, sometimes, {netsplit}).
:netdead: /n./ [IRC] The state of someone who signs off
{IRC}, perhaps during a {netburp}, and doesn't sign back on
until later. In the interim, he is "dead to the net".
:nethack: /net'hak/ /n./ [Unix] A dungeon game similar to
{rogue} but more elaborate, distributed in C source over
{Usenet} and very popular at Unix sites and on PC-class machines
(nethack is probably the most widely distributed of the freeware
dungeon games). The earliest versions, written by Jay Fenlason and
later considerably enhanced by Andries Brouwer, were simply called
`hack'. The name changed when maintenance was taken over by a
group of hackers originally organized by Mike Stephenson; the
current contact address (as of early 1996) is
nethack-bugs@linc.cis.upenn.edu.
:netiquette: /net'ee-ket/ or /net'i-ket/ /n./ [portmanteau
from "network etiquette"] The conventions of politeness
recognized on {Usenet}, such as avoidance of cross-posting to
inappropriate groups and refraining from commercial pluggery
outside the biz groups.
:netlag: /n./ [IRC, MUD] A condition that occurs when the
delays in the {IRC} network or on a {MUD} become severe
enough that servers briefly lose and then reestablish contact,
causing messages to be delivered in bursts, often with delays of up
to a minute. (Note that this term has nothing to do with
mainstream "jet lag", a condition which hackers tend not to be
much bothered by.)
:netnews: /net'n[y]ooz/ /n./ 1. The software that makes
{Usenet} run. 2. The content of Usenet. "I read netnews
right after my mail most mornings."
:netrock: /net'rok/ /n./ [IBM] A {flame}; used esp. on
VNET, IBM's internal corporate network.
:netsplit: /n./ Syn. {netburp}.
:netter: /n./ 1. Loosely, anyone with a {network address}.
2. More specifically, a {Usenet} regular. Most often found in
the plural. "If you post *that* in a technical group, you're
going to be flamed by angry netters for the rest of time!"
:network address: /n./ (also `net address') As used by
hackers, means an address on `the' network (see {network,
the}; this used to include {bang path} addresses but now almost
always implies an {{Internet address}}).
Display of a network address is essential if one wants to be to be
taken seriously by hackers; in particular, persons or organizations
that claim to understand, work with, sell to, or recruit from among
hackers but *don't* display net addresses are quietly presumed
to be clueless poseurs and mentally flushed (see {flush}, sense
4). Hackers often put their net addresses on their business cards
and wear them prominently in contexts where they expect to meet
other hackers face-to-face (see also {{science-fiction fandom}}).
This is mostly functional, but is also a signal that one identifies
with hackerdom (like lodge pins among Masons or tie-dyed T-shirts
among Grateful Dead fans). Net addresses are often used in email
text as a more concise substitute for personal names; indeed,
hackers may come to know each other quite well by network names
without ever learning each others' `legal' monikers. See also
{sitename}, {domainist}.
[1996 update: the lodge-pin function of the network address has
been gradually eroding in the last two years as Internet and World
Wide Web usage have become common outside hackerdom. -- ESR]
:network meltdown: /n./ A state of complete network overload;
the network equivalent of {thrash}ing. This may be induced by a
{Chernobyl packet}. See also {broadcast storm}, {kamikaze
packet}.
Network meltdown is often a result of network designs that are
optimized for a steady state of moderate load and don't cope well
with the very jagged, bursty usage patterns of the real world. One
amusing instance of this is triggered by the the popular and very
bloody shoot-'em-up game Doom on the PC. When used in
multiplayer mode over a network, the game uses broadcast packets to
inform other machines when bullets are fired. This causes problems
with weapons like the chain gun which fire rapidly -- it can blast
the network into a meltdown state just as easily as it shreds
opposing monsters.
:network, the: /n./ 1. The union of all the major
noncommercial, academic, and hacker-oriented networks, such as
Internet, the pre-1990 ARPANET, NSFnet, {BITNET}, and the
virtual UUCP and {Usenet} `networks', plus the corporate
in-house networks and commercial time-sharing services (such as
CompuServe, GEnie and AOL) that gateway to them. A site is
generally considered `on the network' if it can be reached
through some combination of Internet-style (@-sign) and UUCP
(bang-path) addresses. See {Internet}, {bang path},
{{Internet address}}, {network address}. Following the
mass-culture discovery of the Internet in 1994 and subsequent
proliferation of cheap TCP/IP connections, "the network" is
increasingly synonymous with the Internet itself (as it was before
the second wave of wide-area computer networking began around
1980).
2. A fictional conspiracy of libertarian hacker-subversives and
anti-authoritarian monkeywrenchers described in Robert Anton
Wilson's novel "Schr"odinger's Cat", to which many hackers
have subsequently decided they belong (this is an example of {ha
ha only serious}).
In sense 1, `network' is often abbreviated to `net'. "Are
you on the net?" is a frequent question when hackers first meet
face to face, and "See you on the net!" is a frequent goodbye.
:New Jersey: /adj./ [primarily Stanford/Silicon Valley]
Brain-damaged or of poor design. This refers to the allegedly
wretched quality of such software as C, C++, and Unix (which
originated at Bell Labs in Murray Hill, New Jersey). "This
compiler bites the bag, but what can you expect from a compiler
designed in New Jersey?" Compare {Berkeley Quality Software}.
See also {Unix conspiracy}.
:New Testament: /n./ [C programmers] The second edition of
K&R's "The C Programming Language" (Prentice-Hall, 1988; ISBN
0-13-110362-8), describing ANSI Standard C. See {K&R}; this
version is also called `K&R2'.
:newbie: /n[y]oo'bee/ /n./ [orig. from British public-school
and military slang variant of `new boy'] A Usenet neophyte. This
term surfaced in the {newsgroup} talk.bizarre but is now in
wide use. Criteria for being considered a newbie vary wildly; a
person can be called a newbie in one newsgroup while remaining a
respected regular in another. The label `newbie' is sometimes
applied as a serious insult to a person who has been around Usenet
for a long time but who carefully hides all evidence of having a
clue. See {B1FF}.
:newgroup wars: /n[y]oo'groop worz/ /n./ [Usenet] The salvos of
dueling `newgroup' and `rmgroup' messages sometimes
exchanged by persons on opposite sides of a dispute over whether a
{newsgroup} should be created net-wide, or (even more
frequently) whether an obsolete one should be removed. These
usually settle out within a week or two as it becomes clear whether
the group has a natural constituency (usually, it doesn't). At
times, especially in the completely anarchic alt hierarchy, the
names of newsgroups themselves become a form of comment or humor;
e.g., the spinoff of alt.swedish.chef.bork.bork.bork from
alt.tv.muppets in early 1990, or any number of specialized
abuse groups named after particularly notorious {flamer}s, e.g.,
alt.weemba.
:newline: /n[y]oo'li:n/ /n./ 1. [techspeak, primarily Unix]
The ASCII LF character (0001010), used under {{Unix}} as a text
line terminator. A Bell-Labs-ism rather than a Berkeleyism;
interestingly (and unusually for Unix jargon), it is said to have
originally been an IBM usage. (Though the term `newline'
appears in ASCII standards, it never caught on in the general
computing world before Unix). 2. More generally, any magic
character, character sequence, or operation (like Pascal's writeln
procedure) required to terminate a text record or separate lines.
See {crlf}, {terpri}.
:NeWS: /nee'wis/, /n[y]oo'is/ or /n[y]ooz/ /n./ [acronym;
the `Network Window System'] The road not taken in window systems,
an elegant {{PostScript}}-based environment that would almost
certainly have won the standards war with {X} if it hadn't been
{proprietary} to Sun Microsystems. There is a lesson here that
too many software vendors haven't yet heeded. Many hackers insist
on the two-syllable pronunciations above as a way of distinguishing
NeWS from {news} (the {netnews} software).
:news: /n./ See {netnews}.
:newsfroup: // /n./ [Usenet] Silly synonym for {newsgroup},
originally a typo but now in regular use on Usenet's talk.bizarre
and other lunatic-fringe groups. Compare {hing}, {grilf},
and {filk}.
:newsgroup: /n./ [Usenet] One of {Usenet}'s huge collection of
topic groups or {fora}. Usenet groups can be `unmoderated'
(anyone can post) or `moderated' (submissions are automatically
directed to a moderator, who edits or filters and then posts the
results). Some newsgroups have parallel {mailing list}s for
Internet people with no netnews access, with postings to the group
automatically propagated to the list and vice versa. Some
moderated groups (especially those which are actually gatewayed
Internet mailing lists) are distributed as `digests', with groups
of postings periodically collected into a single large posting with
an index.
Among the best-known are comp.lang.c (the C-language forum),
comp.arch (on computer architectures), comp.unix.wizards
(for Unix wizards), rec.arts.sf.written and siblings (for
science-fiction fans), and talk.politics.misc (miscellaneous
political discussions and {flamage}).
:nick: /n./ [IRC] Short for nickname. On {IRC}, every user must
pick a nick, which is sometimes the same as the user's real name or
login name, but is often more fanciful. Compare {handle}.
:nickle: /ni'kl/ /n./ [from `nickel', common name for the
U.S. 5-cent coin] A {nybble} + 1; 5 bits. Reported among
developers for Mattel's GI 1600 (the Intellivision games
processor), a chip with 16-bit-wide RAM but 10-bit-wide ROM. See
also {deckle}, and {nybble} for names of other bit units.
:night mode: /n./ See {phase} (of people).
:Nightmare File System: /n./ Pejorative hackerism for Sun's
Network File System (NFS). In any nontrivial network of Suns
where there is a lot of NFS cross-mounting, when one Sun goes down,
the others often freeze up. Some machine tries to access the down
one, and (getting no response) repeats indefinitely. This causes
it to appear dead to some messages (what is actually happening is
that it is locked up in what should have been a brief excursion to
a higher {spl} level). Then another machine tries to reach
either the down machine or the pseudo-down machine, and itself
becomes pseudo-down. The first machine to discover the down one is
now trying both to access the down one and to respond to the
pseudo-down one, so it is even harder to reach. This situation
snowballs very quickly, and soon the entire network of machines is
frozen -- worst of all, the user can't even abort the file access
that started the problem! Many of NFS's problems are excused by
partisans as being an inevitable result of its statelessness, which
is held to be a great feature (critics, of course, call it a great
{misfeature}). (ITS partisans are apt to cite this as proof of
Unix's alleged bogosity; ITS had a working NFS-like shared file
system with none of these problems in the early 1970s.) See also
{broadcast storm}.
:NIL: /nil/ No. Used in reply to a question, particularly
one asked using the `-P' convention. Most hackers assume this
derives simply from LISP terminology for `false' (see also
{T}), but NIL as a negative reply was well-established among
radio hams decades before the advent of LISP. The historical
connection between early hackerdom and the ham radio world was
strong enough that this may have been an influence.
:Ninety-Ninety Rule: /n./ "The first 90% of the code accounts
for the first 90% of the development time. The remaining 10% of
the code accounts for the other 90% of the development time."
Attributed to Tom Cargill of Bell Labs, and popularized by Jon
Bentley's September 1985 "Bumper-Sticker Computer Science"
column in "Communications of the ACM". It was there called
the "Rule of Credibility", a name which seems not to have stuck.
:NMI: /N-M-I/ /n./ Non-Maskable Interrupt. An IRQ 7 on the
PDP-11 or 680[01234]0; the NMI line on an 80[1234]86. In contrast
with a {priority interrupt} (which might be ignored, although
that is unlikely), an NMI is *never* ignored. Except, that
is, on {clone} boxes, where NMI is often ignored on the
motherboard because flaky hardware can generate many spurious
ones.
:no-op: /noh'op/ /n.,v./ alt. NOP /nop/ [no operation]
1. A machine instruction that does nothing (sometimes used in
assembler-level programming as filler for data or patch areas, or
to overwrite code to be removed in binaries). See also {JFCL}.
2. A person who contributes nothing to a project, or has nothing
going on upstairs, or both. As in "He's a no-op." 3. Any
operation or sequence of operations with no effect, such as
circling the block without finding a parking space, or putting
money into a vending machine and having it fall immediately into
the coin-return box, or asking someone for help and being told to
go away. "Oh, well, that was a no-op." Hot-and-sour soup (see
{great-wall}) that is insufficiently either is `no-op soup';
so is wonton soup if everybody else is having hot-and-sour.
:noddy: /nod'ee/ /adj./ [UK: from the children's books]
1. Small and un-useful, but demonstrating a point. Noddy programs
are often written by people learning a new language or system. The
archetypal noddy program is {hello, world}. Noddy code may be
used to demonstrate a feature or bug of a compiler. May be used of
real hardware or software to imply that it isn't worth using.
"This editor's a bit noddy." 2. A program that is more or less
instant to produce. In this use, the term does not necessarily
connote uselessness, but describes a {hack} sufficiently trivial
that it can be written and debugged while carrying on (and during
the space of) a normal conversation. "I'll just throw together a
noddy {awk} script to dump all the first fields." In North
America this might be called a {mickey mouse program}. See
{toy program}.
:node: /n./ 1. [Internet, UUCP] A host machine on the network.
2. [MS-DOS BBSes] A dial-in line on a BBS. Thus an MS-DOS {sysop}
might say that his BBS has 4 nodes even though it has a single
machine and no Internet link, confusing an Internet hacker no end.
:NOMEX underwear: /noh'meks uhn'-der-weir/ /n./ [Usenet] Syn.
{asbestos longjohns}, used mostly in auto-related mailing lists
and newsgroups. NOMEX underwear is an actual product available on
the racing equipment market, used as a fire resistance measure and
required in some racing series.
:Nominal Semidestructor: /n./ Soundalike slang for `National
Semiconductor', found among other places in the Networking/2
networking sources. During the late 1970s to mid-1980s this
company marketed a series of microprocessors including the NS16000
and NS32000 and several variants. At one point early in the great
microprocessor race, the specs on these chips made them look like
serious competition for the rising Intel 80x86 and Motorola 680x0
series. Unfortunately, the actual parts were notoriously flaky and
never implemented the full instruction set promised in their
literature, apparently because the company couldn't get any of the
mask steppings to work as designed. They eventually sank without
trace, joining the Zilog Z8000 and a few even more obscure
also-rans in the graveyard of forgotten microprocessors. Compare
{HP-SUX}, {AIDX}, {buglix}, {Macintrash}, {Telerat},
{Open DeathTrap}, {ScumOS}, {sun-stools}.
:non-optimal solution: /n./ (also `sub-optimal solution') An
astoundingly stupid way to do something. This term is generally
used in deadpan sarcasm, as its impact is greatest when the person
speaking looks completely serious. Compare {stunning}. See
also {Bad Thing}.
:nonlinear: /adj./ [scientific computation] 1. Behaving in an
erratic and unpredictable fashion; unstable. When used to describe
the behavior of a machine or program, it suggests that said machine
or program is being forced to run far outside of design
specifications. This behavior may be induced by unreasonable
inputs, or may be triggered when a more mundane bug sends the
computation far off from its expected course. 2. When describing
the behavior of a person, suggests a tantrum or a {flame}.
"When you talk to Bob, don't mention the drug problem or he'll go
nonlinear for hours." In this context, `go nonlinear' connotes
`blow up out of proportion' (proportion connotes linearity).
:nontrivial: /adj./ Requiring real thought or significant
computing power. Often used as an understated way of saying that a
problem is quite difficult or impractical, or even entirely
unsolvable ("Proving P=NP is nontrivial"). The preferred
emphatic form is `decidedly nontrivial'. See {trivial},
{uninteresting}, {interesting}.
:not ready for prime time: /adj./ Usable, but only just so; not
very robust; for internal use only. Said of a program or device.
Often connotes that the thing will be made more solid {Real Soon
Now}. This term comes from the ensemble name of the original cast
of "Saturday Night Live", the "Not Ready for Prime Time
Players". It has extra flavor for hackers because of the special
(though now semi-obsolescent) meaning of {prime time}. Compare
{beta}.
:notwork: /not'werk/ /n./ A network, when it is acting
{flaky} or is {down}. Compare {nyetwork}. Said at IBM to
have originally referred to a particular period of flakiness on
IBM's VNET corporate network ca. 1988; but there are independent
reports of the term from elsewhere.
:NP-: /N-P/ /pref./ Extremely. Used to modify adjectives
describing a level or quality of difficulty; the connotation is
often `more so than it should be' This is generalized from the
computer-science terms `NP-hard' and `NP-complete';
NP-complete problems all seem to be very hard, but so far no one
has found a good a priori reason that they should be. NP is
the set of Nondeterministic-Polynomial algorithms, those that can
be completed by a nondeterministic Turing machine in an amount of
time that is a polynomial function of the size of the input; a
solution for one NP-complete problem would solve all the others.
"Coding a BitBlt implementation to perform correctly in every case
is NP-annoying."
:nroff:: /N'rof/ /n./ [Unix, from "new roff" (see
{{troff}})] A companion program to the Unix typesetter {{troff}},
accepting identical input but preparing output for terminals and
line printers.
:NSA line eater: /n./ The National Security Agency trawling
program sometimes assumed to be reading the net for the
U.S. Government's spooks. Most hackers describe it as a mythical
beast, but some believe it actually exists, more aren't sure, and
many believe in acting as though it exists just in case. Some
netters put loaded phrases like `KGB', `Uzi', `nuclear
materials', `Palestine', `cocaine', and `assassination' in
their {sig block}s in a (probably futile) attempt to confuse and
overload the creature. The {GNU} version of {EMACS} actually
has a command that randomly inserts a bunch of insidious
anarcho-verbiage into your edited text.
There is a mainstream variant of this myth involving a `Trunk Line
Monitor', which supposedly used speech recognition to extract words
from telephone trunks. This one was making the rounds in the
late 1970s, spread by people who had no idea of then-current
technology or the storage, signal-processing, or speech recognition
needs of such a project. On the basis of mass-storage costs alone
it would have been cheaper to hire 50 high-school students and just
let them listen in. Speech-recognition technology can't do this
job even now (1996), and almost certainly won't in this millennium,
either. The peak of silliness came with a letter to an alternative
paper in New Haven, Connecticut, laying out the factoids of this
Big Brotherly affair. The letter writer then revealed his actual
agenda by offering -- at an amazing low price, just this once, we
take VISA and MasterCard -- a scrambler guaranteed to daunt the
Trunk Trawler and presumably allowing the would-be Baader-Meinhof
gangs of the world to get on with their business.
:NSP: /N-S-P/ /n./ Common abbreviation for `Network Service
Provider', one of the big national or regional companies that
maintains a portion of the Internet backbone and resells
connectivity to {ISP}s. In 1996, major NSPs include ANS, MCI,
UUNET, and Sprint. An Internet wholesaler.
:nude: /adj./ Said of machines delivered without an operating
system (compare {bare metal}). "We ordered 50 systems, but
they all arrived nude, so we had to spend a an extra weekend with
the installation tapes." This usage is a recent innovation
reflecting the fact that most PC clones are now delivered with DOS
or Microsoft Windows pre-installed at the factory. Other kinds of
hardware are still normally delivered without OS, so this term is
particular to PC support groups.
:nuke: /n[y]ook/ /vt./ 1. To intentionally delete the entire
contents of a given directory or storage volume. "On Unix,
`rm -r /usr' will nuke everything in the usr filesystem."
Never used for accidental deletion. Oppose {blow away}.
2. Syn. for {dike}, applied to smaller things such as files,
features, or code sections. Often used to express a final verdict.
"What do you want me to do with that 80-meg {wallpaper} file?"
"Nuke it." 3. Used of processes as well as files; nuke is a
frequent verbal alias for `kill -9' on Unix. 4. On IBM PCs,
a bug that results in {fandango on core} can trash the operating
system, including the FAT (the in-core copy of the disk block
chaining information). This can utterly scramble attached disks,
which are then said to have been `nuked'. This term is also used
of analogous lossages on Macintoshes and other micros without
memory protection.
:number-crunching: /n./ Computations of a numerical nature,
esp. those that make extensive use of floating-point numbers.
The only thing {Fortrash} is good for. This term is in
widespread informal use outside hackerdom and even in mainstream
slang, but has additional hackish connotations: namely, that the
computations are mindless and involve massive use of {brute
force}. This is not always {evil}, esp. if it involves ray
tracing or fractals or some other use that makes {pretty
pictures}, esp. if such pictures can be used as {wallpaper}.
See also {crunch}.
:numbers: /n./ [scientific computation] Output of a computation
that may not be significant results but at least indicate that the
program is running. May be used to placate management, grant
sponsors, etc. `Making numbers' means running a program because
output -- any output, not necessarily meaningful output -- is
needed as a demonstration of progress. See {pretty pictures},
{math-out}, {social science number}.
:NUXI problem: /nuk'see pro'bl*m/ /n./ Refers to the problem
of transferring data between machines with differing byte-order.
The string `UNIX' might look like `NUXI' on a machine with a
different `byte sex' (e.g., when transferring data from a
{little-endian} to a {big-endian}, or vice-versa). See also
{middle-endian}, {swab}, and {bytesexual}.
:nybble: /nib'l/ (alt. `nibble') /n./ [from
/v./ `nibble' by analogy with `bite' => `byte'] Four
bits; one {hex} digit; a half-byte. Though `byte' is now
techspeak, this useful relative is still jargon. Compare
{{byte}}; see also {bit}, Apparently the `nybble' spelling is
uncommon in Commonwealth Hackish, as British orthography suggests
the pronunciation /ni:'bl/.
Following `bit', `byte' and `nybble' there have been quite a few
analogical attempts to construct unambiguous terms for bit blocks
of other sizes. All of these are strictly jargon, not techspeak,
and not very common jargon at that (most hackers would recognize
them in context but not use them spontaneously). We collect them
here for reference together with the ambiguous techspeak terms
`word', `half-word' and `quadwords'; some (indicated) have
substantial information separate entries.
2 bits:
{crumb}, {quad}, {quarter}, tayste
4 bits:
nybble
5 bits:
{nickle}
10 bits:
{deckle}
16 bits:
playte, {chawmp} (on a 32-bit machine), word (on a 16-bit
machine), half-word (on a 32-bit machine).
18 bits:
{chawmp} (on a 36-bit machine), half-word (on a 36-bit machine)
32 bits:
dynner, {gawble} (on a 32-bit machine), word (on a 32-bit
machine), longword (on a 16-bit machine).
36:
word (on a 36-bit machine)
48 bits:
{gawble} (under circumstances that remain obscure)
The fundamental motivation for most of these jargon terms (aside
from the normal hackerly enjoyment of punning wordplay) is the
extreme ambiguity of the term `word' and its derivatives.
:nyetwork: /nyet'werk/ /n./ [from Russian `nyet' = no] A
network, when it is acting {flaky} or is {down}. Compare
{notwork}.
= O =
=====
:Ob-: /ob/ /pref./ Obligatory. A piece of {netiquette}
acknowledging that the author has been straying from the
newsgroup's charter topic. For example, if a posting in alt.sex is
a response to a part of someone else's posting that has nothing
particularly to do with sex, the author may append `ObSex' (or
`Obsex') and toss off a question or vignette about some unusual
erotic act. It is considered a sign of great {winnitude} when
one's Obs are more interesting than other people's whole postings.
:Obfuscated C Contest: /n./ (in full, the `International
Obfuscated C Code Contest', or IOCCC) An annual contest run since
1984 over Usenet by Landon Curt Noll and friends. The overall
winner is whoever produces the most unreadable, creative, and
bizarre (but working) C program; various other prizes are awarded
at the judges' whim. C's terse syntax and macro-preprocessor
facilities give contestants a lot of maneuvering room. The winning
programs often manage to be simultaneously (a) funny, (b)
breathtaking works of art, and (c) horrible examples of how
*not* to code in C.
This relatively short and sweet entry might help convey the flavor
of obfuscated C:
/*
* HELLO WORLD program
* by Jack Applin and Robert Heckendorn, 1985
*/
main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
**c=!c)write(!!*c,*c,!!**c);}
Here's another good one:
/*
* Program to compute an approximation of pi
* by Brian Westley, 1988
*/
#define _ -F<00||--F-OO--;
int F=00,OO=00;
main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
Note that this program works by computing its own area. For more
digits, write a bigger program. See also {hello, world}.
The IOCC has an official home page at
http://reality.sgi.com/csp/ioccc.
:obi-wan error: /oh'bee-won` er'*r/ /n./ [RPI, from
`off-by-one' and the Obi-Wan Kenobi character in "Star
Wars"] A loop of some sort in which the index is off by 1. Common
when the index should have started from 0 but instead started from
1. A kind of {off-by-one error}. See also {zeroth}.
:Objectionable-C: /n./ Hackish take on "Objective-C", the
name of an object-oriented dialect of C in competition with the
better-known C++ (it is used to write native applications on the
NeXT machine). Objectionable-C uses a Smalltalk-like syntax, but
lacks the flexibility of Smalltalk method calls, and (like many
such efforts) comes frustratingly close to attaining the {Right
Thing} without actually doing so.
:obscure: /adj./ Used in an exaggeration of its normal meaning,
to imply total incomprehensibility. "The reason for that last
crash is obscure." "The `find(1)' command's syntax is
obscure!" The phrase `moderately obscure' implies that
something could be figured out but probably isn't worth the
trouble. The construction `obscure in the extreme' is the
preferred emphatic form.
:octal forty: /ok'tl for'tee/ /n./ Hackish way of saying
"I'm drawing a blank." Octal 40 is the {{ASCII}} space
character, 0100000; by an odd coincidence, {hex} 40 (01000000)
is the {{EBCDIC}} space character. See {wall}.
:off the trolley: /adj./ Describes the behavior of a program
that malfunctions and goes catatonic, but doesn't actually
{crash} or abort. See {glitch}, {bug}, {deep space}.
:off-by-one error: /n./ Exceedingly common error induced in
many ways, such as by starting at 0 when you should have started at
1 or vice-versa, or by writing `< N' instead of `<= N' or
vice-versa. Also applied to giving something to the person next to
the one who should have gotten it. Often confounded with
{fencepost error}, which is properly a particular subtype of it.
:offline: /adv./ Not now or not here. "Let's take this
discussion offline." Specifically used on {Usenet} to suggest
that a discussion be moved off a public newsgroup to email.
:ogg: /og/ /v./ [CMU] 1. In the multi-player space combat
game Netrek, to execute kamikaze attacks against enemy ships which
are carrying armies or occupying strategic positions. Named during
a game in which one of the players repeatedly used the tactic while
playing Orion ship G, showing up in the player list as "Og".
This trick has been roundly denounced by those who would return to
the good old days when the tactic of dogfighting was dominant, but
as Sun Tzu wrote, "What is of supreme importance in war is to
attack the enemy's strategy." However, the traditional answer to
the newbie question "What does ogg mean?" is just "Pick up some
armies and I'll show you." 2. In other games, to forcefully
attack an opponent with the expectation that the resources expended
will be renewed faster than the opponent will be able to regain his
previous advantage. Taken more seriously as a tactic since it has
gained a simple name. 3. To do anything forcefully, possibly
without consideration of the drain on future resources. "I guess
I'd better go ogg the problem set that's due tomorrow." "Whoops!
I looked down at the map for a sec and almost ogged that oncoming
car."
:old fart: /n./ Tribal elder. A title self-assumed with
remarkable frequency by (esp.) Usenetters who have been
programming for more than about 25 years; often appears in {sig
block}s attached to Jargon File contributions of great
archeological significance. This is a term of insult in the second
or third person but one of pride in first person.
:Old Testament: /n./ [C programmers] The first edition of
{K&R}, the sacred text describing {Classic C}.
:one-banana problem: /n./ At mainframe shops, where the
computers have operators for routine administrivia, the programmers
and hardware people tend to look down on the operators and claim
that a trained monkey could do their job. It is frequently
observed that the incentives that would be offered said monkeys can
be used as a scale to describe the difficulty of a task. A
one-banana problem is simple; hence, "It's only a one-banana job
at the most; what's taking them so long?"
At IBM, folklore divides the world into one-, two-, and
three-banana problems. Other cultures have different hierarchies
and may divide them more finely; at ICL, for example, five grapes
(a bunch) equals a banana. Their upper limit for the in-house
{sysape}s is said to be two bananas and three grapes (another
source claims it's three bananas and one grape, but observes
"However, this is subject to local variations, cosmic rays and
ISO"). At a complication level any higher than that, one asks the
manufacturers to send someone around to check things.
See also {Infinite-Monkey Theorem}.
:one-line fix: /n./ Used (often sarcastically) of a change to a
program that is thought to be trivial or insignificant right up to
the moment it crashes the system. Usually `cured' by another
one-line fix. See also {I didn't change anything!}
:one-liner wars: /n./ A game popular among hackers who code in
the language APL (see {write-only language} and {line
noise}). The objective is to see who can code the most interesting
and/or useful routine in one line of operators chosen from APL's
exceedingly {hairy} primitive set. A similar amusement was
practiced among {TECO} hackers and is now popular among
{Perl} aficionados.
Ken Iverson, the inventor of APL, has been credited with a
one-liner that, given a number N, produces a list of the
prime numbers from 1 to N inclusive. It looks like this:
(2 = 0 +.= T o.| T) / T <- iN
where `o' is the APL null character, the assignment arrow is a
single character, and `i' represents the APL iota.
:ooblick: /oo'blik/ /n./ [from the Dr. Seuss title
"Bartholomew and the Oobleck"; the spelling `oobleck' is still
current in the mainstream] A bizarre semi-liquid sludge made from
cornstarch and water. Enjoyed among hackers who make batches
during playtime at parties for its amusing and extremely
non-Newtonian behavior; it pours and splatters, but resists rapid
motion like a solid and will even crack when hit by a hammer.
Often found near lasers.
Here is a field-tested ooblick recipe contributed by GLS:
1 cup cornstarch
1 cup baking soda
3/4 cup water
N drops of food coloring
This recipe isn't quite as non-Newtonian as a pure cornstarch
ooblick, but has an appropriately slimy feel.
Some, however, insist that the notion of an ooblick *recipe*
is far too mechanical, and that it is best to add the water in
small increments so that the various mixed states the cornstarch
goes through as it *becomes* ooblick can be grokked in
fullness by many hands. For optional ingredients of this
experience, see the "{Ceremonial Chemicals}" section of
Appendix B.
:op: /op/ /n./ 1. In England and Ireland, common verbal
abbreviation for `operator', as in system operator. Less common in
the U.S., where {sysop} seems to be preferred. 2. [IRC] Someone
who is endowed with privileges on {IRC}, not limited to a
particular channel. These are generally people who are in charge
of the IRC server at their particular site. Sometimes used
interchangeably with {CHOP}. Compare {sysop}.
:open: /n./ Abbreviation for `open (or left) parenthesis' ---
used when necessary to eliminate oral ambiguity. To read aloud the
LISP form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun
foo, open eks close, open, plus eks one, close close."
:Open DeathTrap: /n./ Abusive hackerism for the Santa Cruz
Operation's `Open DeskTop' product, a Motif-based graphical
interface over their Unix. The funniest part is that this was
coined by SCO's own developers.... Compare {AIDX},
{Macintrash} {Nominal Semidestructor}, {ScumOS},
{sun-stools}, {HP-SUX}.
:open switch: /n./ [IBM: prob. from railroading] An
unresolved question, issue, or problem.
:operating system:: /n./ [techspeak] (Often abbreviated `OS')
The foundation software of a machine, of course; that which
schedules tasks, allocates storage, and presents a default
interface to the user between applications. The facilities an
operating system provides and its general design philosophy exert
an extremely strong influence on programming style and on the
technical cultures that grow up around its host machines. Hacker
folklore has been shaped primarily by the {{Unix}}, {{ITS}},
{{TOPS-10}}, {{TOPS-20}}/{{TWENEX}}, {{WAITS}}, {{CP/M}},
{{MS-DOS}}, and {{Multics}} operating systems (most importantly
by ITS and Unix).
:optical diff: /n./ See {vdiff}.
:optical grep: /n./ See {vgrep}.
:optimism: /n./ What a programmer is full of after fixing the
last bug and before discovering the *next* last bug. Fred
Brooks's book "The Mythical Man-Month" (See "Brooks's
Law") contains the following paragraph that describes this
extremely well:
All programmers are optimists. Perhaps this modern sorcery
especially attracts those who believe in happy endings and fairy
godmothers. Perhaps the hundreds of nitty frustrations drive
away all but those who habitually focus on the end goal. Perhaps
it is merely that computers are young, programmers are younger,
and the young are always optimists. But however the selection
process works, the result is indisputable: "This time it will
surely run," or "I just found the last bug.".
See also {Lubarsky's Law of Cybernetic Entomology}.
:Orange Book: /n./ The U.S. Government's standards document
"Trusted Computer System Evaluation Criteria, DOD standard
5200.28-STD, December, 1985" which characterize secure computing
architectures and defines levels A1 (most secure) through D
(least). Stock Unixes are roughly C1, and can be upgraded to about
C2 without excessive pain. See also {{crayola books}}, {{book
titles}}.
:oriental food:: /n./ Hackers display an intense tropism
towards oriental cuisine, especially Chinese, and especially of the
spicier varieties such as Szechuan and Hunan. This phenomenon
(which has also been observed in subcultures that overlap heavily
with hackerdom, most notably science-fiction fandom) has never been
satisfactorily explained, but is sufficiently intense that one can
assume the target of a hackish dinner expedition to be the best
local Chinese place and be right at least three times out of four.
See also {ravs}, {great-wall}, {stir-fried random},
{laser chicken}, {Yu-Shiang Whole Fish}. Thai, Indian,
Korean, and Vietnamese cuisines are also quite popular.
:orphan: /n./ [Unix] A process whose parent has died; one
inherited by `init(1)'. Compare {zombie}.
:orphaned i-node: /or'f*nd i:'nohd/ /n./ [Unix]
1. [techspeak] A file that retains storage but no longer appears in
the directories of a filesystem. 2. By extension, a pejorative for
any person no longer serving a useful function within some
organization, esp. {lion food} without subordinates.
:orthogonal: /adj./ [from mathematics] Mutually independent;
well separated; sometimes, irrelevant to. Used in a generalization
of its mathematical meaning to describe sets of primitives or
capabilities that, like a vector basis in geometry, span the entire
`capability space' of the system and are in some sense
non-overlapping or mutually independent. For example, in
architectures such as the PDP-11 or VAX where all or nearly all
registers can be used interchangeably in any role with respect to
any instruction, the register set is said to be orthogonal. Or, in
logic, the set of operators `not' and `or' is orthogonal, but
the set `nand', `or', and `not' is not (because any one of
these can be expressed in terms of the others). Also used in
comments on human discourse: "This may be orthogonal to the
discussion, but...."
:OS: /O-S/ 1. [Operating System] /n./ An abbreviation heavily
used in email, occasionally in speech. 2. /n. obs./ On ITS, an
output spy. See "{OS and JEDGAR}" in Appendix A.
:OS/2: /O S too/ /n./ The anointed successor to MS-DOS for
Intel 286- and 386-based micros; proof that IBM/Microsoft couldn't
get it right the second time, either. Often called `Half-an-OS'.
Mentioning it is usually good for a cheap laugh among hackers ---
the design was so {baroque}, and the implementation of 1.x so
bad, that 3 years after introduction you could still count the
major {app}s shipping for it on the fingers of two hands -- in
unary. The 2.x versions are said to have improved somewhat, and
informed hackers now rate them superior to Microsoft Windows (an
endorsement which, however, could easily be construed as damning
with faint praise). See {monstrosity}, {cretinous},
{second-system effect}.
:OSU: /O-S-U/ /n. obs./ [TMRC] Acronym for Officially
Sanctioned User; a user who is recognized as such by the computer
authorities and allowed to use the computer above the objections of
the security monitor.
:OTOH: // [USENET] On The Other Hand.
:out-of-band: /adj./ [from telecommunications and network
theory] 1. In software, describes values of a function which are
not in its `natural' range of return values, but are rather
signals that some kind of exception has occurred. Many C
functions, for example, return a nonnegative integral value, but
indicate failure with an out-of-band return value of -1.
Compare {hidden flag}, {green bytes}, {fence}. 2. Also
sometimes used to describe what communications people call
`shift characters', such as the ESC that leads control sequences
for many terminals, or the level shift indicators in the old 5-bit
Baudot codes. 3. In personal communication, using methods other
than email, such as telephones or {snail-mail}.
:overflow bit: /n./ 1. [techspeak] A {flag} on some
processors indicating an attempt to calculate a result too large
for a register to hold. 2. More generally, an indication of any
kind of capacity overload condition. "Well, the {{Ada}}
description was {baroque} all right, but I could hack it OK
until they got to the exception handling ... that set my
overflow bit." 3. The hypothetical bit that will be set if a
hacker doesn't get to make a trip to the Room of Porcelain
Fixtures: "I'd better process an internal interrupt before the
overflow bit gets set".
:overflow pdl: /n./ [MIT] The place where you put things when
your {pdl} is full. If you don't have one and too many things
get pushed, you forget something. The overflow pdl for a person's
memory might be a memo pad. This usage inspired the following
doggerel:
Hey, diddle, diddle
The overflow pdl
To get a little more stack;
If that's not enough
Then you lose it all,
And have to pop all the way back.
--The Great Quux
The term {pdl} seems to be primarily an MITism; outside MIT this
term is replaced by `overflow {stack}'.
:overrun: /n./ 1. [techspeak] Term for a frequent consequence
of data arriving faster than it can be consumed, esp. in serial
line communications. For example, at 9600 baud there is almost
exactly one character per millisecond, so if a {silo} can hold
only two characters and the machine takes longer than 2 msec to get
to service the interrupt, at least one character will be lost.
2. Also applied to non-serial-I/O communications. "I forgot to
pay my electric bill due to mail overrun." "Sorry, I got four
phone calls in 3 minutes last night and lost your message to
overrun." When {thrash}ing at tasks, the next person to make a
request might be told "Overrun!" Compare {firehose syndrome}.
3. More loosely, may refer to a {buffer overflow} not
necessarily related to processing time (as in {overrun screw}).
:overrun screw: /n./ [C programming] A variety of {fandango
on core} produced by scribbling past the end of an array (C
implementations typically have no checks for this error). This is
relatively benign and easy to spot if the array is static; if it is
auto, the result may be to {smash the stack} -- often resulting
in {heisenbug}s of the most diabolical subtlety. The term
`overrun screw' is used esp. of scribbles beyond the end of
arrays allocated with `malloc(3)'; this typically trashes the
allocation header for the next block in the {arena}, producing
massive lossage within malloc and often a core dump on the next
operation to use `stdio(3)' or `malloc(3)' itself. See
{spam}, {overrun}; see also {memory leak}, {memory
smash}, {aliasing bug}, {precedence lossage}, {fandango on
core}, {secondary damage}.
= P =
=====
:P-mail: /n./ Physical mail, as opposed to {email}.
Synonymous with {snail-mail}, but much less common.
:P.O.D.: /P-O-D/ Acronym for `Piece Of Data' (as opposed
to a code section). Usage: pedantic and rare. See also {pod}.
:padded cell: /n./ Where you put {luser}s so they can't hurt
anything. A program that limits a luser to a carefully restricted
subset of the capabilities of the host system (for example, the
`rsh(1)' utility on USG Unix). Note that this is different
from an {iron box} because it is overt and not aimed at
enforcing security so much as protecting others (and the luser)
from the consequences of the luser's boundless naivete (see
{naive}). Also `padded cell environment'.
:page in: /v./ [MIT] 1. To become aware of one's surroundings
again after having paged out (see {page out}). Usually confined
to the sarcastic comment: "Eric pages in, {film at 11}!"
2. Syn. `swap in'; see {swap}.
:page out: /vi./ [MIT] 1. To become unaware of one's
surroundings temporarily, due to daydreaming or preoccupation.
"Can you repeat that? I paged out for a minute." See {page
in}. Compare {glitch}, {thinko}. 2. Syn. `swap out'; see
{swap}.
:pain in the net: /n./ A {flamer}.
:Pangloss parity: /n./ [from Dr. Pangloss, the eternal optimist
in Voltaire's "Candide"] In corporate DP shops, a common
condition of severe but equally shared {lossage} resulting from
the theory that as long as everyone in the organization has the
exactly the *same* model of obsolete computer, everything will
be fine.
:paper-net: /n./ Hackish way of referring to the postal
service, analogizing it to a very slow, low-reliability network.
Usenet {sig block}s sometimes include a "Paper-Net:" header
just before the sender's postal address; common variants of this
are "Papernet" and "P-Net". Note that the standard
{netiquette} guidelines discourage this practice as a waste of
bandwidth, since netters are quite unlikely to casually use postal
addresses. Compare {voice-net}, {snail-mail}, {P-mail}.
:param: /p*-ram'/ /n./ Shorthand for `parameter'. See
also {parm}; compare {arg}, {var}.
:PARC: /n./ See {XEROX PARC}.
:parent message: /n./ What a {followup} follows up.
:parity errors: /pl.n./ Little lapses of attention or (in more
severe cases) consciousness, usually brought on by having spent all
night and most of the next day hacking. "I need to go home and
crash; I'm starting to get a lot of parity errors." Derives from
a relatively common but nearly always correctable transient error
in RAM hardware. Parity errors can also afflict mass storage and
serial communication lines; this is more serious because not always
correctable.
:Parkinson's Law of Data: /prov./ "Data expands to fill the
space available for storage"; buying more memory encourages the
use of more memory-intensive techniques. It has been observed over
the last 10 years that the memory usage of evolving systems tends
to double roughly once every 18 months. Fortunately, memory
density available for constant dollars also tends to double about
once every 12 months (see {Moore's Law}); unfortunately, the
laws of physics guarantee that the latter cannot continue
indefinitely.
:parm: /parm/ /n./ Further-compressed form of {param}.
This term is an IBMism, and written use is almost unknown
outside IBM shops; spoken /parm/ is more widely distributed, but
the synonym {arg} is favored among hackers. Compare {arg},
{var}.
:parse: [from linguistic terminology] /vt./ 1. To determine the
syntactic structure of a sentence or other utterance (close to the
standard English meaning). "That was the one I saw you." "I
can't parse that." 2. More generally, to understand or
comprehend. "It's very simple; you just kretch the glims and then
aos the zotz." "I can't parse that." 3. Of fish, to have to
remove the bones yourself. "I object to parsing fish", means "I
don't want to get a whole fish, but a sliced one is okay". A
`parsed fish' has been deboned. There is some controversy over
whether `unparsed' should mean `bony', or also mean
`deboned'.
:Pascal:: /n./ An Algol-descended language designed by Niklaus
Wirth on the CDC 6600 around 1967--68 as an instructional tool for
elementary programming. This language, designed primarily to keep
students from shooting themselves in the foot and thus extremely
restrictive from a general-purpose-programming point of view, was
later promoted as a general-purpose tool and, in fact, became the
ancestor of a large family of languages including Modula-2 and
{{Ada}} (see also {bondage-and-discipline language}). The
hackish point of view on Pascal was probably best summed up by a
devastating (and, in its deadpan way, screamingly funny) 1981 paper
by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is
Not My Favorite Programming Language", which was turned down by the
technical journals but circulated widely via photocopies. It was
eventually published in "Comparing and Assessing Programming
Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall,
1984). Part of his discussion is worth repeating here, because its
criticisms are still apposite to Pascal itself after ten years of
improvement and could also stand as an indictment of many other
bondage-and-discipline languages. At the end of a summary of the
case against Pascal, Kernighan wrote: