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

The New Hacker's Dictionary

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

681

---

Node:M, Next:[8326]M$, Previous:[8327]luser, Up:[8328]= M =

M pref. (on units) suff. (on numbers)

[SI] See [8329]quantifiers.

---

Node:M$, Next:[8330]macdink, Previous:[8331]M, Up:[8332]= M =

M$

Common net abbreviation for Microsoft, everybody's least favorite monopoly.

---

Node:macdink, Next:[8333]machinable, Previous:[8334]M$, Up:[8335]=

M =

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 [8336]fritterware, [8337]window shopping.

---

Node:machinable, Next:[8338]machoflops, Previous:[8339]macdink,

Up:[8340]= M =

machinable adj.

682

Machine-readable. Having the [8341]softcopy nature.

---

Node:machoflops, Next:[8342]Macintoy, Previous:[8343]machinable,

Up:[8344]= M =

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 [8345]Your mileage may vary, [8346]benchmark.

---

Node:Macintoy, Next:[8347]Macintrash, Previous:[8348]machoflops,

Up:[8349]= M =

Macintoy /mak'in-toy/ n.

The Apple Macintosh, considered as a [8350]toy. Less pejorative than [8351]Macintrash.

---

Node:Macintrash, Next:[8352]macro, Previous:[8353]Macintoy,

Up:[8354]= M =

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 [8355]maggotbox has been reported in regular use in the Research Triangle area of North Carolina. Compare [8356]Macintoy. See also [8357]beige toaster, [8358]WIMP environment, [8359]point-and-drool interface,

683

[8360]drool-proof paper, [8361]user-friendly.

---

Node:macro, Next:[8362]macro-, Previous:[8363]Macintrash, Up:[8364]=

M =

macro /mak'roh/ n.

[techspeak] A name (possibly followed by a formal [8365]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 [8366]HLLs, only to fall from favor as improving compiler technology marginalized assembler programming (see [8367]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).

---

684

Node:macro-, Next:[8368]macrology, Previous:[8369]macro, Up:[8370]=

M =

macropref.

Large. Opposite of [8371]micro-. In the mainstream and among other technical cultures (for example, medical people) this competes with the prefix [8372]mega-, but hackers tend to restrict the latter to quantification.

---

Node:macrology, Next:[8373]macrotape, Previous:[8374]macro-,

Up:[8375]= M =

macrology /mak-rol'*-jee/ n.

1. Set of usually complex or crufty macros, e.g., as part of a large system written in [8376]LISP, [8377]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 [8378]theology, hence the sound-alike construction. See also [8379]boxology.

---

Node:macrotape, Next:[8380]maggotbox, Previous:[8381]macrology,

Up:[8382]= M =

macrotape /mak'roh-tayp/ n.

An industry-standard reel of tape. Originally, as opposed to a DEC microtape; nowadays, as opposed to modern QIC and DDS tapes. Syn. [8383]round tape.

---

685

Node:maggotbox, Next:[8384]magic, Previous:[8385]macrotape,

Up:[8386]= M =

maggotbox /mag'*t-boks/ n.

See [8387]Macintrash. This is even more derogatory.

---

Node:magic, Next:[8388]magic cookie, Previous:[8389]maggotbox, Up:[8390]= M =

magic

1. adj. As yet unexplained, or too complicated to explain; compare [8391]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. adj. Characteristic of something that works although no one really understands why (this is especially called [8392]black magic). 3. n. [Stanford] A feature not generally publicized that allows something otherwise impossible, or a feature formerly in that category but now unveiled. 4. n. The ultimate goal of all engineering & development, elegance in the extreme; from the first corollary to Clarke's Third Law: "Any technology distinguishable from magic is insufficiently advanced".

Parodies playing on these senses of the term abound; some have made their way into serious documentation, as when a MAGIC directive was described in the Control Card Reference for GCOS c.1978. For more about hackish `magic', see [8393]Appendix A. Compare [8394]black magic, [8395]wizardly, [8396]deep magic, [8397]heavy wizardry.

---

686

Node:magic cookie, Next:[8398]magic number, Previous:[8399]magic, Up:[8400]= M =

magic cookie n.

[Unix; common] 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 [8401]cookie). Some older terminals would leave a blank on the screen corresponding to mode-change magic cookies; this was also called a [8402]glitch (or occasionally a `turd'; compare [8403]mouse droppings). See also [8404]cookie.

---

Node:magic number, Next:[8405]magic smoke, Previous:[8406]magic cookie, Up:[8407]= M =

magic number n.

[Unix/C; common] 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 ([8408]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

687

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 !<arch> at the beginning of a Unix archive file or the %! leading PostScript files. Nowadays only a [8409]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.

---

Node:magic smoke, Next:[8410]mail storm, Previous:[8411]magic number, Up:[8412]= M =

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 [8413]smoke test, [8414]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

688

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 [8415]Murphy's Law.

---

Node:mail storm, Next:[8416]mailbomb, Previous:[8417]magic smoke, Up:[8418]= M =

mail storm n.

[from [8419]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 [8420]hairball.

---

Node:mailbomb, Next:[8421]mailing list, Previous:[8422]mail storm, Up:[8423]= M =

mailbomb

(also mail bomb) [Usenet] 1. v. To send, or urge others to send, massive amounts of [8424]email to a single system or person, esp. with intent to crash or [8425]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 [8426]letterbomb, [8427]nastygram, [8428]BLOB (sense 2), [8429]list-bomb.

689

---

Node:mailing list, Next:[8430]main loop, Previous:[8431]mailbomb, Up:[8432]= M =

mailing list n.

(often shortened in context to `list') 1. An [8433]email address that is an alias (or [8434]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 [8435]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.

690

---

Node:main loop, Next:[8436]mainframe, Previous:[8437]mailing list, Up:[8438]= M =

main loop n.

The top-level control flow construct in an inputor event-driven program, the one which receives and acts or dispatches on the program's input. See also [8439]driver.

---

Node:mainframe, Next:[8440]management, Previous:[8441]main loop, Up:[8442]= M =

mainframe n.

Term originally referring to the cabinet containing the central processor unit or `main frame' of a room-filling [8443]Stone Age batch machine. After the emergence of smaller `minicomputer' designs in the early 1970s, the traditional [8444]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 [8445]dinosaurs surviving from computing's [8446]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 [8447]number-crunching supercomputers (see [8448]cray)), having been swamped by the recent huge advances in IC technology and low-cost personal computing. The wave of failures, takeovers, and mergers among traditional mainframe makers in the early 1990s bore this out. The biggest mainframer of all, IBM, was compelled to re-invent itself as a huge systems-consulting house. (See [8449]dinosaurs mating and [8450]killer

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