R2000

MIPS R2000

R2RS

A revision of RRS, itself revised in R3RS.

["The Revised Revised Report on the Algorithmic Language Scheme", Clinger, AI Memo 848, MIT Aug 1985].

Last updated: 1995-02-09

R3.99RS

R4RS without the macros.

R3RS

A revision of R2RS, revised in R4RS.

["The Revised^3 Report on the Algorithmic Language Scheme", J. Rees et al, SIGPLAN Notices 21(12):37-79 (Dec 1986)].

R4RS

A revision of R3RS, revised in R3.99RS.

ftp://altdorf.ai.mit.edu/.

["The Revised^4 Report on the Algorithmic Language Scheme", W. Clinger et al, MIT (Nov 1991)].

Last updated: 1994-10-28

[Later revisions?]

rabbit job

(Cambridge) 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.

[Jargon File]

Last updated: 1994-11-09

RACE

<programming>

Requirements Acquisition and Controlled Evolution.

Last updated: 1995-11-21

race condition

Anomalous behavior due to unexpected critical dependence on the relative timing of events.

For example, if one process writes to a file while another is reading from the same location then the data read may be the old contents, the new contents or some mixture of the two depending on the relative timing of the read and write operations.

A common remedy in this kind of race condition is file locking; a more cumbersome remedy is to reorganize the system such that a certain processes (running a daemon or the like) is the only process that has access to the file, and all other processes that need to access the data in that file do so only via interprocess communication with that one process.

As an example of a more subtle kind of race condition, consider a distributed chat network like IRC, where a user is granted channel-operator privileges in any channel he starts. If two users on different servers, on different ends of the same network, try to start the same-named channel at the same time, each user's respective server will grant channel-operator privileges to each user, since neither will yet have received the other's signal that that channel has been started.

In this case of a race condition, the "shared resource" is the conception of the state of the network (what channels exist, as well as what users started them and therefore have what privileges), which each server is free to change as long as it signals the other servers on the network about the changes so that they can update their conception of the state of the network. However, the latency across the network makes possible the kind of race condition described. In this case, heading off race conditions by imposing a form of control over access to the shared resource -- say, appointing one server to be in charge of who holds what privileges -- would mean turning the distributed network into a centralized one (at least for that one part of the network operation). Where this is not acceptable, the more pragmatic solution is to have the system recognize when a race condition has occurred and to repair the ill effects.

Race conditions also affect electronic circuits where the value output by a logic gate depends on the exact timing of two or more input signals. For example, consider a two input AND gate fed with a logic signal X on input A and its negation, NOT X, on input B. In theory, the output (X AND NOT X) should never be high. However, if changes in the value of X take longer to propagate to input B than to input A then when X changes from false to true, there will be a brief period during which both inputs are true, and so the gate's output will also be true. If this output is fed to an edge-sensitive component such as a counter or flip-flop then the temporary effect ("glitch") will become permanent.

Last updated: 2002-08-03

RACF

Resource Access Control Facility

RAD

<programming>

Rapid Application Development.

Raddle

<parallel>

["On the Design of Large Distributed Systems", I.R. Forman, Proc 1st IEEE Intl Conf Comp Langs, pp.25-27 (Oct 1986)].

Last updated: 2008-07-30

Radio-frequency identification

<hardware>

(RFID) Small radio transponders or "tags" designed to be attached to items like products in a supermarket to allow the items to be identified and tracked by a remote system. Typically an RFID tag includes an integrated circuit that stores data and interfaces to the antenna, allowing the stored data to be retrieved by the remote system.

Last updated: 2008-07-30

Radio Frequency Interference

<hardware, testing>

(RFI) Electromagnetic radiation which is emitted by electrical circuits carrying rapidly changing signals, as a by-product of their normal operation, and which causes unwanted signals (interference or noise) to be induced in other circuits.

The most important means of reducing RFI are: use of bypass or "decoupling" capacitors on each active device (connected across the power supply, as close to the device as possible), risetime control of high speed signals using series resistors and VCC filtering. Shielding is usually a last resort after other techniques have failed because of the added expense of RF gaskets and the like.

The efficiency of the radiation is dependent on the height above the ground or power plane (at RF one is as good as the other) and the length of the conductor in relationship to the wavelength of the signal component (fundamental, harmonic or transient (overshoot, undershoot or ringing)). At lower frequencies, such as 133 MHz, radiation is almost exclusively via I/O cables; RF noise gets onto the power planes and is coupled to the line drivers via the VCC and ground pins. The Rf is then coupled to the cable through the line driver as common node noise. Since the noise is common mode, shielding has very little effect, even with differential pairs. The RF energy is capacitively coupled from the signal pair to the shield and the shield itself does the radiating.

At higher frequencies, usually above 500 Mhz, traces get electrically longer and higher above the plane. Two techniques are used at these frequencies: wave shaping with series resistors and embedding the traces between the two planes. If all these measures still leave too much RFI, sheilding such as RF gaskets and copper tape can be used. Most digital equipment is designed with metal, or coated plastic, cases.

Switching power supplies can be a source of RFI, but have become less of a problem as design techniques have improved.

Most countries have legal requirements that electronic and electrical hardware must still work correctly when subjected to certain amounts of RFI, and should not emit RFI which could interfere with other equipment (such as radios).

See also Electrostatic Discharge, Electromagnetic Compatibility.

Last updated: 1998-01-26

radio in the loop

Wireless Local Loop

radiosity

<graphics>

A method for rendering a view of a three-dimensional scene that provides realistic lighting effects, such as interobject reflections and color bleeding. Radiosity methods are computationally intense, due to the use of linear systems of equations and the spatial complexity of large scenes.

Usenet newsgroup: comp.graphics.

[Is radiosity more accurate than ray tracing? Does it take more computing power? How does compute time scale with scene complexity?]

Last updated: 2003-06-01

RADIUS

Remote Authentication Dial-In User Service

radix

<mathematics>

The ratio, R, between the weights of adjacent digits in positional representation of numbers. The right-most digit has weight one, the digit to its left has weight R, the next R^2, R^3, etc. The radix also determines the set of digits which is zero to R-1. E.g. decimal (radix ten) uses 0-9 and each digit is worth ten times as much as you move left along the number.

Last updated: 2006-11-10

RAID

Redundant Arrays of Independent Disks

RAIL

<robotics>

Automatix. High-level language for industrial robots.

Last updated: 2006-11-10

rainbow series

<publication>

Any of several series of technical manuals distinguished by cover colour. 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.

[Jargon File]

Last updated: 1996-12-03

rain dance

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.

[Jargon File]

Last updated: 1995-02-09

RAIS

Redundant Array of Inexpensive Servers

RAISE

Rigorous Approach to Industrial Software Engineering

RAISE Specification Language

<language>

(RSL) (RAISE = Rigorous Approach to Industrial Software Engineering). A wide-spectrum specification and design language developed by ESPRIT Project 315 at CRI A/S, Denmark. Systems may be modular, concurrent and nondeterministic. Specifications may be applicative or imperative, explicit or implicit, abstract or concrete.

["The RAISE Specification Language", RAISE Language Group, P-H 1992, ISBN 0-13-752833-7].

Last updated: 2007-10-02

RAL

1. Rutherford Appleton Laboratory (UK).

2. An expert system.

RAM

random-access memory

Rambus DRAM

<storage>

(RDRAM) A high bandwidth DRAM, designed by Rambus, Inc. of Mountain View, CA.

RDRAM is used mainly for video accelerators, and also in the Ultra 64 from Nintendo. It offers sustained transfer rates of around 1000 Mbps, compared to 200 Mbps for ordinary DRAM. Although it cannot be used as a direct replacement for existing memory, it is likely that it will replace DRAM and SDRAM as the main memory system in personal computers as the bus speeds required by these machines increase. SDRAM can operate up to around 100MHz, but RDRAM has been demonstrated by the manufacturers running at 600MHz.

The memory is also only 8 or 9 bits wide, so the bandwidth would increase enormously if it were used in parallel to give 32 or 64-bit memory.

RDRAM Installation.

Last updated: 2007-06-13

Rambus, Inc.

<company>

The company which designed Rambus DRAM.

http://rambus.com/.

Address: Mountain View, CA., USA.

Last updated: 1996-12-15

RAMDAC

Random Access Memory Digital-to-Analog Converter

RAM disk

<operating system, storage>

A memory-resident program which mimics a hard disk drive. It uses part of computer's RAM to store data which can be accessed as files. Unlike a real disk drive, this drive forgets all stored data when the computer is turned off.

Last updated: 1995-03-14

RAM drive

RAM disk

RAMIS II

Rapid Access Management Information System.

A database from On-Line Software International.

Last updated: 1994-11-14

RAMTRON

<company>

The company which holds the patents for FRAM and licenses the technology to other companies.

The licensees are currently (Feb 1997) Hitachi, Rohm, Samsung, SGS-Thomson and Toshiba, none of who offer FRAM products of their own yet.

http://csn.net/ramtron/.

Last updated: 1997-02-19

random

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 organised. "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. A random hacker; used particularly of high-school students who soak up computer time and generally get in the way.

9. Anyone who is not a hacker (or, sometimes, anyone not known to the hacker speaking). "I went to the talk, but the audience was full of randoms asking bogus questions".

10. (occasional MIT usage) One who lives at Random Hall. See also J. Random, some random X.

[Jargon File]

Last updated: 1995-12-05

random-access memory

<storage>

(RAM) (Previously "direct-access memory"). A data storage device for which the order of access to different locations does not affect the speed of access. This is in contrast to, say, a magnetic disk, magnetic tape or a mercury delay line where it is very much quicker to access data sequentially because accessing a non-sequential location requires physical movement of the storage medium rather than just electronic switching.

In the 1970s magnetic core memory was used and some old-timers still call RAM "core". The most common form of RAM in use today is semiconductor integrated circuits, which can be either static random-access memory (SRAM) or dynamic random-access memory (DRAM).

The term "RAM" has gained the additional meaning of read-write. Most kinds of semiconductor read-only memory (ROM) are actually "random access" in the above sense but are never referred to as RAM. Furthermore, memory referred to as RAM can usually be read and written equally quickly (approximately), in contrast to the various kinds of programmable read-only memory. Finally, RAM is usually volatile though non-volatile random-access memory is also used.

Interestingly, some DRAM devices are not truly random access because various kinds of "page mode" or "column mode" mean that sequential access is faster than random access.

The humorous expansion "Rarely Adequate Memory" refers to the fact that programs and data always seem to expand to fill the memory available.

Last updated: 2007-10-12

Random Access Memory Digital-to-Analog Converter

<hardware>

(RAMDAC) A combination of three fast DACs with a small SRAM used in graphics display adapters to store the colour palette and to generate the analog signals to drive a colour monitor. The logical colour number from the display memory is fed into the address inputs of the SRAM to select a palette entry to appear on the output of the SRAM. This entry is composed of three separate values corresponding to the three components (red, green, and blue) of the desired physical colour. Each component value is fed to a separate DAC, whose analog output goes to the monitor, and ultimately to one of its three electron guns (or equivalent in non-CRT displays).

DAC word lengths range usually from 6 to 10 bits. The SRAM's wordlength is three times the DAC's word length. The SRAM acts as a colour lookup table. It usually has 256 entries (and thus an 8-bit address). If the DAC's word length is also 8 bits, we have a 256 x 24-bit SRAM which allows a selection of 256 out of 16777216 possible colours for the display. The contents of the SRAM can be changed while the display is not active (during display blanking times). The SRAM can usually be bypassed and the DACs can be fed directly by display data (for true colour modes).

Last updated: 1996-03-24

randomness

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."

[Jargon File]

random number

pseudorandom number

random testing

<programming, testing>

A black-box testing approach in which software is tested by choosing an arbitrary subset of all possible input values. Random testing helps to avoid the problem of only testing what you know will work.

Last updated: 2001-04-30

range

<mathematics>

1. interval.

2. image.

ransomware

<security>

A kind of malware that encrypts files on your computer and then demands that you send the malware operator money in order to have the files decrypted. CryptoLocker was the best known example of ransomware.

Last updated: 2015-01-22

Rapid Application Development

<programming>

(RAD) A loose term for any software life-cycle designed to give faster development and better results and to take maximum advantage of recent advances in development software.

RAD is associated with a wide range of approaches to software development: from hacking away in a GUI builder with little in the way of analysis and design to complete methodologies expanding on an information engineering framework.

Some of the current RAD techniques are: CASE tools, iterative life-cycles, prototyping, workshops, SWAT teams, timebox development, and Re-use of applications, templates and code.

RAD at BSO/Den Haag.

["Rapid Application Development", James Martin].

Last updated: 1995-09-23

RapidCAD

<processor>

A specially packaged Intel 486DX and a dummy floating point unit (FPU) designed as pin-compatible replacements for an Intel 80386 processor and 80387 FPU. Since the DX variant has a working on-chip FPU, a dummy FPU package is supplied to go in the 387 FPU socket.

Last updated: 1995-05-10

Rapidly Extensible Language, English

<language>

(REL English) A formal language based on English.

["Practical Natural Language Processing: The REL System as Prototype", Adv in Computers 13, Academic Press 1975].

Last updated: 1997-04-09

rapid prototyping

<programming>

The creation of a working model of a software module to demonstrate the feasibility and suitability of the function. The prototype is expected to be replaced or refined before inclusion in the final product.

Rapid prototyping contrasts with a DIRFT approach which emphasises careful design and implementation to avoid the overheads of debugging and testing prototype code. Rapid prototyping is appropriate when the requirements are unclear or likely to change (which is most of the time).

Last updated: 2012-11-17

Rapidwrite

<language, tool>

A method for translating set of abbreviations into the much more verbose COBOL code.

[Sammet 1969, p. 338].

Last updated: 1995-05-10

RAPT

["An Interpreter for a Language for Describing Assemblies", R.J. Popplestone et al, Artif Intell 14:79-107 (1980)].

Last updated: 1995-05-10

RARE

Réseaux Associés pour la Recherche Européenne

rare mode

<operating system>

