: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 who

posts to various operating-system advocacy newsgroups. MicroDroids

post follow-ups to any messages critical of Microsoft's operating

systems, and often end up sounding like visiting Mormon

missionaries.

:microfloppies: /n./ 3.5-inch floppies, as opposed to 5.25-inch

{vanilla} or mini-floppies and the now-obsolete 8-inch variety.

This term may be headed for obsolescence as 5.25-inchers pass out

of use, only to be revived if anybody floats a sub-3-inch floppy

standard. See {stiffy}, {minifloppies}.

:microfortnight: /n./ 1/1000000 of the fundamental unit of time

in the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.

(A furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the

mass unit of the system is taken to be a firkin of water). The VMS

operating system has a lot of tuning parameters that you can set

with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the

time the system will wait for an operator to set the correct date

and time at boot if it realizes that the current value is bogus.

This time is specified in microfortnights!

Multiple uses of the millifortnight (about 20 minutes) and

{nanofortnight} have also been reported.

:microLenat: /mi:`-kroh-len'-*t/ /n./ The unit of

{bogosity}, written uL; the consensus is that this is

the largest unit practical for everyday use. The microLenat,

originally invented by David Jefferson, was promulgated as an

attack against noted computer scientist Doug Lenat by a {tenured

graduate student} at CMU. Doug had failed the student on an

important exam for giving only "AI is bogus" as his answer to the

questions. The slur is generally considered unmerited, but it has

become a running gag nevertheless. Some of Doug's friends argue

that *of course* a microLenat is bogus, since it is only one

millionth of a Lenat. Others have suggested that the unit should

be redesignated after the grad student, as the microReid.

:microReid: /mi:'kroh-reed/ /n./ See {microLenat}.

:Microsloth Windows: /mi:'kroh-sloth` win'dohz/ /n./

Hackerism for `Microsoft Windows', a windowing system for the

IBM-PC which is so limited by bug-for-bug compatibility with

{mess-dos} that it is agonizingly slow on anything less than a

fast 486. Also just called `Windoze', with the implication that

you can fall asleep waiting for it to do anything; the latter term

is extremely common on Usenet. See {Black Screen of Death};

compare {X}, {sun-stools}.

:microtape: /mi:'kroh-tayp/ /n./ Occasionally used to mean a

DECtape, as opposed to a {macrotape}. A DECtape is a small

reel, about 4 inches in diameter, of magnetic tape about an inch

wide. Unlike those for today's {macrotape}s, microtape drivers

allowed random access to the data, and therefore could be used to

support file systems and even for swapping (this was generally done

purely for {hack value}, as they were far too slow for practical

use). In their heyday they were used in pretty much the same ways

one would now use a floppy disk: as a small, portable way to save

and transport files and programs. Apparently the term

`microtape' was actually the official term used within DEC for

these tapes until someone coined the word `DECtape', which, of

course, sounded sexier to the {marketroid}s; another version of

the story holds that someone discovered a conflict with another

company's `microtape' trademark.

:middle-endian: /adj./ Not {big-endian} or

{little-endian}. Used of perverse byte orders such as 3-4-1-2

or 2-1-4-3, occasionally found in the packed-decimal formats of

minicomputer manufacturers who shall remain nameless. See {NUXI

problem}. Non-US hackers use this term to describe the American

mm/dd/yy style of writing dates (Europeans write dd/mm/yy).

:milliLampson: /mil'*-lamp`sn/ /n./ A unit of talking speed,

abbreviated mL. Most people run about 200 milliLampsons. The

eponymous Butler Lampson (a CS theorist and systems implementor

highly regarded among hackers) goes at 1000. A few people speak

faster. This unit is sometimes used to compare the (sometimes

widely disparate) rates at which people can generate ideas and

actually emit them in speech. For example, noted computer

architect C. Gordon Bell (designer of the PDP-11) is said, with

some awe, to think at about 1200 mL but only talk at about 300; he

is frequently reduced to fragments of sentences as his mouth tries

to keep up with his speeding brain.

:minifloppies: /n./ 5.25-inch {vanilla} floppy disks, as

opposed to 3.5-inch or {microfloppies} and the now-obsolescent

8-inch variety. At one time, this term was a trademark of Shugart

Associates for their SA-400 minifloppy drive. Nobody paid any

attention. See {stiffy}.

:MIPS: /mips/ /n./ [abbreviation] 1. A measure of computing

speed; formally, `Million Instructions Per Second' (that's

10^6 per second, not 2^(20)!); often rendered by

hackers as `Meaningless Indication of Processor Speed' or in

other unflattering ways. This joke expresses a nearly universal

attitude about the value of most {benchmark} claims, said

attitude being one of the great cultural divides between hackers

and {marketroid}s. The singular is sometimes `1 MIP' even

though this is clearly etymologically wrong. See also {KIPS}

and {GIPS}. 2. Computers, especially large computers,

considered abstractly as sources of {computron}s. "This is

just a workstation; the heavy MIPS are hidden in the basement."

3. The corporate name of a particular RISC-chip company; among

other things, they designed the processor chips used in DEC's 3100

workstation series. 4. Acronym for `Meaningless Information per

Second' (a joke, prob. from sense 1).

:misbug: /mis-buhg/ /n./ [MIT] An unintended property of a

program that turns out to be useful; something that should have

been a {bug} but turns out to be a {feature}. Usage: rare.

Compare {green lightning}. See {miswart}.

:misfeature: /mis-fee'chr/ or /mis'fee`chr/ /n./ A feature

that eventually causes lossage, possibly because it is not adequate

for a new situation that has evolved. Since it results from a

deliberate and properly implemented feature, a misfeature is not a

bug. Nor is it a simple unforeseen side effect; the term implies

that the feature in question was carefully planned, but its

long-term consequences were not accurately or adequately predicted

(which is quite different from not having thought ahead at all). A

misfeature can be a particularly stubborn problem to resolve,

because fixing it usually involves a substantial philosophical

change to the structure of the system involved.

Many misfeatures (especially in user-interface design) arise

because the designers/implementors mistake their personal tastes

for laws of nature. Often a former feature becomes a misfeature

because trade-offs were made whose parameters subsequently change

(possibly only in the judgment of the implementors). "Well, yeah,

it is kind of a misfeature that file names are limited to six

characters, but the original implementors wanted to save directory

space and we're stuck with it for now."

:Missed'em-five: /n./ Pejorative hackerism for AT&T System V

Unix, generally used by {BSD} partisans in a bigoted mood. (The

synonym `SysVile' is also encountered.) See {software bloat},

{Berzerkeley}.

:missile address: /n./ See {ICBM address}.

:miswart: /mis-wort/ /n./ [from {wart} by analogy with

{misbug}] A {feature} that superficially appears to be a

{wart} but has been determined to be the {Right Thing}. For

example, in some versions of the {EMACS} text editor, the

`transpose characters' command exchanges the character under the

cursor with the one before it on the screen, *except* when the

cursor is at the end of a line, in which case the two characters

before the cursor are exchanged. While this behavior is perhaps

surprising, and certainly inconsistent, it has been found through

extensive experimentation to be what most users want. This feature

is a miswart.

:moby: /moh'bee/ [MIT: seems to have been in use among

model railroad fans years ago. Derived from Melville's "Moby

Dick" (some say from `Moby Pickle').] 1. /adj./ Large, immense,

complex, impressive. "A Saturn V rocket is a truly moby frob."

"Some MIT undergrads pulled off a moby hack at the Harvard-Yale

game." (See "{The Meaning of `Hack'}").

2. /n./ obs. The maximum address space of a machine (see below).

For

a 680[234]0 or VAX or most modern 32-bit architectures, it is

4,294,967,296 8-bit bytes (4 gigabytes). 3. A title of address

(never of third-person reference), usually used to show admiration,

respect, and/or friendliness to a competent hacker. "Greetings,

moby Dave. How's that address-book thing for the Mac going?"

4. /adj./ In backgammon, doubles on the dice, as in `moby sixes',

`moby ones', etc. Compare this with {bignum} (sense 3):

double sixes are both bignums and moby sixes, but moby ones are not

bignums (the use of `moby' to describe double ones is sarcastic).

Standard emphatic forms: `Moby foo', `moby win', `moby loss'.

`Foby moo': a spoonerism due to Richard Greenblatt. 5. The

largest available unit of something which is available in discrete

increments. Thus, ordering a "moby Coke" at the local fast-food

joint is not just a request for a large Coke, it's an explicit

request for the largest size they sell.

This term entered hackerdom with the Fabritek 256K memory added to

the MIT AI PDP-6 machine, which was considered unimaginably huge

when it was installed in the 1960s (at a time when a more typical

memory size for a timesharing system was 72 kilobytes). Thus, a

moby is classically 256K 36-bit words, the size of a PDP-6 or

PDP-10 moby. Back when address registers were narrow the term was

more generally useful, because when a computer had virtual memory

mapping, it might actually have more physical memory attached to it

than any one program could access directly. One could then say

"This computer has 6 mobies" meaning that the ratio of physical

memory to address space is 6, without having to say specifically

how much memory there actually is. That in turn implied that the

computer could timeshare six `full-sized' programs without having

to swap programs between memory and disk.

Nowadays the low cost of processor logic means that address spaces

are usually larger than the most physical memory you can cram onto

a machine, so most systems have much *less* than one

theoretical `native' moby of {core}. Also, more modern

memory-management techniques (esp. paging) make the `moby

count' less significant. However, there is one series of

widely-used chips for which the term could stand to be revived ---

the Intel 8088 and 80286 with their incredibly {brain-damaged}

segmented-memory designs. On these, a `moby' would be the

1-megabyte address span of a segment/offset pair (by coincidence, a

PDP-10 moby was exactly 1 megabyte of 9-bit bytes).

:mockingbird: /n./ Software that intercepts communications

(especially login transactions) between users and hosts and

provides system-like responses to the users while saving their

responses (especially account IDs and passwords). A special case

of {Trojan horse}.

:mod: /vt.,n./ 1. Short for `modify' or `modification'.

Very commonly used -- in fact the full terms are considered

markers that one is being formal. The plural `mods' is used

esp. with reference to bug fixes or minor design changes in

hardware or software, most esp. with respect to {patch} sets

or a {diff}. 2. Short for {modulo} but used *only* for

its techspeak sense.

:mode: /n./ A general state, usually used with an adjective

describing the state. Use of the word `mode' rather than

`state' implies that the state is extended over time, and

probably also that some activity characteristic of that state is

being carried out. "No time to hack; I'm in thesis mode." In its

jargon sense, `mode' is most often attributed to people, though

it is sometimes applied to programs and inanimate objects. In

particular, see {hack mode}, {day mode}, {night mode},

{demo mode}, {fireworks mode}, and {yoyo mode}; also

{talk mode}.

One also often hears the verbs `enable' and `disable' used in

connection with jargon modes. Thus, for example, a sillier way of

saying "I'm going to crash" is "I'm going to enable crash mode

now". One might also hear a request to "disable flame mode,

please".

In a usage much closer to techspeak, a mode is a special state that

certain user interfaces must pass into in order to perform certain

functions. For example, in order to insert characters into a

document in the Unix editor `vi', one must type the "i" key,

which invokes the "Insert" command. The effect of this command

is to put vi into "insert mode", in which typing the "i" key

has a quite different effect (to wit, it inserts an "i" into the

document). One must then hit another special key, "ESC", in

order to leave "insert mode". Nowadays, modeful interfaces are

generally considered {losing} but survive in quite a few widely

used tools built in less enlightened times.

:mode bit: /n./ A {flag}, usually in hardware, that selects

between two (usually quite different) modes of operation. The

connotations are different from {flag} bit in that mode bits are

mainly written during a boot or set-up phase, are seldom explicitly

read, and seldom change over the lifetime of an ordinary program.

The classic example was the EBCDIC-vs.-ASCII bit (#12) of the

Program Status Word of the IBM 360. Another was the bit on a

PDP-12 that controlled whether it ran the PDP-8 or the LINC

instruction set.

:modulo: /mod'yu-loh/ /prep./ Except for. An

overgeneralization of mathematical terminology; one can consider

saying that 4 equals 22 except for the 9s (4 = 22 mod 9).

"Well, LISP seems to work okay now, modulo that {GC} bug."

"I feel fine today modulo a slight headache."

:molly-guard: /mol'ee-gard/ /n./ [University of Illinois] A

shield to prevent tripping of some {Big Red Switch} by clumsy or

ignorant hands. Originally used of the plexiglass covers

improvised for the BRS on an IBM 4341 after a programmer's toddler

daughter (named Molly) frobbed it twice in one day. Later

generalized to covers over stop/reset switches on disk drives and

networking equipment.

:Mongolian Hordes technique: /n./ [poss. from the Sixties

counterculture expression `Mongolian clusterfuck' for a public

orgy] Development by {gang bang}. Implies that large numbers of

