Skip to content

Chapter D: C. Power Lab n (19)

Text size

1. Transitively, a person who knows how a complex piece of software or hardware works (that is, who groks it); esp. someone who can find and fix bugs quickly in an emergency. Someone is a hacker if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it. 2. The term `wizard' is also used intransitively of someone who has extremely high-level hacking or problem-solving ability. 3. A person who is permitted to do things forbidden to ordinary people; one who has wheel privileges on a system. 4. A Unix expert, esp. a Unix systems programmer. This usage is well enough established that `Unix Wizard' is a recognized job title at some corporations and to most headhunters. See guru, lord high fixer. See also deep magic, heavy wizardry, incantation, magic, mutter, rain dance, voodoo programming, wave a dead chicken.

Node:Wizard Book, Next:wizard hat, Previous:wizard, Up:= W =

Wizard Book n.

"Structure and Interpretation of Computer Programs" (Hal Abelson, Jerry Sussman and Julie Sussman; MIT Press, 1984, 1996; ISBN 0-262-01153-0), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.

Node:wizard hat, Next:wizard mode, Previous:Wizard Book, Up:= W =

wizard hat n.

[also, after Terry Pratchett, `pointy hat'] Notional headgear worn by whoever is the wizard in a particular context. The implication is that it's a transferable role. "Talk to Alice, she's wearing the TCP/IP wizard hat while Bob is on vacation." This metaphor is sufficiently live that one may actually see hackers miming the act of putting on, taking off, or transferring a phantom hat. Compare patch pumpkin.

Node:wizard mode, Next:wizardly, Previous:wizard hat, Up:= W =

wizard mode n.

[from rogue] A special access mode of a program or system, usually passworded, that permits some users godlike privileges. Generally not used for operating systems themselves (`root mode' or `wheel mode' would be used instead). This term is often used with respect to games that have editable state.

Node:wizardly, Next:wok-on-the-wall, Previous:wizard mode, Up:= W =

wizardly adj.

Pertaining to wizards. A wizardly feature is one that only a wizard could understand or use properly.

Node:wok-on-the-wall, Next:womb box, Previous:wizardly, Up:= W =

wok-on-the-wall n.

A small microwave dish antenna used for cross-campus private network circuits, from the obvious resemblance between a microwave dish and the Chinese culinary utensil.

Node:womb box, Next:WOMBAT, Previous:wok-on-the-wall, Up:= W =

womb box n.

1. [TMRC] Storage space for equipment. 2. [proposed] A variety of hard-shell equipment case with heavy interior padding and/or shaped carrier cutouts in a foam-rubber matrix; mundanely called a `flight case'. Used for delicate test equipment, electronics, and musical instruments.

Node:WOMBAT, Next:womble, Previous:womb box, Up:= W =

WOMBAT /wom'bat/ adj.

[acronym: Waste Of Money, Brains, And Time] Applied to problems which are both profoundly uninteresting in themselves and unlikely to benefit anyone interesting even if solved. Often used in fanciful constructions such as `wrestling with a wombat'. See also crawling horror, SMOP. Also note the rather different usage as a metasyntactic variable in Commonwealth Hackish.

Users of the PDP-11 database program DATATRIEVE adopted the wombat as their notional mascot; the program's help file responded to "HELP WOMBAT" with factual information about Real World wombats.

Node:womble, Next:wonky, Previous:WOMBAT, Up:= W =

womble n.

[Unisys UK: from British animated characters] A user who has great difficulty in communicating their requirements and/or in using the resulting software. Extreme case of luser. An especially senior or high-ranking womble is referred to as Great-Uncle Bulgaria.

Node:wonky, Next:woofer, Previous:womble, Up:= W =

wonky /wong'kee/ adj.

[from Australian slang] Yet another approximate synonym for broken. Specifically connotes a malfunction that produces behavior seen as crazy, humorous, or amusingly perverse. "That was the day the printer's font logic went wonky and everybody's listings came out in Tengwar." Also in `wonked out'. See funky, demented, bozotic.

Node:woofer, Next:workaround, Previous:wonky, Up:= W =

woofer n.

[University of Waterloo] Some varieties of wide paper for printers have a perforation 8.5 inches from the left margin that allows the excess on the right-hand side to be torn off when the print format is 80 columns or less wide. The right-hand excess may be called `woofer'. This term (like tweeter) has been in use at Waterloo since 1972, but is elsewhere unknown. In audio jargon, the word refers to the bass speaker(s) on a hi-fi.

Node:workaround, Next:working as designed, Previous:woofer, Up:= W =

workaround n.

1. A temporary kluge used to bypass, mask, or otherwise avoid a bug or misfeature in some system. Theoretically, workarounds are always replaced by fixes; in practice, customers often find themselves living with workarounds for long periods of time. "The code died on NUL characters in the input, so I fixed it to interpret them as spaces." "That's not a fix, that's a workaround!" 2. A procedure to be employed by the user in order to do what some currently non-working feature should do. Hypothetical example: "Using META-F7 crashes the 4.43 build of Weemax, but as a workaround you can type CTRL-R, then SHIFT-F5, and delete the remaining cruft by hand."

Node:working as designed, Next:worm, Previous:workaround, Up:= W =

working as designed adj.

[IBM] 1. In conformance to a wrong or inappropriate specification; useful, but misdesigned. 2. Frequently used as a sardonic comment on a program's utility. 3. Unfortunately also used as a bogus reason for not accepting a criticism or suggestion. At IBM, this sense is used in official documents! See BAD.

Node:worm, Next:wormhole, Previous:working as designed, Up:= W =

worm n.

