Up: Linux Software Encyclopedia
Last checked or modified: June 8, 1999
[ home /
- A free, extensive, interactive data and image processing software package
and language for UNIX/X11 systems.
ANA has a vast number of built-in subroutines and functions which
can be divided into several groups including those for:
- manipulation of arrays;
- finding data and positions of planets;
- standard binary operations;
- color manipulation routines;
- data compression, conversion and creation;
- providing debugging assistance;
- capturing X11 keyboard and mouse events;
- providing information about variables, functions, subroutines, etc.;
- dealing with data I/O to screen, disk, tape or from the keyboard;
- performing various mathematical functions and tasks;
- creating and using X11 menus;
- creating and manipulating 2-D plots;
- creating and plotting PostScript files;
- performing various ANA operations;
- using the variable stack;
- dealing with text strings;
- providing various system information;
- dealing with the topology of datasets;
- dealing with X11 graphical screen output; and
- processing multi-dimensional data in various ways.
ANA also contains several packages of routines with additional
capabilities unrelated to the general routines. These packages, which
can be chosen to be compiled with the overall package, include:
- ASTRON, routines related to astronomy and calendars;
- DEVELOP, functions and routines under development;
- X11, routines that use X11 for various
- CHECKER, a compilation package that adds code that checks
for and supplies useful information about memory leakage and illegal
- JPEG, for reading and writing JPEG files;
- MOTIF, routines that use Motif;
- GIF, for reading and writing GIF images;
- RAISE, a compiler option that interrupts ANA when a memory
allocation/deallocation error is detected; and
- DEBUG, modifies routines that deal with memory allocation and
deallocation such that they display warning messages when nasty things
A source code distribution is available which has been
successfully installed on several UNIX/X11 platforms including
An extensive (300+ page) user's manual is available
in the usual formats.
- A Web log analysis program. The features include a fast response
time, ease of installation and use, flexibility (i.e. over 180 options
producing 17 different reports), the capability of creating output in
7 different languages in 3 output formats, the production of aesthetically
pleasing output that complies with
HTML specs, understanding several
different log formats (e.g. common log format, old-style NCSA format,
NCSA/Apache referrer log format, etc.), and much.
It's freely available under the conditions of a license and
is available for any UNIX, Mac or VMS machine and almost all PCs.
The documentation is contained within a large README file available
in ASCII and HTML formats.
- A set of programs to calculate analytical solutions for 1-, 2-, and
3-D solute transport in groundwater systems with uniform flow.
Analytical solutions are useful for predicting the fate of solutes
in ground water.
The individual programs comprising the package are:
- finite, for 1-D solute transport in a finite system;
- seminf, for 1-D solute transport in a semi-infinite system;
- point2, for 2-D solute transport in an infinite system with
a continuous point source;
- stripf, for 2-D solute transport in a finite-width system
with a finite-width solute source;
- stripi, for 2-D solute transport in an infinite-width system
with a finite-width solute source;
- gauss, for 2-D solute transport in an infinite-width system
with solute source having a Gaussian concentration distribution;
- point3, for 3-D solute transport in an infinite system with
a continuous point source;
- point3_mod, a modified point3 version;
- patchf, for 3-D solute transport in a finite-width and
finite-height system with a finite-width and finite-height source; and
- patchi, for 3-D solute transport in an infinite-width and
infinite-height system with a finite-width and finite-height source.
A source code distribution of ANALGWST for UNIX platforms is
The primary documentation is contained within
Wexler (1992) and Wexler (1992).
This is part of the USGS
Water Resources Applications Software
- An interactive, vector-oriented language permitting detailed data
reduction and analysis.
Analyz has many built-in functions and is easily extended via the
definition of new functions in terms of old ones.
Nested definitions allow complex operations to be defined in a
External programs written in Fortran and C can also be used from
within Analyz for data analysis and specialized I/O purposes.
Source and binary distributions are available, with one of
the latter being for Linux Intel platforms.
Documentation is contained in a 100+ page user's manual
available in PostScript format.
- A package designed to provide computer assistance for
analyzing linear programs and their solutions. It is presumed
that a linear program has already been formulated and an instance
has been generated with some language. It has three levels of
use: (1) providing a convenient interactive query to navigate
through a linear program with or without a solution already having
been obtained from some solver; (2) providing procedures to assist
analysis in a variety of ways, e.g. answers to standard sensitivity
questions, etc.; and (3) providing an artificially intelligent
environment with results automatically translated into English.
An executable binary version of ANALYZE is available for both
DOS and Linux platforms. The official manual is a pricey
beastie, more information about which can be found at the
site. You might want to also check out the
RANDMOD packages available
at the same site.
A quick summary of the ins and outs of optimization can be found at the
NEOS Guide Optimization Tree.
See Greenberg (1993).
- The Architectural Neutral Distribution Format
is a software porting technology that makes it possible to develop
software for open systems that is independent of processor architecture
and operating system.
It is based on an intermediate compiler language in which all
target dependence is abstracted out and deferred to installation, i.e.
ANDF compiles high-level source code into machine-independent byte
code which can be executed on any machine on which an ANDF installer
is located without further modification.
Compilation is divided into two parts with ANDF:
The TenDRA package is an implementation
of ANDF principles.
- a producer (similar to a compiler front-end) that processes
source code and target-independent header files to produce the
ANDF form of the application; and
- an installer (similar to a compiler back-end) which combines
the ANDF code with target-dependent definitions and libraries to
produce an executable program or object code library.
- The Active Network Encapsulation Protocol specifies
a mechanism for encapsulating Active Network frames for transmission
over different media.
- A modified version of the ICI language providing
various features designed to make it more suitable for developing
larger programs as well as for adding distributed programming
The ANICI extensions include:
ANICI can be obtained as either a patch for ICI or as a complete
distribution by itself.
- object serialization;
- dynamic loading of language extensions;
- ICI program debugging;
- user-defined types; and
- many new functions and additions to existing functions and types.
- A tool for monitoring services on a network, Angel is a
Perl program that runs at periodic
intervals and calls various Perl subprograms that do the
actual testing. It then generates an HTML table containing
information on network status.
The features include:
A source code distribution is available.
- centralized administration, i.e. only one main file needs to be
- easy customization and extension via a plug-in concept;
- monitoring of results via the Web;
- support for hte LEDSign Java applet;
- ssh support.
- A system for algorithm animation developed by Jon Bentley and
A description of an animation is created in a special
language and the result can either be shown as a movie on X11 or
used to create still shots.
See Bentley and Kernighan (1991) which is also available as
Computing Science Tech Report 132 in the research/cstr
directory at the same site.
- An interactive hydrologic analysis and data management package designed
to help users interactively store, retrieve, list, plot, echeck, and
update spatial, parametric, and time-series data for hydrologic
models and analyses.
The data are stored in direct access files in Watershed Data
Management (WDM) format, a format used by many software packages
developed by the USGS and EPA.
WDM files are binary, direct-access files organized into data sets,
with each set containing a specific type of data, e.g. streamflow
at a specific site or air temperature at a weather station.
Each data set also contains attributes that describe the data, i.e.
Data sets in other formats (e.g. flat ASCII files) can be converted
to WDM format using the
A source code distribution of ANNIE for UNIX platforms is
The primary documentation is contained within
Flynn et al. (1995).
This is part of the USGS
Water Resources Applications Software
- See SPRANNLIB.
- A seismological package that can be used for the computation of rays,
travel times, ray amplitudes, and ray synthetic seismograms in 3-D
laterally varying structures containing isotropic and/or anisotropic
layers. Synthetic seismograms can be constructed at receivers
distributed regularly or irregularly along the surface, at interfaces,
or on vertical profiles.
The nine programs comprising ANRAY are:
- ANRAY, the basic program designed for ray, travel time, and
ray amplitude computations in one of two modes (initial-value
or two-point ray tracing), with polarization vectors, geometrical
spreading and reflection, transmission and conversion coefficients
evaluated along the rays;
- ANRAYPL, for plotting horizontal and vertical ray diagrams as
well as time-distance and amplitude-distance curves of individual
elementary waves computed by ANRAY;
- SYNTAN, used for the computation of ray synthetic seismograms
using Gabor wavelets as the source-time function;
- FRESAN and SYNFAN, used for the frequency domain
computation of ray synthetic seismograms, with the former computing
the frequency response and the latter multiplying it by the spectrum
of the considered source-time function;
- SEISPLOT, for plotting synthetic seismograms generated
- BPLOT, for plotting those generated by SYNTAN;
- POLARPLOT, for plotting polar motion diagrams for results
from either; and
- VELPLOT, for plotting plane sections of slowness, phase
velocity and group velocity surfaces from the results of
A source code distribution of the ANRAY programs is available.
It is written in Fortran 77 with the graphics routines throughout
making calls to standard CALCOMP routines.
Documentation is contained mainly within the source code files
themselves as well as in some technical reports.
- A language tool which provides a framework for constructing
recognizers, compilers, and translators from grammatical
descriptions containing C,
C++, or Java actions.
This was formerly knowns as the PCCTS, with PCCTS 1.33 having
consisted of a lexical analyzer generator (DLG), a parser
generator (ANTLR), and a tree parser generator (SORCERER).
ANTLR 2.00 is a complete rewrite of PCCTS 1.33 in Java.
It embodies all three of the previous PCCTS tools although it
generalizes the notion of scanning, parsing, and tree walking
into the simpler idea of applying grammatical structure to an
input stream containing characters, tokens, or tree nodes.
ANTLR 2.00 generates only Java but there are plans to extend it
to generate other languages such as C++.
See Parr (1997).
- A generalized Java application based on an
architecture allowing users to choose what programs they want to use
and how to use them. Consistency and common functionality are
provided across all applications.
AnyTool development is predicated on:
- a plugin-based architecture in which new programs can easily be
added to the same interface;
- a document-view architecture with the capability of editing the
same file from two views or two tools along with the ability to reuse
- document-tool associations wherein the document is the focus
rather than the tool being used; and
- Open Source for the tool and all components.
The currently (12/98) available tools for AnyTool are:
A source code distribution of AnyTool and its components is
- TextEditor, a simple text editor;
- CodeEditor, a version of TextEditor with audo-indent;
- JavaEditor, a version of CodeEditor with Java
syntax coloring support;
- ProjectTool, for viewing or modifying a Java software project;
- DevelopmentEnvironmentTool, for viewing or modifying the Java
environment being used to build a project;
- BuildTool, for building and running projects written using
ProjectTool and DevelopmentEnvironmentTool;
- Console, for use as a UNIX shell window; and
- WebBrowser, a simple Web browser.
- The Ad Hoc On-Demand Distance Vector
is for use by mobile nodes in an ad hoc network
characterized by frequent changes in link connectivity to each other
caused by relative movement.
- A web server with a multithreaded architecture.
AOLserver uses threads to achieve
fast response times and the multiple, simultaneous servicing
An nsthread platform independent C API for multithreaded
programming includes functions to create and wait for new
threads, thread local storage for maintaining per-thread data,
and mutex, critical section, semaphore and event objects to
protect shared resources.
The HTTP is implemented over underlying network protocols
through the use of plug-in communcations drivers including:
A full text engine is also included as is a platform independent
interface to SQL relational databases.
- nssock, for implementing HTTP over TCP/IP sockets;
- nsssl, for implementing HTTP over SSL
TCP/IP sockets; and
- nsfile, which implements HTTP using regular file system
input and output files for black box testing purposes.
AOLserver includes a
complete C API which allows the user to write:
The Tcl scripting language is included
as an integral part of the architecture.
This interface is also multithreaded to allow more than one Tcl
script to simultaneously operate.
The interface can be extended to include custom Tcl commands,
includes a module with commands to access open databases,
provides a command for opening TCP/IP sockets to implement quick
HTTP transactions, and includes useful commands for accessing
HTML form data.
- custom request functions to handle HTTP
requests to a URL,
- custom URL-to-file translation routines to convert an HTTP URL
to a file in a local filesystem,
- database drivers to interface the nsdb module to an external DBMS,
- a communications driver so HTTP can be implemented over new
- request trace functions which run after each HTTP request, and
- a scheduled procedure which runs at regular intervals to implement, e.g.
a statistics gathering system.
Binary distributions of AOLserver are available for several
platforms include Linux Intel.
It is also available as Open Source.
Extensive documentation is separately available in
- A PAtCHy server is
server that is a plug-in replacement for NCSA 1.3 and much more.
In addition to fixing bugs and security holes seen in the latter, is
more efficient and faster, offers better compliance with existing
HTTP specs, and implements additional features. These include
DBM databases for authentication, customized responses to errors
and problems, multiple directory index directives, unlimited
numbers of alias and redirect directives, content negotiation,
multi-homed servers, and more.
A useful feature of Apache is modules, i.e. plug-in programs
that use a standard API to add additional features to the server.
Modules included in the standard distribution include those for:
- performing actions based on assigned MIME types,
- basic user authentication, controlling per directory access,
- execution of CGI programs,
- dynamically loading Apache modules,
- a configurable log,
- user authenticatin using a DB format database,
- controlling filesystem mapping of user directories,
- generating directory indexes on the fly,
- cookie generation and tracking,
- content negotiation of MIME types,
- proxy support,
- providing server status information,
- server side includes,
- handling imagemap or MIME files,
- passing environment variables to CGI/SSI scripts,
- common log format logging,
- directory aliasing and redirects,
- a log referrer, and
- CERN meta file emulation.
Features new to Apache version 1.2 (1/98) include:
- conditional compliance with the HPPT/1.1 proposed standard for
greater performance and efficieny when transferring files;
- extended server side includes (XSSI) which are directives that
allow users to better create HTML pages;
- file-based and regex-enabled directive sections which allow
directives to be enabled based on full filename rather than just
directory and URL;
- browser-based environment variables that, combined with XSSI,
allow the writing of browser-based conditional HTML documents;
- the execution of CGI scripts as users other than the server
user via setUID;
- a URL rewriting mode which provides powerful URL mapping using
- enhanced, configurable logging that can log more details about
transactions as well as open more than one log file at once;
- user tracking (i.e. cookies) revision that makes it possible to
disable the generation of cookies;
- VirtualHost enhancements that allow more than one IP address
or hostname which lets a single vhost handle requests for multiple
IPs or hostnames;
- resource limits for CGI scripts;
- a CGI debugging environment which allows the setting up of a log
that records all input and output to failed CGI scripts;
- the mod_headers module can be used to set custom headers
in the HTTP response;
- better compatibility with NCSA 1.5; and
- an improved FTP, HTTP, and CONNECT mode SSL proxy with improved
FTP proxy supporting PASV mode, a ProxyBlock directive for excluding
sites to proxy, and a NoCache directive for disabling proxy cahing.
There are additional contributed Apache modules available for
setting user/group ID for CGI execution,
faking basic authentication using cookies,
basic authentication using system accounts,
allowing or denying access to user/domain pairs,
authenticating users from an LDAP directory,
an embedded Perl interpreter,
disallowing serving pages based on UID/GID,
viewing an FTP archive using WWW,
implementing LDAP authentication and access rules,
enabling direct execution of Java applets as CGI,
using the heitml package,
using the PHP/FI package,
determing MIME type from file contents,
using an embedded Python interpreter,
limiting bandwidth based on number of connections,
using the NeoWebScript package,
and many more.
A source code distribution of Apache is available as are
binaries for just about every platform made.
It is written in C and can be easily compiled on most
Documentation is available online as well as in
Laurie and Laurie (1997),
Ricard (1996) and
- A Perl module providing an
ASP port to Apache
with Perl as the host scripting language.
The features include:
- an embedding syntax allowing code to be embedded in HTML in two
- an ASP Object Model where CGI and session
management are placed in objects accessible from any script;
- a web application events model that allows event-triggered actions
to be taken;
- modular SSI decomposition and code sharing;
- XML/XSLT rendering and
custom tag technology;
- compatibility with function calls in CGI.pm; and
- compatibility with PerlScript.
- A program that can be used to transfer
Apache log entries into an
This can be used to convert entries on the fly or to convert and
entire existing database.
It is extensible and allows the development of customizable queries.
- Apache JServ
- A Java servlet engine for
Apache that is fully compliant with the
JavaSoft Java Servlet API 2.0 specification.
This servlet engine will work with any version 1.1 compliant
Java Virtual Machine, and can also execute Java servlet compliaint
with version 2.0.
Additional features include:
- works as a multi-threaded servlet server separated from web
servers to increase server stability and save system resources;
- integrated load balancing to allow servers to scale with
- smart redirection of requests;
- use of the Apache JServ Protocol (JSP) network protocol to allow
complex network environments;
- separation of servlets into different logical containers (servlet
zones) to ease administration and allow context separation;
- automatic reloading of servlet classes when they are changed;
- trusted servlet execution via MD5-based authentication and
- complete support for page compilation, Java server pages, server
side includes, and template systems (as external modules); and
- extended logging and tracing capabilities.
- A secure Web server based on Apache
The features (beyond those of base Apache) include 128 bit encryption worldwide,
client authentication, and a modular extension API.
A source code distribution is available.
- Apache Toolbox
- A package for compiling Apache with
PHP, SSL and a host of
other ancillary programs including many of the available mod_*
- The COnfiguration MANager for apaCHE is
project to develop a cross-platform graphical tool for configuring
and managing the Apache web server and related
- A module providing
DAV capabilities for the
Apache web server.
- An Open Source implementation of
server parsed Tcl
under Apache. This allows the capabilities of
HTML to be extended with the capabilities of Tcl.
A source code distribution is available.
- A package which makes it possible to write Apache
modules entirely in Perl.
A persistent interpreter embedded in the server avoids the overhead
of starting an external interpreter and the penalty of Perl
This is accomplished by linking the Perl runtime library into the
server and providing an object-oriented Perl interface to the server's
C language API.
Apache modules written in mod-perl can do just about anything that
modules written in C can do, with nearly equivalent speed.
This is a Perl module.
- An Apache module that allows the server to
be used as a Netscape Roaming Access server.
This allows Netscape Communicator 4.5 preferences, bookmarks, address
books, cookies, etc. to be stored on the server so the same settings can be used
and updated from any Communicator that can access the server.
- A module that provides strong cryptography for the
Apache 1.3 web server via
SSL. The features include:
A source code distribution is available.
- X.509 certificate-based authentication for both client and server;
- support for per-URL renegotiation of SSL handshake parameters;
- advanced pass-phrase handling for private keys;
- support for explicit seeding of the PRNG with external sources;
- inter-process SSL session cache; and
- dedicated SSL engine logging facility.
- A Python module for the
Apache server which provides better performance
for executing Python CGI scripts.
- A project to investigate an approach to programming parallel machines
that finds an optimal trade-off between performance and portability.
APACHE consists of several components including:
- Athapascan-0, a multi-threaded, portable, parallel
programming runtime system design to support efficient processing
of large, irregular problems. The features include:
- multi-threading including local and remote thread creation with
argument passing, priority scheduling and semaphores and mutexes;
- communication with tagged threads, asynchronous calls, pipes,
and buffered communication;
- remote memory access with atomic read/write and lock facilities; and
- portability via MPI and
- Athapascan-1, a high level data flow language that is
the application programming interface of the Athapascan environment and
whose features include:
- implementation via an ANSI C++ library;
- an ANSI C extension handled by a preprocesor;
- implicit communication via a global memory space;
- explicit parallelism by asynchronous RPCs;
- implicit synchronization;
- default implicit scheduling or a customized scheduling strategy.
- Athapascan-tr, which provides support for software tracing
and performance analysis;
- Paje, for visualizing the execution of parallel programs;
- Givaro, a C++ library for algebraic
computations that includes modules for:
- integers and number theory;
- fast arithmetic in finite fields;
- rationals, fractions, vectors, matrices and linear algebra,
polynomials and algebraic numbers.
- PEPS, a library for the solution of large discrete event
- Takakaw, a molecular dynamics
The portability of the entire suite of programs depends on that of
Athapascan-0, which has been ported to Linux platforms
running Pthreads and
the LAM version of MPI.
Documentation includes manuals for all components as well as
many technical reports.
- A package for providing UPS power management
under Linux for APCC products.
This allows a computer to run during power outages for a specified
length of time all the way up to the life of the batteries in the
UPS. It then executes a controlled shutdown if the power failure is
of sufficient duration to require it.
- The APE Portable Environment is an environment and
set of class libraries for writing portable
threaded servers in
C++ under both UNIX and Win32.
It provides portable class abstractions for threads and
will eventually cover sockets, serial I/O, file handling, and more.
The goal is to make writing threaded servers in C++ both practical
and convenient for even small, simple projects.
A source code distribution is available.
This has been incorporated into
- A high performance arbitrary precision arithmetic package.
Multiplications are performed using fast number theoretic
transforms with three different moduli and the Chinese Remainder
Theorem for optimal memory usage, maximum speed and no roundoff
errors. Calculations involving billions of digits can be performed
using apfloat. Some of the more recent features added to the
package include support for arbitrary bases, complex number
arithmetic, floor and ceiling functions, and order(n log n)
iterations for log, exponential, trig and hyperbolic functions
and their inverses.
Apfloat is written in C++ and
will compile using most C++ compilers,
although gcc is recommended. The package also includes assembler
optimizations for 486 and Pentium processors for maximum performance
on PCs. The package comprises a common source file for all
systems plus an additional file depending on one's specific
system, e.g. Linux, Alpha, general 32-bit UNIX, etc. The
documentation is contained in a 30+ page document in
- A Programming Language (or Array
Programming Language) was created at IBM in
the 1960s by Ken Iverson and others.
Its main purpose was to serve as a powerful executable notation
for mathematical algorithms, and it is probably best known for
its use of several non-ASCII symbols including some Greek letters.
It is a dynamically typed, interactive, array-oriented language
with dynamic scoping in which all expressions are evaluated from
right to left.
See Grey (1973),
Polivka and Pakin (1975), and
Rose and Schick (1980).
- An APL to C translator. Check the files called status* in the
directory for the status of this project.
- An APL interpreter for the UNIX operating system.
It is written in C and a source code implementation is
- A++ is a C++ array
class for numerical computation designed to work with structured
grid computations, including work on overlapping grids and adaptive
mesh refinement. P++ is the parallel version of the serial
class A++. A++/P++ was designed to simplify the development of
numerical software, specifically to allow an application developed
in the serial environment to be run on parallel machines with little
or no additional effort. It is also intended as a partial solution
to a growing crisis in the development of large numerical codes that
are required to run on many different serial and complex parallel
The A++/P++ distribution (35 Mb uncompressed) includes the source
code and the documentation. Requirements for compilation and
installation include a C++ compiler
(g++ will do) and a C and/or
a Fortran compiler.
The graphics visualization facilities of
A++/P++ additionally require the
The use of P++ requires a communication library. It presently
works with both
PVM. This is affiliated with
the related POOMA Project,
with which it is eventually planned to merge
A++/P++. A++/P++ is now obtainable as part of the
- A high level fourth generation language (4GL) and application
generator for producing WWW based applications which are
typically used over the Internet or within an intranet.
AppGEN applications are implemented as C scripts conforming
to the CGI standard.
The programs that comprise AppGEN include:
The distribution also includes a collection of HTML documents,
GIF files and Java applets which are used at runtime by the
- defgen, which produces a basic template application from a logical
data structure with the applications capable of adding,
updating, deleting and searching for records within the database
whilst automatically maintaining referential integrity;
- appgen, the AppGEN compiler which compiles the appgen source
code into CGI executable C source and HTML documents ready for
- dbf2sql, a utility for converting dBase III compatible
.dbf files in executable SQL scripts which enables the data stored in
most DOS/Windows based packages to be migrated to a SQL server
such as PostgreSQL.
The current distribution includes Linux ELF binaries for
the three programs, the ancillary programs and files, and
the full source code.
The use of AppGEN requires PostgreSQL,
a CGI compatible web server, and an ANSI C compiler.
- A protocol
used for intercommunication among Apple computers.
The is implemented for Linux platforms via
CAP and netatalk.
- Apple II+ Emulator
- An emulator for the Apple II+
computer written especially for Linux which takes
advantage of the SVGA library distribution.
It is written partly in assembler and partly in C for
speed, and runs about twice as fast as a real II+ on
a 486 DX-50 system.
- A C++ library that emulates Open Inventor 2.x
for reading, modifying and displaying .iv and
The current (8/99) implementation features include:
A source code distribution is freely available for non-commercial,
- support for serialization of most of the OI 2.x and VRML 1.x objects;
- state and element tracking (but no caching);
- Linux Motif support;
- basic shapes, polygonal and NURBS surfaces with normals, and simple
- point, direction and spot lights;
- perspective and orthogonal cameras;
- node grouping with separators;
- serializable engines and field connections; and
- property/state/element improvements.
- The Agent PRocess Interaction Language
is a process-oriented language for implementing intelligent applications
on a network as well as a platform to execute applications.
It includes several features needed for network computing including
a structure for uniquely identifying an agent on a global network,
a method for defining mobile codes, a data structure which enables
easy exchange of messages between agents, and security features
to protect against harmful codes.
The April distribution includes:
Binary distributions are available for some platforms including
Documentation is included in the distribution.
This is part of the larger
Network Agents project.
- april, a run-time system;
- ac, the April compiler;
- apcommserver, a communications server program;
- aplist, which lists nameserver contents;
- apdebugger, a simple debugger server;
- apshell, a simple remote fork server program; and
- apdump, a utility program to display the contents of encoded files.
- The NIST ATM PNNI ROuting Protocol Simulator
was developed to provide a means to analyze the behavior of
ATM network routing
In this interactive modeling environment with a user-friendly
interface the user can create different network topologies,
control component parameters, and control the display of the
The simulator is also designed to guide users wishing to modify the
source code to accomodate network components previously undefined
or to change the behavior of components already defined.
A source code distribution is available which can be compiled
and used on most UNIX flavors.
This is documented in a user's manual available in the usual formats.
- The Application Print Services Library
provides a common printing API for GNU/Linux and other UNIX
The functionality provided by the APSL includes:
- identifying available printers and the default printer;
- acessing printer attributes, e.g. information on a printer's
capabilities as well as per-job control over printer specific
features such as paper handling, print quality, etc.;
- the mechanism for sending a job to be printed;
- monitoring and manipulating the list of jobs in printer queues;
- printer installation and configuration including administrative
control and diagnostics; and
- providing a database of available printer models.
- The Algebraic Programming Utilities is a collection
of C++ routines implementing resultant-based
methods for solving various algebraic-geometric problems including:
A source code distribution is available.
- counting and enumerating the number of real roots of systems
- geometric theorem proving;
- implicit point location for geometric modeling; and
- robust intersection of surfaces for geometric modeling.
- A platform for the portable and secure execution of mobile
agents in heterogeneous networks, where mobile agents are
programs with the ability to change their host machine during
execution while preserving their internal state.
The aim of the Ara project is to provide full mobile
agent functionality while retaining as much as possible of
established programming models and languages.
The application focus of Ara is on weakly connected and high
volume systems such as wireless or intermittently connected
computers or globally distributed large data bases, which
seem particularly well suited for such applications.
The system architecture consists of a core an several processes
where agents are executed as processes, with the complete
system running as a single application process on top of an
unmodified host operating system.
The agents are executed within an interpreter for their
respective languages, and Ara defines an interface within which
interpreters for established languages can be used.
Thus far (4/97) the languages which have been adapted to
Ara are Tcl and
C/C++ (by means of precompilation to MACE, an interpretable
The Ara package is available as source code.
It has been compiled and tested on Sun Solaris and SunOS and
Linux Intel platforms.
The package is documented in several reports and guides included
in the distribution in both PostScript and HTML format.
- A CORBA implementation bundled with an
optional layered toolkit for developed portable C++/CORBA GUI software.
Arache is a toolkit for component-based computing developed as part of several
projects concerned advanced health care software systems.
Arachne is a partial substrate for the construction and integration
of modular software capabilities intended to address long-term
issues in the creation of component-based software markets.
It consists of a collection of useful capabilities including:
- portability layers for cooperative multithreading, GUI development,
and other parts of a software environment;
- a full CORBA implementation that is nearly
compliant with the CORBA-2 standard;
- a partial implementation of the Common Object Services (COS) associated
with the CORBA standard;
- a range of component interface standards for various aspects of the
application development enviroment;
- a class library for application development and a range of GUI and
data management component implementations; and
- a set of associated utilities such as tools for the textual representation
of object instance data and an extensible arithmetic and boolean
The current (1/98) Arachne release consists of several subsystems including:
Tools that are not part of the Arachne core include:
- CU, basic cross-platform utilities for C/C++ development
including a cooperative multithreading API;
- OD, textual object instance file format utilities;
- DB, database integration utilities and low-level database support
(i.e. the Berkeley DB engine);
- CG, a cross-platform GUI development layer;
- GEN, a full CORBA implementation;
- COS, a subset of the OMG standard COS specification;
- AR, abstract object interface classes (in IDL) and basic support
for CORBA class development;
- AOS, Arachne Object Services including an implementation of the
Externalization service based on the Berkeley DB engine; and
- AC, the Arachne class library.
Additional tools are under development.
- EV, a simple extensible arithmetic and boolean evaluation engine;
- SK, a BSD sockets layer
for Macintosh with support
- XP-RPC, a port of Sun ONC to Macintosh based on SK; and
- WW, i.e. WebWorks, an incomplete Arachne application authoring
Source code distributions of the Arachne components are available
for Linux, Windows NT/95, HP/UX, SunOS and Macintosh platforms.
All are freely available for non-commercial use.
Documentation is scattered about in several file formats.
- A package of graphically oriented tools for establishing, handling and
using hierarchical databases of sequences and associated information.
The source code is available as are binary distributions for
several platforms including Linux Intel.
- An emulator for the
Acorn Archimedes A3xx to A4xx series computer.
- An object-oriented library of tools for parallel programming
built on top of the MPI
communication library. It offers a set of flexible programming
constructs for parallel software development for asynchronous
and loosely synchronous system programming, creating the illusion
of shared memory on distributed memory machines. ARCH allows
the distribution of arrays as well as user-defined data
structures such as pointers to remote data.
ARCH consists of a set of programming constructs dedicated to
concurrent and parallel programming organized around the central
notion of threading, where the threads
are defined and run inside of MPI processes as asynchronous event-driven
The library consists of several sets of C++
- a threading class consisting of co-routines and co-routines with
restricted behavior targeted on structured concurrent program writing;
- a synchronous point-to-point communication class which defines
synchronous channels and implements the protocols for performing
- an asynchronous point-to-point communication class analogous
to the synchronous class;
- distributed data type and remote direct read/write functions'
- functions implementing global pointers and spread arrays, with
the former a data object aimed at point to any memory location and
the latter a data structure of any dimension spread over a process group;
- a class for creating process groups and communication universes
that is safe with respect to threading;
- a set of non-blocking collective functions designed to be safe
with threading; and
- a set of classes dedicated to parallel I/O based on the
A source code distribution of ARCH is available which has been
ported to several platforms including workstation clusters running
Documentation includes online reference and I/O reference manuals.
See also Adamo (1998).
- ARCH (stats)
- A set of Fortran statistical programs for the
full range of univariate models such as ARCH, GARCH, GARCH-M,
Student-t, and conditional GARCH. It also includes multivariate
versions of the Factor ARCH and diagonal multivariate model.
Documentation is mosty internal.
- A multichannel hard disk sound recorder capable of recording 24 or more
channels of 32 bit audio at 48 KHz.
This is intended to function as a profession HDR system that replaces
dedicated hardware solutions such as the Mackie HDR, the Tascam
2424, or tape systems like the Alexis ADAT series.
Ardour supports MIDI Machine Control, and can thus be controlled
from any MMC controller.
The features include:
Ardour requires an audio interface supported by
ALSA. It has been written primarily for the
RME Hammerfall Digi96** cards, although it should be operational with
any ALSA-supported card.
- recording in 16-, 20-, 24- and even 32-bit formats;
- recording at 44.1, 48, 88.2 and 96 KHz;
- a physical channel capacity limited by the number on the audio
interface and the ability of the hard disk subsystem to stream the
data back and forth;
- support for any audio interface supported by the
- unlimited takes per track subject to available disk space;
- recording of each channel to a headerless mono data file containing
floating point data, with utilities for converting to standard formats;
- a multichannel audio editor that is completely non-destructive and
capable of all standard non-linear editing operations, and has unlimited
- support for the LADSPA plugin standard such that arbitrary plugins
can be attached to any portion of a track;
- a novel approach to metering digital "overs";
- track folding, i.e. every track has an input and output channel that
don't need to be the same channel;
- dynamic punch allowing tracks to be punched in while the system is
playing or recording;
- one touch recording;
- adjustable pre-roll and post-roll;
- adjustable cross-fading that can be automatically applied to data
when punching in and out;
- automatic punching in and out and looping via the definition of a pair of
- monitoring the input on every channel;
- real-time channel lock display;
- a fully skinnable and themeable GUI; and
- a multi-processor capable design.
- A general-purpose Web browser built on top of the multithreaded
version of the
W3C Reference Library.
It was originally created by the W3 Consortium as a test bed
for advanced HTML specification features, but was taken over
by Yggdrasil in early 1997 when W3 began using the
Amaya package as a testbed.
The current (7/97) version of Arena supports HTML 3.0 (i.e. the
HTML 3.2 standard preprocessor which includes the MATH tag,
tables, forms, etc.), cascading style sheets (CSS), style
sheet editing, MIME, direct access to
WAIS engines, HTTP 1.1,
HTML editing via an external editor, external client communication
(i.e. allowing other applications to know what URL is being
displayed by Arena), and the
GIF graphics formats.
As of 7/97 Yggdrasil is providing weekly developer source
code releases until it decides that it's stable enough to
start providing binary releases. It has updated Arena to
use the latest W3C Reference Library and plans to make several
- A Matlab package for
the estimation and spectral decomposition
of multivariate autoregressive models.
ARfit includes routines for the
estimation of parameters and confidence regions for multivariate
autoregressive (AR) processes,
diagnostic checking of fitted models, and
spectral decomposition of AR models.
The routines in the package include:
The package is documented in a pair of journal papers available
online in PostScript format.
- acf, plots the sample autocorrelation function of a univariate
- ar, performs order selection and least squares estimation of
parameters in multivariate AR models;
- arconf, computes confidence intervals for the estimates of the
AR paramter matrices and the covariance matrix;
- arfit, demonstrates the other modules in the package;
- armod, computes the spectral decomposition of an AR process;
- arord, computes the approximate order selection criteria for
a sequence of AR models;
- arres, performs diagnostic checking of the residuals of
a fitted model; and
- arsim, simulates AR processes.
- A domain-oriented design environment CASE tool
providing cognitive support for object-oriented design via the
UML 1.1 specification.
The features of this Java include:
A source code distribution is freely available.
- representation of designs using a Java version of the
UML 1.1 meta-model;
- using of GEF for UML design editing;
- flexible and extensible automatic code generation;
- simple agents called design critics that continuously execute
in a background thread of control, analyzing the design and suggesting
- corrective automations that allow design improvements to be made
faster and more reliably than by hand;
- a ``to do'' list interface that presents action items in an
- a user model that maintains information about the designer to make
the tool more useful;
- interactive checklists specifically designed for individual design
- a rich set of alternative tree-structured project views with a
language allowing existing perspectives to be customized and new ones
to be implemented;
- multiple, overlapping views of the same element that allow the
relationships among elements to be better understood;
- representation of designs in graphical, textual and tabular form;
- model-based graph layout to allow different techniques to be used
for different components;
- customizable user and process models; and
- a navigational perspective editor for modifying and extending the
numerous available navigational perspectives.
- A generic IP network transaction tool that can
perform a number of network management tasks not currently (1/99) possible
using commercial tools.
Argus runs as an application level daemon and
promiscuously reads network datagrams from a specified interface.
It then generates network traffic status records for the network
activity it encounters. The methods used to categorize the activity
make this tool unique.
The tasks for which Argus has been used include:
- verification that network security access control policies are
actually being enforced;
- detection of attempts to break through
firewalls and host-based
- performance of grade-of-service analysis for every IP-based
network service offered in a network infrastructure;
- discovery of changes in the behavior of network elements and
external network partners;
- identification and troubleshooting of difficult transient networking
problems such as intermittent service failure, denial of service attacks and
host and network configuration problems; and
- performance of hypothetical analyses on network load and performance.
A source code distribution is available. It is written in C and
has been successfully compiled on several systems including Linux
Intel. It is documented in man pages as well as
in a couple of technical reports.
- An interactive interpreter for big integer arithmetic and
multi-precision floating point arithmetic with a
syntax. It has several built-in functions for algorithmic number
theory, e.g. gcd, Jacobi symbol, Rabin probabilitistic prime test,
Morrison-Brillhart continued fraction factorization,
and Pollard rho factorization.
A source code version of ARIBAS is available for
It is mostly written in C, although some of the critical routines
are written in assembler for the Linux version so it will run
especially fast under Linux Intel.
- A reliable integrated computational environment designed to bridge
the gap between exact mathematical and computed results.
Future capabilities include rational interval arithmetic and complex
arithmetic with rational real and imaginary parts.
The functionality of Arithmos is available through both
C++ class libraries and a GUI front-end created
using the Qt library.
- multiprecision floating-point arithmetic;
- sharp interval arithmetic with multiprecision floating-point endpoints;
- exactly rounded complex multiprecision floating-point arithmetic; and
- exact rational arithmetic.
The multiprecision floating-point implementation is fully compliant with the
principles of the IEEE standard and provides exactly rounded operations in all
four rounding modes. The user can specify the base (between 2 and 2**24), the
precision and exponent range of the floating-point representation.
The rational class library of Arithmos is built on top of
the GMP rational C
library. It provides a C++ wrapper around it and extends it in a consistent
mathematical way to deal with results of operations that cannot be represented
as rationals or are mathematically undefined.
- An object-oriented programming system that provides a set of
tools for the construction of fault-tolerant distributed applications.
A prototype version written in C++ has
been designed and implemented to run on a collection of UNIX
workstations connected by a local area network. Arjuna provides nested
atomic actions (nested atomic transactions) for structuring application
programs. Atomic actions operate on objects, which are instances of
abstract data types (C++ classes),
by making use of remote procedure
The system has been ported to various platforms including
HP workstations running HPUX; Sun 3, Sun 4, Sun Sparc and running
SunOS 4 and 5 (Solaris); RS6000 machines running AIX; and Intel
486 PCs running Linux.
The source code is available as well as a user's manual in
- A free client implementation of the Andrew File System (AFS).
This is planned (6/98) to be a fully functional client with all the
capabilities of the normal AFS, with management tools and a server
in the longer range plans.
- The Amiga Research Operating System is a project
to create an
operating system that:
This is being developed on the Linux platform with snapshots of
binary releases available on a regular basis.
- is as compatible as possible with AmigaOS 3.1;
- can be ported to different types of CPUs;
- is binary compatible on Amiga and source compatible on other
- can run as a standalone version booting directly from hard disk,
as an emulation that opens a window in an existing OS to develop
software and run Amiga and native applications at the same time, and
as a link library allowing native applications to be created with
the look and feel of AmigaOS.
- See NetTools.
- A protocol for the dynamic distribution of
the information needed to build tables to translate an address in a
given protocol's address space into a proper
Put simply, this is a method of converting IP
addresses into Ethernet addresses.
- A collection of Fortran
77 subroutines for solving large
scale eigenvalue problems. This is designed to compute a few
eigenvalues and corresponding eigenvectors of a general NxN
matrix, and is most appropriate for large sparse or structured
matrices (where structured means that a matrix-vector product
requires order N rather than the usual order N floating
ARPACK is based on an algorithmic variant of the Arnoldi
process called the implicitly started Arnoldi method (IRAM).
This reduces to a variant of the Lanczos process called
the implicitly restarted Lanczos method (IRLM) when the matrix
Both variants can be viewed as a synthesis of the Arnoldi/Lanczos
proess with the implicitly shifted QR (ISQR) technique which is
suitable for large scale problems.
This software is capable of solving problems from significant
application areas and is designed to compute a few eigenvalues
with user-specified features such as those of largest real part
or largest magnitude.
Numerically accurate eigenvectors are also available on request.
The features of ARPACK include:
- a reverse communication interface;
- single and double precision real arithmetic versions for symmetric,
non-symmetric, standard or generalized problems;
- single and double precision complex arithmetic versions for standard
or generalized problems;
- routines for standard or generalized problems with banded matrices;
- routines for singular value decomposition (SVD); and
- example driver routines which may be used as templates
to implement numerous Shift-Invert strategies for all problem
types, data types, and precisions.
Release 2.1 (3/97) of ARPACK includes as an extension
the PARPACK library which extends the package for
use on heterogeneous clusters of workstations using either
BLACS or MPI.
ARPACK/PARPACK is a component of
the ScaLAPACK Project.
- An object-oriented version of ARPACK
written in C++.
ARPACK++ uses templates to reduce the work needed to establish
and solve eigenvalue problems and to simplify the structure
used to handle such problems.
It also features an interface that avoids the complication of the
reverse communication interface that characterizes the Fortran
version, has the ability to easily find interior eigenvalues and to
solve generalized problems, and a structure that minimizes the
work needed to generate an interface between it and other libraries
such as the TNT.
A source code distribution of ARPACK++ is available.
It contains a make file specifically for G++
as well as those for other compilers.
It is documented in a 200 page user's guide and reference
manual available in PostScript
- A mail user agent designed for
new Linux users who are used to the gee-gaws found on other,
inferior operating systems.
The features include:
The source code is available as are binaries for Linux Intel
This was developed with the JX toolkit.
- use of standard mail format;
- use of Pine's address book format;
- rearranging messages via drag and drop;
- decryption and encryption with PGP;
- drag and drop text and addresses between messages; and
- automatic saving of complete state when closing or
when the X server crashes.
- A collection of tools for bulding and maintaining community and commercial Web
An integrated collection called the ArsDigita Community System is
available which contains modules for:
- user registration;
- grouping users by company or interest;
- classified ads;
- calendar announcements;
- banner ad serving; and
Several smaller separate tools are also available including:
- Shoppe, a package for selling products using
AOLserver, the Oracle RDBMS and the
CyberCash gateway to credit card processors;
- Quizze, for running a cheating-proof quiz;
- Reporte, for producing daily, weekly and monthly server log
reports from multiple Web services on the same machine;
- Keepalive, for monitoring Web services and taking action
to resolve problems found;
- Cassandracle, a Web-based monitor for an Oracle database
- Watchdog, for monitoring the AOLserver
error log at regular intervals and producing email notifications;
- Uptime, monitors one or more Web sites for one or more people; and
- Traffic Jamme, a Web load simulator.
- The Advanced Rendering Toolkit is a collection of
Objective-C libraries that provide an
wide range of functionality for graphical applications. These
libraries do not deal with the user interface but rather provide
classes and methods starting with primitive graphics objects like
vectors, points and matrices up to classes for defining complete
3-D scenes and a number of different methods for manipulating
and rendering those scenes.
This has yet to be released and the page was last updated on 4/23/98.
- A set of Fortran programs for working with
AutoRegressive To Anything process, i.e.
stationary time series with arbitrary marginal distributions and
feasible autocorrelation structures specified via lag p.
ARTA processes are designed to be used as input to computer simulations.
The programs in the package include:
A source code distribution is available.
- ARTAFACTS (ARTA Fitting Algorithm for Constructing Time Series)
which fits ARTA processes for a given marginal distribution and up to
five lag autocorrelations as well as estimates the autocorrelation
function for an empirical time series; and
- ARTAGEN (ARTA Generation algorithm), which generates a stationary
ARTA process with given marginal distribution and up to five lag
- artificial life
- A research discipline that studies natural life by attempting to
recreate biological phenomena from scratch within computers.
The links are to the Zooland site which contains further information
and various a-life software packages.
- Artistic Style
- An automatic indentation filter for C,
C++ and Java source code
- The Advanced Security audit trail Analysis on
UNIX package is a tool that uses sophisticated and powerful
algorithms to simplify the intelligent analysis of very large
sequential files for signs of security problems.
The features of ASAX include:
A source code distribution of ASAX is available. It is written in
C and can be compiled and used on many UNIX flavors. The documentation
consists of man pages along with several technical
reports describing the system and its components.
- translation of information in native file formats into NADF (Normalized
Audit Data Format) file for more efficient analysis;
- a language called RUSSELL (RUle-baSed Sequence Evaluation Language)
tailored to the problem of searching arbitrary patterns of records in
- administration from a central monitoring platform;
- local analyses of audit trails associated with a single host;
- global analyses for detecting patterns related to network security
status over an entire network of machines;
- a distributed evaluator that can survive the failure of one or more
of its slave evaluators; and
- logging control wherein the granularity of security events can
be adjusted for different tasks.
- A large-scale, object-oriented mathematical modeling environment
and strongly typed mathematical modeling language.
ASCEND was primarily developed for use by chemical engineers,
although the package is domain independent and can be used in
all appropriate areas of science and engineering.
It was designed to reduce the time needed for creating, debugging, and
solving mathematical models by orders of magnitude in comparison
with languages like C++ and Fortran.
ASCEND includes a wide range of support tools for modeling, debugging,
and solving systems with upwards of tens of thousands of nonlinear
algebraic or differential equations including:
The modeling language includes such features as model construction
by object and value passing, a preprocessor that diagnoses errors and
symptoms of poor object-oriented programming style, a SELECT statement
for choosing among alternative constructions at instantiation time, and
a SWITCH statement for managing the flow of control.
Solver features include:
the selection of equations and models based on logical, integer,
symbolic configuration variables, and
the fast automatic analysis of model hierarchies to obtain
optimum ordering for fast linear factorization.
- a library of equilibrium-based unit operations for chemical
- a user-centered structured methodology for reaching correct
- automatic analysis of degrees of freedom;
- automatic initialization of variables;
- a choice of automatic scaling methods for nonlinear equations; and
- an object-oriented modeling language.
A source code version of ASCEND is available for UNIX platforms.
It can be built on several UNIX flavors including Linux and additionally
requires Tcl/Tk version 8.0p2.
It is documented in a 235 page manual available in PDF format.
- The American Standard Code for
Information Exchange is a method for encoding characters
in computer binary format.
See the first given URL for a fascinating history thereof.
- The Astrophyics Source Code Library is a
collection of Fortran codes for solving
various problems in astrophysics.
The offerings include:
- DUSTY, a code for solving the astrophysical
problem of radiation transport in a dusty environment;
- XSTAR, for calculating the physical conditions
and emission spectra of photoionized gases;
- A tool that takes ASDL descriptions and produces implementations of them
in several popular
The Abstract Syntax Description Language (ASDL) is a language designed
to describe the tree-like data structures in compilers.
The main goal of ADSL is to provide a method for compiler components
written in different languages to interoperate, e.g. it makes it
easier for applications written in different languages to communicate
complex recursive data structures.
The functionality of asdlGen and ASDL includes:
- concise descriptions of important data structures;
- automatic generation of data structure implementations for
Java, Standard ML and
- automatic generation of functions to read and write the data
structures to disk in a machine- and language-independent way.
A source code distribution of asdlGen is available as are binaries
for various platforms including Linux Intel.
It is written in Standard ML and thus
requires that package for compilation.
Documentation includes a reference manual and some technical
papers, all available in PostScript format.
- A graphics program for producing PostScript output such as scatter
plots, line plots, histograms, 2-D density plots, and
bond-and-stick plots of molecules.
A source code file is created which is interpreted by a program
called TOP which calls appropriate Fortran subroutines
to create a PostScript output file.
This is written in Fortran 77 to compile on most UNIX systems.
A user's manual is available in PostScript format.
- See XHTML.
- A UNIX/C version of a cross assembler for a variety of
microprocessors and controllers.
The capabilities include macros, conditional assembly,
extensive listings, local symbol domains, and include files.
It supports nearly 50 different target processors from
4-bit microcontrollers to the PowerPC.
A manual is available in TeX format.
- A low-level implementation of the Abstract State Machines (ASMs)
approach that focuses on an ASM machine that can be used as the basis
for higher-level ASM implementations.
It is designed for efficient and extensible support for writing
formalization programs in ASMs.
Aslan defines a notion of modules for structuring formalizations without
losing the formal basis provided by ASMs based on a core language
implementing the pure ASM semantics.
Hierarchical ASMs are supported, i.e. an external function of an ASM
can be expressed via other ASMs to introduced a hierarchy.
This mechanisms also makes recursive calls of ASMs possible.
Programs are directly translated into C code which can be compiled
and bound to the generic GUI provided by the support environment.
This can be used to debug and animate the execution of the specified
Binary versions are available for Linux Intel and some other
This has been absorbed into the GemMex package.
- ASM Workbench
- The Abstract State Machine Workbench is a tool
environment for supporting the design and validation of Abstract
State Machines (ASMs). This is based on a specification language
called ASM-SL which includes the language of tyuped ASMs and
additional constructs for defining the underlying data model with
the help of generic data types.
The features of ASM Workbench include:
A binary distribution of this package is available for Linux Intel
- type checking including type inference;
- rapid prototyping via an interpreter for simulating ASM-SL specifications
and a GUI for controlling the simulation flow;
- efficient simulation of ASM runs via a code generator from ASM-SL
to Java Virtual Machine (JVM);
- static analysis of ASM specifications via control- and data-flow
analysis as well as generation of proof obligations; and
- an interface component based on the ASM Interchange Format that
will allow the Workbench to be adapted and extended by others.
- A set of Linux command-line utilities written in assembly
Unlike the similar asmutils, these don't
require NASM since they are written in
AT&T/GNU Assembler language.
It is also planned to include more functionality.
- A set of Linux utilities written in assembly language intended for
small Linux distributions such as rescue disks or embedded systems.
It contains extremely small and fast replacements for several commonly
used UNIX utilities, none of which require libc and most of
which need on a few kilobytes of RAM.
The 50+ utilities in release 0.06 (2/00) include
arch, cat, chroot, deallocvt,
dmesg, echo, factor, grep, hostname,
httpd, kill, ls, md5sum, mkdir,
mount, ps, reboot, rmdir, sleep,
softdog, swapoff, swapon, snc, umount,
update and wc.
The distribution includes the source and compiled binaries
for 2.0 and 2.2 kernels,
with compilation requiring the use of
NASM 0.98 or higher.
- The Abstract Syntax Notation 1 is a
formal language for abstractly describing data exchanged between
computer systems which is very much like a type declaration
in C or C++.
It frees protocol designers to describe the
layout of messages exchanged between application programs running
in different hardware and software environments. It is called
abstract because it describes the details of the messages in a more
abstract level than bits and bytes.
Encoding rules are described which are used to transform data
specified in the ASN.1 language into a standard format which can be
decoded by any system with a decoder based on the same set of rules.
Related software packages include:
- ELROS, an embedded language for remote operations
that produces code to encode/decode ASN.1;
- ISODE, an environment for developing OSI
protocols and applications;
- OSIkit, a collection of tools for the application
of Estelle and ASN.1;
- OSIMIS, an object-oriented platform based on
the OSI model; and
- Snacc, an ASN.1 to C or C++ compiler.
- Active Server Pages are used to embed scripts within
HTML pages to create dynamic and interactive
Web site content.
ASP can process both VBScript and JScript commands, and any browser
can work with ASP and its dynamic output regardless of its support
for VBScript and JScript.
All scripting code runs on the server with the browser receiving
only the resulting HTML.
Files with ASP commands usually have the suffix .asp.
Related software includes asp2php.
- A program that converts Web ASP files that require
the Microshaft IIS Web server into PHP pages
that will run under Apache.
This also has MySQL database support.
Binary distributions are freely available.
- A strict functional language developed at the University of
Bremen in Germany. It was originally intended to provide an
implementation for a subset of algebraic specifications of
abstract datatypes and included several user-friendly features
like overloading facilities and a source-level debugger.
It also uses call-by-value evaluation and reference counting
memory management for efficiency.
Other features include subsorting, functionals, and
The compiler translates the functional source code into C
which can be compiled with the native C compiler to yield
fast and efficient executables.
The ASpecT system is available in binary format for
several platforms including Linux Intel, Mac, NeXT,
OS/2, Sun Solaris and SunOS, and VAX.
Documentation is included in the distributions.
The interactive graph visualization system
daVinci is written in ASpecT.
- A spell checker designed to do a better job than
ispell at suggesting possible
replacement words. This is designed to be a drop-in replacement
for ispell in programs that use the latter.
It is also a C++ library.
A source code distribution is available.
- A server-side HTML embedded
scripting language written in
Python that can be used for generating
dynamic Web pages and for prototyping Web applications.
ASPy is similar to SSI, XSSI and PHP
in providing integrated scripting embedded in HTML.
The scripting language used is JPython,
an object-oriented language with high-level datatypes that
make it ideal for accessing existing Python modules and libraries,
Java Beans and Java libraries and frameworks.
A source code distribution is available.
- The Automatic Speech Recognition system is a large
vocabulary conversational speech recognizer (LVCSR) that uses techniques
from statistical pattern recognition, digital signal processing,
AI, linguistics and information theory.
The features of ASR include:
Documentation includes a user's guide and a tutorial giving a step-by-step
introduction on how to build, train and evaluate a speech recognition
application using this package.
- acoustic feature extraction of mel-frequency cepstra and their
temporal derivatives based on FFT and LP analysis;
- Viterbi training of continuous density Hidden Markov Models (HMM)
with single Gaussian or mixture distributions for
context-independent and -dependent acoustic models;
- efficient single-pass decoding using a hierarchical variation
of Viterbi search;
- context-dependent (triphones) as well as context-independent
(monophones, syllables, etc.) acoustic models;
- cross-word triphones as well as word-internal models;
- N-best decoding and generation of word graphs using n-gram
language models; and
- rescoring of word graph generated with an n-gram language model.
- assembly programming
- Tools and information are available for assembly programming on most
of the hardware platforms on which Linux can be installed.
Related projects and packages include:
- ASMIX, a set of Linux utilities written
in assembly langauge;
- asmutils, a set of Linux utilities
written in assembly language;
- A2I, translates assembly files in GNU Assembler
(GAS) syntax into NASM syntax;
- BIEW, a multiplatform portable viewer of
binary files with a built-in editor for binary, hexadecimal and
- binutils, a collection of
GNU development tools including compilers,
assemblers, linkers and debuggers;
- ELFkickers, a collection of programs
for working with the ELF binary format;
- GASM, a freeware assembler for the x86 platform;
- GCJ, a GCC front-end that
can create assembly code from Java class files;
- Intel2GAS, converts assembler source written
for NASM into GNU Assembler (GAS);
- NASM, a portable assembler for the Intel
x86 microprocessor series;
- New Jersey Machine-Code Toolkit, a
package for writing applications that process machine code, e.g.
assemblers, etc.; and
- SPIM, a software simular that runs assembly
language programs for the MIPS R2000/R3000 processors.
- An open source Private Branch Exchange (PBX) and general
telephony toolkit for Linux.
The PBX features supported are:
- extension routing logic;
- functional voicemail including email notification;
- calling bridging, transfer and parking;
- intercom (with sound card);
- execution of arbitrary commands; and
- simple configuration with text files.
Additional features beyond standard PBX include:
- an extensible channel API for adding new technologies;
- an application API for writing custom PBX applications;
- a file format API supporting arbitrary file formats with arbitrary
- a threaded architecture with per-thread scheduling and I/O
- a codec translation API;
- a frame management API;
- a dynamic module loader;
- a simple logging API; and
- a graphical console (GTK and KDE.
- The Advanced Software Technology Kit
is a set of executables and libraries provided as part of the
software accompanying Krishnamurthy (1995).
The astkit has three purposes: (1) to present a subset of the
POSIX/ANSI standard headers and interfaces
on non-compliant systems; (2) to provide a portable base of routines
that implement concepts common to all UNIX variants; and
(3) to provide a forum for modern implementations of features
present (or lacking) in the standard C libraries.
The major components of astkit include:
- ksh93, a version of the KornShell
shell programming language described in
Bolsky and Korn (1995) which is upward compatible with sh and
provides an enhanced programming environment in addition to the
major features of the BSD shell csh;
- nmake, a modern variant of the traditional make which
maintains state that records information for future runs, i.e. it records
such things as file modification times, explicit and implicit prerequisites,
action test, variable values, and target attributes;
- coshell, which executes shell blocks on lightly loaded hosts in
a local network via a server that runs as a daemon on the user's home host;
- cql, a C query language which applies C-style expressions to
flat database files;
- pax, a POSIX 1003.2 conformat replacement for
tar and cpio that handles
most UNIX archive and tape formats;
- 3d, a program that allows entry into nDFS, a multiple dimension
file system implemented as a shared library which intercepts pathname
systems calls and provides a logical namespace on top of the underlying
physical file system (and works with ksh93);
- tw, a combination of find and xargs that applies
C-style expressions on that stat structure of each file in a direcotry
- proto, which converts ANSI C prototype constructs to constructs
compatible with K&R, ANSI C, and C++; and
- sort, a faster version of the traditional sort which is
a distribution sort with preconditioning of difficult keys to make them
into simple strings.
Other programs in the distribution include:
Over 30 additional programs and libraries are included.
- bax, which generates backup tapes using tw and pax;
- cpp, a standalone preprocessor
which is primarily intended for
C but also supports other languages;
- iffe, a command interpreter that probes the C compilation
environment for features, i.e. any file, option or symbol that
controls or is controlled by the compiler;
- mm2html, which converts mm/man input to HTML;
- html2rtf, which converts HTML input to RTF;
- troff2html, which converts troff intput to HTML;
- ss, which lists the system status for hosts on
the local network; and
- probe, which maintains tool specific information for language
processors and performs consistency and security checks to ensure
that the tool specific command generates valid information.
Binary distributions of astkit are available for
Sun SunOS and Solaris, SGI IRIX, HP-UX, Linux Intel, and
platforms. Documentation includes the usual set of man pages and,
of course, the book previously mentioned.
- astronomical software
- A more specific list of software for use by the
astronomy community. In addition to the software there
is also a mailing list for those interested in porting
software packages for reducing astronomical data to Linux.
Available packages related to astronomy include:
- AIPS, a system for the calibration, analysis
and display of radio astronomy images;
- AIPS++, a C++ version
(evolved) of AIPS;
- ANA, a data processing package and language;
- Cloudy, for simulating emission line
regions caused by the ionization of dilute gases;
- eclipse, a set of image processing
utilities for astronomical data reduction;
- ESO-MIDAS, general tools for image
processing and data reduction with an emphasis on astronomy;
- eXsas, for the spatial, spectral and timing
analysis of X-ray astronomy data;
- FIGARO, a general data reduction package
aimed specifically towards optical and infrared data;
- FITS, the generic data storage format of
the astronomy community;
- FTOOLS, a collection of utility programs
to view and manipulate FITS data files;
- GILDAS, a collection of applications
oriented towards radio astronomy;
- GIPSY, an interactive system for the reduction
and display of astronomical data;
- IRAF, a general purpose system for the reduction
and analysis of astronomical data;
- MIRIAD, a toolbox for the calibration, mapping,
deconvolution and image analysis of interferometric data;
- NEMO, an extensible stellar dynamics toolbox
for analysis and visualization;
- PROS, a multi-mission X-ray analysis
- SAOimage, a program for displaying
- SAORD, a collection of software including an
updated version of SAOimage;
- Skycat, a tool for image visualization and
accessing astronomy data catalogs;
- STARLINK, a comprehensive library of
- STSDAS, a system for reducing and analyzing
data from the Hubble space telescope;
- WCSTools, a package of programs and libraries
for taking advantage of world coordinate system information in
astronomical image files and catalogs;
- XANADU, a system for the analysis and reduction
of data in X-ray astronomy;
- Xephem, an interactive astronomical ephemeris
- xsky, an interactive sky atlas;
- A package containing source code and documentation for
Astronomy SURVival analysis.
This implements a suite of
statistical methods for the analysis of censored data; i.e. data
which are known to lie above or below some limit. It was written
specifically to treat left-censoring arising in observational astronomy
when objects are observed but sometimes not detected due to sensitivity
limits. However, the methods can be useful to researchers in other
disciplines, as the code includes techniques that are often omitted
from commercial survival analysis packages.
The computational capabilities of ASURV include:
The program is stand-alone and does
not call any specialized library.
- the maximum-likelihood Kaplan-Meier estimator;
- several univariate two-sample tests (Gehan, Peto-Peto, Peto-Prentice);
- three bivariate correlation coefficients (Cox regression,
tau and Spearman's rho); and
- three linear regressions (EM algorithm
assuming normal residuals, Buckley-James line, Schmitt line).
The package includes the source code which is written in
and a 40+ page manual in LaTeX
format. The manual contains the
gory details about the algorithms mentioned above as well as
instructions on how to use them.
See LaValley et al. (1990),
Feigelson and Nelson (1985), and
Isobe et al. (1986).
- A comprehensive and easy-to-use HTML3, HTML2, and text editor for the
X Window System with
It offers a standard text editing mode and two context-sensitive,
validating modes for authoring HTML documents. It has a
graphical user interface with multiple editing windows and
all standard editing features besides the HTML-specific
currently (5/96) versions for nine languages.
The HTML features include:
- context-sensitive modes in which only
tags valid in the current context are available,
- full support
for all HTML 2 and 3 tags,
- support in HTML 2x and 3x extended
modes for such elements a new tables, client-side image maps,
- support for Netscape extensions such as frames,
- creation of correct documents from editor input,
- support for different editing styles (e.g. assistive tagging,
cut and paste, by hand and parse),
- dialogs for selecting relative
and absolute URLs,
- customizable colors for different HTML tags,
- text to table or list converters,
- a table of contents generator,
- ready to use examples and spell checking,
- user definable key bindings,
- comprehensive and context-sensitive hypertext help, and
- a preview mode.
AsWedit is available free for use in non-profit institutions.
It is available in binary form for IBM RS/6000, DEC Alpha,
HP9000 700/800, SGI, SunOS, Ultrix, SCO, and Linux platforms.
- An emulator for the Atari 800,
800XL, 130XE, and 5200 game machines.
The features include:
versions for X11, SVGALIB, Amiga, MS-DOS, curses, and dumb terminals;
a GUI interface for Xview,
Motif, and Amiga versions;
a menu system for all versions that support bitmapped graphics;
handling standard 8K and 16K as well as OSS super cartridges;
display list interrupts;
a PIL mode;
GTIA graphics support for all display modules;
horizontal and vertical fine scrolling;
replacement of cassette device with host device to give access to host
reading XFD and ATR disk image formats;
sound emulation; and
- A free Web-based email system that uses your existing
POP3 mail account to receive mail.
The features include attachment handling, folders, and more.
- A color VT102 terminal emulator
based on rxvt plus the addition of fast
transparency. It is intended as an xterm replacement for
those who don't require such features as Tektronix 4014 emulation
and toolkit-style configurability. It uses much less swap space
than xterm as a result of these absent features.
Source code and RPM distributions are available.
- ATF Tools
- The Automated Telescope Facility Tools
is a collection of tools written for use at the Automated Telescope
Facility at the University of Iowa. The programs are mostly
utilities to analyze and manipulate
FITS image files although there are also
programs for differential and absolute photometry and
The programs in ATF Tools include:
- FITShdr, which displays and edits headers in FITS format files;
- WCS, which displays, adds, and edits World Coordinate System
(WCS) keywords in FITS headers;
- Crop, which aligns and crops FITS images using either a
specified bounding box or a common area;
- F Compress, which compresses FITS files using the H algorithm;
- F Decompress, which decompresses files compressed using
- Photom, a differential photometry package;
- Fphotom, for field aperture photometry of images;
- Photcal, which solves for air mass and instrumental constants
using standard field images;
- Predict, which predicts times of minima using an input
- SNSearch, which searches for new stars by comparing
archive images; and
- Vsmon, which performs automated variable star monitoring using
The source code for ATF Tools is available. It is written
in ANSI C and can be compiled and used on a wide variety of
UNIX and non-UNIX platforms.
It is also available in binary format for Linux platforms.
The programs are documented in man pages.
- Athena Widget Set
- See Xaw.
- The Autodesk Threaded Application System
Toolkit is a Forth-like language
kernel designed to be embedded into applications to make them
extensible to a much greater degree than normal macro languages.
ATLAST is based on Forth-83 but has been extended and modified
to produce a better toolkit for open, programmable applications.
It is implemented in a single file written in portable C and
includes native support for floating point, C-like strings, UNIX-compatible
file access, and a wide variety of facilities for embedding
Extensive stack and heap pointer checking is available to aid
A source code distribution is available which is documented
in a user's guide in several formats.
- This is a project to provide
Mode support for Linux.
An experimental release supports
raw ATM connections and basic IP over ATM along with
preliminary signaling. See the site for explanations of the
alphabet soup in the previous sentence.
See McDysan and Sophn (1994),
Schatt (1996), and
Related software packages include:
- ATM Network Simulator
- An ATM network simulator developed to provide
a means for analyzing the behavior of ATM and HFC (Hybrid Fiber Coax)
networks without the expense of building a real network.
This is an interactive modeling environment with a graphical user
interface that can be used to create different network topologies,
control component parameters, measure network activity, and log data
A source code distribution is available which can be compiled
and used on most UNIX flavors.
This is documented in a user's manual available in PDF format.
- A package of Fortran subroutines for the analysis and
calculation of various thermodynamic quantities in the
There are routines for calculating the:
thermal conductivity of air,
specific heat of ice,
specific heat of moist air at constant pressure,
specific heat of water,
temperature derivative of saturation vapor pressure
temperature derivation of saturation vapor pressure
entropy referred to the triple point and 1013 mb,
dry static energy,
moist static energy,
water vapor pressure,
saturation vapor pressure over water,
saturation vapor pressure over ice,
latent heats of water from empirical fits,
altitudes or pressure from the dry hydrostatic equation,
saturation mixing ratio,
atmospheric density of moist air,
lifting condensation level temperature,
moist adiabatic lapse rate,
virtual temperature including water content loading,
dry potential temperature,
moist potential temperature,
virtual potential temperature,
equivalent potential temperature,
temperature at a desired pressure level,
temperature from equivalent potential temperature,
temperature from virtual potential temperature with liquid condensed phase,
dynamic viscosity of air, and
kinematic viscosity of air.
A source code distribution of AtmosThermPack is available.
It is written in Fortran 77 and is documented via comment
statements contained within the source code file.
- Acorn Atom Emulator
- An emulator for the Acorn Atom computer.
- A utility that converts assembly source files in AT&T/GNU Assembly (GAS)
form into NASM format.
- An ASCII to PostScript converter with
extended pretty-printing capabilities.
The default format used is two pages on each physical page,
borders surrounding pages, headers with useful information (e.g.
page number, printing date, file name), line numbering,
pretty-printing, symbol substitution, etc.
Style sheets are included for a wide range of languages
which guide how the text is to be printed and are extensible by
the user, with automatic style selection via another modifiable file.
It is possible to delegate the processing of some files to other
filters or programs via a configurable script, e.g. using
TeX or groff to
process a file containing source code in either markup language.
Currently (10/97) available are DVI, compression, HTML,
PostScript, Roff, and Texinfo filters.
A source code distribution of a2ps is available. It is written
in C and can be compiled and used on most UNIX flavors.
A user's manual is included in the distribution.
Some ancillary packages are also available including:
a2print, a graphical interface to a2ps;
nh2ps, a Korean version of a2ps;
a2ps-greek, a Greek version of a2ps; and
Okonkify, a program that extends fonts designed for Latin 1 so
they support other Latin encodings.
- AUC TeX
- See under Emacs.
- Audio File Library
- An implementation of the SGI Audio File Library that provides an
API for accessing several audio file formats including
AIFF/AIFF-C, WAVE and NeXT/Sun .snd/.au.
Supported compression formats are G.711 mu-law and A-law.
- A network-transparent audio server and client library.
AudioFile is also device-independent and allows multiple audio
applications to be run simultaneously, sharing access to the actual
The network transparency means that application programs can run on
machines scattered through a network, and the device independence means
that applications don't have to be rewritten to work with new audio
hardware. An analogy would be that it does for sound what X11 does
for text and graphics.
The AF distribution includes device drivers for several devices,
server code for a number of platforms, a programming API and
library, out of the box core applications, and several contributed
A source code distribution is available at the original DEC site,
although porting it to Linux may be more than trivial.
A binary distribution for Linux Intel can be found at the MIT
Documentation is scattered throughout the distribution.
- The Andrew User
System, sometimes called just ``Andrew,''
is a compound document environment offering a word processor,
a mail/bulletin board reader/writer, a drawing editor, a spreadsheet,
a font editor, an application builder, and other facilities. It
is available separately or wholly in the files of the form
auis*-+.tgz where the + indicates one of the following: wp - the
basic word processor; src - the source code
for developers; mail - the MIME-compatible mail interface; or
full - all of the above.
The basic application in the word processing package is the
ez editor which can be used to edit text and graphics and can
also serve as a word processor.
It loads a document, displays it in a window and automatically
displays to appropriate editing commands, i.e. a text document
will cause it to show text-editing commands and a picture
picture-editing commands. It is not quite WYSIWYG but rather
shows the text and pictures in a form that varies with screen
size and with slightly different fonts. Additional features
include automatic checkpointing, multiple windows, document
output in PostScript
and RTF formats, many choices for
text formatting styles as well as the capability to easily
create your own, an extensive set of document templates, and
tools to facilitate the editing of source code in many
The basic mail reading tool is called messages, which can serve as a
conventional mail user agent as well as support reading and posting
to bulletin boards and delivery between cells in the Andrew File
System (AFS). This offers a GUI for sending, reading, editing and
printing mail. Messages is compatible with present ASCII mail
delivery systems and also fully supports MIME extensions.
Other tools in AUIS include bush, a graphical interface to the
file system; chart, which allows you to create simple graphs some
numerical data; figure, a drawing editor; raster, an editor for
digitized pictures; typescript, an alternative to xterm; prefed,
a specialized preferences editor; and much more.
is written in an internal format and over 800 KB worth can be
perused using the Andrew tools. You can also obtain a hard copy
from the developers for around $30. For introductory purposes you
can obtain PostScript
versions of four articles that ran in the
Linux Journal from Aug. to Nov. 1994.
The source code is available as well as
binary distributions for Linux, HP, Sun, Dec Ultrix and IBM RS6000
platforms. The compressed binary distributions are around 10 Mb
compressed and 40 Mb uncompressed.
- An implementation of the A'UM concurrent object-oriented programming
language, a descendant of the KL1 language (implemented in
The language features include objects which all run concurrently,
stream communication in which objects intercommunicate via directed
paths (i.e. streams) with operations on streams providing all the
fine grain parallelism, and
The system provides a environment for concurrent execution of
A'UM programs on UNIX platforms, a foreign language
interface which enables programs written in other languages to
be combined with A'UM programs, and a debugger
furnished with breakpoints, stepping and tracing execution, and
several other functions.
A source code distribution of A'UM is available. It is written
in C and can be compiled on most generic UNIX platforms (with
GCC 1.37 or greater recommended).
Various manuals are available although all are written in
- A package of Linux drivers for Aureal's
Vortex PCI sound chip products.
The features include:
The current distribution contains source and object files,
with access to the Vortex hardware provided by the latter
and to the Linux kernel by the former. A full source
distribution including chip documentation is in the works.
- support for all cards based on the Vortex1 (Au8820),
Vortex2 (Au8830) and Vortex Advantage (Au8810)
chip sets, e.g. the Turtle Beach Montego A3D and
A3D II cards and the Diamond Multimedia Monster
Sound (original, M80, MX200 and MX300) and
Sonic Impact S90 cards;
- support for Linux Intel x86 systems with kernel
versions 2.2.5 or later;
- the hardware synthesis device /dev/sequencer is
- support for legacy joysticks at port 0x201 as well as
for the standard Linux joystick driver;
- planned support for SPDIF, EQ, tone control and
quad output; and
- planned support for A3D in the core chipset drivers
(in addition to a planned port of the A3D 3.0 audio
engine to Linux).
- A package for working with continuation and bifurcation problems in
ordinary differential equations (ODEs).
The capabilities include a limited bifurcation analysis of algebraic
systems and of systems of ODEs as well as some stationary solution and
wave calculations for PDEs.
More specifically, for algebraic systems it can compute solution
branches, locate branch points and automatically compute bifurcating
branches, and locate Hopf bifurcation points and continue these in
The ODE capabilities include:
- computing branches of stable and unstable periodic solutions and
computing the Floquet multipliers that determine stability along these
- locating folds, branch points, period doubling bifurcations, and
bifurcations to tori along branches of periodic solutions;
- continuing folds and period-doubling bifurcations in two parameters;
- performing all of the above for rotations, i.e. when some solution
components are periodic;
- following curves of homoclinic orbits and detecting and detecting
and continuing various codimension-2 bifurcations;
- locating extrema of an integral objective functional along a branch
of periodic solutions and successively continuing such extrema in more
- computing curves of solutions subject to general
nonlinear boundary and integral conditions.
The PDE capabilities include:
- tracing out branches of spatially homogeneous solutions;
- tracing out branches of periodic wave solutions that emanate from
a Hopf bifurcation;
- tracing out branches of waves of fixed length in two parameters;
- performing time evolution calculations given periodic initial
- performing time evolution calculations subject to user-specified
A source code distribution of AUTO is available. It is written in
Fortran and has been successfully compiled and used on Linux Intel
platforms using g77.
A 150+ page user's manual is available in PostScript format.
- A Perl daemon that identifies probes and other
problems in logfiles and automatically reports them via email.
A source code distribution is available.
- AutoClass C
- AutoClass is an unsupervised Bayesian classification
system which seeks a maximum
posterior probability classification.
The key features include:
A database of attribute vectors (i.e. cases) is input along with
a class model. AutoClass finds the set of classes which is maximally
probable with respect to the data and model and outputs a set of
class descriptions along with partial membership of the cases in
- automatic determination of the
number of classes,
- use of mixed discrete and real valued data,
capability of handling missing values,
- processing time varying roughly
linearly with the amount of data,
- cases which have probabilistic
- correlation between attributes in a class,
- generation of reports describing the classes found, and
- prediction of test case class memberships from a training
AutoClass C is an implementation of the AutoClass algorithm written
in ANSI C which is about 10 to 20 times faster than the original
Lisp implementations. It has been ported to and test on
Sun Solaris and SunOS, SGI IRIX, Intel Linux, and HP-UX
The algorithm and package are documented in several manuals
and technical reports available in PostScript format.
See also Snob.
- A utility created for the
GNU project to create
configuration scripts for software packages. A file containing variables
that are aliases
for various testing sequences is created to check for, e.g. the
compiler, libraries, and other software needed to compile a
specific program. This is processed to create a file called
configure which contains the actual commands to perform the
tests which, in turn, creates the makefiles needed to compile
the program. A large variety of built-in variables for various
test sequences is available and the user can create custom-built
variables and sequences as needs be via a standard procedure.
The source code, written in ANSI C, is available for autoconfig
as it is for all GNU packages, and is readily configured and
compiled via the supplied configure script. Keep in mind that
autoconfig creates the configure files so it isn't needed for
a package that comes with a configure file. Most of the time
autoconfig is used by the author of a software package to create
a configure file that can be used to install the software on the
widest possible range of platforms. As such it is seldom needed
or used by those who only compile and use software built by others.
The documentation for autoconfig is contained within a
Texinfo file whose printed
version runs to 100+ pages.
- A program that automates the generation of Makefiles for
C/C++ compilation and
Makefiles are created by using a rule file called ad.rule along
with several other specified text files.
This looks for all the include files used by a program so it can
produce correct dependencies and rules in the Makefile.
This works with or without the Autoconf
A source code distribution is available which requires
Perl 5 or greater.
- A tool for simplifying the creation and maintenance of programs that
contain large amounts of repititious text.
This is especially valuable in programs that have several blocks
of text that must be kept synchronized.
An example of a use for this is the creation and maintenance of
the code required to process program options, which requires
multiple constructs to be maintained in parallel in different
places in a program.
A package called AutoOpts is included in the distribution to
deal with option maintenance. Its features include:
A source code distribution is available which includes an
extensive user's and reference manual.
- processing initialization/rc files;
- processing environment variable initializations;
- processing command-line options;
- storing the option state into a file;
- verifying that the required options are present the required
minimum number of times on the command line;
- verifying that conflicting options don't appear together;
- verifying that options that reqire other options are used
with those other options;
- providing a callable routine to parse a line of text; and
- producing a #define for a program.
- A Makefile generator for automatically creating files called
Makefile.in from files called Makefile.am, with
the former intended to be used by the
autoconf package. The
latter files consist of a series of make macro
definitions along with the occasional rule, and the former
are compliant with the GNU Makefile standards.
The goal of Automake is to remove the burden of Makefile
maintenance from individual GNU maintainers and put it on
the maintainer of Automake.
A source code distribution of Automake is available. It
is written in and thus requires Perl.
It is documented in a user's guide available in
- automatic differentiation
- Related packages include:
- A flexible infrastructure for real-time adaptive control of parallel
and distributed computing resources.
The objective of this part of the Pablo project is to integrate dynamic
performance instrumentation and on-the-fly performance data reduction
with configurable, malleable resource management algorithms along with
a real-time adaptive control mechanism that automatically chooses and
configures resource management algorithms based on application request
patterns and observed system performance.
The components of the Autopilot library include:
The Autopilot toolkit is distributed as three individual components:
- distributed performance sensors that capture quantitative application
and system performance data and compute performance metrics;
- software actuators that enable and configure resource management
- decision procedures for selecting resource management policies and
enabling actuators based on observed application resource requests and
the system responses captured by performance sensors;
- desktop and immersive, real-time performance visualization to provide
insight into the interaction of application demands and resource
management algorithm response.
- Autopilot, which implements the core features of the system;
- Fuzzy Library, for building the classes supporting the fuzzy
logic decision procedure infrastructure; and
- Autodriver, which provides a GUI for the Autopilot system
and is written in Java.
Source code distributions of all the Autopilot components are available.
Additional required software includes
the Pablo SDDF library,
JDK 1.1 or greater, and
a C++ compiler with template support (i.e.
Documentation includes user manuals as well as
man pages for the fuzzy logic library.
- A program that can mirror RPMs from an
FTP site, keep installed RPMs consistent with
an FTP site or local directory, and keep installed RPMs in a cluster
or network of systems consistent.
A source code distribution is available as are binary RPM versions.
- A distributed batch queueing tool for scheduling processes
across a network of UNIX workstations.
It enables the execuation of a stream of processes in a flexible
and convenient way with minimum impact on interactive users.
Autoson can be compiled either in single- or multi-user mode,
with the former providing the capability for a single user to
execute processes on one or more workstations and the latter
allowing several users to use the same queue.
It can execute independent processes on heterogenous/unreliable
processors, but does not provide a parallel environment allowing
processes to communicate. It simply executes processes and waits
for them to finish.
Autoson operates by maintaining a queuefile containing
entries comprising queues of tasks that need to be performed.
Each entry has a unique number and is one of six states, i.e.
PENDING, HOLDING, WAITING, CURRENT, LOST, or SICK.
Each entry has a large number of possible attributes controlling
such things as time limits, priorities, niceness, logging,
Six commands are implemented as links to the main executable
autoson. These are:
Autoson can be seen as a simpler and easier-to-use version of
- auadd, which adds new entries to the queue;
- aumod, which modifies existing entries;
- auzap, which kills the processes running entries;
- aurun, which executies entries;
- aulook, which examines a queue; and
- aulock, which locks the queuefile and possibly edits it.
A source code distribution of autoson is available.
It is written in C and supports several UNIX flavors including
Sun Solaris, SGI IRIX, DEC OSF1 and Ultrix, HP-UX, and Linux.
It is documented in a 38 page user's manual available in
- A network and server monitoring program designed to support large and
arbitrarily complex networks of computers.
The features of autostatus include:
- dependency resolution wherein, given information about the path it
takes to reach network segments, it will query for status in the proper
order to guarantee that nothing is queried before all of the items upon
which it depends have already been queried, nothing is queried if an
item upon which it depends is down, and items are not incorrectly marked as
down when they are simply unreachable;
- parallel status gathering wherein services are intelligently grouped
together for parallel testing in order to minimize the amount of time
need to scan the entire network;
- automatic generation of a status Web page reflecting the current
network and server status on a per-item basis;
- automatic email notification when the state of a monitored item
- multiple service monitoring wherein it can monitor both routers/hosts
via ICMP messages and specific services on machines
via TCP connections.
A source code distribution of autostatus is available which uses
Autoconf for compilation on a wide range
of platforms including Linux.
- A program for converting bitmaps to vector graphics whose goal is to
be an open source replacement for CorelTrace or Adobe Streamline.
The features include:
- conversion of color images;
- input formats including BMP, TGA, PNM, PPM, PGM, PBM and others
supported by ImageMagick; and
- export formats including PostScript, SVG, xfig,
SWF, pstoedit, EMF and SK.
- A program that implements an auto-adaptive genetic system designed
primarily for use as a platform for artificial life research.
It is similar to Tierra in that a population
of self-reproducing strings mutates with the population adapting
to the combination of an intrinsic fitness landscape and an externally
imposed fitness function.
This differs from Tierra in that it provides:
A source code distribution is available for UNIX systems that has
been successfully compiled on most flavors.
- a 2-D environment with local as opposed to global interactions
to facilitate the study of localized phenomena;
- flexibility in run configuration wherein a variety of time-slicing
methods, mutation schemes, methods for placement of new creatures, etc.
- the capability of specifying fitness landscapes for goals beyond
the optimization of gestation time along with the theoretical possibility
for open-ended evolution; and
- configurability of a wide variety of precise measurements and
statistical information collection.
- A project to provide a working implementation of some multimedia
utilities for x86 Linux whose core involves using Win32 dynamic link
libraries in a Linux environment.
A key part of the project is an AVI movie player that can play
DivX movies on Linux machines with reasonable performance and
The supported video compression and decompression formats include:
The supported audio formats include:
- Win32 VfW DLLs;
- Indeo Video 3.2, 4.1 and 5.0;
- Microsoft MPEG v1 and v2 beta, v3 a.k.a. DivX, and MPEG-4 v3;
- Microsoft MPEG v3 a.k.a. DivX;
- Cinepak Video;
- ATI VCR-2;
- Win32 DirectShow filters (decompression only support);
- Windows Media Video 7;
- Motion JPEG (using the Morgan Multimedia shareware codec); and
- various open source plug-ins.
- Win32 ACM DLLs (decompression only);
- Windows Media Audio a.k.a. DivX;
- MS ADPCM;
- Intel Music Code;
- open source plug-ins including PCM, AC3, IMA ADPCM,
MPEG Layers 1, 2 and 3, MSN Audio and GSM 6.1 audio;
- Win32 DirectShow filters; and
- Voxware Metasound.
- A Linux device driver for the Soundblaster AWE32/64 soundcards.
- A pattern scanning and processing language originally
designed for text processing
applications, especially those in which information is structured
in records and fields.
It searches one or more files for a specified pattern and then
performs specified actions each time it finds a match.
The language was defined in Aho et al. (1988).
The GNU version of this called
Gawk is a superset of awk.
The sample code from the book can be found in the
awkbookcode subdirectory at the second URL given below.
A source code distribution of the ``one true awk'' is available
at Brian Kernighan's web site (the first URL below).
It is written in ANSI C and can be compiled on most UNIX
flavors. It compiled right out of the box on my Linux
Dougherty and Robbins (1997),
Robbins (1996) and
- An awk to C translator as well
as a library against which the C code is linked.
- An Awk-to-C translator based on
This converts Awk source code to the equivalent C source
code. This is linked with a static library to create
a standalone executable for the original Awk program.
- A Java regular expression package that
implements the fast DFA-based pattern matching algorithms
used in awk.
A source code implementation of NetComponents is freely available
under the terms of a non-exclusive, non-transferable limited
license whose details are available at the site.
This requires JDK 1.1 or higher and
the related OROMatcher package.
The API is documented in HTML format.
- A text editor which is designed to be an
improvement over the xedit editor.
It is built around the Athena
(Xaw) text widget and features:
- multiple windows and buffers;
- a default menu interface with configurable menus;,
- an optional configurable button interface;
- a minibuffer for expert use and access to internal filters;
- provision for defining a keyboard macro;
- geometry specification and resizing in terms of characters;
- file selection via a browser;
- knowledge of line numbers and parenthesis matching;
- searching with regular expressions;
- restricted or unlimited undo;
- a choice of several fonts;
- easy entry of control codes;
- an xterm-like keymap feature;
- runtime setting of selected preferences or resources;
- brief and comprehensive online hypertext help;
- a server mode with cooperating client programs;
- an optional extension language using Tcl;
- optional 3-D Xaw widget compatibility; and
- a collection of reusable widgets which embody the functionality
A source code distribution of aXe is available as well as
a binary for Linux Intel. It is written
in C and can be compiled and used on
many UNIX platforms.
Use of the full feature set also requires an installation of
Documentation includes a manual in
PostScript format as well as
a man page.
- A 3-D network accessible rendering engine/browser which can
be used to build shared virtual environments.
The network support allows you to open a TCP/IP
port and then telnet to it to control the rendering.
The AXIS interpreter is multi-threaded and allows objects
in the 3-D environment to have private namespaces.
A language called PolyScript is used to create the
It was created and optimized specifically for creating and modifying
3-D objects and for binding events and messages to user interactions
with those objects.
It somewhat resembles PostScript in
terms of syntax.
Binary distributions of AXIS are available for
Linux Intel, Windows 95/NT, SGI IRIX, and Sun Solaris and SunOS
It uses either OpenGL or
Mesa to perform the 3-D rendering.
The documentation is a bit sparse although there are the
beginnings of a PolyScript manual included in the distribution.
- An iterative library which simplifies the process of solving
sparse linear systems of equations .
It is intended as a tool for users who want to avoid cumbersome
parallel programming details when solving large sparse linear
systems on parallel computing systems.
The Aztec package also includes a set of data transformation
tools for the easy creation of distributed sparse unstructured
matrices for parallel solution.
Aztec includes a number of Krylov iterative methods such as
CG, GMRES, and BiCGSTAB. These are used in conjunction with various
preconditioners such as polynomial preconditioners or domain
decomposition using LU or incomplete LU factorizations within
subdomains. The sparse matrix can be general although the
package has been specifically designed for matrices arising
from the approximation of PDEs, with the preconditioners,
iterative methods, and parallelization techniques oriented
towards systems arising from PDE applications.
A source code distribution of Aztec is available.
It is written in ANSI C and can be compiled and used on a variety
of platforms. It has been used on several parallel machines
including nCUBE 2, IBM SP2, Intel Paragon, and MPI platforms.
It can also be used on standard serial and vector platforms.
[ home /
Up: Linux Software Encyclopedia