Part 45
The surprisingly large amount of work that needs to be done as the result of any small but globally visible program change. "The world" may mean the entirety of some huge program, or may in theory refer to every program of a certain class in the entire known universe. For instance, "Add one #define to stdio.h, and you have to recompile the world." This means that any minor change to the standard-I/O header file theoretically mandates recompiling every C program in existence, even if only to verify that the change didn't screw something else up. In practice, you may not actually have to recompile the world, but the implication is that some human cleverness is required to figure out what parts can be safely left out.
Node:rectangle slinger, Next:recursion, Previous:recompile the world, Up:= R =
rectangle slinger n.
See polygon pusher.
Node:recursion, Next:recursive acronym, Previous:rectangle slinger, Up:= R =
recursion n.
See recursion. See also tail recursion.
Node:recursive acronym, Next:Red Book, Previous:recursion, Up:= R =
recursive acronym 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" (though Cygnus people say this is a backronym). See also mung, EMACS.
Node:Red Book, Next:red wire, Previous:recursive acronym, Up:= R =
Red Book n.
1. Informal name for one of the four 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 USA 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. 6. Nemeth, Snyder, Seebass, Hein; "Unix System Administration Handbook, Second Edition" (Prentice Hall PTR, New Jersey; 1995; QA76.76.063N45; ISBN 0-13-151051-7). See also book titles.
Node:red wire, Next:regexp, Previous:Red Book, Up:= R =
red wire n.
[IBM] 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.
Node:regexp, Next:register dancing, Previous:red wire, Up:= R =
regexp /reg'eksp/ n.
[Unix] (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.
Node:register dancing, Next:rehi, Previous:regexp, Up:= R =
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.
Node:rehi, Next:reincarnation cycle of, Previous:register dancing, Up:= R =
rehi
[IRC, MUD] "Hello again." Very commonly used to greet people upon returning to an IRC channel after channel hopping.
Node:reincarnation cycle of, Next:reinvent the wheel, Previous:rehi, Up:= R =
reincarnation, cycle of n.
See cycle of reincarnation.
Node:reinvent the wheel, Next:relay rape, Previous:reincarnation cycle of, Up:= R =
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.
Node:relay rape, Next:religion of CHI, Previous:reinvent the wheel, Up:= R =
relay rape n.
The hijacking of a third party's unsecured mail server to deliver spam.
Node:religion of CHI, Next:religious issues, Previous:relay rape, Up:= R =
religion of CHI /ki:/ n.
[Case Western Reserve University] 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.
Node:religious issues, Next:replicator, Previous:religion of CHI, Up:= R =
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.
Node:replicator, Next:reply, Previous:religious issues, Up:= R =
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.
Node:reply, Next:restriction, Previous:replicator, Up:= R =
reply n.
See followup.
Node:restriction, Next:retcon, Previous:reply, Up:= R =
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 107 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.
Node:retcon, Next:RETI, Previous:restriction, Up:= R =
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]
Node:RETI, Next:retrocomputing, Previous:retcon, Up:= R =
RETI v.
Syn. RTI
Node:retrocomputing, Next:return from the dead, Previous:RETI, Up:= R =
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.
A tasty selection of retrocomputing programs are made available at the Retrocomputing Museum, http://www.ccil.org/retro.
Node:return from the dead, Next:RFC, Previous:retrocomputing, Up:= R =
return from the dead v.
To regain access to the net after a long absence. Compare person of no account.
Node:RFC, Next:RFE, Previous:return from the dead, Up:= R =
RFC /R-F-C/ n.
[Request For Comment] 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.
Node:RFE, Next:rib site, Previous:RFC, Up:= R =
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.
Node:rib site, Next:rice box, Previous:RFE, Up:= R =
rib site n.
[by analogy with backbone site] 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.
Node:rice box, Next:Right Thing, Previous:rib site, Up:= R =
rice box n.
[from ham radio slang] Any Asian-made commodity computer, esp. an 80x86-based machine built to IBM PC-compatible ISA or EISA-bus standards.
Node:Right Thing, Next:rip, Previous:rice box, Up:= R =
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.
Node:rip, Next:ripoff, Previous:Right Thing, Up:= R =
rip v.
1. To extract the digital representation of a piece of music from an audio CD. Software that does this is often called a "CD ripper". 2. [Amiga hackers] To extract sound or graphics from a program that they have been compiled/assembled into, or which generates them at run-time. In the case of older Amiga games this entails searching through memory shortly after a reboot. This sense has been in use for many years and probably gave rise to the (now more common) sense 1.
Node:ripoff, Next:RL, Previous:rip, Up:= R =
ripoff n.
Synonym for chad, sense 1.
Node:RL, Next:roach, Previous:ripoff, Up:= R =
RL // n.
[MUD community] Real Life. "Firiss laughs in RL" means that Firiss's player is laughing. Compare meatspace; oppose VR.
Node:roach, Next:robocanceller, Previous:RL, Up:= R =
roach vt.
[Bell Labs] To destroy, esp. of a data structure. Hardware gets toasted or fried, software gets roached.
Node:robocanceller, Next:robot, Previous:roach, Up:= R =
robocanceller /roh-boh-kan'sel-*r/
A program that monitors Usenet feeds, attempting to detect and eliminate spam by sending appropriate cancel messages . Robocancellers may use the Breidbart Index as a trigger. Programming them is not a game for amateurs; see ARMM. See also Dave the Resurrector.
Node:robot, Next:robust, Previous:robocanceller, Up:= R =
robot n.
See bot.
Node:robust, Next:rococo, Previous:robot, Up:= R =
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.
Node:rococo, Next:rogue, Previous:robust, Up:= R =
rococo adj.
Terminally baroque. 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.
Node:rogue, Next:room-temperature IQ, Previous:rococo, Up:= R =
rogue
1. [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 primarily to support games, and the development of rogue(6) popularized its use; it has since become one of Unix's most important and heavily used application libraries. Nethack, Omega, Larn, Angband, and an entire subgenre of computer dungeon games (all known as `roguelikes') all took off from the inspiration provided by rogue(6); the popular Windows game Diablo, though graphics-intensive, has very similar play logic. See also nethack. 2. [Usenet] adj. An ISP which permits net abuse (usually in the form of spamming) by its customers, or which itself engages in such activities. Rogue ISPs are sometimes subject to IDPs or UDPs. Sometimes deliberately mispelled as "rouge". See also nethack, moria, Angband.
Node:room-temperature IQ, Next:root, Previous:rogue, Up:= R =
room-temperature IQ quant.
[IBM] 80 or below (nominal room temperature is 72 degrees Fahrenheit, 22 degrees Celsius). 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.
Node:root, Next:root mode, Previous:room-temperature IQ, Up:= R =
root n.
[Unix] 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; historically the home directory of the root user, but probably named after the root of an (inverted) tree. 3. By extension, the privileged system-maintenance login on any OS. See root mode, go root, see also wheel.
Node:root mode, Next:rot13, Previous:root, Up:= R =
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.
Node:rot13, Next:rotary debugger, Previous:root mode, Up:= R =
rot13 /rot ther'teen/ n.,v.
[Usenet: from `rotate alphabet 13 places'] 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. See also spoiler space, which has partly displaced rot13 since non-Unix-based newsreaders became common.
Node:rotary debugger, Next:round tape, Previous:rot13, Up:= R =
rotary debugger n.
[Commodore] 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 ANSI standard pizza.
Node:round tape, Next:RSN, Previous:rotary debugger, Up:= R =
round tape n.
Industry-standard 1/2-inch magnetic tape (7- or 9-track) on traditional circular reels. See macrotape, oppose square tape.
Node:RSN, Next:RTBM, Previous:round tape, Up:= R =
RSN /R-S-N/ adj.
See Real Soon Now.
Node:RTBM, Next:RTFAQ, Previous:RSN, Up:= R =
RTBM /R-T-B-M/ imp.
[Unix] 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".
Node:RTFAQ, Next:RTFB, Previous:RTBM, Up:= R =
RTFAQ /R-T-F-A-Q/ imp.
[Usenet: primarily written, by analogy with RTFM] Abbrev. for `Read the FAQ!', an exhortation that the person addressed ought to read the newsgroup's FAQ list before posting questions.
Node:RTFB, Next:RTFM, Previous:RTFAQ, Up:= R =
RTFB /R-T-F-B/ imp.
[Unix] Abbreviation 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.
Node:RTFM, Next:RTFS, Previous:RTFB, Up:= R =
RTFM /R-T-F-M/ imp.
[Unix] Abbreviation 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, STFW, RTM, all of which mutated from RTFM, and compare UTSL.
Node:RTFS, Next:RTI, Previous:RTFM, Up:= R =
RTFS /R-T-F-S/
[Unix] 1. imp. Abbreviation 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.
Node:RTI, Next:RTM, Previous:RTFS, Up:= R =
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.
Node:RTM, Next:RTS, Previous:RTI, Up:= R =
RTM /R-T-M/
[Usenet: abbreviation for `Read The Manual'] 1. Politer variant of RTFM. 2. Robert Tappan Morris, perpetrator of the great Internet worm of 1988 (see Great Worm); 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.
Node:RTS, Next:rude, Previous:RTM, Up:= R =
RTS /R-T-S/ imp.
Abbreviation for `Read The Screen'. Mainly used by hackers in the microcomputer world. Refers to what one would like to tell the suit one is forced to explain an extremely simple application to. Particularly appropriate when the suit failed to notice the `Press any key to continue' prompt, and wishes to know `why won't it do anything'. Also seen as `RTFS' in especially deserving cases.
Node:rude, Next:runes, Previous:RTS, Up:= R =
rude [WPI] adj.