[from `tapeworm' in John Brunner's novel "The Shockwave Rider", via XEROX PARC] A program that propagates itself over a network, reproducing itself as it goes. Compare virus. Nowadays the term has negative connotations, as it is assumed that only crackers write worms. Perhaps the best-known example was Robert T. Morris's Great Worm of 1988, a `benign' one that got out of control and hogged hundreds of Suns and VAXen across the U.S. See also cracker, RTM, Trojan horse, ice.

Node:wormhole, Next:wound around the axle, Previous:worm, Up:= W =

wormhole /werm'hohl/ n.

[from the `wormhole' singularities hypothesized in some versions of General Relativity theory] 1. [n.,obs.] A location in a monitor which contains the address of a routine, with the specific intent of making it easy to substitute a different routine. This term is now obsolescent; modern operating systems use clusters of wormholes extensively (for modularization of I/O handling in particular, as in the Unix device-driver organization) but the preferred techspeak for these clusters is `device tables', `jump tables' or `capability tables'. 2. [Amateur Packet Radio] A network path using a commercial satellite link to join two or more amateur VHF networks. So called because traffic routed through a wormhole leaves and re-enters the amateur network over great distances with usually little clue in the message routing header as to how it got from one relay to the other. Compare gopher hole (sense 2).

Node:wound around the axle, Next:wrap around, Previous:wormhole, Up:= W =

wound around the axle adj.

In an infinite loop. Often used by older computer types.

Node:wrap around, Next:write-only code, Previous:wound around the axle, Up:= W =

wrap around vi.

(also n. `wraparound' and v. shorthand `wrap') 1. [techspeak] The action of a counter that starts over at zero or at `minus infinity' (see infinity) after its maximum value has been reached, and continues incrementing, either because it is programmed to do so or because of an overflow (as when a car's odometer starts over at 0). 2. To change phase gradually and continuously by maintaining a steady wake-sleep cycle somewhat longer than 24 hours, e.g., living six long (28-hour) days in a week (or, equivalently, sleeping at the rate of 10 microhertz). This sense is also called phase-wrapping.

Node:write-only code, Next:write-only language, Previous:wrap around, Up:= W =

write-only code n.

[a play on `read-only memory'] Code so arcane, complex, or ill-structured that it cannot be modified or even comprehended by anyone but its author, and possibly not even by him/her. A Bad Thing.

Node:write-only language, Next:write-only memory, Previous:write-only code, Up:= W =

write-only language n.

A language with syntax (or semantics) sufficiently dense and bizarre that any routine of significant size is automatically write-only code. A sobriquet applied occasionally to C and often to APL, though INTERCAL and TECO certainly deserve it more. See also Befunge.

Node:write-only memory, Next:Wrong Thing, Previous:write-only language, Up:= W =

write-only memory n.

The obvious antonym to `read-only memory'. Out of frustration with the long and seemingly useless chain of approvals required of component specifications, during which no actual checking seemed to occur, an engineer at Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics management only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the `erroneous' ones. Later, in 1972, Signetics bought a double-page spread in "Electronics" magazine's April issue and used the spec as an April Fools' Day joke. Instead of the more conventional characteristic curves, the 25120 "fully encoded, 9046 x N, Random Access, write-only-memory" data sheet included diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining vs. number of socket insertions", and "AQL vs. selling price". The 25120 required a 6.3 VAC VFF supply, a +10V VCC, and VDD of 0V, +/- 2%.

Node:Wrong Thing, Next:wugga wugga, Previous:write-only memory, Up:= W =

Wrong Thing n.

A design, action, or decision that is clearly incorrect or inappropriate. Often capitalized; always emphasized in speech as if capitalized. The opposite of the Right Thing; more generally, anything that is not the Right Thing. In cases where `the good is the enemy of the best', the merely good -- although good -- is nevertheless the Wrong Thing. "In C, the default is for module-level declarations to be visible everywhere, rather than just within the module. This is clearly the Wrong Thing."

Node:wugga wugga, Next:wumpus, Previous:Wrong Thing, Up:= W =

wugga wugga /wuh'g* wuh'g*/ n.

Imaginary sound that a computer program makes as it labors with a tedious or difficult task.grind (sense 4).

Node:wumpus, Next:WYSIAYG, Previous:wugga wugga, Up:= W =

wumpus /wuhm'p*s/ n.

The central monster (and, in many versions, the name) of a famous family of very early computer games called "Hunt The Wumpus'. The original was invented in 1970 (several years before ADVENT) by Gregory Yob. The wumpus lived somewhere in a cave with the topology of an dodecahedron's edge/vertex graph (later versions supported other topologies, including an icosahedron and Möbius strip). The player started somewhere at random in the cave with five `crooked arrows'; these could be shot through up to three connected rooms, and would kill the wumpus on a hit (later versions introduced the wounded wumpus, which got very angry). Unfortunately for players, the movement necessary to map the maze was made hazardous not merely by the wumpus (which would eat you if you stepped on him) but also by bottomless pits and colonies of super bats that would pick you up and drop you at a random location (later versions added `anaerobic termites' that ate arrows, bat migrations, and earthquakes that randomly changed pit locations).

This game appears to have been the first to use a non-random graph-structured map (as opposed to a rectangular grid like the even older Star Trek games). In this respect, as in the dungeon-like setting and its terse, amusing messages, it prefigured ADVENT and Zork and was directly ancestral to the latter (Zork acknowledged this heritage by including a super-bat colony). A C emulation of the original Basic game is available at the Retrocomputing Museum, http://www.ccil.org/retro.

Node:WYSIAYG, Next:WYSIWYG, Previous:wumpus, Up:= W =

WYSIAYG /wiz'ee-ayg/ adj.

Describes a user interface under which "What You See Is All You Get"; an unhappy variant of WYSIWYG. Visual, `point-and-shoot'-style interfaces tend to have easy initial learning curves, but also to lack depth; they often frustrate advanced users who would be better served by a command-style interface. When this happens, the frustrated user has a WYSIAYG problem. This term is most often used of editors, word processors, and document formatting programs. WYSIWYG `desktop publishing' programs, for example, are a clear win for creating small documents with lots of fonts and graphics in them, especially things like newsletters and presentation slides. When typesetting book-length manuscripts, on the other hand, scale changes the nature of the task; one quickly runs into WYSIAYG limitations, and the increased power and flexibility of a command-driven formatter like TeX or Unix's troff becomes not just desirable but a necessity. Compare YAFIYGI.

Node:WYSIWYG, Next:X, Previous:WYSIAYG, Up:= W =

WYSIWYG /wiz'ee-wig/ adj.