inexperienced programmers are being put on a job better performed

by a few skilled ones. Also called `Chinese Army technique'; see

also {Brooks's Law}.

:monkey up: /vt./ To hack together hardware for a particular

task, especially a one-shot job. Connotes an extremely {crufty}

and consciously temporary solution. Compare {hack up},

{kluge up}, {cruft together}.

:monkey, scratch: /n./ See {scratch monkey}.

:monstrosity: 1. /n./ A ridiculously {elephantine} program

or system, esp. one that is buggy or only marginally functional.

2. /adj./ The quality of being monstrous (see `Overgeneralization'

in

the discussion of jargonification). See also {baroque}.

:monty: /mon'tee/ /n./ 1. [US Geological Survey] A program

with a ludicrously complex user interface written to perform

extremely trivial tasks. An example would be a menu-driven, button

clicking, pulldown, pop-up windows program for listing directories.

The original monty was an infamous weather-reporting program, Monty

the Amazing Weather Man, written at the USGS. Monty had a

widget-packed X-window interface with over 200 buttons; and all

monty actually *did* was {FTP} files off the network.

2. [Great Britain; commonly capitalized as `Monty' or as `the

Full Monty'] 16 megabytes of memory, when fitted to an IBM-PC or

compatible. A standard PC-compatible using the AT- or ISA-bus with

a normal BIOS cannot access more than 16 megabytes of RAM.

Generally used of a PC, Unix workstation, etc. to mean `fully

populated with' memory, disk-space or some other desirable

resource. This usage is possibly derived from a TV commercial for

Del Monte fruit juice, in which one of the characters insisted on

"the full Del Monte". Compare American {moby}.

:Moof: /moof/ [Macintosh users] 1. /n./ The call of a

semi-legendary creature, properly called the {dogcow}. (Some

previous versions of this entry claimed, incorrectly, that Moof was

the name of the *creature*.) 2. /adj./ Used to flag software

that's a hack, something untested and on the edge. On one Apple

CD-ROM, certain folders such as "Tools & Apps (Moof!)" and

"Development Platforms (Moof!)", are so marked to indicate that

they contain software not fully tested or sanctioned by the powers

that be. When you open these folders you cross the boundary into

hackerland. 3. /v./ On the Microsoft Network, the term `moof' has

gained popularity as a verb meaning `to be suddenly disconnected by

the system'. One might say "I got moofed".

:Moore's Law: /morz law/ /prov./ The observation that the

logic density of silicon integrated circuits has closely followed

the curve (bits per square inch) = 2^((t - 1962)) where

t is time in years; that is, the amount of information storable on

a given amount of silicon has roughly doubled every year since the

technology was invented. This relation, first uttered in 1964 by

semiconductor engineer Gordon Moore (who co-founded Intel four

years later) held until the late 1970s, at which point the doubling

period slowed to 18 months. It remained at that value through time

of writing (late 1995). See also {Parkinson's Law of Data}.

:moose call: /n./ See {whalesong}.

:moria: /mor'ee-*/ /n./ Like {nethack} and {rogue}, one

of the large PD Dungeons-and-Dragons-like simulation games,

available for a wide range of machines and operating systems. The

name is from Tolkien's Mines of Moria; compare {elder days},

{elvish}. The game is extremely addictive and a major consumer

of time better used for hacking.

:MOTAS: /moh-tahz/ /n./ [Usenet: Member Of The Appropriate

Sex, after {MOTOS} and {MOTSS}] A potential or (less often)

actual sex partner. See also {SO}.

:MOTOS: /moh-tohs/ /n./ [acronym from the 1970 U.S. census

forms via Usenet: Member Of The Opposite Sex] A potential or (less

often) actual sex partner. See {MOTAS}, {MOTSS}, {SO}.

Less common than MOTSS or {MOTAS}, which have largely displaced

it.

:MOTSS: /mots/ or /M-O-T-S-S/ /n./ [from the 1970

U.S. census forms via Usenet] Member Of The Same Sex, esp. one

considered as a possible sexual partner. The gay-issues newsgroup

on Usenet is called soc.motss. See {MOTOS} and {MOTAS},

which derive from it. See also {SO}.

:mouse ahead: /vi./ Point-and-click analog of `type ahead'.

To manipulate a computer's pointing device (almost always a mouse

in this usage, but not necessarily) and its selection or command

buttons before a computer program is ready to accept such input, in

anticipation of the program accepting the input. Handling this

properly is rare, but it can help make a {WIMP environment} much

more usable, assuming the users are familiar with the behavior of

the user interface.

:mouse around: /vi./ To explore public portions of a large

system, esp. a network such as Internet via {FTP} or

{TELNET}, looking for interesting stuff to {snarf}.

:mouse belt: /n./ See {rat belt}.

:mouse droppings: /n./ [MS-DOS] Pixels (usually single) that

are not properly restored when the mouse pointer moves away from a

particular location on the screen, producing the appearance that

the mouse pointer has left droppings behind. The major causes for

this problem are programs that write to the screen memory

corresponding to the mouse pointer's current location without

hiding the mouse pointer first, and mouse drivers that do not quite

support the graphics mode in use.

:mouse elbow: /n./ A tennis-elbow-like fatigue syndrome

resulting from excessive use of a {WIMP environment}.

Similarly, `mouse shoulder'; GLS reports that he used to get this

a lot before he taught himself to be ambimoustrous.

:mouso: /mow'soh/ /n./ [by analogy with `typo'] An error in

mouse usage resulting in an inappropriate selection or graphic

garbage on the screen. Compare {thinko}, {braino}.

:MS-DOS:: /M-S-dos/ /n./ [MicroSoft Disk Operating System] A

{clone} of {{CP/M}} for the 8088 crufted together in 6 weeks by

hacker Tim Paterson at Seattle Computer Products, who called the

original QDOS (Quick and Dirty Operating System) and is said to

have regretted it ever since. Microsoft licensed QDOS order to

have something to demo for IBM on time, and the rest is history.

Numerous features, including vaguely Unix-like but rather broken

support for subdirectories, I/O redirection, and pipelines, were

hacked into Microsoft's 2.0 and subsequent versions; as a result,

there are two or more incompatible versions of many system calls,

and MS-DOS programmers can never agree on basic things like what

character to use as an option switch or whether to be

case-sensitive. The resulting appalling mess is now the

highest-unit-volume OS in history. Often known simply as DOS,

which annoys people familiar with other similarly abbreviated

