= R = ===== 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}. 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, consult the `Principia Discordia', `The Hitchhiker's Guide to the Galaxy', `The Joy of Sex', and the Christian Bible (Revelation 13:8). See also {Discordianism} or consult your pineal gland. One common rhetorical maneuver uses any of the canonical random numbers as placeholders for variables. "The max function takes 42 arguments, for arbitrary values of 42." "There are 69 ways to leave your lover, for 69 = 50." This is especially likely when the speaker has uttered a random number and realizes that it was not recognized as such, but even `non-random' numbers are occasionally used in this fashion. A related joke is that pi equals 3 --- for small values of pi and large values of 3. randomness: n. An inexplicable misfeature; gratuitous inelegance. Also, 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!" 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. 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 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 without any processing, abstraction, or interpretation by the operating system. Compare {rare}. 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}. 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. By convention, the top-level directory of a UNIX source distribution always contains a file named `README' (or READ.ME, or rarely ReadMe or some other variant), which is a hacker's-eye introduction containing a pointer to more detailed documentation, credits, miscellaneous revision history notes, etc. When asked, hackers invariably relate this 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 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 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 {bum}med into a state of {tense}ness 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" in appendix A. 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. 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 {GFR}s 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 that refer humorously to themselves or to other acronyms. 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); the others are known as the {Green Book} and the {Blue Book}. 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. Until now, these have changed color each review cycle (1988 was {Blue Book}, 1992 will be {Green Book}); however, it is rumored that this convention is going to be dropped before 1992. 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}}. 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 (henry@zoo.toronto.edu). 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. 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 an 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 {worm}, {wabbit}, 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}. reset: [the MUD community] v. In AberMUD, to bring all dead mobiles to life and move items back to their initial starting places. New players who can't find anything shout "Reset! Reset!" quite a bit. Higher-level players shout back "No way!" since they know where points are to be found. Used in {RL}, it means to put things back to the way they were when you found them. 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/ [`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. E.g., 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." [This 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] 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 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. RFC: /R-F-C/ [Request For Comment] n. One of a long-established series of numbered Internet standards widely followed by commercial and PD software 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. RFE: /R-F-E/ n. 1. [techspeak] Request For Enhancement. 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 {toast}ed or {fried}, software gets roached. 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. Fred Brooks (the man who coined {second-system effect}) said: "Every program eventually becomes rococo, and then rubble." 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 {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 that ignores permission bits, user number 0 on a UNIX system. This account has the user name `root'. 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}. 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 answers to puzzles. 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}. RSN: // adj. See {Real Soon Now}. 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. RTFM: /R-T-F-M/ [UNIX] imp. Acronym for `Read The Fucking Manual'. 1. Used by {guru}s 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 {RTFAQ}, {RTM}. The variant RTFS, where S = `Standard', has also been reported. Compare {UTSL}. 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: acronym for `Read The Manual'] 1. Politer variant of {RTFM}. 2. Robert T. Morris, perpetrator of the great Internet worm of 1988; villain to many, na"ive 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 name 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. See {cuspy}. 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. 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 machine}s). Compare {donuts}.