Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

The New Hacker's Dictionary

.pdf
Скачиваний:
224
Добавлен:
10.08.2013
Размер:
1.62 Mб
Скачать

701

meme /meem/ n.

[coined by analogy with `gene', by Richard Dawkins] An idea considered as a [8579]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 tooland 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.

---

Node:meme plague, Next:[8580]memetics, Previous:[8581]meme, Up:[8582]= M =

meme plague n.

The spread of a successful but pernicious [8583]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.

---

Node:memetics, Next:[8584]memory farts, Previous:[8585]meme plague, Up:[8586]= M =

memetics /me-met'iks/ n.

702

[from [8587]meme] The study of memes. As of early 1999, 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.

---

Node:memory farts, Next:[8588]memory leak, Previous:[8589]memetics, Up:[8590]= M =

memory farts n.

The flatulent sounds that some DOS box BIOSes (most notably AMI's) make when checking memory on bootup.

---

Node:memory leak, Next:[8591]memory smash, Previous:[8592]memory farts, Up:[8593]= M =

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 [8594]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 [8595]aliasing bug, [8596]fandango on core, [8597]smash the stack, [8598]precedence lossage, [8599]overrun screw, [8600]leaky heap, [8601]leak.

---

703

Node:memory smash, Next:[8602]menuitis, Previous:[8603]memory leak, Up:[8604]= M =

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 [8605]memory leak or [8606]fandango on core because it doesn't imply an allocation error or overrun condition.

---

Node:menuitis, Next:[8607]mess-dos, Previous:[8608]memory smash, Up:[8609]= M =

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 [8610]user-obsequious, [8611]drool-proof paper, [8612]WIMP environment, [8613]for the rest of us.

---

Node:mess-dos, Next:[8614]meta, Previous:[8615]menuitis, Up:[8616]= M

=

mess-dos /mes-dos/ n.

[semi-obsolescent now that DOS is] Derisory term for MS-DOS. Often followed by the ritual banishing "Just say No!" See [8617]MS-DOS. Most hackers (even many MS-DOS hackers) loathed MS-DOS for its

704

single-tasking nature, its limits on application size, its nasty primitive interface, and its ties to IBMness and Microsoftness (see [8618]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.

---

Node:meta, Next:[8619]meta bit, Previous:[8620]mess-dos, Up:[8621]= M

=

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 [8622]hacker humor.

---

Node:meta bit, Next:[8623]metasyntactic variable, Previous:[8624]meta, Up:[8625]= M =

meta bit n.

The top bit of an 8-bit character, which is on in character values 128-255. Also called [8626]high bit, [8627]alt bit, or (rarely) [8628]hobbit. Some terminals and consoles (see [8629]space-cadet keyboard) have a META shift key. Others (including, mirabile dictu, keyboards on IBM PC-class machines) have an ALT key. See also [8630]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 [8631]space-cadet keyboard) generated hex 100

705

(octal 400) from their meta keys.

---

Node:metasyntactic variable, Next:[8632]MFTL, Previous:[8633]meta bit, Up:[8634]= M =

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 [8635]foo is the [8636]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 [8637]scratch file that may be deleted at any time.

Metasyntactic variables are so called because (1) they are variables in the metalanguage used to talk about programs etc; (2) they are variables whose values are often variables (as in usages usages like "the value of f(foo,bar) is the sum of foo and bar"). However, it has been plausibly suggested that the real reason for the term "metasyntactic variable" is that it sounds good.

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:

[8638]foo, [8639]bar, [8640]baz, [8641]quux, quuux, quuuux...: MIT/Stanford usage, now found everywhere (thanks largely to early versions of this lexicon!). At MIT (but not at Stanford), [8642]baz dropped out of use for a while in the 1970s and '80s. A common recent mutation of this sequence inserts [8643]qux before [8644]quux.

bazola, ztesch: Stanford (from mid-'70s on).

706

[8645]foo, [8646]bar, thud, grunt: This series was popular at CMU. Other CMU-associated variables include [8647]gorp.

[8648]foo, [8649]bar, fum: This series is reported to be common at XEROX PARC.

[8650]fred, jim, sheila, [8651]barney: See the entry for [8652]fred. These tend to be Britishisms.

[8653]corge, [8654]grault, [8655]flarp: Popular at Rutgers University and among [8656]GOSMACS hackers.

zxc, spqr, wombat: Cambridge University (England).

shme Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/.

foo, bar, baz, bongo Yale, late 1970s.

spam [8657]Python programmers.

snork Brown University, early 1970s.

[8658]foo, [8659]bar, zot Helsinki University of Technology, Finland.

blarg, wibble New Zealand.

toto, titi, tata, tutu France.

pippo, pluto, paperino Italy. Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are the Italian names for Goofy and Donald Duck.

aap, noot, mies The Netherlands. These are the first words a child used to learn to spell on a Dutch spelling board.

oogle, foogle, boogle; zork, gork, bork These two series (which may be continued with other initial consonents) are reportedly common in England,

707

and said to go back to Lewis Carroll.

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

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

---

Node:MFTL, Next:[8665]mickey, Previous:[8666]metasyntactic variable, Up:[8667]= M =

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 [8668]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 (compiled) language that cannot even be used to write its own compiler is beneath contempt. (The qualification has become necessary because of the increasing popularity of

708

interpreted languages like [8669]Perl and [8670]Python. See [8671]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 [8672]toolsmith.) Alarming numbers of (language, OS) pairs fail this test, particularly when the language is FORTRAN; aficionados are quick to point out that [8673]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".)

---

Node:mickey, Next:[8674]mickey mouse program, Previous:[8675]MFTL, Up:[8676]= M =

mickey n.

The resolution unit of mouse movement. It has been suggested that the `disney' will become a benchmark unit for animation graphics performance.

---

Node:mickey mouse program, Next:[8677]micro-, Previous:[8678]mickey, Up:[8679]= M =

mickey mouse program n.

North American equivalent of a [8680]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.

709

---

Node:micro-, Next:[8681]MicroDroid, Previous:[8682]mickey mouse program, Up:[8683]= M =

micropref.

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 [8684]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 [8685]attoparsec, [8686]nanoacre, and especially [8687]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 [8688]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.

---

Node:MicroDroid, Next:[8689]microfloppies, Previous:[8690]micro-,

Up:[8691]= M =

MicroDroid n.

[Usenet] A Microsoft employee, esp. one who posts to various operating-system advocacy newsgroups. MicroDroids post follow-ups to any messages critical of Microsoft's operating systems, and often end up sounding like visiting fundamentalist missionaries. See also [8692]astroturfing; compare [8693]microserf.

710

---

Node:microfloppies, Next:[8694]microfortnight,

Previous:[8695]MicroDroid, Up:[8696]= M =

microfloppies n.

3.5-inch floppies, as opposed to 5.25-inch [8697]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 [8698]stiffy, [8699]minifloppies.

---

Node:microfortnight, Next:[8700]microLenat,

Previous:[8701]microfloppies, Up:[8702]= M =

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 [8703]nanofortnight have also been reported.

---

Node:microLenat, Next:[8704]microReid, Previous:[8705]microfortnight,

Up:[8706]= M =

Соседние файлы в предмете Английский язык