operating systems (the name goes back to the mid-1960s, when it was

attached to IBM's first disk operating system for the 360). The

name further annoys those who know what the term {operating

system} does (or ought to) connote; DOS is more properly a set of

relatively simple interrupt services. Some people like to

pronounce DOS like "dose", as in "I don't work on dose, man!",

or to compare it to a dose of brain-damaging drugs (a slogan button

in wide circulation among hackers exhorts: "MS-DOS: Just say

No!"). See {mess-dos}, {ill-behaved}.

:mu: /moo/ The correct answer to the classic trick question

"Have you stopped beating your wife yet?". Assuming that you

have no wife or you have never beaten your wife, the answer "yes"

is wrong because it implies that you used to beat your wife and

then stopped, but "no" is worse because it suggests that you have

one and are still beating her. According to various Discordians

and Douglas Hofstadter the correct answer is usually "mu", a

Japanese word alleged to mean "Your question cannot be answered

because it depends on incorrect assumptions". Hackers tend to be

sensitive to logical inadequacies in language, and many have

adopted this suggestion with enthusiasm. The word `mu' is

actually from Chinese, meaning `nothing'; it is used in

mainstream Japanese in that sense, but native speakers do not

recognize the Discordian question-denying use. It almost certainly

derives from overgeneralization of the answer in the following

well-known Rinzei Zen teaching riddle:

A monk asked Joshu, "Does a dog have the Buddha nature?" Joshu

retorted, "Mu!"

See also {has the X nature}, {AI Koans}, and Douglas

Hofstadter's "G"odel, Escher, Bach: An Eternal Golden Braid"

(pointer in the {Bibliography} in Appendix C.

:MUD: /muhd/ /n./ [acronym, Multi-User Dungeon; alt.

Multi-User Dimension] 1. A class of {virtual reality}

experiments accessible via the Internet. These are real-time chat

forums with structure; they have multiple `locations' like an

adventure game, and may include combat, traps, puzzles, magic, a

simple economic system, and the capability for characters to build

more structure onto the database that represents the existing

world. 2. /vi./ To play a MUD. The acronym MUD is often

lowercased

and/or verbed; thus, one may speak of `going mudding', etc.

Historically, MUDs (and their more recent progeny with names of MU-

form) derive from a hack by Richard Bartle and Roy Trubshaw on the

University of Essex's DEC-10 in the early 1980s; descendants of

that game still exist today and are sometimes generically called

BartleMUDs. There is a widespread myth (repeated,

unfortunately, by earlier versions of this lexicon) that the name

MUD was trademarked to the commercial MUD run by Bartle on British

Telecom (the motto: "You haven't *lived* 'til you've

*died* on MUD!"); however, this is false -- Richard Bartle

explicitly placed `MUD' in the public domain in 1985. BT was upset

at this, as they had already printed trademark claims on some maps

and posters, which were released and created the myth.

Students on the European academic networks quickly improved on the

MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD).

Many of these had associated bulletin-board systems for social

interaction. Because these had an image as `research' they

often survived administrative hostility to BBSs in general. This,

together with the fact that Usenet feeds were often spotty and

difficult to get in the U.K., made the MUDs major foci of hackish

social interaction there.

AberMUD and other variants crossed the Atlantic around 1988 and

quickly gained popularity in the U.S.; they became nuclei for large

hacker communities with only loose ties to traditional hackerdom

(some observers see parallels with the growth of Usenet in the

early 1980s). The second wave of MUDs (TinyMUD and variants)

tended to emphasize social interaction, puzzles, and cooperative

world-building as opposed to combat and competition. By 1991, over

50% of MUD sites were of a third major variety, LPMUD, which

synthesizes the combat/puzzle aspects of AberMUD and older systems

with the extensibility of TinyMud. In 1996 the cutting edge of the

technology is Pavel Curtis's MOO, even more extensible using a

built-in object-oriented language. The trend toward greater

programmability and flexibility will doubtless continue.

The state of the art in MUD design is still moving very rapidly,

with new simulation designs appearing (seemingly) every month.

Around 1991 there was an unsuccessful movement to deprecate the

term {MUD} itself, as newer designs exhibit an exploding variety

of names corresponding to the different simulation styles being

explored. It survived. See also {bonk/oif}, {FOD},

{link-dead}, {mudhead}, {talk mode}.

:muddie: /n./ Syn. {mudhead}. More common in Great Britain,

possibly because system administrators there like to mutter

"bloody muddies" when annoyed at the species.

:mudhead: /n./ Commonly used to refer to a {MUD} player who

eats, sleeps, and breathes MUD. Mudheads have been known to fail

their degrees, drop out, etc., with the consolation, however, that

they made wizard level. When encountered in person, on a MUD, or

in a chat system, all a mudhead will talk about is three topics:

the tactic, character, or wizard that is supposedly always unfairly

stopping him/her from becoming a wizard or beating a favorite MUD;

why the specific game he/she has experience with is so much better

than any other; and the MUD he or she is writing or going to write

because his/her design ideas are so much better than in any

existing MUD. See also {wannabee}.

To the anthropologically literate, this term may recall the

Zuni/Hopi legend of the mudheads or `koyemshi', mythical

half-formed children of an unnatural union. Figures representing

them act as clowns in Zuni sacred ceremonies. Others may recall

the `High School Madness' sequence from the Firesign Theater album

"Don't Crush That Dwarf, Hand Me the Pliers", in which there

is a character named "Mudhead".

:multician: /muhl-ti'shn/ /n./ [coined at Honeywell,

ca. 1970] Competent user of {{Multics}}. Perhaps oddly, no one

has ever promoted the analogous `Unician'.

:Multics:: /muhl'tiks/ /n./ [from "MULTiplexed Information

and Computing Service"] An early (late 1960s) timesharing

operating system co-designed by a consortium including MIT, GE, and

Bell Laboratories. Multics was very innovative for its time ---

among other things, it introduced the idea of treating all devices

uniformly as special files. All the members but GE eventually

pulled out after determining that {second-system effect} had

bloated Multics to the point of practical unusability (the

`lean' predecessor in question was {CTSS}). Honeywell

commercialized Multics after buying out GE's computer group, but it

was never very successful (among other things, on some versions one

was commonly required to enter a password to log out). One of the

developers left in the lurch by the project's breakup was Ken

Thompson, a circumstance which led directly to the birth of

{{Unix}}. For this and other reasons, aspects of the Multics

design remain a topic of occasional debate among hackers. See also

{brain-damaged} and {GCOS}.

:multitask: /n./ Often used of humans in the same meaning it

has for computers, to describe a person doing several things at

once (but see {thrash}). The term `multiplex', from

communications technology (meaning to handle more than one channel

at the same time), is used similarly.

:mumblage: /muhm'bl*j/ /n./ The topic of one's mumbling (see

{mumble}). "All that mumblage" is used like "all that

stuff" when it is not quite clear how the subject of discussion

works, or like "all that crap" when `mumble' is being used as

an implicit replacement for pejoratives.

:mumble: /interj./ 1. Said when the correct response is too

complicated to enunciate, or the speaker has not thought it out.

Often prefaces a longer answer, or indicates a general reluctance

to get into a long discussion. "Don't you think that we could

improve LISP performance by using a hybrid reference-count

transaction garbage collector, if the cache is big enough and there

are some extra cache bits for the microcode to use?" "Well,

mumble ... I'll have to think about it." 2. [MIT] Expression

of not-quite-articulated agreement, often used as an informal vote

of consensus in a meeting: "So, shall we dike out the COBOL

emulation?" "Mumble!" 3. Sometimes used as an expression of

disagreement (distinguished from sense 2 by tone of voice and other

cues). "I think we should buy a {VAX}." "Mumble!" Common

variant: `mumble frotz' (see {frotz}; interestingly, one does

not say `mumble frobnitz' even though `frotz' is short for

`frobnitz'). 4. Yet another {metasyntactic variable}, like

{foo}. 5. When used as a question ("Mumble?") means "I

didn't understand you". 6. Sometimes used in `public' contexts

on-line as a placefiller for things one is barred from giving

details about. For example, a poster with pre-released hardware in

his machine might say "Yup, my machine now has an extra 16M of

memory, thanks to the card I'm testing for Mumbleco." 7. A

conversational wild card used to designate something one doesn't

want to bother spelling out, but which can be {glark}ed from

context. Compare {blurgle}. 8. [XEROX PARC] A colloquialism

used to suggest that further discussion would be fruitless.

:munch: /vt./ [often confused with {mung}, q.v.] To

transform information in a serial fashion, often requiring large

amounts of computation. To trace down a data structure. Related

to {crunch} and nearly synonymous with {grovel}, but connotes

less pain.

:munching: /n./ Exploration of security holes of someone else's

computer for thrills, notoriety, or to annoy the system manager.

Compare {cracker}. See also {hacked off}.

:munching squares: /n./ A {display hack} dating back to the

PDP-1 (ca. 1962, reportedly discovered by Jackson Wright), which

employs a trivial computation (repeatedly plotting the graph Y = X

XOR T for successive values of T -- see {HAKMEM} items

146--148) to produce an impressive display of moving and growing

squares that devour the screen. The initial value of T is treated

as a parameter, which, when well-chosen, can produce amazing

effects. Some of these, later (re)discovered on the LISP machine,

have been christened `munching triangles' (try AND for XOR and

toggling points instead of plotting them), `munching w's', and

`munching mazes'. More generally, suppose a graphics program

produces an impressive and ever-changing display of some basic

form, foo, on a display terminal, and does it using a relatively

simple program; then the program (or the resulting display) is

likely to be referred to as `munching foos'. [This is a good

example of the use of the word {foo} as a {metasyntactic

variable}.]

:munchkin: /muhnch'kin/ /n./ [from the squeaky-voiced little

people in L. Frank Baum's "The Wizard of Oz"] A

teenage-or-younger micro enthusiast hacking BASIC or something else

equally constricted. A term of mild derision -- munchkins are

annoying but some grow up to be hackers after passing through a

{larval stage}. The term {urchin} is also used. See also

{wannabee}, {bitty box}.

:mundane: /n./ [from SF fandom] 1. A person who is not in

science fiction fandom. 2. A person who is not in the computer

industry. In this sense, most often an adjectival modifier as in

"in my mundane life...." See also {Real World}.

:mung: /muhng/ /vt./ [in 1960 at MIT, `Mash Until No Good';

sometime after that the derivation from the {{recursive acronym}}

`Mung Until No Good' became standard; but see {munge}] 1. To

make changes to a file, esp. large-scale and irrevocable changes.

See {BLT}. 2. To destroy, usually accidentally, occasionally

maliciously. The system only mungs things maliciously; this is a

consequence of {Finagle's Law}. See {scribble}, {mangle},

{trash}, {nuke}. Reports from {Usenet} suggest that the

pronunciation /muhnj/ is now usual in speech, but the spelling

`mung' is still common in program comments (compare the

widespread confusion over the proper spelling of {kluge}).

3. The kind of beans the sprouts of which are used in Chinese food.

(That's their real name! Mung beans! Really!)

Like many early hacker terms, this one seems to have originated at

{TMRC}; it was already in use there in 1958. Peter Samson

(compiler of the original TMRC lexicon) thinks it may originally

have been onomatopoeic for the sound of a relay spring (contact)

being twanged. However, it is known that during the World Wars,

`mung' was U.S. army slang for the ersatz creamed chipped beef

better known as `SOS', and it seems quite likely that the word in

fact goes back to Scots-dialect {munge}.

:munge: /muhnj/ /vt./ 1. [derogatory] To imperfectly

transform information. 2. A comprehensive rewrite of a routine,

data structure or the whole program. 3. To modify data in some way

the speaker doesn't need to go into right now or cannot describe

succinctly (compare {mumble}).

This term is often confused with {mung}, which probably was

derived from it. However, it also appears the word `munge' was in

common use in Scotland in the 1940s, and in Yorkshire in the 1950s,

as a verb, meaning to munch up into a masticated mess, and

as a noun, meaning the result of munging something up (the

parallel with the {kluge}/{kludge} pair is amusing).

:Murphy's Law: /prov./ The correct, *original* Murphy's

Law reads: "If there are two or more ways to do something, and one

of those ways can result in a catastrophe, then someone will do

it." This is a principle of defensive design, cited here because

it is usually given in mutant forms less descriptive of the

challenges of design for {luser}s. For example, you don't make a

two-pin plug symmetrical and then label it `THIS WAY UP'; if it

matters which way it is plugged in, then you make the design

asymmetrical (see also the anecdote under {magic smoke}).

Edward A. Murphy, Jr. was one of the engineers on the rocket-sled

experiments that were done by the U.S. Air Force in 1949 to test

human acceleration tolerances (USAF project MX981). One experiment

involved a set of 16 accelerometers mounted to different parts of

the subject's body. There were two ways each sensor could be glued

to its mount, and somebody methodically installed all 16 the wrong

way around. Murphy then made the original form of his

pronouncement, which the test subject (Major John Paul Stapp)

quoted at a news conference a few days later.

Within months `Murphy's Law' had spread to various technical

cultures connected to aerospace engineering. Before too many years

had gone by variants had passed into the popular imagination,

changing as they went. Most of these are variants on "Anything

that can go wrong, will"; this is correctly referred to as

{Finagle's Law}. The memetic drift apparent in these mutants

clearly demonstrates Murphy's Law acting on itself!

:music:: /n./ A common extracurricular interest of hackers

(compare {{science-fiction fandom}}, {{oriental food}}; see also

{filk}). Hackish folklore has long claimed that musical and

programming abilities are closely related, and there has been at

least one large-scale statistical study that supports this.

Hackers, as a rule, like music and often develop musical

appreciation in unusual and interesting directions. Folk music is

very big in hacker circles; so is electronic music, and the sort of

elaborate instrumental jazz/rock that used to be called

`progressive' and isn't recorded much any more. The hacker's

musical range tends to be wide; many can listen with equal

appreciation to (say) Talking Heads, Yes, Gentle Giant, Pat

Metheny, Scott Joplin, Tangerine Dream, Dream Theater, King Sunny

Ade, The Pretenders, Screaming Trees, or the Brandenburg Concerti.

It is also apparently true that hackerdom includes a much higher

concentration of talented amateur musicians than one would expect

from a similar-sized control group of {mundane} types.

:mutter: /vt./ To quietly enter a command not meant for the

ears, eyes, or fingers of ordinary mortals. Often used in `mutter

an {incantation}'. See also {wizard}.

= N =

=====

:N: /N/ /quant./ 1. A large and indeterminate number of

objects: "There were N bugs in that crock!" Also used in

its original sense of a variable name: "This crock has N

bugs, as N goes to infinity." (The true number of bugs is

always at least N + 1; see {Lubarsky's Law of Cybernetic

Entomology}.) 2. A variable whose value is inherited from the

current context. For example, when a meal is being ordered at a

restaurant, N may be understood to mean however many people

there are at the table. From the remark "We'd like to order

N wonton soups and a family dinner for N - 1" you

can deduce that one person at the table wants to eat only soup,

even though you don't know how many people there are (see

{great-wall}). 3. `Nth': /adj./ The ordinal counterpart

of N, senses 1 and 2. "Now for the Nth and last

time..." In the specific context "Nth-year grad

student", N is generally assumed to be at least 4, and is

usually 5 or more (see {tenured graduate student}). See also

{{random numbers}}, {two-to-the-N}.

:nadger: /nad'jr/ /v./ [UK] Of software or hardware (not

people), to twiddle some object in a hidden manner, generally so

that it conforms better to some format. For instance, string

printing routines on 8-bit processors often take the string text

from the instruction stream, thus a print call looks like `jsr

print:"Hello world"'. The print routine has to `nadger' the

saved instruction pointer so that the processor doesn't try to

execute the text as instructions when the subroutine returns.

Apparently this word originated on a now-legendary 1950s radio

comedy program called "The Goon Show". The Goon Show usage

of "nadger" was definitely in the sense of "jinxed"

"clobbered" "fouled up". The American mutation {adger}

seems to have preserved more of the original flavor.

:nagware: /nag'weir/ /n./ [Usenet] The variety of {shareware}

that displays a large screen at the beginning or end reminding you

to register, typically requiring some sort of keystroke to continue

so that you can't use the software in batch mode. Compare

{crippleware}.

:nailed to the wall: /adj./ [like a trophy] Said of a bug

finally eliminated after protracted, and even heroic, effort.

:nailing jelly: /vi./ See {like nailing jelly to a tree}.

:naive: /adj./ Untutored in the perversities of some particular

program or system; one who still tries to do things in an intuitive

way, rather than the right way (in really good designs these

coincide, but most designs aren't `really good' in the

appropriate sense). This trait is completely unrelated to general

maturity or competence, or even competence at any other specific

program. It is a sad commentary on the primitive state of

computing that the natural opposite of this term is often claimed

to be `experienced user' but is really more like `cynical

user'.

:naive user: /n./ A {luser}. Tends to imply someone who is

ignorant mainly owing to inexperience. When this is applied to

someone who *has* experience, there is a definite implication

of stupidity.

:NAK: /nak/ /interj./ [from the ASCII mnemonic for 0010101]

1. On-line joke answer to {ACK}?: "I'm not here." 2. On-line

answer to a request for chat: "I'm not available." 3. Used to

politely interrupt someone to tell them you don't understand their

point or that they have suddenly stopped making sense. See

{ACK}, sense 3. "And then, after we recode the project in

COBOL...." "Nak, Nak, Nak! I thought I heard you say

COBOL!"

:nano: /nan'oh/ /n./ [CMU: from `nanosecond'] A brief

period of time. "Be with you in a nano" means you really will be

free shortly, i.e., implies what mainstream people mean by "in a

jiffy" (whereas the hackish use of `jiffy' is quite different

-- see {jiffy}).

:nano-: /pref./ [SI: the next quantifier below {micro-};

meaning * 10^(-9)] Smaller than {micro-}, and used in

the same rather loose and connotative way. Thus, one has

{{nanotechnology}} (coined by hacker K. Eric Drexler) by analogy

with `microtechnology'; and a few machine architectures have a

`nanocode' level below `microcode'. Tom Duff at Bell Labs has

also pointed out that "Pi seconds is a nanocentury".

See also {{quantifiers}}, {pico-}, {nanoacre}, {nanobot},

{nanocomputer}, {nanofortnight}.

:nanoacre: /nan'oh-ay`kr/ /n./ A unit (about 2 mm square) of

real estate on a VLSI chip. The term gets its giggle value from

the fact that VLSI nanoacres have costs in the same range as real

acres once one figures in design and fabrication-setup costs.

:nanobot: /nan'oh-bot/ /n./ A robot of microscopic

proportions, presumably built by means of {{nanotechnology}}. As

yet, only used informally (and speculatively!). Also called a

`nanoagent'.

:nanocomputer: /nan'oh-k*m-pyoo'tr/ /n./ A computer with

molecular-sized switching elements. Designs for mechanical

nanocomputers which use single-molecule sliding rods for their

logic have been proposed. The controller for a {nanobot} would

be a nanocomputer.

:nanofortnight: /n./ [Adelaide University] 1 fortnight

* 10^(-9), or about 1.2 msec. This unit was used

largely by students doing undergraduate practicals. See

{microfortnight}, {attoparsec}, and {micro-}.

:nanotechnology:: /nan'-oh-tek-no`l*-jee/ /n./ A hypothetical

fabrication technology in which objects are designed and built with

the individual specification and placement of each separate atom.

The first unequivocal nanofabrication experiments took place in

1990, for example with the deposition of individual xenon atoms on

a nickel substrate to spell the logo of a certain very large

computer company. Nanotechnology has been a hot topic in the

hacker subculture ever since the term was coined by K. Eric Drexler

in his book "Engines of Creation" (Anchor/Doubleday, ISBN

0-385-19973-2), where he predicted that nanotechnology could give

rise to replicating assemblers, permitting an exponential growth of

productivity and personal wealth. See also {blue goo}, {gray

goo}, {nanobot}.

:nasal demons: /n./ Recognized shorthand on the Usenet group

comp.std.c for any unexpected behavior of a C compiler on

encountering an undefined construct. During a discussion on that

group in early 1992, a regular remarked "When the compiler

encounters [a given undefined construct] it is legal for it to make

demons fly out of your nose" (the implication is that the compiler

may choose any arbitrarily bizarre way to interpret the code

without violating the ANSI C standard). Someone else followed up

