:life: /n./ 1. A cellular-automata game invented by John Horton Conway and first introduced publicly by Martin Gardner ("Scientific American", October 1970); the game's popularity had to wait a few years for computers on which it could reasonably be played, as it's no fun to simulate the cells by hand. Many hackers pass through a stage of fascination with it, and hackers at various places contributed heavily to the mathematical analysis of this game (most notably Bill Gosper at MIT, who even implemented life in {TECO}!; see {Gosperism}). When a hacker mentions `life', he is much more likely to mean this game than the magazine, the breakfast cereal, or the human state of existence. 2. The opposite of {Usenet}. As in "{Get a life!}"
:Life is hard: /prov./ [XEROX PARC] This phrase has two possible interpretations: (1) "While your suggestion may have some merit, I will behave as though I hadn't heard it." (2) "While your suggestion has obvious merit, equally obvious circumstances prevent it from being seriously considered." The charm of the phrase lies precisely in this subtle but important ambiguity.
:light pipe: /n./ Fiber optic cable. Oppose {copper}.
:lightweight: /adj./ Opposite of {heavyweight}; usually found in combining forms such as `lightweight process'.
:like kicking dead whales down the beach: /adj./ Describes a slow, difficult, and disgusting process. First popularized by a famous quote about the difficulty of getting work done under one of IBM's mainframe OSes. "Well, you *could* write a C compiler in COBOL, but it would be like kicking dead whales down the beach." See also {fear and loathing}.
:like nailing jelly to a tree: /adj./ Used to describe a task thought to be impossible, esp. one in which the difficulty arises from poor specification or inherent slipperiness in the problem domain. "Trying to display the `prettiest' arrangement of nodes and arcs that diagrams a given graph is like nailing jelly to a tree, because nobody's sure what `prettiest' means algorithmically."
Hacker use of this term may recall mainstream slang originated early in the 20th century by President Theodore Roosevelt. There is a legend that, weary of inconclusive talks with Colombia over the right to dig a canal through its then-province Panama, he remarked, "Negotiating with those pirates is like trying to nail currant jelly to the wall." Roosevelt's government subsequently encouraged the anti-Colombian insurgency that created the nation of Panama.
:line 666: [from Christian eschatological myth] /n./ The notional line of source at which a program fails for obscure reasons, implying either that *somebody* is out to get it (when you are the programmer), or that it richly deserves to be so gotten (when you are not). "It works when I trace through it, but seems to crash on line 666 when I run it." "What happens is that whenever a large batch comes through, mmdf dies on the Line of the Beast. Probably some twit hardcoded a buffer size."
:line eater, the: /n. obs./ [Usenet] 1. A bug in some now-obsolete versions of the netnews software that used to eat up to BUFSIZ bytes of the article text. The bug was triggered by having the text of the article start with a space or tab. This bug was quickly personified as a mythical creature called the `line eater', and postings often included a dummy line of `line eater food'. Ironically, line eater `food' not beginning with a space or tab wasn't actually eaten, since the bug was avoided; but if there *was* a space or tab before it, then the line eater would eat the food *and* the beginning of the text it was supposed to be protecting. The practice of `sacrificing to the line eater' continued for some time after the bug had been {nailed to the wall}, and is still humorously referred to. The bug itself was still occasionally reported to be lurking in some mail-to-netnews gateways as late as 1991. 2. See {NSA line eater}.
:line noise: /n./ 1. [techspeak] Spurious characters due to electrical noise in a communications link, especially an RS-232 serial connection. Line noise may be induced by poor connections, interference or crosstalk from other circuits, electrical storms, {cosmic rays}, or (notionally) birds crapping on the phone wires. 2. Any chunk of data in a file or elsewhere that looks like the results of line noise in sense 1. 3. Text that is theoretically a readable text or program source but employs syntax so bizarre that it looks like line noise in senses 1 or 2. Yes, there are languages this ugly. The canonical example is {TECO}; it is often claimed that "TECO's input syntax is indistinguishable from line noise." Other non-{WYSIWYG} editors, such as Multics `qed' and Unix `ed', in the hands of a real hacker, also qualify easily, as do deliberately obfuscated languages such as {INTERCAL}.
:line starve: [MIT] 1. /vi./ To feed paper through a printer the wrong way by one line (most printers can't do this). On a display terminal, to move the cursor up to the previous line of the screen. "To print `X squared', you just output `X', line starve, `2', line feed." (The line starve causes the `2' to appear on the line above the `X', and the line feed gets back to the original line.) 2. /n./ A character (or character sequence) that causes a terminal to perform this action. ASCII 0011010, also called SUB or control-Z, was one common line-starve character in the days before microcomputers and the X3.64 terminal standard. Unlike `line feed', `line starve' is *not* standard {{ASCII}} terminology. Even among hackers it is considered a bit silly. 3. [proposed] A sequence such as \c (used in System V echo, as well as {{nroff}} and {{troff}}) that suppresses a {newline} or other character(s) that would normally be emitted.
:linearithmic: /adj./ Of an algorithm, having running time that is O(N log N). Coined as a portmanteau of `linear' and `logarithmic' in "Algorithms In C" by Robert Sedgewick (Addison-Wesley 1990, ISBN 0-201-51425-7).
:link farm: /n./ [Unix] A directory tree that contains many links to files in a master directory tree of files. Link farms save space when one is maintaining several nearly identical copies of the same source tree — for example, when the only difference is architecture-dependent object files. "Let's freeze the source and then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms." Link farms may also be used to get around restrictions on the number of `-I' (include-file directory) arguments on older C preprocessors. However, they can also get completely out of hand, becoming the filesystem equivalent of {spaghetti code}.
:link-dead: /adj./ [MUD] Said of a {MUD} character who has frozen in place because of a dropped Internet connection.
:lint: [from Unix's `lint(1)', named for the bits of fluff it supposedly picks from programs] 1. /vt./ To examine a program closely for style, language usage, and portability problems, esp. if in C, esp. if via use of automated analysis tools, most esp. if the Unix utility `lint(1)' is used. This term used to be restricted to use of `lint(1)' itself, but (judging by references on Usenet) it has become a shorthand for {desk check} at some non-Unix shops, even in languages other than C. Also as /v./ {delint}. 2. /n./ Excess verbiage in a document, as in "This draft has too much lint".
:Linux:: /lee'nuhks/ or /li'nuks/, *not* /li:'nuhks/ /n./ The free Unix workalike created by Linus Torvalds and friends starting about 1990 (the pronunciation /lee'nuhks/ is preferred because the name `Linus' has an /ee/ sound in Swedish). This may be the most remarkable hacker project in history — an entire clone of Unix for 386, 486 and Pentium micros, distributed for free with sources over the net (ports to Alpha and Sparc-based machines are underway). This is what {GNU} aimed to be, but the Free Software Foundation has not (as of early 1996) produced the kernel to go with its Unix toolset (which Linux uses). Other, similar efforts like FreeBSD and NetBSD have been much less successful. The secret of Linux's success seems to be that Linus worked much harder early on to keep the development process open and recruit other hackers, creating a snowball effect.
:lion food: /n./ [IBM] Middle management or HQ staff (or, by extension, administrative drones in general). From an old joke about two lions who, escaping from the zoo, split up to increase their chances but agree to meet after 2 months. When they finally meet, one is skinny and the other overweight. The thin one says: "How did you manage? I ate a human just once and they turned out a small army to chase me — guns, nets, it was terrible. Since then I've been reduced to eating mice, insects, even grass." The fat one replies: "Well, *I* hid near an IBM office and ate a manager a day. And nobody even noticed!"
:Lions Book: /n./ "Source Code and Commentary on Unix level 6", by John Lions. The two parts of this book contained (1) the entire source listing of the Unix Version 6 kernel, and (2) a commentary on the source discussing the algorithms. These were circulated internally at the University of New South Wales beginning 1976—77, and were, for years after, the *only* detailed kernel documentation available to anyone outside Bell Labs. Because Western Electric wished to maintain trade secret status on the kernel, the Lions Book was only supposed to be distributed to affiliates of source licensees. In spite of this, it soon spread by samizdat to a good many of the early Unix hackers.
[1996 update: The Lions book lives again! It will finally see legal public print as ISBN 1-57398-013-7 from Peer-To-Peer Communications, with a forward by Dennis Ritchie.]
:LISP: /n./ [from `LISt Processing language', but mythically from `Lots of Irritating Superfluous Parentheses'] AI's mother tongue, a language based on the ideas of (a) variable-length lists and trees as fundamental data types, and (b) the interpretation of code as data and vice-versa. Invented by John McCarthy at MIT in the late 1950s, it is actually older than any other {HLL} still in use except FORTRAN. Accordingly, it has undergone considerable adaptive radiation over the years; modern variants are quite different in detail from the original LISP 1.5. The dominant HLL among hackers until the early 1980s, LISP now shares the throne with {C}. See {languages of choice}.
All LISP functions and programs are expressions that return values; this, together with the high memory utilization of LISPs, gave rise to Alan Perlis's famous quip (itself a take on an Oscar Wilde quote) that "LISP programmers know the value of everything and the cost of nothing".
One significant application for LISP has been as a proof by example that most newer languages, such as {COBOL} and {Ada}, are full of unnecessary {crock}s. When the {Right Thing} has already been done once, there is no justification for {bogosity} in newer languages.
:list-bomb: /v./ To {mailbomb} someone by forgingmessages causing the victim to become a subscriber to many mailinglists. This is a self-defeating tactic; it merely forces mailinglist servers to require confirmation by return message for everysubscription.
:literature, the: /n./ Computer-science journals and otherpublications, vaguely gestured at to answer a question that thespeaker believes is {trivial}. Thus, one might answer anannoying question by saying "It's in the literature." Oppose{Knuth}, which has no connotation of triviality.
:lithium lick: /n./ [NeXT] Steve Jobs. Employees who havegotten too much attention from their esteemed founder are said tohave `lithium lick' when they begin to show signs of Jobsian fervorand repeat the most recent catch phrases in normal conversation —-for example, "It just works, right out of the box!"
:little-endian: /adj./ Describes a computer architecture in which, within a given 16- or 32-bit word, bytes at lower addresses have lower significance (the word is stored `little-end-first'). The PDP-11 and VAX families of computers and Intel microprocessors and a lot of communications and networking hardware are little-endian. See {big-endian}, {middle-endian}, {NUXI problem}. The term is sometimes used to describe the ordering of units other than bytes; most often, bits within a byte.
:live: /li:v/ /adj.,adv./ Opposite of `test'. Refers to actual real-world data or a program working with it. For example, the response to "I think the record deleter is finished" might be "Is it live yet?" or "Have you tried it out on live data?" This usage usually carries the connotation that live data is more fragile and must not be corrupted, or bad things will happen. So a more appropriate response might be: "Well, make sure it works perfectly before we throw live data at it." The implication here is that record deletion is something pretty significant, and a haywire record-deleter running amok live would probably cause great harm.
:live data: /n./ 1. Data that is written to be interpreted and takes over program flow when triggered by some un-obvious operation, such as viewing it. One use of such hacks is to break security. For example, some smart terminals have commands that allow one to download strings to program keys; this can be used to write live data that, when listed to the terminal, infects it with a security-breaking {virus} that is triggered the next time a hapless user strikes that key. For another, there are some well-known bugs in {vi} that allow certain texts to send arbitrary commands back to the machine when they are simply viewed. 2. In C code, data that includes pointers to function {hook}s (executable code). 3. An object, such as a {trampoline}, that is constructed on the fly by a program and intended to be executed as code.
:Live Free Or Die!: /imp./ 1. The state motto of New Hampshire, which appears on that state's automobile license plates. 2. A slogan associated with Unix in the romantic days when Unix aficionados saw themselves as a tiny, beleaguered underground tilting against the windmills of industry. The "free" referred specifically to freedom from the {fascist} design philosophies and crufty misfeatures common on commercial operating systems. Armando Stettner, one of the early Unix developers, used to give out fake license plates bearing this motto under a large Unix, all in New Hampshire colors of green and white. These are now valued collector's items. Recently (1994) an inferior imitation of these has been put in circulation with a red corporate logo added.
:livelock: /li:v'lok/ /n./ A situation in which some critical stage of a task is unable to finish because its clients perpetually create more work for it to do after they have been serviced but before it can clear its queue. Differs from {deadlock} in that the process is not blocked or waiting for anything, but has a virtually infinite amount of work to do and can never catch up.
:liveware: /li:v'weir/ /n./ 1. Synonym for {wetware}. Less common. 2. [Cambridge] Vermin. "Waiter, there's some liveware in my salad…"
:lobotomy: /n./ 1. What a hacker subjected to formal management training is said to have undergone. At IBM and elsewhere this term is used by both hackers and low-level management; the latter doubtless intend it as a joke. 2. The act of removing the processor from a microcomputer in order to replace or upgrade it. Some very cheap {clone} systems are sold in `lobotomized' form — everything but the brain.
:locals, the: /pl.n./ The users on one's local network (as opposed, say, to people one reaches via public Internet or UUCP connects). The marked thing about this usage is how little it has to do with real-space distance. "I have to do some tweaking on this mail utility before releasing it to the locals."
:locked and loaded: /adj./ [from military slang for an M-16 rifle with magazine inserted and prepared for firing] Said of a removable disk volume properly prepared for use — that is, locked into the drive and with the heads loaded. Ironically, because their heads are `loaded' whenever the power is up, this description is never used of {{Winchester}} drives (which are named after a rifle).
:locked up: /adj./ Syn. for {hung}, {wedged}.
:logic bomb: /n./ Code surreptitiously inserted into an application or OS that causes it to perform some destructive or security-compromising activity whenever specified conditions are met. Compare {back door}.
:logical: /adj./ [from the technical term `logical device', wherein a physical device is referred to by an arbitrary `logical' name] Having the role of. If a person (say, Les Earnest at SAIL) who had long held a certain post left and were replaced, the replacement would for a while be known as the `logical' Les Earnest. (This does not imply any judgment on the replacement.) Compare {virtual}.
At Stanford, `logical' compass directions denote a coordinate system in which `logical north' is toward San Francisco, `logical west' is toward the ocean, etc., even though logical north varies between physical (true) north near San Francisco and physical west near San Jose. (The best rule of thumb here is that, by definition, El Camino Real always runs logical north-and-south.) In giving directions, one might say: "To get to Rincon Tarasco restaurant, get onto {El Camino Bignum} going logical north." Using the word `logical' helps to prevent the recipient from worrying about that the fact that the sun is setting almost directly in front of him. The concept is reinforced by North American highways which are almost, but not quite, consistently labeled with logical rather than physical directions. A similar situation exists at MIT: Route 128 (famous for the electronics industry that has grown up along it) is a 3-quarters circle surrounding Boston at a radius of 10 miles, terminating near the coastline at each end. It would be most precise to describe the two directions along this highway as `clockwise' and `counterclockwise', but the road signs all say "north" and "south", respectively. A hacker might describe these directions as `logical north' and `logical south', to indicate that they are conventional directions not corresponding to the usual denotation for those words. (If you went logical south along the entire length of route 128, you would start out going northwest, curve around to the south, and finish headed due east, passing along one infamous stretch of pavement that is simultaneously route 128 south and Interstate 93 north, and is signed as such!)
:loop through: /vt./ To process each element of a list of things. "Hold on, I've got to loop through my paper mail." Derives from the computer-language notion of an iterative loop; compare `cdr down' (under {cdr}), which is less common among C and Unix programmers. ITS hackers used to say `IRP over' after an obscure pseudo-op in the MIDAS PDP-10 assembler (the same IRP op can nowadays be found in Microsoft's assembler).
:loose bytes: /n./ Commonwealth hackish term for the padding bytes or {shim}s many compilers insert between members of a record or structure to cope with alignment requirements imposed by the machine architecture.
:lord high fixer: /n./ [primarily British, from Gilbert & Sullivan's `lord high executioner'] The person in an organization who knows the most about some aspect of a system. See {wizard}.
:lose: [MIT] /vi./ 1. To fail. A program loses when it encounters an exceptional condition or fails to work in the expected manner. 2. To be exceptionally unesthetic or crocky. 3. Of people, to be obnoxious or unusually stupid (as opposed to ignorant). See also {deserves to lose}. 4. /n./ Refers to something that is {losing}, especially in the phrases "That's a lose!" and "What a lose!"
:lose lose: /interj./ A reply to or comment on an undesirable situation. "I accidentally deleted all my files!" "Lose, lose."
:loser: /n./ An unexpectedly bad situation, program, programmer, or person. Someone who habitually loses. (Even winners can lose occasionally.) Someone who knows not and knows not that he knows not. Emphatic forms are `real loser', `total loser', and `complete loser' (but not **`moby loser', which would be a contradiction in terms). See {luser}.
:losing: /adj./ Said of anything that is or causes a {lose} or {lossage}.
:loss: /n./ Something (not a person) that loses; a situation inwhich something is losing. Emphatic forms include `moby loss',and `total loss', `complete loss'. Common interjections are"What a loss!" and "What a moby loss!" Note that `mobyloss' is OK even though **`moby loser' is not used; applied to anabstract noun, moby is simply a magnifier, whereas when applied toa person it implies substance and has positive connotations.Compare {lossage}.
:lossage: /los'*j/ /n./ The result of a bug or malfunction.This is a mass or collective noun. "What a loss!" and "Whatlossage!" are nearly synonymous. The former is slightly moreparticular to the speaker's present circumstances; the latterimplies a continuing {lose} of which the speaker is currently avictim. Thus (for example) a temporary hardware failure is a loss,but bugs in an important tool (like a compiler) are seriouslossage.
:lost in the noise: /adj./ Syn. {lost in the underflow}. This term is from signal processing, where signals of very small amplitude cannot be separated from low-intensity noise in the system. Though popular among hackers, it is not confined to hackerdom; physicists, engineers, astronomers, and statisticians all use it.
:lost in the underflow: /adj./ Too small to be worth considering; more specifically, small beyond the limits of accuracy or measurement. This is a reference to `floating underflow', a condition that can occur when a floating-point arithmetic processor tries to handle quantities smaller than its limit of magnitude. It is also a pun on `undertow' (a kind of fast, cold current that sometimes runs just offshore and can be dangerous to swimmers). "Well, sure, photon pressure from the stadium lights alters the path of a thrown baseball, but that effect gets lost in the underflow." Compare {epsilon}, {epsilon squared}; see also {overflow bit}.
:lots of MIPS but no I/O: /adj./ Used to describe a person whois technically brilliant but can't seem to communicate with humanbeings effectively. Technically it describes a machine that haslots of processing power but is bottlenecked on input-output (in1991, the IBM Rios, a.k.a. RS/6000, is a notorious recent example).
:low-bandwidth: /adj./ [from communication theory] Used toindicate a talk that, although not {content-free}, was notterribly informative. "That was a low-bandwidth talk, but whatcan you expect for an audience of {suit}s!" Compare{zero-content}, {bandwidth}, {math-out}.
:LPT: /L-P-T/ or /lip'it/ or /lip-it'/ /n./ Line printer, of course. Rare under Unix, more common among hackers who grew up with ITS, MS-DOS, CP/M and other operating systems that were strongly influenced by early DEC conventions.
:Lubarsky's Law of Cybernetic Entomology: /prov./ "There is*always* one more bug."
:lunatic fringe: /n./ [IBM] Customers who can be relied upon toaccept release 1 versions of software.
:lurker: /n./ One of the `silent majority' in a electronic forum; one who posts occasionally or not at all but is known to read the group's postings regularly. This term is not pejorative and indeed is casually used reflexively: "Oh, I'm just lurking." Often used in `the lurkers', the hypothetical audience for the group's {flamage}-emitting regulars. When a lurker speaks up for the first time, this is called `delurking'.
:luser: /loo'zr/ /n./ A {user}; esp. one who is also a {loser}. ({luser} and {loser} are pronounced identically.) This word was coined around 1975 at MIT. Under ITS, when you first walked up to a terminal at MIT and typed Control-Z to get the computer's attention, it printed out some status information, including how many people were already using the computer; it might print "14 users", for example. Someone thought it would be a great joke to patch the system to print "14 losers" instead. There ensued a great controversy, as some of the users didn't particularly want to be called losers to their faces every time they used the computer. For a while several hackers struggled covertly, each changing the message behind the back of the others; any time you logged into the computer it was even money whether it would say "users" or "losers". Finally, someone tried the compromise "lusers", and it stuck. Later one of the ITS machines supported `luser' as a request-for-help command. ITS died the death in mid-1990, except as a museum piece; the usage lives on, however, and the term `luser' is often seen in program comments.
= M = =====
:M: /pref./ (on units) suff. (on numbers) [SI] See{{quantifiers}}.
:macdink: /mak'dink/ /vt./ [from the Apple Macintosh, which is said to encourage such behavior] 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/ /n./ [pun on `megaflops', a coinage for `millions of FLoating-point Operations Per Second'] 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, asdescribed by a hacker who doesn't appreciate being kept away fromthe *real computer* by the interface. The term {maggotbox}has been reported in regular use in the Research Triangle area ofNorth Carolina. Compare {Macintoy}. See also {beigetoaster}, {WIMP environment}, {point-and-drool interface},{drool-proof paper}, {user-friendly}.
:macro: /mak'roh/ [techspeak] /n./ A name (possibly followedby a formal {arg} list) that is equated to a text or symbolicexpression to which it is to be expanded (possibly with thesubstitution of actual arguments) by a macro expander. Thisdefinition can be found in any technical dictionary; what thosewon't tell you is how the hackish connotations of the term havechanged 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 {HLL}s, 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 oftape, as opposed to a {microtape}. See also {round tape}.
:maggotbox: /mag'*t-boks/ /n./ See {Macintrash}. This iseven 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: /n./ [Unix] 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: /n./ [Unix/C] 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 commonsense
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'. Many other kinds of files now have magic numbers
somewhere; some magic numbers are, in fact, strings, like the
`!
*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}.
:mail storm: /n./ [from {broadcast storm}, influenced by `maelstrom'] What often happens when a machine with an Internet connection and active users re-connects after extended downtime —- a flood of incoming mail that brings the machine to its knees. See also {hairball}.
: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}, {BLOB} (sense 2), {list-bomb}.
: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 {dinosaur}s 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} and {killer micro}).
: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/ /n./ [from the Mandelbrot set] Abug whose underlying causes are so complex and obscure as to makeits behavior appear chaotic or even non-deterministic. This termimplies that the speaker thinks it is a {Bohr bug}, rather thana {heisenbug}. See also {schroedinbug}.
:manged: /mahnjd/ /n./ [probably from the French `manger'or Italian `mangiare', to eat; perhaps influenced by English`mange', `mangy'] /adj./ Refers to anything that is mangled ordamaged, usually beyond repair. "The disk was manged after theelectrical storm." Compare {mung}.
:mangle: /vt./ Used similarly to {mung} or {scribble},but more violent in its connotations; something that is mangled hasbeen irreversibly and totally trashed.
:mangler: /n./ [DEC] A manager. Compare{management}. Note that {system mangler} is somewhatdifferent in connotation.
:manularity: /man`yoo-la'ri-tee/ /n./ [prob. fr. techspeak `manual' + `granularity'] 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: /pl.n./ [from mainstream "lost all his/her marbles"] 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 {win}ning. "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/ /n./ alt. `marketing slime', `marketeer', `marketing droid', `marketdroid'. 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 sourceaddress of the test loopback interface [127.0.0.1]. This meansthat it will come back labeled with a source address that isclearly not of this earth. "The domain server is getting lots ofpackets 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 painthan {munch} or {crunch}. "He wrote a program that massagesX bitmap files into GIF format." Compare {slurp}.
:math-out: /n./ [poss. from `white-out' (the blizzard variety)]A paper or presentation so encrusted with mathematical or otherformal notation as to be incomprehensible. This may be a devicefor concealing the fact that it is actually {content-free}. Seealso {numbers}, {social science number}.
:Matrix: /n./ [FidoNet] 1. What the Opus BBS software andsysops call {FidoNet}. 2. Fanciful term for a {cyberspace}expected to emerge from current networking experiments (see{network, the}). 3. The totality of present-day computernetworks.
:maximum Maytag mode: /n./ What a {washing machine} or, byextension, any hard disk is in when it's being used so heavily thatit's shaking like an old Maytag with an unbalanced load. Ifprolonged for any length of time, can lead to disks becoming{walking drives}.
:Mbogo, Dr. Fred: /*m-boh'goh, dok'tr fred/ /n./ [Stanford] 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/ /n./ [TMRC] Occasional furry visitors who are not {urchin}s. [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*/ /pref./ [SI] 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 {TLA}s. 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/ /n./ [coined by analogy with `gene', by Richard Dawkins] 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/ /n./ [from {meme}] The study of memes. As of early 1996, 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: /n./ [XEROX PARC] 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*/ adj.,/pref./ [from analytic philosophy] 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 {{hacker humor}}.
: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 toearly versions of this lexicon!). At MIT (but not atStanford), {baz} dropped out of use for a while in the 1970sand '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-associatedvariables 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.{corge}, {grault}, {flarp}:Popular at Rutgers University and among {GOSMACS} hackers.zxc, spqr, wombat:Cambridge University (England).shmeBerkeley, GeoWorks, Ingres. Pronounced /shme/ with a short/e/.snorkBrown University, early 1970s.{foo}, {bar}, zotHelsinki University of Technology, Finland.blarg, wibbleNew Zealand.toto, titi, tata, tutuFrance.pippo, pluto, paperinoItaly. Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are theItalian names for Goofy and Donald Duck.aap, noot, miesThe Netherlands. These are the first words a child used tolearn to spell on a Dutch spelling board.
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 proselytic 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 even 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: /n./ [Usenet] A Microsoft employee, esp. one whoposts to various operating-system advocacy newsgroups. MicroDroidspost follow-ups to any messages critical of Microsoft's operatingsystems, and often end up sounding like visiting Mormonmissionaries.
: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 outof use, only to be revived if anybody floats a sub-3-inch floppystandard. 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 VUnix, generally used by {BSD} partisans in a bigoted mood. (Thesynonym `SysVile' is also encountered.) See {software bloat},{Berzerkeley}.