next up previous contents
Next: Rn-Rz Up: Linux Software Encyclopedia Previous: Qn-Qz   Contents

Ra-Rm

Last checked or modified: Jun. 16, 1998

[home / linux ]


CATEGORIES | NEW
Aa-Am | An-Az | Ba-Bm | Bn-Bz | Ca-Cm | Cn-Cz | Da-Dm | Dn-Dz | Ea-Em | En-Ez | Fa-Fm | Fn-Fz | Ga-Gm | Gn-Gz | Ha-Hm | Hn-Hz | Ia-Im | In-Iz | Ja-Jm | Jn-Jz | Ka-Km | Kn-Kz | La-Lm | Ln-Lz | Ma-Mm | Mn-Mz | Na-Nm | Nn-Nz | Oa-Om | On-Oz | Pa-Pm | Pn-Pz | Qa-Qm | Qn-Qz | Ra-Rm | Rn-Rz | Sa-Sm | Sn-Sz | Ta-Tm | Tn-Tz | Ua-Um | Un-Uz | Va-Vm | Vn-Vz | Wa-Wm | Wn-Wz | Xa-Xm | Xn-Xz | Ya-Ym | Yn-Yz | Za-Zm | Zn-Zz |


R
A language ``which bears a passing resemblance to the S language developed at AT&T'' for statistical calculations. The goal of the project producing R is to demonstrate that it is possible to produce an S-like environment which does not suffer from the memory demands and performance problems of the current S implementation. The short term goal is to create a small portable free system which provides most of the functionality of S with perhaps some extensions. <P> The S language provides general facilities for organizing, storing, and retrieving all types of data; numerical methods and other computational techniques; the capability of writing programs in S as well as interfaces to UNIX commands or C or Fortran routines; and interactive, informative and flexible ways of looking a data graphically. The S language contains a wide variety of expressions and operators and all computations are done by functions, which are either built in or operator defined. There are many built-in data manipulation, mathematical and statistical distribution functions. Many kinds of plots can be created with the graphics package including scatter plots, box plots, x-y plots, bar graphs, dot charts, pie charts, geographical maps, and perspective grid plots. Many data object types are supported, including truth values, numbers, complex numbers, character strings, and lists of objects. It is the goal of R to replicate all of these capabilities.

R is written in Fortran and C and I've compiled it successfully using g77 and gcc (up to version R-0.9alpha). The current distribution is an alpha pre-release as of 6/96. There is a small amount of documentation that comes with the package, although more can be found in the published documentation for S, i.e. the first ("Blue") and second ("White") published manuals. The blue manual is "The New S Language" by R. Becker, J. Chambers and A. Wilks (Wadsworth and Brooks/Cole Advanced Books and Software, Pacific Grove, CA, ISBN 0-534-09192-X, QA 76.73 S15 B43). The blue manual describes the language is general and the white manual focuses on statistical applications. There are quite a few packages and some tutorial documents concerning the S language at the Statlib S Repository. The S tutorials presumably can also function as R tutorials.