with a reference to "nasal demons", which quickly became

established.

:nastygram: /nas'tee-gram/ /n./ 1. A protocol packet or item

of email (the latter is also called a {letterbomb}) that takes

advantage of misfeatures or security holes on the target system to

do untoward things. 2. Disapproving mail, esp. from a

{net.god}, pursuant to a violation of {netiquette} or a

complaint about failure to correct some mail- or news-transmission

problem. Compare {shitogram}, {mailbomb}. 3. A status

report from an unhappy, and probably picky, customer. "What'd

Corporate say in today's nastygram?" 4. [deprecated] An error

reply by mail from a {daemon}; in particular, a {bounce

message}.

:Nathan Hale: /n./ An asterisk (see also {splat},

{{ASCII}}). Oh, you want an etymology? Notionally, from "I

regret that I have only one asterisk for my country!", a misquote

of the famous remark uttered by Nathan Hale just before he was

hanged. Hale was a (failed) spy for the rebels in the American War

of Independence.

:nature: /n./ See {has the X nature}.

:neat hack: /n./ 1. A clever technique. 2. A brilliant

practical joke, where neatness is correlated with cleverness,

harmlessness, and surprise value. Example: the Caltech Rose Bowl

card display switch (see "{The Meaning of `Hack'}",

Appendix A). See also {hack}.

:neats vs. scruffies: /n./ The label used to refer to one of

the continuing {holy wars} in AI research. This conflict

tangles together two separate issues. One is the relationship

between human reasoning and AI; `neats' tend to try to build

systems that `reason' in some way identifiably similar to the

way humans report themselves as doing, while `scruffies' profess

not to care whether an algorithm resembles human reasoning in the

least as long as it works. More importantly, neats tend to believe

that logic is king, while scruffies favor looser, more ad-hoc

methods driven by empirical knowledge. To a neat, scruffy methods

appear promiscuous, successful only by accident, and not productive

of insights about how intelligence actually works; to a scruffy,

neat methods appear to be hung up on formalism and irrelevant to

the hard-to-capture `common sense' of living intelligences.

:neep-neep: /neep neep/ /n./ [onomatopoeic, widely spread

through SF fandom but reported to have originated at Caltech in the

1970s] One who is fascinated by computers. Less specific than

{hacker}, as it need not imply more skill than is required to

boot games on a PC. The derived noun `neeping' applies

specifically to the long conversations about computers that tend to

develop in the corners at most SF-convention parties (the term

`neepery' is also in wide use). Fandom has a related proverb to

the effect that "Hacking is a conversational black hole!".

:neophilia: /nee`oh-fil'-ee-*/ /n./ The trait of being

excited and pleased by novelty. Common among most hackers, SF

fans, and members of several other connected leading-edge

subcultures, including the pro-technology `Whole Earth' wing of

the ecology movement, space activists, many members of Mensa, and

the Discordian/neo-pagan underground. All these groups overlap

heavily and (where evidence is available) seem to share

characteristic hacker tropisms for science fiction, {{music}}, and

{{oriental food}}. The opposite tendency is `neophobia'.

:nerd: /n./ 1. [mainstream slang] Pejorative applied to anyone

with an above-average IQ and few gifts at small talk and ordinary

social rituals. 2. [jargon] Term of praise applied (in conscious

ironic reference to sense 1) to someone who knows what's really

important and interesting and doesn't care to be distracted by

trivial chatter and silly status games. Compare the two senses of

{computer geek}.

The word itself appears to derive from the lines "And then, just to

show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a

Preep

and a Proo, / A Nerkle, a Nerd, and a Seersucker, too!" in the

Dr. Seuss book "If I Ran the Zoo" (1950). (The spellings

`nurd' and `gnurd' also used to be current at MIT.) How it

developed its mainstream meaning is unclear, but sense 1 seems to

have entered mass culture in the early 1970s (there are reports

that in the mid-1960s it meant roughly "annoying misfit"

without the connotation of intelligence).

An IEEE Spectrum article (4/95, page 16) once derived `nerd' in its

variant form `knurd' from the word `drunk' backwards, but this

bears all the earmarks of a bogus folk etymology.

Hackers developed sense 2 in self-defense perhaps ten years later,

and some actually wear "Nerd Pride" buttons, only half as a

joke. At MIT one can find not only buttons but (what else?) pocket

protectors bearing the slogan and the MIT seal.

:net.-: /net dot/ /pref./ [Usenet] Prefix used to describe

people and events related to Usenet. From the time before the

{Great Renaming}, when most non-local newsgroups had names

beginning `net.'. Includes {net.god}s, `net.goddesses'

(various charismatic net.women with circles of on-line admirers),

`net.lurkers' (see {lurker}), `net.person', `net.parties'

(a synonym for {boink}, sense 2), and many similar constructs.

See also {net.police}.

:net.god: /net god/ /n./ Accolade referring to anyone who

satisfies some combination of the following conditions: has been

visible on Usenet for more than 5 years, ran one of the original

backbone sites, moderated an important newsgroup, wrote news

software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and Greg

personally. See {demigod}. Net.goddesses such as Rissa or the

Slime Sisters have (so far) been distinguished more by personality

than by authority.

:net.personality: /net per`sn-al'-*-tee/ /n./ Someone who has

made a name for him or herself on {Usenet}, through either

longevity or attention-getting posts, but doesn't meet the other

requirements of {net.god}hood.

:net.police: /net-p*-lees'/ /n./ (var. `net.cops') Those

