The Jargon File, Version 4.0.0, 24 Jul 1996
Chapter 48
: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, around 1974, 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%.
: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."
:wugga wugga: /wuh'g* wuh'g*/ /n./ Imaginary sound that a computer program makes as it labors with a tedious or difficult task. Compare {cruncha cruncha cruncha}, {grind} (sense 4).
: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", dating back at least to 1972 (several years before {ADVENT}) on the Dartmouth Time-Sharing System. 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"obius 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). Today, a port is distributed with SunOS and as freeware for the Mac. A C emulation of the original Basic game is available at the Retrocomputing Museum, http://www.ccil.org/retro.
: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}.
:WYSIWYG: /wiz'ee-wig/ /adj./ 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]
= 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 or 80486 (note that a Unix hacker might write these as 680[0-4]0 and 80[1-4]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.
: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 {suit}s 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).
:XOFF: /X-of/ /n./ Syn. {control-S}.
:XON: /X-on/ /n./ Syn. {control-Q}.
: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.
:xref: /X'ref/ /v.,n./ Hackish standard abbreviation for `cross-reference'.
: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}.
: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!"
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".
The popular `minesweeper' game under Microsoft Windows has a cheat mode triggered by the command `xyzzy ' that turns the top-left pixel of the screen different colors depending on whether or not the cursor is over a bomb.
= 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}.
: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}.
: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 Programmer}s); the acronym is a more recent invention.
: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.
: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) will correspond to 4.0.0.
: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}.
: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}.
: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.
:YMMV: // /cav./ Abbreviation for {Your mileage may vary} common on Usenet.
: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.
: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.
[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]
: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."
: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}.
: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.
: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 {parse}d) 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.
= 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."
: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.
: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}.
: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}.
:zero-content: /adj./ Syn. {content-free}.
: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.
: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 error}s, though it cannot eliminate them entirely.
: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 (a subset of ISO 10646) is a 16-bit character code intended to cover all of the world's writing systems, including Roman, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Ethiopic, Thai, Laotian and many other languages (support for {elvish} is planned for a future release).
: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}.
:zipperhead: /n./ [IBM] A person with a closed mind.
: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}.
: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.
: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.
: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.
= [^A-Za-z] = =============
: : /n./ [Usenet: alt.folklore.urban and elsewhere] Commonly used as a placeholder for omitted text in a followup message (not copying the whole parent message is considered good form). Refers, of course, to the celebrated mutilation of John Bobbitt.
:4.2: /for' poynt too'/ /n./ Without a prefix, this almost invariably refers to {BSD} Unix release 4.2. Note that it is an indication of cluelessness to say "version 4.2", and "release 4.2" is rare; the number stands on its own, or is used in the more explicit forms 4.2BSD or (less commonly) BSD 4.2. Similar remarks apply to "4.3", "4.4" and to earlier, less-widespread releases 4.1 and 2.9.
:'Snooze: /snooz/ [FidoNet] /n./ Fidonews, the weekly official on-line newsletter of FidoNet. As the editorial policy of Fidonews is "anything that arrives, we print", there are often large articles completely unrelated to FidoNet, which in turn tend to elicit {flamage} in subsequent issues.