[Traced to Flip Wilson's "Geraldine" character c.1970] Describes a user interface under which "What You See Is What You Get", as opposed to one that uses more-or-less obscure commands that do not result in immediate visual feedback. True WYSIWYG in environments supporting multiple fonts or graphics is a a rarely-attained ideal; there are variants of this term to express real-world manifestations including WYSIAWYG (What You See Is Almost What You Get) and WYSIMOLWYG (What You See Is More or Less What You Get). All these can be mildly derogatory, as they are often used to refer to dumbed-down user-friendly interfaces targeted at non-programmers; a hacker has no fear of obscure commands (compare WYSIAYG). On the other hand, EMACS was one of the very first WYSIWYG editors, replacing (actually, at first overlaying) the extremely obscure, command-based TECO. See also WIMP environment. [Oddly enough, WYSIWYG has already made it into the OED, in lower case yet. --ESR]

Node:= X =, Next:= Y =, Previous:= W =, Up:The Jargon Lexicon

= X =

X:

XEROX PARC:

XOFF:

XON:

xor:

xref:

XXX:

xyzzy:

Node:X, Next:XEROX PARC, Previous:WYSIWYG, Up:= X =

X /X/ n.

1. Used in various speech and writing contexts (also in lowercase) in roughly its algebraic sense of `unknown within a set defined by context' (compare N). Thus, the abbreviation 680x0 stands for 68000, 68010, 68020, 68030, or 68040, and 80x86 stands for 80186, 80286, 80386, 80486, 80586 or 80686 (note that a Unix hacker might write these as 680[0-6]0 and 80[1-6]86 or 680?0 and 80?86 respectively; see glob). 2. [after the name of an earlier window system called `W'] An over-sized, over-featured, over-engineered and incredibly over-complicated window system developed at MIT and widely used on Unix systems.

Node:XEROX PARC, Next:XOFF, Previous:X, Up:= X =

XEROX PARC /zee'roks park'/ n.

The famed Palo Alto Research Center. For more than a decade, from the early 1970s into the mid-1980s, PARC yielded an astonishing volume of groundbreaking hardware and software innovations. The modern mice, windows, and icons style of software interface was invented there. So was the laser printer and the local-area network; and PARC's series of D machines anticipated the powerful personal computers of the 1980s by a decade. Sadly, the prophets at PARC were without honor in their own company, so much so that it became a standard joke to describe PARC as a place that specialized in developing brilliant ideas for everyone else.

The stunning shortsightedness and obtusity of XEROX's top-level suits has been well anatomized in "Fumbling The Future: How XEROX Invented, Then Ignored, the First Personal Computer" by Douglas K. Smith and Robert C. Alexander (William Morrow & Co., 1988, ISBN 0-688-09511-9).

Node:XOFF, Next:XON, Previous:XEROX PARC, Up:= X =

XOFF /X-of/ n.

Syn. control-S.

Node:XON, Next:xor, Previous:XOFF, Up:= X =

XON /X-on/ n.

Syn. control-Q.

Node:xor, Next:xref, Previous:XON, Up:= X =

xor /X'or/, /kzor/ conj.

Exclusive or. `A xor B' means `A or B, but not both'. "I want to get cherry pie xor a banana split." This derives from the technical use of the term as a function on truth-values that is true if exactly one of its two arguments is true.

Node:xref, Next:XXX, Previous:xor, Up:= X =

xref /X'ref/ v.,n.

Hackish standard abbreviation for `cross-reference'.

Node:XXX, Next:xyzzy, Previous:xref, Up:= X =

XXX /X-X-X/ n.

A marker that attention is needed. Commonly used in program comments to indicate areas that are kluged up or need to be. Some hackers liken `XXX' to the notional heavy-porn movie rating. Compare FIXME.

Node:xyzzy, Next:YA-, Previous:XXX, Up:= X =

xyzzy /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/ adj.

[from the ADVENT game] The canonical `magic word'. This comes from ADVENT, in which the idea is to explore an underground cave with many rooms and to collect the treasures you find there. If you type `xyzzy' at the appropriate time, you can move instantly between two otherwise distant points. If, therefore, you encounter some bit of magic, you might remark on this quite succinctly by saying simply "Xyzzy!" "Ordinarily you can't look at someone else's screen if he has protected it, but if you type quadruple-bucky-clear the system will let you do it anyway." "Xyzzy!" It's traditional for xyzzy to be an Easter egg in games with text interfaces.

Xyzzy has actually been implemented as an undocumented no-op command on several OSes; in Data General's AOS/VS, for example, it would typically respond "Nothing happens", just as ADVENT did if the magic was invoked at the wrong spot or before a player had performed the action that enabled the word. In more recent 32-bit versions, by the way, AOS/VS responds "Twice as much happens".

Early versions of the popular `minesweeper' game under Microsoft Windows had a cheat mode triggered by the command `xyzzy<enter><right-shift>' that turns the top-left pixel of the screen different colors depending on whether or not the cursor is over a bomb. This feature temporarily diasappeared in Windows 98, but reappeared in Windows 2000.

The following passage from "The Wonderful Wizard of Oz" by L. Frank Baum, suggesting a possible pre-ADVENT origin, has recently come to light:

"Ziz-zy, zuz-zy, zik!" said Dorothy, who was now standing on both feet. This ended the saying of the charm, and they heard a great chattering and flapping of wings, as the band of Winged Monkeys flew up to them.

Node:= Y =, Next:= Z =, Previous:= X =, Up:The Jargon Lexicon

= Y =

YA-:

YABA:

YAFIYGI:

YAUN:

Yellow Book:

yellow card:

yellow wire:

Yet Another:

YHBT:

YKYBHTLW:

YMMV:

You are not expected to understand this:

You know you've been hacking too long when:

Your mileage may vary:

Yow!:

yoyo mode:

Yu-Shiang Whole Fish:

Node:YA-, Next:YABA, Previous:xyzzy, Up:= Y =

YA- abbrev.

[Yet Another] In hackish acronyms this almost invariably expands to Yet Another, following the precedent set by Unix yacc(1) (Yet Another Compiler-Compiler). See YABA.

Node:YABA, Next:YAFIYGI, Previous:YA-, Up:= Y =

YABA /ya'b*/ n.

[Cambridge] Yet Another Bloody Acronym. Whenever some program is being named, someone invariably suggests that it be given a name that is acronymic. The response from those with a trace of originality is to remark ironically that the proposed name would then be `YABA-compatible'. Also used in response to questions like "What is WYSIWYG?" See also TLA.

Node:YAFIYGI, Next:YAUN, Previous:YABA, Up:= Y =

YAFIYGI /yaf'ee-y*-gee/ adj.

[coined in response to WYSIWYG] Describes the command-oriented ed/vi/nroff/TeX style of word processing or other user interface, the opposite of WYSIWYG. Stands for "You asked for it, you got it", because what you actually asked for is often not apparent until long after it is too late to do anything about it. Used to denote perversity ("Real Programmers use YAFIYGI tools...and like it!") or, less often, a necessary tradeoff ("Only a YAFIYGI tool can have full programmable flexibility in its interface.").

This precise sense of "You asked for it, you got it" seems to have first appeared in Ed Post's classic parody "Real Programmers don't use Pascal" (see Real Programmers); the acronym is a more recent invention.

Node:YAUN, Next:Yellow Book, Previous:YAFIYGI, Up:= Y =

YAUN /yawn/ n.

[Acronym for `Yet Another Unix Nerd'] Reported from the San Diego Computer Society (predominantly a microcomputer users' group) as a good-natured punning insult aimed at Unix zealots.