Usenet readers who feel it is their responsibility to pounce on and

{flame} any posting which they regard as offensive or in

violation of their understanding of {netiquette}. Generally

used sarcastically or pejoratively. Also spelled `net police'.

See also {net.-}, {code police}.

:NetBOLLIX: /n./ [from bollix: to bungle] {IBM}'s NetBIOS, an

extremely {brain-damaged} network protocol that, like {Blue

Glue}, is used at commercial shops that don't know any better.

:netburp: /n./ [IRC] When {netlag} gets really bad, and

delays between servers exceed a certain threshhold, the {IRC}

network effectively becomes partitioned for a period of time, and

large numbers of people seem to be signing off at the same time and

then signing back on again when things get better. An instance of

this is called a `netburp' (or, sometimes, {netsplit}).

:netdead: /n./ [IRC] The state of someone who signs off

{IRC}, perhaps during a {netburp}, and doesn't sign back on

until later. In the interim, he is "dead to the net".

:nethack: /net'hak/ /n./ [Unix] A dungeon game similar to

{rogue} but more elaborate, distributed in C source over

{Usenet} and very popular at Unix sites and on PC-class machines

(nethack is probably the most widely distributed of the freeware

dungeon games). The earliest versions, written by Jay Fenlason and

later considerably enhanced by Andries Brouwer, were simply called

`hack'. The name changed when maintenance was taken over by a

group of hackers originally organized by Mike Stephenson; the

current contact address (as of early 1996) is

nethack-bugs@linc.cis.upenn.edu.

:netiquette: /net'ee-ket/ or /net'i-ket/ /n./ [portmanteau

from "network etiquette"] The conventions of politeness

recognized on {Usenet}, such as avoidance of cross-posting to

inappropriate groups and refraining from commercial pluggery

outside the biz groups.

:netlag: /n./ [IRC, MUD] A condition that occurs when the

delays in the {IRC} network or on a {MUD} become severe

enough that servers briefly lose and then reestablish contact,

causing messages to be delivered in bursts, often with delays of up

to a minute. (Note that this term has nothing to do with

mainstream "jet lag", a condition which hackers tend not to be

much bothered by.)

:netnews: /net'n[y]ooz/ /n./ 1. The software that makes

{Usenet} run. 2. The content of Usenet. "I read netnews

right after my mail most mornings."

:netrock: /net'rok/ /n./ [IBM] A {flame}; used esp. on

VNET, IBM's internal corporate network.

:netsplit: /n./ Syn. {netburp}.

:netter: /n./ 1. Loosely, anyone with a {network address}.

2. More specifically, a {Usenet} regular. Most often found in

the plural. "If you post *that* in a technical group, you're

going to be flamed by angry netters for the rest of time!"

:network address: /n./ (also `net address') As used by

hackers, means an address on `the' network (see {network,

the}; this used to include {bang path} addresses but now almost

always implies an {{Internet address}}).

Display of a network address is essential if one wants to be to be

taken seriously by hackers; in particular, persons or organizations

that claim to understand, work with, sell to, or recruit from among

hackers but *don't* display net addresses are quietly presumed

to be clueless poseurs and mentally flushed (see {flush}, sense

4). Hackers often put their net addresses on their business cards

and wear them prominently in contexts where they expect to meet

other hackers face-to-face (see also {{science-fiction fandom}}).

This is mostly functional, but is also a signal that one identifies

with hackerdom (like lodge pins among Masons or tie-dyed T-shirts

among Grateful Dead fans). Net addresses are often used in email

text as a more concise substitute for personal names; indeed,

hackers may come to know each other quite well by network names

without ever learning each others' `legal' monikers. See also

{sitename}, {domainist}.

[1996 update: the lodge-pin function of the network address has

been gradually eroding in the last two years as Internet and World

Wide Web usage have become common outside hackerdom. -- ESR]

:network meltdown: /n./ A state of complete network overload;

the network equivalent of {thrash}ing. This may be induced by a

{Chernobyl packet}. See also {broadcast storm}, {kamikaze

packet}.

Network meltdown is often a result of network designs that are

optimized for a steady state of moderate load and don't cope well

with the very jagged, bursty usage patterns of the real world. One

amusing instance of this is triggered by the the popular and very

bloody shoot-'em-up game Doom on the PC. When used in

multiplayer mode over a network, the game uses broadcast packets to

inform other machines when bullets are fired. This causes problems

with weapons like the chain gun which fire rapidly -- it can blast

the network into a meltdown state just as easily as it shreds

opposing monsters.

:network, the: /n./ 1. The union of all the major

noncommercial, academic, and hacker-oriented networks, such as

Internet, the pre-1990 ARPANET, NSFnet, {BITNET}, and the

virtual UUCP and {Usenet} `networks', plus the corporate

in-house networks and commercial time-sharing services (such as

CompuServe, GEnie and AOL) that gateway to them. A site is

generally considered `on the network' if it can be reached

through some combination of Internet-style (@-sign) and UUCP

(bang-path) addresses. See {Internet}, {bang path},

{{Internet address}}, {network address}. Following the

mass-culture discovery of the Internet in 1994 and subsequent

proliferation of cheap TCP/IP connections, "the network" is

increasingly synonymous with the Internet itself (as it was before

the second wave of wide-area computer networking began around

1980).

2. A fictional conspiracy of libertarian hacker-subversives and

anti-authoritarian monkeywrenchers described in Robert Anton

Wilson's novel "Schr"odinger's Cat", to which many hackers

have subsequently decided they belong (this is an example of {ha

ha only serious}).

In sense 1, `network' is often abbreviated to `net'. "Are

you on the net?" is a frequent question when hackers first meet

face to face, and "See you on the net!" is a frequent goodbye.

:New Jersey: /adj./ [primarily Stanford/Silicon Valley]

Brain-damaged or of poor design. This refers to the allegedly

wretched quality of such software as C, C++, and Unix (which

originated at Bell Labs in Murray Hill, New Jersey). "This

compiler bites the bag, but what can you expect from a compiler

designed in New Jersey?" Compare {Berkeley Quality Software}.

See also {Unix conspiracy}.

:New Testament: /n./ [C programmers] The second edition of

K&R's "The C Programming Language" (Prentice-Hall, 1988; ISBN

0-13-110362-8), describing ANSI Standard C. See {K&R}; this

version is also called `K&R2'.

:newbie: /n[y]oo'bee/ /n./ [orig. from British public-school

and military slang variant of `new boy'] A Usenet neophyte. This

term surfaced in the {newsgroup} talk.bizarre but is now in

wide use. Criteria for being considered a newbie vary wildly; a

person can be called a newbie in one newsgroup while remaining a

respected regular in another. The label `newbie' is sometimes

applied as a serious insult to a person who has been around Usenet

for a long time but who carefully hides all evidence of having a

clue. See {B1FF}.

:newgroup wars: /n[y]oo'groop worz/ /n./ [Usenet] The salvos of

dueling `newgroup' and `rmgroup' messages sometimes

exchanged by persons on opposite sides of a dispute over whether a

{newsgroup} should be created net-wide, or (even more

frequently) whether an obsolete one should be removed. These

usually settle out within a week or two as it becomes clear whether

the group has a natural constituency (usually, it doesn't). At

times, especially in the completely anarchic alt hierarchy, the

names of newsgroups themselves become a form of comment or humor;

e.g., the spinoff of alt.swedish.chef.bork.bork.bork from

alt.tv.muppets in early 1990, or any number of specialized

abuse groups named after particularly notorious {flamer}s, e.g.,

alt.weemba.

:newline: /n[y]oo'li:n/ /n./ 1. [techspeak, primarily Unix]

The ASCII LF character (0001010), used under {{Unix}} as a text

line terminator. A Bell-Labs-ism rather than a Berkeleyism;

interestingly (and unusually for Unix jargon), it is said to have

originally been an IBM usage. (Though the term `newline'

appears in ASCII standards, it never caught on in the general

computing world before Unix). 2. More generally, any magic

character, character sequence, or operation (like Pascal's writeln

procedure) required to terminate a text record or separate lines.

See {crlf}, {terpri}.

:NeWS: /nee'wis/, /n[y]oo'is/ or /n[y]ooz/ /n./ [acronym;

the `Network Window System'] The road not taken in window systems,

an elegant {{PostScript}}-based environment that would almost

certainly have won the standards war with {X} if it hadn't been

{proprietary} to Sun Microsystems. There is a lesson here that

too many software vendors haven't yet heeded. Many hackers insist

on the two-syllable pronunciations above as a way of distinguishing

NeWS from {news} (the {netnews} software).

:news: /n./ See {netnews}.

:newsfroup: // /n./ [Usenet] Silly synonym for {newsgroup},

originally a typo but now in regular use on Usenet's talk.bizarre

and other lunatic-fringe groups. Compare {hing}, {grilf},

and {filk}.

:newsgroup: /n./ [Usenet] One of {Usenet}'s huge collection of

topic groups or {fora}. Usenet groups can be `unmoderated'

(anyone can post) or `moderated' (submissions are automatically

directed to a moderator, who edits or filters and then posts the

results). Some newsgroups have parallel {mailing list}s for

Internet people with no netnews access, with postings to the group

automatically propagated to the list and vice versa. Some

moderated groups (especially those which are actually gatewayed

Internet mailing lists) are distributed as `digests', with groups

of postings periodically collected into a single large posting with

an index.

Among the best-known are comp.lang.c (the C-language forum),

comp.arch (on computer architectures), comp.unix.wizards

(for Unix wizards), rec.arts.sf.written and siblings (for

science-fiction fans), and talk.politics.misc (miscellaneous

political discussions and {flamage}).

:nick: /n./ [IRC] Short for nickname. On {IRC}, every user must

pick a nick, which is sometimes the same as the user's real name or

login name, but is often more fanciful. Compare {handle}.

:nickle: /ni'kl/ /n./ [from `nickel', common name for the

U.S. 5-cent coin] A {nybble} + 1; 5 bits. Reported among

developers for Mattel's GI 1600 (the Intellivision games

processor), a chip with 16-bit-wide RAM but 10-bit-wide ROM. See

also {deckle}, and {nybble} for names of other bit units.

:night mode: /n./ See {phase} (of people).

:Nightmare File System: /n./ Pejorative hackerism for Sun's

Network File System (NFS). In any nontrivial network of Suns

where there is a lot of NFS cross-mounting, when one Sun goes down,

the others often freeze up. Some machine tries to access the down

one, and (getting no response) repeats indefinitely. This causes

it to appear dead to some messages (what is actually happening is

that it is locked up in what should have been a brief excursion to

a higher {spl} level). Then another machine tries to reach

either the down machine or the pseudo-down machine, and itself

becomes pseudo-down. The first machine to discover the down one is

now trying both to access the down one and to respond to the

pseudo-down one, so it is even harder to reach. This situation

snowballs very quickly, and soon the entire network of machines is

frozen -- worst of all, the user can't even abort the file access

that started the problem! Many of NFS's problems are excused by

partisans as being an inevitable result of its statelessness, which

is held to be a great feature (critics, of course, call it a great

{misfeature}). (ITS partisans are apt to cite this as proof of

Unix's alleged bogosity; ITS had a working NFS-like shared file

system with none of these problems in the early 1970s.) See also

{broadcast storm}.

