next up previous contents
Next: Bn-Bz Up: Linux Software Encyclopedia Previous: An-Az   Contents

Ba-Bm

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 up previous contents
Next: Bn-Bz Up: Linux Software Encyclopedia Previous: An-Az   Contents
Manbreaker Crag 2001-03-08