The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


M
= [SI] pref. (on units) suff. (on numbers) See "quantifiers".
macdink
======= /mak'dink/ [from the Apple Macintosh, which is said to
encourage such behavior] vt. To make many incremental and
unnecessary cosmetic changes to a program or file. Often the
subject of the macdinking would be better off without them. "When
I left at 11 P.M. last night, he was still macdinking the
slides for his presentation." See also fritterware,
window shopping.
machinable
========== adj. Machine-readable. Having the softcopy nature.
machoflops
========== /mach'oh-flops/ [pun on `megaflops', a coinage for
`millions of FLoating-point Operations Per Second'] n. Refers to
artificially inflated performance figures often quoted by computer
manufacturers. Real applications are lucky to get half the quoted
speed. See Your mileage may vary, benchmark.
Macintoy
======== /mak'in-toy/ n. The Apple Macintosh, considered as a
toy. Less pejorative than Macintrash.
Macintrash
========== /mak'in-trash`/ n. The Apple Macintosh, as described
by a hacker who doesn't appreciate being kept away from the
*real computer* by the interface. The term maggotbox has
been reported in regular use in the Research Triangle area of North
Carolina. Compare Macintoy. See also beige toaster,
WIMP environment, point-and-drool interface,
drool-proof paper, user-friendly.
macro
===== /mak'roh/ [techspeak] n. A name (possibly followed by a
formal arg list) that is equated to a text or symbolic
expression to which it is to be expanded (possibly with the
substitution of actual arguments) by a macro expander. This
definition can be found in any technical dictionary; what those
won't tell you is how the hackish connotations of the term have
changed over time.

The term `macro' originated in early assemblers, which encouraged
the use of macros as a structuring and information-hiding device.
During the early 1970s, macro assemblers became ubiquitous, and
sometimes quite as powerful and expensive as HLLs, only to fall
from favor as improving compiler technology marginalized assembler
programming (see languages of choice). Nowadays the term is
most often used in connection with the C preprocessor, LISP, or one
of several special-purpose languages built around a macro-expansion
facility (such as TeX or UNIX's [nt]roff suite).

Indeed, the meaning has drifted enough that the collective
`macros' is now sometimes used for code in any special-purpose
application control language (whether or not the language is
actually translated by text expansion), and for macro-like entities
such as the `keyboard macros' supported in some text editors
(and PC TSR or Macintosh INIT/CDEV keyboard enhancers).

macro-
====== pref. Large. Opposite of micro-. In the mainstream
and among other technical cultures (for example, medical people)
this competes with the prefix mega-, but hackers tend to
restrict the latter to quantification.
macrology
========= /mak-rol'*-jee/ n. 1. Set of usually complex or crufty
macros, e.g., as part of a large system written in LISP,
TECO, or (less commonly) assembler. 2. The art and science
involved in comprehending a macrology in sense 1. Sometimes
studying the macrology of a system is not unlike archeology,
ecology, or theology, hence the sound-alike construction. See
also boxology.
macrotape
========= /mak'roh-tayp/ n. An industry-standard reel of tape, as
opposed to a microtape. See also round tape.
maggotbox
========= /mag'*t-boks/ n. See Macintrash. This is even
more derogatory.
magic
===== adj. 1. As yet unexplained, or too complicated to explain;
compare automagically and (Arthur C.) Clarke's Third Law:
"Any sufficiently advanced technology is indistinguishable from
magic." "TTY echoing is controlled by a large number of magic
bits." "This routine magically computes the parity of an 8-bit
byte in three instructions." 2. Characteristic of something that
works although no one really understands why (this is especially
called black magic). 3. [Stanford] A feature not generally
publicized that allows something otherwise impossible, or a feature
formerly in that category but now unveiled. Compare [black
magic}, wizardly, deep magic, heavy wizardry.

For more about hackish `magic', see A Story About `Magic'
(in Appendix A).