:NIL: /nil/ No. Used in reply to a question, particularly

one asked using the `-P' convention. Most hackers assume this

derives simply from LISP terminology for `false' (see also

{T}), but NIL as a negative reply was well-established among

radio hams decades before the advent of LISP. The historical

connection between early hackerdom and the ham radio world was

strong enough that this may have been an influence.

:Ninety-Ninety Rule: /n./ "The first 90% of the code accounts

for the first 90% of the development time. The remaining 10% of

the code accounts for the other 90% of the development time."

Attributed to Tom Cargill of Bell Labs, and popularized by Jon

Bentley's September 1985 "Bumper-Sticker Computer Science"

column in "Communications of the ACM". It was there called

the "Rule of Credibility", a name which seems not to have stuck.

:NMI: /N-M-I/ /n./ Non-Maskable Interrupt. An IRQ 7 on the

PDP-11 or 680[01234]0; the NMI line on an 80[1234]86. In contrast

with a {priority interrupt} (which might be ignored, although

that is unlikely), an NMI is *never* ignored. Except, that

is, on {clone} boxes, where NMI is often ignored on the

motherboard because flaky hardware can generate many spurious

ones.

:no-op: /noh'op/ /n.,v./ alt. NOP /nop/ [no operation]

1. A machine instruction that does nothing (sometimes used in

assembler-level programming as filler for data or patch areas, or

to overwrite code to be removed in binaries). See also {JFCL}.

2. A person who contributes nothing to a project, or has nothing

going on upstairs, or both. As in "He's a no-op." 3. Any

operation or sequence of operations with no effect, such as

circling the block without finding a parking space, or putting

money into a vending machine and having it fall immediately into

the coin-return box, or asking someone for help and being told to

go away. "Oh, well, that was a no-op." Hot-and-sour soup (see

{great-wall}) that is insufficiently either is `no-op soup';

so is wonton soup if everybody else is having hot-and-sour.

:noddy: /nod'ee/ /adj./ [UK: from the children's books]

1. Small and un-useful, but demonstrating a point. Noddy programs

are often written by people learning a new language or system. The

archetypal noddy program is {hello, world}. Noddy code may be

used to demonstrate a feature or bug of a compiler. May be used of

real hardware or software to imply that it isn't worth using.

"This editor's a bit noddy." 2. A program that is more or less

instant to produce. In this use, the term does not necessarily

connote uselessness, but describes a {hack} sufficiently trivial

that it can be written and debugged while carrying on (and during

the space of) a normal conversation. "I'll just throw together a

noddy {awk} script to dump all the first fields." In North

America this might be called a {mickey mouse program}. See

{toy program}.

:node: /n./ 1. [Internet, UUCP] A host machine on the network.

2. [MS-DOS BBSes] A dial-in line on a BBS. Thus an MS-DOS {sysop}

might say that his BBS has 4 nodes even though it has a single

machine and no Internet link, confusing an Internet hacker no end.

:NOMEX underwear: /noh'meks uhn'-der-weir/ /n./ [Usenet] Syn.

{asbestos longjohns}, used mostly in auto-related mailing lists

and newsgroups. NOMEX underwear is an actual product available on

the racing equipment market, used as a fire resistance measure and

required in some racing series.

:Nominal Semidestructor: /n./ Soundalike slang for `National

Semiconductor', found among other places in the Networking/2

networking sources. During the late 1970s to mid-1980s this

company marketed a series of microprocessors including the NS16000

and NS32000 and several variants. At one point early in the great

microprocessor race, the specs on these chips made them look like

serious competition for the rising Intel 80x86 and Motorola 680x0

series. Unfortunately, the actual parts were notoriously flaky and

never implemented the full instruction set promised in their

literature, apparently because the company couldn't get any of the

mask steppings to work as designed. They eventually sank without

trace, joining the Zilog Z8000 and a few even more obscure

also-rans in the graveyard of forgotten microprocessors. Compare

{HP-SUX}, {AIDX}, {buglix}, {Macintrash}, {Telerat},

{Open DeathTrap}, {ScumOS}, {sun-stools}.

:non-optimal solution: /n./ (also `sub-optimal solution') An

astoundingly stupid way to do something. This term is generally

used in deadpan sarcasm, as its impact is greatest when the person

speaking looks completely serious. Compare {stunning}. See

also {Bad Thing}.

:nonlinear: /adj./ [scientific computation] 1. Behaving in an

erratic and unpredictable fashion; unstable. When used to describe

the behavior of a machine or program, it suggests that said machine

or program is being forced to run far outside of design

specifications. This behavior may be induced by unreasonable

inputs, or may be triggered when a more mundane bug sends the

computation far off from its expected course. 2. When describing

the behavior of a person, suggests a tantrum or a {flame}.

"When you talk to Bob, don't mention the drug problem or he'll go

nonlinear for hours." In this context, `go nonlinear' connotes

`blow up out of proportion' (proportion connotes linearity).

:nontrivial: /adj./ Requiring real thought or significant

computing power. Often used as an understated way of saying that a

problem is quite difficult or impractical, or even entirely

unsolvable ("Proving P=NP is nontrivial"). The preferred

emphatic form is `decidedly nontrivial'. See {trivial},

{uninteresting}, {interesting}.

:not ready for prime time: /adj./ Usable, but only just so; not

very robust; for internal use only. Said of a program or device.

Often connotes that the thing will be made more solid {Real Soon

Now}. This term comes from the ensemble name of the original cast

of "Saturday Night Live", the "Not Ready for Prime Time

Players". It has extra flavor for hackers because of the special

(though now semi-obsolescent) meaning of {prime time}. Compare

{beta}.

:notwork: /not'werk/ /n./ A network, when it is acting

{flaky} or is {down}. Compare {nyetwork}. Said at IBM to

have originally referred to a particular period of flakiness on

IBM's VNET corporate network ca. 1988; but there are independent

reports of the term from elsewhere.

:NP-: /N-P/ /pref./ Extremely. Used to modify adjectives

describing a level or quality of difficulty; the connotation is

often `more so than it should be' This is generalized from the

computer-science terms `NP-hard' and `NP-complete';

NP-complete problems all seem to be very hard, but so far no one

has found a good a priori reason that they should be. NP is

the set of Nondeterministic-Polynomial algorithms, those that can

be completed by a nondeterministic Turing machine in an amount of

time that is a polynomial function of the size of the input; a

solution for one NP-complete problem would solve all the others.

"Coding a BitBlt implementation to perform correctly in every case

is NP-annoying."

:nroff:: /N'rof/ /n./ [Unix, from "new roff" (see

{{troff}})] A companion program to the Unix typesetter {{troff}},

accepting identical input but preparing output for terminals and

line printers.

:NSA line eater: /n./ The National Security Agency trawling

program sometimes assumed to be reading the net for the

U.S. Government's spooks. Most hackers describe it as a mythical

beast, but some believe it actually exists, more aren't sure, and

many believe in acting as though it exists just in case. Some

netters put loaded phrases like `KGB', `Uzi', `nuclear

materials', `Palestine', `cocaine', and `assassination' in

their {sig block}s in a (probably futile) attempt to confuse and

overload the creature. The {GNU} version of {EMACS} actually

has a command that randomly inserts a bunch of insidious

anarcho-verbiage into your edited text.

There is a mainstream variant of this myth involving a `Trunk Line

Monitor', which supposedly used speech recognition to extract words

from telephone trunks. This one was making the rounds in the

late 1970s, spread by people who had no idea of then-current

technology or the storage, signal-processing, or speech recognition

needs of such a project. On the basis of mass-storage costs alone

it would have been cheaper to hire 50 high-school students and just

let them listen in. Speech-recognition technology can't do this

job even now (1996), and almost certainly won't in this millennium,

either. The peak of silliness came with a letter to an alternative

paper in New Haven, Connecticut, laying out the factoids of this

Big Brotherly affair. The letter writer then revealed his actual

agenda by offering -- at an amazing low price, just this once, we

take VISA and MasterCard -- a scrambler guaranteed to daunt the

Trunk Trawler and presumably allowing the would-be Baader-Meinhof

gangs of the world to get on with their business.

:NSP: /N-S-P/ /n./ Common abbreviation for `Network Service

Provider', one of the big national or regional companies that

maintains a portion of the Internet backbone and resells

connectivity to {ISP}s. In 1996, major NSPs include ANS, MCI,

UUNET, and Sprint. An Internet wholesaler.

:nude: /adj./ Said of machines delivered without an operating

system (compare {bare metal}). "We ordered 50 systems, but

they all arrived nude, so we had to spend a an extra weekend with

the installation tapes." This usage is a recent innovation

reflecting the fact that most PC clones are now delivered with DOS

or Microsoft Windows pre-installed at the factory. Other kinds of

hardware are still normally delivered without OS, so this term is

particular to PC support groups.

:nuke: /n[y]ook/ /vt./ 1. To intentionally delete the entire

contents of a given directory or storage volume. "On Unix,

`rm -r /usr' will nuke everything in the usr filesystem."

Never used for accidental deletion. Oppose {blow away}.

2. Syn. for {dike}, applied to smaller things such as files,

features, or code sections. Often used to express a final verdict.

"What do you want me to do with that 80-meg {wallpaper} file?"

"Nuke it." 3. Used of processes as well as files; nuke is a

frequent verbal alias for `kill -9' on Unix. 4. On IBM PCs,

a bug that results in {fandango on core} can trash the operating

system, including the FAT (the in-core copy of the disk block

chaining information). This can utterly scramble attached disks,

which are then said to have been `nuked'. This term is also used

of analogous lossages on Macintoshes and other micros without

memory protection.

:number-crunching: /n./ Computations of a numerical nature,

esp. those that make extensive use of floating-point numbers.

The only thing {Fortrash} is good for. This term is in

widespread informal use outside hackerdom and even in mainstream

slang, but has additional hackish connotations: namely, that the

computations are mindless and involve massive use of {brute

force}. This is not always {evil}, esp. if it involves ray

tracing or fractals or some other use that makes {pretty

pictures}, esp. if such pictures can be used as {wallpaper}.

See also {crunch}.

:numbers: /n./ [scientific computation] Output of a computation

that may not be significant results but at least indicate that the

program is running. May be used to placate management, grant

sponsors, etc. `Making numbers' means running a program because

output -- any output, not necessarily meaningful output -- is

needed as a demonstration of progress. See {pretty pictures},

{math-out}, {social science number}.

:NUXI problem: /nuk'see pro'bl*m/ /n./ Refers to the problem

of transferring data between machines with differing byte-order.

The string `UNIX' might look like `NUXI' on a machine with a

different `byte sex' (e.g., when transferring data from a

{little-endian} to a {big-endian}, or vice-versa). See also

{middle-endian}, {swab}, and {bytesexual}.

:nybble: /nib'l/ (alt. `nibble') /n./ [from

/v./ `nibble' by analogy with `bite' => `byte'] Four

bits; one {hex} digit; a half-byte. Though `byte' is now

techspeak, this useful relative is still jargon. Compare

{{byte}}; see also {bit}, Apparently the `nybble' spelling is

uncommon in Commonwealth Hackish, as British orthography suggests

the pronunciation /ni:'bl/.

Following `bit', `byte' and `nybble' there have been quite a few

analogical attempts to construct unambiguous terms for bit blocks

of other sizes. All of these are strictly jargon, not techspeak,