Node:Yellow Book, Next:yellow card, Previous:YAUN, Up:= Y =

Yellow Book n.

The print version of this Jargon File; "The New Hacker's Dictionary" from MIT Press; The book includes essentially all the material the File, plus a Foreword by Guy L. Steele Jr. and a Preface by Eric S. Raymond. Most importantly, the book version is nicely typeset and includes almost all of the infamous Crunchly cartoons by the Great Quux, each attached to an appropriate entry. The first edition (1991, ISBN 0-262-68069-6) corresponded to the Jargon File version 2.9.6. The second edition (1993, ISBN 0-262-68079-3) corresponded to the Jargon File 3.0.0. The third (1996, ISBN 0-262-68092-0) corresponded to 4.0.0.

Node:yellow card, Next:yellow wire, Previous:Yellow Book, Up:= Y =

yellow card n.

See green card.

Node:yellow wire, Next:Yet Another, Previous:yellow card, Up:= Y =

yellow wire n.

[IBM] Repair wires used when connectors (especially ribbon connectors) got broken due to some schlemiel pinching them, or to reconnect cut traces after the FE mistakenly cut one. Compare blue wire, purple wire, red wire.

Node:Yet Another, Next:YHBT, Previous:yellow wire, Up:= Y =

Yet Another adj.

[From Unix's yacc(1), `Yet Another Compiler-Compiler', a LALR parser generator] 1. Of your own work: A humorous allusion often used in titles to acknowledge that the topic is not original, though the content is. As in `Yet Another AI Group' or `Yet Another Simulated Annealing Algorithm'. 2. Of others' work: Describes something of which there are already far too many. See also YA-, YABA, YAUN.

Node:YHBT, Next:YKYBHTLW, Previous:Yet Another, Up:= Y =

YHBT //

[Usenet: very common] Abbreviation: You Have Been Trolled (see troll, sense 1). Especially used in "YHBT. YHL. HAND.", which is widely understood to expand to "You Have Been Trolled. You Have Lost. Have A Nice Day". You are quite likely to see this if you respond incautiously to a flame-provoking post that was obviously floated as sucker bait.

Node:YKYBHTLW, Next:YMMV, Previous:YHBT, Up:= Y =

YKYBHTLW // abbrev.

Abbreviation of `You know you've been hacking too long when...', which became established on the Usenet group _alt.folklore.computers_ during extended discussion of the indicated entry in the Jargon File.

Node:YMMV, Next:You are not expected to understand this, Previous:YKYBHTLW, Up:= Y =

YMMV // cav.

Abbreviation for Your mileage may vary common on Usenet.

Node:You are not expected to understand this, Next:You know you've been hacking too long when, Previous:YMMV, Up:= Y =

You are not expected to understand this [Unix] cav.

The canonical comment describing something magic or too complicated to bother explaining properly. From an infamous comment in the context-switching code of the V6 Unix kernel. Dennis Ritchie has explained this in detail.

Node:You know you've been hacking too long when, Next:Your mileage may vary, Previous:You are not expected to understand this, Up:= Y =

You know you've been hacking too long when

The set-up line for a genre of one-liners told by hackers about themselves. These include the following:

not only do you check your email more often than your paper mail, but you remember your network address faster than your postal one.

your SO kisses you on the neck and the first thing you think is "Uh, oh, priority interrupt."

you go to balance your checkbook and discover that you're doing it in octal.

your computers have a higher street value than your car.

in your universe, `round numbers' are powers of 2, not 10.

more than once, you have woken up recalling a dream in some programming language.

you realize you have never seen half of your best friends.

A list list of these can be found by searching for this phrase on the web.