[http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html]
[http://sunsite.auc.dk/R]
[http://lib.stat.cmu.edu/R/CRAN]
[ftp://franz.stat.wisc.edu/pub/R]
[ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN]

Contributed extensions to R include:

  • Matrix, a matrix library;
  • PHYLOGR, functions for phylogenetically-based statistical analyses;
  • RPgSQL, methods for accessing data stored in PostgreSQL tables;
  • VR, a set of over a hundred R functions converted from the S functions in "Modern Applied Statistics with S-PLUS";
  • acepack, ACE and AVAS methods for choosing regression transformations;
  • akima, for interpolation of irregularly spaced data;
  • ash, for computing univariate shifted histograms;
  • boot, functions and datasets for bootstrapping;
  • bootstrap, functions for the bootstrap, cross-validation and the jackknife;
  • cclust, functions for convex clustering methods and clustering indexes;
  • cfa, functions for the analysis of configuration frequencies;
  • cluster, functions for clustering;
  • coda, output analysis and diagnostics for Markov chain Monte Carlo simulations;
  • conf.design, functions for constructing and manipulating confounded and fractional factorial designs;
  • ellipse, for drawing ellipses and ellipse-like confidence regions;
  • fdim, functions for computing fractal dimensions;
  • fracdiff, fractionally differenced ARIMA models;
  • gafit, genetic algorithms for curve fitting;
  • gee, a generalized estimation equation solver;
  • gss, a comprehensive package for structural multivariate function estimation using smoothing splines;
  • ineq, functions for measuring inequality, concentration and poverty;
  • integrate, functions for adaptive quadrature in up to 20 dimensions;
  • leaps, regression subset selection including exhaustive search;
  • hntest, functions for testing linear models;
  • locfit, functions for local regression, likelihood and density estimation;
  • logspline, functions for logspline density estimation;
  • maptree, functions for graphing and mapping models from hierarchical clustering and classification and regression trees;
  • mclust, model-based cluster analysis;
  • mda, functions for mixture and flexible discriminant analysis and multivariate additive regression splines;
  • mlbench, a collection of artificial and real world machine learning benchmark problems;
  • multihm, functions for fitting and testing multivariate linear models;
  • multiv, multivariate data analysis routines including hierarchical clustering, PCA, Sammon mapping and correspondence analysis;
  • nlme, linear and nonlinear mixed effects models;
  • norm, analysis of multivariate normal datasets with missing values;
  • pls, for performing univariate partial least squares regression;
  • polymars, polychotomous regression based on multivariate adaptive regression splines;
  • princurve, fits a principal curve to a data matrix in arbitrary dimensions;
  • quadprog, a package for solving quadratic programming problems;
  • quantreg, quantile regression and related methods;
  • rpart, recursive partitioning and regression trees;
  • sgeostat, an object-oriented framework for geostatistical modeling;
  • survival5, functions for survival analysis;
  • tree, classification and regression trees;
  • tripack, for triangulation of irregularly spaced data;
  • tseries, for time series analysis with an emphasis on non-linear modeling;
  • wavethresh, for wavelet statistics and transforms; and
  • wle, weighted likelihood estimation.

Rweb
A Web-based interface to the R statistical language that takes submitted code, runs R in batch mode and returns output. The available version of Rweb are:
  • a simple Web interface that works on most browsers;
  • a more advanced Web interface that requires a JavaScript-enabled browser; and
  • a set of modules designed as a forms-based interface for use in introductory statistics courses.

[http://www.math.montana.edu/Rweb/]

RabbIT
An HTTP proxy intended to speed up surfing over slow links by removing unneeded fluff like background images while retaining the structure of the page.

[http://www.nada.kth.se/projects/prup98/web_proxy/]

Radiance
A suite of programs for the analysis and visualization of lighting in design. Radiance is used by architects and engineers to predict illumination, visual quality, and the appearance of innovative design spaces, and also by researchers to evaulate new lighting and daylighting technologies. An input file containing the scene geometry, materials, luminaires, time, data and sky conditions is transformed into calculated values including spectral radiance, irradiance, and glare indices. The results can be displayed as color images, numerical values, or contour plots. There are no limitations on the geometry or materials that can be simulated with Radiance.

The over 100 programs comprising the Radiance package can be divided into several categories including converters from other formats to Radiance format, geometry generators, scene preparation and processing programs, intermediate file preparation programs, rendering programs, user interface programs, output viewing programs, analysis and convolution programs, converters from Radiance to other formats and various metafile tools. The more significant programs include:

  • genbox, generates a description of a box;
  • genprism, generates a description of a prism;
  • genrev, generates a description of a surface of revolution;
  • gensky, generates a description of the sky;
  • gensurf, generates a description of a curved surface;
  • genworm, generates a description of a functional worm;
  • xform, transforms a scene description;
  • ies2rad, converts IES luminaire data to a Radiance description;
  • getbbox, computes a bounding box for a scene;
  • mkillum, computes illum sources for a scene;
  • oconv, creates an octree from a scene description;
  • rad, renders a scene;
  • rview, generate a picture interactively;
  • rpict, generate a picture;
  • ximage, a driver for X11;
  • pcompos, composites pictures;
  • pfilt, filter a picture;
  • pflip, flip a picture;
  • pinterp, interpolate/extrapolate a view from pictures;
  • protate, rotate a picture;
  • pvalue, convert pictures to/from alternate formats;
  • rtrace, trace rays in a scene; and
  • geninfo, get information from a Radiance file.

A source code distribution of Radiance is available. It is written in strict ANSI C and portable to most platforms. There are over 100 programs/commands in the Radiance package, each of which is described in a separate manual page. Documentation also includes a tutorial, a reference manual, technical papers, and seminar and course notes.

[http://radsite.lbl.gov/radiance/HOME.html]

RADIUS
The Remote Authentication Dial In User Service is a protocol for providing a standard method for dial-up authentication, offering access and control and accounting features as well as security. RADIUS is based on a distributed security model and provides an open and scalable client/server security system. It is composed of an authentication server and client protocols. All user authentication and network service access information is located on the former which communicates with clients via the latter. The communications channel between the client and server is UDP/IP with messages acknowledged.

Related software packages include:

[http://www.faqs.org/rfcs/rfc2138.html]

Portslave
A RADIUS client program that allows a Linux box with a multi-port serial card to emulate a Livingston Portmaster 2 series terminal server. The functionality of this includes:
  • answering modems;
  • autodetection of PPP sessions;
  • auto-telnet or rlogin to a host;
  • authentication via a RADIUS server; and
  • issuing accounting requests to a RADIUS accounting daemon.
This package needs to work with a RADIUS server.

[http://portslave.mnic.net/]

perlradius
A drop-in replacment for the Livingston radiusd daemon which, although lacking a few standard features, has a few extra ones. A source code distribution of this Perl script is available.

[http://www.iinet.net.au/~michael/radius.html]

radiusContext
A RADIUS accounting log analysis package. A source code distribution is available which requires Python for installation and operation.

[http://www.tummy.com/radiusContext/]

radiusd-cistron
A RADIUS server whose features include:
  • limiting the maximum number of simultaneous logins on a per-user basis;
  • access support based on huntgroups;
  • a hints file that can select SLIP/PPP/rlogin based on username pattern;
  • execution of external programs for authenticated users;
  • multiple DEFAULT entries in users files that can optionally fall-through;
  • caching of all configuration files in memory;
  • a radwho program that can be installed as fingerd;
  • logging of both UNIX wtmp file format and RADIUS detail logfiles;
  • support for vendor-specific attributes; and
  • support for proxying.
A source code distribution is available. Documentation is a wee bit sketchy to date (12/98).

[http://www.miquels.cistron.nl/radius/]

radius-sql
A patch to Ascend's free RADIUS server that adds the capability of logging into an MySQL database.

[http://www.ilogic.com.au/~dmiller/radiusd-sql.html]

radvd
The router advertisement daemon is a program run by routers on a network to answer the autoconfiguration requests of the hosts supported by IPv6. The daemon listens to router solicitations and answers with router advertisement (RAs) as specified in RFC 1970. These RAs contain information used by hosts to configure their interfaces including address prefixes, the MTU of the link, and information about default routers. A source code distribution is available which is documented via man pages.

[ftp://ftp.cityline.net/pub/systems/linux/network/ipv6/radvd/]

RAID
A Redundant Array of Inexpensive Disks is a method whereby information is spread across several disks using techniques such as disk striping and disk mirroring to achieve redundancy, lower latency and/or higher bandwidth for reading and/or writing, and recoverability from disk crashes. The use of RAID with Linux is described in an article in the December 1997 issue of the Linux Journal.

There are several different types or levels of RAID. A brief taxonomy listing the levels and their characteristics (which is not completely accurate but provides a reasonable overview) is:

  • RAID-linear: concatenating partitions to create a larger virtual partition for, i.e. creating a single large virtual partition from several smaller drives;
  • RAID-0: striping, i.e. similar to RAID-linear with the partitions divided into stripes and the multiple data copies interleaved rather than concatenated;
  • RAID-1: mirroring, i.e. data is kept on multiple partitions with each one storing an exact copy of all the data;
  • RAID-2, similar to RAID-4 with ECC information being stored instead of parity information (a level made mostly obsolete by the incorporation of ECC in most modern drives);
  • RAID-3: also similar to RAID-4 with the smallest possible stripe size being used and the requirement that disk drive spindles be synchronized (also mostly obsolete);
  • RAID-4: interleaves stripes similar to RAID-0 with the requirement of an additional partition to store parity information such that if a disk fails the data on the remaining disks can be used to reconstruct the data from it; and
  • RAID-5: similar to RAID-4 with the parity information being stored on each of the drives.
Additional level designations have been proposed by various vendors for specific products, but there is no general agreement as to their definition.

The current (6/99) software implementation of RAID for Linux offers RAID-linear, RAID-0, RAID-1, RAID-4 and RAID-5. RAID-1 and RAID-5 are the most popular of the options that offer redundancy, with the former generally offering better performance and the latter more efficient use of the available storage space. A growing number of vendors offer hardware RAID implementations that are compatible with Linux. These include RAID cards (both ISA and PCI) with Linux drivers and stand-alone system-independent RAID arrays.

[http://linas.org/linux/raid.html]
[http://luthien.nuclecu.unam.mx/~miguel/raid/]

raidtools
A set of tools for supporting RAID on Linux platforms. The tools include:
  • ckraid, checks a RAID device array for consistency and optionally attempts to fix any it finds;
  • mkraid, sets up a set of block devices into a single RAID array;
  • raidadd, configures MD (i.e. RAID) devices in the kernel to band multiple devices into one;
  • raidrun, activates and MD device; and
  • raidstop, turns off an MD device and unconfigures it.
A source code distribution is available which can be compiled as either a kernel patch or module. The tools are documented in man pages as well as in some ASCII README files.

[http://www.ca.kernel.org/pub/linux/daemons/raid/]

DAC960
A driver for DAC960 PCI RAID controllers. This is in the form of a kernel module and a set of utilities including modified versions of LILO and fdisk that understand the DAC960 RAID devices and a script called make_rd that makes the device special files.

[http://www.dandelion.com/Linux/DAC960.html]

RAIDframe
A framework for implementing RAID designs intended for use in researching, verifying, testing and producing RAID systems. It was developed to decrease design-cyle time by simplifying the process of implementation without sacrificing performance. A simple programming abstraction is used in which distinct RAID operations (i.e. architectures) can be easily implemented, and once the basic instructions (less than a dozen) are implemented the time required to implement a new RAID operation is just the time needed to write a new program. Array architectures implemented in RAIDframe can be evaluated as stand-alone applications controlling UNIX raw disks, as event-driven simulators, and as Digital UNIX device drivers capable of performing block and character operations.

The features of RAIDframe include:

  • a library of architectures including RAID levels 0, 1, 4, 5, 6 as well as declustered parity, interleaved declustering, and chained declustering;
  • separation of error recovery from array architecture via a two-phase aproach called roll-away error recovery;
  • an internal architecture composed of eleven independent modules, i.e.
    • a state machine which creates graphs and submits them for execution;
    • a graph execution engine for fully exploiting the allowable concurrency with a graph;
    • a disk interface that organizes pending disk requests according to specified queueing disciplines;
    • a memory management module;
    • a disk-queue module for implementing various queueing policies;
    • a disk-geometry database module containing disk specifications including layout and performance parameters;
    • a mapping module for mapping an access in the RAID address space to the corresponding set of physical address spaces;
    • a graph selection module for determining which graph from the library is to be used to execute a specific user request;
    • a graph library containing routines capable of creating graphs;
    • a primitive operations library with functions that abstract single device operations from which graphs are created.
  • extensibility via configurablity of seven of the above modules;
  • a reconstruction state machine that allows the simulation of disk failures; and
  • a suite of test applications that allow implementors to test their systems at the user level.

A source code distribution of RAIDframe is available which is supported on many architectures including Linux Intel. It is extensively documented in a huge user's and reference manual that also serves as a marvelous introduction to RAID.

[http://www.pdl.cs.cmu.edu/RAIDframe/]

RAL-CGM
An interpreter and translater for CGM files. The ralcgm interpreter consists of a number of separate modules that read and translate or interpret a CGM file. The modules are:
  • cgmibin, reads a binary encoded CGM;
  • cgmichar, reads a character encoded CGM;
  • cgmitext, reads a clear text encoded CGM;
  • cgmobin, writes a binary encoded CGM;
  • cgmochar, writes a character encoded CGM;
  • cgmotext, writes a clear text encoded CGM;
  • cgmops, outputs a PostScript file;
  • cgmoxw, an X11 driver;
  • cgmoigl, an Iris Graphics Library driver;
  • cgmotek, a Tektronix 4200 driver;
  • cgmohpgl, an HPGL driver;
  • cgmovga, a PC VGA driver.

The package also contains several utility routines including:

  • cgmatt, utilities for resolving attributes;
  • cgmcell, cell array utilities;
  • cgmcolr, color handling utilities;
  • cgmerr, an error handler;
  • cgmfile, file handling utilities;
  • cgmfill, fill area utility;
  • cgmfont, font handling utility;
  • cgmgdp, utilities for handling circular and elliptical elements;
  • cgmgraph, graphical output utilities;
  • cgmpts, point handling utilities;
  • cgmrand, random access frame utilities;
  • cgmtext, text handling utilities;
  • cgmbez, a Bezier text output utility;
  • cgmher, a Hershey text output utility.

The source code distribution can be compiled and installed on most UNIX systems.

[http://www.agocg.ac.uk/thtrain/cgm/ralcgm.htm]

RAM
The Range-dependent Acoustic Model is a Fortran 77 software package for solving range-dependent ocean acoustics problems using the parabolic equation (PE) method. RAM is based on the split-step Padé solution method which allows large range steps and is the most efficient PR algorithm. Range dependence is handle accurately by applying an energy conservation correction as the acoustic parameters varying with range. In initial condition (or starting field) is constructed using the self-starter, i.e. an accurate and efficeint approach based on the PE method.

A source code distribution of RAM is available. It is written in Fortran 77 and documented in a user's manual available in PostScript format. There are separate source code versions for codes designed to run on single and parallel processors. See Collins (1993b) and Collins (1993a).

[ftp://ram.nrl.navy.mil/pub/]

RANDMOD
A package designed to enable random variations in a resident linear program (LP) whose matrix file was previously generated or was read as a library. This is done to test either the performance of an algorithm or the sensivity of a model to variations. This is related to the ANALYZE and MODLER packages.

A binary version of RANDMOD is available for Linux and DOS platforms. The documentation is contained within a manual that can be obtained from the author via the IMPS Software Site. A quick summary of the ins and outs of optimization can be found at the NEOS Optimization Tree.

[http://www-math.cudenver.edu/~hgreenbe/consortium/softget.html]

RANDLIB
A library of Fortran or C routines for random number generation. The bottom level routines provide 32 virtual random number generators. RANDLIB provides routines that return: beta random deviates, chi-square random deviates, exponential random deviates, F random deviates, gamma random deviates, multivariate normal random deviates (mean and covariance matrix specified), noncentral chi-square random deviates, univariate normal random deviates, random permutations of an integer array, real uniform random deviates between specified limits, binomial random deviates, negative binomial random deviates, multinomial random deviates, Poisson random deviates, integer uniform deviates between specified limits, and seeds for the random number generator calculated from a character string.

RANDLIB versions are available written in C, Fortran, or Perl. Each routine is documented in comment statements contained within the source code. Several test driver programs are included in the distributions.

[odin.mdacc.tmc.edu/anonftp/]
[http://www.netlib.org/random/]
[http://lib.stat.cmu.edu/general/Utexas/]

RANDN
A normal random number generator. This is TOMS algorithm 712 and is documented in Leva (1992).

[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]

random numbers
Software packages which generate random numbers or which contain random number generators include: C++SIM, Cheney-Kincaid, CMLIB, CNCL, COSMICS, DCDFLIB, Diehard, FLIB, Gstat, Karma, libobjects, LInteger, MatClass, Octave, Ox, RANDMOD, RANDLIB, RV, SIMEX, SPRLIB, SPRNG, SPECFUN, STARPAC, Swarm, WNLIB, Xi, and Xlisp-Stat.

Ranish Partition Manager
A hard disk partitioning management utility and advanced boot manager. The partition management capabilities include:
  • saving and restoring the Master Boot Record (MBR);
  • creating and deleting partitions;
  • viewing information about IDE hard disks; and
  • formatting and resizing FAT-16 and FAT-32 file systems.
The advanced boot management functionality includes:
  • a boot menu with password protection;
  • automatic partition hiding and unhiding;
  • booting any OS from a second hard drive;
  • creating up to 31 primary partitions on a single hard drive; and
  • detecting boot viruses in memory.
A source code distribution of RPM is available.

[http://www.users.intercom.com/~ranish/part/]
[http://members.xoom.com/ranish/part/]

rapd
A daemon written in the Expect language that sends text messages to radio pagers and mobile telephones. The features of rapd include:
  • any UNIX user can send a message to a pager;
  • a shell script that can automate network management fault alarms;
  • retrying if a pager bureau is currently engaged;
  • maintenance of a spool directory to guarantee delivery of messages; and
  • understanding all major pager bureau formats.
A source code distribution is available.

[http://www.epok.demon.co.uk/html/products/rapd.html]

Rapide
A software engineering package consisting of a language and set of tools that focus on developing a new technology for building large-scale, distributed, multi-language systems. It is based on a new generation of computer languages called Executable Architecture Definition Languages (EADLs) and a toolset that supports the use of EADLs in the evolutionary development and rigorous analysis of large-scale systems. Rapide is designed to support the component-based development of large, multi-language systems by using architecture definitions as the development framework. It allows the gradual refinement of architectures into products, and supports testing and maintenance based on automated comparison with formal standard architectures. An event-based execution model of distributed, time-sensitive systems called the ``timed poset model'' is used to provide the most formal basis to date for constructing early life cycle prototyping tools as well as later life cycle tools for correctness and performance analysis of distributed, time-sensitive systems.

The Rapide language is language framework consisting of a type language, an executable architecture definition language, a specification language and a concurrent reactive programming language. The latter three also share a pattern sublanguage providing expressions for reacting to and constraining event-based computations. The language details include:

  • the type language is based on a single general interface type construct together with inheritance derivations for building new interfaces from existing ones;
  • the architecture definition language provides executable features for composing systems out of component interfaces by defining their synchronization and communication interconnections in terms of patterns of events;
  • the constraint language provides constructs for the abstract specification of the behavior of a distributed system including timing requirements; and
  • the executable language is a concurrent reactive programming language using types, objects, and expressions of the type language to provide module and control structures.

The available Rapide toolset includes:

  • rpdc, a compiler for the Rapide language that translates programs into executable load modules or into library information for building executables;
  • a library management system that allows libraries of components to be compiled separately for later reuse; and
  • pov, a partial order viewer for graphically browsing the partial orderings of events (posets) produce by Rapide computations.
Binary distributions of the Rapide toolset are available, one of which is for Linux Intel systems. Massive amounts of documentation are available at the site.

[http://pavg.stanford.edu/rapide/rapide.html]

Rapid-Q
A semi-object oriented BASIC-like language with many additional features. Rapid-Q is a bytecode compiler that attaches its byte code to an interpreter. The non-standard features include:
  • creating SUBs or FUNCTIONs with a variable number of parameters without type checking;
  • the use of an "-" operator for string expressions for deleting string(s) from a string;
  • function pointers; and
  • support for DirectX.
The Linux version, while freely available, is a stripped down version of the Windows distribution and, as such, doesn't have the full functionality of the latter.

[http://www.basicguru.com/abc/rapidq/]

rarp
See NetTools.

Rasca
An audio player whose features include:
  • playing both MP3 and WAV format files;
  • multiple simultaneous outputs;
  • output to a file, OSS sound device, or the Enlightened Sound Daemon;
  • full playlist support including editing, jumping and shuffling;
  • support for ID3 tag editing;
  • shuffle, repeat and single play modes;
  • a full customizable interface;
  • cue points and seeking within songs;
  • drag-and-drop; and
  • recursive directory scanning and playlist loading.
A source code distribution is available which requires the KDE environment for compilation.

[http://www.penultima.org/~iconnor/rasca/]

RasMol
A molecular graphics package intended for the visualization of proteins, nucleic acids and small molecules. It is aimed at the display, teaching and generation of publication quality images. RasMol reads in molecular coordinate files in a number of formats and interactively displays the molecule on the screen in a variety of color schemes and representations. Connectivity and secondary structure information are automatically calculated in not contained in the file.

The input file formats supported by RasMol are: Brookhaven Protein Databank (PDB), Tripos' Alchemy and Sybol Mol2 formats, Molecular Design Limited's (MDL) Mol format, the Minnesota Supercomputer Center's (MSC) XMol XYZ format and CHARMm format files. The loaded file can be displayed in several different ways: wireframe, cylinder (Dreiding) stick bonds, alpha-carbon trace, spacefilling (CPK) spheres, macromolecular ribbons (either smooth shaded solid ribbons or parallel strands), hydrogen bonding, and dot surface. Different parts of a molecule may be displayed and colored independently of the rest of the molecule or simultaneously shown in different representations. The displayed molecule can be rotated, translated, zoomed, z-clipped (slabbed) interactively using the mouse, the scroll bars, the command line, or an attached dials box. The resulting image can be written in in a variety of formats including both raster and vector PostScript, GIF, PPM, BMP, PICT, Sun rasterfile, MolScript input script, or Kinemage.

The source code is available and should readily install on generic UNIX/X11 platforms as well as on Mac, Windows and OS/2 platforms. The package is documented in a user's manual available in PostScript format.

[http://www.umass.edu/microbio/rasmol/index2.htm]

Raster3D
A set of tools for generating high quality raster images of proteins and other molecules. The core Raster3D program renders spheres, triangles, and cylinders with specular highlighting, Phong shading, and shadowing. An efficient software Z-buffer algorithm is used which is independent of hardware. Ancillary programs perform a variety of other tasks.

The programs comprising Raster3D are:

  • avs2ps, which converts an AVS image to monochrome PostScript;
  • balls, a preprocessor which prepares a description of a space-filling model;
  • normal3d, which applies coordinate manipulations to a file;
  • rastep, which reads a Brookhaven PDB coordinate file and creates a input file for render;
  • render, the central image rendering program of the package;
  • ribbon, a preprocessor which prepares a simple ribbon representation of a protein backbone;
  • rods, a preprocessor for ball and stick figures; and
  • stereo3d, a shell script that renders a single Raster3D input file as a side-by-side stereo pair.

A source code distribution of Raster3D is available. It contains makefiles for several platforms including Linux Intel. It is documented in a user's guide available in both PostScript and HTML formats. See also Merritt and Bacon (1997).

[http://www.bmsc.washington.edu/raster3d/raster3d.html]

RAT
The Robust Audio Tool is designed to allow users to talk to each other over the Multicast Backbone (MBone). RAT is designed to be adaptive to changing network and host conditions. Features of RAT include: use of a second low bandwidth version of the original signal piggy-backed on the original to provide a back-up for lost packets; adaptive scheduling protection which minimizes the end-to-end delay of the system and minimizes the gaps caused by late scheduling of the audio process by the host operating system; continuously update statistics about loss rates; a lip-synchronization option; and improved hands-free operation via an improved method of silence detection.

RAT is available in binary format for Sun SunOS and Solaris, SGI IRIX, Windows 95/NT, HP-UX and Linux Intel platforms. Documentation is contained in a man page as well as in several technical reports available in PostScript format.

[http://www-mice.cs.ucl.ac.uk/mice/rat/]

Ratatosk
A mail user application (MUA) with an X Window interface. Ratatosk features include:
  • a multilingual user interface (currently English, Swedish, and Italian);
  • MIME support in which incoming text in plain, GIF, or RFC-822 content type formats are decoded and shown if the character set is compatible;
  • support of MIME in headers;
  • support for the delivery status notifications (DSN) standard;
  • message composition using the built-in editor or via a chosen external editor;
  • a message database;
  • virtual folders;
  • message holding to put message composition on temporary hiatus;
  • a watcher utility which regulary checks the mailbox and notifies the user via an icon;
  • interfaces to standard UNIX mailboxes, POP, IMAP, and mh with messages sent by SMTP or by any user-configured program, e.g. sendmail.

The source code for Ratatosk is available. It is written in C and Tcl/Tk and requires Tcl 7.5 and Tk 4.1 or above. The program is documented in several ASCII files included in the distribution. This package is also known as TkRat.

[http://www.dtek.chalmers.se/~maf/ratatosk/]

RATC
RATional C is a macro package designed to update the control structures available in C. RATC is designed to use the standard C/C++ macro preprocessor and as such can be used by anyone with an ANSI C or C++ compiler. The new constructs available include if ... elseif ... else ... endif, while ... endwhile, repeat ... until and repeat ... aslongas, loop ... endloop, for ... endfor, context .. endcontext with leave and leaveif, switch ... case .. endcase ... default ... endswitch, breakif, continueif, ifx, func and endfunc, and several more.

[http://webster.ucr.edu/Page_cpp/randy_h.html]

RATFINK
A library of Tcl routines for generating RTF output. This also includes a Cost script for converting SGML to RTF.

[http://www.flightlab.com/cost/ratfink/]

RATFOR
A Fortran preprocessor that allows the use of C-like flow control expressions. The 7th Edition AT&T UNIX man page for Ratfor, written by Brian Kernighan, states that it ``attempts to conceal the main deficiencies of Fortran while retaining its desirable qualities, by providing decent flow control statements.'' The flow control enhancements include statement grouping via curly braces (e.g. to create do loops without statement numbers); if-else and switch statements for decision making; while, for, do, and repeat-until for looping; and break and next for controlling loop exits. It also provides some syntactic sugar including free form input (e.g. multiple statements per line; automatic continuation; an unobtrusive comment convention, translation of $>$, $>=$, etc. into .GT., .GE., etc.; a return(expression) statement for functions, a define statement for symbolic parameters, and an include statement for including source files. All of these are translated into Fortran 77 by Ratfor.

Kernighan goes on to say that, ``Once the control flow and cosmetic deficiencies of Fortran are hidden, the resulting language is remarkably pleasant to use. Ratfor programs are markedly easier to write, and to read, and thus easier to debug, maintain and modify than their Fortran equivalents.'' This is a public domain version of Ratfor which is not derived from AT&T code. It is written in C and derived from a pre-processor originally distributed by the University of Arizona, although is closely corresponds to the pre-processor described in the ``Software Tools'' book and the man page.

[http://sepwww.stanford.edu/software/ratfor.html]

rat7
A modified ratfor that works with g77 and outputs indented code using if/then/else, dowhile, exit and cycle.

[ftp://members.aol.com/n8tm/home.html]

RATlib
The Rectangular Access Tree library is a function library for inserting, deleting, acessing, and querying objects which can be described using 2-D rectangular regions. Each rectangular object is associated with an arbitrary (void *) which can be used to hold either raw data or a pointer to data. All objects are described with four parameters x, y, w, h where (x,y) is the center point and (w,h) the width and height of the rectangle. Supported queries include rectangle insersection and containment using an arbitrary query rectangle along with an exact/close match query. A source code distribution of the C library is available. It is documented in a technical report and in a set of man pages.

[http://www.cs.cmu.edu/afs/cs/project/pcvision/RATlib/www/ratlib.html]

RAToolSet
A suite of routing policy analysis tools including:
  • RTConfig, which generates router configurations from policies expressed in RPSL or RIPE-181 (and supports several public domain router languages);
  • roe, which lists the routines registered by a provider, highlighting the discrepancies between the registered routes and those actually being routed;
  • aoe, a GUI program that displays the aut-num object for an AS;
  • prpath, which enumerates a list of paths between two AS locations;
  • prcheck, which performs syntactic and semantic checking of registered aut-num objects;
  • peval, a low-level policy evaluation tool that can be used to write router configuration generators;
  • CIDR Advisor, which uses registered policies to suggest aggregations that do not violate policies or cause suboptimal routing;
  • pmatch, which, given a BGP route, lists all neighbors either exporting or importing this route to or from the provider; and
  • prtraceroute, which compares the result of a traceroute with policies registered in the IRR.

A source code distribution of RAToolSet is available. It is written in C++ and requires GCC 2.7.2 or higher and libg++ 2.7.2 or higher for compilation. The GUI tools also require Tcl/Tk 4.0 and 7.4, respectively, or higher.

[http://www.isi.edu/ra/]

Ra-vec
A vectorizing program designed to rapidly prototype 3-D worlds from line drawings, particularly architect's plans. It creates a 2-D vector file describing the features in a plan which can then be imported to AC3D and either extruded to produce a quick 3-D environment or used as the basis for a more detailed model. The only file type that Ra-vec can currently (4/97) import is an X11 bitmaps (XBM), but xv and other programs can convert quite a few raster file types into XBM so that's not a great limitation. The original image must be scanned using your choice of scanning hardware and software.

The source code for Ra-vec, written in C, is available and has been tested on SGI IRIX, Sun SunOS and Solaris, and Linux Intel platforms. A user's guide is available at the site in HTML format.

[http://www.comp.lancs.ac.uk/computing/users/aspinr/ra-vec.html]

rawrec/rawplay
Utilities designed to provide a simple way to record or play raw audio data from or to a sound card on Intel Linux platforms. The features include:
  • recording to or playing from standard I/O;
  • options to pause execution, pad with silence, jump into data files, control sampling rates, sample resolution and control number of channels;
  • an option to enable exact reporting of what the sound card is doing;
  • full buffering and threading for maximum performance; and
  • configurable buffer fragment size (if low latency operation is desired).

[http://anorien.images.alaska.edu/rawrec.html]

RawSoundStudio
A sound package for playing, recording and analyzing sound files. The collection of utilities comprising this package include:
  • rsrecord, for recording a sound file with a given quality;
  • rsplay, for playing sound files;
  • rscut, for cutting pieces out of a sound file;
  • rscat, for concatenating sound files;
  • rsstrip, for writing raw audio data;
  • rsdump, for dumping audio in data;
  • rsecho, for applying echo to a sound file;
  • rspitch, for applying a pitch shift;
  • rstora, for converting to RealAudio format;
  • rsfft, for dumping the FFT of a sound file;
  • rsview, for displaying the stats of a sound file;
  • rstomp3, convert to MP3 format; and
  • mp3tors, convert from MP3 format.
A source code distribution is available. This was created on and designed for Linux platforms.

[http://the-labs.com/RawSoundStudio/]

RawWrite
A utility for creating boot and root disks for Linux from within Windoze NT/95.

[http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm]

RAY
An ocean acoustic ray tracking program written in C. The distribution contains the source code, several Matlab programs for performing various tasks, and some examples. For documentation see Bowlin (1992).

[ftp://oalib.njit.edu/pub/ray/]

RAY++
A collection of C++ classes for performing various ray tracking tasks. A source code distribution is available.

[http://www.mpa-garching.mpg.de/~martin/ray++/raymain.html]

Rayshade
An extensible system for creating ray traced images that reads an ASCII file describing a scene and produces an image. The features of Rayshade include:
  • ten types of primitive objects, e.g. blobs, boxes, cones, cylinders, etc.;
  • use of uniform spatial subdivision or a hierarchy of bounding volumes to speed up rendering;
  • constructive solid geometry;
  • light sources including point, directional, extended, spot and quadrilateral;
  • solid procedural texturing, bump mapping, and 2-D image texture mapping;
  • antialiasing via variable-rate sampling;
  • arbitrary linear transformations of objects and texture/bump maps;
  • rudimentary animation support;
  • rendering stereo pairs; and
  • extensibility, i.e. easy addition of new geometry, textures or other features.

A source code distribution of Rayshade is available which can be compiled and installed on most UNIX varieties. It includes the source, example input files, a user's guide, and tools for converting scene descriptions from other formats into that of rayshade.

[http://www-graphics.stanford.edu/~cek/rayshade/]

ray tracing
Available programs include:
  • AERO, a package for simulating rigid body systems with ray tracing capabilities;
  • BMRT, a collection of rendering programs that adhere to the RenderMan interface standard;
  • DragonRay, a package similar to POV-Ray in design;
  • GOOD, an interactive environment for creating 3-D graphics that has ray tracing capabilities;
  • Panorama, a framework for creating, rendering, and processing 3-D images;
  • Pixcon/Anitroll, a 3-D animation and rendering package;
  • POV-Ray, the most reknowned and widely used ray tracking package;
  • Radiance, a package for lighting design and rendering;
  • RAY++, a C++ library for ray tracing;
  • Rayshade, a system for generating ray traced images;
  • RenderPark, a photorealistic rendering tool;
  • RTrace, a ray tracing program;
  • SART, a library for ray tracing and high-complexity 3-D modeling;
  • synpic, a ray tracking package;
  • VORT, a collection of tools and a library for the generation and manipulation of images;

rc
The AT&T Plan 9 shell ported to UNIX. It features a minimal and easy to understand syntax and conditional and loop structures that are more like C than those in csh. Quoting has also been simplified. Signal handlers are written as functions with special anmes instead of using strings and I/O redirection is more powerful. See the rc FAQ for further details.

[ftp://ftp.cc.gatech.edu/pub/linux/system/shells/]

RCOS.java
A tool designed to help understand the inner workings of an operating system, RCOS.java is an animated, multi-tasking OS which runs on simulated hardware. It is designed to demonstrate general OS principles via controlled animation, and as such allows students to modify, experiment with, and compare different data structures and algorithms. As you might have guessed, this is written in Java.

[http://cq-pan.cqu.edu.au/rcos/]

RCS
The Revision Control System software manages multiple revisions of files. It can store, retrieve, log, identify, and merge revisions. It is useful for files that are revised frequently, e.g. programs, documentation, graphics, and papers. This is a GNU package with the usual configure file that should facilitate easy compilation and installation on numerous systems, including Linux. See Bolinger and Bronson (1995).

[http://www.gnu.ai.mit.edu/order/ftp.html]

RCS (Control)
The Real-time Control Systems library is an archive of C++ code, scripts, makefiles and documentation developed to aid programmers of software to be used in real-time control systems. It is a class library intended for multi-platform real-time distributed applications. The components of RCS include:
  • lower level classes and functions including timer, semaphore, linked list, print and Internet classes with which the higher level utilities are built;
  • the Communication Management System (CMS), which provides access to a fixed-size buffer of general data to multiple reader or writer processes on the same processor, across a backplane, or over a network;
  • the Neutral Manufacturing Language (NML), which provides a high-level interface to CMS, i.e. a mechanism for handling multiple types of messages in the same buffer as well as a simplified interface for encoding and decoding buffers in neutral format;
  • a PoseMath library containing classes for representing positions, translations and rotations in several different coordinate systems; and
  • an RCS Design Tool written in Java that allows programmers to create applications graphically and which generates source code.
A source code distribution is available which has been successfully compiled on a wide range of platforms including Linux Intel. Much documentation is available in hypertext format.

[http://isd.cme.nist.gov/proj/rcs_lib/]

rdb
A database package that uses cdb to store the database and a variant of chained hashing for the in-memory structure. This is primarily meant for databases that are mostly read rather than written. A source code distribution is available.

[http://www.math.fu-berlin.de/~leitner/rdb/]

RDF
The Resource Description Framework is a specification designed to provide an infrastructure to support metadata across a wide range of web-based activities. RDF aims to provide a robust and flexible architecture for supporting metadata with example applications including sitemaps, content ratings, stream channel definitions, search engine data collection, digital library collections, and distributed authoring. It will use XML as a transfer syntax to leverage other tools and code bases being built around that standard. This builds on top of SAX.

[http://www.w3.org/RDF/Overview.html]
[http://www.cs.ukc.ac.uk/people/staff/djb1/research/metadata/rdf.shtml]

SiRPAC
An RDF parser and compiler that compiles RDF/XML documents into the 3-tuples of the corresponding RDF data model. The parser can also be configured to automatically fetch corresponding RDF schema from their declared namespaces.

[http://www.w3.org/RDF/Implementations/SiRPAC/]

RDist
A program for maintaining identical copies of files over multiple hosts. RDist preserves the owner, group, mode, and mtime of files if possible and can update programs that are executing. This version doesn't need to be run as root, can be used with ssh, supports automatic system determination and configuration for pre-ported platforms, can run the m4 preprocessor before processing, will check free space and files on a filesystem before installing, can update multiple hosts concurrently via rdist, and more.

A source code distribution of RDist is available as are binaries for several platforms including Linux Intel. It is documented in an extensive man page.

[http://www.magnicomp.com/rdist/rdist.shtml]

RDP
A parser generator which compiles attributed LL(1) grammars decorated with C semantic actions into recursive descent compilers. RDP was written in strict ANSI C and produces strict ANSI C. It was created for a course on compiler design to enable undergraduates to get through the early parts of the syllabus in just a few weeks.

The features of RDP include:

  • it is C++ clean, i.e. there are no identifiers used that clash with C++ reserved words;
  • use of standard library modules to manage symbol tables, sets, graphs, memory allocation, text buffering, and command line argument processing and scanning;
  • production of complete runnable programs with built-in help information and command line switches specified as part of the EBNF file;
  • text buffering routines that automatically handle nested files, error message reporting, and text data buffering to provide an efficient, general purpose front end;
  • a graph handling package that provides a general framework for building graph data structures;
  • self-generation, i.e. it can generate itself; and
  • support for parameter passing into parser functions.

A source code distribution of RDP is available. It includes the machine generated source code for the translator, the EBNF file describing RDP that was processed by the RDP executable to produce its own source code, EBNF files for several mini-languages, an EBNF file for a Pascal-like language, an ANSI C pretty printer written using RDP, a set of wrapper functions for standard C memory allocation routines, a programmable scanner, a standard text buffering package, makefiles for several platforms including Linux Intel, and documentation in the form of a tutorial, reference manuals, and case study manuals.

[http://www.dcs.rhbnc.ac.uk/research/languages/rdp.shtml]

rdumpit
A Bourne shell script for dumping UNIX filesystems to 4 mm DAT tape drives. The tape can be locally or remotely mounted and the script should work in just about any UNIX environment. A source code distribution is available.

[http://www.epok.demon.co.uk/html/products/rdumpit.html]

Reactive-C
A C-based language for reactive programming implemented as a C preprocessor. Reactive programs are those which react continuously to sequences of activations from the external world, which leads to a new programming style in which one programs in terms of reactions to activations and reasons in a logic of instants. Reactive programs can react differently to successive activations within a paradigm in which a logical time is induced by sequences of actions, with each activation/reaction pair called an instant. Reasoning is thus carried out by reference to instants.

Reactive-C serves as the basis for several additional formalisms. Nets of Reactive Processes (NRP) are programs consisting of reactive processes executed in parallel and communicating through unbounded FIFO files called channels. This is a method for using R-C to implement synchronous models with asynchronous communications. The Synchronous Language (SL) is a language in which reactions are instantaneous. This apparoach allows the expressive simplicity and power of parallelism, the ease of specification and debugging for deterministic programs, and the power and modularity of broadcast and instantaneous dialogs. The Reactive Object Model (ROM) merges an object approach with the notion of a global instant to allow methods to be invoked using instantaneous non-blocking send orders which are processed immediately, although not more than once at each instant. This leads to an approach wherein systems are decomposed into reactive areas where agents communicate inside their area via instantaneous orders and between distinct areas by unbounded delay orders. A Reactive Script is a program represented as a character string and intended to be run by a reactive interpreter, which is a broadcast event driven interpreter which can react to several commands in parallel. Icobj programming is a simple and fully graphical programming method which uses a powerful method to combine behaviors. It is based on the idea of an icobj which has behavioral, graphical, and animation aspects. This provides parallelism, broadcast event communication, and migration through the network. This project is also working on a set of Java classes for implementing event based, parallel, and reactive systems called SugarCubes which are used to implement reactive scripts and icobj programming on top of the Java language.

A software package containing the Reactive-C implementation and various derived packages is available for various platforms. This package includes: rcc, the Reactive-C compiler; nrp, an implementation of Nets of Reactive Processes; sl, an implementation of the SL synchronous language; ro, an implementation of reactive objects; icobj, a visual programming demonstration based on reactive scripts; and a reactive script interpreter on top of Tcl/Tk. Various manuals and technical reports are available for most of these in PostScript format. See Boussinot (1991), Boussinot (1996), and Boussinot and de Simone (1996).

[http://www.inria.fr/meije/rc/
general-presentation.html]

reactive programming
Programming systems which maintain a permanent interaction with their environment, reacting to inputs coming from the environment by sending output to it. A reactive system is one whose main component is a reactive program, and examples of such systems include real-time process controllers, signal processing units, digital watches, and video games. Examples of reactive programs embedded in larger systems include operating system drivers, mouse/keyboard interface drivers, and communication protocol emitters and receivers. Reactive programs are usuallly thought to consists of three layers: an interface with the environment which is in charge of input reception and output production, i.e. it transforms external physical events into internal logical events and vice versa; a reactive kernel which contains the logic of the system and handles logical inputs and outputs; and a data handling layer which performs the computations requested by the reactive kernel.

Available reactive programming language systems include Esterel and Reactive-C. See Halbwachs (1993).

Real-Time Linux
An extension to Linux which allows the handling of time-critical tasks, even hard real-time tasks. The real-time capabilities are accomplished mainly by the insertion of a Real-Time Kernel Layer between the Linux kernel and hardware interrupts. This eliminates the large interrupt latency which is currently the main source of difficulties in using Linux for such tasks. The Linux kernel is just another real-time task under the RT-Kernel, one with the lowest priority which can be preempted when needed. While this makes it difficult to use Linux drivers and networking, it does allow data to be transferred to and from ordinary Linux processes through memory buffers. Simple FIFOs are implemented for transferring data betwee real-time processes and Linux processes. A typical application consists of real-time tasks that deal directly with hardware, e.g. acquiring data from a device, and Linux tasks which perform non-real-time processing such as recording the data on a disk or sending it over a network.

The Real-Time Linux distribution contains a kernel patch, a library to link with Linux processes, some documentation in HTML format, and some test examples. A couple of technical papers in PostScript format are also available.

[http://luz.cs.nmt.edu/~rtlinux/]

real-time operating systems
Operating systems for tasks that absolutely, positively need to be performed in real time. Eventually we'll have a list of the freely available ones here. Until, then check the given URL.

Available real-time OSs include:

[http://www.cornfed.com/realtime/]
[http://www.eg3.com/real/freertos.htm]
[http://www.ifi.unizh.ch/groups/ailab/links/embedded.html]
[http://www.realtime-info.be/]

REBOL
A network messaging language designed to revolutionize the exchange and interpretation of information on the Internet, REBOL is designed to be powerful yet simple and easy to use for people who speak English rather than binary. It is also designed specifically for network messaging applications that exchange information. REBOL is a first-class functional language with minimal syntax, powerful semantics, integrated networking, system independence, and a small size. The kernel provides first-class datatypes and functions, lexical scoping with rebinding, strong typing, automatic storage management, indefinite extent, higher order functions, objects and packages, nested definitions, continuation passing, tail recursion, exception handling, and word aliasing.

The REBOL language provides:

  • a rich set of built-in datatypes;
  • consistent aggregate datatypes;
  • symbolic use of words;
  • dialecting, i.e. context dependent grammars;
  • reflection, i.e. its own meta-language;
  • consistent module headers;
  • message ports; and
  • pattern matching and output formatting dialects.
Planned (10/98) features include multithreading, graphics, sound, multimedia, a GUI, Unicode support and embedded commenting.

Binary distributions of REBOL are freely available for several platforms including Linux. Documentation available in HTML format includes quick start, user's and expert's guides.

[http://www.rebol.com/]

recode
A library and program for converting files between character sets and usages. It can recognize or produce more than 300 character sets and transliterate files between almost any pair. If an exact transliteration isn't possible, it gets rid of the offending characters or falls back on approximations.

[http://www.iro.umontreal.ca/~pinard/recode/HTML/]

recover
A utility for recovering deleted files. This basically automates some of the steps described in the HOWTO that describes how to undelete files on an ext2fs filesystem. The procedure involves first seeking all deleted inodes with the debugfs utility, and then asking a series of questions to narrow down the list of possibilities. Candidate inodes are dumped into a chosen directory in which they can be further perused.

[http://users.linuxbox.com/~recover/]

Red
A GUI text editor. Its features include the graphical interface, full mouse and key support, 40 step undo and redo, user-definable key bindings, automatic backup creation, cut/paste exchange with other X applications, an online function list, help pages and a manual. It is available in source code form and requires X Windows, Motif and a C++ compiler to install. The G++ compiler has been successfully used to compile this on Sun and Linux platforms.

[http://www.sd.monash.edu.au/~mik/red-manual/]

redirex
A Perl program that redirects HTTP requests to a new Web server. This is useful for situations where Web pages are moved from one machine to another and you want to automatically redirect requests made to the old machine to the new machine. It receives requests at the address of the old server and responds with HTTP redirect replies that indicating the new server's name.

[http://www.fourmilab.ch/webtools/redirex/]

REGAL
A distributed genetic algorithm-based system designed for learning First Order Logic concept descriptions from examples. REGAL is based on a selection operator called Universal Suffrage which provably allows the population to asymptotically converge, on average, to an equilibrium state in which several species coexist. The population constitutes a redundant set of partial concept descriptions, each separately evolved. REGAL has a graphical interface based on Tcl/Tk.

A source code distribution of REGAL is available. It is written in ANSI C and can be compiled and used on most UNIX systems. The full use of REGAL additionally requires PVM, Tcl/Tk, and BLT. See Giordana and Saitta (1993).

[ftp://ftp.di.unito.it/pub/MLprog/REGAL3.2]

Regarima
A Fortran program for the analysis of time series via REGression models with errors that follow ARIMA models. This is designed for model building with seasonal economic time series and includes several categories of predefined regression variables such as trend constants, overall means, fixed seasonal effects, trading-day effects, holiday effects, pulse effects (additive outliers), level shifts, and temporary ramp effects. It provides capabilities for the three modeling stages of identification, estimation, and diagnostic checking. A source code distribution is available as is a user's manual in the usual formats.

[ftp://ftp.census.gov/pub/ts/regarima/]

Regexx
A complete POSIX 1003.2 compliant regular expression library written in C++. It implements expression execution, global searching, replace with atom substitution, customized replaces, easy matches, and atom string retrieval.

[http://projects.nn.com.br/regexx/]

Regina
An implementation of the REXX language developed by Anders Christensen. It is currently (2/96) still in beta release. This interpreter can be built on most generic UNIX platforms with an ANSI C compiler, a lex program, and a yacc program. The author states that he has successfully compiled Regina on a Linux box using the GNU versions of the abovementioned tools. A manual (as yet incomplete) in LaTeX form is included with the distribution.

[http://www.lightlink.com/hessling/Regina/]

Regis
A programming environment for constructing distributed programs and systems. More later.

[http://www-dse.doc.ic.ac.uk/~regis/regis.html]

regridpack
A package of Fortran subroutines for transferring values between one, two, three and four dimensional arrays defined on uniform and nonuniform orthogonal grids, i.e. for regridding. Linear or cubic interpolation can be selected independently in each dimension, and extrapolation is not performed. The subroutine source code and example driver programs are available. The documentation is contained within a README file and in the source code of each routine. This used to be called TCLPACK.

[ftp://ftp.ucar.edu/dsl/lib/regridpack/]

Regularization Tools
A collection of Matlab programs (m-files) for performing experiments with numerical methods for analysis and for the solution of discrete ill-posed problems. Ill-posed problems are those in which the solution is not unique or is not a continuous function of the data, i.e. if an arbitrarily small perturbation of the data can cause an arbitrarily large perturbation of the solution. This sort of problem arises in most areas of science and engineering. Many of the routines in the package are based on the singular value decomposition (SVD) and the generalized SVD. The package is not optimized for efficiency since it is meant more as an exploratory environment than a production environment.

The routines available in the Tools package include:

  • cg, for computing the least squares solution based on k steps of the conjugate gradient algorithm;
  • discrep, which minimizes the solution norm subject to an upper bound on the residual norm;
  • dsvd, which computes a damped SVD/GSVD solution;
  • lsqi, which minimizes the residual norm subject to an upper bound on the norm of the solution;
  • lsqr, which computes the least squares solution based on k steps of the LSQR algorithm;
  • maxent, which computes the maximum entropy regularized solution;
  • mtsvd, which computes the modified TSVD solution;
  • nu, which computes the solution based on k steps of Brakhage's iterative nu-method;
  • pcg, the same as cg for general-form regularization;
  • plsqr, the same as lsqr for general-form regularization;
  • pnu, the same as nu for general-form regularization;
  • tgsvd, which computes the truncated GSVD solution;
  • tkhonov, which computes the Tikhonov regularized solution;
  • tls, which computes the truncated TLS solution; and
  • tsvd, which computes the truncated SVD solution.
The package also contains several analysis routines, routines for transforming a problem in general form into one of standard form and back again, and utility and auxiliary routines for performing various linear algebra tasks.

The Regularization Tools package can be used with Matlab or with the freely available Octave which can run most Matlab m-files. It is extensively documented in a 140 page user's guide and reference manual in PostScript format.

[http://www.mathworks.com/ftp/linalgv5.shtml]
[http://www.mathworks.com/ftp/linalgv4.shtml]

regutils
A collection of programs to aid in installing DOS/Windows software for diskless machines from a UNIX server. They can also be used to apply user- and machine-specific customizations on the fly as users log in or as machines are booted. The programs in the package include:
  • inicat, for concatenating DOS/Windows .ini files;
  • inidiff, for finding the differences between .ini files;
  • iniedit, for editing .ini files;
  • inifilter, for filtering an .ini file by making substitutions and deletions to keys and entries;
  • regdiff, for generating the differences between Windows registries;
  • regedit, for dumping or editing a binary registry file;
  • regfilter, for filtering a registry dump;
  • reghexprint, for printing hex entries in registry dumps as characters;
  • regsort, for sorting a dump of a registry file;
  • gen-app-changes, for generating a categorized, filtered and generally munged set of differences suitable for automatic application by apply-app-changes;
  • apply-app-changes, for applying a set of changes to the shared Windows files as well as to the client and user profile files; and
  • fix-w9x-lnk, for fixing the paths and flags in a .lnk file.
A source code distribution of these programs is available.

[http://www.cs.mun.ca/~michael/regutils/]

reiserfs
A file system that uses a variant of classical balanced tree algorithms which can be more effective then extfs for large files and small files not near node size in time performance, become less effective in time performance and more significantly effective in space performance as one approaches files close to the node size, and become markedly more effective in both space and time as file size decreases substantially below node size (i.e. 4k), reaching order of magnitude advantages for file sizes on the order of 100 bytes. This is available as a source code distribution which is used to modify the kernel before recompilation.

[http://idiom.com/~beverly/reiserfs.html]
[http://devlinux.com/namesys/]

rel
A suite of programs and tools for building wide area full text information retrieval systems over the Internet. It has search mechanisms capable of sorting documents by relevance to keyword search criteria, support for boolean operations on multiple keywrods, and the capability for phonetic keyword searching. The programs in the suite include:
  • rel, orders the relevance of text documents to a search criteria;
  • rels, orders the relevance of text documents to a simple phonetic search criteria;
  • relx, orders the relevance of text documents to a more complicated phonetic search criteria;
  • htmlrel, orders the relevance of HTML text documents to a search criteria;
  • htmlrels, orders the relevance of HTML text documents to a simple phonetic search criteria;
  • htmlrelx, orders the relevance of HTML text documents to a more complicated phonetic search criteria;
  • wgetrel, searches Web pages for documents relevant to a search criteria;
  • wgetrels, searches Web pages for documents relevant to a simple phonetic search criteria; and
  • wgetrelx, searches Web pages for documents relevant to a more complicated phonetic search criteria.
A source code distribution of this program suite is available.

[http://www2.inow.com/~conover/nformatix/]

Remembrance Agent
A program that augments human memory by displaying a list of documents which might be relevant to the user's current context. RA runs continuously in the background and an unobtrusive interface allows the user to pursue or ignore its suggestions. It consists of two parts: a front end that continuously watches what the user types and reads and a back end that finds old email, notes files, and online documents which are somehow relevant to the user's context. The front end currently (5/98) runs in Elisp under Emacs. It displays one-line suggestions at the bottom of the Emacs display buffer along with a numeric rating of how relevant it thinks the document is. The full text of the suggested document can be brought up with just a keystroke or two. The back end is presently the SMART information retrieval program, which decides document similarity based on the frequency of words common to the query and reference documents. It indexes all sources nightly and supplies relevant documents based on the query text supplied by the front end.

A source code distribution of RA is available. The back end is written in C and the front end in Elisp for Emacs. Documentation is contained within a README file included in the distribution. Further information can be found at the web site.

[http://rhodes.www.media.mit.edu/people/rhodes/Remembrance-distribution/]

remind
A sophisticated alarm and calendar program. It handles the common and Hebrew calendars, produces PostScript output, calculates sunrise, sunset and moon phases, is multilingual, and can do complicated date calculations. It also includes a WWW server.

[ftp://ftp.doe.carleton.ca/pub/remind-3.0]

RenderPark
A photorealistic rendering tool whose goal is to offer a solid implementation of several existing photorealistic rendering algorithms to compare them, evaluate their benefits and shortcomings, find solutions to the latter, and develop newer and better algorithms. The algorithms implemented in RenderPark include:
  • Galerkin radiosity (gathering and shooting) with or without hierarchical refinement, higher-order approximations, clustering, and view importance;
  • stochastic ray radiosity;
  • ray casting; and
  • classic and stochastic ray tracing.
A source code distribution is available. It is written in C and has been test on Linux Intel amongst other platforms.

[http://www.cs.kuleuven.ac.be/cwis/research/graphics/RENDERPARK/]

Rendez-Vous
An Internet videoconferencing tool developed as a successor to IVS. It is an experimental research tool developed as a testbed for such topics as layered video and audio transport and coding, Forward Error Correction for video and audio on the Internet, and wireless and satellite link access to the Internet. The features of Rendez-Vous include:
  • RTP protocol support over multicast or unicast IP;
  • support for the H261 video standard;
  • high quality PCMU, ADPCM, VADPCM and low bandwidth GSM and LPC audio coding;
  • MPEG 1/2 file reading and transcoding;
  • an integrated scheduler for multilayer video and audio flow management and processing;
  • a flexible interface written in C++;
  • support for layered coding and transmission of video and audio flows;
  • experimental multiresolution DCT video codecs; and
  • application level hierarchical FEC.

Distributions of Rendez-Vous are available for Sun Solaris, Linux Intel and FreeBSD Intel platforms. Documentation is sketchy and scattered about in several ASCII text files.

[http://www.inria.fr/rodeo/personnel/Frank.Lyonnet/IVStng/]

Replay+
A multi-game arcade emulator that emulates the behavior of the original Arcade machines. This is written in C++. Source code and binary distributions are available, with the latter including a Linux Intel binary.

[http://www.icomm.ca/replay/]

ReportLab
A library for creating PDF documents using the Python language. The package is broken into several subpackages or libraries including:
  • pdfgen, a low-level user interface to the PDF format for creating individual shapes and lines of text;
  • pdfbase, a non-public interface containing code to handle the outer structure of PDF files as well as utilities to handle text metrics and compressed streams;
  • platypus, a high-level user interface (for Page LAyout and TYPography Using Scripts) for dealing with paragraphs, frames on the page, and document templates; and
  • lib, containing code that cuts across both the other user interface libraries, e.g. code for standard colors, units and page sizes.

[http://www.reportlab.com/about.html]

req
A email-based request tracking system based on people with problems or questions sending requests via email to a group responsible for dealing with those problems. The package consists of several individual tools including:
  • q, lists the requests in the queue;
  • req, performs operations on requests in the queue;
  • reqshow, shows the entirety of a request;
  • reqtail, watches the req log file;
  • reqglimpse, uses Glimpse to search the requests;
  • reqstat, calculates and provides simple statistics;
  • status, lists the requests in the system owned by the person running the program;
  • req-mailgate, a mail gateway for the system; and
  • req-nextnum, generates numbers for tagging requests with unique IDs.
A source code distribution is available. This is written mostly in Perl and has command-line, X11 and Emacs interfaces. The individual programs are documented in man pages.

[http://www.ccs.neu.edu/software/ccs/req/]

Request
A package designed to provide functionality essential to task management including a selection of user interfaces, support for multiple database backends, flexible security controls, and extensive reporting capabilities. Other features include:
  • running cleanly in homogeneous environments, even those degraded by a pack of Windoze lusers;
  • command-line, email and Web interfaces;
  • an extension interface allowing the system to be accessed from other programs, scripts or interfaces;
  • separate modules for processing authentication, notification, data storage and logging;
  • a standardized logging mechanism;
  • common notification methods; and
  • new fields for storing information about time spent and task priority that retain a history of assignments for each user.
A source code distribution of this Perl package is available.

[http://www.noc.isite.net/software/Request/]

Restore
A Fortran 90 code that uses various geologic data (e.g. fault offsets and strains in balance cross-sections, latitude anomalies and vertical-axis rotations from paleomagnetism, and paleostress directions) to compute paleotectonic flow and deformation patterns. It also integrates them backward over time to create palinspastic restorations.

[ftp://element.ess.ucla.edu/restore/]

retepPDF
A PDF library that allows any Java application capable of printing to generate PDF files. A source code version of the library is available.

[http://www.retep.org.uk/pdf/]

REXEC
A secure, decentralized remote execution system for computer clusters. REXEC provides high availability, scalability, transparent remote execution, dynamic cluster configuration, decoupled node discovery and selection, a well-defined failure and cleanup model, parallel and distributed program support, and strong authentication and encryption. The system architecture is organized around three types of entities:
  • rexecd, a daemon that runs on each cluster node;
  • rexec, a client program that users run to execute jobs; and
  • vexecd, a replicated daemon providing node discovery and selection services.

The functions of the rexec client are:

  • selection of nodes based on user preferences; and
  • remote execution of the user's application on the selected nodes via direct SSL-encrypted TCP connections to node rexecd daemons.

[http://www.cs.berkeley.edu/~bnc/rexec/]

REXPU
A program for the calculation of exponentially distributed random numbers. This is TOMS algorithm number 780 and is documented in Hamilton (1998).

[http://www.acm.org/calgo/contents/]

REXX
A procedural programming language that allows programs and algorithms to be written in a clear and structured way. It is also designed to be used as a macro language by arbitrary application programs so that application developers don't have to design their own macro languages and interpreters. It was originally developed for IBM mainframes but there are now ports to other platforms. UNIX-based REXX implementations include:

Various REXX add-ons, extensions, etc. include:

  • Rexx/SQL, provides a REXX interface to a wide range of SQL databases;
  • Rexx/Tk, a GUI programming library that combines a REXX programming front-end with a Tk widget back-end;
  • Rexx/Trans, a dynamic link or shared library that translates REXX API calls from an external function package into calls specific to a particular interpreter;
  • Rexx/Wrapper, a tool that wraps REXX source code into an executable;
  • RxSock, a REXX interface to SOCKS.
See also the REXX Language Association site. See Daney (1992).

[http://www2.hursley.ibm.com/rexx/]

REXXimc
An implementation of an interpreter for the REXX language. It is written in ANSI C and will compile using the GCC compiler. The included make file is set up with definitions for several UNIX platforms, including Linux. A reference and users manual is also available.

[http://users.comlab.ox.ac.uk/ian.collier/Rexx/rexximc.html]

Rexx/SQL
A package that provides a consistent, simple and powerful REXX interface to a wide range of SQL databases. Simultaneous multiple connections to different databases from different vendors can be realized, as well as simultaneous multiple statements open on each database connection.

[http://www.lightlink.com/hessling/REXXSQL/]

Rexx/Tk
A GUI programming library that combines a REXX programming front-end with a Tk widget back-end.

[http://www.metronet.com/~ocon/rexxtk/]

Rexx/Trans
A dynamic link library or shared library that translates REXX calls from an external function package or application into API calls specific to a particular interpreter. A version of this is planned (2/00) for UNIX platforms.

[http://www.lightlink.com/hessling/RexxTrans/]

Rexx/Wrapper
A tool that wraps a REXX source code file into an executable. The source code can be optionally compressed and encoded. This requires a supported REXX interpreter and a supported C compiler.

[http://www.lightlink.com/hessling/RexxWrapper/]

RFC
The Request For Comments documents are a series of numbered reports in which documentation for Internet standards is maintained, although not all of the RFCs contain standards. RFC 1594, entitled ``FYI on Questions and Answers,'' describes RFCs as ``... working notes of the Internet research and development community. A document in this series may be on essentially any topic related to computer communication, and may be anything from a meeting report to the specification of a standard. ... Once a document is assigned an RFC number and published, that RFC is never revised or re-issued with the same number. ... However, a protocol may be improved and re-documented many times in several different RFCs.'' Memos proposed to be RFCs can be submitted by anyone, although most are created by Internet Engineering Task Force (IETF) working groups.

RFCs can be divided into four groups based on naming conventions:

  • Best Current Practices (BCP) RFCs, which describe best current practices for the Internet community and must go through a review process to earn the technical approval of the IETF (although they do not become standards);
  • For Your Information (FYI) RFCs, which are informative and explanatory in nature and can address any topic of interest to the Internet community;
  • Standards (STD) RFCs, which contain technical information that either has attained the status of Internet Standard or is on track to becoming one (with those that have been standardized carrying the STD label);
  • Other RFCs, a catch-all group containing RFCs that aren't BCP, FYI, or STD RFCs but still are technical and relate in some way to an Internet protocol.
Beginning with RFC 899, all those ending in 99 are reserved to summarize the preceding 99 RFCs.

There are currently (4/98) over 2200 RFC documents with some of the more well known ones dealing with Internet standards including 768 (UDP), 793 (TCP), 821 (SMTP), 822 (Mail), 854 (Telnet), 959 (FTP), 977 (NNTP), 1001 (NetBIOS), 1034 (DNS), 1122 (TCP/IP), 1661 (PPP), HTML 2.0 (1866), and HTTP (2068). Other RFCs of more than passing interest include ``The RFC Reference Guide'' (1000), ``A TCP/IP Tutorial'' (1180), ``A Glossary of Networking Terms'' (1208), ``Internet Users' Glossary'' (1983), and ``The Internet Standards Process - Revision 3'' (2026).

[http://ds.internic.net/]
[http://www.ietf.org/]
[http://www.faqs.org/rfcs/]

RGBI3P/RGSF3P
A local algorithm for smooth surface fitting for rectangular grid data with the accuracy of a bicubic polynomial. This is TOMS algorithm 760 and is documented in Akima (1996a).

[http://www.acm.org/calgo/contents/]

Rheolef
A C++ library and various programs that comprise a laboratory for experimenting with finite element methods. Built-in classes are provided for solving various linear and nonlinear PDEs. The programs in the package include:
  • poiseuille2d, solves for the Poiseuille flow of a Bingham fluid (i.e. the Mossolov problem) in a square container;
  • p2d_post, Poiseuille flow post processor;
  • bamg2geo, converts a BAMG mesh into GEO format;
  • geo, plots a finite element mesh;
  • space, prints a finite element space;
  • field, plots a field;
  • mfield, plots multiple fields;
  • robin, sets up Robin boundary conditions;
  • proj, projects a finite element field on a finite element space;
  • hb, plots or manipulates a sparse matrix;
  • makefish, creates a Poisson matrix;
  • makefish3d, creates a 3-D Poisson matrix;
  • lehmer, creates a symmetric, positive definite N by N matrix;
  • wathen, generates a N by N finite element matrix;
  • rheolef_cfg, locates linking libraries.

The C++ classes include:

  • geo, finite element mesh class;
  • domain, a container for a part of a finite element mesh;
  • geo_element, defines geometric elements and sides as a set of vertices and edge indexes;
  • space, defines a piecewise polynomial finite element space;
  • field, stores degrees of freedom associated with a mesh and a piecewise polynomial approximation;
  • form, groups sparse matrices associated with a bilinear form on finite element spaces;
  • form_diag, implements a form using a diagonal matrix;
  • trace, restricts a field to the values located in a boundary value domain;
  • form_diag_manip, build a form_diag on a product space;
  • base, contains the approximation type and the evaluation of the basis functions;
  • vec, implements an array as a dense vector;
  • csr, implements a matrix in compressed sparse row format;
  • ssk, implements a symmetric matrix Choleski factorization;
  • diag, implements a diagonal matrix;
  • permutation, implements a permutation matrix;
  • occurence, for memory management;
  • vector, implements a reference counting wrapper for the STL vector container class;
  • iorheo, input and output functions and manipulations;
  • irheostream and orheostream, implement a stream interface for managing large data streams;
  • ipstream and opstream, for initiating pipe I/O; and
  • acinclude, autoconf macros.

The algorithms implemented include:

  • cg_abtbc, a conjugate gradient algorithm for solving for the pressure in stabilized Stokes problems;
  • cgup_abtbc, cg_abtbc with a block diagonal preconditioner;
  • urm_abtbc, a Uzawa algorithm with a block diagonal preconditioner for the stabilized Stokes system;
  • stokes_problem, a general class for supplying algorithms for solving the Stokes problem;
  • stokes_solver, wrappers for algorithms;
  • cg, the conjugate gradient algorithm;
  • bicgstab, the bi-conjugate gradient stabilized method;
  • gmres, generalized minimum residual method;
  • qmr, the quasi-minimal residual algorithm; and
  • uzawa_abtb, a mixed linear solver using the Uzawa algorithm with a block diagonal preconditioner.

[http://www-lmc.imag.fr/lmc-edp/Pierre.Saramito/rheolef/]

RHIDE
An integrated development environment (IDE) for DJGPP which provides a friendly user interface to the compilers which come with DJGPP, e.g. gcc. A version is also available which provides an IDE for developing Linux applications.

The capabilities of RHIDE include:

  • compilation of programs without knowing the exact command line syntax of your compiler;
  • compilation of collections of source files belonging to specific projects;
  • syntax highlighting for C/C++ and Pascal files and headers;
  • an integrated debugger allowing debugging from within RHIDE; and
  • easy customizability of colors, screen mode, compilers, compiler options, language, etc.

A binary version of RHIDE is available for Linux Intel platforms. It is extensively documented in a user's manual available in both HTML and PostScript formats.

[http://www.tu-chemnitz.de/~sho/rho/rhide-1.4/rhide.html]

RHMAPPER
A gene map analysis software package for creating radiation hybrid maps. It is designed to accomodate very large maps and has been used to create whole genome maps containing thousands of markers. The features of RHMAPPER include:
  • use of a hidden Markov model to perform maximum likelihood calculations on multipoint maps;
  • accomodation of laboratory errors via false positive and negative rates a priori and allowing for such error in the calculation;
  • detection of laboratory error by flagging individual assays with a high probability of being erroneous;
  • a client/server architecture which allows the map building routines to be easily modified; and
  • a built-in extensible interpreted programming language.
A source code distribution is available. About 90% is written in Perl with the rest C. Various other common programs are required for full use of RHMAPPER. A user's manual is available in HTML format.

[http://waldo.wi.mit.edu/ftp/distribution/software/rhmapper/]

RIACS
The RIACS Intelligent Auditing and Categorizing System is an auditing package in the form of a sophisticated file scanning system. This is composed of a master shell program and several ancillary programs used by it for various tasks. These programs are:
  • audit, the master shell program for auditing a file system for security or accounting problems by scanning the filesystem and comparing the results to a master file;
  • auditcomm, displays lines not in common between two sorted lists using wildcards;
  • auditfmt, formats output from a file system audit;
  • auditgrep, searches for strings that match a field in a file;
  • auditls, lists a file system in an auditable form;
  • auditmail, mails a file system audit to specified users;
  • auditmerge, merges old and new master files;
  • auditpnm, prints line that don't match between two files;
  • auditscan, scans file systems while printing file characteristics;
  • rinstall, installs the programs for auditing on a client;
  • runaudit, a shell script for auditing multiple file systems;
  • cdes, encrypts/decrypts using DES; and
  • timeout, terminates an idle program.

[ftp://coast.cs.purdue.edu/pub/tools/unix/binaudit/]

RIB
Repository In a Box is a package for setting up and maintaining software repositories. In addition to setting up your own repository, RIB will allow your repository to interoperate with other repositories which use the Basic Interoperability Data Model (BIDM), an IEEE standard for interoperable software cataloging on the Internet.

The source code for RIB is available. It is written in Perl and requires version 5.003 or greater to operate as well as several Perl modules available via CPAN. An HTTP server and the Isearch text search engine are also required. A user's manual is available in HTML format.

[http://www.nhse.org/RIB/]

Rice Wavelet Toolbox
A collection of Matlab M and Mex files which implement wavelet and filter bank analysis.

[http://www-dsp.rice.edu/software/RWT/]

RIGAL
A compiler construction tool which is a language for compiler writing. It is a tool for parsing, code optimization, code generation, static analysis of programs, and for the programming of preprocessors and converters. The main data structures are atoms, lists, and trees, with the control structures based on advanced pattern matching. All phases of compilation, including parsing, optimization, and code generation, can be programmed in the language in short and readable form.

A source code distribution of RIGAL written in C is available. It can be compiled and used on most UNIX flavors. It is documented in a manual and a man page, both of which are available in PostScript and HTML format. See Auguston (1991).

[http://www.ida.liu.se/labs/pelab/members/vaden/rigal/]

rinetd
A daemon that performs as an Internet redirection server. This redirects TCP connections from one IP address and port to another. This runs as a single process using non-blocking I/O so it is able to redirect large numbers of connections without sigificantly impacting the machine. A source code distribution is available.

[http://www.boutell.com/rinetd/]

RIOTS
The Recursive Integration Optimal Trajectory Solver is a Matlab toolbox for solving optimal control problems. The features of RIOTS include:
  • solving a large class of finite-time optimal control problems including trajectory and point constraints, control bounds, variable initial conditions, free final time problems, and problems with integral and/or endpoint cost functions;
  • system functions supplied as either object code or M-files;
  • time integration via fixed step Runge-Kutta, a discrete-time solver, or a variable step size method;
  • controls represented as splines for a high degree of function approximation accuracy without a large number of control parameters;
  • the use of a coordinate transformation that creates an orthonormal basis for the spline subspace of controls by the optimization routines to significantly reduce the iterations needed for convergence;
  • a choice of three main optimization routines for different levels of generality in the control problem; and
  • the capability of dealing with singular control problems.
A source code distribution is available which contains both Matlab and C programs, the latter of which are compiled and linked into Matlab via the MEX facility. A user's manual is available in PostScript format.

[http://www.accesscom.com/~adam/RIOTS/]

RIP
The Routing Information Protocol was originally designed for the Xerox PARC Universal Protocol (and called GWINFO) and used in the Xerox Network Systems (XNS) protocol suite. Its association with UNIX and TCP/IP begain when BSD UNIX began shipping with a RIP implementation called routed in 1982. It is defined in RFC-1058. RIP is a protocol that automatically creates and maintains network routes among routers that support it. When one router learns about changes in its routes from one of its neighbors, it sends this information to other neighboring routers so they can also be updated. This allows the network components to calculate how to work around failures should a network component fail. RIP is slowly being replaced by IGRP as its limitations are being reached. See Malkin (2000).

[http://web.mis.ccu.edu.tw/ip/rip.html]

RIPEM
Riordan's Internet Privacy Enhanced Mail is an implementation of Privacy Enhanced Mail (PEM) that allows your electronic mail to have the four security facilities provided by PEM: disclosure protection, originator authenticity, message integrity measures, and non-repudiation of origin. RIPEM has been ported to many systems, including Linux.

[http://www.cs.indiana.edu/ripem/dir.html]
[ftp://ftp.funet.fi/pub/crypt/cryptography/rpem/]

RipIT
A Perl program for creating MPEG-1 Layer 3 (MP3) audio files from an audio CD. This is basically a front end for xmcd, cdparanoia and bladeenc. The automatic functionality of RipIT includes:
  • obtaining information about the audio tracks via CDDB;
  • ripping the audio CD tracks;
  • encoding the MP3s;
  • id3 tagging the MP3s; and
  • creating an M3U file.

[http://www.netcomuk.co.uk/~squinn/ripit.html]

Ripper
A program for inducing classification rules from a set of preclassified examples which is broadly similar to such methods as neural nets, nearest neighbor, and decision tree induction systems. The user provides a set of examples, each having been labeled with the appropriate class, and Ripper looks at the examples and finds a set of rules that will predict the class of later examples.

Ripper has several advantages over other learning techniques including:

  • a hypothesis expressed as a set of if-then rules which are relatively easy to understand;
  • it is asymptotically faster than other competitive rule learning algorithms, i.e. it will be much faster on very large datasets;
  • it allows the user to specify constraints on the format of the learned if-then rules; and
  • it allows attributes to be either nominal, continuous, or ``set-valued'' (where a set-valued attribute is a set of atoms which, e.g. could be used to encode the set of words appearing in a document).

A source code distribution of Ripper is available upon completing an online license agreement form. It is written in ANSI C and thus portable to most UNIX flavors. It is documented in a man page as well as in a set of technical papers available in PostScript format.

[http://www.research.att.com/~wcohen/ripperd.html]

ripperX
A graphical interface to cdparanoia and 8hz-mp3 written using GTK.

[http://adam.kaist.ac.kr/~wineking/ripperX/]

Risa
The Research Instrument for Symbolic Algebra is a computer algebra system which provides a programming language Asir with several subroutine libraries that can also be used as parts of other programs. The programming system has a C-like language, and interpreter, and a dbx-like source debugger.

Risa is available as a binary for Linux platforms as well as several other UNIX platforms. A user's manual is available but is written in Japanese. Some research papers are available in English in PostScript format.

[ftp://endeavor.fujitsu.co.jp/pub/isis/asir/]

Rivet
A version of Tk, the graphical interface part of the Tcl/Tk package. Rivet differs from Tcl/Tk in that it requires no Tcl code evaluation and is therefore suitable for embedding in other programming languages without the overhead of Tcl. It presently (8/96) contains interfaces for C and Python, with the former providing the basis for embedding in other languages and the latter suitable for developing applications.

Rivet offers several advantages to the Python programmer. The interface is clean and efficient with performance on par or better than Tcl/Tk. Python's structured programming environment also better allows the development of larger applications. The programming interface is organized for easy translation from Tcl/Tk, allowing the quick reuse of existing applications, documentation and experience.

The source code is available and is known to have successfully compiled on Solaris 5.3/5.4, SGI 5.3, HPUX9.05 and Linux platforms. The present release requires Tk4.0, Tcl7.4 and Python 1.3 or later.

[http://personal.veritas.com/~brianw/rivet/index.html]

Rivl
The Resolution Independent Video Language is a Tcl/Tk extension for multimedia processing. It provides primitives for manipulating image, audio and video objects. Programs written in Rivl use high level operators that are independent of video resolution and format, increasing a program's portability, simplifying code reuse, and reducing development time.

The Rivl source code is available and has been successfully compiled on Sun 4, Solaris, HP-UX and Linux systems. It requires Tcl 7.4 and Tk 4.0. A user's guide and additional documentation is available in PostScript and HTML format. Rivl is part of the Zeno Project at Cornell.

[http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Rivl.html]

rjobs
A remote periodic job agent/daemon that can be run periodically and automatically establishes a connection with other machines, exchanging job requests to be performed at remote locations or while it is online. A secondary daomen runs at the remote locations and accepts job requests for full automated bi-directional cooperation. The rjobs agent can deal with non-ideal circumstances such as broken connections and hanging jobs. A source code distribution is available.

[http://www.psych.mcgill.ca/perpg/stds/rk/linux/rjobs.html]

RKSUITE
A suite of codes based on Runge-Kutta formulas that solves the initial value problem for a first order system of ordinary differential equations (ODEs). There are single and double precision Fortran 77 versions as well as a Fortran 90 version of the package available. The documentation is contained within the programs as well as in ASCII files.

[http://www.netlib.org/ode/rksuite/]

rksuite90
A Fortran 90 package for solving ODE initial value problems. This is TOMS algorithm 771 and is documented in Brankin and Gladwell (1997).

[http://www.acm.org/calgo/contents/]

RLaB
``Our''-lab is an interactive, interpreted scientific programming environment. This is a very high level language intended to provide fast prototyping and program development along with easy data visualization and processing. It is not a Matlab (i.e. it wasn't designed to run Matlab programs) but possesses similar operators and concepts due to a similar purpose, i.e. creating an experimental environment or laboratory for scientific programming.

RLaB is called a high level language because typing and dimensioning of variables aren't performed by the user but rather are inferred by the program from usage context. It is also high level due to its interactivity which allows the user to set up, perform, and visualize experiments in real time in the context of a single environment. The structured language in RLaB is similar to C in that a program is sequence of functions acting on variables, with the functions being either built-in or user defined. It also features strongly typed objects in classes. The classes are numeric, string, function, and list with the numeric class encompassing scalars, vectors and matrices. Functions are also objects and as such can call or be called by other functions, including themselves.

The build-in functions generally are those that operate on either scalars, vectors or matrices. Scalar functions include trig functions, rounding, absolute values, square roots, etc. Vector functions include sum, products, means, max/min, FFT, sort, etc. Matrix functions include Cholesky decomposition, eigenvalue determination, determinants, inverses, norms, and much more. Plotting is performed using either the PLplot library or Gnuplot. This allows the creation, viewing and printing of the usual range of 2- and 3-D and histogram plots.

The source code for RLaB is available as well as binaries for Linux, DOS, OS/2, Mac and Acorn platforms. Installation from source requires other packages such as BLAS, LAPACK, FFTPACK, RANLIB, and either PLplot or Gnuplot as mentioned above. The documentation includes a tutorial and a manual for the built-in functions in both HTML and PostScript format. The June 1996 issue of the Linux Journal has an article about RLaB written by its creator, Ian Searle.

[http://www.eskimo.com/~ians/rlab.html]

KLab
A GUI for RLaB written for the KDE environment.

[http://www.chaos.umd.edu/~dsweet/KDE/KLab/]

rlpr
A program which uses TCP/IP to send print jobs to lpd servers anywhere on a network. It does not require that the remote printers be explicitly known to the local system (via /etc/printcap) and is thus more flexible than other similar programs. The rlpr package can be used anywhere that lpr is used and is backwards compatible iwth the traditional BSD lpr. If rlpr is installed setuid root it can directly interact with other lpd programs on a network. If it cannot be so installed then it can be used in conjunction with an rlprd proxy agent which takes lpd requests on a non-privileged port, maps them to a privileged port, and sends them out to the real lpd. The proxy and the lpd do not have to be on the same machine so, for example, a user could configure his lpd to accept connections from an rlprd running somewhere else on the network and use that rlprd as a proxy for rlpr.

A source code distribution of rlpr is available. It is written in C and can be compiled and used on most UNIX flavors. Its use is documented in a set of man pages included in the distribution.

[http://sunsite.unc.edu/pub/Linux/system/printing/]
[ftp://sherilyn.wustl.edu/pub/]

RMF
The Reliable Multicast Framework is a protocol developed to address a variety of multicast needs on the Internet. The RMF framework does not uniquely identify a single reliable multicast protocol but instead provides sufficient structure and mechanism such that various reliable multicast protocols can be implemented and even interoperate within the framework. The features of RMF include:
  • self-identifying packets which permit fine grained per-packet reliability semantics and also allow a sender to induce desired receiver behavior on packet reception;
  • a notion of a universal multicast receiver, i.e. an RMF-based receiver that interoperates with any sender via the use of self-identifying packets; and
  • a clear separation between data- and session-level functionality.

Source code distributions of RMF written in Java and C++ are available. The C++ version has been tested on Solaris, IRIX and Linux platforms, with compilation on the latter requiring the egcs compiler suite. The Java version requires JDK 1.1.x or higher. Documentation for both is included in the distributions.

[http://www.tascnets.com/mist/RMF/index.html]


next up previous contents
Next: Rn-Rz Up: Linux Software Encyclopedia Previous: Qn-Qz   Contents
Manbreaker Crag 2001-03-08