and not very common jargon at that (most hackers would recognize

them in context but not use them spontaneously). We collect them

here for reference together with the ambiguous techspeak terms

`word', `half-word' and `quadwords'; some (indicated) have

substantial information separate entries.

2 bits:

{crumb}, {quad}, {quarter}, tayste

4 bits:

nybble

5 bits:

{nickle}

10 bits:

{deckle}

16 bits:

playte, {chawmp} (on a 32-bit machine), word (on a 16-bit

machine), half-word (on a 32-bit machine).

18 bits:

{chawmp} (on a 36-bit machine), half-word (on a 36-bit machine)

32 bits:

dynner, {gawble} (on a 32-bit machine), word (on a 32-bit

machine), longword (on a 16-bit machine).

36:

word (on a 36-bit machine)

48 bits:

{gawble} (under circumstances that remain obscure)

The fundamental motivation for most of these jargon terms (aside

from the normal hackerly enjoyment of punning wordplay) is the

extreme ambiguity of the term `word' and its derivatives.

:nyetwork: /nyet'werk/ /n./ [from Russian `nyet' = no] A

network, when it is acting {flaky} or is {down}. Compare

{notwork}.

= O =

=====

:Ob-: /ob/ /pref./ Obligatory. A piece of {netiquette}

acknowledging that the author has been straying from the

newsgroup's charter topic. For example, if a posting in alt.sex is

a response to a part of someone else's posting that has nothing

particularly to do with sex, the author may append `ObSex' (or

`Obsex') and toss off a question or vignette about some unusual

erotic act. It is considered a sign of great {winnitude} when

one's Obs are more interesting than other people's whole postings.