magic cookie
============ [UNIX] n. 1. Something passed between routines or
programs that enables the receiver to perform some operation; a
capability ticket or opaque identifier. Especially used of small
data objects that contain data encoded in a strange or
intrinsically machine-dependent way. E.g., on non-UNIX OSes with a
non-byte-stream model of files, the result of `ftell(3)' may
be a magic cookie rather than a byte offset; it can be passed to
`fseek(3)', but not operated on in any meaningful way. The
phrase `it hands you a magic cookie' means it returns a result
whose contents are not defined but which can be passed back to the
same or some other program later. 2. An in-band code for changing
graphic rendition (e.g., inverse video or underlining) or
performing other control functions (see also cookie). Some
older terminals would leave a blank on the screen corresponding to
mode-change magic cookies; this was also called a glitch (or
occasionally a `turd'; compare mouse droppings). See also
cookie.
magic number
============ [UNIX/C] n. 1. In source code, some non-obvious
constant whose value is significant to the operation of a program
and that is inserted inconspicuously in-line (hardcoded),
rather than expanded in by a symbol set by a commented
`#define'. Magic numbers in this sense are bad style. 2. A
number that encodes critical information used in an algorithm in
some opaque way. The classic examples of these are the numbers
used in hash or CRC functions, or the coefficients in a linear
congruential generator for pseudo-random numbers. This sense
actually predates and was ancestral to the more common sense 1.
3. Special data located at the beginning of a binary data file to
indicate its type to a utility. Under UNIX, the system and various
applications programs (especially the linker) distinguish between
types of executable file by looking for a magic number. Once upon
a time, these magic numbers were PDP-11 branch instructions that
skipped over header data to the start of executable code; 0407,
for example, was octal for `branch 16 bytes relative'. Nowadays
only a wizard knows the spells to create magic numbers. How do
you choose a fresh magic number of your own? Simple --- you pick
one at random. See? It's magic!

*The* magic number, on the other hand, is 7+/-2. See
"The magical number seven, plus or minus two: some limits on
our capacity for processing information" by George Miller, in the
"Psychological Review" 63:81-97 (1956). This classic paper
established the number of distinct items (such as numeric digits)
that humans can hold in short-term memory. Among other things,
this strongly influenced the interface design of the phone system.

magic smoke
=========== n. A substance trapped inside IC packages that enables
them to function (also called `blue smoke'; this is similar to
the archaic `phlogiston' hypothesis about combustion). Its
existence is demonstrated by what happens when a chip burns up ---
the magic smoke gets let out, so it doesn't work any more. See
smoke test, let the smoke out.

USENETter Jay Maynard tells the following story: "Once, while
hacking on a dedicated Z80 system, I was testing code by blowing
EPROMs and plugging them in the system, then seeing what happened.
One time, I plugged one in backwards. I only discovered that
*after* I realized that Intel didn't put power-on lights under
the quartz windows on the tops of their EPROMs --- the die was
glowing white-hot. Amazingly, the EPROM worked fine after I erased
it, filled it full of zeros, then erased it again. For all I know,
it's still in service. Of course, this is because the magic smoke
didn't get let out." Compare the original phrasing of [Murphy's
Law}.

