:Revision History: The original Jargon File was a collection of hacker jargon from technical cultures including the MIT AI Lab, the Stanford AI lab (SAIL), and others of the old ARPANET AI/LISP/PDP-10 communities including Bolt, Beranek and Newman (BBN), Carnegie-Mellon University (CMU), and Worcester Polytechnic Institute (WPI). The Jargon File (hereafter referred to as `jargon-1' or `the File') was begun by Raphael Finkel at Stanford in 1975. From this time until the plug was finally pulled on the SAIL computer in 1991, the File was named AIWORD.RF[UP,DOC] there. Some terms in it date back considerably earlier (frob and some senses of moby, for instance, go back to the Tech Model Railroad Club at MIT and are believed to date at least back to the early 1960s). The revisions of jargon-1 were all unnumbered and may be collectively considered `Version 1'. In 1976, Mark Crispin, having seen an announcement about the File on the SAIL computer, FTPed a copy of the File to MIT. He noticed that it was hardly restricted to `AI words' and so stored the file on his directory as AI:MRC;SAIL JARGON. The file was quickly renamed JARGON > (the `>' caused versioning under ITS) as a flurry of enhancements were made by Mark Crispin and Guy L. Steele Jr. Unfortunately, amidst all this activity, nobody thought of correcting the term `jargon' to `slang' until the compendium had already become widely known as the Jargon File. Raphael Finkel dropped out of active participation shortly thereafter and Don Woods became the SAIL contact for the File (which was subsequently kept in duplicate at SAIL and MIT, with periodic resynchronizations). The File expanded by fits and starts until about 1983; Richard Stallman was prominent among the contributors, adding many MIT and ITS-related coinages. In Spring 1981, a hacker named Charles Spurgeon got a large chunk of the File published in Stewart Brand's "CoEvolution Quarterly" (issue 29, pages 26--35) with illustrations by Phil Wadler and Guy Steele (including a couple of the Crunchly cartoons). This appears to have been the File's first paper publication. A late version of jargon-1, expanded with commentary for the mass market, was edited by Guy Steele into a book published in 1983 as "The Hacker's Dictionary" (Harper & Row CN 1082, ISBN 0-06-091082-8). The other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin) contributed to this revision, as did Richard M. Stallman and Geoff Goodfellow. This book (now out of print) is hereafter referred to as `Steele-1983' and those six as the Steele-1983 coauthors. Shortly after the publication of Steele-1983, the File effectively stopped growing and changing. Originally, this was due to a desire to freeze the file temporarily to facilitate the production of Steele-1983, but external conditions caused the `temporary' freeze to become permanent. The AI Lab culture had been hit hard in the late 1970s by funding cuts and the resulting administrative decision to use vendor-supported hardware and software instead of homebrew whenever possible. At MIT, most AI work had turned to dedicated LISP Machines. At the same time, the commercialization of AI technology lured some of the AI Lab's best and brightest away to startups along the Route 128 strip in Massachusetts and out West in Silicon Valley. The startups built LISP machines for MIT; the central MIT-AI computer became a TWENEX system rather than a host for the AI hackers' beloved ITS. The Stanford AI Lab had effectively ceased to exist by 1980, although the SAIL computer continued as a Computer Science Department resource until 1991. Stanford became a major TWENEX site, at one point operating more than a dozen TOPS-20 systems; but by the mid-1980s most of the interesting software work was being done on the emerging BSD UNIX standard. In April 1983, the PDP-10-centered cultures that had nourished the File were dealt a death-blow by the cancellation of the Jupiter project at Digital Equipment Corporation. The File's compilers, already dispersed, moved on to other things. Steele-1983 was partly a monument to what its authors thought was a dying tradition; no one involved realized at the time just how wide its influence was to be. By the mid-1980s the File's content was dated, but the legend that had grown up around it never quite died out. The book, and softcopies obtained off the ARPANET, circulated even in cultures far removed from MIT and Stanford; the content exerted a strong and continuing influence on hackish language and humor. Even as the advent of the microcomputer and other trends fueled a tremendous expansion of hackerdom, the File (and related materials such as the AI Koans in Appendix A) came to be seen as a sort of sacred epic, a hacker-culture Matter of Britain chronicling the heroic exploits of the Knights of the Lab. The pace of change in hackerdom at large accelerated tremendously --- but the Jargon File, having passed from living document to icon, remained essentially untouched for seven years. This revision contains nearly the entire text of a late version of jargon-1 (a few obsolete PDP-10-related entries were dropped after careful consultation with the editors of Steele-1983). It merges in about 80% of the Steele-1983 text, omitting some framing material and a very few entries introduced in Steele-1983 that are now also obsolete. This new version casts a wider net than the old Jargon File; its aim is to cover not just AI or PDP-10 hacker culture but all the technical computing cultures wherein the true hacker-nature is manifested. More than half of the entries now derive from USENET and represent jargon now current in the C and UNIX communities, but special efforts have been made to collect jargon from other cultures including IBM PC programmers, Amiga fans, Mac enthusiasts, and even the IBM mainframe world. Eric S. Raymond <email@example.com> maintains the new File with assistance from Guy L. Steele Jr. <firstname.lastname@example.org>; these are the persons primarily reflected in the File's editorial `we', though we take pleasure in acknowledging the special contribution of the other coauthors of Steele-1983. Please email all additions, corrections, and correspondence relating to the Jargon File to email@example.com (UUCP-only sites without connections to an autorouting smart site can use ...!uunet!snark!jargon). (Warning: other email addresses appear in this file *but are not guaranteed to be correct* later than the revision date on the first line. *Don't* email us if an attempt to reach your idol bounces --- we have no magic way of checking addresses or looking up people.) The 2.9.6 version became the main text of "The New Hacker's Dictionary", by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6. The 3.0.0 version will be published in September 1993 as the second edition of "The New Hacker's Dictionary", again from MIT Press (ISBN 0-262-18154-1). If you want the book, you should be able to find it at any of the major bookstore chains. Failing that, you can order by mail from The MIT Press 55 Hayward Street Cambridge, MA 02142 or order by phone at (800)-356-0343 or (617)-625-8481. The maintainers are committed to updating the on-line version of the Jargon File through and beyond paper publication, and will continue to make it available to archives and public-access sites as a trust of the hacker community. Here is a chronology of the high points in the recent on-line revisions: Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a seven-year hiatus. Reorganization and massive additions were by Eric S. Raymond, approved by Guy Steele. Many items of UNIX, C, USENET, and microcomputer-based jargon were added at that time (as well as The Untimely Demise of Mabel The Monkey). Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for book. This version had 18952 lines, 148629 words, 975551 characters, and 1702 entries. Version 2.9.8, Jan 01 1992: first public release since the book, including over fifty new entries and numerous corrections/additions to old ones. Packaged with version 1.1 of vh(1) hypertext reader. This version had 19509 lines, 153108 words, 1006023 characters, and 1760 entries. Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon. This version had 20298 lines, 159651 words, 1048909 characters, and 1821 entries. Version 2.9.10, Jul 01 1992: lots of new historical material. This version had 21349 lines, 168330 words, 1106991 characters, and 1891 entries. Version 2.9.11, Jan 01 1993: lots of new historical material. This version had 21725 lines, 171169 words, 1125880 characters, and 1922 entries. Version 2.9.12, May 10 1993: a few new entries & changes, marginal MUD/IRC slang and some borderline techspeak removed, all in preparation for 2nd Edition of TNHD. This version had 22238 lines, 175114 words, 1152467 characters, and 1946 entries. Version 3.0.0, Jul 27 1993: manuscript freeze for 2nd edition of TNHD. This version had 22548 lines, 177520 words, 1169372 characters, and 1961 entries. Version numbering: Version numbers should be read as major.minor.revision. Major version 1 is reserved for the `old' (ITS) Jargon File, jargon-1. Major version 2 encompasses revisions by ESR (Eric S. Raymond) with assistance from GLS (Guy L. Steele, Jr.) leading up to and including the second paper edition. From now on, major version number N.00 will probably correspond to the Nth paper edition. Usually later versions will either completely supersede or incorporate earlier versions, so there is generally no point in keeping old versions around. Our thanks to the coauthors of Steele-1983 for oversight and assistance, and to the hundreds of USENETters (too many to name here) who contributed entries and encouragement. More thanks go to several of the old-timers on the USENET group alt.folklore.computers, who contributed much useful commentary and many corrections and valuable historical perspective: Joseph M. Newcomer <firstname.lastname@example.org>, Bernie Cosell <email@example.com>, Earl Boebert <boebert@SCTC.com>, and Joe Morris <firstname.lastname@example.org>. We were fortunate enough to have the aid of some accomplished linguists. David Stampe <email@example.com> and Charles Hoequist <firstname.lastname@example.org> contributed valuable criticism; Joe Keane <email@example.com> helped us improve the pronunciation guides. A few bits of this text quote previous works. We are indebted to Brian A. LaMacchia <firstname.lastname@example.org> for obtaining permission for us to use material from the "TMRC Dictionary"; also, Don Libes <email@example.com> contributed some appropriate material from his excellent book "Life With UNIX". We thank Per Lindberg <firstname.lastname@example.org>, author of the remarkable Swedish-language 'zine "Hackerbladet", for bringing "FOO!" comics to our attention and smuggling one of the IBM hacker underground's own baby jargon files out to us. Thanks also to Maarten Litmaath for generously allowing the inclusion of the ASCII pronunciation guide he formerly maintained. And our gratitude to Marc Weiser of XEROX PARC <Marc_Weiser.PARC@xerox.com> for securing us permission to quote from PARC's own jargon lexicon and shipping us a copy. It is a particular pleasure to acknowledge the major contributions of Mark Brader <email@example.com> and Steve Summit <firstname.lastname@example.org> to the File and Dictionary; they have read and reread many drafts, checked facts, caught typos, submitted an amazing number of thoughtful comments, and did yeoman service in catching typos and minor usage bobbles. Their rare combination of enthusiasm, persistence, wide-ranging technical knowledge, and precisionism in matters of language has been of invaluable help. The sustained volume and quality of Mr. Brader's input over many months, especially, has only allowed him to escape co-editor credit by the slimmest of margins. Finally, George V. Reilly <email@example.com> helped with TeX arcana and painstakingly proofread some 2.7 and 2.8 versions, and Eric Tiedemann <firstname.lastname@example.org> contributed sage advice throughout on rhetoric, amphigory, and philosophunculism.
:rabbit job: [Cambridge] n. A batch job that does little, if any, real work, but creates one or more copies of itself, breeding like rabbits. Compare wabbit, fork bomb.
:rain dance: n. 1. Any ceremonial action taken to correct a hardware problem, with the expectation that nothing will be accomplished. This especially applies to reseating printed circuit boards, reconnecting cables, etc. "I can't boot up the machine. We'll have to wait for Greg to do his rain dance." 2. Any arcane sequence of actions performed with computers or software in order to achieve some goal; the term is usually restricted to rituals that include both an incantation or two and physical activity or motion. Compare magic, voodoo programming, black art , cargo cult programming, wave a dead chicken.
:rainbow series: n. Any of several series of technical manuals distinguished by cover color. The original rainbow series was the NCSC security manuals (see Orange Book, crayola books); the term has also been commonly applied to the PostScript reference set (see Red Book, Green Book, Blue Book, White Book ). Which books are meant by "`the' rainbow series" unqualified is thus dependent on one's local technical culture.
:random: adj. 1. Unpredictable (closest to mathematical definition); weird. "The system's been behaving pretty randomly." 2. Assorted; undistinguished. "Who was at the conference?" "Just a bunch of random business types." 3. (pejorative) Frivolous; unproductive; undirected. "He's just a random loser." 4. Incoherent or inelegant; poorly chosen; not well organized. "The program has a random set of misfeatures." "That's a random name for that function." "Well, all the names were chosen pretty randomly." 5. In no particular order, though deterministic. "The I/O channels are in a pool, and when a file is opened one is chosen randomly." 6. Arbitrary. "It generates a random name for the scratch file." 7. Gratuitously wrong, i.e., poorly done and for no good apparent reason. For example, a program that handles file name defaulting in a particularly useless way, or an assembler routine that could easily have been coded using only three registers, but redundantly uses seven for values with non-overlapping lifetimes, so that no one else can invoke it without first saving four extra registers. What randomness! 8. n. A random hacker; used particularly of high-school students who soak up computer time and generally get in the way. 9. n. Anyone who is not a hacker (or, sometimes, anyone not known to the hacker speaking); the noun form of sense 2. "I went to the talk, but the audience was full of randoms asking bogus questions". 10. n. (occasional MIT usage) One who lives at Random Hall. See also J. Random, some random X.
:random numbers:: n. When one wishes to specify a large but random number of things, and the context is inappropriate for N, certain numbers are preferred by hacker tradition (that is, easily recognized as placeholders). These include the following: 17 Long described at MIT as `the least random number'; see 23. 23 Sacred number of Eris, Goddess of Discord (along with 17 and 5). 42 The Answer to the Ultimate Question of Life, the Universe, and Everything. (Note that this answer is completely fortuitous. `:-)') 69 From the sexual act. This one was favored in MIT's ITS culture. 105 69 hex = 105 decimal, and 69 decimal = 105 octal. 666 The Number of the Beast. For further enlightenment, study the "Principia Discordia", "The Hitchhiker's Guide to the Galaxy", "The Joy of Sex", and the Christian Bible (Revelation 13:18). See also Discordianism or consult your pineal gland. See also for values of .
:randomness: n. 1. An inexplicable misfeature; gratuitous inelegance. 2. A hack or crock that depends on a complex combination of coincidences (or, possibly, the combination upon which the crock depends for its accidental failure to malfunction). "This hack can output characters 40--57 by putting the character in the four-bit accumulator field of an XCT and then extracting six bits --- the low 2 bits of the XCT opcode are the right thing." "What randomness!" 3. Of people, synonymous with `flakiness'. The connotation is that the person so described is behaving weirdly, incompetently, or inappropriately for reasons which are (a) too tiresome to bother inquiring into, (b) are probably as inscrutable as quantum phenomena anyway, and (c) are likely to pass with time. "Maybe he has a real complaint, or maybe it's just randomness. See if he calls back."
:rape: vt. 1. To screw someone or something, violently; in particular, to destroy a program or information irrecoverably. Often used in describing file-system damage. "So-and-so was running a program that did absolute disk I/O and ended up raping the master directory." 2. To strip a piece of hardware for parts. 3. [CMU/Pitt] To mass-copy files from an anonymous ftp site. "Last night I raped Simtel's dskutl directory."
:rare mode: [UNIX] adj. CBREAK mode (character-by-character with interrupts enabled). Distinguished from raw mode and cooked mode ; the phrase "a sort of half-cooked (rare?) mode" is used in the V7/BSD manuals to describe the mode. Usage: rare.
:raster blaster: n. [Cambridge] Specialized hardware for bitblt operations (a blitter). Allegedly inspired by `Rasta Blasta', British slang for the sort of portable stereo Americans call a `boom box' or `ghetto blaster'.
:raster burn: n. Eyestrain brought on by too many hours of looking at low-res, poorly tuned, or glare-ridden monitors, esp. graphics monitors. See terminal illness.
:rat belt: n. A cable tie, esp. the sawtoothed, self-locking plastic kind that you can remove only by cutting (as opposed to a random twist of wire or a twist tie or one of those humongous metal clip frobs). Small cable ties are `mouse belts'.
:rave: [WPI] vi. 1. To persist in discussing a specific subject. 2. To speak authoritatively on a subject about which one knows very little. 3. To complain to a person who is not in a position to correct the difficulty. 4. To purposely annoy another person verbally. 5. To evangelize. See flame. 6. Also used to describe a less negative form of blather, such as friendly bullshitting. `Rave' differs slightly from flame in that `rave' implies that it is the persistence or obliviousness of the person speaking that is annoying, while flame implies somewhat more strongly that the tone or content is offensive as well.
:rave on!: imp. Sarcastic invitation to continue a rave, often by someone who wishes the raver would get a clue but realizes this is unlikely.
:ravs: /ravz/, also `Chinese ravs' n. Jiao-zi (steamed or boiled) or Guo-tie (pan-fried). A Chinese appetizer, known variously in the plural as dumplings, pot stickers (the literal translation of guo-tie), and (around Boston) `Peking Ravioli'. The term `rav' is short for `ravioli', which among hackers always means the Chinese kind rather than the Italian kind. Both consist of a filling in a pasta shell, but the Chinese kind includes no cheese, uses a thinner pasta, has a pork-vegetable filling (good ones include Chinese chives), and is cooked differently, either by steaming or frying. A rav or dumpling can be cooked any way, but a potsticker is always the fried kind (so called because it sticks to the frying pot and has to be scraped off). "Let's get hot-and-sour soup and three orders of ravs." See also oriental food.
:raw mode: n. A mode that allows a program to transfer bits directly to or from an I/O device (or, under bogus systems that make a distinction, a disk file) without any processing, abstraction, or interpretation by the operating system. Compare rare mode, cooked mode. This is techspeak under UNIX, jargon elsewhere.
:rc file: /R-C fi:l/ [UNIX: from the startup script `/etc/rc', but this is commonly believed to have been named after older scripts to `run commands'] n. Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also dot file, profile (sense 1).
:RE: /R-E/ n. Common spoken and written shorthand for regexp.
:read-only user: n. Describes a luser who uses computers almost exclusively for reading USENET, bulletin boards, and/or email, rather than writing code or purveying useful information. See twink, terminal junkie, lurker.
:README file: n. Hacker's-eye introduction traditionally included in the top-level directory of a UNIX source distribution, containing a pointer to more detailed documentation, credits, miscellaneous revision history, notes, etc. (The file may be named README, or READ.ME, or rarely ReadMe or readme.txt or some other variant.) In the Mac and PC worlds, software is not usually distributed in source form, and the README is more likely to contain user-oriented material like last-minute documentation changes, error workarounds, and restrictions. When asked, hackers invariably relate the README convention to the famous scene in Lewis Carroll's "Alice's Adventures In Wonderland" in which Alice confronts magic munchies labeled "Eat Me" and "Drink Me".
:real: adj. Not simulated. Often used as a specific antonym to virtual in any of its jargon senses.
:real estate: n. May be used for any critical resource measured in units of area. Most frequently used of `chip real estate', the area available for logic on the surface of an integrated circuit (see also nanoacre). May also be used of floor space in a dinosaur pen, or even space on a crowded desktop (whether physical or electronic).
:real hack: n. A crock. This is sometimes used affectionately; see hack.
:real operating system: n. The sort the speaker is used to. People from the BSDophilic academic community are likely to issue comments like "System V? Why don't you use a *real* operating system?", people from the commercial/industrial UNIX sector are known to complain "BSD? Why don't you use a *real* operating system?", and people from IBM object "UNIX? Why don't you use a *real* operating system?" See holy wars, religious issues, proprietary, Get a real computer!
:Real Programmer: [indirectly, from the book "Real Men Don't Eat Quiche"] n. A particular sub-variety of hacker: one possessed of a flippant attitude toward complexity that is arrogant even when justified by experience. The archetypal `Real Programmer' likes to program on the bare metal and is very good at same, remembers the binary opcodes for every machine he has ever programmed, thinks that HLLs are sissy, and uses a debugger to edit his code because full-screen editors are for wimps. Real Programmers aren't satisfied with code that hasn't been bummed into a state of tenseness just short of rupture. Real Programmers never use comments or write documentation: "If it was hard to write", says the Real Programmer, "it should be hard to understand." Real Programmers can make machines do things that were never in their spec sheets; in fact, they are seldom really happy unless doing so. A Real Programmer's code can awe with its fiendish brilliance, even as its crockishness appalls. Real Programmers live on junk food and coffee, hang line-printer art on their walls, and terrify the crap out of other programmers --- because someday, somebody else might have to try to understand their code in order to change it. Their successors generally consider it a Good Thing that there aren't many Real Programmers around any more. For a famous (and somewhat more positive) portrait of a Real Programmer, see "The Story of Mel, a Real Programmer " in Appendix A. The term itself was popularized by a 1983 Datamation article "Real Programmers Don't Use Pascal" by Ed Post, still circulating on USENET and Internet in on-line form.
:Real Soon Now: [orig. from SF's fanzine community, popularized by Jerry Pournelle's column in "BYTE"] adv. 1. Supposed to be available (or fixed, or cheap, or whatever) real soon now according to somebody, but the speaker is quite skeptical. 2. When one's gods, fates, or other time commitments permit one to get to it (in other words, don't hold your breath). Often abbreviated RSN.
:real time: 1. [techspeak] adj. Describes an application which requires a program to respond to stimuli within some small upper limit of response time (typically milli- or microseconds). Process control at a chemical plant is the classic example. Such applications often require special operating systems (because everything else must take a back seat to response time) and speed-tuned hardware. 2. adv. In jargon, refers to doing something while people are watching or waiting. "I asked her how to find the calling procedure's program counter on the stack and she came up with an algorithm in real time."
:real user: n. 1. A commercial user. One who is paying *real* money for his computer usage. 2. A non-hacker. Someone using the system for an explicit purpose (a research project, a course, etc.) other than pure exploration. See user. Hackers who are also students may also be real users. "I need this fixed so I can do a problem set. I'm not complaining out of randomness, but as a real user." See also luser.
:Real World: n. 1. Those institutions at which `programming' may be used in the same sentence as `FORTRAN', `COBOL', `RPG', `IBM', `DBASE', etc. Places where programs do such commercially necessary but intellectually uninspiring things as generating payroll checks and invoices. 2. The location of non-programmers and activities not related to programming. 3. A bizarre dimension in which the standard dress is shirt and tie and in which a person's working hours are defined as 9 to 5 (see code grinder). 4. Anywhere outside a university. "Poor fellow, he's left MIT and gone into the Real World." Used pejoratively by those not in residence there. In conversation, talking of someone who has entered the Real World is not unlike speaking of a deceased person. It is also noteworthy that on the campus of Cambridge University in England, there is a gaily-painted lamp-post which bears the label `REALITY CHECKPOINT'. It marks the boundary between university and the Real World; check your notions of reality before passing. This joke is funnier because the Cambridge `campus' is actually coextensive with the center of Cambridge. See also fear and loathing, mundane, and uninteresting.
:reality check: n. 1. The simplest kind of test of software or hardware; doing the equivalent of asking it what 2 + 2 is and seeing if you get 4. The software equivalent of a smoke test. 2. The act of letting a real user try out prototype software. Compare sanity check.
:reaper: n. A prowler that GFRs files. A file removed in this way is said to have been `reaped'.
:rectangle slinger: n. See polygon pusher.
:recursion: n. See recursion. See also tail recursion.
:recursive acronym:: pl.n. A hackish (and especially MIT) tradition is to choose acronyms/abbreviations that refer humorously to themselves or to other acronyms/abbreviations. The classic examples were two MIT editors called EINE ("EINE Is Not EMACS") and ZWEI ("ZWEI Was EINE Initially"). More recently, there is a Scheme compiler called LIAR (Liar Imitates Apply Recursively), and GNU (q.v., sense 1) stands for "GNU's Not UNIX!" --- and a company with the name CYGNUS, which expands to "Cygnus, Your GNU Support". See also mung, EMACS.
:Red Book: n. 1. Informal name for one of the three standard references on PostScript ("PostScript Language Reference Manual", Adobe Systems (Addison-Wesley, 1985; QA76.73.P67P67; ISBN 0-201-10174-2, or the 1990 second edition ISBN 0-201-18127-4); the others are known as the Green Book, the Blue Book, and the White Book (sense 2). 2. Informal name for one of the 3 standard references on Smalltalk ("Smalltalk-80: The Interactive Programming Environment" by Adele Goldberg (Addison-Wesley, 1984; QA76.8.S635G638; ISBN 0-201-11372-4); this too is associated with blue and green books). 3. Any of the 1984 standards issued by the CCITT eighth plenary assembly. These include, among other things, the X.400 email spec and the Group 1 through 4 fax standards. 4. The new version of the Green Book (sense 4) --- IEEE 1003.1-1990, a.k.a ISO 9945-1 --- is (because of the color and the fact that it is printed on A4 paper) known in the U.S.A. as "the Ugly Red Book That Won't Fit On The Shelf" and in Europe as "the Ugly Red Book That's A Sensible Size". 5. The NSA "Trusted Network Interpretation" companion to the Orange Book. See also book titles.
:red wire: [IBM] n. Patch wires installed by programmers who have no business mucking with the hardware. It is said that the only thing more dangerous than a hardware guy with a code patch is a softy with a soldering iron.... Compare blue wire, yellow wire, purple wire.
:regexp: /reg'eksp/ [UNIX] n. (alt. `regex' or `reg-ex') 1. Common written and spoken abbreviation for `regular expression', one of the wildcard patterns used, e.g., by UNIX utilities such as `grep(1)', `sed(1)', and `awk(1)'. These use conventions similar to but more elaborate than those described under glob. For purposes of this lexicon, it is sufficient to note that regexps also allow complemented character sets using `^'; thus, one can specify `any non-alphabetic character' with `[^A-Za-z]'. 2. Name of a well-known PD regexp-handling package in portable C, written by revered USENETter Henry Spencer <email@example.com>.
:register dancing: n. Many older processor architectures suffer from a serious shortage of general-purpose registers. This is especially a problem for compiler-writers, because their generated code needs places to store temporaries for things like intermediate values in expression evaluation. Some designs with this problem, like the Intel 80x86, do have a handful of special-purpose registers that can be pressed into service, providing suitable care is taken to avoid unpleasant side effects on the state of the processor: while the special-purpose register is being used to hold an intermediate value, a delicate minuet is required in which the previous value of the register is saved and then restored just before the official function (and value) of the special-purpose register is again needed.
:reincarnation, cycle of: n. See cycle of reincarnation.
:reinvent the wheel: v. To design or implement a tool equivalent to an existing one or part of one, with the implication that doing so is silly or a waste of time. This is often a valid criticism. On the other hand, automobiles don't use wooden rollers, and some kinds of wheel have to be reinvented many times before you get them right. On the third hand, people reinventing the wheel do tend to come up with the moral equivalent of a trapezoid with an offset axle.
:religion of CHI: n. /ki:/ [Case Western Reserve University] n. Yet another hackish parody religion (see also Church of the SubGenius , Discordianism). In the mid-70s, the canonical "Introduction to Programming" courses at CWRU were taught in Algol, and student exercises were punched on cards and run on a Univac 1108 system using a homebrew operating system named CHI. The religion had no doctrines and but one ritual: whenever the worshipper noted that a digital clock read 11:08, he or she would recite the phrase "It is 11:08; ABS, ALPHABETIC, ARCSIN, ARCCOS, ARCTAN." The last five words were the first five functions in the appropriate chapter of the Algol manual; note the special pronunciations /obz/ and /ark'sin/ rather than the more common /ahbz/ and /ark'si:n/. Using an alarm clock to warn of 11:08's arrival was considered harmful.
:religious issues: n. Questions which seemingly cannot be raised without touching off holy wars, such as "What is the best operating system (or editor, language, architecture, shell, mail reader, news reader)?", "What about that Heinlein guy, eh?", "What should we add to the new Jargon File?" See holy wars; see also theology, bigot. This term is a prime example of ha ha only serious. People actually develop the most amazing and religiously intense attachments to their tools, even when the tools are intangible. The most constructive thing one can do when one stumbles into the crossfire is mumble Get a life! and leave --- unless, of course, one's *own* unassailably rational and obviously correct choices are being slammed.
:replicator: n. Any construct that acts to produce copies of itself; this could be a living organism, an idea (see meme), a program (see quine, worm, wabbit, fork bomb, and virus), a pattern in a cellular automaton (see life, sense 1), or (speculatively) a robot or nanobot. It is even claimed by some that UNIX and C are the symbiotic halves of an extremely successful replicator; see UNIX conspiracy.
:reply: n. See followup.
:restriction: n. A bug or design error that limits a program's capabilities, and which is sufficiently egregious that nobody can quite work up enough nerve to describe it as a feature. Often used (esp. by marketroid types) to make it sound as though some crippling bogosity had been intended by the designers all along, or was forced upon them by arcane technical constraints of a nature no mere user could possibly comprehend (these claims are almost invariably false). Old-time hacker Joseph M. Newcomer advises that whenever choosing a quantifiable but arbitrary restriction, you should make it either a power of 2 or a power of 2 minus 1. If you impose a limit of 17 items in a list, everyone will know it is a random number --- on the other hand, a limit of 15 or 16 suggests some deep reason (involving 0- or 1-based indexing in binary) and you will get less flamage for it. Limits which are round numbers in base 10 are always especially suspect.
:retcon: /ret'kon/ [short for `retroactive continuity', from the USENET newsgroup rec.arts.comics] 1. n. The common situation in pulp fiction (esp. comics or soap operas) where a new story `reveals' things about events in previous stories, usually leaving the `facts' the same (thus preserving continuity) while completely changing their interpretation. For example, revealing that a whole season of "Dallas" was a dream was a retcon. 2. vt. To write such a story about a character or fictitious object. "Byrne has retconned Superman's cape so that it is no longer unbreakable." "Marvelman's old adventures were retconned into synthetic dreams." "Swamp Thing was retconned from a transformed person into a sentient vegetable." "Darth Vader was retconned into Luke Skywalker's father in "The Empire Strikes Back". [This term is included because it is a good example of hackish linguistic innovation in a field completely unrelated to computers. The word `retcon' will probably spread through comics fandom and lose its association with hackerdom within a couple of years; for the record, it started here. --- ESR] [1993 update: some comics fans on the net now claim that retcon was independently in use in comics fandom before rec.arts.comics. In lexicography, nothing is ever simple. --- ESR]
:RETI: v. Syn. RTI
:retrocomputing: /ret'-roh-k*m-pyoo'ting/ n. Refers to emulations of way-behind-the-state-of-the-art hardware or software, or implementations of never-was-state-of-the-art; esp. if such implementations are elaborate practical jokes and/or parodies, written mostly for hack value, of more `serious' designs. Perhaps the most widely distributed retrocomputing utility was the `pnch(6)' or `bcd(6)' program on V7 and other early UNIX versions, which would accept up to 80 characters of text argument and display the corresponding pattern in punched card code. Other well-known retrocomputing hacks have included the programming language INTERCAL, a JCL-emulating shell for UNIX, the card-punch-emulating editor named 029, and various elaborate PDP-11 hardware emulators and RT-11 OS emulators written just to keep an old, sourceless Zork binary running.
:return from the dead: v. To regain access to the net after a long absence. Compare person of no account.
:RFC: /R-F-C/ [Request For Comment] n. One of a long-established series of numbered Internet informational documents and standards widely followed by commercial software and freeware in the Internet and UNIX communities. Perhaps the single most influential one has been RFC-822 (the Internet mail-format standard). The RFCs are unusual in that they are floated by technical experts acting on their own initiative and reviewed by the Internet at large, rather than formally promulgated through an institution such as ANSI. For this reason, they remain known as RFCs even once adopted as standards. The RFC tradition of pragmatic, experience-driven, after-the-fact standard writing done by individuals or small working groups has important advantages over the more formal, committee-driven process typical of ANSI or ISO. Emblematic of some of these advantages is the existence of a flourishing tradition of `joke' RFCs; usually at least one a year is published, usually on April 1st. Well-known joke RFCs have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22 June 1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin; 1 April 1978), and 1149 ("A Standard for the Transmission of IP Datagrams on Avian Carriers", D. Waitzman, BBN STC; 1 April 1990). The first was a Lewis Carroll pastiche; the second a parody of the TCP-IP documentation style, and the third a deadpan skewering of standards-document legalese, describing protocols for transmitting Internet data packets by carrier pigeon. The RFCs are most remarkable for how well they work --- they manage to have neither the ambiguities that are usually rife in informal specifications, nor the committee-perpetrated misfeatures that often haunt formal standards, and they define a network that has grown to truly worldwide proportions.
:RFE: /R-F-E/ n. 1. [techspeak] Request For Enhancement (compare RFC). 2. [from `Radio Free Europe', Bellcore and Sun] Radio Free Ethernet, a system (originated by Peter Langston) for broadcasting audio among Sun SPARCstations over the ethernet.
:rib site: [by analogy with backbone site] n. A machine that has an on-demand high-speed link to a backbone site and serves as a regional distribution point for lots of third-party traffic in email and USENET news. Compare leaf site, backbone site.
:rice box: [from ham radio slang] n. Any Asian-made commodity computer, esp. an 80x86-based machine built to IBM PC-compatible ISA or EISA-bus standards.
:Right Thing: n. That which is *compellingly* the correct or appropriate thing to use, do, say, etc. Often capitalized, always emphasized in speech as though capitalized. Use of this term often implies that in fact reasonable people may disagree. "What's the right thing for LISP to do when it sees `(mod a 0)'? Should it return `a', or give a divide-by-0 error?" Oppose Wrong Thing.
:RL: // [MUD community] n. Real Life. "Firiss laughs in RL" means that Firiss's player is laughing. Oppose VR.
:roach: [Bell Labs] vt. To destroy, esp. of a data structure. Hardware gets toasted or fried, software gets roached.
:robot: [IRC, MUD] n. An IRC or MUD user who is actually a program. On IRC, typically the robot provides some useful service. Examples are NickServ, which tries to prevent random users from adopting nicks already claimed by others, and MsgServ, which allows one to send asynchronous messages to be delivered when the recipient signs on. Also common are `annoybots', such as KissServ, which perform no useful function except to send cute messages to other people. Service robots are less common on MUDs; but some others, such as the `Julia' robot active in 1990--91, have been remarkably impressive Turing-test experiments, able to pass as human for as long as ten or fifteen minutes of conversation.
:robust: adj. Said of a system that has demonstrated an ability to recover gracefully from the whole range of exceptional inputs and situations in a given environment. One step below bulletproof. Carries the additional connotation of elegance in addition to just careful attention to detail. Compare smart, oppose brittle.
:rococo: adj. Baroque in the extreme. Used to imply that a program has become so encrusted with the software equivalent of gold leaf and curlicues that they have completely swamped the underlying design. Called after the later and more extreme forms of Baroque architecture and decoration prevalent during the mid-1700s in Europe. Alan Perlis said: "Every program eventually becomes rococo, and then rubble." Compare critical mass .
:rogue: [UNIX] n. A Dungeons-and-Dragons-like game using character graphics, written under BSD UNIX and subsequently ported to other UNIX systems. The original BSD `curses(3)' screen-handling package was hacked together by Ken Arnold to support `rogue(6)' and has since become one of UNIX's most important and heavily used application libraries. Nethack, Omega, Larn, and an entire subgenre of computer dungeon games all took off from the inspiration provided by `rogue(6)'. See also nethack.
:room-temperature IQ: [IBM] quant. 80 or below. Used in describing the expected intelligence range of the luser. "Well, but how's this interface going to play with the room-temperature IQ crowd?" See drool-proof paper. This is a much more insulting phrase in countries that use Celsius thermometers.
:root: [UNIX] n. 1. The superuser account (with user name `root') that ignores permission bits, user number 0 on a UNIX system. The term avatar is also used. 2. The top node of the system directory structure (home directory of the root user). 3. By extension, the privileged system-maintenance login on any OS. See root mode, go root, see also wheel.
:root mode: n. Syn. with wizard mode or `wheel mode'. Like these, it is often generalized to describe privileged states in systems other than OSes.
:rot13: /rot ther'teen/ [USENET: from `rotate alphabet 13 places'] n., v. The simple Caesar-cypher encryption that replaces each English letter with the one 13 places forward or back along the alphabet, so that "The butler did it!" becomes "Gur ohgyre qvq vg!" Most USENET news reading and posting programs include a rot13 feature. It is used to enclose the text in a sealed wrapper that the reader must choose to open --- e.g., for posting things that might offend some readers, or spoilers. A major advantage of rot13 over rot(N) for other N is that it is self-inverse, so the same code can be used for encoding and decoding.
:rotary debugger: [Commodore] n. Essential equipment for those late-night or early-morning debugging sessions. Mainly used as sustenance for the hacker. Comes in many decorator colors, such as Sausage, Pepperoni, and Garbage. See pizza, ANSI standard.
:round tape: n. Industry-standard 1/2-inch magnetic tape (7- or 9-track) on traditional circular reels. See macrotape, oppose square tape.
:RSN: /R-S-N/ adj. See Real Soon Now.
:RTBM: /R-T-B-M/ [UNIX] imp. Commonwealth Hackish variant of RTFM; expands to `Read The Bloody Manual'. RTBM is often the entire text of the first reply to a question from a newbie; the *second* would escalate to "RTFM".
:RTFAQ: /R-T-F-A-Q/ [USENET: primarily written, by analogy with RTFM] imp. Abbrev. for `Read the FAQ!', an exhortation that the person addressed ought to read the newsgroup's FAQ list before posting questions.
:RTFB: /R-T-F-B/ [UNIX] imp. Acronym for `Read The Fucking Binary'. Used when neither documentation nor source for the problem at hand exists, and the only thing to do is use some debugger or monitor and directly analyze the assembler or even the machine code. "No source for the buggy port driver? Aaargh! I *hate* proprietary operating systems. Time to RTFB." Of the various RTF? forms, `RTFB' is the least pejorative against anyone asking a question for which RTFB is the answer; the anger here is directed at the absence of both source *and* adequate documentation.
:RTFM: /R-T-F-M/ [UNIX] imp. Acronym for `Read The Fucking Manual'. 1. Used by gurus to brush off questions they consider trivial or annoying. Compare Don't do that, then!. 2. Used when reporting a problem to indicate that you aren't just asking out of randomness. "No, I can't figure out how to interface UNIX to my toaster, and yes, I have RTFM." Unlike sense 1, this use is considered polite. See also FM, RTFAQ, RTFB, RTFS, RTM, all of which mutated from RTFM, and compare UTSL.
:RTFS: /R-T-F-S/ [UNIX] 1. imp. Acronym for `Read The Fucking Source'. Variant form of RTFM, used when the problem at hand is not necessarily obvious and not answerable from the manuals --- or the manuals are not yet written and maybe never will be. For even trickier situations, see RTFB. Unlike RTFM, the anger inherent in RTFS is not usually directed at the person asking the question, but rather at the people who failed to provide adequate documentation. 2. imp. `Read The Fucking Standard'; this oath can only be used when the problem area (e.g., a language or operating system interface) has actually been codified in a ratified standards document. The existence of these standards documents (and the technically inappropriate but politically mandated compromises that they inevitably contain, and the impenetrable legalese in which they are invariably written, and the unbelievably tedious bureaucratic process by which they are produced) can be unnerving to hackers, who are used to a certain amount of ambiguity in the specifications of the systems they use. (Hackers feel that such ambiguities are acceptable as long as the Right Thing to do is obvious to any thinking observer; sadly, this casual attitude towards specifications becomes unworkable when a system becomes popular in the Real World.) Since a hacker is likely to feel that a standards document is both unnecessary and technically deficient, the deprecation inherent in this term may be directed as much against the standard as against the person who ought to read it.
:RTI: /R-T-I/ interj. The mnemonic for the `return from interrupt' instruction on many computers including the 6502 and 6800. The variant `RETI' is found among former Z80 hackers (almost nobody programs these things in assembler anymore). Equivalent to "Now, where was I?" or used to end a conversational digression. See pop; see also POPJ.
:RTM: /R-T-M/ [USENET: abbreviation for `Read The Manual'] 1. Politer variant of RTFM. 2. Robert T. Morris Jr., perpetrator of the great Internet worm of 1988 (see Great Worm, the ); villain to many, naive hacker gone wrong to a few. Morris claimed that the worm that brought the Internet to its knees was a benign experiment that got out of control as the result of a coding error. After the storm of negative publicity that followed this blunder, Morris's username on ITS was hacked from RTM to RTFM.
:rude: [WPI] adj. 1. (of a program) Badly written. 2. Functionally poor, e.g., a program that is very difficult to use because of gratuitously poor (random?) design decisions. Oppose cuspy. 3. Anything that manipulates a shared resource without regard for its other users in such a way as to cause a (non-fatal) problem. Examples: programs that change tty modes without resetting them on exit, or windowing programs that keep forcing themselves to the top of the window stack. Compare all-elbows.
:runes: pl.n. 1. Anything that requires heavy wizardry or black art to parse: core dumps, JCL commands, APL, or code in a language you haven't a clue how to read. Not quite as bad as line noise, but close. Compare casting the runes, Great Runes. 2. Special display characters (for example, the high-half graphics on an IBM PC).
:runic: adj. Syn. obscure. VMS fans sometimes refer to UNIX as `Runix'; UNIX fans return the compliment by expanding VMS to `Very Messy Syntax' or `Vachement Mauvais Syst`eme' (French; lit. "Cowlike Bad System", idiomatically "Bitchy Bad System").
:rusty iron: n. Syn. tired iron. It has been claimed that this is the inevitable fate of water MIPS.
:rusty memory: n. Mass-storage that uses iron-oxide-based magnetic media (esp. tape and the pre-Winchester removable disk packs used in washing machines). Compare donuts. = S =
:Reading Habits: Omnivorous, but usually includes lots of science and science fiction. The typical hacker household might subscribe to "Analog", "Scientific American", "Co-Evolution Quarterly", and "Smithsonian". Hackers often have a reading range that astonishes liberal arts people but tend not to talk about it as much. Many hackers spend as much of their spare time reading as the average American burns up watching TV, and often keep shelves and shelves of well-thumbed books in their homes.
:Religion: Agnostic. Atheist. Non-observant Jewish. Neo-pagan. Very commonly, three or more of these are combined in the same person. Conventional faith-holding Christianity is rare though not unknown. Even hackers who identify with a religious affiliation tend to be relaxed about it, hostile to organized religion in general and all forms of religious bigotry in particular. Many enjoy `parody' religions such as Discordianism and the Church of the SubGenius. Also, many hackers are influenced to varying degrees by Zen Buddhism or (less commonly) Taoism, and blend them easily with their `native' religions. There is a definite strain of mystical, almost Gnostic sensibility that shows up even among those hackers not actively involved with neo-paganism, Discordianism, or Zen. Hacker folklore that pays homage to `wizards' and speaks of incantations and demons has too much psychological truthfulness about it to be entirely a joke.
HTML Conversion © 1999 Thomas Hövel Software 18.02.00 04:13:02 -0500