:Obfuscated C Contest: /n./ (in full, the `International

Obfuscated C Code Contest', or IOCCC) An annual contest run since

1984 over Usenet by Landon Curt Noll and friends. The overall

winner is whoever produces the most unreadable, creative, and

bizarre (but working) C program; various other prizes are awarded

at the judges' whim. C's terse syntax and macro-preprocessor

facilities give contestants a lot of maneuvering room. The winning

programs often manage to be simultaneously (a) funny, (b)

breathtaking works of art, and (c) horrible examples of how

*not* to code in C.

This relatively short and sweet entry might help convey the flavor

of obfuscated C:

/*

* HELLO WORLD program

* by Jack Applin and Robert Heckendorn, 1985

*/

main(v,c)char**c;{for(v[c++]="Hello, world!\n)";

(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));

**c=!c)write(!!*c,*c,!!**c);}

Here's another good one:

/*

* Program to compute an approximation of pi

* by Brian Westley, 1988

*/

#define _ -F<00||--F-OO--;

int F=00,OO=00;

main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()

{

_-_-_-_

_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_-_

_-_-_-_-_-_-_-_

_-_-_-_

}

Note that this program works by computing its own area. For more

digits, write a bigger program. See also {hello, world}.

The IOCC has an official home page at

http://reality.sgi.com/csp/ioccc.

:obi-wan error: /oh'bee-won` er'*r/ /n./ [RPI, from

`off-by-one' and the Obi-Wan Kenobi character in "Star

Wars"] A loop of some sort in which the index is off by 1. Common

when the index should have started from 0 but instead started from

1. A kind of {off-by-one error}. See also {zeroth}.

:Objectionable-C: /n./ Hackish take on "Objective-C", the

name of an object-oriented dialect of C in competition with the

better-known C++ (it is used to write native applications on the

NeXT machine). Objectionable-C uses a Smalltalk-like syntax, but

lacks the flexibility of Smalltalk method calls, and (like many

such efforts) comes frustratingly close to attaining the {Right

Thing} without actually doing so.

:obscure: /adj./ Used in an exaggeration of its normal meaning,

to imply total incomprehensibility. "The reason for that last

crash is obscure." "The `find(1)' command's syntax is

obscure!" The phrase `moderately obscure' implies that

something could be figured out but probably isn't worth the

trouble. The construction `obscure in the extreme' is the

preferred emphatic form.

:octal forty: /ok'tl for'tee/ /n./ Hackish way of saying

"I'm drawing a blank." Octal 40 is the {{ASCII}} space

character, 0100000; by an odd coincidence, {hex} 40 (01000000)

is the {{EBCDIC}} space character. See {wall}.

:off the trolley: /adj./ Describes the behavior of a program

that malfunctions and goes catatonic, but doesn't actually

{crash} or abort. See {glitch}, {bug}, {deep space}.

:off-by-one error: /n./ Exceedingly common error induced in

many ways, such as by starting at 0 when you should have started at

1 or vice-versa, or by writing `< N' instead of `<= N' or

vice-versa. Also applied to giving something to the person next to

the one who should have gotten it. Often confounded with

{fencepost error}, which is properly a particular subtype of it.

:offline: /adv./ Not now or not here. "Let's take this

discussion offline." Specifically used on {Usenet} to suggest

that a discussion be moved off a public newsgroup to email.

:ogg: /og/ /v./ [CMU] 1. In the multi-player space combat

game Netrek, to execute kamikaze attacks against enemy ships which

are carrying armies or occupying strategic positions. Named during

a game in which one of the players repeatedly used the tactic while

playing Orion ship G, showing up in the player list as "Og".

This trick has been roundly denounced by those who would return to

the good old days when the tactic of dogfighting was dominant, but

as Sun Tzu wrote, "What is of supreme importance in war is to

attack the enemy's strategy." However, the traditional answer to

the newbie question "What does ogg mean?" is just "Pick up some

armies and I'll show you." 2. In other games, to forcefully

attack an opponent with the expectation that the resources expended

will be renewed faster than the opponent will be able to regain his

previous advantage. Taken more seriously as a tactic since it has

gained a simple name. 3. To do anything forcefully, possibly

without consideration of the drain on future resources. "I guess

I'd better go ogg the problem set that's due tomorrow." "Whoops!

I looked down at the map for a sec and almost ogged that oncoming

car."

:old fart: /n./ Tribal elder. A title self-assumed with

remarkable frequency by (esp.) Usenetters who have been

programming for more than about 25 years; often appears in {sig

block}s attached to Jargon File contributions of great

archeological significance. This is a term of insult in the second

or third person but one of pride in first person.

:Old Testament: /n./ [C programmers] The first edition of

{K&R}, the sacred text describing {Classic C}.

:one-banana problem: /n./ At mainframe shops, where the

computers have operators for routine administrivia, the programmers

and hardware people tend to look down on the operators and claim

that a trained monkey could do their job. It is frequently

observed that the incentives that would be offered said monkeys can

be used as a scale to describe the difficulty of a task. A

one-banana problem is simple; hence, "It's only a one-banana job

at the most; what's taking them so long?"

At IBM, folklore divides the world into one-, two-, and

three-banana problems. Other cultures have different hierarchies

and may divide them more finely; at ICL, for example, five grapes

(a bunch) equals a banana. Their upper limit for the in-house

{sysape}s is said to be two bananas and three grapes (another

source claims it's three bananas and one grape, but observes

"However, this is subject to local variations, cosmic rays and

ISO"). At a complication level any higher than that, one asks the

manufacturers to send someone around to check things.

See also {Infinite-Monkey Theorem}.

:one-line fix: /n./ Used (often sarcastically) of a change to a

program that is thought to be trivial or insignificant right up to

the moment it crashes the system. Usually `cured' by another

one-line fix. See also {I didn't change anything!}

:one-liner wars: /n./ A game popular among hackers who code in

the language APL (see {write-only language} and {line

noise}). The objective is to see who can code the most interesting

and/or useful routine in one line of operators chosen from APL's

exceedingly {hairy} primitive set. A similar amusement was

practiced among {TECO} hackers and is now popular among

{Perl} aficionados.

Ken Iverson, the inventor of APL, has been credited with a

one-liner that, given a number N, produces a list of the

prime numbers from 1 to N inclusive. It looks like this:

(2 = 0 +.= T o.| T) / T <- iN

where `o' is the APL null character, the assignment arrow is a

single character, and `i' represents the APL iota.

:ooblick: /oo'blik/ /n./ [from the Dr. Seuss title

"Bartholomew and the Oobleck"; the spelling `oobleck' is still

current in the mainstream] A bizarre semi-liquid sludge made from

cornstarch and water. Enjoyed among hackers who make batches

during playtime at parties for its amusing and extremely

non-Newtonian behavior; it pours and splatters, but resists rapid

motion like a solid and will even crack when hit by a hammer.

Often found near lasers.

Here is a field-tested ooblick recipe contributed by GLS:

1 cup cornstarch

1 cup baking soda

3/4 cup water

N drops of food coloring

This recipe isn't quite as non-Newtonian as a pure cornstarch

ooblick, but has an appropriately slimy feel.

Some, however, insist that the notion of an ooblick *recipe*

is far too mechanical, and that it is best to add the water in

small increments so that the various mixed states the cornstarch

goes through as it *becomes* ooblick can be grokked in

fullness by many hands. For optional ingredients of this

experience, see the "{Ceremonial Chemicals}" section of

Appendix B.

:op: /op/ /n./ 1. In England and Ireland, common verbal

abbreviation for `operator', as in system operator. Less common in

the U.S., where {sysop} seems to be preferred. 2. [IRC] Someone

who is endowed with privileges on {IRC}, not limited to a

particular channel. These are generally people who are in charge

of the IRC server at their particular site. Sometimes used

interchangeably with {CHOP}. Compare {sysop}.

:open: /n./ Abbreviation for `open (or left) parenthesis' ---

used when necessary to eliminate oral ambiguity. To read aloud the

LISP form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun

foo, open eks close, open, plus eks one, close close."

:Open DeathTrap: /n./ Abusive hackerism for the Santa Cruz

Operation's `Open DeskTop' product, a Motif-based graphical

interface over their Unix. The funniest part is that this was

coined by SCO's own developers.... Compare {AIDX},

{Macintrash} {Nominal Semidestructor}, {ScumOS},

{sun-stools}, {HP-SUX}.

:open switch: /n./ [IBM: prob. from railroading] An

unresolved question, issue, or problem.

:operating system:: /n./ [techspeak] (Often abbreviated `OS')

The foundation software of a machine, of course; that which

schedules tasks, allocates storage, and presents a default

interface to the user between applications. The facilities an

operating system provides and its general design philosophy exert

an extremely strong influence on programming style and on the

technical cultures that grow up around its host machines. Hacker

folklore has been shaped primarily by the {{Unix}}, {{ITS}},

{{TOPS-10}}, {{TOPS-20}}/{{TWENEX}}, {{WAITS}}, {{CP/M}},

{{MS-DOS}}, and {{Multics}} operating systems (most importantly

by ITS and Unix).

:optical diff: /n./ See {vdiff}.

:optical grep: /n./ See {vgrep}.

:optimism: /n./ What a programmer is full of after fixing the

last bug and before discovering the *next* last bug. Fred

Brooks's book "The Mythical Man-Month" (See "Brooks's

Law") contains the following paragraph that describes this

extremely well:

All programmers are optimists. Perhaps this modern sorcery

especially attracts those who believe in happy endings and fairy

godmothers. Perhaps the hundreds of nitty frustrations drive

away all but those who habitually focus on the end goal. Perhaps

it is merely that computers are young, programmers are younger,

and the young are always optimists. But however the selection

process works, the result is indisputable: "This time it will

surely run," or "I just found the last bug.".

See also {Lubarsky's Law of Cybernetic Entomology}.

:Orange Book: /n./ The U.S. Government's standards document

"Trusted Computer System Evaluation Criteria, DOD standard

5200.28-STD, December, 1985" which characterize secure computing

architectures and defines levels A1 (most secure) through D

(least). Stock Unixes are roughly C1, and can be upgraded to about

C2 without excessive pain. See also {{crayola books}}, {{book

titles}}.

:oriental food:: /n./ Hackers display an intense tropism

towards oriental cuisine, especially Chinese, and especially of the

spicier varieties such as Szechuan and Hunan. This phenomenon

(which has also been observed in subcultures that overlap heavily

with hackerdom, most notably science-fiction fandom) has never been

satisfactorily explained, but is sufficiently intense that one can

assume the target of a hackish dinner expedition to be the best

local Chinese place and be right at least three times out of four.

See also {ravs}, {great-wall}, {stir-fried random},

{laser chicken}, {Yu-Shiang Whole Fish}. Thai, Indian,

Korean, and Vietnamese cuisines are also quite popular.

:orphan: /n./ [Unix] A process whose parent has died; one

inherited by `init(1)'. Compare {zombie}.

:orphaned i-node: /or'f*nd i:'nohd/ /n./ [Unix]

1. [techspeak] A file that retains storage but no longer appears in

the directories of a filesystem. 2. By extension, a pejorative for

any person no longer serving a useful function within some

organization, esp. {lion food} without subordinates.

:orthogonal: /adj./ [from mathematics] Mutually independent;

well separated; sometimes, irrelevant to. Used in a generalization

of its mathematical meaning to describe sets of primitives or

capabilities that, like a vector basis in geometry, span the entire

`capability space' of the system and are in some sense

non-overlapping or mutually independent. For example, in

architectures such as the PDP-11 or VAX where all or nearly all

registers can be used interchangeably in any role with respect to

any instruction, the register set is said to be orthogonal. Or, in

logic, the set of operators `not' and `or' is orthogonal, but

the set `nand', `or', and `not' is not (because any one of

these can be expressed in terms of the others). Also used in

comments on human discourse: "This may be orthogonal to the

discussion, but...."

:OS: /O-S/ 1. [Operating System] /n./ An abbreviation heavily

used in email, occasionally in speech. 2. /n. obs./ On ITS, an

output spy. See "{OS and JEDGAR}" in Appendix A.

:OS/2: /O S too/ /n./ The anointed successor to MS-DOS for

Intel 286- and 386-based micros; proof that IBM/Microsoft couldn't

get it right the second time, either. Often called `Half-an-OS'.

Mentioning it is usually good for a cheap laugh among hackers ---

the design was so {baroque}, and the implementation of 1.x so

bad, that 3 years after introduction you could still count the

major {app}s shipping for it on the fingers of two hands -- in

unary. The 2.x versions are said to have improved somewhat, and

informed hackers now rate them superior to Microsoft Windows (an

endorsement which, however, could easily be construed as damning

with faint praise). See {monstrosity}, {cretinous},

{second-system effect}.

:OSU: /O-S-U/ /n. obs./ [TMRC] Acronym for Officially

Sanctioned User; a user who is recognized as such by the computer

authorities and allowed to use the computer above the objections of

the security monitor.

:OTOH: // [USENET] On The Other Hand.

:out-of-band: /adj./ [from telecommunications and network

theory] 1. In software, describes values of a function which are

not in its `natural' range of return values, but are rather

signals that some kind of exception has occurred. Many C

functions, for example, return a nonnegative integral value, but

indicate failure with an out-of-band return value of -1.

Compare {hidden flag}, {green bytes}, {fence}. 2. Also

sometimes used to describe what communications people call

`shift characters', such as the ESC that leads control sequences

for many terminals, or the level shift indicators in the old 5-bit

Baudot codes. 3. In personal communication, using methods other

than email, such as telephones or {snail-mail}.

:overflow bit: /n./ 1. [techspeak] A {flag} on some

processors indicating an attempt to calculate a result too large

for a register to hold. 2. More generally, an indication of any

kind of capacity overload condition. "Well, the {{Ada}}

description was {baroque} all right, but I could hack it OK

until they got to the exception handling ... that set my

overflow bit." 3. The hypothetical bit that will be set if a

hacker doesn't get to make a trip to the Room of Porcelain

Fixtures: "I'd better process an internal interrupt before the

overflow bit gets set".

:overflow pdl: /n./ [MIT] The place where you put things when

your {pdl} is full. If you don't have one and too many things

get pushed, you forget something. The overflow pdl for a person's

memory might be a memo pad. This usage inspired the following

doggerel:

Hey, diddle, diddle

The overflow pdl

To get a little more stack;

If that's not enough

Then you lose it all,

And have to pop all the way back.

--The Great Quux

The term {pdl} seems to be primarily an MITism; outside MIT this

term is replaced by `overflow {stack}'.

:overrun: /n./ 1. [techspeak] Term for a frequent consequence

of data arriving faster than it can be consumed, esp. in serial

line communications. For example, at 9600 baud there is almost

exactly one character per millisecond, so if a {silo} can hold

only two characters and the machine takes longer than 2 msec to get

to service the interrupt, at least one character will be lost.

2. Also applied to non-serial-I/O communications. "I forgot to

pay my electric bill due to mail overrun." "Sorry, I got four

phone calls in 3 minutes last night and lost your message to

overrun." When {thrash}ing at tasks, the next person to make a

request might be told "Overrun!" Compare {firehose syndrome}.

3. More loosely, may refer to a {buffer overflow} not

necessarily related to processing time (as in {overrun screw}).

:overrun screw: /n./ [C programming] A variety of {fandango

on core} produced by scribbling past the end of an array (C

implementations typically have no checks for this error). This is

relatively benign and easy to spot if the array is static; if it is

auto, the result may be to {smash the stack} -- often resulting

in {heisenbug}s of the most diabolical subtlety. The term

`overrun screw' is used esp. of scribbles beyond the end of

arrays allocated with `malloc(3)'; this typically trashes the

allocation header for the next block in the {arena}, producing

massive lossage within malloc and often a core dump on the next

operation to use `stdio(3)' or `malloc(3)' itself. See

{spam}, {overrun}; see also {memory leak}, {memory

smash}, {aliasing bug}, {precedence lossage}, {fandango on

core}, {secondary damage}.

= P =

=====

:P-mail: /n./ Physical mail, as opposed to {email}.

Synonymous with {snail-mail}, but much less common.

:P.O.D.: /P-O-D/ Acronym for `Piece Of Data' (as opposed

to a code section). Usage: pedantic and rare. See also {pod}.

:padded cell: /n./ Where you put {luser}s so they can't hurt

anything. A program that limits a luser to a carefully restricted

subset of the capabilities of the host system (for example, the

`rsh(1)' utility on USG Unix). Note that this is different

from an {iron box} because it is overt and not aimed at

enforcing security so much as protecting others (and the luser)

from the consequences of the luser's boundless naivete (see

{naive}). Also `padded cell environment'.

:page in: /v./ [MIT] 1. To become aware of one's surroundings

again after having paged out (see {page out}). Usually confined

to the sarcastic comment: "Eric pages in, {film at 11}!"

2. Syn. `swap in'; see {swap}.

:page out: /vi./ [MIT] 1. To become unaware of one's

surroundings temporarily, due to daydreaming or preoccupation.

"Can you repeat that? I paged out for a minute." See {page

in}. Compare {glitch}, {thinko}. 2. Syn. `swap out'; see

{swap}.

:pain in the net: /n./ A {flamer}.

:Pangloss parity: /n./ [from Dr. Pangloss, the eternal optimist

in Voltaire's "Candide"] In corporate DP shops, a common

condition of severe but equally shared {lossage} resulting from

the theory that as long as everyone in the organization has the

exactly the *same* model of obsolete computer, everything will

be fine.

:paper-net: /n./ Hackish way of referring to the postal

service, analogizing it to a very slow, low-reliability network.

Usenet {sig block}s sometimes include a "Paper-Net:" header

just before the sender's postal address; common variants of this

are "Papernet" and "P-Net". Note that the standard

{netiquette} guidelines discourage this practice as a waste of

bandwidth, since netters are quite unlikely to casually use postal

addresses. Compare {voice-net}, {snail-mail}, {P-mail}.

:param: /p*-ram'/ /n./ Shorthand for `parameter'. See

also {parm}; compare {arg}, {var}.

:PARC: /n./ See {XEROX PARC}.

:parent message: /n./ What a {followup} follows up.

:parity errors: /pl.n./ Little lapses of attention or (in more

severe cases) consciousness, usually brought on by having spent all

night and most of the next day hacking. "I need to go home and

crash; I'm starting to get a lot of parity errors." Derives from

a relatively common but nearly always correctable transient error

in RAM hardware. Parity errors can also afflict mass storage and

serial communication lines; this is more serious because not always

correctable.

:Parkinson's Law of Data: /prov./ "Data expands to fill the

space available for storage"; buying more memory encourages the

use of more memory-intensive techniques. It has been observed over

the last 10 years that the memory usage of evolving systems tends

to double roughly once every 18 months. Fortunately, memory

density available for constant dollars also tends to double about

once every 12 months (see {Moore's Law}); unfortunately, the

laws of physics guarantee that the latter cannot continue

indefinitely.

:parm: /parm/ /n./ Further-compressed form of {param}.

This term is an IBMism, and written use is almost unknown

outside IBM shops; spoken /parm/ is more widely distributed, but

the synonym {arg} is favored among hackers. Compare {arg},

{var}.

:parse: [from linguistic terminology] /vt./ 1. To determine the

syntactic structure of a sentence or other utterance (close to the

standard English meaning). "That was the one I saw you." "I

can't parse that." 2. More generally, to understand or

comprehend. "It's very simple; you just kretch the glims and then

aos the zotz." "I can't parse that." 3. Of fish, to have to

remove the bones yourself. "I object to parsing fish", means "I

don't want to get a whole fish, but a sliced one is okay". A

`parsed fish' has been deboned. There is some controversy over

whether `unparsed' should mean `bony', or also mean

`deboned'.

:Pascal:: /n./ An Algol-descended language designed by Niklaus

Wirth on the CDC 6600 around 1967--68 as an instructional tool for

elementary programming. This language, designed primarily to keep

students from shooting themselves in the foot and thus extremely

restrictive from a general-purpose-programming point of view, was

later promoted as a general-purpose tool and, in fact, became the

ancestor of a large family of languages including Modula-2 and

{{Ada}} (see also {bondage-and-discipline language}). The

hackish point of view on Pascal was probably best summed up by a

devastating (and, in its deadpan way, screamingly funny) 1981 paper

by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is

Not My Favorite Programming Language", which was turned down by the

technical journals but circulated widely via photocopies. It was

eventually published in "Comparing and Assessing Programming

Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall,

1984). Part of his discussion is worth repeating here, because its

criticisms are still apposite to Pascal itself after ten years of

improvement and could also stand as an indictment of many other

bondage-and-discipline languages. At the end of a summary of the

case against Pascal, Kernighan wrote:

The Jargon File, Version 4.0.0, 24 Jul 1996 · 第 8 / 18 题