[An early version of this entry said "All but one of these have been reliably reported as hacker traits (some of them quite often). Even hackers may have trouble spotting the ringer." The ringer was balancing one's checkbook in octal, which I made up out of whole cloth. Although more respondents picked that one out as fiction than any of the others, I also received multiple independent reports of its actually happening, most famously to Grace Hopper while she was working with BINAC in 1949. --ESR]

Node:Your mileage may vary, Next:Yow!, Previous:You know you've been hacking too long when, Up:= Y =

Your mileage may vary cav.

[from the standard disclaimer attached to EPA mileage ratings by American car manufacturers] 1. A ritual warning often found in Unix freeware distributions. Translates roughly as "Hey, I tried to write this portably, but who knows what'll happen on your system?" 2. More generally, a qualifier attached to advice. "I find that sending flowers works well, but your mileage may vary."

Node:Yow!, Next:yoyo mode, Previous:Your mileage may vary, Up:= Y =

Yow! /yow/ interj.

[from "Zippy the Pinhead" comix] A favored hacker expression of humorous surprise or emphasis. "Yow! Check out what happens when you twiddle the foo option on this display hack!" Compare gurfle.

Node:yoyo mode, Next:Yu-Shiang Whole Fish, Previous:Yow!, Up:= Y =

yoyo mode n.

The state in which the system is said to be when it rapidly alternates several times between being up and being down. Interestingly (and perhaps not by coincidence), many hardware vendors give out free yoyos at Usenix exhibits.

Sun Microsystems gave out logoized yoyos at SIGPLAN '88. Tourists staying at one of Atlanta's most respectable hotels were subsequently treated to the sight of 200 of the country's top computer scientists testing yo-yo algorithms in the lobby.

Node:Yu-Shiang Whole Fish, Next:zap, Previous:yoyo mode, Up:= Y =

Yu-Shiang Whole Fish /yoo-shyang hohl fish/ n. obs.

The character gamma (extended SAIL ASCII 0001001), which with a loop in its tail looks like a little fish swimming down the page. The term is actually the name of a Chinese dish in which a fish is cooked whole (not parsed) and covered with Yu-Shiang (or Yu-Hsiang) sauce. Usage: primarily by people on the MIT LISP Machine, which could display this character on the screen. Tends to elicit incredulity from people who hear about it second-hand.

Node:= Z =, Previous:= Y =, Up:The Jargon Lexicon

= Z =

zap:

zapped:

Zawinski's Law:

zbeba:

zen:

zero:

zero-content:

Zero-One-Infinity Rule:

zeroth:

zigamorph:

zip:

zipperhead:

zombie:

zorch:

Zork:

zorkmid:

Node:zap, Next:zapped, Previous:Yu-Shiang Whole Fish, Up:= Z =

zap

1. n. Spiciness. 2. vt. To make food spicy. 3. vt. To make someone `suffer' by making his food spicy. (Most hackers love spicy food. Hot-and-sour soup is considered wimpy unless it makes you wipe your nose for the rest of the meal.) See zapped. 4. vt. To modify, usually to correct; esp. used when the action is performed with a debugger or binary patching tool. Also implies surgical precision. "Zap the debug level to 6 and run it again." In the IBM mainframe world, binary patches are applied to programs or to the OS with a program called `superzap', whose file name is `IMASPZAP' (possibly contrived from I M A SuPerZAP). 5. vt. To erase or reset. 6. To fry a chip with static electricity. "Uh oh -- I think that lightning strike may have zapped the disk controller."

Node:zapped, Next:Zawinski's Law, Previous:zap, Up:= Z =

zapped adj.

Spicy. This term is used to distinguish between food that is hot (in temperature) and food that is spicy-hot. For example, the Chinese appetizer Bon Bon Chicken is a kind of chicken salad that is cold but zapped; by contrast, vanilla wonton soup is hot but not zapped. See also oriental food, laser chicken. See zap, senses 1 and 2.

Node:Zawinski's Law, Next:zbeba, Previous:zapped, Up:= Z =

Zawinski's Law

"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." Coined by Jamie Zawinski (who called it the "Law of Software Envelopment") to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms (the mailer thing, he says, is just a side effect of that). It is commonly cited, though with widely varying degrees of accuracy.

Node:zbeba, Next:zen, Previous:Zawinski's Law, Up:= Z =

zbeba n.

[USENET] The word `moron' in rot13. Used to describe newbies who are behaving with especial cluelessness.

Node:zen, Next:zero, Previous:zbeba, Up:= Z =

zen vt.

To figure out something by meditation or by a sudden flash of enlightenment. Originally applied to bugs, but occasionally applied to problems of life in general. "How'd you figure out the buffer allocation problem?" "Oh, I zenned it." Contrast grok, which connotes a time-extended version of zenning a system. Compare hack mode. See also guru.

Node:zero, Next:zero-content, Previous:zen, Up:= Z =

zero vt.

1. To set to 0. Usually said of small pieces of data, such as bits or words (esp. in the construction `zero out'). 2. To erase; to discard all data from. Said of disks and directories, where `zeroing' need not involve actually writing zeroes throughout the area being zeroed. One may speak of something being `logically zeroed' rather than being `physically zeroed'. See scribble.

Node:zero-content, Next:Zero-One-Infinity Rule, Previous:zero, Up:= Z =

zero-content adj.

Syn. content-free.

Node:Zero-One-Infinity Rule, Next:zeroth, Previous:zero-content, Up:= Z =

Zero-One-Infinity Rule prov.

"Allow none of foo, one of foo, or any number of foo." A rule of thumb for software design, which instructs one to not place random limits on the number of instances of a given entity (such as: windows in a window system, letters in an OS's filenames, etc.). Specifically, one should either disallow the entity entirely, allow exactly one instance (an "exception"), or allow as many as the user wants - address space and memory permitting.

The logic behind this rule is that there are often situations where it makes clear sense to allow one of something instead of none. However, if one decides to go further and allow N (for N > 1), then why not N+1? And if N+1, then why not N+2, and so on? Once above 1, there's no excuse not to allow any N; hence, infinity.

Many hackers recall in this connection Isaac Asimov's SF novel "The Gods Themselves" in which a character announces that the number 2 is impossible - if you're going to believe in more than one universe, you might as well believe in an infinite number of them.

Node:zeroth, Next:zigamorph, Previous:Zero-One-Infinity Rule, Up:= Z =

zeroth /zee'rohth/ adj.

First. Among software designers, comes from C's and LISP's 0-based indexing of arrays. Hardware people also tend to start counting at 0 instead of 1; this is natural since, e.g., the 256 states of 8 bits correspond to the binary numbers 0, 1, ..., 255 and the digital devices known as `counters' count in this way.

Hackers and computer scientists often like to call the first chapter of a publication `Chapter 0', especially if it is of an introductory nature (one of the classic instances was in the First Edition of K&R). In recent years this trait has also been observed among many pure mathematicians (who have an independent tradition of numbering from 0). Zero-based numbering tends to reduce fencepost errors, though it cannot eliminate them entirely.

Node:zigamorph, Next:zip, Previous:zeroth, Up:= Z =

zigamorph /zig'*-morf/ n.

1. Hex FF (11111111) when used as a delimiter or fence character. Usage: primarily at IBM shops. 2. [proposed] n. The Unicode non-character U+FFFF (1111111111111111), a character code which is not assigned to any character, and so is usable as end-of-string. (Unicode is a 16-bit character code intended to cover all of the world's writing systems, including Latin, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Thai, Laotian and many other scripts - support for elvish is planned for a future release).

Node:zip, Next:zipperhead, Previous:zigamorph, Up:= Z =

zip vt.

[primarily MS-DOS] To create a compressed archive from a group of files using PKWare's PKZIP or a compatible archiver. Its use is spreading now that portable implementations of the algorithm have been written. Commonly used as follows: "I'll zip it up and send it to you." See tar and feather.

Node:zipperhead, Next:zombie, Previous:zip, Up:= Z =

zipperhead n.

[IBM] A person with a closed mind.

Node:zombie, Next:zorch, Previous:zipperhead, Up:= Z =

zombie n.

[Unix] A process that has died but has not yet relinquished its process table slot (because the parent process hasn't executed a wait(2) for it yet). These can be seen in ps(1) listings occasionally. Compare orphan.

Node:zorch, Next:Zork, Previous:zombie, Up:= Z =

zorch /zorch/

1. [TMRC] v. To attack with an inverse heat sink. 2. [TMRC] v. To travel, with v approaching c [that is, with velocity approaching lightspeed --ESR]. 3. [MIT] v. To propel something very quickly. "The new comm software is very fast; it really zorches files through the network." 4. [MIT] n. Influence. Brownie points. Good karma. The intangible and fuzzy currency in which favors are measured. "I'd rather not ask him for that just yet; I think I've used up my quota of zorch with him for the week." 5. [MIT] n. Energy, drive, or ability. "I think I'll punt that change for now; I've been up for 30 hours and I've run out of zorch." 6. [MIT] v. To flunk an exam or course.

Node:Zork, Next:zorkmid, Previous:zorch, Up:= Z =

Zork /zork/ n.

The second of the great early experiments in computer fantasy gaming; see ADVENT. Originally written on MIT-DM during 1977-1979, later distributed with BSD Unix (as a patched, sourceless RT-11 FORTRAN binary; see retrocomputing) and commercialized as `The Zork Trilogy' by Infocom. The FORTRAN source was later rewritten for portability and released to Usenet under the name "Dungeon". Both FORTRAN "Dungeon" and translated C versions are available at many FTP sites. See also grue.

Node:zorkmid, Previous:Zork, Up:= Z =

zorkmid /zork'mid/ n.

The canonical unit of currency in hacker-written games. This originated in Zork but has spread to nethack and is referred to in several other games.

(Lexicon Entries End Here)

Node:Appendix A, Next:Appendix B, Previous:The Jargon Lexicon, Up:Top

Hacker Folklore

This appendix contains several legends and fables that illuminate the meaning of various entries in the lexicon.

The Meaning of Hack: ...and three famous ones

TV Typewriters: A Tale of Hackish Ingenuity

A Story About Magic: By Guy Steele

Some AI Koans: Wit and Wisdom of the Masters

OS and JEDGAR: Intrigue and mayhem under ITS

The Story of Mel: One of hackerdom's great myths

Node:The Meaning of Hack, Next:TV Typewriters, Previous:Appendix A, Up:Appendix A

The Meaning of `Hack'

"The word hack doesn't really have 69 different meanings", according to MIT hacker Phil Agre. "In fact, hack has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation is implied by a given use of the word depends in similarly profound ways on the context. Similar remarks apply to a couple of other hacker words, most notably random."

Hacking might be characterized as `an appropriate application of ingenuity'. Whether the result is a quick-and-dirty patchwork job or a carefully crafted work of art, you have to admire the cleverness that went into it.

An important secondary meaning of hack is `a creative practical joke'. This kind of hack is easier to explain to non-hackers than the programming kind. Of course, some hacks have both natures; see the lexicon entries for pseudo and kgbvax. But here are some examples of pure practical jokes that illustrate the hacking spirit:

In 1961, students from Caltech (California Institute of Technology, in Pasadena) hacked the Rose Bowl football game. One student posed as a reporter and `interviewed' the director of the University of Washington card stunts (such stunts involve people in the stands who hold up colored cards to make pictures). The reporter learned exactly how the stunts were operated, and also that the director would be out to dinner later.

While the director was eating, the students (who called themselves the `Fiendish Fourteen') picked a lock and stole a blank direction sheet for the card stunts. They then had a printer run off 2300 copies of the blank. The next day they picked the lock again and stole the master plans for the stunts -- large sheets of graph paper colored in with the stunt pictures. Using these as a guide, they made new instructions for three of the stunts on the duplicated blanks. Finally, they broke in once more, replacing the stolen master plans and substituting the stack of diddled instruction sheets for the original set.

The result was that three of the pictures were totally different. Instead of `WASHINGTON', the word ``CALTECH' was flashed. Another stunt showed the word `HUSKIES', the Washington nickname, but spelled it backwards. And what was supposed to have been a picture of a husky instead showed a beaver. (Both Caltech and MIT use the beaver -- nature's engineer -- as a mascot.)

After the game, the Washington faculty athletic representative said: "Some thought it ingenious; others were indignant." The Washington student body president remarked: "No hard feelings, but at the time it was unbelievable. We were amazed."

This is now considered a classic hack, particularly because revising the direction sheets constituted a form of programming.

Here is another classic hack:

On November 20, 1982, MIT hacked the Harvard-Yale football game. Just after Harvard's second touchdown against Yale, in the first quarter, a small black ball popped up out of the ground at the 40-yard line, and grew bigger, and bigger, and bigger. The letters `MIT' appeared all over the ball. As the players and officials stood around gawking, the ball grew to six feet in diameter and then burst with a bang and a cloud of white smoke.

The "Boston Globe" later reported: "If you want to know the truth, MIT won The Game."

The prank had taken weeks of careful planning by members of MIT's Delta Kappa Epsilon fraternity. The device consisted of a weather balloon, a hydraulic ram powered by Freon gas to lift it out of the ground, and a vacuum-cleaner motor to inflate it. They made eight separate expeditions to Harvard Stadium between 1 and 5 A.M., locating an unused 110-volt circuit in the stadium and running buried wires from the stadium circuit to the 40-yard line, where they buried the balloon device. When the time came to activate the device, two fraternity members had merely to flip a circuit breaker and push a plug into an outlet.

This stunt had all the earmarks of a perfect hack: surprise, publicity, the ingenious use of technology, safety, and harmlessness. The use of manual control allowed the prank to be timed so as not to disrupt the game (it was set off between plays, so the outcome of the game would not be unduly affected). The perpetrators had even thoughtfully attached a note to the balloon explaining that the device was not dangerous and contained no explosives.

Harvard president Derek Bok commented: "They have an awful lot of clever people down there at MIT, and they did it again." President Paul E. Gray of MIT said: "There is absolutely no truth to the rumor that I had anything to do with it, but I wish there were."

The hacks above are verifiable history; they can be proved to have happened. Many other classic-hack stories from MIT and elsewhere, though retold as history, have the characteristics of what Jan Brunvand has called `urban folklore' (see FOAF). Perhaps the best known of these is the legend of the infamous trolley-car hack, an alleged incident in which engineering students are said to have welded a trolley car to its tracks with thermite. Numerous versions of this have been recorded from the 1940s to the present, most set at MIT but at least one very detailed version set at CMU.

Brian Leibowitz has researched MIT hacks both real and mythical extensively; the interested reader is referred to his delightful pictorial compendium "The Journal of the Institute for Hacks, Tomfoolery, and Pranks" (MIT Museum, 1990; ISBN 0-917027-03-5). The Institute has a World Wide Web page at http://hacks.mit.edu/Hacks/Gallery.html. There is rumored to be a sequel entitled "Is This The Way To Baker Street?". The Caltech Alumni Association has published two similar books titled "Legends of Caltech" and "More Legends of Caltech".

Finally, here is a story about one of the classic computer hacks.

Back in the mid-1970s, several of the system support staff at Motorola discovered a relatively simple way to crack system security on the Xerox CP-V timesharing system. Through a simple programming strategy, it was possible for a user program to trick the system into running a portion of the program in `master mode' (supervisor state), in which memory protection does not apply. The program could then poke a large value into its `privilege level' byte (normally write-protected) and could then proceed to bypass all levels of security within the file-management system, patch the system monitor, and do numerous other interesting things. In short, the barn door was wide open.

Motorola quite properly reported this problem to Xerox via an official `level 1 SIDR' (a bug report with an intended urgency of `needs to be fixed yesterday'). Because the text of each SIDR was entered into a database that could be viewed by quite a number of people, Motorola followed the approved procedure: they simply reported the problem as `Security SIDR', and attached all of the necessary documentation, ways-to-reproduce, etc.

The CP-V people at Xerox sat on their thumbs; they either didn't realize the severity of the problem, or didn't assign the necessary operating-system-staff resources to develop and distribute an official patch.

Months passed. The Motorola guys pestered their Xerox field-support rep, to no avail. Finally they decided to take direct action, to demonstrate to Xerox management just how easily the system could be cracked and just how thoroughly the security safeguards could be subverted.

They dug around in the operating-system listings and devised a thoroughly devilish set of patches. These patches were then incorporated into a pair of programs called `Robin Hood' and `Friar Tuck'. Robin Hood and Friar Tuck were designed to run as `ghost jobs' (daemons, in Unix terminology); they would use the existing loophole to subvert system security, install the necessary patches, and then keep an eye on one another's statuses in order to keep the system operator (in effect, the superuser) from aborting them.

One fine day, the system operator on the main CP-V software development system in El Segundo was surprised by a number of unusual phenomena. These included the following:

Tape drives would rewind and dismount their tapes in the middle of a job.

Disk drives would seek back and forth so rapidly that they would attempt to walk across the floor (see walking drives).

The card-punch output device would occasionally start up of itself and punch a lace card. These would usually jam in the punch.

The console would print snide and insulting messages from Robin Hood to Friar Tuck, or vice versa.

The Xerox card reader had two output stackers; it could be instructed to stack into A, stack into B, or stack into A (unless a card was unreadable, in which case the bad card was placed into stacker B). One of the patches installed by the ghosts added some code to the card-reader driver... after reading a card, it would flip over to the opposite stacker. As a result, card decks would divide themselves in half when they were read, leaving the operator to recollate them manually.

Naturally, the operator called in the operating-system developers. They found the bandit ghost jobs running, and gunned them... and were once again surprised. When Robin Hood was gunned, the following sequence of events took place:

!X id1

id1: Friar Tuck... I am under attack! Pray save me! id1: Off (aborted)

id2: Fear not, friend Robin! I shall rout the Sheriff
of Nottingham's men!

id1: Thank you, my good fellow!

Each ghost-job would detect the fact that the other had been killed, and would start a new copy of the recently slain program within a few milliseconds. The only way to kill both ghosts was to kill them simultaneously (very difficult) or to deliberately crash the system.

Finally, the system programmers did the latter -- only to find that the bandits appeared once again when the system rebooted! It turned out that these two programs had patched the boot-time OS image (the kernel file, in Unix terms) and had added themselves to the list of programs that were to be started at boot time (this is similar to the way MS-DOS viruses propagate).

The Robin Hood and Friar Tuck ghosts were finally eradicated when the system staff rebooted the system from a clean boot-tape and reinstalled the monitor. Not long thereafter, Xerox released a patch for this problem.

It is alleged that Xerox filed a complaint with Motorola's management about the merry-prankster actions of the two employees in question. It is not recorded that any serious disciplinary action was taken against either of them.

Node:TV Typewriters, Next:A Story About Magic, Previous:The Meaning of Hack, Up:Appendix A

TV Typewriters A Tale of Hackish Ingenuity

Here is a true story about a glass tty: One day an MIT hacker was in a motorcycle accident and broke his leg. He had to stay in the hospital quite a while, and got restless because he couldn't hack. Two of his friends therefore took a terminal and a modem for it to the hospital, so that he could use the computer by telephone from his hospital bed.

Now this happened some years before the spread of home computers, and computer terminals were not a familiar sight to the average person. When the two friends got to the hospital, a guard stopped them and asked what they were carrying. They explained that they wanted to take a computer terminal to their friend who was a patient.

The guard got out his list of things that patients were permitted to have in their rooms: TV, radio, electric razor, typewriter, tape player, ... no computer terminals. Computer terminals weren't on the list, so the guard wouldn't let it in. Rules are rules, you know. (This guard was clearly a droid.)

Fair enough, said the two friends, and they left again. They were frustrated, of course, because they knew that the terminal was as harmless as a TV or anything else on the list... which gave them an idea.

The next day they returned, and the same thing happened: a guard stopped them and asked what they were carrying. They said: "This is a TV typewriter!" The guard was skeptical, so they plugged it in and demonstrated it. "See? You just type on the keyboard and what you type shows up on the TV screen." Now the guard didn't stop to think about how utterly useless a typewriter would be that didn't produce any paper copies of what you typed; but this was clearly a TV typewriter, no doubt about it. So he checked his list: "A TV is all right, a typewriter is all right ... okay, take it on in!"

[Historical note: Many years ago, "Popular Electronics" published solder-it-yourself plans for a TV typewriter. Despite the essential uselessness of the device, it was an enormously popular project. Steve Ciarcia, the man behind "Byte" magazine's "Circuit Cellar" feature, resurrected this ghost in one of his books of the early 1980s. He ascribed its popularity (no doubt correctly) to the feeling of power the builder could achieve by being able to decide himself what would be shown on the TV. --ESR]

[Antihistorical note: On September 23rd, 1992, the L.A. Times ran the following bit in Steve Harvey's `Only in L.A.' column:

It must have been borrowed from a museum: Solomon Waters of Altadena, a 6-year-old first-grader, came home from his first day of school and excitedly told his mother how he had written on "a machine that looks like a computer-but without the TV screen."

She asked him if it could have been a "typewriter."

"Yeah! Yeah!" he said. "That's what it was called."

I have since investigated this matter and determined that many of today's teenagers have never seen a slide rule, either.... - ESR]

Node:A Story About Magic, Next:Some AI Koans, Previous:TV Typewriters, Up:Appendix A

A Story About `Magic'

Some years ago, I (GLS) was snooping around in the cabinets that housed the MIT AI Lab's PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab's hardware hackers (no one knows who).

You don't touch an unknown switch on a computer without knowing what it does, because you might crash the computer. The switch was labeled in a most unhelpful way. It had two positions, and scrawled in pencil on the metal switch body were the words `magic' and `more magic'. The switch was in the `more magic' position.

I called another hacker over to look at it. He had never seen the switch before either. Closer examination revealed that the switch had only one wire running to it! The other end of the wire did disappear into the maze of wires inside the computer, but it's a basic fact of electricity that a switch can't do anything unless there are two wires connected to it. This switch had a wire connected on one side and no wire on its other side.

It was clear that this switch was someone's idea of a silly joke. Convinced by our reasoning that the switch was inoperative, we flipped it. The computer instantly crashed.

Imagine our utter astonishment. We wrote it off as coincidence, but nevertheless restored the switch to the `more magic' position before reviving the computer.

A year later, I told this story to yet another hacker, David Moon as I recall. He clearly doubted my sanity, or suspected me of a supernatural belief in the power of this switch, or perhaps thought I was fooling him with a bogus saga. To prove it to him, I showed him the very switch, still glued to the cabinet frame with only one wire connected to it, still in the `more magic' position. We scrutinized the switch and its lone connection, and found that the other end of the wire, though connected to the computer wiring, was connected to a ground pin. That clearly made the switch doubly useless: not only was it electrically nonoperative, but it was connected to a place that couldn't affect anything anyway. So we flipped the switch.

The computer promptly crashed.

This time we ran for Richard Greenblatt, a long-time MIT hacker, who was close at hand. He had never noticed the switch before, either. He inspected it, concluded it was useless, got some diagonal cutters and diked it out. We then revived the computer and it has run fine ever since.

We still don't know how the switch crashed the machine. There is a theory that some circuit near the ground pin was marginal, and flipping the switch changed the electrical capacitance enough to upset the circuit as millionth-of-a-second pulses went through it. But we'll never know for sure; all we can really say is that the switch was magic.

I still have that switch in my basement. Maybe I'm silly, but I usually keep it set on `more magic'.

1994: Another explanation of this story has since been offered. Note that the switch body was metal. Suppose that the non-connected side of the switch was connected to the switch body (usually the body is connected to a separate earth lug, but there are exceptions). The body is connected to the computer case, which is, presumably, grounded. Now the circuit ground within the machine isn't necessarily at the same potential as the case ground, so flipping the switch connected the circuit ground to the case ground, causing a voltage drop/jump which reset the machine. This was probably discovered by someone who found out the hard way that there was a potential difference between the two, and who then wired in the switch as a joke.

Node:Some AI Koans, Next:OS and JEDGAR, Previous:A Story About Magic, Up:Appendix A

Some AI Koans

These are some of the funniest examples of a genre of jokes told at the MIT AI Lab about various noted hackers. The original koans were composed by Danny Hillis, who would later found Connection Machines, Inc. In reading these, it is at least useful to know that Minsky, Sussman, and Drescher are AI researchers of note, that Tom Knight was one of the Lisp machine's principal designers, and that David Moon wrote much of Lisp Machine Lisp.

* * *

A novice was trying to fix a broken Lisp machine by turning the power off and on.

Knight, seeing what the student was doing, spoke sternly: "You cannot fix a machine by just power-cycling it with no understanding of what is going wrong."

Knight turned the machine off and on.

The machine worked.

* * *

One day a student came to Moon and said: "I understand how to make a better garbage collector. We must keep a reference count of the pointers to each cons."

Moon patiently told the student the following story:

"One day a student came to Moon and said: `I understand how to make a better garbage collector...

[Ed. note: Pure reference-count garbage collectors have problems with circular structures that point to themselves.]

* * *

In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.

"What are you doing?", asked Minsky.

"I am training a randomly wired neural net to play Tic-Tac-Toe" Sussman replied.

"Why is the net wired randomly?", asked Minsky.

"I do not want it to have any preconceptions of how to play", Sussman said.

Minsky then shut his eyes.

"Why do you close your eyes?", Sussman asked his teacher.

"So that the room will be empty."

At that moment, Sussman was enlightened.

* * *

A disciple of another sect once came to Drescher as he was eating his morning meal.

Comments

Log in to leave a comment.

The Jargon File, Version 4.2.2, 20 Aug 2000Chapter D: C. Power Lab n (19)

0%36 min left in chapter