mailbomb
======== (also mail bomb) [USENET] 1. v. To send, or urge
others to send, massive amounts of email to a single system or
person, esp. with intent to crash or spam the recipient's
system. Sometimes done in retaliation for a perceived serious
offense. Mailbombing is itself widely regarded as a serious
offense --- it can disrupt email traffic or other facilities for
innocent users on the victim's system, and in extreme cases, even
at upstream sites. 2. n. An automatic procedure with a similar
effect. 3. n. The mail sent. Compare letterbomb,
nastygram.
mailing list
============ n. (often shortened in context to `list') 1. An
email address that is an alias (or macro, though that word
is never used in this connection) for many other email addresses.
Some mailing lists are simple `reflectors', redirecting mail sent
to them to the list of recipients. Others are filtered by humans
or programs of varying degrees of sophistication; lists filtered by
humans are said to be `moderated'. 2. The people who receive
your email when you send it to such an address.

Mailing lists are one of the primary forms of hacker interaction,
along with USENET. They predate USENET, having originated
with the first UUCP and ARPANET connections. They are often used
for private information-sharing on topics that would be too
specialized for or inappropriate to public USENET groups. Though
some of these maintain almost purely technical content (such as the
Internet Engineering Task Force mailing list), others (like the
`sf-lovers' list maintained for many years by Saul Jaffe) are
recreational, and many are purely social. Perhaps the most
infamous of the social lists was the eccentric bandykin
distribution; its latter-day progeny, lectroids and
tanstaafl, still include a number of the oddest and most
interesting people in hackerdom.

Mailing lists are easy to create and (unlike USENET) don't tie up a
significant amount of machine resources (until they get very large,
at which point they can become interesting torture tests for mail
software). Thus, they are often created temporarily by working
groups, the members of which can then collaborate on a project
without ever needing to meet face-to-face. Much of the material in
this lexicon was criticized and polished on just such a mailing
list (called `jargon-friends'), which included all the co-authors
of Steele-1983.

main loop
========= n. The top-level control flow construct in an input- or
event-driven program, the one which receives and acts or dispatches
on the program's input. See also driver.
mainframe
========= n. Term originally referring to the cabinet
containing the central processor unit or `main frame' of a
room-filling Stone Age batch machine. After the emergence of
smaller `minicomputer' designs in the early 1970s, the
traditional big iron machines were described as `mainframe
computers' and eventually just as mainframes. The term carries the
connotation of a machine designed for batch rather than interactive
use, though possibly with an interactive timesharing operating
system retrofitted onto it; it is especially used of machines built
by IBM, Unisys, and the other great dinosaurs surviving from
computing's Stone Age.

It has been common wisdom among hackers since the late 1980s that
the mainframe architectural tradition is essentially dead (outside
of the tiny market for number-crunching supercomputers (see
cray)), having been swamped by the recent huge advances in IC
technology and low-cost personal computing. As of 1993, corporate
America is just beginning to figure this out --- the wave of
failures, takeovers, and mergers among traditional mainframe makers
have certainly provided sufficient omens (see [dinosaurs
mating}).

management
========== n. 1. Corporate power elites distinguished primarily by
their distance from actual productive work and their chronic
failure to manage (see also suit). Spoken derisively, as in
"*Management* decided that ...". 2. Mythically, a vast
bureaucracy responsible for all the world's minor irritations.
Hackers' satirical public notices are often signed `The Mgt'; this
derives from the "Illuminatus" novels (see the Bibliography in
Appendix C).
mandelbug
========= /man'del-buhg/ [from the Mandelbrot set] n. A bug
whose underlying causes are so complex and obscure as to make its
behavior appear chaotic or even non-deterministic. This term
implies that the speaker thinks it is a Bohr bug, rather than a
heisenbug. See also schroedinbug.
manged
====== /mahnjd/ [probably from the French `manger' or Italian
`mangiare', to eat; perhaps influenced by English n. `mange',
`mangy'] adj. Refers to anything that is mangled or damaged,
usually beyond repair. "The disk was manged after the electrical
storm." Compare mung.
mangle
====== vt. Used similarly to mung or scribble, but more violent
in its connotations; something that is mangled has been
irreversibly and totally trashed.
mangler
======= [DEC] n. A manager. Compare mango; see also
management. Note that system mangler is somewhat different
in connotation.
mango
===== /mang'go/ [orig. in-house jargon at Symbolics] n. A manager.
Compare mangler. See also devo and doco.
manularity
========== /man`yoo-la'ri-tee/ [prob. fr. techspeak `manual'
+ `granularity'] n. A notional measure of the manual labor
required for some task, particularly one of the sort that
automation is supposed to eliminate. "Composing English on paper
has much higher manularity than using a text editor, especially in
the revising stage." Hackers tend to consider manularity a symptom
of primitive methods; in fact, a true hacker confronted with an
apparent requirement to do a computing task by hand will
inevitably seize the opportunity to build another tool (see
toolsmith).
marbles
======= [from mainstream "lost all his/her marbles"] pl.n. The
minimum needed to build your way further up some hierarchy of tools
or abstractions. After a bad system crash, you need to determine
if the machine has enough marbles to come up on its own, or enough
marbles to allow a rebuild from backups, or if you need to rebuild
from scratch. "This compiler doesn't even have enough marbles to
compile hello, world."
marginal
======== adj. 1. Extremely small. "A marginal increase in
core can decrease GC time drastically." In everyday
terms, this means that it is a lot easier to clean off your desk if
you have a spare place to put some of the junk while you sort
through it. 2. Of extremely small merit. "This proposed new
feature seems rather marginal to me." 3. Of extremely small
probability of winning. "The power supply was rather marginal
anyway; no wonder it fried."
Marginal Hacks
============== n. Margaret Jacks Hall, a building into which the
Stanford AI Lab was moved near the beginning of the 1980s (from the
D. C. Power Lab).
marginally
========== adv. Slightly. "The ravs here are only marginally
better than at Small Eating Place." See epsilon.
marketroid
========== /mar'k*-troyd/ alt. `marketing slime',
`marketeer', `marketing droid', `marketdroid'. n. A member
of a company's marketing department, esp. one who promises users
that the next version of a product will have features that are not
actually scheduled for inclusion, are extremely difficult to
implement, and/or are in violation of the laws of physics; and/or
one who describes existing features (and misfeatures) in ebullient,
buzzword-laden adspeak. Derogatory. Compare droid.
Mars
==== n. A legendary tragic failure, the archetypal Hacker Dream
Gone Wrong. Mars was the code name for a family of PDP-10
compatible computers built by Systems Concepts (now, The SC Group):
the multi-processor SC-30M, the small uniprocessor SC-25M, and the
never-built superprocessor SC-40M. These machines were marvels of
engineering design; although not much slower than the unique
Foonly F-1, they were physically smaller and consumed less
power than the much slower DEC KS10 or Foonly F-2, F-3, or F-4
machines. They were also completely compatible with the DEC KL10,
and ran all KL10 binaries (including the operating system) with no
modifications at about 2--3 times faster than a KL10.

When DEC cancelled the Jupiter project in 1983, Systems Concepts
should have made a bundle selling their machine into shops with a
lot of software investment in PDP-10s, and in fact their spring
1984 announcement generated a great deal of excitement in the
PDP-10 world. TOPS-10 was running on the Mars by the summer of
1984, and TOPS-20 by early fall. Unfortunately, the hackers
running Systems Concepts were much better at designing machines
than at mass producing or selling them; the company allowed itself
to be sidetracked by a bout of perfectionism into continually
improving the design, and lost credibility as delivery dates
continued to slip. They also overpriced the product ridiculously;
they believed they were competing with the KL10 and VAX 8600 and
failed to reckon with the likes of Sun Microsystems and other
hungry startups building workstations with power comparable to the
KL10 at a fraction of the price. By the time SC shipped the first
SC-30M to Stanford in late 1985, most customers had already made
the traumatic decision to abandon the PDP-10, usually for VMS or
UNIX boxes. Most of the Mars computers built ended up being
purchased by CompuServe.

This tale and the related saga of Foonly hold a lesson for hackers:
if you want to play in the Real World, you need to learn Real World
moves.

martian
======= n. A packet sent on a TCP/IP network with a source
address of the test loopback interface [127.0.0.1]. This means
that it will come back labeled with a source address that is
clearly not of this earth. "The domain server is getting lots of
packets from Mars. Does that gateway have a martian filter?"
massage
======= vt. Vague term used to describe `smooth' transformations of
a data set into a different form, esp. transformations that do
not lose information. Connotes less pain than munch or crunch.
"He wrote a program that massages X bitmap files into GIF
format." Compare slurp.
math-out
======== [poss. from `white-out' (the blizzard variety)] n. A
paper or presentation so encrusted with mathematical or other
formal notation as to be incomprehensible. This may be a device
for concealing the fact that it is actually content-free. See
also numbers, social science number.
Matrix
====== [FidoNet] n. 1. What the Opus BBS software and sysops call
FidoNet. 2. Fanciful term for a cyberspace expected to
emerge from current networking experiments (see network, the).
3. The totality of present-day computer networks.
maximum Maytag mode
=================== What a washing machine or, by extension,
any hard disk is in when it's being used so heavily that it's
shaking like an old Maytag with an unbalanced load. If prolonged
for any length of time, can lead to disks becoming [walking
drives}.
Mbogo, Dr. Fred
=============== /*m-boh'goh, dok'tr fred/ [Stanford] n. The
archetypal man you don't want to see about a problem, esp. an
incompetent professional; a shyster. "Do you know a good eye
doctor?" "Sure, try Mbogo Eye Care and Professional Dry
Cleaning." The name comes from synergy between bogus and the
original Dr. Mbogo, a witch doctor who was Gomez Addams' physician
on the old "Addams Family" TV show. Compare [Bloggs Family,
the}, see also fred.
meatware
======== n. Synonym for wetware. Less common.
meeces
====== /mees'*z/ [TMRC] n. Occasional furry visitors who are
not urchins. [That is, mice. This may no longer be in live
use; it clearly derives from the refrain of the early-1960s cartoon
character Mr. Jinx: "I hate meeces to *pieces*!" --- ESR]
meg
=== /meg/ n. See "quantifiers".
mega-
===== /me'g*/ [SI] pref. See "quantifiers".
megapenny
========= /meg'*-pen`ee/ n. $10,000 (1 cent * 10^6).
Used semi-humorously as a unit in comparing computer cost and
performance figures.
MEGO
==== /me'goh/ or /mee'goh/ [`My Eyes Glaze Over', often `Mine
Eyes Glazeth (sic) Over', attributed to the futurologist Herman
Kahn] Also `MEGO factor'. 1. n. A handwave intended to
confuse the listener and hopefully induce agreement because the
listener does not want to admit to not understanding what is going
on. MEGO is usually directed at senior management by engineers and
contains a high proportion of TLAs. 2. excl. An appropriate
response to MEGO tactics. 3. Among non-hackers, often refers not
to behavior that causes the eyes to glaze, but to the eye-glazing
reaction itself, which may be triggered by the mere threat of
technical detail as effectively as by an actual excess of it.
meltdown, network
================= n. See network meltdown.
meme
==== /meem/ [coined by analogy with `gene', by Richard
Dawkins] n. An idea considered as a replicator, esp. with
the connotation that memes parasitize people into propagating them
much as viruses do. Used esp. in the phrase `meme complex'
denoting a group of mutually supporting memes that form an
organized belief system, such as a religion. This lexicon is an
(epidemiological) vector of the `hacker subculture' meme complex;
each entry might be considered a meme. However, `meme' is often
misused to mean `meme complex'. Use of the term connotes
acceptance of the idea that in humans (and presumably other tool-
and language-using sophonts) cultural evolution by selection of
adaptive ideas has superseded biological evolution by selection of
hereditary traits. Hackers find this idea congenial for tolerably
obvious reasons.
meme plague
=========== n. The spread of a successful but pernicious
meme, esp. one that parasitizes the victims into giving
their all to propagate it. Astrology, BASIC, and the other guy's
religion are often considered to be examples. This usage is given
point by the historical fact that `joiner' ideologies like
Naziism or various forms of millennarian Christianity have
exhibited plague-like cycles of exponential growth followed by
collapses to small reservoir populations.
memetics
======== /me-met'iks/ [from meme] The study of memes. As of
mid-1993, this is still an extremely informal and speculative
endeavor, though the first steps towards at least statistical rigor
have been made by H. Keith Henson and others. Memetics is a
popular topic for speculation among hackers, who like to see
themselves as the architects of the new information ecologies in
which memes live and replicate.
memory farts
============ n. The flatulent sounds that some DOS box BIOSes
(most notably AMI's) make when checking memory on bootup.
memory leak
=========== n. An error in a program's dynamic-store allocation
logic that causes it to fail to reclaim discarded memory, leading
to eventual collapse due to memory exhaustion. Also (esp. at
CMU) called core leak. These problems were severe on older
machines with small, fixed-size address spaces, and special "leak
detection" tools were commonly written to root them out. With the
advent of virtual memory, it is unfortunately easier to be sloppy
about wasting a bit of memory (although when you run out of memory
on a VM machine, it means you've got a *real* leak!). See
aliasing bug, fandango on core, smash the stack,
precedence lossage, overrun screw, leaky heap,
leak.
memory smash
============ [XEROX PARC] n. Writing through a pointer that
doesn't point to what you think it does. This occasionally reduces
your machine to a rubble of bits. Note that this is subtly
different from (and more general than) related terms such as a
memory leak or fandango on core because it doesn't imply
an allocation error or overrun condition.
menuitis
======== /men`yoo-i:'tis/ n. Notional disease suffered by software
with an obsessively simple-minded menu interface and no escape.
Hackers find this intensely irritating and much prefer the
flexibility of command-line or language-style interfaces,
especially those customizable via macros or a special-purpose
language in which one can encode useful hacks. See
user-obsequious, drool-proof paper, WIMP environment,
for the rest of us.
mess-dos
======== /mes-dos/ n. Derisory term for MS-DOS. Often followed
by the ritual banishing "Just say No!" See "MS-DOS". Most
hackers (even many MS-DOS hackers) loathe MS-DOS for its
single-tasking nature, its limits on application size, its nasty
primitive interface, and its ties to IBMness (see [fear and
loathing}). Also `mess-loss', `messy-dos', `mess-dog',
`mess-dross', `mush-dos', and various combinations thereof. In
Ireland and the U.K. it is even sometimes called `Domestos' after a
brand of toilet cleanser.
meta
==== /me't*/ or /may't*/ or (Commonwealth) /mee't*/ [from
analytic philosophy] adj.,pref. One level of description up. A
metasyntactic variable is a variable in notation used to describe
syntax, and meta-language is language used to describe language.
This is difficult to explain briefly, but much hacker humor turns
on deliberate confusion between meta-levels. See "[Humor,
Hacker}".
meta bit
======== n. The top bit of an 8-bit character, which is on in
character values 128--255. Also called high bit, alt bit,
or hobbit. Some terminals and consoles (see [space-cadet
keyboard}) have a META shift key. Others (including,
*mirabile dictu*, keyboards on IBM PC-class machines) have an
ALT key. See also bucky bits.

Historical note: although in modern usage shaped by a universe of
8-bit bytes the meta bit is invariably hex 80 (octal 0200), things
were different on earlier machines with 36-bit words and 9-bit
bytes. The MIT and Stanford keyboards (see [space-cadet
keyboard}) generated hex 100 (octal 400) from their meta keys.

metasyntactic variable
====================== n. A name used in examples and understood
to stand for whatever thing is under discussion, or any random
member of a class of things under discussion. The word foo is
the canonical example. To avoid confusion, hackers never
(well, hardly ever) use `foo' or other words like it as permanent
names for anything. In filenames, a common convention is that any
filename beginning with a metasyntactic-variable name is a
scratch file that may be deleted at any time.

To some extent, the list of one's preferred metasyntactic variables
is a cultural signature. They occur both in series (used for
related groups of variables or objects) and as singletons. Here
are a few common signatures:

foo, bar, baz, quux, quuux, quuuux...:
MIT/Stanford usage, now found everywhere (thanks largely to early
versions of this lexicon!). At MIT (but not at Stanford), baz
dropped out of use for a while in the 1970s and '80s. A common
recent mutation of this sequence inserts qux before
quux.
bazola, ztesch:
Stanford (from mid-'70s on).
foo, bar, thud, grunt:
This series was popular at CMU. Other CMU-associated variables
include gorp.
foo, bar, fum:
This series is reported to be common at XEROX PARC.
fred, barney:
See the entry for fred. These tend to be Britishisms.
toto, titi, tata, tutu:
Standard series of metasyntactic variables among francophones.
corge, grault, flarp:
Popular at Rutgers University and among GOSMACS hackers.
zxc, spqr, [wombat]:
Cambridge University (England).
shme
Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/.
foo, bar, zot
Helsinki University of Technology, Finland.
blarg, wibble
New Zealand

Of all these, only `foo' and `bar' are universal (and baz
nearly so). The compounds foobar and `foobaz' also enjoy
very wide currency.

Some jargon terms are also used as metasyntactic names; barf
and mumble, for example. See also "Commonwealth Hackish"
for discussion of numerous metasyntactic variables found in Great
Britain and the Commonwealth.

MFTL
==== /M-F-T-L/ [abbreviation: `My Favorite Toy Language'] 1. adj.
Describes a talk on a programming language design that is heavy on
the syntax (with lots of BNF), sometimes even talks about semantics
(e.g., type systems), but rarely, if ever, has any content (see
content-free). More broadly applied to talks --- even when
the topic is not a programming language --- in which the subject
matter is gone into in unnecessary and meticulous detail at the
sacrifice of any conceptual content. "Well, it was a typical MFTL
talk". 2. n. Describes a language about which the developers are
passionate (often to the point of prosyletic zeal) but no one else
cares about. Applied to the language by those outside the
originating group. "He cornered me about type resolution in his
MFTL."

The first great goal in the mind of the designer of an MFTL is
usually to write a compiler for it, then bootstrap the design away
from contamination by lesser languages by writing a compiler for it
in itself. Thus, the standard put-down question at an MFTL talk is
"Has it been used for anything besides its own compiler?". On
the other hand, a language that *cannot* be used to write
its own compiler is beneath contempt. See break-even point.

(On a related note, Doug McIlroy once proposed a test of the
generality and utility of a language and the operating system under
which it is compiled: "Is the output of a FORTRAN program
acceptable as input to the FORTRAN compiler?" In other words, can
you write programs that write programs? (See toolsmith.)
Alarming numbers of (language, OS) pairs fail this test,
particularly when the language is FORTRAN; aficionados are quick to
point out that UNIX (even using FORTRAN) passes it handily.
That the test could ever be failed is only surprising to those who
have had the good fortune to have worked only under modern systems
which lack OS-supported and -imposed "file types".)

mickey
====== n. The resolution unit of mouse movement. It has 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
========== [USENET] n. 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 bogosity.
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 asleepm
waiting for it to do anything; the latter term is extremely common
on USENET. 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 macrotapes, 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 marketroids; 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.
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/ [abbreviation] n. 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
marketroids. 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 computrons. "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/ [MIT] n. 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/ [from wart by analogy with misbug] n.
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/ [University of Illinois] n. 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
========================== [poss. from the Sixties counterculture
expression `Mongolian clusterfuck' for a public orgy]
n. 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. The quality of being monstrous (see `Overgeneralization' in the
discussion of jargonification). See also baroque.
monty
===== /mon'tee/ [US Geological Survey] n. 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.
Moof
==== /moof/ [MAC users] 1. n. A semi-legendary creature, also
called the `dogcow', that lurks in the depths of the Macintosh
Technical Notes Hypercard stack V3.1; specifically, the full story
of the dogcow is told in technical note #31 (the particular Moof
illustrated is properly named `Clarus'). Option-shift-click will
cause it to emit a characteristic `Moof!' or `!fooM' sound.
*Getting* to tech note 31 is the hard part; to discover how to
do that, one must needs examine the stack script with a hackerly
eye. Clue: rot13 is involved. A dogcow also appears if you
choose `Page Setup...' with a LaserWriter selected and click on
the `Options' button. 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.
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. 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/ [USENET: Member Of The Appropriate Sex, after
MOTOS and MOTSS] n. A potential or (less often) actual sex
partner. See also SO.
MOTOS
===== /moh-tohs/ [acronym from the 1970 U.S. census forms via
USENET: Member Of The Opposite Sex] n. 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/ [from the 1970 U.S. census forms
via USENET] n. 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
=============== [MS-DOS] n. 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/ [MicroSoft Disk Operating System] n. A
clone of "CP/M" for the 8088 crufted together in 6 weeks by
hacker Tim Paterson, who is said to have regretted it ever since.
Numerous features, including vaguely UNIX-like but rather broken
support for subdirectories, I/O redirection, and pipelines, were
hacked into 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 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/ [acronym, Multi-User Dungeon; alt. Multi-User
Dimension] 1. n. 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 PD 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 have been 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. In 1991, over
50% of MUD sites are of a third major variety, LPMUD, which
synthesizes the combat/puzzle aspects of AberMUD and older systems
with the extensibility of TinyMud. 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.
There is now (early 1991) a move afoot to deprecate the term
MUD itself, as newer designs exhibit an exploding variety of
names corresponding to the different simulation styles being
explored. 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.

multician
========= /muhl-ti'shn/ [coined at Honeywell, ca. 1970] n.
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 glarked from
context. Compare blurgle. 8. [XEROX PARC] A colloquialism
used to suggest that further discussion would be fruitless.
munch
===== [often confused with mung, q.v.] vt. 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/ [from the squeaky-voiced little people in
L. Frank Baum's "The Wizard of Oz"] n. 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
======= [from SF fandom] n. 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/ [in 1960 at MIT, `Mash Until No Good'; sometime
after that the derivation from the "recursive acronym" `Mung
Until No Good' became standard] vt. 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 of
which the sprouts 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 army slang for the ersatz creamed chipped beef better
known as `SOS'.

munge
===== /muhnj/ vt. 1. [derogatory] To imperfectly transform
information. 2. A comprehensive rewrite of a routine, data
structure or the whole program.

This term is often confused with mung and may derive from it,
or possibly vice-versa.

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 lusers. 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 sometimes 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, King Sunny Ade, The Pretenders, 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.