Next: Bn-Bz
Up: Linux Software Encyclopedia
Previous: An-Az
  Contents
Last checked or modified: Aug. 10, 1999
[ home /
linux ]
CATEGORIES |
NEW
Aa-Am |
An-Az |
Ba-Bm |
Bn-Bz |
Ca-Cm |
Cn-Cz |
Da-Dm |
Dn-Dz |
Ea-Em |
En-Ez |
Fa-Fm |
Fn-Fz |
Ga-Gm |
Gn-Gz |
Ha-Hm |
Hn-Hz |
Ia-Im |
In-Iz |
Ja-Jm |
Jn-Jz |
Ka-Km |
Kn-Kz |
La-Lm |
Ln-Lz |
Ma-Mm |
Mn-Mz |
Na-Nm |
Nn-Nz |
Oa-Om |
On-Oz |
Pa-Pm |
Pn-Pz |
Qa-Qm |
Qn-Qz |
Ra-Rm |
Rn-Rz |
Sa-Sm |
Sn-Sz |
Ta-Tm |
Tn-Tz |
Ua-Um |
Un-Uz |
Va-Vm |
Vn-Vz |
Wa-Wm |
Wn-Wz |
Xa-Xm |
Xn-Xz |
Ya-Ym |
Yn-Yz |
Za-Zm |
Zn-Zz |
- BABEL
- A program designed to interconvert many file formats used
in molecular modeling.
BABEL is capable of assigning hybridization, bond order, and
connectivity when these elements are not present in the input file.
The formats that BABEL can read are:
Alchemy, AMBER PREP, Ball and Stick, Biosym .CAR, Boogie, Cacao Cartesian,
Cambridge CADPAC, CHARMm, Chem3D Cartesian 1 and 2, CSD CSSR,
CSD FDAT, CSD GSTAT, Free Form Fractional, GAMESS Output,
Gaussian Z-Matrix, Gaussian Output, Hyperchem HIN, Mac Molecule,
Macromodel, Micro World, MM2 Input, MM2 Output, MM3, MMADS,
MDL MOLfile, MOLIN, Mopac Cartesian, Mopac Internal, Mopac Output,
PDB, ShelX, Sybyl Mol and Mol2, and XYZ.
The forms it can write to are:
Alchemy, Ball and Stick, Cacao Cartesian, CAChe MolStruct,
Chem3D Cartesian 1 and 2, ChemDraw Conn. Table, CSD CSSR,
Gamess Input, Gaussian Cartesian, Gaussian Z-matrix,
Hyperchem HIN, IDATM, Mac Molecule, Macromodel, Micro World,
MM2 Input, MM2 Ouput, MM3, MMADS, MDL Molfile, Mopac Cartesian,
Mopac Internal, PDB, Report, Sybyl Mol and Mol2, and XYZ.
BABEL is written in C and is available as source code.
It has been compiled and used on IBM AIX, DEC Ultrix,
Sun SunOS, Convex, SGI IRIX, Cray, and Linux platforms,
and can be installed on most platforms using GCC.
Its use is documented in an ASCII file included in the
distribution.
[http://www.chem.ohiou.edu/~dolata/babel.html]
- BABEL
- A language combining both
functional and
logic programming techniques.
The documentation is entirely in German, but I did compile the
compiler on the first try using GCC so
I assume it'll work on a Linux box.
[http://www-i2.informatik.rwth-aachen.de/babel/]
- BABYLON
- A modular, configurable, hybrid environment for developing
expert systems. Knowledge representation formalisms available
include objects, rules with forward and backward chaining,
Prolog, and constraints.
It provides the knowledge engineer with different integrated
knowledge representation formalisms and different user interfaces.
BABYLON is implemented and embedded in
Common Lisp and has been ported
to seven different implementations of that language.
The BABYLON paradigm provides an independent specialist for
each of the formalisms mentioned. In metaphoric terms these include:
- a logician accustomed to proceed analytically by decomposing
goals into subgoals and problems into subproblems (Prolog);
- a stockkeeper possessing information on well-known things
and managing this information to create expectations (objects);
- a pragmatist living fully in reality, concentrating on the
concrete and recommending actions for specific situations
(production rules); and
- a supervisor controlling the performance of actions, asking for
future consequences, and tracin back the reasons for present
situations (constraints).
There is also a manager that receives tasks to be accomplished,
selects an appropriate specialist, delegates the task, and ensures
the delivery of the result to the right place.
The BABYLON architecture is a processing model for this organizational
structure, with the manager or metainterpreter facilitating transfers
between a knowledge base and each of the formalisms.
The BABYLON system should run on any Common Lisp implementation,
with the current version (2.3) having been tested on Allegro
Common Lisp 4.1 and 4.2, CLisp,
CMUCL, and
AKCL. Some documentation
in PDF format is available at the site, but
the main source of documentation is
Christaller et al. (1992).
[http://www-fit-ki.gmd.de/projects/babylon.html]
[ftp://ftp.gmd.de/gmd/ai-research/Software/Babylon/]
- BackBurner
- A collection of Perl scripts for backing
up and restoring verified and compressed images of any mountable
filesystem, network drive, or disk partition.
This allows even unrecognized OS partitions to be ghosted and
restored, and allows recognized filesystems to be backup up and
restored in whole or in parts.
The backups can be performed onto any supported media, with
wrappers available for floppy disks, CDs and mountable media
including Zip drives and NFS mounts.
In UNIXspeak, BackBurner is a set of tools that allow a UNIX
stream to be captured in stasis to any media, and then reconstituted
at a later date as a playback of an exact duplicate of the original
stream.
See the related CD Backup.
[http://cdbackup.home.dhs.org/]
- backup
- A program for performing magnetic tape
backups that reads lines from a control
file and acts on them.
The control file contains information about filesystems and when they should
be backed up. For each file system to be backed up, it prompts the
wetware to mount the correct tape, verifies that the correct tape is
indeed mounted, labels the tape, and then calls ufsdump to
perform the backup.
Various parameters including tape length, tape density, whether or not to
label tapes and verify labels, etc. can also be specified in the control file.
A source code distribution is available.
[ftp://www.ers.ibm.com/pub/davy/]
- backupd
- A small client/server backup system for environments with different
operating systems. The server runs under Linux and the clients
under Linux and Windows 95/NT and OS/2.
The client and server only deal with transmitting data to and
from a resource, with all other backup functions performed by
other resident programs.
A source code distribution is available.
[ftp://ftp.gwdg.de/pub/linux/misc/backupd/]
- backup software
- Several programs are available that can be used to perform
system backups including:
- afbackup, a client-server system that allows
many computers to backup to a centralized backup server;
- Amanda, a system designed to archive many computers
on a network to a single large-capacity tape drive;
- BackBurner, for backing up filesystems;
- backup, a configurable backup program;
- backupd, a client/server backup system for
heterogeneous networks;
- Burt, a backup and recovery tool;
- CD Backup, a set of scripts for backing
up large files onto CD;
- cddump, a version of dump for
backing up files to CDs;
- datbkr, for local and remote DAT backups;
- Flexbackup, a flexible
backup script written in
Perl;
- ftape, a driver program for various low cost
tape drives that connect to the floppy controller;
- GeNUBackup, for backing up distributed
filesystems;
- KBackup, a backup package for UNIX systems;
- KDat, a tar-based tape archiver;
- LBU, an interface to tar for performing backups;
- mirrordir, a mirroring tool that can also
create backup files;
- rdumpit, a shell script for backups;
- star, the fastest known implementation of a
tar-like archiver;
- taper, a user friendly archive program for backing
up to tape drives; and
- Tob, a configurable shell script that runs
tar- or afio-based backups.
References include
Preston (1999).
- Balboa
- A server-based process event data analysis system that provides a
framework to facilitate the construction of event data analysis
tools.
The Balboa framework consists of a server and data management
tools that let a user define event collections and mappings.
The server serves mapped event data to tools via TCP socket
connections.
A library allows tools to talk with a Balboa server and also
supports the access of local file-based event data so the tools
can be used independently of the server without having to recode
or recompile.
The two analysis tools included in the distribution are:
- Discovery, tool that uses statistical and algorithmic methods
to find state-machine patterns in event data; and
- Validation, tool that uses model-searching techniques to find and
measure how closely an event stream matches a model of the process.
A source code distribution of Balboa is available.
It is written in C++ and requires
Tcl/Tk (7.5/4.0 or greater).
A user's manual is available as are several technical reports
in PostScript format.
[http://www.cs.colorado.edu/~serl/process/Balboa/]
- BALNINPT
- An interactive Fortran 77 program designed
to quantify chemical reactions between ground water and minerals and/or
gases. BALNINPT calculates the mass transfer of phases needed to account
for the observed changes in composition between two water samples
using the chemical compositions of the samples and a set of
mineral phases hypothesized to be the reactive constituents in the system.
It determines every combination of the specified minerals that can
account for the observed changes.
Additional constraints can be added to account for the mixing
of two end-member waters, redox reactions, and isotopic
composition.
A source code distribution of BALNINPT for UNIX platforms is
available. Related programs in the USGS
Water Resources Application Software
series are NETPATH and
PHREEQC.
The primary documentation is contained within
Parkhurst et al. (1982).
[http://water.usgs.gov/software/balninpt.html]
- Bamg
- The Bidimensional Anisotropic Mesh Generator
can be used to:
- create a mesh from a geometry;
- adapt a mesh from a background mesh using a metric or solution file;
- smooth, make quadrilaterals, and split internal edges with two boundary
vertices;
- construct a metric file; and
- perform the P interpolation of the solution.
A source code distribution is available and is documented in a user's
guide in PostScript format.
[http://www-rocq.inria.fr/gamma/cdrom/www/bamg/eng.htm]
- BandMin
- A set of Perl scripts designed for
recording and logging IP accounting
data. This can also display the collected data in a set
of HTML pages.
This currently (3/99) supports
ipfwadm,
ipchains,
ipfw and
UserIPAcct.
[http://www.bandmin.org/]
- base64
- A command line utility that encodes and decodes files in the Base64
format used by MIME-encoded documents such
as email messages with embedded images or audio files.
This is written in C.
[http://www.fourmilab.ch/webtools/base64/]
- bash
- The GNU
Bourne Again SHell is a
UNIX command intepreter or shell. It is an implementation
of the Posix shell standard and resembles
ksh and System V shells (i.e. csh).
Bash contains several enhancements over other shells including:
- command line editing;
- unlimited size command history;
- job control;
- shell functions and aliases;
- indexed arrays of unlimited size;
- integer arithmetic in any base from two to sixty-four; and
- a number of variables and options to control shell behavior.
See the
bash FAQ
for
further details.
See Newham and Rosenblatt (1995).
[http://www.gnu.ai.mit.edu/software/bash/bash.html]
[http://sunsite.unc.edu/pub/Linux/system/shells/]
[http://www.best.com/~tjacobs/bash/]
- BashFest
- A virtual drum machine front-end to the music synthesis
language CMIX.
Mixing features include overdub, punch, solo, and erase.
[http://ringo.sfc.keio.ac.jp/~eric/bashfest/bashfest.html]
- BASIC
- A language.
Versions available for Linux platforms include:
- BasicTools
- A project for producing a C++ class library that
simplifies the common chores of developing software in C++.
The functionality of BasicTools includes:
- memory handling and smart pointers;
- a flexible string class;
- I/O classes that extend the ios classes;
- safe casting to subclasses;
- a hierarchy of vectors and arrays with varying degrees of
functionality for several dimensions;
- lists and sets; and
- a menu system for paramter input and accepting a variety
of input sources.
A source code distribution is available as well as several manuals
in PostScript format.
[http://www.ifi.uio.no/~in219/basictools/]
- BASIN
- A finite element program that simulates the filling in of a sedimentary
basin. The processes modeled include transport, erosion and consolidation
of sediment, tectonic processes (e.g. isostatic compensation),
consolidational fluid flow, topography-driven fluid flow,
heat flow including advection, and solute transport.
BASIN incorporates a physically consistent compaction model based
on the equation of state for the porosity.
It does not provide a structural simulation but rather the presumed
structural evolution is used as input data to simulate subsidence,
fluid and heat flow, and the evolution of petrophysical parameters
like porosity and compressibility.
A source code distribution of BASIN is available. It is written
in Fortran 77. The distribution includes
the BASIN program and two additional programs for producing
output in PostScript and Adobe Illustrator format.
See Bitzer (1996).
[http://www.ub.es/geoquimi/personal/basin.html]
- Basis
- Basis is a system for developing interactive programs in Fortran.
A program can be created with a sophisticated programming language
as its user interface that allows the user to set, calculate with,
and plot all the major variables in the program. The user writes
only the scientific part of the program with Basis supplying the
environment in which to manipulate that program. This environment
includes a interactive language interpreter, graphics, error recovery,
macros, the saving and retrieving of variables, formatted I/O, and
on-line documention.
In a typical application the Basis system is first invoked and
then a package of variables and modules consisting of Fortran source
code and a variable description file is loaded. This package
specifies the common blocks to be used in the Fortran source and the
functions and subroutines that are to be callable from the interactive
language parser. The Basis language includes variable and function
declarations, graphics, looping and control structures, array syntax,
matrix multiplication operators, and much more. Several data types
are available including real, double, integer, logical, character,
chameleon and structure variables.
Basis also includes many facilities designed to ease the porting
of Fortran codes among the supported
platforms, including a preprocessor
and a system for creating make files for multi-platform, multi-directory
development.
Basis can be compiled and installed on Cray, Sun (SunOS and Solaris),
HP, SGI and IBM workstations (and, with the recent release of
g77 Version 0.5.18 should now
be amenable for use on Linux platforms although I haven't yet tried
to do so). Installation requires
Perl 4.36 or greater.
Use of the graphics interface requires the prior installation
of the
NCAR Graphics package
and it is also recommended that the
PACT distribution be installed.
There are PostScript versions of all the documentation available,
including a basic tutorial, a language reference manual, graphics
users and library manuals, a basis package library manual, and
an author's guide to writing basis programs.
There's an overview article about this package by the chief author,
Paul Dubois, in Computers in Physics, Vol. 8, 1994,
pp. 70-73.
[http://xfiles.llnl.gov/basis/]
[ftp://ftp-icf.llnl.gov/pub/basis/]
- bawt
- A UNIX-based, multi-channel, multi-network, module-driven
IRC robot extensible via
Perl.
The features include:
- multi-channel and -network support wherein users are recognized
on any net, separate hashes are held, the robot can join different
channels on different nets, the robot can have different nicknames, etc;
- recognition of users via passwords for their nicknames;
- issuing commands in public, privmsg or dcc chat mode;
- access defined via a flag-based system;
- dynamically loaded modules for extensibility;
- using Perl scripts and hooking them to events; and
- a customizable network-based logging utility.
[http://www.flame.org/~david/bawt.php3]
- BAYDA
- The BAYesian Predictive Discriminant Analysis
software implements Bayesian predictive discriminant analysis
in Java.
The aim is to build a model for predicting the value of one
discrete variable using other variables. This discrimination
task is known as classification in the field of machine learning.
BAYDA performs fully Bayesian predictive inference of class
memberships based on a Naive Bayes model built from the data set.
The features include:
- missing data handling;
- an external leave-one-out crossvalidated estimate of the
classifier performance presented in graphical format;
- an intelligent document-style graphical interface;
- forward/backward variable selection; and
- free format data files.
A source code distribution is available for research and teaching
purposes. It is written in Java, requiring JDK
1.1.3 or later.
[http://www.cs.Helsinki.FI/research/cosco/Projects/NONE/SW/]
- BAYESPACK
- A collection of numerical integration software for Bayesian
analysis.
BAYESPACK is intended for the numerical evaluation of integrals
that arise in Bayesian statistical analysis.
It includes different types of transformations that can be
selected to precondition a problem such as a standardizing
transformation and multivariate normal, multivariate student's t,
and split-t transformations.
Numerical integration methods in the package include
Monte Carlo, quasi-Monte Carlo, subregion adaptive, stochastic
spherical-radial, product Gauss-Hermite, and generalized
Gauss-Hermite.
The routines are available as Fortran source code and a
manual in PostScript format
is separately available.
[http://www.math.wsu.edu/math/faculty/genz/homepage]
- Bayonne
- The multi-line voice response telephony server of the
GNU project, i.e. this provides a service
daemon which can automatically process telephone callers on a GNU
OS in an extensible manner.
Suitable example applications include interactive voice response (IVR),
telephone-based system administration and control, and voice messaging, i.e.
voice mail.
This is part of the larger
GNUCOMM project, and the successor to
the ACS project.
Additional features of Bayonne include:
- use of ccscript as an embedded
scripting language;
- a fully modular design that can be integrated with many common
GNU system services; and
- a Telephony Gateway Interface (TGI) that allows
Perl and system applications to be invoked
for developing web integration and v-commerce solutions.
[http://Bayonne.sourceforge.net/]
- BBMATIC
- A Web-based BBS system written in Perl 5.
The functionality includes:
- adding and retrieving threaded posts;
- saving displayed text in a database;
- running multiple forums from one script;
- full- and split-screen modes in frames-capable browsers;
- sending email to users in a thread when a followup is posted;
- a manager module for removing subjects and/or comments; and
- automatic removal of posts by age (with the option of saving
them to an archive file).
The source code is freely available.
[http://www.GetCruising.com/crypt/bbmat.html]
- BBBS
- A powerful BBS system with many features including:
- native versions for several platforms;
- full Fidonet support including a mailer,
a mail processor, an outbound manager, and more;
- incoming and outgoing Internet support including Telnet,
FTP, SMTP,
POP3, NNTP,
HTTP, etc.;
- Fidonet mail sessions over TCP/IP;
- gating news, email and mailing lists between Fidonet and Internet;
- multilingual support;
- terminal emulation including VT320, ANSI, RIPscript and TTY;
- security features including encrypted passwords and RSA login;
- a hypertext help system for users and management;
- a virtually unlimited number of message areas;
- a fast full-screen message editor;
- full multinode and multitasking support;
- an advanced groups-based access control system with regular expressions;
- IRC-like groupchat;
- a directory-based file system;
- full CD-ROM support;
- fast file search by wildcard or keyword;
- sending and receiving FAXes and voice calls;
- a full-featured and powerful C-like scripting language;
- customizable and configurable; and
- hundreds of available utilities.
Distributions are available for several platforms including
Linux Intel. An extensive user manual is available.
[http://www.bbbs.net/]
- BBQR
- A set of Fortran 77 routines for the least-squares
solution of a system of overdetermined, full-rank, linear equations
with single-bordered block-diagonal structure.
The structure allows for natural sequential processing - one block diagonal
at a time - so large systems can be easily handled.
Orthogonal transformations in the form of Householder reflections
are used to factor the system.
All BLAS levels are extensively used in
these programs.
This is TOMS algorithm 741 and is documented
in Ray (1995).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
[http://www.acm.org/toms/V21.html]
- bc
- A calculator language which supports arbitrary precision numbers
with interactive execution of statements. The syntax somewhat
resembles that of C and a standard math library is available
via a command line option.
The POSIX P1003.2/D11 standard includes
a utility called bc, and this version is written to be compliant
with that in addition to including several extensions to the
draft standard.
This version has a single executable which both compiles the
language and runs a resulting byte code.
The bc distribution also includes dc, an RPN desk
calculator which supports unlimited precision arithmetic and
also allows the calling and defining of macros.
A source code distribution of bc is available. It is written
in C and can be compiled and installed via the
autoconfig files included in
the distribution.
The language and calculator are both documented in man pages,
and the latter also in a user's guide in
Texinfo format.
[http://www.gnu.ai.mit.edu/software/bc/bc.html]
- BCC
- A Scheme-based library for
SGML documents that uses the
NSGMLS found in the SP package.
It was created to transform and apply easily built-in or
user-defined functions to an SGML dcoument.
[http://www.multimania.com/jcalles/XML/]
- bchunk
- A program that is not dissimilar to the BinChunker program found on
lesser operating systems.
This converts CD images in the raw BIN/CUE format to sets of tracks
in ISO and CDR (native CD audio) format.
These can then be written to a CD-ROM using
cdrecord or converted to other audio
formats using sox.
A source code distribution is available.
[http://hes.iki.fi/bchunk/]
[http://rufus.w3.org/linux/RPM/freshmeat/bchunk/]
- BCP
- A set of Fortran 77 subroutines for generating
box-constrained nonlinear programming test problems. The technique
allows the user to control relevant properties of the generated
problems.
This is TOMS algorithm 774 and is documented
in Facchinei et al. (1997).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
[http://www.acm.org/toms/V23.html]
- BCPL
- The Basic Combined Programming Language is
a simple typeless
programming language
first designed in 1966 and
first implemented in 1967 by Martin Richards while visiting MIT.
It was used for several projects in the early 1970s, the most
notable of which were the OS6 operating system at Oxford and
parts of the Alto work at Xerox PARC.
BCPL is in the procedural language family and is, like its
descendants B and C, oriented particularly
towards systems programming, small and compactly described, and
amenable to translation by a simple compiler.
A modified version of BCPL called B, which Dennis Ritchie calls ``BCPL
squeezed into 8K bytes of memory and filtered through [Ken]
Thompson's brain,'' became the first system programming language
for UNIX circa 1970. B later evolved into C with the additional
of types and various other features.
A machine-independent interpreted implementation of BCPL is
available at the given URL which can be compiled and used on most UNIX
platforms.
See the related MCPL.
See Richards and Whitby-Strevens (1981),
Stoy and Strachey (1972), and
Thacker et al. (1982).
[http://www.cl.cam.ac.uk/users/mr/BCPL.html]
- BeagleSQL
- A client/server DBMS for UNIX platforms.
This is a database system.
BeagleSQL is described in an article in the February 1998 issue of
the Linux Journal.
[http://www.beaglesql.org/]
- BeanShell
- A small, embeddable Java source interpreter
with object scripting language
features. This interpreter, written in Java and designed for
light weight scripting, executes standard
Java statements and expressions in addition to scripting commands
and syntax.
This has been described as having the same relationship to
Java that Tcl/Tk has to C.
The features of BeanShell include:
- use of the Java reflection API to provide runtime interpreted execution
of Java statements and expressions;
- transparent access to all Java objects and APIs;
- runs in command line, console, applet, and remote session server modes;
- works in applets as well as applications, i.e. needs to compiler or
classloader;
- covers the full Java statements and expressions syntax;
- emulates strongly typed variables and methods;
- full Java arithmetic, logical and bitwise operations;
- object construction and handling including multi-dimensional arrays;
- full exception handling;
- loops and control structures with breaks and returns;
- dynamically typed (un-typed) variables;
- scripted objects, i.e. method closures;
- scripted AWT/Swing event handlers;
- implementation of arbitrary Java interfaces;
- an extensible set of utility commands; and
- namespace/scope modifiers.
[http://www.beanshell.org/]
- beast
- Both Expect And Scotty Together is
a Tcl-based
programming language that
combines the features of both Scotty
(for retrieving TCP/IP information) and
Expect (for automating interactive programs).
The goal of beast is to provide an extremely flexible
scripting language
for interrogating network services and configuring
heterogeneous network devices.
A source code distribution is available.
[http://www.malibu.demon.co.uk/batfink/beast.html]
- Bee-gent
- The Bonding and Encapsulation Enhancement
aGENT is a development framework for building flexible open distributed
systems that make optimal use of existing applications.
It differs from similar systems in that it is a 100% agent system
wherein all interactions are via agents.
The framework consists of two types of agents:
- Agent Wrappers used to agentify existing applications; and
- Mediation Agents that support inter-application coordination
by handling all communications.
The features of Bee-gent include:
- the coordination of the interactions among applications in a
unified manner;
- mediation agents that carry their own program, data and current state
and thus reduce the frequency of communication as compared to
message-based systems;
- increased application interoperability due to the common interfaces
provided by the agent wrappers;
- flexible interactions that can change with the situation via
agent communication using the Agent Communication Language (ACL);
- a rapid application development (RAD) tool based on design
patterns;
- use of HTTP and XML/ACL for portable information exchange and
communication;
- digital fingerprint authentication and security based on secret
key encryption; and
- conformmance with the FIPA standards for agent technology.
[http://www2.toshiba.co.jp/beegent/]
- Befunge
- An interpreted, 2-D, stack-based
programming language created in
1993 by Chris Pressey.
It is the first language to allow the program counter to move not
only forwards and backwards but also sideways.
The source code for the language looks like garbage and
has been described as ``a cross between Forth and Lemmings.''
It is probably best to list what Befunge is not good for, i.e.
writing an OS, writing a reasonably-sized program, speed-senstive
applications, and pretty much anything practical.
[http://www.catseye.mb.ca/esoteric/befunge/]
[http://cantor.res.cmu.edu/bozeman/befunge/beffaq.html]
- benchFFT
- A program to benchmark FFT software
which incorporates a large number of publicly available
FFT implementations in both C and Fortran and measures
their performance and accuracy over a wide range of
transform sizes.
A source code distribution is available as well as
a binary for Linux Intel platforms.
Running the benchmark requires a working version of
FFTW.
[http://www.fftw.org/benchfft/]
- benchmarks
- Available benchmarking software includes:
[http://www.netlib.org/benchweb/]
- Bench++
- A suite of programs designed to measure the performance of the code
generated by C++ compilers.
Bench++ is based on the Ada PIWG suite with some small applications
and traditional benchmarks added.
The suite is designed using the dual loop paradigm with the
programs coded to work in spite of sophisticated code
optimizers
Bench++ measures the run-time performance for three test groups:
traditional benchmarks (e.g. Dhrystone, Whetstone, and Hennessy;
applications (e.g. path tracker, orbit, kalman, centroid); and
language features (e.g. if-then-else, procedure/method calls, new/delete,
exceptions, etc.).
The traditional benchmarks are designed to measure the effectiveness
of C++ on benchmarks traditionally coded in other languages, with
those benchmarks having been reengineered in C++ making use of
object oriented features where appropriate.
The applications are all recoded C++ versions of benchmarks originally
coded in JOVIAL and Ada.
The language feature tests are divided into several categories which
measure:
- dynamic allocation overhead with and without initialization
of an array,
- the overhead involved in throwing and catching C++ exceptions,
- the impact of various coding styles on C++ run-time performance,
- the iostream class implementation,
- the effect of minimizing data space by using bit arrays and bit
fields as well as the cost of performing type conversions,
- loop overhead,
- optimizer performance,
- procedure call related overhead, and
- how good a compiler is at generating code for object oriented constructs.
The source code for the Bench++ suite is of course available.
It has been compiled and tested on the g++ compiler with
some results available in a draft paper available at the site.
[http://www.research.att.com/~orost/bench_plus_plus.html]
- Berkeley Logo
- A version of the Logo programming language which can
be compiled and used on UNIX platforms.
The source code is available as in a user's manual
in ASCII format.
[ftp://cher.media.mit.edu/pub/logo/software/ucblogo]
[ftp://anarres.cs.berkeley.edu/pub/ucblogo/]
[http://www.cs.berkeley.edu/~bh/]
- Berlin
- A complete windowing and graphics API for Linux which completely
does away with the X Window System.
Berlin is written in C and for POSIX compliant UNIX systems, and
is being developed on a Linux system.
The main goals of this system are speed, efficiency, and
optimization, and it will be the first POSIX compliant GUI.
A GUI toolkit called Warsaw is being developed along with
Berlin. It is designed to be easy for beginning applications
programmers to use.
This package has not yet (6/97) been released.
[http://berlin.benham.net/]
- Bernina
- An interactive interface to the Sumit computer algebra library.
Bernina provides functionality that tends to be missing from major
commercial computer algebra systems including:
- basic arithmetic in Q[x,d/dx] including adjoints and left and
right GCDs and LCMs;
- symmetric and exterior powers;
- rational kernels;
- Darboux curves of second-order operators; and
- invariants and dual first integrals of higher-order operators.
The available functions in Bernina include:
- adjoint, returns the adjoint operator of a differential operator;
- apply, verifies that an element is in a kernel of an operator
by applying the operator to it;
- Darboux, returns Darboux polynomials for second-order differential
operators;
- degree, returns the degree of a differential operator or a
polynomial;
- dualFirstIntegral, computes a basis for the dual first integrals
of a differential operator;
- exteriorKernel, computes the rational kernel of the exterior
powers of differential operators;
- exteriorPower, computes the exterior powers of differential
operators;
- invariants, compute the basis for the homogeneous invariants
of differential operators;
- kernel, computes the kernel of a differential operator or
a matrix of fractions;
- pCurvature, computes the curvature of differential operators; and
- polynomialSolution, computes the polynomial solution of a
differential operator.
Binary distributions are available for several platforms including
Linux Intel. A user's and reference manual is available in
PostScript format.
[http://www-sop.inria.fr/safir/whoswho/Manuel.Bronstein/bernina.html]
- BeroFTPD
- An FTP server based on
wu-ftpd.
[http://metalab.unc.edu/pub/Linux/system/network/file-transfer/]
- bestserv
- A mailing list server that can be used on any machine with
sendmail.
[http://apollo.backplane.com/FreeSrc/]
- BETA
- A modern object oriented language with comprehensive facilities for
procedural and functional programming. BETA has powerful abstraction
mechanisms which provide support for both design and implementation,
including data definition for persistent data. The abstract
mechanisms include support for the identification of objects,
classification, and composition. It is also strongly typed, with
most type checking occurring at compile time.
The abstraction mechanisms include classes, procedures, functions,
coroutines, processes, exceptions, and several others, all of which
are unified into an ultimate abstraction mechanism called the
pattern. There are also subpatterns, virtual patterns, and pattern
variables.
BETA not only allows for passive objects but objects that may act
as coroutines, making it possible to model alternating sequential
processes and quasi-parallel processes. The coroutines may
also be executed concurrently with supported facilities for
synchronization and communication, including monitors and
rendezvous communication.
There are two freely available implementations of BETA:
a compiler called b2c which translates
BETA to C and then compiles it using the native compiler,
and an interpreter called gbeta.
Quite a few technical reports about BETA are available in
PostScript format.
[http://www.daimi.aau.dk/~beta/]
- Beta-Prolog
- A fast and portable Prolog
implementation consisting of an emulator of the
NTOAM (matching Tree Oriented Abstract Machine) written in C,
a compiler written in Prolog that translates Prolog programs
into NTOAM instructions, and a library of
built-in predicates.
The features of Beta-Prolog include:
- being one of the fastest emulator-based implementations;
- acceptance of matching clauses in which input and output
unifications are separated and determinism is explicitly
denoted;
- interactive interface in which programs
can be compiled, loaded, debugged, and executed;
- an interface through which C functions can be called
from Prolog;
- a special data structure called state tables which can
be used to represent graphics, simple and complex domains
in constraint satisfaction problems, and situations in various
combinatorial search problems; and
- a finite-domain constraint solver with which constraint
satisfaction problems can be specified declaratively.
The source code for Beta-Prolog is available.
It can be compiled and installed on generic UNIX
platforms with a C compiler.
See Zhou (1993).
[ftp://ftp.cs.cmu.edu:/user/ai/lang/prolog/impl/prolog/beta_pl/]
- BFS
- A Linux driver for the BeOS File System.
This is currently (2/99) alpha software.
[http://hp.vector.co.jp/authors/VA008030/bfs/]
- BGET
- A comprehensive and easily configurable memory allocation package that
is efficient in both the time needed to allocate and release buffers and
in the memory overhead required for buffer pool management.
It automatically consolidates contiguous space to minimize fragmentation.
The features of the package include:
- a built-in test program to exercise the program and demonstrate
the use of the various functions;
- allocation by either first fit or best fit method;
- wiping of buffers at release time to catch code that references
previously released storage;
- built-in routines to dump individual buffers or the entire buffer pool;
- retrieval of allocation and pool size statistics;
- extensive internal consistency checking;
- quantization of buffer sizes to a power of two to satisfy hardware
alignment constraints; and
- automatic pool compaction, growth, and shrinkage via call-backs
to user defined functions.
A source code distribution of this portable C package is freely
available.
[http://www.fourmilab.ch/bget/]
- BGP
- The Border Gateway Protocol is an inter-autonomous system
routing protocol
whose primary function is to facilitate the exchange of
network reachability information among BGP-speaking systems.
A BGP-speaking system can tell others outside its network about which
routes it knows how to get to from within its network, i.e. it advertises
routes to other networks.
[http://www.mindspring.com/~jlindsay/bgp.html]
[http://www.whatis.com/bgp.htm]
- bibprep
- A preprocessor that filters
an HTML-like input file that can
contain embedded structured bibliography records that are not
standard HTML into a formatted HTML file, a
BibTeX file, and an author output file.
The features that are not in standard HTML include:
- article, techreport, and university environments,
- a today tag that is replaced with today's date,
- a bibtex environment which is processed only for
BibTeX output, and
- a URL argument for the paper environment.
This is available in source code or binary format for
Linux Intel systems.
Example bibliographies are available at the site.
[http://linux.agsm.ucla.edu/ipo/bibprep.html]
- BibTeX
- A part of the LaTeX
package that keeps track of bibliographic references within
text and also creates the bibliographies to which the text
refers. The bibliography entries are demarcated in the
text via special commands that refer to entries in either
a list of bibliography entries at the end of the text file
or a separately created bibliography file.
- barracuda
- A BibTeX database manager whose
basic features include loading, editing, merging and saving
BibTeX database files.
The databases can be sorted and searched for records and
printed with the help of LaTeX and
a provided shell script.
It supports macros that can be stored in a separate file and merged
with the database upon saving.
It supports 13 standard records and knows about the optional
and required fields for each record the gives the user the choice
of which fields are displayed in the listed view of the database.
Preferences can be set in a dialgo box and are stored in the
user's home directory.
A source code distribution is available which requires
Qt for compilation and use.
[http://barracuda.linuxave.net/]
- bibclean
- A program that prettyprints and checks the brace balance and bibliography
entry syntax of BibTeX files.
This can be used to normalize the appearance of collections of
BibTeX files.
The formatting actions performed include:
- formatting all itemrs into a consistent structure;
- expanding tabs into blank strings;
- splitting long string values at a blank and continuing them onto the
next line with leading indentation;
- separating adjacent entries with a single blank space;
- converting outer parentheses around entries to braces;
- normalizing the form of personal names;
- converting hyphen sequences in page numbers to en-dashes;
- converting month values to standard abbreviations;
- bracing upper-case characters in titles to prevent them from
being converted to lower-case characters; and
- validating CODEN, ISBN and ISSN values and correcting ISBN
hyphenation.
A source code distribution of this C package is
available.
[http://www.math.utah.edu/~beebe/software/bibtex-bibliography-tools.html]
- bibextract
- A set of UNIX shell and
awk programs for extracting citation tags from
LaTeX source and .aux files and for using
those tags to extract bibliography entries from a list of
BibTeX .bib files.
The programs are:
- bibextract, extracts from a list of BibTeX .bib files entries
that match a pair of specified regular expressions, i.e. one for
specifying a keyword value and the other for specifying strings within
the contents of that keyword entry;
- citefind, extracts from a list of BibTeX .bib files those
entries that match a specified list of citation tags; and
- citetags, extracts BibTeX citation tags from a LaTeX source
file or .aux file.
A source code distribution is available.
[http://www.math.utah.edu/~beebe/software/bibtex-bibliography-tools.html]
- Bibfrm
- A program which can read and create bibliographic files in
BibTeX format. It has a GUI created with the
XView library which lets users visualize
whichfileds are optional or compulsory according to document type.
It also allows you to navigate through references, searach for a
particular string, or sort references based on document type,
authors, or date. A text summary for each reference can be
entered.
Binary versions of Bibfrm are available for Sun SunOS and Solaris
and Linux Intel platforms.
[http://icps.u-strasbg.fr/~genaud/FRM/bibfrm_english.html]
- bibindex
- A set of programs for fast lookup in BibTeX
bibliography data bases. The programs are:
- bibindex, creates a compact binary index file from a BibTeX
bibliography file; and
- biblook, looks up entries in the binary file created with
bibindex.
A source code distribution of these C programs is available. They
are documented in man pages.
[http://compgeom.cs.uiuc.edu/~jeffe/biblook.html]
- bibsort
- A program that filters a BibTeX bibliography
or fragment thereof.
Sorting is by BibTeX tag name or by String macro name and latter
case is ignored in the sorting.
[http://www.math.utah.edu/~beebe/software/bibtex-bibliography-tools.html]
- bibtex2html
- A BibTeX to
HTML translator whose features include:
- handling any BibTeX style;
- using additional fields like abstract, url or
ps to insert Web links;
- replacing cross-references with links;
- sorting by date or author in increasing or decreasing order;
- reading simple macros in TeX/LaTeX files; and
- showing syntax errors in BibTeX files.
Source code and binary distributions are available, with one of
the latter being for Linux platforms.
Compilation requires an
Objective Caml installation.
[http://www.lri.fr/~filliatr/bibtex2html/]
- bibtex2html
- A package containing a BibTeX style file that
produces HTML rather than
LaTeX output as well as a file converter
that removes the remaining TeX-isms.
A source code distribution is available.
[http://www.cs.columbia.edu/~hgs/bibtex2html/]
- bib2html
- This takes a BibTeX
bibliography and formats it into HTML. It
can also create links to arbitrary URLs and
PostScript,
PDF, or
DVI versions of the papers. It comes with a
CGI script to allow
the bibliography to be searched.
[http://pertsserver.cs.uiuc.edu/~hull/bib2html/]
- bibtools
- A collection of tools for doing various things to and with
BibTeX files. These programs include:
- aux2bib, creates a portable .bib file from an .aux file;
- bibify, eliminates one pass of LaTeX
from the usual procedure;
- bibkey, creates a list of all entries with a given keyword;
- cleantex, cleans up all of those annoying auxiliary files
created by TeX and LaTeX;
- looktex, creates a list of all entries that match a given
regular expression;
- makebib, creates an exportable .bib file from a given set
of .bib files and an optional list of citations; and
- printbib, creates a .dvi file from a .bib file, sorted by
cite key and including the keyword, abstract and comment fields.
[http://tug2.cs.umb.edu/ctan/tex-archive/biblio/bibtex/utils/bibtools/]
- BibTool
- A package containing several tools which can be used to
manipulate BibTeX files in various ways.
The capabilities of BibTool include:
- pretty-printing BibTeX data bases (with several adjustable parameters);
- performing syntactic checks with error recovery capabilities superior
to those of BibTeX and helpful error messages;
- semantic checks can be specified by the user;
- sorting and merging BibTeX databases according to a definable sort key;
- the generation of uniform reference keys according to predefined rules;
- the selection of references for one publication via the use of
an .aux file;
- the use of regular expressions for the rewriting of fields;
- macro (string) expansion;
- the collection of statistics for databases; and
- examples of the use of BibTool with Perl
and Tcl/Tk.
BibTool is written in portable C and has been compiled on UNIX
systems as well as on MS-DOS, Atari and Amiga. It is distributed
in source code form along with a 50+ page user's manual written
in LaTeX.
Future plans (4/97) for the package include a BibTool library,
an SQL version, and a Tcl/Tk loadable module (along with modules
in other languages). The most recent release (version 2.40)
contains an experimental release of BibTcl, a library of
Tcl procedures.
[http://www.dante.de/CTAN/biblio/bibtex/utils/bibtool/]
- BibView
- A graphical interface for manipulating
BibTeX files.
You can check files for syntax errors, merge them, and
do all sorts of nifty things with this package.
[http://sunsite.unc.edu/pub/Linux/apps/tex/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/tex/]
- bindex
- A package of utilities for converting files from
various other formats to BibTeX and also
for creating word indices for BibTeX files.
The conversions programs are:
- colon2bib, converts colon separated lines to BibTeX;
- canonical, fixes a BibTeX database to standard format;
- compsoc2bib, converts IEEE Computer Society format to BibTeX;
- dump, dumps contents of a gdbm file for
debugging;
- elib2bib, converts Elib entries to BibTeX;
- ieee2bib, converts IEEE raw files to BibTeX;
- rfcindex2bib, converts rfc-index.txt to BibTeX; and
- refer2bib, converts UNIX refer format to BibTeX.
The indexing-related programs are:
- windex_bibtex, indexes BibTeX files; and
- windex_search, searches the generated index files.
A source code distribution is available which requires
Tcl, gdbm and
BibTeX for compilation and use.
[ftp://gaia.cs.umass.edu/pub/hgschulz/bindex/]
- bp
- A Perl library for:
- making tools to access bibliographies;
- transparently accessing multiple bibliographic formats;
- converting between formats; and
- converting between character sets.
The supported formats include BibTeX,
Refer, EndNote, Tib, Procite, RFC-1807,
raw text, CSTR, Inspec, Medline, Melvyl, IEEE catalog, Powells and
HTML.
The supported character sets include ISO 8859-1, Apple's 8-bit mapping,
HTML, TeX and
troff.
[http://www.ecst.csuchico.edu/~jacobsd/bib/bp/]
- btOOL
- A pair of libraries that give programmers unhindered access to
BibTeX files. These libraries are:
- btparse, a C library based on a lexical scanner and parser
written using PCCTS which also provides various
string processing functions needed to emulate BibTeX; and
- Text::BibTeX, a Perl library that
provides an object-oriented itnerface to BibTeX files and entries.
The latter also includes a framework for writing Perl classes that do
the job of BibTeX style files.
A source code distribution is available.
[http://starship.python.net/~gward/btOOL/]
- fbib
- Converts BibTeX bibliographies to
FrameMaker format.
[http://www.cs.stir.ac.uk/~kjt/software/framemaker/]
- gBib
- An interactive BibTeX database manager
that can also be used to insert citations inside a
Lyx document.
[http://gbib.seul.org/]
- pybliographer
- A Python tool for managing bibliographic
databases that currently (5/99) handles
BibTeX files.
The features include:
- simultaneous access to several databases;
- a powerful search mechanism;
- adding, editing, merging and deleting of entries;
- use of cross reference fields to store, e.g. private comments
out of a database as if they were merged;
- access to the Python interpreter for
easy extensibility; and
- transparent access to remote databases via the
HTTP and FTP protocols.
[http://www.gnome.org/pybliographer/]
- SIXPACK
- A program to manage references in BibTeX
and other formats. SIXPACK can convert other bibliography styles
into BibTeX format, search and sort bibliographies, and edit, convert
and manage reference files.
It provides both command line and graphical interfaces, with both
having the same functionality.
It has an internal reference format designed to be quickly parseable
which can be converted into other formats.
Currently (6/98) supported formats other than BibTeX include
refer, endnote, tib, procite, RFC-1807, cstra,
medline, raw text, inspec, melvyl, ieee and powells.
A source code distribution is available. It is written in
Perl and PerlTk.
[http://crysta.physik.hu-berlin.de/~boeck/Sixpack/index.html]
- tkbibtex
- A portable editor and browser for BibTeX files.
Tkbibtex consists of three windows:
- a scrolling list of the cite keys;
- a browser window showing all the fields associated with an entry
selected from the cite key list; and
- a search window with several searching modes.
The features include:
- invoking a menu of string constants from within the browser window
for, e.g. strings defined for journal names;
- annotation capabilities from within the browser window;
- multiple selection enabled in the main and search window citation lists;
- single-key shortcuts for most functions; and
- command-line options for creating statistics about or extracting
entries from bibliography files.
A source code distribution of this Tcl/Tk script
is available.
[http://www.cat.csiro.au/dmt/programs/autom/pic/tkbibtex.html]
- Web-Bib
- An Emacs-based system for translating a
BibTeX file of citations into an
HTML-formatted master file.
Web-Bib can generate several auxiliary files providing
alternative organizations or subsets of the citations along with
HTML links to the associated entry in the master file.
It also provides a simple form and CGI script-based
interface allowing on-line submission of additional references.
A source code distribution is freely available.
[http://csdl.ics.hawaii.edu/Tools/Web-Bib/Web-Bib.html]
- xmbibtex
- A reference manager that uses the BibTeX
file format. The capabilities include:
- adding, deleting and editing reference entries;
- saving references in BibTeX format;
- searching via several strategies; and
- importation of various Medline reference formats.
A source code distribution is available.
[http://sunsite.unc.edu/pub/Linux/apps/tex/]
- BIE
- A boundary element package for solving integral equations on
piecewise smooth surfaces.
This collection of Fortran programs allows the user to creating
and refine triangulations on surfaces and then to solve integral
equations using collocation methods over these triangulations.
The package was developed as a research tool to allow for
experimentation with numerical methods for solving boundary
integral equations defined on piecewise smooth surfaces in 3-D.
The triangulation used used works well with a wide variety
of surfaces including polyhedra, smooth surfaces such as ellipsoids
and tori, cones, paraboloids, and many others. It is intended
for connected regions but can also be used with open surfaces.
A wide variety of linear and nonlinear integral equations (of
the second kind) defined
on piecewise smooth surfaces can be solved using the supplied
routines. Integral equations with smooth kernel functions
can be solved using using either a collocation method with
piecewise quadratic approximation or the Nyström method,
with the latter offering variants for direct and iterative solutions.
There are also programs for solving the interior Dirichlet problem
and the exterior Neuman problem for Laplace's equation.
A source code distribution of BIE is available.
It is written in Fortran 77 and documented in a 41 page
user's manual available in PostScript
format.
See Atkinson (1985) and
Atkinson (1990).
[http://www.math.uiowa.edu/~atkinson/bie.html]
- BIEW
- A multiplatform portable viewer of binary files with a built-in editor
for binary, hexadecimal and disassembler modes.
[http://biew.sourceforge.net/en/biew.html]
- Big Brother
- A systems and network monitor that is a combination of monitoring
methods. It is designed such that each local system broadcasts its
own information to a central location while the central location
simultaneously polls all networked systems. This combines to
create an efficient and redundant method for network monitoring.
Big Brother consists of shell scripts that periodically monitor
system conditions and network connectivity, with inter-machine
communications performed by a set of client-server programs.
All results are shown on a display monitor, a Web page that
presents a mtrix of machines and monitored functions with colored
codes showing the current status.
Additional features of Big Brother include:
- configurable warning and panic levels;
- notification via page and/or email;
- support for grouping of machines;
- support for modem monitoring;
- configurable paging delays;
- support for heterogeneous networks;
- the ability to test via a proxy server; and
- an NT client.
A source code distribution is available. Usage requires a
C compiler and Kermit and a modem for paging.
[http://maclawran.ca/bb-dnld/]
- bigFORTH
- A native code version of Forth. A
GPL version of this is available for Linux
platforms whose features include:
- a compiler that generates optimized native code for the i386
architecture;
- full compliance with ANS Forth;
- several tools including a multitasker, a source-able decompiler,
a source-level debugger, and a Pentium-MMX-assembler/disassembler;
- a multi-window editor;
- an extensive suite of libraries including a file interface,
printer support, floating point arithmetic,
memory management,
a GUI, etc. and
- modularity capabilities including separate compilation.
[http://www.jwdt.com/~paysan/bigforth.html]
- Bigloo
- A Scheme system devoted to enabling
Scheme-based programming style where C++ is usually required.
Bigloo attempts to make Scheme practical by offering features
usual to traditional languages but unusual to Scheme and
functional programming.
The additional features of Bigloo include:
- an extended foreign interface which allows Bigloo functions
to call C function and vice-versa;
- an object-oriented system created by adding simplified
CLOS-like generic functions with single inheritance and
mono-dispatch;
- a batch compiler which compiles modules and does not
rely on a read-eval-print loop;
- an explicit type system and compile-time type mismatch detections;
- dynamic exceptions by means of constructions such as
`try' that catches errors, `bind-exit' thatbinds an exception, and
`unwind-protect' that protects a piece of code from exceptions;
- practical IOs by the use of lexing and parsing tools;
- DSSSL support; and
- Unicode support.
A source code distribution of Bigloo is available. It is
written in C and should compile on most UNIX
flavors.
A user's manual and reference guide is available in
PostScript format.
[http://kaolin.unice.fr/~serrano/bigloo/bigloo.html]
- bigloo-lib
- A set of libraries for the Scheme
compiler Bigloo.
Most are interfaces for various C libraries, although
some are written in Scheme.
The contents include:
- an RDBMS generic interface with an MySQL
back-end;
- a CGI programming framework;
- an XML parser via an interface to
expat;
- an LDAP client interface;
- an interface to GTK+; and
- various common utilities used by all of the above.
[http://bigloo-lib.sourceforge.net/]
- bigwig
- A high-level programming and
scripting language for
developing interactive Web services wherein complete
specifications are compiled into a conglomerate of
lower-level technologies such as
CGI scripts,
HTML,
JavaScript and
the HTTP Authentication Protocol.
Bigwig is actually a collection of tiny domain-specific
languages focusing on different aspects of interactice Web services,
with the languages held together with a C-like
skeleton language to minimize syntactic burdens.
Bigwig services execute as standalone processes that communicate
with the HTTP/CGI server through a dedicated runtime system. This
scheme improves upon the statelessness of the CGI protocol in that
the local state is present in the session thread for the duration
of the service.
The runtime system also contains support for:
- resident session processes;
- handling of concurrency requirements;
- smart reply pages;
- garbage collection when users do not respond; and
- acessing low-level CGI details through a high-level interface.
Other features of the bigwig system include:
- a mechanism for building dynamic documents in which HTML documents
are first-class values that may be computed and stored in variables;
- extension of the standard HTML form elements (e.g. input elements
such as dials, knobs and levers) as well as allowing regular expressions
to be defined and associated with input elements;
- data structures such as tuples and relations that allow for the simple
construction of small relational databases;
- concurrency control via the execution of a dynamically varying
number of threads;
- the implementation of higher levels of security, e.g. digitally
signing or encrypting all communications using 512-bit RSA and DES3; and
- a fully general macro mechanism for extending the language by
adding arbitrary new productions to its grammar.
The package is freely available for research and educational purposes.
A tutorial and a reference manual are available online.
[http://www.brics.dk/bigwig/]
- BILLNET
- An optimized, modularized and compact generic neural network simulator
and tester.
The features of BILLNET include:
- several algorithms including backpropagation, perceptron, RBF,
quickprop and experimental;
- a channeling mechanism for use with GUI viewers;
- cross validation;
- multilearning;
- calculation of statistical information;
- multiple running of training procedures; and
- easy extensibility via plug-in of new algorithms.
Source and binary distribution of BILLNET are available, with the
latter including one for Linux Intel platforms.
Available documentation includes a user's manual and a programmer's
guide.
[http://www.iit.demokritos.gr/~vasvir/billnet/]
- BILUM
- The Block ILU Multilevel package is a set of
programs designed for solving general sparse linear systems using
Krylov subspace methods preconditioned by some multilevel block
techniques. BILUM combines the benefits of the generality and
robustness of ILU preconditioning techniques with those of
grid-independent convergence of multigrid methods.
The algorithms used are based on block independent set ordering
and multi-elimination techniques. At each level, a block
independent set is found by some greedy algorithms such that
each block is decoupled with other blocks in the independent
set. The coefficient matrix is then re-ordered according to
the independent set ordering and an approximate block ILU
factorization is performed with a reduced system of smaller
size. The multilevel structure is constructed by recursively
applying the above idea to the approximate Schur complement
untilthe last reduced system is small enough to be solved by
a direct method or a preconditioned iterative method.
The algorithms in the BILUM package are robust, scalable,
converge quickly, and are inherently parallel.
A source code distribution of BILUM is available. It is
written in Fortran and uses some routines from
LAPACK and
SPARSKIT.
A user's manual is included in the distribution and several
technical reports describing the techniques are separately]
available. See also Saad (1996).
[http://www.cs.uky.edu/~jzhang/bilum.html]
- BIND
- The Berkeley Internet Name Domain implements
an Internet name server for BSD-derived
operating systems, i.e. quite
a few flavors of UNIX including Linux.
The major components of BIND are:
- a server daemon called named;
- a resolver library; and
- various tools for verifying that the DNS server is properly
operating.
The named daemon is a network service that enables clients to name
resources or objects and share the information with other objects
in the network, i.e. it is essentially a distributed database system
for objects in a network.
The resolver library is a set of routines residing in a system library
that provides the interface programs it can use to access the domain
name services.
BIND is the primary implementation of DNS, the Domain Name System.
BIND was originally written at Cal-Berkeley under a DARPA grant,
with versions through 4.8.3 maintained by the Computer Systems
Research Group there. DEC released versions 4.9 and 4.9.1, Vixie
Enterprises version 4.9.2, and all subsequent versions have been
developed and maintained by the Internet Software Consortium.
All these releases are known as BINDv4. They were superseded by
BINDv8 when it was first released in May 1997.
The most recent version is BIND v8.2 which is in beta testing and
is scheduled for official release in March 1999. This version
will feature significantly improved security, performance and
conversion tools, and will also provide the authentication needed
by participants in electronic commerce.
The most significant changes for BIND v8.2 include:
- DNSSEC, which implements public key encryption technology for
authenticating DNS messages via either DSA or RSA;
- use of Incremental Zone Transfers (IXFR) to reduce the network
load by limiting the amount of update data traveling between DNS servers;
- use of Split DNS to allow a single server to differently manage
name and addresses spaces inside and outside of an enterprise;
- use of the Information Retrieval Protocol (IRP) to simplify the
name service performance by securely providing a cache for the
passwd, group, gethostbyname and other standard files;
- use of transaction signatures to provide authentication for
queries and dynamic updates;
- flexible IP referrals that allow for a choice in handling the
selection of an IP address when multiple addresses are available;
- the capability to refuse unwanted DNS queries from known
troublesome addresses;
- an improved command-line administration interface; and
- a negative cache, i.e. caching of all requested nonexistent
domains for faster performance.
Source code distributions for several versions of BIND are available as are
binaries for several platforms including SCO UNIX, Sun Solaris,
Linu Intel, and Windows NT.
Quite a bit of documentation is available include a BIND
Operations Guide, a FAQ, a Linux DNS HOWTO, and much more.
See
Albitz and Liu (1996),
Albitz and Liu (1998),
Branley (2000) and
the DNS entry.
[http://www.isc.org/bind.html]
[http://www.dns.net/dnsrd/]
[http://sunsite.unc.edu/pub/Linux/system/network/daemons/dns/]
[http://www.toad.com/~dnssec/]
[http://www.ludd.luth.se/~kavli/BIND-FAQ.html]
[http://eeunix.ee.usm.maine.edu/guides/dns/dns.html]
- BinProlog
- A fast and compact Prolog compiler
based on the transformation of Prolog to binary clauses.
BinProlog is a fairly robust and complete Prolog implementation
featuring both C-emulated execuation and the generation of
standalone applications by compilation to C.
The features of BinProlog include:
- built-in and easy-to-use high-level Internet programmings
tools including CGIs and sockets;
- term-unification based high-level Linda server and client operations;
- a robust LogiMOO multiuser cooperative work environment;
- a plain English to Prolog translater and NL interface to
LogiMOO;
- an online help system and integrated example-of-use
generator;
- dynamic recompilation giving 10-50 time speed-ups
on asserted code;
- a Java interface;
- a dynamically growing/shrinking blackboard;
- multiple dynamic databases;
- multifile and discontiguous
static predicates; and
- an extended set of linear and intuitionistic operators.
The BinProlog system is freely available in binary format for
several platforms, including Linux Intel.
It is documented in a 304 page user's manual available in
PostScript format. The source code is also available for
a price.
[http://www.binnetcorp.com/]
- binutils
- A package containing various GNU
development tools including compilers, assemblers, linkers,
debuggers, their source routines, documentation, and more.
BFD is a package which allows applications to use the
same routines to operate on object files whatever the object
file format. New formats can be supported simply by creating
a new BFD back end and adding it to the library.
It is split into two parts: a front end which provides a
user interface, manages memory as well as various canonical
data structures, and decides which back end to run; and
a back end which provides a set of calls which the front end
uses to maintain its canonical form.
The binutils (which originally comprised the entire package)
are a set of utility programs including:
- addr2line, which translates program addresses into file
names and line numbers;
- ar, which creates, modifies, and extracts from archives which
are single files holding a collection of other files;
- nlmconv, which converts relocatable object files into
NetWare Loadable Modules (NLMs);
- nm, which lists the symbols from object files;
- objcopy, which copies the contents of one object file to
another using the BFD library to read and write between
the same or different formats;
- objdump, which displays information about one or more object
files;
- ranlib, which generates an index to the contents of an archive
and stores it in the archive;
- size, which lists the section sizes for object files (as well as
the total size);
- strings, which prints the printable character sequences at least
4 characters long in object files; and
- strip, which discards all symbols from object files.
The GNU Assembler gas is a family of assemblers, with
each having much in common with the others including object file
formats, most assembler directives, and syntax.
It is primarily intended to assemble the output of the
GNU C Compiler (GCC) for use by the linker,
although it attempts to assemble correctly everything that other
assemblers for the same machine would assemble.
The gas Preprocessor gasp is designed to provide the
facilities needed to assemble hand-coded
assembly language, i.e. to
provide a friendly front end to the unfriendly gas.
The gprof program produces an execution profile of C,
Pascal, or Fortran 77 programs and displays call graph profile data.
It calculates the amount of time spent in each routine.
The GNU linker ld combines a number of object and archive
files, relocates their data, and ties up symbol references. The
last step in compiling a program is usually running ld.
It accepts Linker Command Language files written in a superset of
AT&T's Link Editor Command Language to provide explicit control
over the linking process, and uses the BFD libraries to
operate on object files which allows it to read, combine, and write
object files in many different formats.
The Liberty library is a collection of subroutines used by various
GNU programs which includes:
- getopt, for getting options from the command line;
- obstack, for dealing with stacks of arbitrarily-sized objects;
- strerror, which provides error message strings corresponding
to errno;
- strtol, a string-to-long converter; and
- strtoul, a string-to-unsigned--long converter.
The source code distribution of binutils can be compiled and used
on a wide variety of platforms via the supplied configure scripts.
The programs that comprise the binutils distributions are documented
variously via Texinfo files, man pages, or
text files.
[http://www.gnu.ai.mit.edu/software/binutils/binutils.html]
- biochemistry/bioinformatics
- Related software includes:
- ACEDB, a database system originally developed
for molecular biology data;
- BABEL, for interconverting among the many
formats used in molecular modeling;
- BIOML, an XML instance
for annotating biopolymer sequence information;
- Bioperl, a collection of
Perl tools for computational molecular biology;
- BSML, the bioinformatic structure markup
language;
- CML, an SGML extension
for managing chemical information;
- EGO, for performing molecular dynamics
calculations on parallel and sequential computers;
- gOpenMol, a graphical interface to the
OpenMol package;
- MMTK, a program library for molecular modeling
applications;
- Moldy, a molecular dynamics simulation program
for simulating atomic, ionic and molecular systems;
- MolScript, for creating schematic or
detailed molecular graphics images;
- MOPAC, a semi-empirical molecular orbital
package for studying chemical structures and reactions;
- NAB, a language for manipulating macromolecules
and their fragmentsa
- NAMD, a parallel, object-oriented system
for simulating large biomolecular systems;
- PHYLIP, for performing phylogenices on data
such as DNA and protein sequences;
- PUZZLE, for reconstructing phylogenetic trees
from molecular sequence data;
- RasMol, molecular graphics for the visualization
of proteins, nucleic acids and small molecules;
- SOLVATE, for constructing atomic solvent
environment models for macromodule models, i.e. solutes;
- spock, a package for displaying protein and
nucleic acid structures and searching through related databases;
- TN-Image, an image analysis program oriented
toward molecular biologists, biochemists, and similar beasties;
- Viewmol, a graphical front-end for visualizing
the output of various quantum mechanical and molecular modeling programs; and
- VMD, for the visualization and analysis of
biological systems, e.g. proteins, nucleic acids, etc.
- BIOML
- The BIOpolymer Markup Language is an instance
of XML designed to be used for the
annotation of biopolymer sequence information.
It allows the full specification of all experimental information
known about molecular entities composed of biopolymers, e.g.
proteins and genes.
BIOML is designed to provide an extensible framework for this
annotation and a common vehicle for exchanging this type of
information.
This differs from other markup languages in that a physical
object rather than a document is being described, and in such
a way that all available experimental information can be associated
with that object in a logical and meaningful way.
A DTD for this is freely available.
[http://www.bioml.com/BIOML/]
- Bioperl
- An association of developers of public domain
Perl tools for computational molecular
biology. It provides an online resource for modules,
scripts, and web links for developers of Perl-based software
for life science research.
[http://bio.perl.org/]
- BIOS
- The Basic Input/Output System is
built-in software on PCs that determines what a computer can
do without access to programs on a hard disk.
On a typical PC, it contains code for controlling the keyboard,
a display screen, disk drives, serial communications, and various
other functions. This takes the form of a library of
interrupt handlers.
The BIOS is usually placed on a ROM chip which ensures that it
will always be available even if the disk fails.
This also makes it possible for a computer to boot itself.
The basic PC BIOS is standardized although there can be different
BIOS versions with additional capabilities.
Enlightening resources include:
- bioTk
- This has transmogrified into a non-free package
called bioWidgets.
- BIP
- The Basic Interface for Parallelism is a small
API designed and implemented for the Myrinet network to deliver
the maximal performance achievable by the available hardware.
BIP messages is implemented for a cluster of Linux Intel workstations
linked by Myrinet boards with the LANAI 4.1 processor, with the
implementation consisting of a user-level library associated with
a custom MCP that will run on the Myrinet board.
The distribution currently (9/97) includes MPI-BIP, an
implementation of MPI on Myrinet.
A binary distribution is available for Linux Intel platforms.
[http://lhpca.univ-lyon1.fr/]
- BIRCH
- As of 8/99, this is nowhere to be found. If you find it
then please drop me a line.
The Balanced Iterative Reducing and
Clustering using Hierarchies software is a
system designed for doing clustering and density analysis for
any large dataset using limited computational resources.
The resources demanded by BIRCH scale linearly with dataset
size which makes it capable of handling very large datasets
efficiently.
BIRCH differs from other clustering or density analysis methods
in that it can find a good clustering or density estimation
with a single scan of the data set, and it is also the first
such algorithm which can handle noise.
It is linearly scalable with respect to the dataset size since
it does not treat all data points equally (like the other
methods). Dense regions can be treated collectively at some
level of granularity, and sparse regions can be treated as
outliers and removed from the analysis.
It uses a compact and accurate description of clusters called
Clustering Features (CF) and maintains it incrementally in a
balanced tree structure called a CF-tree.
BIRCH attempts to find the best estimation under the given
computational constraints and allows tradeoffs between memory
and time.
The source code for BIRCH is available. It is written in
C++ and can be compiled with g++ 2.7.2 or later. The
supplied makefiles are set up for Sun Solaris and
HP-UX but can be easily modified for Linux boxes with the
g++ compiler.
It is documented in several technical reports available in
PostScript format.
[http://www.cs.wisc.edu/~zhang/birch.html]
- BIRD
- The BIRD Internet Routing Daemon is a
daemon which works as a dynamic router
in a network running the IP protocol.
BIRD is designed to avoid the shortcomings of other currently
available routing daemons, to support all current and
planned routing technology, and to have
a clean, extensible architecture that allows the easy incorporation
of new routing protocols.
The features and functionality include:
- both IPv4 and IPv6;
- multiple routing tables;
- the Border Gateway Protocol (BGPv4);
- the Routing Information Protocol
(RIPv2);
- the Open Shortest Path First protocol
(OSPFv2);
- a virtual protocol for exchanging routes between different routing
tables on a single host;
- a command-line interface allowing on-line control and daemon
status inspection;
- soft reconfiguration for modifying routing procedures on the fly; and
- a powerful language for route filtering.
[http://bird.network.cz/]
- Bison
- A general purpose
parser generator
that converts a grammar
description for an LALR(1) context-free grammar into a C
program to parse that grammar, i.e. a version of the
yacc parser generator. (A brief and almost correct
description of an LALR(1) grammar is one in which it is
possible to parse any portion of an input string with just
a single look-ahead.)
Bison can be used to develop a wide range of language parsers
from those used in simple calculators to complex programming
languages.
It is upward compatible with yacc, i.e.
all yacc grammars should work with Bison with no changes.
A source code distribution of Bison is available. It
is written in C and can be compiled and used on many
platforms via the supplied autoconfigure script.
An extensive user's manual is included in the distribution
in Texinfo format.
See also the companion Flex lexical
analyzer program and the
compiler construction tools.
See Levine et al. (1992).
[http://www.gnu.ai.mit.edu/software/bison/bison.html]
- Biss
- A Java framework of about 150 Java classes
for building graphical applications with state-of-the-art user
interfaces.
This is implemented purely in Java rather than with a JDK compliant
native library like java.awt in the official distribution.
This means that the framework can be extended without native library
support.
Biss features things like text editors, pop-up menus, notebooks,
hierarchical lists, and more without the need for a JDK 1.1 compliant
native lib, and the cross-platform compatibility has been tested on
a number of systems.
Biss can also be used to build a stand-alone AWT that requires minimal
native library support, with the distribution containing a native layer
for the Kaffe virtual machine.
Biss contains a set of tools which form a Java-specific
integrated development environment (IDE) which can be used for
serious programming. It even contains a graphical layout generator
which eases the effort of designing complex dialogs.
The Biss distribution comes with full sources (both Java and for the
optional native library).
The distribution is divided into three parts: the complete source
tree, pre-built class files, and documentation sources, although the
second part can now be built using the first part.
A manual and user's guide is available in
PostScript format.
[http://www.biss-net.com/biss-awt.html]
- BITBUS
- A serial communication system for industrial use (i.e. a fieldbus)
based on standard technologies like RS-485 (a party-line with several
communication stations on the same twisted pair of wires) and SDLC.
BITBUS is optimized for the transmission of short real-time messages, and
implements an easy to use master-slave communication system that
allows the master to talk with up to 249 slaves.
BITBUS was officially standardized in 1991 as IEEE-1118, with the
standard incorporating the classical implementation of the BITBUS
protocol (based on the i8044 microcontroller) as a subset.
The protocol has been a popular one for many years largely
because of its Remote Access Control (RAC) services, a set of services
for directly accessing remote resources, tasks, I/O, memory, etc.
[http://www.bitbus.org/]
- bitbus3linux
- A bitbus is a type of network for industrial applications.
The modules in this package include:
- a kernel driver for ipc900 cards;
- mCATd, a userspace daemon that provides the interface to all
the client applications on the network;
- libraries providing the bitbus functionality; and
- a set of bitbus utilities including tools for common tasks and
examples for using the libraries.
[http://www.andrive.de/andreas/]
- BitchX
- A heavily modified IRC II client with many
features including built-in CDCC (XDCC) offering, built-in flood
protection and more.
A source code distribution is available which can be compiled
on most UNIX systems.
[http://www.bitchx.com/]
- BitKeeper
- A reimplementation of the original SCCS with
several extensions and enhancements.
The extensions include:
- RCS-compatible interfaces;
- programs for generating differences between the working version and
the previous version (or any two versions);
- a program for removing all unchanged working files;
- a program for creating a time-sorted list of changes to a group
of files;
- a program to perform a graph merge on two files such that the
result is a superset of each of them;
- a shell with all commands built in; and
- a script for converting RCS files to SCCS files.
Features found in BitKeeper that are not in SCCS include:
- symbols used to place a symbolic name on a revision in multiple
files;
- a Y2K fix and four digit years;
- range processing wherein commands support the
use of ranges for specifying a revision or set of revisions;
- support for uuencoded and compressed binaries;
- recording of time zones, pathnames and hostnames;
- uniform file name generation wherein all commands use the same
syntax for specifying files;
- RCS keyword expansion;
- file viewing via user, revision, date and file name prefixes; and
- a regression test for the entire package.
A source code distribution of BitKeeper is freely available for
personal use or for use with Open Source projects.
See the site for more details on this interesting licensing concept.
A Linux release is planned for mid-to-late 1999.
This used to be called BitSCCS.
[http://www.bitkeeper.com/]
- Bla
- An unpure functional
programming language whose concept
of environment is made available as a first class value as opposed
to being implicit in traditional languages.
A compiler implementation written in C+
is available.
Documentation includes a technical report containing the language
definition.
[http://www.staff.ecs.soton.ac.uk/~wvo96r/bla/index.html]
- Blackbox
- A window manager written in
C++ featuring:
- a small source code size;
- a fast interface with simple menus, multiple workspaces, and
decorated windows;
- built-in graphics code to render solids, gradients, and bevels
on the fly;
- image dithering for displays running at 8, 15 and 16 bits per pixel; and
- running on displays with 8, 15, 16, 24 or 32 bits per pixel.
A source code distribution is available, although it is currently
(6/98) in the beta test stage.
[http://blackbox.alug.org/]
- BLACS
- The Basic Linear Algebra Communication
Subprograms project is an
ongoing investigation whose purpose is to create a linear algebra
oriented message passing interface that may be implemented efficiently
and uniformly across a large range of distributed memory platforms.
The BLACS attempts to provide the same ease of use and portability
for distributed memory linear algebra communication that the
BLAS provides for linear algebra computations.
The development of a port of LAPACK to
distributed memory parallel machines,
i.e. ScaLAPACK, created the original
need for the BLACS.
The development of the BLACS kernel allows software for dense linear algebra
on MIMD platforms to consist of calls to the BLAS for computation
and calls to the BLACS for communication.
The BLACS are written at a level where the manipulation of the matrices
involved in linear algebra computations is both natural and
convenient.
Several major concepts and features underly BLACS including:
- array-based communications in which the two most common classes of
matrices for dense linear algebra (i.e. general rectangular and
trapezoidal matrices) are recognized and in which array packing
is handled internally;
- two-dimensional process grids and scoped
operations that provide the programmer
with additional levels of parallelism depending on the underlying
hardware;
- process grids enclosed within a context which allows a grid
to safely communicate even if other (possibly overlapping) grids
are also communicating so that individual routines using
BLACS can safely operate without having to worry if the user is
running other distributed codes on the same machines;
- an ID-less communication method wherein the user does
not need to specify message IDs with the required IDs instead
being generated internally; and
- a variety of blocking levels including globally-blocking
point-to-point receives, broadcasts, and combines as well as
locally-blocking point-to-point send.
There are source code implementations of the
BLACS available for several message passing systems, including
PVM and
MPI.
Pre-built distributions are also available for several
platforms including Linux Intel.
Each implementation contains both C and Fortran interfaces as
well as test suites.
Several versions of the BLAS are available which are optimized
for specific processors. A project of particular interest to
Linux users is the
Pentium Optimized BLAS.
The theory behind and usage of the BLACS is discussed in
a 62 page user's and reference manual available in
PostScript format.
An installation manual is also available.
[http://www.cs.utk.edu/~rwhaley/Blacs.html]
[ftp://ftp.cscs.ch/pub/CSCS/libraries/BLACS/]
- BLADE
- A web-based environment similar to Zope
et al. that differs in using CORBA as its
underlying technology.
This allows it to function with and support any programming
language.
It also supports object embedding from any language into any web
page, and is thus the first environment permitting the
embedding and communication of
Perl,
Python and
C objects within the same page.
BLADE provisionally supports distributed computing for simultaneously
operating on more than one server.
The components of BLADE include:
- BHP, an HTML parser that converts a
web page to a BLADE page;
- LibBLADE, a library for creating BLADE pages in C or C++;
- PYBLADE, a LibBLADE wrapper allowing pages to be created
in Python;
- User_Manager, the BLADE user manager;
- User_Editor, a user administration application;
- User_Prefs, an application allowing users to modify their
preferences;
- BLADE-CORE, the main BLADE programs;
- Print_Theme, a theme optimized for printing;
- Purple_Theme, a simple theme;
- Blue_Theme and Light_Theme, complex themes;
- Theme_Selector, for allowing users to choose themes;
- List_Vars, an object that shows all variables;
- Log, an object that logs page information;
- Login, an object for logging in and out;
- Image, an object for viewing and manipulating images; and
- Rate, an object for rating pages.
Source code and RPM distributions of all
BLADE components are available.
This also requires MySQL for full
functionality.
[http://www.thestuff.net/bob/projects/blade/]
- BladeEnc
- A freeware MP3 encoder.
[http://home8.swipnet.se/~w-82625/encoder/]
- BLANC
- The Blockwise Linear Algebra and
Numerical Computations in C package is an ANSI C
library for linear algebra.
It provides data structures for vectors and matrices, standard
operations on these structures, solver routines, and more.
BLANC is specially adapted for linear systems which arise
from the discretization of vector-valued PDEs.
Available iterative solution methods include SOR, SSOR,
GMRES, CG, CGNR, Bi-CG, and QMR.
Preconditioner types include Jacobi, SOR, SSOR, and ILU.
BLANC consists of a set of modules including:
- blanc_info, general program information;
- blanc_error, error handling tools;
- blanc_basics, basic data types, type-specific
operations, and other basic tools;
- blanc_vector, data types related to vectors
and basic operations on them;
- blanc_matrix, data types related to square matrices
and basic operations on them;
- blanc_voperats, linear algebra operations
on vector types;
- blanc_moperats, linear algebra operations
on matrix and vector types;
- blanc_cc, tools for performing convergence control
of iterative methods;
- blanc_precond, linear system preconditioner functions;
- blanc_solver, iterative solvers for sparse
linear systems;
- blanc_io, input and output functions for all
data types; and
- blanc_mespas, functions for message passing of
data structures.
A source code distribution of BLANC is available.
It is written in ANSI C and documented in a manual
available in HTML format.
[ftp://ftp.gwdg.de/pub/numerik/lin_alg/]
- BLAS
- The Basic Linear Algebra
Subprograms are, as one might surmise
from the name, programs for performing basic linear algebra
computations, e.g. multiplication of vectors and matrices,
etc. They are the basic building blocks of higher level libraries
such as LAPACK.
They are divided into a series of levels with Level 1
routines doing vector-vector operations, Level 2 routines
doing matrix-vector operations, and
Level 3 routines doing matrix-matrix operations.
Versions of BLAS are available in both
Fortran and C, and there
are optimized versions for several architectures, e.g.
BLAS-RISC.
A reference implementation is available for platforms for
which no optimized version exists, i.e. a version coded in
a high level language with no assembly level optimizations.
There are single, double, complex, and double complex versions
of BLAS available as well as test suites for all of them.
An analogous BLAS package for parallel systems is
PBLAS (for
ScaLAPACK).
There is an ongoing SparseBLAS project
to do the same for sparse matrices.
See Lawson et al. (1979),
Dongarra et al. (1988a),
Dongarra et al. (1988b),
Dongarra et al. (1990a), and
Dongarra et al. (1990b).
This is part of CMLIB.
[http://www.netlib.org/blas/]
- BLAS-RISC
- A version of the Blocked Level 3 BLAS
for RISC processors, e.g. DEC Alpha processors.
The standard BLAS calling sequences are used, and both
blocking and loop-unrolling techniques are implemented.
The kernels are expressed in terms of matrix-matrix
multiplications (GEMM) and operations involving triangular
blocks, and all the codes are written in Fortran.
Version 1 (1/98) includes only the real (single and double
precision) Level 3 BLAS plus some Level 2 BLAS kernels (GEMV
and TRSV). A set of test programs is included that check
for correctness and also give the MFlops rate of both the
tuned BLAS and the standard Fortran version.
This tuned version runs 2 to 3 times faster than the
standard version on the Alpha architecture.
[ftp://ftp.enseeiht.fr/pub/numerique/BLAS/RISC/]
- Pentium Optimized BLAS
- A project to optimize the BLAS library
for the Pentium processor by rewriting it using the GNU assembler
in combination with the GNU assembler preprocessor
GASP. This enables programs which make
heavy use of linear algebra to achieve significant performance
increases.
Only the BLAS level 1 functions are currently (9/97) supported,
and they are only optimized for the original Pentium processor (i.e.
processors like thr 486, AMD K-xx, Cyrix/IBM 6x86, Pentium Pro and
Pentium Pro may or may not gain speed, e.g. at least person trying
the rewritten routines on a Pentium Pro got no performance increase).
Currently the xCOPY, xDOT, and xNRM2 routines
are reasonably complete with the SAXPY and DAXPY routines
not complete although still useful. A newer version released in 6/97
includes versions of the xSCAL, xASUM, and COMPLEX
routines.
The Pentium Optimized BLAS library is available in versions for
both the DJGPP project and Linux
Intel platforms.
The distribution consists of the compiled library, the source
codes, and some brief documentation.
A version of the BLAS1 routine rewritten in C is also available
at the same site.
[http://cip.physik.uni-wuerzburg.de/~mlkessle/blas1.html]
- Pentium Pro Optimized Libraries
- A collection of utilities and single node libraries optimized for
Pentium Pro processors. These are built in ELF format and portable
to mos Linux-based Intel platforms. There are currently (3/98)
four packages available:
- BLAS, the Level 1, 2 and 3 BLAS
for single CPU Intel Pentium Pro and Pentium II processors;
- FFT, 1-D FFTs for single CPU Pentium Pro and II processors;
- Linux Hardware Performance Monitoring Utilities, a set of
utilities for hardware performance monitoring; and
- Extended Precision Math Primitives, which do combinations
of REAL*(4,8,10,16,20) arithmetic for primitives such as addition,
subtraction, multiplication, reciprocation, etc.
All of the libraries are freely available under a non-commercial
single copy per user per machine license which can be obtained
interactively via the home page.
[http://www.cs.utk.edu/~ghenry/distrib/]
- BLAST
- A set of programs that compare nucleotide or protein sequences
against a database.
The programs in BLAST include:
- blastp, which compares an amino acid query sequence against
a protein sequence database;
- blastn, which compares a nucleotide query sequence against
a nucleotide sequence database;
- blastx, which compares the six-frame conceptual translation
products of a nucleotide query sequence (both strands) against a
protein sequence database;
- tblastn, which compares a protein query sequence against
a nucleotide sequence database dynamically translated in all six
reading frames (both strands); and
- tblastx, which compares the six-frame translations of
a nucleotide query sequence against the six-frame translations
of a nucleotide sequence database.
A source code distribution of BLAST is available as are binaries
for several platforms including Linux Intel.
See also the WU-BLAST version.
[ftp://ncbi.nlm.nih.gov/blast/]
- blender
- A freely available package of 3-D design and animation software
that started out as the in-house software of a highly quality
animation studio. Blender is a fast and versatile design
instrument offering a smooth introduction to the world of 3-D
design and imaging. It can be used to create TV commercials,
technical visualizations, for morphing, or for designing user
interfaces.
The features of blender include:
- modeling polygon meshes, curves, nurbs, text, and metaballs;
- animation with keyframes, motion curves, morphing, and inverse
kinematics;
- deformation lattices and skeletons;
- modeling particle systems;
- rendering capabilities including solids, transparency, and halo or
lensflare effects;
- sequence editing of images and post-production effects;
- a 3-D view with animated rotoscoping;
- an object-oriented data system;
- a flexible and easy to use GUI layout;
- reading and writing of Targa, JPEG, Iris, SGI movie, and IFF files;
- lighting effects including local lights, spotlights, hemispheres,
sun, textured lights, spot halos, and a shadow buffer system;
- animation capabilities including motion paths, curves, and keys,
and vertex key framing; and
- a variety of mesh and curve capabilities.
Binary versions of blender are available for SGI Irix,
FreeBSD and
Linux Intel platforms. Also available is documentation including
a manual and a tutorial.
[http://www.blender.nl/]
- BLINUX
- The BLINUX Documentation and Development Project (BDDP) aims to
serve as a catalyst which will both spur and speed the development
of software and documentation which will enable the blind user
to run his or her own Linux workstation.
The current projects include documenting Linux for the visually
impaired as well as keeping track of appropriate software.
[http://leb.net/blinux/]
- BlitzMail
- A client-server email system.
The features of BlitzMail include:
- storage of a user's mail environment (nicknames, mailing lists,
preferences, etc.) on a mail server with full access to it from anywhere;
- client-server communication using TCP/IP and mail sent in
SMTP format by the server, i.e. no gateways are needed;
- integration with a name directory (DND) which provides several
key features including real names as account names;
- all messages are authenticated with encrypted passwords;
- a multi-server architecture that is highly configurable and
scalable;
- implementation of the server and the DND via multi-threading
for maximum efficiency; and
- support for the POP and Ph protocols.
The BlitzMail systems consists of three servers and a number of client
programs. These are:
- a DND (Dartmouth Name Directory) server that handles naming and
authentication with each user having an entry including the user's
name, nicknames, preferred email address, and other personal information;
- a BlitzMail server which stores user mail and mail-related data such
as mailing lists and which also handles tasks such as mail notification,
forwarding, vacation messages, and file enclosure handling;
- a Bulletins server that provides a way to send announcements to large
numbers of users and which also keeps track of the topics in which a
user is interested and notifies them when one of possible interest to
them is posted;
- command line (Textblitz) and curses Snail clients for
UNIX systems (which don't have the full functionality of the GUI clients
for Mac and Windows machines)
Source code distributions of the BlitzMail servers and the UNIX clients
are available. The servers have been compiled on AIX and DEC Alpha OSF/1
systems and shouldn't be terribly difficult to compile on any UNIX
platform for which a POSIX
threads implementation is available.
Several manuals are available in PostScript format.
[http://www.dartmouth.edu/pages/softdev/blitz.html]
- Blitz++
- An experimental C++
numerical library being constructed as a
test bed to see if C++ can rival or exceed the speed of
Fortran
for numerical computing. The performance increases are being
obtained through the use of template technques rather than via
better optimizing compilers, preprocessors, or language extensions,
although the full release awaits the appearance of compilers that
support the version 3 C++ standard with such features as partial
specialization and member function templates. A preliminary
version of the library is slated for release in Aug. 1996 and
will be freely available for academic use. Some example programs
are currently available as well as some technical reports.
See Veldhuizen and Ponnambalam (Aug. 1996) and
Myers (Jun. 1995).
[http://oonumerics.org/blitz/index.html]
- BlockSolve95
- A scalable parallel software library primarily intended for
the solution of sparse linear systems that arise from physical
models, especially problems involving multiple degrees of freedom
at each node. An example would be the use of a finite element
model to solve problems in structural engineering. It is a general
purpose package in that it doesn't require that the matrices
have any particular structure other than being sparse and symmetric
in structure.
BlockSolve runs on a variety of parallel architectures, including
networks of workstations such as Linux boxes. It runs on top of
the MPI message passing
standard for which Linux ports are available. The source code
is available as well as a manual in
PostScript format.
[http://www.mcs.anl.gov/sumaa3d/BlockSolve/index.html]
- BLT
- An extension to the Tk toolkit which adds
new widgets, geometry managers, and miscellaneous commands. The
new commands in BLT include:
- table, a table-based geometry manager
for Tk in which widget layout is specified as row and column positions
in a table;
- graph, an X-Y graph widget;
- barchart, a barchart widget;
- vector, which creates a vector of floating point values;
- spline, which
computes a spline fitting a set of data points and produces a vector
of the interpolated images at a given set of x coordinates;
- busy, a
command for handling user interaction when the application is busy;
- bgexec, which collects the output, error, and status of detached
UNIX subprocesses;
- drag&drop, which adds drag and drop capabilities
to Tk;
- htext, a hypertext widget;
- bitmap, a command for creating
and manipulating bitmaps from Tcl;
- winop, low level
Xlib calls that let you raise, lower, map or
unmap any window;
- watch, a command which lets you specify Tcl procedures
to be run before and/or after every Tcl command; and
- bltdebug, which
prints out each Tcl command before it's executed.
The current (3/97, version 2.1) of BLT works with Tk versions
3.6, 4.0, and 4.1b3 and may work with more recent versions.
It is an extension to Tk and does not require any pathcing of the Tcl
or Tk source files, although they do need to be installed.
The documentation is include in the distribution.
[http://www.tcltk.com/blt/index.html]
- BL2D
- A package to create 2-D isotropic or anisotropic meshes which
can be integrated into an adaptive process. It has a modular
architecture consisting of a component that discretizes curves
in 2-D space and a second that creates meshes of the generalized
Delaunay type in 2-D space.
The source code for BL2D, written in
Fortran 90, is available
and is supposed to compile with the NAG F90 compiler which is
available for Linux platforms. The documentation is contained
within a user's guide in PostScript format available in the
same directory as the source code.
[ftp://ftp.inria.fr/INRIA/Projects/Gamma/]
- Blue
- An object-oriented language developing for teaching object-oriented
concepts to first year students. Blue runs in an integrated programming
environment which includes a graphical program structure editor,
a text editor, a debuger, and library browser, and more.
It is a pure object-oriented language in that it supports programming
only in classes, i.e. classes are the structuring mechanism for
all code.
It features full static type checking, single inheritance,
automatic garbage collection,
constrained and unconstrained genericity (polymorphism),
a readable syntax based on key words rather than symbols, and
assertions and pre- and post-conditions checked by the runtime system.
These features are all included in a relatively small language
in an easy-to-use integrated environment which allows the
programmer to concentrate on language topics rather than operating
system problems, e.g. it encourages debugging and testing as a part
of the development process from the very beginning.
Binary distributions of Blue are available for Sun Solaris
and Linux Intel platforms.
The distribution contains all of the components described above
and is documented in separate language and environment
manuals available in PostScript
format.
[http://www.sd.monash.edu.au/blue/]
- Bluefish
- An HTML editor for experienced web designers.
The features include:
- wizards for startup, tables, frames, etc.;
- an HTML toolbar and tearable menus;
- opening any URL directly from the web or via drag and drop;
- an image insertion dialog;
- thumbnail creation and automatic linking with the original image;
- a custom menu for specifying tags, sets of code, and dialogs;
- project and link management;
- per project customized default dialog settings;
- over 900 functions referenced for PHP3,
SSI and RXML;
- preview options for dynamic HTML;
- an extensive CSS dialog;
- syntax highlighting with configurable regular expressions;
- a configuration dialog and customizable shortcut keys;
- a search and replace dialog with regular expressions;
- WML support for WAP-enabled websites; and
- a preview window.
Bluefish was constructed using GTK+ and is
available in source and binary formats.
[http://bluefish.openoffice.nl/]
- BlueJ
- An integrated Java environment designed for
introducing the concepts of object-oriented programming.
The features include:
- a fully integrated environment;
- graphical display of class structure;
- graphical and textual editing;
- a built-in editor;
- a compiled virtual machine;
- a debugger and class browser;
- interactive creation of objects and object calls;
- interactive testing; and
- incremental development of applications.
A source code distribution is available in the form of a
Java class package. This requires
JDK 1.1.5 or above and is regularly
tested on several platforms including Linux.
Documentation includes a tutorial and a reference manual, both
available in several popular formats.
[http://bluej.monash.edu/]
- BLZPACK
- A Fortran 77 implementation of the
block Lanczos algorithm intended for the solution of the
standard problem Ax - Ex = 0 or the
generalized problem Ax - EBx = 0
where A and B are n by n real, sparse, symmetric
matrices, and E is an eigenvalue.
[ftp://ftp.cerfacs.fr/pub/algo/software/BLZPACK/]
- BMP
- The Brent Multiple Precision software
a multiple-precision floating-point arithmetic package which
is almost completely machine-independent and should run on
any machine with an ANSI Standard Fortran compiler, sufficient
memory, and a word length of at least 16 bits.
MPF works with normalized floating point numbers where the
base and number of digits are arbitrary and may be varied
dynamically, and either rounded or truncated arithmetic can
be used.
There are BMP routines for basic arithmetic, powers and roots,
elementary functions, special functions, constants, input and
output, conversion, comparison, general utilities, and example
and test programs.
Also included in the package is Augment, a program which
allows the introduction of nonstandard types, e.g. multiple-precision
variables, into Fortran programs. This program greatly simplifies
the task of writing a program for a multiple-precision computation
or converting an existing routine to multiple precision.
A source code distribution of BMP is available.
It is written in Fortran and documented in an extensive
user's guide available in ASCII format.
See Brent (1978b), Brent (1978a), and
Crary (1979).
[http://www.netlib.org/bmp/index.html]
- BMRT
- The Blue Moon Rendering Tools is
a collection of rendering programs that adhere to the RenderMan
interface standard established by Pixar.
The RenderMan standard is a 3-D scene description format similar
to the way PostScript is a 2-D page
description format.
It specifies what to render but not how to render it.
The standard specifies both a procedural interface and the
RenderMan Interface Bytestream (RIB) protocol, which provides an
ASCII interface to a renderer supporting the protocol.
BMRT consists of a full implementation of the RenderMan
standard supporting ray tracing, radiosity, area light
sources, texture and environment mapping, programmable shading
via the RenderMan Shading Language, true displacements,
motion blur, automatic ray cast shadows, CSG, depth of field,
and support for imager and volume shaders.
The components of BMRT include:
- libribout, a library of C bindings for
the RenderMan procedural interface;
- rgl, a previewer for RIB files which runs on top of
OpenGL;
- rendrib, a renderer;
- slc, a compiler for the RenderMan Shading Language for
writing surface, light, displacement, imager and volume shaders;
- libslcargs, a library for reading a compiled shader file
to determine what type of shader it is and what parameter names and
defaults belong to that shader;
- slctell, a program for reporting the type of shader and
its parameter names and default values;
- composite, a program for performing elementary image
compositing operations;
- mkmip, for converting scanline TIFF files into multiresolution,
tiled TIFF files; and
- farm, a Perl script for dividing a
rendering job among several processors or machines.
A binary distribution is available for several platforms
including Linux Intel.
It is documented in an online manual.
[http://www.bmrt.org/]
- BMT
- The Berkeley MPEG Tools are a set of tools
developed at Berkeley and elsewhere for manipulating
MPEG-1 video.
The tools in the package are:
- mpeg_play, a software-only MPEG-1 video decoder;
- mpeg_encode, a software-only MPEG-1 video encoder;
- mpeg_stat, a bitstream analysis tool;
- mpeg_blocks, an interactive tool to examine
macroblock coding; and
- mpeg_bits, an interactive tool to examine bit
allocation to blocks.
The tools are written in C and should be portable to any
generic UNIX system with an appropriate compiler.
The system is documented in man pages and some technical reports.
[ftp://mm-ftp.cs.berkeley.edu/pub/mpeg/]
Next: Bn-Bz
Up: Linux Software Encyclopedia
Previous: An-Az
  Contents
Manbreaker Crag
2001-03-08