Unix CBREAK mode (character-by-character with keyboard 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.

[Jargon File]

Last updated: 1995-05-10

RARP

Reverse Address Resolution Protocol

RAS

<hardware, storage>

1. Row Address Strobe.

<communications>

2. Remote Access Services.

<systems>

3. Reliability, Availability, Serviceability.

Last updated: 2000-08-13

RASP

<language>

["RASP - A Language with Operations on Fuzzy Sets", D.D. Djakovic, Comp Langs 13(3):143-148 (1988)].

Last updated: 1995-05-10

raster

<hardware>

The area of a video display that is covered by sweeping the electron beam of the display in a series of horizontal lines from top to bottom. The beam then returns to the top during the vertical flyback interval.

See also CRT, frame buffer.

Last updated: 1995-03-22

raster blaster

<hardware, jargon>

(Cambridge) Specialised 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".

[Jargon File]

Last updated: 1995-03-22

raster burn

1. (Or terminal illness) Eyestrain brought on by too many hours of looking at low-resolution, poorly tuned, or glare-ridden monitors, especially graphics monitors.

2. The "burn-in" condition your CRT tends to get if you don't use a screen saver.

[Jargon File]

raster font

bitmap font

rastergram

Single Image Random Dot Stereogram

raster graphics

<graphics>

Computer graphics in which an image is composed of an array of pixels arranged in rows and columns.

Opposite: vector graphics.

Last updated: 1995-03-22

Raster Image Processor

<application, printer>

(RIP) A device (usually hardware but can be software) that takes a Page Description Language description of a page and converts it into a bitmap for printing.

Last updated: 2003-09-10

rasterising

<algorithm>

A transformation that can be applied to an image to prepare it for printing. Rasterising reduces resolution by a factor of typically four to eight. It also reduces sensitivity to paper properties. Rasterising can be combined with dithering.

[How does it work?]

Last updated: 2003-07-20

rasterizing

rasterising

raster subsystem

<graphics>

The part of a graphics system concerned with an image after it has been transformed and scaled to screen coordinates. It includes scan conversion and display.

Last updated: 1995-03-22

Ratatosk

An SLR parser generator written in Gofer (a Haskell variant) by Torben AEgidius Mogensen <[email protected]>. Ratatosk generates purely functional backtracking LR0 grammar parsers (also in Gofer).

Even though the sematic value of a production is a function of the attributes of its right-hand side (and thus apparently purely synthesised), inherited attributes are easily simulated by using higher-order functions.

ftp://ftp.diku.dk/pub/diku/dists/Ratatosk.tar.Z.

rat belt

A cable tie, especially 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".

[Jargon File]

RatC

Rationalized C

RATEL

Raytheon Automatic Test Equipment Language. For analog and digital computer controlled test centres. "Automatic Testing via a Distributed Intelligence Processing System", S.J. Ring, IEEE AUTOTESTCON 77 (Nov 1977).

Rate monotonic scheduling

<algorithm>

A means of scheduling the time allocated to periodic hard-deadline real-time users of a resource. The users are assigned priorities such that a shorter fixed period between deadlines is associated with a higher priority.

Rate monotonic scheduling provides a low-overhead, reasonably resource-efficient means of guaranteeing that all users will meet their deadlines provided that certain analytical equations are satisfied during the system design. It avoids the design complexity of time-line scheduling and the overhead of dynamic approaches such as earliest-deadline scheduling.

[D. R. Wilcox, Naval Ocean Systems Center Technical Report 1310, August 1989, "Periodic Phase Adjustment Distributed Clock Synchronization in the Hard Realtime Environment", p. 9].

Last updated: 1996-03-23

RATFIV

<language>

An enhancement to the RATFOR programming language, developed by Bill Wood while at the Institute for Cancer Research (Philadelphia PA, now the Fox Chase Cancer Center) in 1980-1981. RATFIV was released on several DECUS (Digital Equipment Corporation User's Group) tapes for VAX/VMS. Among its enhancements were: optional Fortan 77 output, an enhanced Format statement and enhanced macros.

Last updated: 2007-05-16

RATFOR

RATional Fortran

rational

[Mathematics] a fractional number n/d, where n and d are integers, n is the numerator and d is the denominator. The set of all rational numbers is usually called Q. Computers do not usually deal with rational numbers but instead convert them to real numbers which are represented (approximately in some cases) as floating-point numbers. Compare irrational.

RATional Fortran

<language>

(RATFOR) Brian Kernighan's Fortran preprocessor that allows programming with C-like control flow. RATFOR is mainly of historical significance.

A translator from Ratfor to Fortran IV was posted to comp.sources.Unix volume 13.

ftp://ftp.wustl.edu/mirrors/Unix-c/languages/ratfor.tar-z.

["Ratfor - A Preprocessor for a Rational Fortran", B.W. Kernighan, Soft Prac & Exp 5:395-406, Oct 1975].

["Software Tools", B.W. Kernighan & P.J. Plauger, A-W, 1976].

Last updated: 2001-07-31

Rationalized C

<language>

(RatC, after "RATFOR") A version of Ron Cain's original Small-C compiler.

["A Book on C", R.E. Berry and B.A. Meekings, 1984, ISBN 0-333-36821-5].

[In what way was it "rationalized"?]

Last updated: 1999-06-28

rave

[WPI] 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 evangelise. 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.

[Jargon File]

rave on!

Sarcastic invitation to continue a rave, often by someone who wishes the raver would get a clue but realises this is unlikely.

ravioli code

<jargon, humour>

Object-oriented code consisting of a number of small and loosely-coupled software components. Presumably, the term is a compliment, contrasting the code with spaghetti code.

[Dodgy Coder].

Last updated: 2013-10-28

raw data

data

raw mode

<operating system>

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.

Systems that make this distinction for a disk file are generally regarded as broken.

Compare rare mode, cooked mode.

[Jargon File]

Last updated: 2002-04-14

RAWOOP-SNAP

<language>

An early system on the IBM 1130.

[Listed in CACM 2(5):16, May 1959].

Last updated: 1996-05-29

ray casting

<graphics>

A simplified form of ray tracing. A ray is fired from each pixel in the view plane, and information is accumulated from all the voxels in the volume data it intersects.

Each voxel is first given an associated colour and opacity. The ray is sampled at a fixed number of evenly spaced locations and the colour and opacity are trilinearly interpolated from the eight nearest voxels. These are then composed linearly back to front to give a single colour for the pixel.

Ray casting was invented by John Carmack for the game Wolfenstein 3D. It is faster and lower quality than ray tracing, and is ideal for interactive applications. It parallelises well, although random access is needed to the voxels.

Last updated: 2004-01-06

Rayleigh distribution

<mathematics>

A curve that yields a good approximation to the actual labour curves on software projects.

[Details? Equation?]

Last updated: 1996-05-29

Ray Tomlinson

<person>

An engineer at Bolt Beranek and Newman who, in July 1972 while designing the first[?] electronic mail program, chose the commercial at symbol "@" to separate the user name from the computer name.

Last updated: 2004-08-22

ray tracing

<graphics>

A technique used in computer graphics to create realistic images by calculating the paths taken by rays of light entering the observer's eye at different angles. The paths are traced backward from the viewpoint, through a point (a pixel) in the image plane until they hit some object in the scene or go off to infinity. Objects are modelled as collections of abutting surfaces which may be rectangles, triangles, or more complicated shapes such as 3D splines. The optical properties of different surfaces (colour, reflectance, transmitance, refraction, texture) also affect how it will contribute to the colour and brightness of the ray. The position, colour, and brightness of light sources, including ambient lighting, is also taken into account.

Ray tracing is an ideal application for parallel processing since there are many pixels, each of whose values is independent and can thus be calculated in parallel.

Compare: radiosity.

Usenet newsgroup: comp.graphics.raytracing.

http://directory.google.com/Top/Computers/Software/Graphics/3D/Ray_Tracing/.

Last updated: 2003-09-11

R:BASE

<database>

An MS-DOS 4GL from Microrim based on the minicomputer DBMS RIM.

[Was Wayne Erickson the author?]

Last updated: 2004-09-01

RBASIC

Database language for Revelation, by Cosmos, Inc. Combines features of BASIC, Pascal and Fortran.

RBCSP

Roper and Barter's CSP.

["A Communicating Sequential Process Language and Implementation", T. Roper & J. Barter, Soft Prac & Exp 11(11):1215-1234 (Nov 1981)].

RBOC

Regional Bell Operating Company

rc

<filename extension>

1. run commands.

2. A shell from AT&T's Plan 9, by Tom Duff. rc offers much the same capabilities as a traditional Bourne shell, but with a much cleaner syntax.

An open source reimplementation was made by Byron Rakitzis, and is now maintained by Tim Goodwin <[email protected]>.

http://star.le.ac.uk/~tjg/rc.

Last updated: 2000-06-17

RC4

<cryptography>

A cipher designed by RSA Data Security, Inc. which can accept keys of arbitrary length, and is essentially a pseudo random number generator with the output of the generator being XORed with the data stream to produce the encrypted data. For this reason, it is very important that the same RC4 key never be used to encrypt two different data streams. The encryption mechanism used to be a trade secret, until someone posted source code for an algorithm onto Usenet News, claiming it to be equivalent to RC4. The algorithm is very fast, its security is unknown, but breaking it does not seem trivial either. There is very strong evidence that the posted algorithm is indeed equivalent to RC4.

The United States government routinely approves RC4 with 40-bit keys for export. Keys this small can be easily broken by governments, criminals, and amateurs. The exportable version of Netscape's Secure Socket Layer, which uses RC4-40, was broken by at least two independent groups. Breaking it took about eight days; in many universities or companies the same computing power is available to any computer science student.

See also Damien Doligez's SSL cracking page, RC4 Source and Information, SSLeay, Crypto++, Ssh, A collection of articles.

Last updated: 1996-10-28

RCA 1802

<processor>

(Or "COSMAC") An extremely simple microprocessor architecture, fabricated by RCA, Harris and others. These were the first CMOS microprocessors and were produced as the two-chip CDP1801R and CDP1801U, and later combined into the single-chip CDP1802.

The CDP1802 ran at 6.4 MHz at 10V (very fast for 1974). It could be suspended with the clock stopped. It was an 8-bit processor, with 16-bit addressing. Simplicity was the primary design goal, and in that sense it was one of the first RISC chips. It had sixteen 16-bit registers, which could be accessed as thirty-two 8-bit registers, and an accumulator D used for arithmetic and memory access - memory to D, then D to registers and vice versa, using one 16-bit register as an address. This led to one person describing the 1802 as having 32 bytes of RAM and 65535 I/O ports. A 4-bit control register P selected any one general register as the program counter, while control registers X and N selected registers for I/O Index and the operand for the current instruction. All instructions were 8 bits - a 4-bit op code (total of 16 operations) and 4-bit operand register stored in N. There was no real conditional branching, no subroutine support and no actual stack but these could be implemented by clever use of registers, e.g. changing P to another register allowed jump to a subroutine. Similarly, on an interrupt P and X were saved, then R1 and R2 were selected for P and X until an RTI restored them.

The RCA 1805 was an enhanced version.

The 1802 was used in the COSMAC (VIP?) microcomputer kit, some video games from RCA and Radio Shack, and the ETI-660 computer.

It was chosen for the Galileo space probes as it was also fabricated in Silicon on Sapphire, giving radiation and static resistance ideal for space operation.

More history.

Last updated: 2002-04-09

RCA 1805

A later, enhanced version of the RCA 1802. It added several Forth language primitives.

Last updated: 1994-11-16

RCC

An extensible language.

[More detail?]

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"] 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).

[Jargon File]

RCL

Reduced Control Language. A simplified job control language for OS360, translated to IBM JCL. "Reduced Control Language for Non- Professional Users", K. Appel in Command Languages, C. Unger ed, N-H 1973.

rcp

<networking, tool>

(Remote copy) The Unix utility for copying files over Ethernet. Rcp is similar to FTP but uses the hosts.equiv user authentication method.

Unix manual page: rcp(1).

Last updated: 1997-01-12

RCS

Revision Control System

Rdb

Oracle Rdb

rdb

A roll-your-own database, created in the Unix toolkit philosophy. It appears to be written in the awk language, and is very compatible with awk. It uses awk's syntax and can be combined with awk commands.

The definitive introduction is "Unix Relational Database Management: Application Development in the Unix Environment", by Rod Manis, Evan Schaeffer, and Robert Jorgensen, published by Prentice Hall. The book tells how to use rdb to create database/spreadsheets in the awk tradition, only easier. It's a good way to get into programming for novices. It's also a good way to learn DB theory and construction quite painlessly.

RDBA

Remote Database Access

RDBMS

relational database

RDF

Resource Description Framework

RDI

Receiver Data Interface

RDL

Requirements and Development Language.

["RDL: A Language for Software Development", H.C. Heacox, SIGPLAN Notices 14(9):71-79 (Sep 1979)].

RDOS

Realtime Disk Operating System

RDP

<protocol>

1. Reliable Data Protocol.

2. Remote Desktop Protocol.

Last updated: 2004-09-14

RDRAM

Rambus DRAM

RDS

Random Dot Stereogram

RE

regular expression

re

<networking>

1. The country code for Reunion.

<chat>

2. /re-/ (From "rehi") Hello again. A greeting originating in, and most often heard on, Internet interactive conversation services.

[Jargon File]

Last updated: 1999-02-08

read-eval-print loop

<language, LISP, programming>

(REPL) A programming structure within LISP which repeatedly reads a form from the user, evaluates it, and displays the result.

A read-eval-print loop forms the basis of the Top-Level shell that programmers of the LISP family of languages interact with.

In many dialects of LISP a very simple REPL could be implemented as:

 (loop (print (eval (read)))).

Last updated: 2003-06-23

README file

<convention, documentation>

A text file traditionally included in the top-level directory of a software distribution, containing pointers to documentation, credits, revision history, notes, etc. Originally found in Unix source distributions, the convention has spread to many other products. The file may be named README, READ.ME, ReadMe or readme.txt or some other variant.

In the Macintosh and IBM 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.

The README convention probably follows the famous scene in Lewis Carroll's "Alice's Adventures In Wonderland" in which Alice confronts magic munchies labeled "Eat Me" and "Drink Me".

[Jargon File]

Last updated: 1995-02-28

Read-Only Memory

<storage>

(ROM) A type of data storage device which is manufactured with fixed contents. In its most general sense, the term might be used for any storage system whose contents cannot be altered, such as a gramophone record or a printed book; however, the term is most often applied to semiconductor integrated circuit memories, of which there are several types, and CD-ROM.

ROM is inherently non-volatile storage - it retains its contents even when the power is switched off, in contrast to RAM.

ROM is often used to hold programs for embedded systems since these usually have a fixed purpose. ROM is also used for storage of the lowest level bootstrap software (firmware) in a computer.

See also Programmable Read-Only Memory.

Last updated: 1995-05-09

read-only user

<jargon>

Describes a luser who uses computers almost exclusively for reading Usenet, bulletin boards, and/or electronic mail, rather than writing code or purveying useful information.

See twink, terminal junkie, lurker.

[Jargon File]

Last updated: 1995-02-28

real

1. Not simulated. Often used as a specific antonym to virtual in any of its jargon senses.

<mathematics>

2. real number.

[Jargon File]

Last updated: 1997-03-12

RealAudio

<tool, communications>

A program from Real Media for playing audio over the Internet, and the lossy audio compression format it uses.

The system is implemented as a client/server architecture. The RealAudio server incorporates an encoder which compresses sound into RealAudio files. The client side is a web browser plug-in or add-on (a recent version of Internet Explorer apparently has built-in support for RealAudio) which allows the stream of data sent from the server to be uncompressed and output using the normal sound facilities of the computer, such as a sound card.

A 14.4 KBps or better modem is required, and a 28.8 KBps connection is recommended for music-quality sound.

http://realaudio.com/.

Last updated: 2001-12-13

real estate

<jargon>

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).

[Jargon File]

Last updated: 1996-11-06

real hack

A crock. This is sometimes used affectionately; see hack.

[Jargon File]

reality check

<testing>

The simplest kind of functional test of software or hardware; doing the equivalent of asking it what 2 + 2 is and seeing if it says four. The software equivalent of a smoke test. A reality check may include letting a real user try out prototype software.

A sanity check is even more basic, the equivalent of checking that the above addition was implemented with an addition operator rather than subtraction.

Last updated: 2007-03-15

realization

<specification>

A UML semantic relationship between a classifier that specifies a contract and another classifier that guarantees to carry it out.

[Handout by Mr. David Gillibrand].

Last updated: 2007-03-15

Really Simple Syndication

Rich Site Summary

real mode

An operating mode of Intel 80x86 processors. The opposite of protected mode.

Last updated: 1995-03-29

real number

<mathematics>

One of the infinitely divisible range of values between positive and negative infinity, used to represent continuous physical quantities such as distance, time and temperature.

Between any two real numbers there are infinitely many more real numbers. The integers ("counting numbers") are real numbers with no fractional part and real numbers ("measuring numbers") are complex numbers with no imaginary part. Real numbers can be divided into rational numbers and irrational numbers.

Real numbers are usually represented (approximately) by computers as floating point numbers.

Strictly, real numbers are the equivalence classes of the Cauchy sequences of rationals under the equivalence relation "~", where a ~ b if and only if a-b is Cauchy with limit 0.

The real numbers are the minimal topologically closed field containing the rational field.

A sequence, r, of rationals (i.e. a function, r, from the natural numbers to the rationals) is said to be Cauchy precisely if, for any tolerance delta there is a size, N, beyond which: for any n, m exceeding N,

 | r[n] - r[m] | < delta

A Cauchy sequence, r, has limit x precisely if, for any tolerance delta there is a size, N, beyond which: for any n exceeding N,

 | r[n] - x | < delta

(i.e. r would remain Cauchy if any of its elements, no matter how late, were replaced by x).

It is possible to perform addition on the reals, because the equivalence class of a sum of two sequences can be shown to be the equivalence class of the sum of any two sequences equivalent to the given originals: ie, a~b and c~d implies a+c~b+d; likewise a.c~b.d so we can perform multiplication. Indeed, there is a natural embedding of the rationals in the reals (via, for any rational, the sequence which takes no other value than that rational) which suffices, when extended via continuity, to import most of the algebraic properties of the rationals to the reals.

Last updated: 1997-03-12

real operating system

<operating system, abuse>

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!.

[Jargon File]

Last updated: 1997-03-12

Real Programmer

<job, humour>

(From the book "Real Men Don't Eat Quiche") A variety of hacker 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 it, remembers the binary op codes for every machine he has ever programmed, thinks that high-level languages 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 appals.

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". The term itself was popularised by a 1983 Datamation article "Real Programmers Don't Use Pascal" by Ed Post, still circulating on Usenet and Internet in on-line form.

[Jargon File]

Last updated: 1997-08-29

Real Programmers Don't Use Pascal

<humour>

Back in the good old days - the "Golden Era" of computers, it was easy to separate the men from the boys (sometimes called "Real Men" and "Quiche Eaters" in the literature). During this period, the Real Men were the ones that understood computer programming, and the Quiche Eaters were the ones that didn't. A real computer programmer said things like "DO 10 I=1,10" and "ABEND" (they actually talked in capital letters, you understand), and the rest of the world said things like "computers are too complicated for me" and "I can't relate to computers - they're so impersonal". (A previous work [1] points out that Real Men don't "relate" to anything, and aren't afraid of being impersonal.)

But, as usual, times change. We are faced today with a world in which little old ladies can get computers in their microwave ovens, 12-year-old kids can blow Real Men out of the water playing Asteroids and Pac-Man, and anyone can buy and even understand their very own Personal Computer. The Real Programmer is in danger of becoming extinct, of being replaced by high-school students with TRASH-80s.

There is a clear need to point out the differences between the typical high-school junior Pac-Man player and a Real Programmer. If this difference is made clear, it will give these kids something to aspire to -- a role model, a Father Figure. It will also help explain to the employers of Real Programmers why it would be a mistake to replace the Real Programmers on their staff with 12-year-old Pac-Man players (at a considerable salary savings).

LANGUAGES

The easiest way to tell a Real Programmer from the crowd is by the programming language he (or she) uses. Real Programmers use Fortran. Quiche Eaters use Pascal. Nicklaus Wirth, the designer of Pascal, gave a talk once at which he was asked how to pronounce his name. He replied, "You can either call me by name, pronouncing it 'Veert', or call me by value, 'Worth'." One can tell immediately from this comment that Nicklaus Wirth is a Quiche Eater. The only parameter passing mechanism endorsed by Real Programmers is call-by-value-return, as implemented in the IBM 370 Fortran-G and H compilers. Real programmers don't need all these abstract concepts to get their jobs done - they are perfectly happy with a keypunch, a Fortran IV compiler, and a beer.

Real Programmers do List Processing in Fortran.

Real Programmers do String Manipulation in Fortran.

Real Programmers do Accounting (if they do it at all) in Fortran.

Real Programmers do Artificial Intelligence programs in Fortran.

If you can't do it in Fortran, do it in assembly language. If you can't do it in assembly language, it isn't worth doing.

STRUCTURED PROGRAMMING

The academics in computer science have gotten into the "structured programming" rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the examples they use to show their particular point of view invariably fit on a single page of some obscure journal or another - clearly not enough of an example to convince anyone. When I got out of school, I thought I was the best programmer in the world. I could write an unbeatable tic-tac-toe program, use five different computer languages, and create 1000-line programs that WORKED. (Really!) Then I got out into the Real World. My first task in the Real World was to read and understand a 200,000-line Fortran program, then speed it up by a factor of two. Any Real Programmer will tell you that all the Structured Coding in the world won't help you solve a problem like that - it takes actual talent. Some quick observations on Real Programmers and Structured Programming:

Real Programmers aren't afraid to use GOTOs.

Real Programmers can write five-page-long DO loops without getting confused.

Real Programmers like Arithmetic IF statements - they make the code more interesting.

Real Programmers write self-modifying code, especially if they can save 20 nanoseconds in the middle of a tight loop.

Real Programmers don't need comments - the code is obvious.

Since Fortran doesn't have a structured IF, REPEAT ... UNTIL, or CASE statement, Real Programmers don't have to worry about not using them. Besides, they can be simulated when necessary using assigned GOTOs.

Data Structures have also gotten a lot of press lately. Abstract Data Types, Structures, Pointers, Lists, and Strings have become popular in certain circles. Wirth (the above-mentioned Quiche Eater) actually wrote an entire book [2] contending that you could write a program based on data structures, instead of the other way around. As all Real Programmers know, the only useful data structure is the Array. Strings, lists, structures, sets - these are all special cases of arrays and can be treated that way just as easily without messing up your programing language with all sorts of complications. The worst thing about fancy data types is that you have to declare them, and Real Programming Languages, as we all know, have implicit typing based on the first letter of the (six character) variable name.

OPERATING SYSTEMS

What kind of operating system is used by a Real Programmer? CP/M? God forbid - CP/M, after all, is basically a toy operating system. Even little old ladies and grade school students can understand and use CP/M.

Unix is a lot more complicated of course - the typical Unix hacker never can remember what the PRINT command is called this week - but when it gets right down to it, Unix is a glorified video game. People don't do Serious Work on Unix systems: they send jokes around the world on UUCP-net and write adventure games and research papers.

No, your Real Programmer uses OS 370. A good programmer can find and understand the description of the IJK305I error he just got in his JCL manual. A great programmer can write JCL without referring to the manual at all. A truly outstanding programmer can find bugs buried in a 6 megabyte core dump without using a hex calculator. (I have actually seen this done.)

OS is a truly remarkable operating system. It's possible to destroy days of work with a single misplaced space, so alertness in the programming staff is encouraged. The best way to approach the system is through a keypunch. Some people claim there is a Time Sharing system that runs on OS 370, but after careful study I have come to the conclusion that they were mistaken.

PROGRAMMING TOOLS

What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory - it didn't go away when the power went off. Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymore, needless to say, is a Real Programmer.

One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and lineprinter in his toolkit, he can get along with just a front panel and a telephone in emergencies.

In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a "text editor" program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers [3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.

Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems - Emacs and VI being two. The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in women. No the Real Programmer wants a "you asked for it, you got it" text editor - complicated, cryptic, powerful, unforgiving, dangerous. TECO, to be precise.

It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text [4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse - introduce subtle and mysterious bugs in a once working subroutine.

For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original Fortran code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job - no Quiche Eating structured programmer would even know where to start. This is called "job security".

Some programming tools NOT used by Real Programmers:

Fortran preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming - great for making Quiche. See comments above on structured programming.

Source language debuggers. Real Programmers can read core dumps.

Compilers with array bounds checking. They stifle creativity, destroy most of the interesting uses for EQUIVALENCE, and make it impossible to modify the operating system code with negative subscripts. Worst of all, bounds checking is inefficient.

Source code maintenance systems. A Real Programmer keeps his code locked up in a card file, because it implies that its owner cannot leave his important programs unguarded [5].

THE REAL PROGRAMMER AT WORK

Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no Real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).

Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.

Real Programmers work for the National Security Agency, decoding Russian transmissions.

It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.

Real Programmers are at work for Boeing designing the operating systems for cruise missiles.

Some of the most awesome Real Programmers of all work at the Jet Propulsion Laboratory in California. Many of them know the entire operating system of the Pioneer and Voyager spacecraft by heart. With a combination of large ground-based Fortran programs and small spacecraft-based assembly language programs, they are able to do incredible feats of navigation and improvisation - hitting ten-kilometer wide windows at Saturn after six years in space, repairing or bypassing damaged sensor platforms, radios, and batteries. Allegedly, one Real Programmer managed to tuck a pattern-matching program into a few hundred bytes of unused memory in a Voyager spacecraft that searched for, located, and photographed a new moon of Jupiter.

The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/-3 kilometers of the surface of Mars. Nobody is going to trust a Pascal program (or a Pascal programmer) for navigation to these tolerances.

As you can tell, many of the world's Real Programmers work for the U.S. Government - mainly the Defense Department. This is as it should be. Recently, however, a black cloud has formed on the Real Programmer horizon. It seems that some highly placed Quiche Eaters at the Defense Department decided that all Defense programs should be written in some grand unified language called "ADA" ((C), DoD). For a while, it seemed that ADA was destined to become a language that went against all the precepts of Real Programming - a language with structure, a language with data types, strong typing, and semicolons. In short, a language designed to cripple the creativity of the typical Real Programmer. Fortunately, the language adopted by DoD has enough interesting features to make it approachable -- it's incredibly complex, includes methods for messing with the operating system and rearranging memory, and Edsgar Dijkstra doesn't like it [6]. (Dijkstra, as I'm sure you know, was the author of "GoTos Considered Harmful" - a landmark work in programming methodology, applauded by Pascal programmers and Quiche Eaters alike.) Besides, the determined Real Programmer can write Fortran programs in any language.

The Real Programmer might compromise his principles and work on something slightly more trivial than the destruction of life as we know it, providing there's enough money in it. There are several Real Programmers building video games at Atari, for example. (But not playing them - a Real Programmer knows how to beat the machine every time: no challenge in that.) Everyone working at LucasFilm is a Real Programmer. (It would be crazy to turn down the money of fifty million Star Trek fans.) The proportion of Real Programmers in Computer Graphics is somewhat lower than the norm, mostly because nobody has found a use for computer graphics yet. On the other hand, all computer graphics is done in Fortran, so there are a fair number of people doing graphics in order to avoid having to write COBOL programs.

THE REAL PROGRAMMER AT PLAY

Generally, the Real Programmer plays the same way he works - with computers. He is constantly amazed that his employer actually pays him to do what he would be doing for fun anyway (although he is careful not to express this opinion out loud). Occasionally, the Real Programmer does step out of the office for a breath of fresh air and a beer or two. Some tips on recognizing Real Programmers away from the computer room:

At a party, the Real Programmers are the ones in the corner talking about operating system security and how to get around it.

At a football game, the Real Programmer is the one comparing the plays against his simulations printed on 11 by 14 fanfold paper.

At the beach, the Real Programmer is the one drawing flowcharts in the sand.

At a funeral, the Real Programmer is the one saying "Poor George, he almost had the sort routine working before the coronary."

In a grocery store, the Real Programmer is the one who insists on running the cans past the laser checkout scanner himself, because he never could trust keypunch operators to get it right the first time.

THE REAL PROGRAMMER'S NATURAL HABITAT

What sort of environment does the Real Programmer function best in? This is an important question for the managers of Real Programmers. Considering the amount of money it costs to keep one on the staff, it's best to put him (or her) in an environment where he can get his work done.

The typical Real Programmer lives in front of a computer terminal. Surrounding this terminal are:

Listings of all programs the Real Programmer has ever worked on, piled in roughly chronological order on every flat surface in the office.

Some half-dozen or so partly filled cups of cold coffee. Occasionally, there will be cigarette butts floating in the coffee. In some cases, the cups will contain Orange Crush.

Unless he is very good, there will be copies of the OS JCL manual and the Principles of Operation open to some particularly interesting pages.

Taped to the wall is a line-printer Snoopy calendar for the year 1969.

Strewn about the floor are several wrappers for peanut butter filled cheese bars - the type that are made pre-stale at the bakery so they can't get any worse while waiting in the vending machine.

Hiding in the top left-hand drawer of the desk is a stash of double-stuff Oreos for special occasions.

Underneath the Oreos is a flowcharting template, left there by the previous occupant of the office. (Real Programmers write programs, not documentation. Leave that to the maintenance people.)

The Real Programmer is capable of working 30, 40, even 50 hours at a stretch, under intense pressure. In fact, he prefers it that way. Bad response time doesn't bother the Real Programmer - it gives him a chance to catch a little sleep between compiles. If there is not enough schedule pressure on the Real Programmer, he tends to make things more challenging by working on some small but interesting part of the problem for the first nine weeks, then finishing the rest in the last week, in two or three 50-hour marathons. This not only impresses the hell out of his manager, who was despairing of ever getting the project done on time, but creates a convenient excuse for not doing the documentation. In general:

No Real Programmer works 9 to 5 (unless it's the ones at night).

Real Programmers don't wear neckties.

Real Programmers don't wear high-heeled shoes.

Real Programmers arrive at work in time for lunch [9].

A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII (or EBCDIC) code table.

Real Programmers don't know how to cook. Grocery stores aren't open at three in the morning. Real Programmers survive on Twinkies and coffee.

THE FUTURE

What of the future? It is a matter of some concern to Real Programmers that the latest generation of computer programmers are not being brought up with the same outlook on life as their elders. Many of them have never seen a computer with a front panel. Hardly anyone graduating from school these days can do hex arithmetic without a calculator. College graduates these days are soft - protected from the realities of programming by source level debuggers, text editors that count parentheses, and "user friendly" operating systems. Worst of all, some of these alleged "computer scientists" manage to get degrees without ever learning Fortran! Are we destined to become an industry of Unix hackers and Pascal programmers?

From my experience, I can only report that the future is bright for Real Programmers everywhere. Neither OS 370 nor Fortran show any signs of dying out, despite all the efforts of Pascal programmers the world over. Even more subtle tricks, like adding structured coding constructs to Fortran have failed. Oh sure, some computer vendors have come out with Fortran 77 compilers, but every one of them has a way of converting itself back into a Fortran 66 compiler at the drop of an option card - to compile DO loops like God meant them to be.

Even Unix might not be as bad on Real Programmers as it once was. The latest release of Unix has the potential of an operating system worthy of any Real Programmer - two different and subtly incompatible user interfaces, an arcane and complicated teletype driver, virtual memory. If you ignore the fact that it's "structured", even 'C' programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in - like having the best parts of Fortran and assembly language in one place. (Not to mention some of the more creative uses for #define.)

No, the future isn't all that bad. Why, in the past few years, the popular press has even commented on the bright new crop of computer nerds and hackers ([7] and [8]) leaving places like Stanford and M.I.T. for the Real World. From all evidence, the spirit of Real Programming lives on in these young men and women. As long as there are ill-defined goals, bizarre bugs, and unrealistic schedules, there will be Real Programmers willing to jump in and Solve The Problem, saving the documentation for later. Long live Fortran!

ACKNOWLEGEMENT

I would like to thank Jan E., Dave S., Rich G., Rich E., for their help in characterizing the Real Programmer, Heather B. for the illustration, Kathy E. for putting up with it, and atd!avsdS:mark for the initial inspiration.

REFERENCES

[1] Feirstein, B., "Real Men don't Eat Quiche", New York, Pocket Books, 1982.

[2] Wirth, N., "Algorithms + Data Structures Programs", Prentice Hall, 1976.

[3] Ilson, R., "Recent Research in Text Processing", IEEE Trans. Prof. Commun., Vol. PC-23, No. 4, Dec. 4, 1980.

[4] Finseth, C., "Theory and Practice of Text Editors - or - a Cookbook for an EMACS", B.S. Thesis, MIT/LCS/TM-165, Massachusetts Institute of Technology, May 1980.

[5] Weinberg, G., "The Psychology of Computer Programming", New York, Van Nostrand Reinhold, 1971, p. 110.

[6] Dijkstra, E., "On the GREEN language submitted to the DoD", Sigplan notices, Vol. 3 No. 10, Oct 1978.

[7] Rose, Frank, "Joy of Hacking", Science 82, Vol. 3 No. 9, Nov 82, pp. 58-66.

[8] "The Hacker Papers", Psychology Today, August 1980.

[9] sdcarl!lin, "Real Programmers", UUCP-net, Thu Oct 21 16:55:16 1982.

Ed Post, "Real Programmers Don't Use Pascal", DATAMATION, July 1983, pp. 263-265 (Readers' Forum).

Last updated: 1997-08-29

Real Simple Syndication

<spelling>

Illiterate form of Really Simple Syndication.

Last updated: 2013-08-15

Real Soon Now

<jargon, humour>

(RSN) A phrase used ironically when you believe an event will take a long or unknown time to occur. The term originated in SF's fanzine community, popularised by Jerry Pournelle's column in BYTE.

The phrase can be used, for example, when a manager asks how long it will take you to debug some software and you have no idea. "I'll have it working Real Soon Now."

[Jargon File]

Last updated: 2013-08-22

real-time

1. 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. 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."

Used to describe a system that must guarantee a response to an external event within a given time.

Last updated: 1997-11-23

Real-Time Common Design Language

<language>

(RT-CDL) A real-time language for the design of reliable reactive systems.

["RT-CDL: A Real-Time Description Language and Its Semantics", L.Y. Lin et al, 11th World Computer Congress IFIP '89 pp.19-26 Sep 1989].

Last updated: 2003-06-07

Realtime Disk Operating System

<operating system>

A Data General operating system developed in the 1970s or 1980s. When used in conjuction with a BASIC (e.g. Business Basic) it could support 16 concurrent users at the record locking level and two printers all on 128K memory.

Reputedly IBM wanted to license this for the first IBM PC but DG turned them down so they went to Microsoft instead. How different the world could have been.

[Before or after IBM wanted CP/M?]

Last updated: 1997-11-23

Real-Time Euclid

Real-time language, restriction to time-bounded constructs. ["Real-Time Euclid: A Language for Reliable Real-Time Systems", E. Kligerman et al, IEEE Trans Software Eng SE-12(9):941-1986-09-949].

Real-Time Mentat

An extension of C++. "Real-Time Mentat: A Data-Driven Object-Oriented System", A.S. Grimshaw et al, Proc IEEE Globecom, Nov 1989 pp.232-241.

Real-Time Object-Oriented Modeling

<programming>

(ROOM Methodology)

http://objectime.on.ca/ROOM.HTML.

[Summary?]

Last updated: 1997-02-17

Real-Time Operating System

<operating system>

(RTOS) Any operating system where interrupts are guaranteed to be handled within a certain specified maximum time, thereby making it suitable for control of hardware in embedded systems and other time-critical applications. RTOS is not a specific product but a class of operating systems.

[Other criteria?]

Last updated: 1998-02-27

Real-Time Operating System Nucleus

The Real-Time Operating System Nucleus

Real-Time Pascal

<language>

A later name for Pascal-80 by RC International, Denmark.

Last updated: 1995-05-09

Real Time Streaming Protocol

<multimedia, networking, protocol>

(RTSP) An application layer protocol for controlling delivery of a stream of real-time multimedia content. RTSP allows users to start playing from a certain position. It does not actually deliver the data, but works alongside existing delivery channels such as UDP, TCP, or IP multicast.

RTSP was developed by RealNetworks, Netscape Communications, and Columbia University, and is described in RFC 2326, April 1998. RTSP is an IETF proposed standard.

FAQ.

Last updated: 1999-08-26

real-time structured analysis

<programming>

(RTSA) Any version of structured analysis capable of modelling real-time aspects of software.

Last updated: 1995-04-06

Real-Time Transport Protocol

<protocol>

(RTP) An Internet protocol for transmitting real-time data such as audio and video. RTP itself does not guarantee real-time delivery of data, but it does provide mechanisms for the sending and receiving applications to support streaming data. Typically, RTP runs on top of the UDP protocol, although the specification is general enough to support other transport protocols.

RTP has received wide industry support. Netscape intends to base its LiveMedia technology on RTP, and Microsoft claims that its NetMeeting product supports RTP.

Last updated: 2003-07-06

real user

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.

[Jargon File]

Real Video

<video, compression>

A lossy video compression format from Real Media.

Last updated: 2001-12-13

Real World

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 centre of Cambridge.

See also fear and loathing, mundane, uninteresting.

reaper

A prowler that GFRs files. A file removed in this way is said to have been "reaped".

[Jargon File]

reassembly

segmentation

reboot

<operating system>

(From boot) A boot with the implication that the computer has not been down for long, or that the boot is a bounce intended to clear some state of wedgitude.

See warm boot.

Last updated: 1995-11-27

REC

CONVERT

recent changes

Recent changes to FOLDOC.

recipe

suspension

recipient

<communications>

One who receives; receiver. E.g. "No recipient of the e-mail message will know about the other addressees who were listed in the BCC header."

Last updated: 2000-03-22

Recital

dBASE-like language and DBMS from Recital Corporation. Versions include Vax VMS.

RECOL

REtrieval COmmand Language. CACM 6(3):117-122 (Mar 1963).

Recommended Standard

<standard>

(RS) A series of EIA standards including EIA-232.

Last updated: 1995-03-28

record

<data, database, programming>

An ordered set of fields, usually stored contiguously. The term is used with similar meaning in several different contexts. In a file, a "record" probably has some fixed length, in contrast to a "line" which may have any length and is terminated by some End Of Line sequence). A database record is also called a "row". In a spreadsheet it is always called a "row". Some programming languages use the term to mean a type composed of fields of several other types (C calls this a "struct").

In all these cases, a record represents an entity with certain field values.

Fields may be of a fixed width (bits or characters) or they may be separated by a delimiter character, often comma (CSV) or HT (TSV).

In a database the list of values of a given field from all records is called a column.

Last updated: 2002-03-22

Record Management Services

<operating system>

(RMS) Procedures in the VMS operating system that programs call to process files and records within files. RMS allows programs to issue GET and PUT requests at the record level (record I/O) as well as read and write blocks (block I/O). VMS RMS is an integral part of the system software; its procedures run in executive mode.

Last updated: 2003-11-11

records

record

Record Separator

<character>

(RS) ASCII character 30.

rectangle slinger

polygon pusher

recurrence relation

<mathematics>

An equation that defines each element of a sequence in terms of one or more earlier elements. E.g. The Fibonacci sequence,

 X[1] = 1
 X[2] = 1
 X[n] = X[n-1] + X[n-2]

Some recurrence relations can be converted to "closed form" where X[n] is defined purely in terms of n, without reference to earlier elements.

Last updated: 2008-01-14

recurse

recursion

recursion

<mathematics, programming>

When a function (or procedure) calls itself. Such a function is called "recursive". If the call is via one or more other functions then this group of functions are called "mutually recursive".

If a function will always call itself, however it is called, then it will never terminate. Usually however, it first performs some test on its arguments to check for a "base case" - a condition under which it can return a value without calling itself.

The canonical example of a recursive function is factorial:

 factorial 0 = 1
 factorial n = n * factorial (n-1)

Functional programming languages rely heavily on recursion, using it where a procedural language would use iteration.

See also recursion, recursive definition, tail recursion.

[Jargon File]

Last updated: 1996-05-11

recursion theory

<theory>

The study of problems that, in principle, cannot be solved by either computers or humans.

[Proper definition?]

Last updated: 1999-03-01

recursive

recursion

recursive acronym

<convention>

A hackish (and especially MIT) tradition is to choose acronyms and abbreviations that refer humorously to themselves or to other acronyms or 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 stands for "GNU's Not Unix!" - and a company with the name CYGNUS, which expands to "Cygnus, Your GNU Support".

See also mung.

[Jargon File]

Last updated: 1995-04-28

recursive definition

See recursive definition.

recursive descent parser

<grammar>

A "top-down" parser built from a set of mutually-recursive procedures or a non-recursive equivalent where each such procedure usually implements one of the productions of the grammar. Thus the structure of the resulting program closely mirrors that of the grammar it recognises.

["Recursive Programming Techniques", W.H. Burge, 1975, ISBN 0-201-14450-6].

Last updated: 1995-04-28

Recursive Functional Algorithmic Language

<language>

(REFAL) A language developed by V.F. Turchin (later at CUNY?) in Moscow in about 1972.

See also supercompilation.

[V.F. Turchin, "An algorithm of generalisation in the supercompiler", Workshop on partial evaluation and mixed computations, Oct 1987, Denmark, Eds. D. Bjorner, A.P. Ershov, N.D. Jones].

[V. Turchin, "Supercompiler System Based on the Language Refal", V. Turchin, SIGPLAN Notices 14(2):46-54 (Feb 1979)].

Last updated: 1998-06-29

Recursive Macro Actuated Generator

<tool>

(RMAG) Robert A. Magnuson, NIH ca 1970.

A stand-alone macroprocessor for IBM 360/370 under VS or OS. Many built-in features and a library of several hundred macros. Several large systems were written in RMAG to generate source code for languages such as IBM JCL, IBM assembly language, COBOL.

There was also a system (SLANG: Structured LANGuage compiler) which would generate 370 assembly language from a pseudo-structured-programming language, based on Michael Kessler's structure programming macros developed at IBM.

["Project RMAG--RMAG22 User's Guide", R.A. Magnuson, NIH-DCRT-DMB-SSS-UG103, NIH, DHEW, Bethesda, MD 20205 (1977)].

Last updated: 1995-11-23

recursive type

A data type which contains itself. The commonest example is the list type, in Haskell:

 data List a = Nil | Cons a (List a)

which says a list of a's is either an empty list or a cons cell containing an 'a' (the "head" of the list) and another list (the "tail").

Recursion is not allowed in Miranda or Haskell synonym types, so the following Haskell types are illegal:

 type Bad = (Int, Bad)
 type Evil = Bool -> Evil

whereas the seeminly equivalent algebraic data types are acceptable:

 data Good = Pair Int Good
 data Fine = Fun (Bool->Fine)

Red

(Or "REDL") A language proposed by Intermetrics to meet the Ironman requirements which led to Ada.

["On the RED Language Submitted to the DoD", E.W. Dijkstra, SIGPLAN Notices 13(10):27 (Oct 1978)].

["RED Language Reference Manual", J. Nestor and M. van Deusen, Intermetrics 1979].

Last updated: 1995-01-19

Red Book

1. <publication> Informal name for one of the four standard references on PostScript. The other three official guides are known as the Blue Book, the Green Book, and the White Book.

["PostScript Language Reference Manual", Adobe Systems, Addison-Wesley, 1985 (ISBN 0-201-10174-2); second edition 1990 (ISBN 0-201-18127-4)].

<publication>

2. Informal name for one of the three standard references on Smalltalk. This book also has blue and green siblings.

["Smalltalk-80: The Interactive Programming Environment", Adele Goldberg, Addison-Wesley, 1984; (ISBN 0-201-11372-4)].

3. <publication> Any of the 1984 standards issued by the ITU-T eighth plenary assembly. These include, among other things, the X.400 electronic mail specification, the Group 1 through 4 fax standards, ISDN, the R2 signalling system (Q.400 series recommendations), data communication via the PSTN (the V series recommendations) and tariffs and metering principles (the D series).

4. <publication> The new version of the Green Book - IEEE 1003.1-1990, also known as ISO 9945-1 - is (because of the colour 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. <publication> The NSA "Trusted Network Interpretation" companion to the Orange Book.

See also book titles.

[Jargon File]

Red Brick Intelligent SQL

<database>

(RISQL) A vendor-specific extension to SQL designed specifically for business managers. It augments SQL with a variety of operations appropriate to data analysis and decision support applications such as ranking, moving averages, comparisons, market share, this year vs. last year, etc. It was developed to simplify the creation of complex business queries.

Home.

Last updated: 1998-10-15

Redcode

<language>

The ICWS standard language for Core War "battle programs".

[Spec?]

Last updated: 1998-10-30

redex

Reducible Expression. An expression matching the left hand side of a reduction rule or definition.

Red Hat

<operating system>

A distribution of Linux.

http://redhat.com/.

Last updated: 1996-12-21

RediLisp

R.M. Keller, U Utah. Dialect of Lisp used on the Rediflow machine, a derivative of FEL.

redirection

<operating system>

1. input/output redirection.

<web>

2. URL redirection.

Last updated: 1997-07-15

redirector

network redirector

RedNet Ltd.

<company>

A systems integration company who also provide "onLine", an Internet service aimed at both hobbyists and corporate end-users. The service offers dial-in with slip or PPP, POP3 electronic mail.

http://rednet.co.uk.

E-mail: <[email protected]> (with INFO in the body).

Snail mail: RedNet Ltd., 6 Cliveden Office Village, Lancaser Road, High Wycombe, Bucks, HP12 3YZ, UK. Telephone: +44 (1494) 513 333. Fax: +44 (494) 443 374.

Last updated: 1994-11-08

redocumentation

The creation or revision of a semantically equivalent representation within the same relative abstraction level. The resulting forms of representation are usually considered alternate views intended for a human audience.

REDUCE

<language, mathematics>

A symbolic mathematics language with ALGOL-like syntax, written in Lisp by Anthony Hearn in 1963.

Reduce 2 is a version based on Portable Standard LISP.

http://rrz.uni-koeln.de/REDUCE/.

E-mail: <[email protected]>.

Server: [email protected].

["REDUCE, Software for Algebraic Computation", G. Rayna, Springer 1987].

Last updated: 1994-10-31

Reduced Instruction Set Computer

<processor>

(RISC) A processor whose design is based on the rapid execution of a sequence of simple instructions rather than on the provision of a large variety of complex instructions (as in a Complex Instruction Set Computer).

Features which are generally found in RISC designs are uniform instruction encoding (e.g. the op-code is always in the same bit positions in each instruction which is always one word long), which allows faster decoding; a homogenous register set, allowing any register to be used in any context and simplifying compiler design; and simple addressing modes with more complex modes replaced by sequences of simple arithmetic instructions.

Examples of (more or less) RISC processors are the Berkeley RISC, HP-PA, Clipper, i960, AMD 29000, MIPS R2000 and DEC Alpha. IBM's first RISC computer was the RT/PC (IBM 801), they now produce the RISC-based RISC System/6000 and SP/2 lines.

Despite Apple Computer's bogus claims for their PowerPC-based Macintoshes, the first RISC processor used in a personal computer was the Advanced RISC Machine (ARM) used in the Acorn Archimedes.

Last updated: 1997-06-03

reduction

(Or "contraction") The process of transforming an expression according to certain reduction rules. The most important forms are beta reduction (application of a lambda abstraction to one or more argument expressions) and delta reduction (application of a mathematical function to the required number of arguments).

An evaluation strategy (or reduction strategy), determines which part of an expression (which redex) to reduce first. There are many such strategies.

See graph reduction, string reduction, normal order reduction, applicative order reduction, parallel reduction, alpha conversion, beta conversion, delta conversion, eta conversion.

Last updated: 1995-02-21

reduction strategy

<theory>

An algorithm for deciding which redex(es) to reduce next. Different strategies have different termination properties in the presence of recursive functions or values.

See string reduction, normal order reduction, applicative order reduction, parallel reduction

Last updated: 1995-05-09

redundancy

<architecture, parallel>

1. The provision of multiple interchangeable components to perform a single function in order to provide resilience (to cope with failures and errors). Redundancy normally applies primarily to hardware. For example, a cluster may contain two or three computers doing the same job. They could all be active all the time thus giving extra performance through parallel processing and load balancing; one could be active and the others simply monitoring its activity so as to be ready to take over if it failed ("warm standby"); the "spares" could be kept turned off and only switched on when needed ("cold standby"). Another common form of hardware redundancy is disk mirroring.

<data, communications, storage>

2. data redundancy.

Last updated: 1995-05-09

Redundant Array of Independent Disks

<storage, architecture>

(RAID) A standard naming convention for various ways of using multiple disk drives to provide redundancy and distributed I/O.

The original ("..Inexpensive..") term referred to the 3.5 and 5.25 inch disks used for the first RAID system but no longer applies. As solid state drives are becoming a practical repacement for magnetic disks, "RAID" is sometimes expanded as "Redundant Array of Independent Drives".

The following standard RAID specifications exist:

 RAID 0	Non-redundant striped array
 RAID 1	Mirrored arrays
 RAID 2	Parallel array with ECC
 RAID 3	Parallel array with parity
 RAID 4	Striped array with parity
 RAID 5	Striped array with rotating parity

RAID originated in a project at the computer science department of the University of California at Berkeley, under the direction of Professor Katz, in conjunction with Professor John Ousterhout and Professor David Patterson. A prototype disk array file server with a capacity of 40 GBytes and a sustained bandwidth of 80 MBytes/second was interfaced to a 1 Gb/s local area network. It was planned to extend the storage array to include automated optical disks and magnetic tapes.

ftp://wuarchive.wustl.edu/doc/techreports/berkeley.edu/raid/raidPapers. http://HTTP.CS.Berkeley.EDU/projects/parallel/research_summaries/14-Computer-Architecture/.

["A Case for Redundant Arrays of Inexpensive Disks (RAID)", "D. A. Patterson and G. Gibson and R. H. Katz", Proc ACM SIGMOD Conf, Chicago, IL, Jun 1988].

["Introduction to Redundant Arrays of Inexpensive Disks (RAID)", "D. A. Patterson and P. Chen and G. Gibson and R. H. Katz", IEEE COMPCON 89, San Francisco, Feb-Mar 1989].

Last updated: 2012-08-26

Redundant Array of Independent Drives

Redundant Arrays of Independent Disks

Redundant Array of Inexpensive Disks

Redundant Arrays of Independent Disks

Redundant Array of Inexpensive Servers

<architecture>

(RAIS) The use of multiple servers to provide the same service in such a way that service will still be available if one or more of the servers fails. The term may or may not imply some kind of load balancing between the servers. See cluster.

The term "RAIS" follows RAID, which describes schemes for resilient disk storage.

Last updated: 2007-02-28

Redundant Arrays of Inexpensive Disks

Redundant Arrays of Independent Disks

red wire

<jargon, hardware>

(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.

[Jargon File]

Last updated: 1994-12-23

red zone

<networking>

An environment located between internal and external firewalls where software and hardware are deployed to enable access to extranet applications.

Compare De-Militarised Zone.

Last updated: 1997-11-05

re-engineering

The examination and modification of a system to reconstitute it in a new form and the subsequent implementation of the new form.

http://erg.abdn.ac.uk/users/brant/sre.

Last updated: 1994-12-23

re-entrant

<programming>

Used to describe code which can have multiple simultaneous, interleaved, or nested invocations which will not interfere with each other. This is important for parallel processing, recursive functions or subroutines, and interrupt handling.

It is usually easy to arrange for multiple invocations (e.g. calls to a subroutine) to share one copy of the code and any read-only data but, for the code to be re-entrant, each invocation must use its own copy of any modifiable data (or synchronised access to shared data). This is most often achieved using a stack and allocating local variables in a new stack frame for each invocation. Alternatively, the caller may pass in a pointer to a block of memory which that invocation can use (usually for outputting the result) or the code may allocate some memory on a heap, especially if the data must survive after the routine returns.

Re-entrant code is often found in system software, such as operating systems and teleprocessing monitors. It is also a crucial component of multithreaded programs where the term "thread-safe" is often used instead of "re-entrant".

Last updated: 1996-12-21

refactoring

<programming>

Improving software by changing its internal structure without altering its external behaviour.

When software developers add new features to code, it generally degrades because it was not designed with the extra features in mind.

This is solved by either rewriting the code or working around the problem. Rewriting code is extra work, but not doing so results in code that is increasingly and unnecessarily complicated.

Refactoring restructures code to clarify and simplify its design. This may involve extracting reusable code, removing duplicate code, adding features to make the code easier to alter in future, renaming functions and variables, reorganising classes and data structures.

"Refactoring, Reuse & Reality" by Bill Opdyke.

"Refactoring, a first example" by Martin Fowler.

Last updated: 2020-08-19

REFAL

Recursive Functional Algorithmic Language

REF-ARF

["REF-ARF: A System for Solving Problems Stated as Procedures", R.E. Fikes, Artif Intell J 1(1), Spring 1970].

Last updated: 1998-06-29

reference

pointer

reference counting

<programming>

A garbage collection technique where each memory cell contains a count of the number of other cells which point to it. If this count reaches zero the cell is freed and its pointers to other cells are followed to decrement their counts, and so on recursively.

This technique cannot cope with circular data structures. Cells in such structures refer (indirectly) to themselves and so will never have a zero reference count. This means they would never be reclaimed, even when there are no references from outside the structure.

Last updated: 1995-02-22

referential integrity

<database>

A collection of properties which should be possessed by data in a relational database.

For example, in a database of family members, if we enter A as a spouse of B, we should also enter B as a spouse of A. Similarly, if we remove one end of the relationship we should also remove the other.

Last updated: 1998-02-18

referentially transparent

referential transparency

referential transparency

<programming>

An expression E is referentially transparent if any subexpression and its value (the result of evaluating it) can be interchanged without changing the value of E. This is not the case if the value of an expression depends on global state which can change value. The most common example of changing global state is assignment to a global variable. For example, if y is a global variable in:

 f(x)
 { return x+y; }

 g(z)
 {
   a = f(1);
   y = y + z;
   return a + f(1);
 }

function g has the "side-effect" that it alters the value of y. Since f's result depends on y, the two calls to f(1) will return different results even though the argument is the same. Thus f is not referentially transparent. Changing the order of evaluation of the statements in g will change its result.

Pure functional languages achieve referential transparency by forbidding assignment to global variables. Each expression is a constant or a function application whose evaluation has no side-effect, it only returns a value and that value depends only on the definition of the function and the values of its arguments.

We could make f above referentially transparent by passing in y as an argument:

 f(x, y) = x+y

Similarly, g would need to take y as an argument and return its new value as part of the result:

 g(z, y)
 {
   a = f(1, y);
   y' = y+z;
   return (a + f(1, y'), y');
 }

Referentially transparent programs are more amenable to formal methods and easier to reason about because the meaning of an expression depends only on the meaning of its subexpressions and not on the order of evaluation or side-effects of other expressions.

We can stretch the concept of referential transparency to include input and output if we consider the whole program to be a function from its input to its output. The program as a whole is referentially transparent because it will always produce the same output when given the same input. This is stretching the concept because the program's input may include what the user types, the content of certain files or even the time of day. If we do not consider global state like the contents of files as input, then writing to a file and reading what was written behaves just like assignment to a global variable. However, if we must consider the state of the universe as an input rather than global state then any deterministic system would be referentially transparent!

See also extensional equality, observational equivalence.

Last updated: 1997-03-25

referer

<web>

A misspelling of "referrer" which somehow made it into the HTTP standard. A given web page's referer (sic) is the URL of whatever web page contains the link that the user followed to the current page. Most browsers pass this information as part of a request.

Last updated: 1998-10-19

referrer

referer

REFINE

1. "Research on Knowledge-Based Software Environments at Kestrel Institute", D.R. Smith et al, IEEE Trans Soft Eng, SE-11(11) (1985). E-mail: <[email protected]>.

2. Cordell Green et al, Stanford U. Uses logic to specify and evolve programs. [same as 1?] Reasoning Systems, Inc. E-mail: <[email protected]>.

Refined C

(RC) An extension of C to directly specify data access rights so that flow analysis, and hence automatic parallelisation, is more effective. Research implementations only. "Refining A Conventional Language For Race-Free Specification Of Parallel Algorithms," H.G. Dietz et al, Proc 1984 Intl Conf Parallel Proc, pp.380-382.

Refined Fortran

(RF) Similar to Refined C. Research implementations only. "Refined Fortran: Another Sequential Language for Parallel Programming," H.G. Dietz et al, Proc 1986 Intl Conf Parallel Proc, pp.184-191.

reflexive

<theory>

A relation R is reflexive if, for all x, x R x.

Equivalence relations, pre-orders, partial orders and total orders are all reflexive.

Last updated: 1999-01-28

reflexive domain

A domain satisfying a recursive domain equation. E.g. D = D -> D.

Reflexive transitive closure

Two elements, x and y, are related by the reflexive transitive closure, R+, of a relation, R, if they are related by the transitive closure, R*, or they are the same element.

RefLisp

<language>

A small Lisp interpreter written in C++ by Bill Birch of Bull, UK. RefLisp has a built-in web server, Wiki, LISP server pages, SQL Databases, XML parser, MD5 hashing, regular expressions, reference counting and mark-sweep garbage collection.

RefLisp has shallow-binding and dynamic scope with optional support for lexical scope, Common Lisp compatibility and for indefinite extent Scheme programs.

RefLisp is distributed under the GPL.

RefLisp Home.

Last updated: 2005-02-08

refresh

<storage>

1. DRAM refresh.

<hardware>

2. screen refresh.

Last updated: 1998-10-19

refreshable braille display

braille display

refreshable display

braille display

refresh rate

<hardware>

(Or "vertical refresh rate", "vertical scan rate") The maximum number of frames that can be displayed on a monitor in a second, expressed in Hertz.

The scan rate is controlled by the vertical sync signal generated by the video controller, ordering the monitor to position the electron gun at the upper left corner of the raster, ready to paint another frame. It is limited by the monitor's maximum horizontal scan rate and the resolution, since higher resolution means more scan lines. Increasing the refresh rate decreases flickering, reducing eye strain, but few people notice any change above 60-72 Hz.

Last updated: 1999-08-01

refuctoring

<humour, programming>

Taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. The term is a humourous play on the term refactoring and was coined by Jason Gorman in a pub in 2002.

Refuctoring techniques include:

Using Pig Latin as a naming convention.

Stating The Bleeding Obvious - writing comments that paraphrase the code (e.g., "declare an integer called I with an initial value of zero").

Module Gravity Well - adding all new code to the biggest module.

Unique Modeling Language - inventing your own visual notation.

Treasure Hunt - Writing code consisting mostly of references to other code and documents that reference other documents.

Rainy Day Module - writing spare code just in case somebody needs it later.

Waterfall 2006 presentation.

Last updated: 2013-12-01

refutable

<programming>

In lazy functional languages, a refutable pattern is one which may fail to match. An expression being matched against a refutable pattern is first evaluated to head normal form (which may fail to terminate) and then the top-level constructor of the result is compared with that of the pattern. If they are the same then any arguments are matched against the pattern's arguments otherwise the match fails.

An irrefutable pattern is one which always matches. An attempt to evaluate any variable in the pattern forces the pattern to be matched as though it were refutable which may fail to match (resulting in an error) or fail to terminate.

Patterns in Haskell are normally refutable but may be made irrefutable by prefixing them with a tilde (~). For example,

 (\ (x,y) -> 1) undefined	==>	undefined
 (\ ~(x,y) -> 1) undefined	==>	1

Patterns in Miranda are refutable, except for tuples which are irrefutable. Thus

 g [x] = 2
 g undefined	 	==>	undefined

 f (x,y) = 1
 f undefined	 	==>	1

Pattern bindings in local definitions are irrefutable in both languages:

 h = 1 where [x] = undefined	==>	1

Irrefutable patterns can be used to simulate unlifted products because they effectively ignore the top-level constructor of the expression being matched and consider only its components.

Last updated: 2013-11-03

regex

The GNU regular expression matching library. See also Rx.

regexp

1. regular expression.

2. Name of a well-known PD regexp-handling package in portable C, written by revered Usenetter Henry Spencer <[email protected]>.

[Jargon File]

Regina

<standard>

A widely-used open source Rexx interpreter by Anders Christensen <[email protected]>, ported to many platforms including Unix, Windows 95, Windows NT, OS/2. Regina is currently maintained by Mark Hessling.

Regina conforms almost completely to Rexx Language Level 4.00, with some Rexx SAA API extensions. It is distributed under the GNU General Public License.

Home {http://lightlink.com/hessling/).

Usenet newsgroup: comp.lang.rexx.

Last updated: 2001-03-30

regional network

mid-level network

register

1. One of a small number of high-speed memory locations in a computer's CPU. Registers differ from ordinary random-access memory in several respects:

There are only a small number of registers (the "register set"), typically 32 in a modern processor though some, e.g. SPARC, have as many as 144. A register may be directly addressed with a few bits. In contrast, there are usually millions of words of main memory (RAM), requiring at least twenty bits to specify a memory location. Main memory locations are often specified indirectly, using an indirect addressing mode where the actual memory address is held in a register.

Registers are fast; typically, two registers can be read and a third written -- all in a single cycle. Memory is slower; a single access can require several cycles.

The limited size and high speed of the register set makes it one of the critical resources in most computer architectures. Register allocation, typically one phase of the back-end, controls the use of registers by a compiled program.

See also accumulator, FUBAR, orthogonal, register dancing, register allocation, register spilling.

2. An addressable location in a memory-mapped peripheral device. E.g. the transmit data register in a UART.

register allocation

<compiler, algorithm>

The phase of a compiler that determines which values will be placed in registers. Register allocation may be combined with register assignment.

This problem can be shown to be isomorphic to graph colouring by relating values to nodes in the graph and registers to colours. Values (nodes) which must be valid simultaneously are linked by edges and cannot be stored in the same register (coloured the same).

See also register dancing and register spilling.

[Preston Briggs, PhD thesis, Rice University, April 1992 "Register Allocation via Graph Coloring"].

Last updated: 2000-12-04

register assignment

<compiler, algorithm>

The phase of a compiler that determines which register to use for each program value selected during register allocation.

Last updated: 2000-12-04

register dancing

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.

[Jargon File]

registered port

<networking>

Any TCP or UDP port with a number in the range 1025 to 65535 (i.e. not a well-known port) that is registered with IANA.

register set

All a processor's registers. The size and arrangement of a processor's register set is one of the crucial factors in its performance.

register spilling

<programming, compiler>

(By analogy with spilling the contents of an overfull container) When a compiler is performing the register allocation phase of generating machine code and there are more live variables than the machine has registers and it has to transfer or "spill" some variables from registers to memory.

Last updated: 2014-08-02

Register Transfer Language

(RTL) 1. A kind of hardware description language (HDL) used in describing the registers of a computer or digital electronic system, and the way in which data is transferred between them.

2. An intermediate code for a machine with an infinite number of registers, used for machine-independent optimisation. RTL was developed by Chris Fraser <[email protected]> and J. Davidson <[email protected]> at the University of Arizona in the early 1980s. RTL is used by the GNU C compiler, gcc and by Davidson's VPCC (Very Portable C compiler).

["Quick Compilers Using Peephole Optimisation", Davidson et al, Soft. Prac. & Exp. 19(1):79-97 (Jan 1989)].

Last updated: 1994-11-16

registry

Windows Registry

regression

<mathematics>

1. A mathematical method where an empirical function is derived from a set of experimental data.

2. regression testing.

Last updated: 1995-03-14

regression testing

<programming>

Part of the test phase of software development where, as new modules are integrated into the system and the added functionality is tested, previously tested functionality is re-tested to assure that no new module has corrupted the system.

[Bennatan, E.M., "Software Project Management", 2nd edition, McGraw-Hill International, 1992].

Last updated: 1995-12-04

REG-SYMBOLIC

An early system on the IBM 704.

[Listed in CACM 2(5):16 (May 1959)].

Last updated: 1994-12-02

REGTRAL

Mentioned in Attribute Grammars, LNCS 323, p.108.

Relational Language. Clark & Gregory. First parallel logic language to use the concept of committed choice. Forerunner of PARLOG. "A Relational Language for Parallel Programming", K.L. Clark et al, Proc ACM Conf on Functional Prog Langs and Comp Arch, pp.171-178, ACM 1981.

regular expression

<text, operating system>

1. (regexp, RE) One of the wild card patterns used by Perl and other languages, following Unix utilities such as grep, sed, and awk and editors such as vi and Emacs. Regular expressions use conventions similar to but more elaborate than those described under glob. A regular expression is a sequence of characters with the following meanings (in Perl, other flavours vary):

An ordinary character (not one of the special characters discussed below) matches that character.

A backslash (\) followed by any special character matches the special character itself. The special characters are:

"." matches any character except newline; "RE*" (where RE is any regular expression and the "*" is called the "Kleene star") matches zero or more occurrences of RE. If there is any choice, the longest leftmost matching string is chosen.

"^" at the beginning of an RE matches the start of a line and "$" at the end of an RE matches the end of a line.

[CHARS] matches any one of the characters in CHARS. If the first character of the string is a "^" it matches any character except the remaining characters in the string (and also usually excluding newline). "-" may be used to indicate a range of consecutive ASCII characters.

(RE) matches whatever RE matches and \N, where N is a digit, matches whatever was matched by the RE between the Nth "(" and its corresponding ")" earlier in the same RE. Many flavours use \(RE\) instead of just (RE).

The concatenation of REs is a RE that matches the concatenation of the strings matched by each RE. RE1 | RE2 matches whatever RE1 or RE2 matches.

\< matches the beginning of a word and \> matches the end of a word. Many flavours use "\b" instead as the special character for "word boundary".

RE{M} matches M occurences of RE. RE{M,} matches M or more occurences of RE. RE{M,N} matches between M and N occurences. Other flavours use RE\{M\} etc.

Perl provides several "quote-like" operators for writing REs, including the common // form and less common ??.

A comprehensive survey of regexp flavours is found in Friedl 1997 (see below).

[Jeffrey E.F. Friedl, "Mastering Regular Expressions, O'Reilly, 1997].

2. Any description of a pattern composed from combinations of symbols and the three operators:

Concatenation - pattern A concatenated with B matches a match for A followed by a match for B.

Or - pattern A-or-B matches either a match for A or a match for B.

Closure - zero or more matches for a pattern.

The earliest form of regular expressions (and the term itself) were invented by mathematician Stephen Cole Kleene in the mid-1950s, as a notation to easily manipulate "regular sets", formal descriptions of the behaviour of finite state machines, in regular algebra.

[S.C. Kleene, "Representation of events in nerve nets and finite automata", 1956, Automata Studies. Princeton].

[J.H. Conway, "Regular algebra and finite machines", 1971, Eds Chapman & Hall].

[Sedgewick, "Algorithms in C", page 294].

Last updated: 2015-04-30

Regular Expression Converter

CONVERT

regular graph

<mathematics>

A graph in which all nodes have the same degree.

Last updated: 1995-03-07

rehi

<chat>

Hello again.

Last updated: 1995-02-28

Reid, Brian

Brian Reid

reify

To regard (something abstract) as a material thing.

Last updated: 1995-03-07

re-image

<system administration>

To re-install a computer's operating system, and possibly other software, by writing a disk image to the hard disk, replacing the entire contents. Re-imaging is quicker, easier and more reliable than going through a complete install but it relies on having a disk image available.

"Sometimes if your PC has a virus, the only cure is to re-image it."

Last updated: 2007-06-26

reincarnation, cycle of

cycle of reincarnation

reinvent the wheel

<jargon>

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.

[Jargon File]

Last updated: 1997-04-12

relation

<mathematics>

1. A subset of the product of two sets,

 R : A x B

If (a, b) is an element of R then we write

 a R b

meaning a is related to b by R.

A relation may be: reflexive (a R a), symmetric (a R b => b R a), transitive (a R b & b R c => a R c), antisymmetric (a R b & b R a => a = b) or total (a R b or b R a).

Relations are most commonly between two sets (binary relations) but could be between more than two.

See equivalence relation, partial ordering, pre-order, total ordering.

<database>

2. A table in a relational database.

Last updated: 1995-02-28

relational algebra

<database, theory>

A family of algebra with a well-founded semantics used for modelling the data stored in relational databases, and defining queries on it. The main operations of the relational algebra are the set operations (such as union, intersection, and cartesian product), selection (keeping only some lines of a table) and the projection (keeping only some columns).

The relational data model describes how the data is structured.

Codd's reduction algorithm can convert from relational calculus to relational algebra.

Last updated: 1997-02-17

relational calculus

<database>

An operational methodolgy, founded on predicate calculus, dealing with descripitive expressions that are equivalent to the operations of relational algebra. Codd's reduction algorithm can convert from relational calculus to relational algebra.

Two forms of the relational calculus exist: the tuple calculus and the domain calculus.

["An Introduction To Database Systems" (6th ed), C. J. Date, Addison Wesley].

Last updated: 1998-10-05

relational database

<database>

(RDBMS - relational database management system) A database based on the relational model developed by E.F. Codd. A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints. In such a database the data and relations between them are organised in tables. A table is a collection of rows or records and each row in a table contains the same fields. Certain fields may be designated as keys, which means that searches for specific values of that field will use indexing to speed them up.

Where fields in two different tables take values from the same set, a join operation can be performed to select related records in the two tables by matching values in those fields. Often, but not always, the fields will have the same name in both tables. For example, an "orders" table might contain (customer_id, product_code) pairs and a "products" table might contain (product_code, price) pairs so to calculate a given customer's bill you would sum the prices of all products ordered by that customer by joining on the product-code fields of the two tables. This can be extended to joining multiple tables on multiple fields. Because these relationships are only specified at retreival time, relational databases are classed as dynamic database management system.

The first commercial RDBMS was the Multics Relational Data Store, first sold in 1978.

INGRES, Oracle, Sybase, Inc., Microsoft Access, and Microsoft SQL Server are well-known database products and companies. Others include PostgreSQL, SQL/DS, and RDB.

["Managing Data Bases, Four Critical Factors" Michael M. Gorman, QED Information Sciences, Inc.].

["An Introduction To Database Systems" (6th ed) C. J. Date, Addison Wesley (an excellent source of detailed info)].

["An End-User's Guide to Data Base" James Martin, Prentice Hall (excellent place to begin learning about DBMS)].

Last updated: 2002-06-10

relational database management system

relational database

relational data model

<database>

(Or "relational model") A data model introduced by E.F. Codd in 1970, particularly well suited for business data management. In this model, data are organised in tables. The set of names of the columns is called the "schema" of the table.

Here is an example table with the schema (account number, amount) and 3 lines.

 account number     amount
 --------------  ---------
 12343243546456  +30000.00
 23149875245824   +2345.33
 18479827492874    -123.25

The data can be manipulated using a relational algebra. SQL is a standard language for talking to a database built on the relational model (a "relational database").

["A relational model for large shared data banks" Communications of ACM 13:6, pp 377-387].

Last updated: 1998-10-05

relational DBMS

relational database

relational language

<language>

Any kind of programming language that specifies output in terms of some property and some arguments. For example, if Tom has two brothers, Dick and Harry, a relational language will respond to the query "Who is Tom's brother?" with either Dick or Harry. Notice that unlike functional languages, relational languages do not require a unique output for each predicate/argument pair. Prolog is the best known relational language.

Last updated: 2004-05-17

relational model

relational data model

RELATIVE

Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

relatively prime

<mathematics>

Having no common divisors (greater than 1).

Two numbers are said to be relativey prime if there is no number greater than unity that divides both of them evenly.

For example, 10 and 33 are relativly prime. 15 and 33 are not relatively prime, since 3 is a divisor of both.

Last updated: 1997-03-11

relative pathname

<file system>

A path relative to the working directory. Its first character can be anything but the pathname separator.

Last updated: 1996-11-21

Relative Record Data Set

<database>

(RRDS) One of the access methods used by IBM's VSAM.

[What is it?]

Last updated: 1999-01-12

RELCODE

Early system on UNIVAC I or II. Listed in CACM 2(5):16 (May 1959).

release

<programming>

(Or "released version", "baseline") A version of a piece of software which has been made public (as opposed to a version that is in development, or otherwise unreleased).

A release is either a major release, a revision, or a bugfix.

Pre-release versions may be called alpha test, or beta test versions.

See change management.

Last updated: 1996-08-04

released version

release

REL English

Rapidly Extensible Language, English

relevance

<information science>

A measure of how closely a given object (file, web page, database record, etc.) matches a user's search for information.

The relevance algorithms used in most large web search engines today are based on fairly simple word-occurence measurement: if the word "daffodil" occurs on a given page, then that page is considered relevant to a query on the word "daffodil"; and its relevance is quantised as a factor of the number of times the word occurs in the page, on whether "daffodil" occurs in title of the page or in its META keywords, in the first N words of the page, in a heading, and so on; and similarly for words that a stemmer says are based on "daffodil".

More elaborate (and resource-expensive) relevance algorithms may involve thesaurus (or synonym ring) lookup; e.g. it might rank a document about narcissuses (but which may not mention the word "daffodil" anywhere) as relevant to a query on "daffodil", since narcissuses and daffodils are basically the same thing. Ditto for queries on "jail" and "gaol", etc.

More elaborate forms of thesaurus lookup may involve multilingual thesauri (e.g. knowing that documents in Japanese which mention the Japanese word for "narcissus" are relevant to your search on "narcissus"), or may involve thesauri (often auto-generated) based not on equivalence of meaning, but on word-proximity, such that "bulb" or "bloom" may be in the thesaurus entry for "daffodil".

Word spamming essentially attempts to falsely increase a web page's relevance to certain common searches.

See also subject index.

Last updated: 1997-04-09

reliability

<systems>

An attribute of any system that consistently produces the same results, preferably meeting or exceeding its specifications. The term may be qualified, e.g software reliability, reliable communication.

Reliability is one component of RAS.

Last updated: 2000-08-13

Reliability, Availability, Serviceability

<systems, design, hardware, software>

(RAS) Three key attributes of a computing system design. See reliability, availability, and serviceability.

The term "RAS" is fairly common in the computing industry (particularly computers and storage) as computing becomes more fundamental. For example, a vehicle may depend on dozens of computers, and the consequences of the failure can be significant (e.g., an ambulance's engine won't start).

Last updated: 2000-08-13

reliable communication

<communications>

Communication where messages are guaranteed to reach their destination complete and uncorrupted and in the order they were sent. This reliability can be built on top of an unreliable protocol by adding sequencing information and some kind of checksum or cyclic redundancy check to each message or packet. If the communication fails, the sender will be notified. Transmission Control Protocol is a reliable protocol used on Ethernet.

Last updated: 2004-09-14

Reliable Data Protocol

<protocol>

(RDP) A protocol designed to provide a reliable data transport service for packet-based applications such as remote loading and debugging. RDP is intended to be simple to implement but still be efficient in environments where there may be long transmission delays and loss or non-sequential delivery of message segments.

RDP is defined in RFC 908.

Last updated: 2004-09-14

religion of CHI

/ki:/ [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.

[Jargon File]

religious issues

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.

Last updated: 1996-08-16

REM

<programming>

(From "remark") The keyword used in BASIC to introduce a comment (which continues to the end of the line). MS-DOS probably borrowed it from BASIC. Might be used in the form "REM out" meaning to comment out.

Last updated: 1998-04-27

remailer

anonymous remailer

Remote Access Services

<communications>

(RAS) A service provided by Windows NT which allows most of the services which would be available on a network to be accessed over a modem link. The service includes support for dialup and logon, and then presents the same network interface as the normal network drivers (albeit slightly slower!). It is not necessary to run Windows NT on the client - there are client versions for other Windows operating systems.

[What services?]

Last updated: 1996-08-14

Remote Database Access

<database, standard>

(RDBA) A standard permitting the exchange of information between different DBMS systems.

Last updated: 1998-09-23

Remote Desktop Protocol

<protocol>

(RDP) A Microsoft protocol that provides remote display and input for Windows.

RDP's video driver renders display output by sending packets to the client which translates them into corresponding Microsoft Win32 graphics device interface API calls. Client mouse and keyboard events are redirected from the client to virtual keyboard and mouse drivers on the server.

RDP 4.0 was introduced with Windows NT Server 4.0, Terminal Server Edition. Windows 2000 Terminal Services included RDP 5.0. The Terminal Services Advanced Client (TSAC), an RDP client based on an ActiveX control, also supports RDP 5.0. RDP 5.0 provides enhanced performance over low-speed connections. Windows XP uses RDP 5.1 and includes Remote Desktop Web Connection, which is an updated version of the TSAC.

RDP extends the ITU T.120 protocols, allowing separate virtual channels for device communication and presentation data from the server, as well as encrypted mouse and keyboard data.

Compare: VNC.

MSDN RDP.

thinclient.net.

Last updated: 2004-09-14

remote echo

<communications>

(Obsolete: "full-duplex") A mode of operation of communicating programs or devices in which the sending system does not display the characters the user enters, but only sends them to the remote system which then "echoes" them back to be displayed to the user. This lets the operator see not only typing errors, but also transmission errors. This is now the usual mode of most systems with remote users.

Contrast: local echo.

Last updated: 2000-03-30

Remote Job Entry

<operating system>

(RJE) A system, widely used in the mid/late 1960s, for submitting jobs to mainframes like the IBM 360 under OS/MFT. Communication with the computer operator was via the keyboard and later via CRTs.

Last updated: 1999-03-26

remote login

<networking>

A client-server program and protocol that provides an interactivel command line interface to a remote computer, using a protocol over a computer network, simulating a locally attached terminal.

rlogin is the BSD Unix program and protocol for this, telnet is an earlier, more widely implemented protocol.

Last updated: 1999-03-26

Remote Method Invocation

<programming>

(RMI) Part of the Java programming language library which enables a Java program running on one computer to access the objects and methods of another Java program running on a different computer.

Home.

Last updated: 1997-09-04

remote monitoring

<protocol>

(RMON) A network management protocol that allows network information to be gathered at a single computer. Whereas SNMP gathers network data from a single type of Management Information Base (MIB), RMON 1 defines nine additional MIBs that provide a much richer set of data about network usage. For RMON to work, network devices, such as hubs and switches, must be designed to support it.

The newest version of RMON, RMON 2, provides data about traffic at the network layer in addition to the physical layer. This allows administrators to analyse traffic by protocol.

Last updated: 2003-09-15

Remote Operations Service Element

<networking>

(ROSE) A sub-layer of protocol layer six (presentation layer) in the OSI seven layer model which provides SASE for remote operations.

Documents: ITU Rec. X.229 (ISO 9072-2), ITU Rec. X.219 (ISO 9072-1).

Last updated: 1997-12-07

Remote Procedure Call

<networking, programming>

(RPC) A protocol which allows a program running on one host to cause code to be executed on another host without the programmer needing to explicitly code for this. RPC is an easy and popular paradigm for implementing the client-server model of distributed computing. An RPC is initiated by the caller (client) sending request message to a remote system (the server) to execute a certain procedure using arguments supplied. A result message is returned to the caller. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols.

Sun RPC is defined in RFC 1057 and ONC RPC in RFC 1831.

Last updated: 2003-06-04

Remote Reference Layer

<protocol>

(RRL) Part of Java's Remote Method Invocation protocol. RRL exists in both the RMI client and server. It is used by the stub or skeleton protocol layer and uses the transport layer. RRL is reponsible for transport-independent functioning of RMI, such as connection management or unicast/multicast object invocation.

[Specification URL?]

Last updated: 1997-12-03

Remote Spooling Communication Subsystem

<communications>

(RSCS) A networking protocol used primarily on Bitnet.

[Details?]

Last updated: 1996-02-04

Remote Write Protocol

<chat, protocol>

(RWP) A proposed Internet protocol for exchanging short messages between terminals.

The RWP proposal is detailed in RFC 1756.

Last updated: 1996-09-08

removable disk

removable hard disk

removable hard disk

<storage>

A type of magnetic disk, or possibly magneto-optical disk which is not permanently attached to the disk drive (not a fixed disk) but which can be taken out and replaced, allowing many disks to be used in the same drive.

The term "removable disk" would seem to be applicable to floppy disks but is generally reserved for hard disks in suitable cartridges such as those made by Syquest, Iomega and others.

Removable disk packs were common on minicomputers such as the PDP-11 in use in the 1970s except that the drives were the size of washing machines and the disk packs as big as car wheels. Removable disks became popular on microcomputers in the 1990s as a cheap way of expanding disk space, transporting large amounts of data between computers and storing backups. Large, cheap fixed hard disks and USB memory sticks have made removable disks less attractive.

Last updated: 2007-06-14

rendering

<graphics, text>

The conversion of a high-level object-based description into a graphical image for display.

For example, ray-tracing takes a mathematical model of a three-dimensional object or scene and converts it into a bitmap image. Another example is the process of converting HTML into an image for display to the user.

Last updated: 2001-02-06

RenderMan Shading Language

["The RenderMan Companion", S. Upstill, A-W 1989, chaps 13-15].

rendezvous

1. In Ada, the method of synchronising the activity of different tasks.

2. Query language, close to natural English.

["Seven Steps to Rendezvous with the Casual User", E. Codd in Data Base Management, J.W. Klimbie et al eds, N-H 1974, pp.179-199].

REP

<programming>

A directive used in IBM object code card decks (and later PTF Tapes) to REPlace fragments of already assembled or compiled object code prior to link edit. Recompiling or reassembling the source code to produce a whole new object module was only possible if the source code was available, which it rarely was (if you had the object you were lucky!) It was also quicker to apply incremental changes with REP cards and they also circumvented the checksums and card sequence numbers present in the object code.

Last updated: 1998-07-16

repeat

repeat loop

repeater

<networking, communications>

A network or communications device which propagates electrical signals from one cable to another, amplifying them to restore them to full strength in the process. Repeaters are used to counter the attenuation which occurs when signals travel long distances (e.g. across an ocean).

A network repeater is less intelligent than a bridge, gateway or router since it works at the physical layer.

Last updated: 1998-07-16

repeating group

<database>

Any attribute that can have multiple values associated with a single instance of some entity. For example, a book might have multiple authors.

Such a "-to-many" relationship might be represented in an unnormalised relational database as multiple author columns in the book table or a single author(s) column containing a string which was a list of authors. Converting this to "first normal form" is the first step in database normalisation. Each author of the book would appear in a separate row along with the book's primary key. Later nomalisation stages would move the book-author relationship into a separate table to avoid repeating other book attibutes (e.g. title, publisher) for each author.

Last updated: 2005-07-28

repeat loop

<programming>

(Or "do loop", "repeat until") A loop construct found in many procedural languages which repeatedly executes some instructions while a condition is true.

Repeat loops are found in Perl, Pascal, BASIC and C. The initial keyword may be "repeat" or "do" and the condition may be introduced with a "while" or "until" keyword.

In constrast to a while loop, the "loop body" is executed once before the condition is tested. This is useful when the condition depends on the action of the loop body. In the following, "Hello" is printed once despite the fact that the condition is false;

 i = 2;
 do {
   print "Hello"
   i = i + 1
 } while (i < 1);

See also while loop, for loop, loop-and-a-half.

Last updated: 1999-05-06

repeat until

repeat until

repetitive strain disorder

overuse strain injury

repetitive strain injury

overuse strain injury

REPL

<language, LISP, programming>

1. read-eval-print loop.

<language>

2. Restricted EPL.

Last updated: 2003-06-23

replacement algorithm

The method used to determine which entry in an associative cache to flush to main memory when it is desired to cache a new block of data. The "least recently used" algorithm flushed the block which has not been accessed for the longest time. A random replacement algorithm picks any block with equal probability.

Replay

Acorn Computers' full-motion video system written by Roger Wilson. Video and sound information are stored in compressed form. Compression is relatively slow but decompression is done in real-time with quality and frame-rate varying with the processing power available, the size of the picture and whether it appears in a window or uses the whole screen.

Last updated: 1994-11-09

replication

<database, networking>

Creating and maintaining a duplicate copy of a database or file system on a different computer, typically a server. The term usually implies the intelligent copying of parts of the source database which have changed since the last replication with the destination.

Replication may be one-way or two-way. Two-way replication is much more complicated because of the possibility that a replicated object may have been updated differently in the two locations in which case some method is needed to reconcile the different versions.

For example, Lotus Notes can automatically distribute document databases across telecommunications networks. Notes supports a wide range of network protocols including X25 and Internet TCP/IP.

Compare mirror. See also rdist.

Last updated: 1997-12-12

replicator

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), 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.

[Jargon File]

reply

followup

Repondez s'il vous plait

Répondez s'il vous plait

Report Program Generator

<tool>

(RPG) An IBM programming language developed by Wilf Hey at IBM in 1965 for easy production of sophisticated large system reports.

RPG is a 3GL similar to COBOL, but more concise and supposedly easier for non-programmers to use. It processes its input one line at a time and does not treat tables as conceptual entities.

It was popular on System 34/36 minicomputers.

Versions: RPG II, RPG III, RPG/400 for IBM AS/400. MS-DOS versions by California Software and Lattice. Unix version by Unibol. Cross-platform version by J & C Migrations runs on MS-DOS, Windows, AIX, HP-UX, and OS/390.

See also CL, OCL.

Last updated: 2004-08-24

repository

<database>

1. See data dictionary.

<programming>

2. The core of a CASE tool, typically a DBMS where all development documents are stored.

Last updated: 1999-04-27

Representation Language Language

<language>

(RLL) A frame language.

["A Representation Language Language", R. Greiner and D.B. Lenat, Proc AAAI-80, 1980].

Last updated: 2003-06-02

Request For Comments

<standard>

(RFC) One of a series, begun in 1969, of numbered Internet informational documents and standards widely followed by commercial software and freeware in the Internet and Unix communities. Few RFCs are standards but all Internet standards are recorded in RFCs. Perhaps the single most influential RFC has been RFC 822, the Internet electronic 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.

rfc.net. W3. JANET UK FTP. Imperial College, UK FTP. Nexor UK. Ohio State U.

See also For Your Information, STD.

Last updated: 1997-11-10

request for proposal

<programming>

(RFP) The publication by a prospective software purchaser of details of the required system in order to attract offers by software developers to supply it. Software development under contract starts with the selection of the software developer by the customer. A request for proposal (also called in Britain an "invitation to tender") is the beginning of the selection process.

[Bennatan, E.M., "Software Project Management", 2nd edition, McGraw-Hill International, 1992].

Last updated: 1995-12-04

Request For Technology

(RFT) The process established by the OSF to get proposals for new standards.

Last updated: 1994-11-30

Required-COBOL

A minimal subset of COBOL developed in 1961. It was later dropped entirely.

[Sammet 1969, p. 339].

Last updated: 1994-11-30

requirements

<programming>

The first stage of software development which defines what the potential users want the system to do. In modern methods these requirements should be testable, and will usually be traceable in later development stages. A common feature of nearly all software is that the requirements change during its lifetime.

See software life-cycle.

Last updated: 1995-11-11

Requirements Acquisition and Controlled Evolution

<programming, project>

(RACE) A "back to basics" approach to requirements engineering. The method, is being pieced together through a series of intermediate research studies. In essence, the approach has been to establish requirements for RACE, identify individual techniques that meet those requirements, experiment with the combined use of the techniques, and finally assemble the method. In practice, RACE has been influenced significantly by Checkland and Wilson's Soft Systems Methodology (SSM) and this forms the core of the method.

Last updated: 1995-11-21

requirements analysis

<project>

The process of reviewing a business's processes to determine the business needs and functional requirements that a system must meet.

Last updated: 1996-08-01

Requirements Engineering

<programming>

The task of capturing, structuring, and accurately representing the user's requirements so that they can be correctly embodied in systems which meet those requirements (i.e. are of good quality).

DOORS is one product to help with this task.

Last updated: 1995-11-11

Research Systems, Inc.

(RSI) Distributors of Interactive Data Language (IDL).

ftp://gateway.rs.inc.com/pub/. E-mail: <[email protected]>.

Last updated: 1994-10-07

ResEdit

<programming, tool>

A free resource editor for Win32 programs. ResEdit can create dialogs, icon, version information or other types of resources. Output files can be compiled by any Win32 compiler like MinGW and Microsoft Visual C++.

http://www.resedit.net/.

Last updated: 2007-03-24

reserved memory

<storage>

The address range 640-1024 kilobytes on an IBM PC, reserved for BIOS, video cards, and add-on cards. Depending on the configuration some of the address space may be unused in which case it can be used by EMS or UMB.

Last updated: 1996-01-10

resolution

<hardware>

1. the maximum number of pixels that can be displayed on a monitor, expressed as (number of horizontal pixels) x (number of vertical pixels), i.e., 1024x768. The ratio of horizontal to vertical resolution is usually 4:3, the same as that of conventional television sets.

<logic>

2. A mechanical method for proving statements of first order logic, introduced by J. A. Robinson in 1965. Resolution is applied to two clauses in a sentence. It eliminates, by unification, a literal that occurs "positive" in one and "negative" in the other to produce a new clause, the resolvent.

For example, given the sentence:

 (man(X) => mortal(X))  AND  man(socrates).

The literal "man(X)" is "negative". The literal "man(socrates)" could be considered to be on the right hand side of the degenerate implication

 True => man(socrates)

and is therefore "positive". The two literals can be unified by the binding X = socrates.

The truth table for the implication function is

 A | B | A => B
 --+---+-------
 F | F |   T
 F | T |   T
 T | F |   F
 T | T |   T

(The implication only fails if its premise is true but its conclusion is false). From this we can see that

 A => B   ==   (NOT A) OR B

Which is why the left hand side of the implication is said to be negative and the right positive. The sentence above could thus be written

 ((NOT man(socrates)) OR mortal(socrates))
 AND
 man(socrates)

Distributing the AND over the OR gives

 ((NOT man(socrates)) AND man(socrates))
 OR
 mortal(socrates) AND man(socrates)

And since (NOT A) AND A == False, and False OR A == A we can simplify to just

 mortal(socrates) AND man(socrates)

So we have proved the new literal, mortal(socrates).

Resolution with backtracking is the basic control mechanism of Prolog.

See also modus ponens, SLD Resolution.

<networking>

3. address resolution.

Last updated: 1996-02-09

resolver

<networking>

The TCP/IP protocol library software that formats requests to be sent to the Domain Name Server for hostname to IP address conversion.

Last updated: 1995-03-28

Resource Access Control Facility

(RACF) IBM's large system security product. It originally ran only under MVS but has since been ported to run under VM.

Last updated: 1995-02-07

Resource Description Framework

<web, specification, data>

(RDF) A specification being developed in 2000 by the W3C as a foundation for processing metadata regarding resources on the Internet, including the web.

Resource Description Framework data consists of resources (nodes), and property/value pairs describing the resource. A node is any object which can be pointed to by a URI, properties are attributes of the node, and values can be either atomic values for the attribute, or other nodes. For example, information about a particular web page (a node), might include the property "Author". The value for the Author property could be either a string giving the name of the author, or a link to a resource describing the author.

Resource Description Framework only specifies a mechanism for encoding and transferring metadata. It does not specify what that metadata should, or can be. RDF does not, for example, define an "Author" attribute. Sets of properties are defined within RDF Vocabularies (or Schemas). Anynone can create an RDF schema, describing a specialized set of properties, by creating a resource, referenced by the Schema URI, which provides a human- and machine-understandable definition of the schema's properties. The description of a node may include properties defined in different schemas. The properties within a resource description are associated with a certain schema definition using the XML namespace mechanism. Schemas currently being developed include a content screening system modeled after PICS, and a bibliographic vocabulary, such as the Dublin Core Initiative.

http://w3c.org/RDF/.

W3C Resource Description Framework-RDF Model and Syntax Specification.

Last updated: 2000-03-25

resource fork

Macintosh file system

Resource Reservation Protocol

<protocol>

(RSVP) A protocol that supports quality of service.

http://zdnet.com/pcweek/stories/news/0,4153,389107,00.html.

Last updated: 2001-03-18

Restricted EPL

<language>

(REPL) The efficient subset of EPL used to write the core of Multics.

Last updated: 2003-06-23

restriction

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 (especially 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.

[Jargon File]

Restructured EXtended eXecutor

<language>

(REXX, or "System Product Interpreter", originally known as "REX") A scripting language for IBM VM and MVS systems, developed by M. Cowlishaw at IBM ca. 1979, replacing EXEC2.

Versions: PC-Rexx for MS-DOS, AREXX for the Amiga, the OS/2 implementation from IBM, WINREXX (Rexx for Windows, from Quercus systems) and Personal Rexx (Rexx for MS-DOS, from Quercus systems).

See also Regina, freerexx, imc.

REXXWARE is an implementation of REXX for Novell NetWare.

Usenet newsgroup: comp.lang.rexx.

["The REXX Language: A Practical Approach to Programming", M.F. Cowlishaw, 1985].

Last updated: 1992-05-13

restructuring

The transformation from one representation form to another at the same relative abstraction level, while preserving the subject system's external behaviour (functionality and semantics).

retcon

/ret'kon/ retroactive continuity.

The common situation in fiction 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.

This term was once thought to have originated on the Usenet newsgroup rec.arts.comics but is now believed to have been used earlier in comic fandom.

[Jargon File]

Last updated: 1994-12-08

rete

<artificial intelligence>

/Re'te/ (From Latin "net") A net or network; a plexus; particularly, a network of blood vessels or nerves, or a part resembling a network.

[How is it used in AI? What is a "rete procedure "?]

Last updated: 2002-03-14

RETI

RTI

Retrieve

<language>

A query language inspired JPLDIS which led to Vulcan and then to dBASE II, developed by Tymshare Corp in the 1960s.

Last updated: 1998-04-29

retrocomputing

/ret'-roh-k*m-pyoo'ting/ Refers to emulations of way-behind-the-state-of-the-art hardware or software, or implementations of never-was-state-of-the-art; especially 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.

[Jargon File]

retronym

<jargon>

A term invented to distinguish a subclass of things from new members of the superclass, where the distinction was previously not necessary, since the old subclass had been all there was of the superclass.

For example, the retronyms "snail mail" and "paper mail" were coined by those for who "mail" was likely to mean electronic mail.

While the English language in general has a few retronyms ("whole milk", "snow skiing", "acoustic guitar"), hacker jargon is necessarily (at points capriciously) rich in retronyms, e.g. plaintext, natural language, impact printer, eyeball search, biological virus.

[More examples?]

Last updated: 2001-02-25

return from interrupt

<programming>

(RTI) An instruction mnemonic on many computers including the 6502 and 6800. The variant "RETI" is found among former Zilog Z80 hackers (almost nobody programs these things in assembly code anymore). The Intel 80x86 equivalent is "IRET".

Last updated: 1994-10-31

return from the dead

<jargon>

To regain access to the net after a long absence.

Compare person of no account.

[Jargon File]

Last updated: 1999-01-14

Return To Zero

<communications>

A class of encoding methods for physical circuits in which the carrier (current, voltage) returns to zero after each transmitted bit, i.e. the data is carried in pulse width or polarity, not in the level of the signal.

Contrast NRZ.

Last updated: 1995-11-11

reusability

reuse

reuse

Using code developed for one application program in another application. Traditionally achieved using program libraries. Object-oriented programming offers reusability of code via its techniques of inheritance and genericity. Class libraries with intelligent browsers and application generators are under development to help in this process. Polymorphic functional languages also support reusability while retaining the benefits of strong typing.

See also DRAGOON, National Software Reuse Directory, RLF.

Reverse Address Resolution Protocol

<networking, protocol>

(RARP) A protocol defined in RFC 903 which provides the reverse function of ARP. RARP maps a hardware address (MAC address) to an IP address. It is used primarily by diskless nodes, when they first initialise, to find their IP address.

See also BOOTP.

Last updated: 1994-12-08

Reverse ARP

Reverse Address Resolution Protocol

reverse engineering

<systems, product, design>

The process of analysing an existing system to identify its components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Reverse engineering is usually undertaken in order to redesign the system for better maintainability or to produce a copy of a system without access to the design from which it was originally produced.

For example, one might take the executable code of a computer program, run it to study how it behaved with different inputs and then attempt to write a program which behaved identically (or better). An integrated circuit might also be reverse engineered by an unscrupulous company wishing to make unlicensed copies of a popular chip.

Last updated: 1995-10-06

Reverse Polish Notation

postfix notation

reverse polish syntax

postfix notation

Revised ALGOL 60

ALGOL 60 Revised

revision

<programming>

A release of a piece of software which is not a major release or a bugfix, but only introduces small changes or new features.

Last updated: 1996-08-04

Revision Control System

<software, tool>

(RCS) A version control system that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, graphics, papers, and form letters.

Unix manual page: rcs(1).

["RCS -- A System for Version Control", Walter F. Tichy, Software--Practice & Experience 15, 7, July 1985, 637-654].

[Features? Availability? URL?]

Last updated: 1994-12-23

Revolutionary Surrealist Vandal Party

<body>

(RSVP) http://impropaganda.com/kultcha.html#bullet21.

Last updated: 1996-12-01

revolutions per minute

<unit>

(rpm, rarely: rotations per minute) A unit of angular velocity equal to 1/60 of a revolution per second.

Last updated: 2015-02-26

REX

The original name for Restructured EXtended eXecutor.

REXX

Restructured EXtended eXecutor

REXXWARE

An implementation of REXX for Novell NetWare produced by Simware, Inc. in January 1994. It is used by LAN managers to automate LAN administration chores on a Novell NetWare server.

As a scripting language, REXXWARE is an NLM (NetWare Loadable Module) that runs on Novell NetWare servers. It includes more than 275 NetWare-specific functions, plus the standard REXX keywords, instructions, built-in functions, flow-control, tracing, and error trapping and recovery features.

REXXWARE is certified by Novell for use with NetWare.

E-mail: <[email protected]>.

Last updated: 1995-01-11

RF

radio frequency

RFC

Request For Comments

RFC 1014

<programming, networking, standard>

The RFC defining eXternal Data Representation.

Full text.

Last updated: 1994-12-13

RFC 1034

<networking, standard>

One of the RFCs defining the Domain Name System.

Full text.

Last updated: 1997-12-15

RFC 1035

<networking, standard>

One of the RFCs defining the Domain Name System.

Full text.

Last updated: 1997-12-15

RFC 1057

<networking, standard>

The RFC defining Sun RPC.

Full text.

Last updated: 2003-06-04

RFC 1058

<networking, standard>

The RFC defining Routing Information Protocol. Updated by RFC 1388.

Full text.

Last updated: 1994-11-30

RFC 1081

<messaging, standard>

The RFC defining POP3, Post Office Protocol version 3.

Full text.

Last updated: 1994-12-12

RFC 1094

<standard, networking, storage>

The RFC defining Sun Microsystems's Network File System (NFS).

Full text.

Last updated: 1994-12-12

RFC 1112

<networking, standard>

The RFC describing MBONE.

Full text.

Last updated: 1994-11-11

RFC 1119

<networking, standard>

The RFC defining Network Time Protocol.

Full text.

Last updated: 1994-11-30

RFC 1123

<networking, standard>

The RFC "Requirements for Internet Hosts Application and Support" which clarifies or changes the specification of protocols given in earlier RFCs.

RFC 1123 defines the terms "MUST", "SHOULD", "MAY", "unconditionally compliant", "conditionally compliant". Capitals are used to emphasise that the official definition of the word is being used.

MUST or REQUIRED means an absolute requirement for conformance.

SHOULD or RECOMMENDED means the item can be ignored under certain circumstances, although the full implications should be understood.

MAY or OPTIONAL means the implementor can choose, usually depending on whether it is needed or not.

Something "unconditionally compliant" meets all the MUST and SHOULD requirements, "conditionally compliant" meets all the MUST requirements and "not compliant" - does not meet some MUST requirement.

For example, RFC 1123 amends RFC952 to say software MUST handle either a letter or a digit as the first character of a hostname.

Full text.

Last updated: 1996-01-13

RFC 1156

<standard>

The RFC which established the MIB I Management Information Base standard.

Full text.

Last updated: 1994-11-14

RFC 1157

<networking, standard>

The RFC defining Simple Network Management Protocol.

Full text.

Last updated: 1994-11-14

RFC 1171

<protocol, standard>

The RFC defining the Point-to-Point Protocol.

Full text.

Last updated: 1994-12-13

RFC 1208

<networking, standard>

The RFC defining many of the network-related terms in this dictionary.

Full text.

["A Glossary of Networking Terms", Jacobsen, O., and D. Lynch, RFC 1208, Interop, Inc., March 1991.]

Last updated: 1996-08-06

RFC 1213

<networking, standard>

The RFC which definied the MIB II Management Information Base.

Full text.

Last updated: 1994-11-14

RFC 1267

<networking, standard>

One of the RFCs describing Border Gateway Protocol.

Full text.

RFC 1268

<networking, standard>

One of the RFCs describing Border Gateway Protocol.

Full text.

RFC 1304

<networking, standard>

One of the RFCs describing SMDS Interface Protocol.

Full text.

Last updated: 2000-09-02

RFC 1321

<messaging, standard>

The RFC defining the Message Digest 5 algorithm.

Full text.

Last updated: 1996-08-04

RFC 1334

<networking, security, standard, protocol>

The RFC defining Challenge-Handshake Authentication Protocol and Password Authentication Protocol.

Full text.

Last updated: 1996-03-23

RFC 1341

<messaging, standard>

The June 1992 RFC defining Multipurpose Internet Mail Extensions (MIME). This RFC has been obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, and BCP0013.

Full text.

Last updated: 1997-08-30

RFC 1347

<networking, protocol>

One of the RFCs describing the TUBA protocol.

Full text.

Last updated: 1997-08-30

RFC 1350

<networking, protocol>

The RFC defining TFTP.

Full text.

Last updated: 1997-08-30

RFC 1388

<networking, standard>

An update to RFC 1058, the RFC defining Routing Information Protocol.

Full text.

Last updated: 1994-11-30

RFC 1436

<networking, standard>

The RFC defining the Internet Gopher protocol.

Full text.

Last updated: 1995-11-16

RFC 1441

<networking, standard>

The RFC introducing SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1442

<networking, standard>

The RFC defining SMI for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1443

<networking, standard>

The RFC defining textual conventions for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1444

<networking, standard>

The RFC defining conformance statements for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1445

<networking, standard>

The RFC defining the administrative model for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1446

<networking, standard>

The RFC defining security protocols for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1447

<networking, standard>

The RFC defining Party MIB for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1448

<networking, standard>

The RFC defining protocol operations for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1449

<networking, standard>

The RFC defining transport mappings for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1450

<networking, standard>

The RFC defining MIB for SNMP v2.

Full text.

Last updated: 1997-11-23

RFC 1451

<networking, standard>

The RFC defining Manager to Manger MIB.

Full text.

Last updated: 1997-11-23

RFC 1452

<networking, standard>

The RFC describing coexistance between SNMP v1 and SNMP v2.

Full text.

Last updated: 1995-02-15

RFC 1475

<networking, protocol>

The RFC describing the TP/IX protocol.

Full text.

Last updated: 1995-04-03

RFC 1508

<security, standard>

One of the RFCs defining GSS-API.

Full text.

Last updated: 1996-05-19

RFC 1509

<security, standard>

One of the RFCs defining GSS-API.

Full text.

Last updated: 1996-05-19

RFC 1520

<networking, standard>

The RFC defining Classless Inter-Domain Routing.

Full text.

Last updated: 1996-10-01

RFC 1521

<messaging, standard>

An RFC defining Multipurpose Internet Mail Extensions (MIME). This RFC has been obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, and BCP0013.

Full text.

Last updated: 1997-11-23

RFC 1526

<networking, protocol>

One of the RFCs describing the TUBA protocol.

Full text.

Last updated: 1997-11-23

RFC 1531

<networking, protocol>

The original RFC defining DHCP, obsoleted by RFC 2131.

Full text.

Last updated: 1998-11-20

RFC 1550

<networking, protocol>

An RFC white paper on IPng.

Full text.

Last updated: 1995-04-03

RFC 1561

<networking, protocol>

One of the RFCs describing the TUBA protocol.

Full text.

Last updated: 1997-11-23

RFC 1568

<messaging, standard>

An RFC defining the Simple Network Paging Protocol (SNPP) which is designed to support Internet access to paging services such as those based on the Telocator Alphanumeric Protocol. See also RFC 1861.

Full text.

Last updated: 1996-06-24

RFC 1591

<networking, standard>

The RFC defining the Domain Name System. Written by J. Postel in March 1994.

Last updated: 2001-05-14

RFC 1630

<networking, standard>

The RFC defining the Universal Resource Identifier.

Full text.

Last updated: 1995-01-13

RFC 1661

<networking, standard>

The RFC defining Point-to-Point Protocol.

Full text.

Last updated: 1997-02-05

RFC 1700

<networking, standard>

The original RFC defining "Assigned Numbers" such as standard "well-known" TCP and UDP port numbers, now superseded by RFC 3232.

Full text.

Last updated: 2001-04-08

RFC 1701

<networking, standard>

The RFC defining Generic Routing Encapsulation.

See also RFC 1702.

Full text.

Last updated: 1997-04-02

RFC 1702

<networking, standard>

The RFC defining Generic Routing Encapsulation over IP.

Full text.

Last updated: 1997-04-02

RFC 1707

<networking, standard>

The RFC defining CATNIP.

Full text.

Last updated: 1996-03-23

RFC 1730

<messaging, standard>

An old RFC defining IMAP, obsoleted by RFC 2060, RFC 2061 and others.

Full text.

Last updated: 1996-03-11

RFC 1756

<messaging>

The RFC describing Remote Write Protocol.

Full text.

Last updated: 1996-09-08

RFC 1760

<security>

The RFC describing the S/KEY One-Time Password system.

Full text.

Last updated: 2000-01-31

RFC 1777

<networking, standard>

The RFC defining Lightweight Directory Access Protocol.

Full text.

Last updated: 1996-08-23

RFC 1778

<networking, standard>

The RFC that defines the requirements that must be satisfied by encoding rules used to render X.500 Directory attribute syntaxes into a form suitable for use in LDAP.

Full text.

Last updated: 2002-03-02

RFC 1795

<networking, standard>

The RFC that defines Data Link Switching.

Full text.

Last updated: 2008-01-11

RFC 1823

<networking, standard>

The RFC defining the C language application program interface to the Lightweight Directory Access Protocol.

Full text.

Last updated: 1996-11-28

RFC 1825

<networking, standard>

The RFC describing security mechanisms for Internet Protocol version 4 and IP version 6 and the services that they provide.

Full text.

Last updated: 1997-07-09

RFC 1831

<networking, standard>

The RFC describing ONC RPC.

Last updated: 2003-06-04

RFC 1861

<networking, standard>

The RFC defining Simple Network Paging Protocol. See also RFC 1568.

Full text.

Last updated: 1997-04-25

RFC 1938

<security, standard>

The RFC describing a proposed standard for a One-Time Password system, obsoleted by RFC 2289.

["A One-Time Password System.", N. Haller & C. Metz].

Full text.

Last updated: 2000-03-05

RFC 1951

<standard>

The RFC describing deflate compression.

Full text.

Last updated: 1997-06-21

RFC 1959

<networking, standard>

The RFC defining a URL format for the Lightweight Directory Access Protocol.

Full text.

Last updated: 1996-11-28

RFC 1960

<networking, standard>

The RFC defining the human-readable format of search filters used with the Lightweight Directory Access Protocol.

Full text.

Last updated: 2002-03-02

RFC 2045

<messaging, standard>

One of the RFCs defining MIME.

Full text.

Last updated: 1999-10-29

RFC 2046

<messaging, standard>

One of the RFCs defining MIME.

Full text.

Last updated: 1999-10-29

RFC 2047

<messaging, standard>

One of the RFCs defining MIME.

Full text.

Last updated: 1999-10-29

RFC 2048

<messaging, file format, standard>

The RFC explaining registration of MIME types.

Full text.

Last updated: 1998-02-11

RFC 2049

<messaging, standard>

One of the RFCs defining MIME.

Full text.

Last updated: 1999-10-29

RFC 2060

<messaging>

One of the RFCs describing IMAP.

Full text.

Last updated: 1999-03-14

RFC 2061

<messaging>

One of the RFCs describing IMAP.

Full text.

Last updated: 1999-03-14

RFC 2068

<networking, standard>

The RFC defining HTTP version 1.1.

Full text.

Last updated: 1997-05-03

RFC 2093

<networking, standard>

The RFC specifying the Inverse Address Resolution Protocol.

Full text.

Last updated: 2000-01-15

RFC 2131

<networking, protocol>

The RFC defining DHCP. Obsoletes RFC 1531.

Full text.

Last updated: 1998-11-22

RFC 2234

<standard>

The RFC defining Augmented Backus-Naur Form.

Full text.

Last updated: 1997-11-23

RFC 2236

<networking, standard>

The RFC describing IGMP version 2.

Full text.

Last updated: 1999-11-08

RFC 2246

<networking, standard>

The RFC that defines TLS protocol Version 1.0. Written by T. Dierks and C. Allen in January 1999.

Full text.

Last updated: 2003-10-25

RFC 2279

<standard>

The RFC defining UTF-8.

Full text.

Last updated: 1998-07-29

RFC 2281

<networking, standard>

The RFC describing CISCO Hot Standby Routing Protocol.

Full text.

Last updated: 2005-01-26

RFC 2298

<security, standard>

The RFC proposing a standard One-Time Password system.

Full text.

Last updated: 2000-03-05

RFC 2326

<standard>

The RFC defining RTSP.

Full text.

Last updated: 1999-10-12

RFC 2364

The RFC defining PPPoA.

Full text.

Last updated: 2007-06-15

RFC 2408

<standard, security>

The RFC proposing ISAKMP.

Full text.

Last updated: 2000-02-08

RFC 2516

<standard, security>

The RFC defining Point-to-Point Protocol over Ethernet (PPPoE).

Full text.

Last updated: 2006-09-20

RFC 2543

<networking, standard>

One of the RFCs describing Session Initiation Protocol.

Full text.

Last updated: 2000-07-08

RFC 2795

<networking, standard>

The RFC describing The Infinite Monkey Protocol Suite .

Full text.

RFC 2821

<networking, standard>

The RFC describing SMTP. RFC 2821 supersedes RFC 821.

Full text.

Last updated: 2007-06-01

RFC 3232

<networking, standard>

The RFC describing TCP port numbers. RFC 3232 supersedes RFC 1700.

Full text.

See also IANA, STD 2.

Last updated: 2004-12-30

RFC 4213

<networking, standard>

The RFC defining mechanisms for transitioning to IPv6, such as dual-stack versus tunnelling.

Full text.

Last updated: 2013-11-12

RFC 792

<networking, standard>

The RFC defining Internet Control Message Protocol.

Full text.

Last updated: 1996-08-23

RFC 793

<networking, standard>

The tenth edition of the RFC that previously defined Transmission Control Protocol. Edited by Jon Postel, University of Southern California for DARPA. RFC 793 was released on 1981-09-?? and obsoleted over 40 years later on 2022-08-?? when many piecemeal revisions were collected in RFC 9293.

Full text.

Last updated: 2023-07-01

RFC 821

<messaging, standard>

The original RFC defining SMTP. Updated by RFC 2821.

Full text.

Last updated: 2007-06-01

RFC 822

<messaging, standard>

The RFC defining the Internet standard format for electronic mail message headers. Also STD 11, evolved from RFC 733.

Full text.

Last updated: 1997-03-08

RFC 826

<networking, standard>

The RFC defining the Address Resolution Protocol (ARP).

Full text.

Last updated: 1997-11-21

RFC 854

<networking, standard>

The RFC defining the telnet protocol.

["Telnet Protocol specification", J. Postel, J.K. Reynolds, 1983-05-01].

Full text.

Last updated: 2000-03-18

RFC 903

<networking, standard>

The RFC defining Full text (https://www.ietf.org/rfc/rfc903.txt">Reverse Address Resolution Protocol.

Last updated: 1994-12-08

RFC 908

<networking, standard>

The July 1984 RFC defining Reliable Data Protocol (RDP).

Full text.

Last updated: 2004-09-14

RFC 9293

<networking, standard>

The RFC defining Transmission Control Protocol (TCP). Released 2022-08-??.

Full text.

Last updated: 2023-07-01

RFC 959

<networking, standard>

The RFC containing the official specification of File Transfer Protocol (FTP).

Full text.

Last updated: 1995-01-12

RFCOMM

<protocol>

(RS232 Serial Cable Emulation Profile) A Bluetooth transport protocol in the Core Protocol Stack based on the ETSI standard.

RFCOMM Layer Tutorial.

Last updated: 2002-06-28

RFE

1. 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.

[Jargon File]

Last updated: 1994-12-06

RFI

radio frequency interference

RFID

Radio-frequency identification

RFP

<business>

1. Request for Proposal.

<Debian>

2. Request for Package.

Last updated: 2001-01-15

RFT

Request For Technology

RG58

<networking, hardware>

A common, low-impedance (52 ohm), quarter-inch diameter coaxial cable with BNC connectors, used for 10base2 Ethernet wiring, sometimes called "cheapernet" in comparison with "full spec" RG8 cabling. A member of the "Radio Guide" series.

Last updated: 2002-06-17

RG8

<networking, hardware>

The original "full spec" cable used for 10base5 Ethernet networks. RG8 is stiff, large diameter coaxial cable with an impedance of 50 ohms, a member of the "Radio Guide" series. The outer sheath is usually yellow, to indicate double shielding, so it is often just called "yellow cable".

10base5 cable is designed to allow transceivers to be added while existing connections are live. This is achieved using a "vampire tap".

RG8 is sometimes called "thicknet" or "thick Ethernet" in contrast to RG58, a cheaper, thinner, more flexible alternative.

Last updated: 2014-09-06

RGB

Red, Green, Blue. The three colours of light which can be mixed to produce any other colour. Coloured images are often stored as a sequence of RGB triplets or as separate red, green and blue overlays though this is not the only possible representation (see CMYK and HSV). These colours correspond to the three "guns" in a colour cathode ray tube and to the colour receptors in the human eye.

Often used as a synonym for colour, as in "RGB monitor" as opposed to monochrome (black and white).

Rhapsody

<operating system>

Apple Computer, Inc.'s next-generation operating system for PowerPC processor-based systems capable of running Mac OS. Rhapsody includes four components: the Core OS, the Blue Box (the implementation of the Mac OS within Rhapsody), the Yellow Box, and the Advanced Mac Look and Feel.

"Rhapsody for Intel" runs on Intel processors [which ones?]. It includes the Core OS, the Yellow Box, and the Advanced Mac Look and Feel, but lacks the Blue Box and therefore is unable to run Mac OS software.

"Rhapsody Developer Release" is a developer-only release of Rhapsody, scheduled for release in late 1997. It will go to all members of the Macintosh Developer Program and the Apple Media Program worldwide who have signed nondisclosure agreements.

"Rhapsody Premier Release" will be the second release of Rhapsody, scheduled for early 1998. It is meant for early adopters and will include a partially finished human interface and a partial implementation of the Blue Box.

"Rhapsody Unified Release" will be the third release, scheduled for mid-1998. It will be the first public release, and it will include the first full implementation of the Rhapsody human interface and the Blue Box.

FAQ.

Last updated: 1997-10-15

ribbon cable

<hardware>

A type of flat multicore cable with cores positioned side-by-side, making it quick and relatively easy to clamp an Insulation Displacement Connector (IDC) across all cores.

Ribbon cables typically have grey insulation with cores on a 0.050" pitch and a red stripe marking Pin 1. They are less resilient than screened, multicore cable and are usually used inside equipment where little movement or plugging and unplugging are expected. A common use is connecting a disk drive to the motherboard in a PC.

Last updated: 2007-07-21

rib site

<networking>

(By analogy with backbone site) A host with an on-demand high-speed link to a backbone site that serves as a regional distribution point for lots of third-party traffic in electronic mail and Usenet news.

Compare leaf site.

[Jargon File]

Last updated: 1994-11-30

rice box

<jargon>

(From ham radio slang) Any Asian-made commodity computer, especially an 80x86-based machine built to IBM PC-compatible ISA or EISA-bus standards.

[Jargon File]

Last updated: 1994-11-30

Richard Gabriel

<person>

(Dick, RPG) Dr. Richard P. Gabriel. A noted SAIL LISP hacker and volleyball fanatic.

Consulting Professor of Computer Science at Stanford University. Richard Gabriel is a leader in the Lisp and OOP community, with years of contributions to standardisation. He founded the successful company, Lucid Technologies, Inc..

In 1996 he was Distinguished Computer Scientist at ParcPlace-Digitalk, Inc. (later renamed ObjectShare, Inc.).

See also gabriel, Qlambda, QLISP, saga.

Last updated: 1999-10-12

Richard Hamming

<person>

Professor Richard Wesley Hamming (1915-02-11 - 1998-01-07). An American mathematician known for his work in information theory (notably error detection and correction), having invented the concepts of Hamming code, Hamming distance, and Hamming window.

Richard Hamming received his B.S. from the University of Chicago in 1937, his M.A. from the University of Nebraska in 1939, and his Ph.D. in mathematics from the University of Illinois at Urbana-Champaign in 1942. In 1945 Hamming joined the Manhattan Project at Los Alamos.

In 1946, after World War II, Hamming joined the Bell Telephone Laboratories where he worked with both Shannon and John Tukey. He worked there until 1976 when he accepted a chair of computer science at the Naval Postgraduate School at Monterey, California.

Hamming's fundamental paper on error-detecting and error-correcting codes ("Hamming codes") appeared in 1950.

His work on the IBM 650 leading to the development in 1956 of the L2 programming language. This never displaced the workhorse language L1 devised by Michael V Wolontis. By 1958 the 650 had been elbowed aside by the 704.

Although best known for error-correcting codes, Hamming was primarily a numerical analyst, working on integrating differential equations and the Hamming spectral window used for smoothing data before Fourier analysis. He wrote textbooks, propounded aphorisms ("the purpose of computing is insight, not numbers"), and was a founder of the ACM and a proponent of open-shop computing ("better to solve the right problem the wrong way than the wrong problem the right way.").

In 1968 he was made a fellow of the Institute of Electrical and Electronics Engineers and awarded the Turing Prize from the Association for Computing Machinery. The Institute of Electrical and Electronics Engineers awarded Hamming the Emanuel R Piore Award in 1979 and a medal in 1988.

http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Hamming.html.

http://zapata.seas.smu.edu/~gorsak/hamming.html.

http://webtechniques.com/archives/1998/03/homepage/.

[Richard Hamming. Coding and Information Theory. Prentice-Hall, 1980. ISBN 0-13-139139-9].

Last updated: 2003-06-07

Richard Korf

<person>

A Professor of computer science at the University of California, Los Angeles. Richard Korf received his B.S. from MIT in 1977, and his M.S. and Ph.D. in computer science from Carnegie-Mellon University in 1980 and 1983. From 1983 to 1985 he served as Herbert M. Singer Assistant Professor of Computer Science at Columbia University.

Dr. Korf studies problem-solving, heuristic search and planning in artificial intelligence. He wrote "Learning to Solve Problems by Searching for Macro-Operators" (Pitman, 1985). He serves on the editorial boards of Artificial Intelligence, and the Journal of Applied Intelligence. Dr. Korf is the recipient of several awards and is a Fellow of the American Association for Artificial Intelligence.

Richard Korf home page.

Last updated: 2007-05-01

Richard P. Feynman

<person, computing, architecture>

/fayn'mn/ 1918-1988. A US physicist, computer scientist and author who graduated from Massachusetts Institute of Technology and Princeton. Feynmane was a key figure in helping Oppenheimer and team develop atomic bomb. In 1950 he became a professor at Caltech and in 1965 became Nobel Prize Laureate in Physics for QED (quantum electrodynamics). He was a primary figure in "solving" the Challenger disaster O-ring problem. He "rediscovered" the former Soviet Socialist Republic of Tuva. The 2001 film "Infinity" about Feynman's early life featured Matthew Broderick and Patricia Arquette. In 2001, "QED", a play about Feynman's life featuring Alan Alda opened.

http://www.feynman.com/.

Last updated: 2008-01-14

Richard P. Gabriel

Richard Gabriel

Richard Stallman

<person>

Richard M. Stallman. Founder of the GNU project. He resigned from the AI lab at MIT so he would be free to produce free software which he could then distribute on his own terms. He went on to establish the Free Software Foundation to support the production of free software and ensure its free distribution.

E-mail: <[email protected]>.

Last updated: 1994-10-28

rich object

In artificial intelligence, an object which cannot be completely described or represented but about which assertions can be made.

Last updated: 1994-12-14

Rich Site Summary

<web, standard>

(RSS, blog, feed) A family of standard web document types containing regularly updated, short articles or news items.

RSS documents (generally called "RSS feeds", "news feeds" or just "feeds") can be read with an RSS reader like BottomFeeder or Feedly. These are sometimes called "aggregators" because they combine multiple RSS feeds which the user can browse as a single list. The RSS reader tracks which articles the use has read, and is typically set to show only new articles, hence the idea of a "feed" or flow of new items.

Most RSS feeds are based on RDF. RDF is a structured document format for describing textual resources such as news articles available on the web. RSS originally stood for "RDF Site Summary" as it was designed to provide short descriptions of (changes to) a website.

Because it provides a standard way to deliver, or "syndicate", news or updates from one site to another, RSS is sometimes expanded as "Really Simple Syndication". It is closely associated with blogs, most of which provide an RSS feed of articles.

Last updated: 2013-08-15

Rich Text Format

(RTF) An interchange format from Microsoft for exchange of documents between Word and other document preparation systems.

Last updated: 1994-12-08

RIFF

<file format>

Microsoft's equivalent to the Amiga's IFF files format. RIFF is used for WAV and AVI files.

Last updated: 1995-04-21

RIGAL

A language for compiler writing. Data strucures are atoms, lists/trees. Control is based on pattern matching.

["Programming Language RIGAL as a Compiler Writing Tool", M.I. Augustson, Inst of Math and CS of Latvia U, 1987].

Last updated: 1994-10-28

Rigel

A database language? Based on Pascal. Listed by M.P. Atkinson & J.W. Schmidt in a tutorial presented in Zurich, 1989.

Last updated: 1994-10-28

right brace

<character>

"}". ASCII character 125.

Common names: close brace; right brace; right squiggly; right squiggly bracket/brace; right curly bracket/brace; ITU-T: closing brace. Rare: unbrace; uncurly; rytit ("" = leftit); right squirrelly; {INTERCAL: bracelet ("" = embrace). <p></p> Paired with {left brace

Last updated: 1995-03-30

right bracket

<character>

"]". ASCII character 93.

Common names: right square bracket; ITU-T: closing bracket; unbracket. Rare: unsquare; INTERCAL: U turn back.

Paired with left bracket.

Last updated: 1997-11-23

right-click

<hardware>

To click the right-most mouse button on a mouse with more than one button. This usually performs a different function from the left button, e.g. displaying a context-sensitive menu (Microsoft Windows), extending the selection (X).

When used as a verb it is often written as two words with a space instead of a hyphen.

Last updated: 2006-07-09

right join

outer join

right outer join

outer join

right parenthesis

<character>

")". ASCII character 41.

Common names: right paren; right parenthesis; right; close; thesis ("(" = paren); close paren; close parenthesis; right parenthesis; right banana. Rare: already ("(" = so); rparen; ITU-T: closing parenthesis; close round bracket, right round bracket, INTERCAL: wane ("(" = wax); unparenthisey ("(" = parenthisey); right ear.

Paired with left parenthesis.

Last updated: 1995-03-06

Right Thing

That which is *compellingly* the correct or appropriate thing to use, do, say, etc. Always capitalised, always emphasised in speech as though capitalised. 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?"

Opposite: Wrong Thing.

[Jargon File]

Last updated: 1994-10-28

Rijndael

Advanced Encryption Standard

ring network

<networking, topology>

A network topology in which all nodes are connected to a single wire in a ring or point-to-point. There are no endpoints. This topology is used by token ring networks.

Compare: bus network, star network.

Last updated: 2000-11-16

ring topology

ring network

Riordan's Internet Privacy Enhanced Mail

<messaging>

(RIPEM) A (not yet complete, but useful) implementation of Privacy Enhanced Mail (PEM). RIPEM allows your electronic mail to have the four security facilities provided by PEM: disclosure protection (optional), originator authenticity, message integrity measures and non-repudiation of origin (always).

RIPEM was written primarily by Mark Riordan <[email protected]>. Most of the code is in the public domain, except for the RSA routines, which are a library called RSAREF licensed from RSA Data Security, Inc.

The current (November 1993) version of RIPEM is 1.1a; the current version of the Macintosh port of RIPEM is 0.8b1.

Last updated: 1998-07-03

RIP

<networking>

1. Routing Information Protocol.

<application, printer>

2. Raster Image Processor.

Last updated: 2003-09-10

rip

<audio, video, legal>

(From "rip off" - to steal) To copy audio or video, typically from a compact disc or DVD, to a file on a computer hard disk. A dedicated program to do this is called a "ripper" though it is often a function of player software.

Ripping usually includes converting the data to a format that is more suitable for computer playback, e.g. MP3 digital audio or DivX video. The process is entirely digital so it is possible to make a perfect copy of the data. However the resulting files are large (a few megabytes for an audio track, a few gigabytes for a film) so the conversion often includes compression to reduce the file size at the cost of some loss of quality.

While it may be legal to do this for personal use, distributing a ripped copyright work to others could result in prosecution.

See also ripcording.

Last updated: 2008-01-21

ripcording

<audio>

(From "ripping" and "recording") Encoding streaming digital audio from the Internet to an MP3 file or similar. Ripcording is commononly used to copy commercial music from a free stream instead of paying to download.

Last updated: 2006-01-27

RIPE

Réseaux IP Européens

RIPEM

Riordan's Internet Privacy Enhanced Mail

ripper

rip

RISC

Reduced Instruction Set Computer

RISCiX

<operating system>

/risk-icks/ (Or "RISC iX") BSD-based Unix developed by Acorn Computers Ltd. (Cambridge, UK) to run on 32-bit ARM RISC processors.

RISCiX was launched circa 1989 for three production machines - the R140, R260, the discless R225; and other prototypes.

Last updated: 2003-09-24

RISC OS

<operating system>

(Reduced Instruction Set Computer Operating System) The operating system originally developed by Acorn Computers for their Archimedes family of personal computers.

RISC OS replaced the Arthur operating system used on the first Archimedeses.

It is written in ARM assembly code and distributed on ROM so it takes up no disk space and takes no time to load. It supports cooperative multitasking with memory management and includes a graphical user interface or "WIMP". It is written in a highly modular style and makes extensive use of vectors so it is easy to modify and extend by loading new modules in RAM. Many system calls (called "SWIs" - software interrupts) are available to application programmers and some of these are available as user comands via a built-in command-line interpreter. RISC OS also supported outline fonts when only bitmap fonts were available on most other platforms.

Following the virtual demise of Acorn, development of RISC OS 4 was taken over by RISCOS Ltd on 1999-03-05 and released on 1999-07-01.

Last updated: 2004-09-21

RiscPC

<computer>

The final addition to Acorn's Archimedes family of personal computers, released in April 1994. The RiscPC allowed a second processor, e.g. an Intel 486 or a second ARM, to share the bus, memory and peripherals with the main processor. It also had full 24-bit colour graphics support.

The Risc PC 600 (the first to be launched) had the new ARM600 processor and RISC OS 3.5. The RiscPC 700 had an ARM710 processor and RISC OS 3.6, and the SA had the StrongARM processor and RISC OS 3.7.

Castle Technology Ltd later introduced the IYONIX pc with the 32-bit X-Scale processor and USB sockets. USB and StrongArm can also be retrofitted to earlier RiscPCs.

RiscPCs are among the most energy efficient home computers.

Acorn Computer Museum.

Last updated: 2004-09-21

RISC System/6000

<computer>

(Or "RS/6000") IBM's current RISC-based Unix computer. The RS/6000, announced in 1990, replaced the RT-PC. It runs AIX 3.x and 4.x. Most models have an MCA bus. A wide range of models are available.

Last updated: 1995-04-06

Risk Based Testing

<testing>

Testing based on identification of potential risks (or "candidate risks"), which should be analysed by the project stakeholder or which might appear during the project's development.

Last updated: 2006-09-07

RISQL

Red Brick Intelligent SQL

RITL

Wireless Local Loop

RJ-11

<hardware, communications>

An American-style telephone jack with six possible connections. A telephone normally uses two pairs of wires. Often found on the back of US-manufactured modems or for connection to a leased line.

Last updated: 1998-06-30

RJ-45

<hardware>

A serial connector which looks very much like a standard telephone connector, except it houses eight wires instead of four.

RJ-45s are typically found on computers either integrated into the mother board or on a NIC. Because they are so small they are often used on devices such as terminal servers that have many ports.

Ethernet (10baseT) and Token Ring sometimes use four wires of an RJ-45 plug, 100baseVG uses all eight. 100BaseTX uses the same four wires of the RJ-45 connector as 10baseT but the wire must be category 5 instead of category 3.

[Would the cable normally be shielded twisted pair or unshielded twisted pair?]

Last updated: 2004-05-22

RJE

Remote Job Entry

RKM

Rom Kernel Manual

RL

(MUD community) Real Life.

"Firiss laughs in RL" means that Firiss's player is laughing.

Opposite: VR.

[Jargon File]

Last updated: 1995-05-09

rl

Kent Wittenburg <[email protected]>.

The RL files contain code for defining relational grammars and using them in a bottom-up parser to recognise and/or parse expressions in Relational Languages.

The approach is a simplification of that described in Wittenburg, Weitzman, and Talley (1991), Unification-Based Grammars and Tabular Parsing for Graphical Languages, Journal of Visual Languages and Computing 2:347-370. This code is designed to support the definition and parsing of Relational Languages, which are characterised as sets of objects standing in user-defined relations.

Correctness and completeness is independent of the order in which the input is given to the parser. Data to be parsed can be in many forms as long as an interface is supported for queries and predicates for the relations used in grammar productions.

To date, this software has been used to parse recursive pen-based input such as math expressions and flow charts; to check for data integrity and design conformance in databases; to automatically generate constraints in drag-and-drop style graphical interfaces; and to generate graphical displays by parsing relational data and generating output code.

requires: Common Lisp

ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0

ftp://flash.bellcore.com/rl/.

Last updated: 1992-10-31

RLaB

A MATLAB-like matrix-oriented programming language/toolbox. RLaB focusses on creating a good experimental environment (or laboratory) in which to do matrix mathematics. Currently RLaB has numeric scalars and matrices (real and complex), and string scalars, and matrices. RLaB also contains a list variable type, which is a heterogeneous associative array.

Version 0.95 includes an interpreter, libraries and documentation. E-mail: Ian Searle <[email protected]>. ftp://evans.ee.adfa.oz.au. Requires GNUPLOT, lib[IF]77.a (from f2c). Ported to many platforms including Unix, OS/2, Amiga.

Last updated: 1993-10-27

RLDRAM

<storage>

(Reduced Latency DRAM) A kind of dynamic random access memory. RLDRAM comes in "common IO" and "separate IO" configurations. It supports broadside addressing. It is typically used in networking gear and set-top boxes that require high bandwidth memory.

[What is the latency, and how does it compare to ordinary DRAM?]

Last updated: 2007-03-20

RLE

run-length encoding

RLF

Reuse Library Framework of the DoD.

RLL

<language>

1. Representation Language Language.

<storage>

2. Run Length Limited.

Last updated: 2003-07-24

rlogin

<networking, tool>

(Remote login) The 4.2BSD Unix utility to allow a user to log in on another host via a network. Rlogin communicates with a daemon on the remote host.

Unix manual page: rlogin(1).

See also telnet.

Last updated: 1997-01-12

RMAG

Recursive Macro Actuated Generator

RMAIL

<messaging>

A MUA written in Emacs Lisp to run within Emacs.

Last updated: 1996-03-21

RMI

Remote Method Invocation

RM-ODP

<programming>

The ISO Reference Model for Open Distributed Environments.

http://pepper.open.ac.uk/~armsarms/sa.html.

Last updated: 1995-11-23

RMON

<networking>

1. remote monitoring.

2. Remote Monitor.

Last updated: 2003-09-15

RMS

1. Record Management Services.

2. Richard Stallman.

RNF

root normal form

ro

<networking>

The country code for Romania.

Last updated: 1999-01-27

roach

<jargon>

A Bell Labs term meaning destroy, especially of a data structure. Hardware gets toasted or fried, software gets roached.

[Why?]

[Jargon File]

Last updated: 1999-02-08

ROADS

Subsystem of ICES. Sammet 1969, p.616.

Robert T. Morris

The creator of the "Internet Worm" that wreaked havoc on many Internet systems for a day or two.

Morris, the son of an NSA spook, did some jail time for releasing the worm.

Last updated: 1995-01-12

ROBEX

ROBot EXapt. Aachen Tech College. Based on EXAPT. Version: ROBEX-M for micros.

RoboHELP

<tool>

A Microsoft Windows Help authoring tool from Blue Sky Software. Used with Microsoft Word to create Help files for inclusion in a Windows application or for stand alone use.

Last updated: 1997-01-19

robot

<robotics>

1. A mechanical device for performing a task which might otherwise be done by a human, e.g. spraying paint on cars.

See also cybernetics.

<chat>

2. 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.

<web>

3. spider.

[Jargon File]

Last updated: 1996-03-23

robot exclusion standard

standard for robot exclusion

robots.txt

standard for robot exclusion

robust

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, opposite: brittle.

[Jargon File]

Rockwell Protocol Interface

(RPI) A cost-cutting feature of some modems allowing data compression and error correction (e.g. ITU-T V.42bis, V.42) to be provided in software instead of hardware.

Usually an RPI modem comes with RPI-aware software (e.g. the low-end RPI models of Supra come with the COMit which supports RPI, providing MNP 2,4,5,7, V.42 and V.42bis). RPI is not supported by many commercial packages nor by current releases of popular shareware communication programs (Telix v3.22 and Telemate v4.12). ProComm Plus for Windows 2.0 will support RPI.

Currently Rockwell produce two classes of RPI chip set. The original is capable of 2400 bit/s data, 9600 bit/s class 1-only fax. The newer one is capable of 14400 bit/s data/fax. Currently there are no RPI chipset from Rockwell supporting speeds higher than 14400 bit/s.

Last updated: 1994-07-01

Rocky Mountain Basic

<language>

The BASIC language used by Hewlett Packard on their 680x0-based computers. Rocky Mountain Basic is good for interfaces to IEEE 488 controls and contains many mathematical and matrix functions. It has about 600 commands. Typical applications include automatic test stations.

Last updated: 1996-04-28

rococo

<jargon, abuse>

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.

[Jargon File]

Last updated: 1996-04-06

ROCOF

Rate of Occurrence of Failures

roff

<text, tool>

A text formatting language associated with Unix. See groff, nroff, troff.

[Was roff the original? Platform(s)?]

Last updated: 1998-11-14

ROFL

ROTFL

ROFLMAO

ROTFLMAO

rogue

<games>

[Unix] 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.

[Jargon File]

rollback

<database>

Reverting data in a database to an earlier state, usually in response to an error or aborted operation.

In a transaction based database system, transactions are considered atomic. If an error occurs while performing a transaction, the database is automatically rolled back to the state at the previous commit.

Rollback may also be performed by an explicit rollback transaction.

Last updated: 2000-01-15

ROM

Read-Only Memory

ROM BIOS

Basic Input/Output System

ROME

An experimental object-oriented language.

["The Point of View Notion for Multiple Inheritance", B. Carre et al, SIGPLAN Notices 25(10):312-321 (OOPSLA/ECOOP '90) (Oct 1990)].

Last updated: 1994-11-30

Rom Kernel Manual

<publication>

(RKM) A series of books or files for developers for the Amiga computer, containing information about the operating system kernel stored in ROM.

Last updated: 1996-04-06

room

channel

ROOM Methodology

Real-Time Object-Oriented Modeling

room-temperature IQ

<abuse>

(IBM) 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?" This is a much more insulting phrase in countries that use Celsius thermometers.

See drool-proof paper.

[Jargon File]

Last updated: 1996-04-06

root

<operating system>

1. The Unix superuser account (with user name "root" and user ID 0) that overrides file permissions. The term avatar is also used. By extension, the privileged system-maintenance login on any operating system.

See root mode, go root, wheel.

[Jargon File]

Last updated: 1994-10-27

<operating system>

2. root directory.

Last updated: 1996-11-21

<data>

3. root node.

Last updated: 1998-11-14

root bridge

<communications, hardware, networking>

A bridge which continuously transmits network topology information to other bridges, using the spanning tree protocol, in order to notify all other bridges on the network when topology changes are required.

This means that a network is able to reconfigure itself whenever a network link (e.g. another bridge) fails, so an alternative path can be found. The presence of a root bridge also prevents loops from forming in the network.

The root bridge is where the paths that frames take through the network they are assigned. It should be located centrally on the network to provide the shortest path to other links on the network. Unlike other bridges, the root bridge always forwards frames out over all of its ports.

Every network should only have one root bridge. It should have the lowest bridge ID number.

Last updated: 2000-11-26

root directory

<file system>

The topmost node of a hierarchical file system.

Last updated: 1996-11-21

root mode

Synonym with wizard mode or "wheel mode". Like these, it is often generalised to describe privileged states in systems other than operating systems.

[Jargon File]

root node

<mathematics, data>

In a tree, a node with no parents, but which typically has daughters.

Last updated: 1998-11-14

Root Normal Form

(RNF) Head Normal Form in graph rewriting.

roots

<security>

A slang term for a collection of computers or networks that have been compromised by criminals. The term implies that the password of the root user is known. This grants whoever posesses it root (system administrator) access. These passwords are often sold to spammers and phishing gangs who then use the compromised systems to send out millions of e-mail messages.

Last updated: 2022-12-07

root version

The initial value of an object in a change management system.

ROSE

Remote Operations Service Element

Rosette

<language>

A concurrent object-oriented language from MCC.

[Details?]

Last updated: 1997-11-26

Roskind grammars

<tool>

Yacc-based parsers for C and C++ by Jim Roskind. It does not use the %prec and %assoc YACC features so conflicts are never hidden. The C grammar has only one shift-reduce conflict, the C++ grammar has a few more. With byacc it can produce graphical parse trees automatically. The C grammar conforms to ANSI C and the C++ grammar supports cfront 2.0 constructs.

ftp://ftp.infoseek.com/pub/c++grammar/.

Last updated: 2003-10-09

rot13

/rot ther'teen/ [Usenet: from "rotate alphabet 13 places"], 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.

[Jargon File]

rotary debugger

(Commodore) Essential equipment for those late-night or early-morning debugging sessions. Mainly used as sustenance for the hacker. Comes in many decorator colours, such as Sausage, Pepperoni, and Garbage.

Last updated: 1995-01-11

rotational latency

<storage, hardware>

The time for the start of the required sector on a disk to appear underneath the read/write head. The worst case is where it has just passed the head when the request is received. For a disk drive with N heads per surface, rotating at R revolutions per minute, the average rotational latency will be

 L = 30/NR seconds.

Rotational latency is one component of access time.

Last updated: 2009-11-06

rotations per minute

revolutions per minute

ROTFL

<chat>

(Or "ROFL") Rolling on the floor laughing (or rolls...).

Used in chat, MUD, news.

See also ROTFLMAO, ROTFLOL.

Last updated: 1996-02-22

ROTFLMAO

<chat>

Rolling on the floor laughing my ass (arse) off. An extreme form of ROTFL.

Last updated: 2000-11-12

ROTFLMAOASTC

<chat>

Rolling on the floor laughing my ass (or arse) off and scaring the cat. The superlative form of ROTFL.

Last updated: 2004-04-06

ROTFLOL

<chat>

Rolling on the floor laughing out loud. See ROTFL.

Last updated: 1997-03-06

round-robin

<algorithm>

A scheduling algorithm in which processes are activated in a fixed cyclic order. Those which cannot proceed because they are waiting for some event (e.g. termination of a child process or an input/output operation) simply return control to the scheduler. The virtue of round-robin scheduling is its simplicity - only the processes themselves need to know what they are waiting for or how to tell if it has happened. However, if a process goes back to sleep just before the event for which it is waiting occurs then the event will not get handled until all the other processes have been activated.

Compare priority scheduling.

Last updated: 1996-02-10

round tape

<storage, jargon>

Industry-standard 1/2-inch magnetic tape (7- or 9-track) on traditional circular reels.

See macrotape, opposite: square tape.

[Jargon File]

Last updated: 1996-02-03

round-trip time

(RTT) A measure of the current delay on a network, found by timing a packet bounced off some remote host. This can be done with ping -s.

Last updated: 1994-11-30

route

<networking>

/root/ The sequence of hosts, routers, bridges, gateways, and other devices that network traffic takes, or could take, from its source to its destination. As a verb, to determine the link down which to send a packet, that will minimise its total journey time according to some routeing algorithm.

You can find the route from your computer to another using the program traceroute on Unix or tracert on Microsoft Windows.

Last updated: 2001-05-26

routed

<networking>

/root dee/ Route Daemon. A program which runs under 4.2BSD Unix systems and derivatives to propagate routes among machines on a local area network, using the Routing Information Protocol. See also gated.

Last updated: 2002-07-31

route flapping

flapping router

routeing

<networking>

(US "routing") /roo'ting/ The process, performed by a router, of selecting the correct interface and next hop for a packet being forwarded.

This is the British and international standard spelling.

See also Exterior Gateway Protocol, Interior Gateway Protocol.

Last updated: 2001-05-28

routeing domain

<networking>

(US "routing") A set of routers that exchange routeing information within an administrative domain.

Last updated: 1994-12-14

route leak

<networking>

When one or more Autonomous Systems (AS) issue incorrect information about the IP addresses on their networks. This causes inefficient routing and failures for both the originating organisation (e.g. an ISP or backbone provider) and others trying to route traffic through their networks.

A mallicious route leak is called a "route hijack" or "BGP hijack".

https://blog.thousandeyes.com/finding-and-diagnosing-bgp-route-leaks/. https://www.wired.com/story/how-a-tiny-error-shut-off-the-internet-for-parts-of-the-us/

Last updated: 2017-11-08

router

<networking>

/roo't*/ A device which forwards packets between networks. The forwarding decision is based on network layer information and routing tables, often constructed by routing protocols.

Unix manual page: route(8).

See also bridge, gateway, Exterior Gateway Protocol, Interior Gateway Protocol, flapping router.

Last updated: 1999-08-24

routine

subroutine

routing

<tool>

/row'ting/ Using a kind of rotating cutting tool called a router, pronounced /row't*/. In the USA a router, pronounced /row't*/, is also a network device that performs "routing". In the UK, the network device is pronounced /roo't*/ and what it does is spelled "routeing".

Last updated: 2002-07-31

Routing Information Protocol

<networking>

1. (RIP) A distance vector, as opposed to link state, routing protocol. RIP is an Internet standard Interior Gateway Protocol defined in STD 34, RFC 1058 and updated by RFC 1388.

See also Open Shortest Path First.

<networking>

2. (RIP) A companion protocol to IPX for exchange of routing information in a Novell network. RIP has been partly superseded by NLSP. It is not related to the Internet protocol of the same name.

Last updated: 1997-03-04

routing policy

<networking>

Rules implemented on a router or other network device to select routes from peers, customers, and upstream providers; select and modify routes you send to peers, customers and upstream providers and identify routes within your own Autonomous System.

http://www.nanog.org/mtg-0202/ppt/golding/sld005.htm.

Last updated: 2008-12-12

Routing Table Maintenance Protocol

<protocol>

(RTMP) A protocol used by AppleTalk to ensure that all routers on the network have consistent routing information.

Last updated: 1997-05-11

row

record

Row Address Strobe

<storage>

(RAS) An input to a dynamic random-access memory (DRAM) to indicate that the row address lines are valid.

Last updated: 2004-02-15

row-level locking

<database>

A technique used in database management systems, where a row is locked for writing to prevent other users from accessing data being while it is being updated.

Other techniques are table locking and MVCC.

Last updated: 1999-06-18

Royal Veterinary and Agricultural University

Address: Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark.

Last updated: 1994-12-12

RPC

Remote Procedure Call

RPG

<games>

1. Role-Playing Game.

<tool>

2. Report Program Generator.

<person>

3. Richard Gabriel.

Last updated: 1999-10-12

RPG-II

Report Program Generator

RPI

Rockwell Protocol Interface

RPL

Reverse Polish LISP. Language used by HP-28 and HP-48 calculators.

RPL-1

Data reduction language. Proc SJCC 30:571-575, AFIPS (Spring 1967).

RPM

<operating system, tool>

A Unix package-management system that helps installation of software packages; similar to an install program.

[More details? Reference? Expansion?]

Last updated: 1996-03-07

rpm

revolutions per minute

RPN

postfix notation

Répondez s'il vous plait

<chat>

(RSVP) French for "please reply", commonly found (abbreviated) on invitations.

Last updated: 1996-12-02

RPT

Unify. Report Writer Language.

RRL

Remote Reference Layer

RRS

An early definition of Scheme. Revised in R2RS.

["The Revised Report on Scheme", G.L. Steele et al, AI Memo 452, MIT, Jan 1978].

Last updated: 1994-10-28

[Was the original "Report on Scheme" published?]

RS

<character>

1. Record Separator

<standard>

2. Recommended Standard, a series of EIA standards including EIA-232.

RS-232

EIA-232

RS-232C

Renamed EIA-232C

Last updated: 2004-08-02

RS-232D

<communications, standard>

The EIA equivalent of ITU-T standard V.28.

[Difference from EIA-232/EIA-232C?]

Last updated: 1995-03-02

RS-422

EIA-422

RS-423

EIA-423

RS-449

EIA-449

RS-485

EIA-485

RS6000

RISC System/6000

RS/6000

RISC System/6000

RS6K

RISC System/6000

RSA

<cryptography, company>

(The initials of the authors)

1. RSA Data Security, Inc.

2. Their cryptography systems, especially RSA encryption.

The RSA algorithm was first described in the paper:

[R. Rivest, A. Shamir, L. Adleman, "A Method for Obtaining Digital Signatures and Public-key Cryptosystems". CACM 21,2; 1978]

Last updated: 1995-03-21

RSA Data Security, Inc.

<cryptography, company>

(After Rivest, Shamir, Adleman - see RSA) A recognised world leader in cryptography, with millions of copies of its software encryption and authentication installed and in use worldwide. RSA's technologies are the global de facto standard for public key cryptography and digital signatures, and are part of existing and proposed standards for the Internet, ITU-T, ISO, ANSI, PKCS, IEEE and business and financial networks around the world.

http://rsa.com/.

Last updated: 1994-12-08

RSA encryption

<cryptography, algorithm>

A public-key cryptosystem for both encryption and authentication, invented in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman. Its name comes from their initials.

The RSA algorithm works as follows. Take two large prime numbers, p and q, and find their product n = pq; n is called the modulus. Choose a number, e, less than n and relatively prime to (p-1)(q-1), and find its reciprocal mod (p-1)(q-1), and call this d. Thus ed = 1 mod (p-1)(q-1); e and d are called the public and private exponents, respectively. The public key is the pair (n, e); the private key is d. The factors p and q must be kept secret, or destroyed. It is difficult (presumably) to obtain the private key d from the public key (n, e). If one could factor n into p and q, however, then one could obtain the private key d. Thus the entire security of RSA depends on the difficulty of factoring; an easy method for factoring products of large prime numbers would break RSA.

RSA FAQ.

Last updated: 2004-07-14

RSCS

<communications>

Remote Spooling Communication Subsystem.

Last updated: 1996-02-04

Réseaux Associés pour la Recherche Européenne

(RARE) An association of national and international European networks and users.

See also CCIRN.

Last updated: 1994-11-30

Réseaux IP Européens

(RIPE) A collaboration between European networks which use the TCP/IP protocol suite to provide Internet services.

Last updated: 1994-11-30

RS flip-flop

SR flip-flop

rsh

Remote shell.

A Berkeley Unix networking command to execute a given command on a remote host, passing it input and receiving its output. Rsh communicates with a daemon on the remote host. It is sometimes called remsh to avoid confusion with the restricted shell, also called "rsh".

Unix manual page: rsh(1).

Last updated: 1994-12-08

RSI

<medical>

1. overuse strain injury.

<company>

2. Research Systems, Inc..

Last updated: 1999-01-08

RSL

RAISE Specification Language

RSN

Real Soon Now

RSS

Rich Site Summary

RSS feed

Rich Site Summary

rstat

netstat

RSTS/E

<operating system>

A multi-user, general purpose timesharing operating system produced by Mentec, Inc. and licensed bu Digital Equipment Corporation.

RSTS/E can be used for interactive timesharing, batch processing, indirect command file processing, program development using a variety of languages and tools, and a wide variety of special purpose applications. Up to 127 concurrent terminal users in both local and remote locations through multi-terminal services can interact with application tasks. Without multi-terminal services, 63 users are the maximum. Tasks can share computational, storage, and input/output services provided by the RSTS/E system.

Full description.

Last updated: 1996-06-04

RSVP

<chat>

1. Répondez s'il vous plait.

<protocol>

2. Resource Reservation Protocol.

<body>

3. Revolutionary Surrealist Vandal Party.

Last updated: 2001-03-18

RT-11

<operating system>

A real time operating system for the DEC PDP-11 computers, used in the early 1980s and still in 2005 found occasionally in old embedded systems.

Last updated: 2005-01-26

RTBM

(Unix) Read The Bloody Manual.

Commonwealth Hackish variant of RTFM. RTBM is often the entire text of the first reply to a question from a newbie; the *second* would escalate to "RTFM".

[Jargon File]

Last updated: 1994-12-08

RTC++

A real-time extension of C++.

["Object-Oriented Real-Time Language Design: Constructs for Timing Constraints", Y. Ishikawa et al, SIGPLAN Notices 25(10):289-298 (OOPSLA/ECOOP '90) (Oct 1990)].

Last updated: 1994-12-08

RT-CDL

Real-Time Common Design Language

RTEE

Real Time Engineering Environment: a set of CASE tools produced by Westmount Technology B.V.

RTF

Rich Text Format

RTFAQ

(Usenet, primarily written, by analogy with RTFM) Read the FAQ!

An exhortation that the person addressed ought to read the newsgroup's FAQ list before posting questions.

[Jargon File]

Last updated: 1994-12-08

RTFB

<jargon>

(By analogy with RTFM) 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 analyse the assembler or even the machine code.

"RTFB" is the least pejorative of the RTF? forms, the anger is directed at the absence of both source *and* adequate documentation rather than at the person asking a question.

[Jargon File]

Last updated: 1995-08-20

RTFM

<jargon>

/R T F M/ Read The Fucking Manual (always abbreviated, sometimes bowdlerised to "Fine" or "Friendly") An (unhelpful) guru's traditional response when someone asks a question in a newsgroup or mailing list which he could have easily answered for himself had he bothered to RTFM.

The term may also be used to indicate that you couldn't find the answer in the manual. E.g. "How do I interface Unix to my toaster? And yes, I did RTFM but the FM didn't help and I can't RTFS."

Other derived forms include RTFAQ, RTFB, RTM, RYFM and, more recently, STFW. Compare: UTSL. A web site in the same vein is lmgtfy.com.

[Earliest use?]

[Jargon File]

Last updated: 2003-06-07

RTFM.Humanitarian

<spelling>

Bogus inbound link to RTFM.

Last updated: 2020-03-08

RTFS

<jargon>

1. 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. 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 toward 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.

[Jargon File]

RTI

Return from interrupt

RTL

<hardware>

1. Resistor-Transistor Logic.

<language>

2. Register Transfer Language.

RTL/1

<language>

Real Time Language.

A real-time language written by J.G.P. Barnes of ICI in 1971. It was the predecessor of RTL/2.

["Real Time Languages for Process Control", J.G.P. Barnes, Computer J 15(1):15-17, Feb 1972].

Last updated: 1994-11-09

RTL/2

Real Time Language.

A small real-time language based on ALGOL 68, with separate compilation designed by J.G.P. Barnes of ICI in 1972 as a successor to RTL/1.

A program is composed of separately compilable modules called "bricks" which may be datablocks, procedures or stack. A stack is a storage area for use as a workspace by a task. The language is block-structured and weakly typed. Simple types are byte, int, frac and real. There are no Booleans. Compound types may be formed from arrays, records and refs (pointers). There are no user-defined types. Control statements are if-then-elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and label variables.

["RTL/2: Design and Philosophy", J.G.P. Barnes, Hayden & Son, 1976].

RTM

1. [Usenet] Read The Manual. Politer variant of RTFM.

2. Robert T. Morris Jr.

The 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 user name on ITS was hacked from RTM to RTFM.

[Jargon File]

Last updated: 1995-03-31

RTMP

Routing Table Maintenance Protocol

RTOS

Real-Time Operating System

RTP

Real-Time Transport Protocol

RT-PC

<computer>

RISC Technology Personal Computer.

(Commonly, but incorrectly, known as the "PC-RT", later changed to just "RT") IBM's first RISC-based Unix computer. The RT-PC was the predecessor to IBM's RS/6000. It ran AIX 1.x and 2.x and had a PC-AT bus and IBM's ROMP microprocessor. It was withdrawn from the marketing around 1989 or 1990.

Last updated: 1995-04-06

RTS

<operating system>

1. run-time system.

<programming>

2. return from subroutine.

Last updated: 1999-07-26

RTSA

real-time structured analysis

RTSP

Real Time Streaming Protocol

RTT

Round-Trip Time

RTTI

Run Time Type Information

RTTY

radio teletypewriter

ru

<networking>

The country code for the Russian Federation.

Last updated: 1999-01-27

rubi

furigana

Ruby

<language>

1. A relational language designed by Jones and M. Sheeran in 1986 for describing and designing circuits (a hardware description language). Ruby programs denote binary relations and programs are built-up inductively from primitive relations using a pre-defined set of relational operators. Ruby programs also have a geometric interpretation as networks of primitive relations connected by wires, which is important when layout is considered in circuit design.

Ruby has been continually developed since 1986, and has been used to design many different kinds of circuits, including systolic arrays, butterfly networks and arithmetic circuits.

ftp://ftp.cs.chalmers.se/pub/misc/ruby/.

E-mail: <[email protected]>.

["Ruby - A Language of Relations and Higher-Order Functions", M. Sheeran, Proc 3rd Banff Workshop on Hardware Verification, Springer 1990].

Last updated: 1994-10-27

2. One of five pedagogical languages based on Markov algorithms, used in Higman's report (below). The other languages are Brilliant, Diamond, Nonpareil, and Pearl.

["Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London (1968)].

Last updated: 1994-10-27

3. A fully object oriented interpreted scripting language by Yukihiro Matsumoto <[email protected]>.

Similar in scope to Perl and Python, Ruby has high-level data types, automatic memory management, dynamic typing, a module system, exceptions, and a rich standard library. Other features are CLU-style iterators for loop abstraction, singleton classes/methods and lexical closures.

In Ruby, everything is an object, including the basic data types. For example, the number 1 is an instance of class Fixnum.

Current version (stable): 1.6.7, as of 2002-03-01.

Ruby Home.

Ruby Central.

["Programming Ruby - The Pragmatic Programmer's Guide", David Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley 2000].

Last updated: 2002-06-19

rude

[WPI] 1. Badly written or functionally poor, e.g. a program that is very difficult to use because of gratuitously poor design decisions. Opposite: cuspy.

2. 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.

[Jargon File]

Last updated: 1994-10-27

RUFL

Rhodes University Functional Language. A Miranda-like functional language from Rhodes University, Grahamstown, South Africa with a SPARC code generator.

Last updated: 1994-10-27

run

execution

RUNCIBLE

Early system for mathematics on IBM 650.

See also FORTRUNCIBLE, IT.

[Listed in CACM 2(5):16 (May 1959)].

Last updated: 1994-10-27

run commands

<operating system>

The expansion of the file name suffix, "rc", common to many Unix configuration files, e.g. .newsrc, .cshrc, .twmrc, elmrc, etc. Always abbreviated to /R C/ when spoken. Note, "rc" is not a typical filename extension as it doesn't start with a dot.

The suffix "rc" derives from a script-creation utility in CTSS called "runcom".

Unix FAQ.

Last updated: 2014-11-19

runes

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).

[Jargon File]

runic

<jargon>

Obscure, consisting of runes.

VMS fans sometimes refer to Unix as "RUnix". Unix fans return the compliment by expanding VMS to "Very Messy Syntax" or "Vachement Mauvais Systeme" (French; literally "Cowlike Bad System", idiomatically "Bitchy Bad System").

Last updated: 1996-09-17

run-length encoding

A kind of compression algorithm which replaces sequences ("runs") of consecutive repeated characters (or other units of data) with a single character and the length of the run. This can either be applied to all input characters, including runs of length one, or a special character can be used to introduce a run-length encoded group. The longer and more frequent the runs are, the greater the compression that will be achieved. This technique is particularly useful for encoding black and white images where the data units would be single bit pixels.

Last updated: 1994-10-27

Run Length Limited

<storage>

(RLL) The most popular scheme for encoding data on magnetic disks. RLL packs up to 50% more data on a disk than MFM.

IBM invented RLL encoding and used it in mainframe disk drives. During the late 1980s, PC hard disks began using RLL. Today, virtually every drive on the market uses some form of RLL.

Groups of bits are mapped to specific patterns of flux. The density of flux transitions is limited by the spatial resolution of the disk and frequency response of the head and electronics. However, transitions must be close enough to allow reliable clock recovery. RLL implementations vary according to the minimum and maximum allowed numbers of transition cells between transitions. For example, the most common variant today, RLL 1,7, can have a transition in every other cell and must have at least one transition every seven cells. The exact mapping from bits to transitions is essentially arbitrary.

Other schemes include GCR, FM, Modified Frequency Modulation (MFM). See also: PRML.

http://cma.zdnet.com/book/upgraderepair/ch14/ch14.htm.

Last updated: 2003-08-12

run time

1. The elapsed time to perform a computation on a particular computer.

2. The amount of time a processor actually spent on a particular process and not on other processes or overhead (see time-sharing).

3. The period of time during which a program is being executed, as opposed to compile-time or load time. The term should be hyphenated when used as an adjective.

4. run-time support.

Last updated: 2001-09-14

run-time environment

<operating system>

A collection of subroutines and environment variables that provide commonly used functions and data for a program while it is running.

Compare run-time support.

Last updated: 1995-03-22

run-time error

<programming>

An error in the execution of a program which occurs at run time, as opposed to a compile-time error.

A good programming language should, among other things, aim to replace run-time errors by compile-time errors. Language features such as strong typing help.

A good program should attempt to avoid run-time errors by, for example, checking that their input data is sensible. Where this is not possible, the program should attempt to detect the error and handle it gracefully rather than just exiting via the language or operating system's default handler. Here again, a good language will make this easy to do (or at least possible).

See also abort, core dump, GPF.

Last updated: 1997-01-13

run-time library

<operating system, programming, library>

A file containing routines which are linked with a program at run time rather than at compile-time. The advantage of such dynamic linking is that only one copy of the library needs to be stored, rather than a copy being included with each executable that refers to it. This can greatly reduce the disk space occupied by programs. Furthermore, it means that all programs immediately benefit from changes (e.g. bug fixes) to the single copy of the library without requiring recompilation. Since the library code is normally classified as read-only to the memory management system, it is possible for a single copy of the library to be loaded into memory and shared by all active programs, thus reducing RAM and virtual memory requirements and program load time.

Last updated: 1997-07-16

run-time support

run-time system

run-time system

<programming>

(RTS, run-time support, run-time) Library code and processes which support software written in a particular language running on a particular platform. The RTS typically deals with details of the interface between the program and the operating system such as system calls, program start-up and termination, and memory management.

Last updated: 1999-07-26

Run-Time Type Information

<compiler>

(RTTI) Facilities included in C++ compilers to allow the type of an object to be determined at run time.

This facility, found in good C++ compilers and some other high level languages, adds type information to memory resident objects (i.e. type name or unique type-id). This allows the run-time system to determine if an object is of a specific type, for example, to ensure that a cast of an object is valid.

Last updated: 1996-04-15

ruptime

Unix Berkeley networking command to report the status of all hosts on the net. See also rwho. See ruptime(1N).

RUSH

<language>

1. An interactive dialect of PL/I, related to CPS, dated about 1966. The name is the abbreviation of "Remote Use of Shared Hardware".

["Introduction to RUSH", Allen-Babcock Computing 1969. Sammet 1969, p.309.]

<language>

2. A high-level language that closely resembles Tcl but aimed to provide substantially faster execution. See An Introduction to the Rush Language. by Adam Sah, Jon Blow, and Brian Dennis (1994).

Last updated: 1996-12-17

Russell

<language>

(After Bertrand Russell) A compact, polymorphically typed functional language by A. Demers & J. Donahue with bignums and continuations. Types are themselves first-class values and may be passed as arguments.

ftp://parcftp.xerox.com/pub/russell/russell.tar.Z.

["An Informal Description of Russell", H. Boehm et al, Cornell CS TR 80-430, 1980].

["Understanding Russell: A First Attempt", J.G. Hook in LNCS 173, Springer].

Last updated: 1995-03-27

Russell, Bertrand

Bertrand Russell

Russell's Attic

<mathematics>

An imaginary room containing countably many pairs of shoes (i.e. a pair for each natural number), and countably many pairs of socks. How many shoes are there? Answer: countably many (map the left shoes to even numbers and the right shoes to odd numbers, say). How many socks are there? Also countably many, we want to say, but we can't prove it without the Axiom of Choice, because in each pair, the socks are indistinguishable (there's no such thing as a left sock). Although for any single pair it is easy to select one, we cannot specify a general method for doing this.

Last updated: 1995-03-29

Russell's Paradox

<mathematics>

A paradox (logical contradiction) in set theory discovered by Bertrand Russell. If R is the set of all sets which don't contain themselves, does R contain itself? If it does then it doesn't and vice versa.

The paradox stems from the acceptance of the following axiom: If P(x) is a property then

 {x : P}

is a set. This is the Axiom of Comprehension (actually an axiom schema). By applying it in the case where P is the property "x is not an element of x", we generate the paradox, i.e. something clearly false. Thus any theory built on this axiom must be inconsistent.

In lambda-calculus Russell's Paradox can be formulated by representing each set by its characteristic function - the property which is true for members and false for non-members. The set R becomes a function r which is the negation of its argument applied to itself:

 r = \ x . not (x x)

If we now apply r to itself,

 r r = (\ x . not (x x)) (\ x . not (x x))
     = not ((\ x . not (x x))(\ x . not (x x)))
     = not (r r)

So if (r r) is true then it is false and vice versa.

An alternative formulation is: "if the barber of Seville is a man who shaves all men in Seville who don't shave themselves, and only those men, who shaves the barber?" This can be taken simply as a proof that no such barber can exist whereas seemingly obvious axioms of set theory suggest the existence of the paradoxical set R.

Zermelo Fränkel set theory is one "solution" to this paradox. Another, type theory, restricts sets to contain only elements of a single type, (e.g. integers or sets of integers) and no type is allowed to refer to itself so no set can contain itself.

A message from Russell induced Frege to put a note in his life's work, just before it went to press, to the effect that he now knew it was inconsistent but he hoped it would be useful anyway.

Last updated: 2000-11-01

rusty iron

<jargon, hardware>

Synonym tired iron. It has been claimed that this is the inevitable fate of water MIPS.

[Jargon File]

Last updated: 1995-03-25

rusty memory

<storage, humour>

Mass-storage that uses iron-oxide-based magnetic media (especially magnetic tape and the pre-Winchester removable disk packs used in washing machines).

Compare donuts.

[Jargon File]

Last updated: 1997-07-20

RUTH

D.A. Harrison at Newcastle University. Real-time language based on LispKit. Uses timestamps and real-time clocks.

["RUTH: A Functional Language for Real-Time Programming", D. Harrison in PARLE: Parallel Architectures and Languages Europe, LNCS 259, Springer 1987, pp.297-314].

rw

<networking>

The country code for Rwanda.

Last updated: 1999-01-27

rwho

<networking>

The Berkeley Unix networking command to report who is logged in on all hosts on the local network segment.

Unix manual page: rwho(1).

Last updated: 1996-09-08

RWP

Remote Write Protocol

Rx

A pattern matcher compatible with GNU regex, but generally faster.

Version 0.05, released 1994-05-18, contained substantial changes from the version last distributed with GNU sed. These changes provide low-level support for searching across arbitrarily fragmented strings and suspendable searches.

RYFM

<abuse>

1. "Read Your Fucking Manual". Uncommon variant of RTFM.

2. "Read Your Fucking Mail". A gentle reminder to someone to check their corresponence and, who knows, maybe even respond.

Last updated: 2012-10-27

Nearby terms:

QutyquxQWERTYQXR2000R2RSR3.99RSR3RSR4RSrabbit job

Try this search on Wikipedia, Wiktionary, Google, OneLook.



Loading