next up previous contents
Next: En-Ez Up: Linux Software Encyclopedia Previous: Dn-Dz   Contents

Ea-Em

Last checked or modified: Dec. 13, 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 |


E
A secure distributed object platform and scripting language for writing capability--based smart contracts. E defines and implements a pure object model of secure distributed persistent computation. It consists of two parts - a library and a language. The Elib library provides the functionality for communications between objects including:
  • object references that can span machines and persist while still remaining unforgeable;
  • message pipelining that results in significantly fewer network round trips;
  • a simple to use, deadlock-free, scheduling mechanism;
  • a Java API that enables stock Java objects to participate.

The E language is used to express what happens within an object. Its features include:

  • a Java shell that can be used to interactively call objects;
  • many of the conveniences of modern scripting languages, e.g. built-in pattern matching; and
  • object-granularity wherein an E object can interact with others only through Elib.
Source and binary distributions of E are available. It requires JDK 1.1 or above.

[http://www.erights.org/]

EA
The Evolving Algebra interpreter is an interpreter for evolving algebra written in Scheme. The features include:
  • a Scheme procedure corresponding to evolving algebra functions can be written and dynamically loaded into the interpreter;
  • dynamic loading of all or part of evolving algebra specifications; and
  • an interpreter with tools for creating profiles of the abstract use of resources.
A source code distribution is available as is a user's manual in PostScript format.

[http://www.cs.uit.no/~dagd/EA/]

EAG
A compiler compiler that uses the Extended Affix Grammar (EAG) formalism which describes both the context free and context sensitive syntax of language. The compiler generates either a recognizer or a transducer or a translator or a syntax-directed editor for a described language. A source code distribution is available that has been successfully used on Linux Intel systems. The formalism and compiler are described in a technical report available in PostScript format.

[ftp://hades.cs.kun.nl/pub/eag/]

EasyDTD
A program that creates an SGML DTD from a simple outline form of its data elements. EasyDTD is most commonly used for DTD prototyping and generating entity references. A source code distribution of this C program is available.

[ftp://ftp.ifi.uio.no/pub/SGML/EasyDTD/]

EasyMesh
A 2-D mesh generator which generates unstructured, Delaunay and constrained Delaunay triangulations in general domains. It will also handle holes in domains, local refining/coarsening, domains composed of more than one material, perform Laplacian smoothing, renumber nodes, elements, and sides, and more. It requires a simple ASCII file for input and creates ASCII output files.

EasyMesh is written in C and has been compiled and tested on PC/DOS, Linux, Sun SunOS, SGI IRIX, and Cray platforms. The documentation is contained within a set of HTML pages that accompany the distribution.

[http://www-dinma.univ.trieste.it/~nirftc/research/easymesh/]

EasySQL
A database-independent C/C++ SQL interface library. This thin layer between applications and databases allows any application to easy and transparently access any SQL server. It hides the details of the specific SQL database and also allows upgrading without recompilation. A source code distribution is available.

[http://www.amsoft.ru/easysql/]

Ecasound
A package designed for multitrack audio processing. Ecasound can be used for simple tasks like audio playback, recording and format conversion as well as for multitrack effect processing, mixing, recording and signal recycling. It supports a wide range of audio inputs, outputs and effect algorithms as well as several open source audio packages (e.g. ALSA, MikMod and libaudiofile). It uses a chain-based design that allows sounds and effects to easily be combined both in series and parallel.

The tasks for which Ecasound is especially suited include:

  • hard disk and multitrack recording and mixing;
  • effect procesing via a wide range of available effect algorithms;
  • real-time signal routing; and
  • audio file playback and format conversion.

The included interfaces and utility programs include:

  • ecasound, a console-based, textmode interface;
  • qtecasound, a Qt-based X11 interface that doesn't have as much functionality as ecasound;
  • ecatools_fixdc, a utility for fixing DC-offset;
  • ecatools_normalize, a utility for normalizing volume levels; and
  • ecatools_play, a utility that plays files using the default output.

[http://www.wakkanet.fi/~kaiv/ecasound/]

ecawave
A graphical sound file editor based on the ecasound library and the Qt GUI library.

[http://www.wakkanet.fi/~kaiv/ecawave/]

Echidna
A class library that allows multiple processes to run inside a single Java Virtual Machine (JVM). This is implemented in Java and allows all objects to live inside a single VM rather than spawning a separate VM for each application. The features include:
  • having large stable classes (e.g. core API and Swing) stay in the primordial namespace of the system while loading and unloading development classes;
  • determining which process is currently executing;
  • creating lightweight namespaces that give each process its own static-shared resources like standard I/O streams;
  • resource registration that allows processes to cleanly dispose of important resources when they are killed;
  • extended classpath capabilities that allow classes to be transparently loaded from any URL for which a protocol handler is available; and
  • per-process classpaths that allow each process to load classes from any source regardless of normal classpaths and the classpaths of other processes.
A source code distribution is available under the GPL.

[http://www.javagroup.org/echidna/]

Echo
A simulation tool developed to investigate mechanisms which regulate diversity and information processing in systems comprised of many interacting adaptive agents or complex adaptive systems (CAS). Echo agents interact via combat, mating and trade to develop strategies for ensuring survival in resource-limited environments. Individual genotypes are encodings of rules for interactions, and in a typical simulation populations of these genomes evolved complicated networks of interactions and resource flow. The resulting networks can be thought of as resembling species communities in real-world ecological systems. Changing parameters and initial conditions allows the exploration of a wide range of experiments.

The Echo software was developed on a Sun workstation but should be portable to generic UNIX boxes. The source code is available and is written in ANSI C. Compilation and use also require the installation of the FWF widgets, the Xaw library, and the Athena Plotter widget set. The package is documented in several technical reports and papers available in PostScript and/or HTML format. See Forrest and Jones (1994).

[http://www.santafe.edu/projects/echo/echo.html]

ECHOMOP
A Starlink Project package which provides facilities for the extraction of spectra from 2-D data frames, with the data being either single-order or multi-order échelle spectra. A variety of options are available for the reduction of the spectra data frames, ranging from full-scale automated reduction to step-by-step, order-by-order manually assisted processing. All the ECHOMOP facilities can be access from a single program called ECHMENU. There are over 30 tasks and menu options available for which over 160 different parameters can be modified.

The capabilities of ECHOMOP include:

  • spectral order location and tracing,
  • cosmic-ray removal,
  • detection of bad image rows and columns as well as saturated pixels,
  • determination of object channels,
  • generation of flat-field balance models,
  • modeling scattered light,
  • optimal spectrum extraction,
  • échell blaze correction,
  • quick-look spectral extraction,
  • automated location of lines and wavelength calibration of arc spectra,
  • distortion fitting for spectral orders,
  • extracted of distorted orders,
  • scrunching of extract spectral orders,
  • production of distortion-free images, and
  • plotting of data used for a reduction.

A binary distribution of ECHOMOP is available for DEC OSF/1, Linux Intel, and Sun Solaris platforms. It is documented in a 110 page user's manual available in PostScript format.

[http://star-www.rl.ac.uk/store/storeapps.html]

ECL/ECoLisp
ECoLisp or Embeddable Common Lisp is an implementation of Common Lisp designed for being embeddable in to C-based applications. It uses standard C calling conventions for Lisp compiled functions, allowing C programs to easily call Lisp functions and vice-versa. No foreign function interface is needed, i.e. data can be exchanged with no need for conversions.

[http://www.di.unipi.it/~attardi/software.html]

ECLiPSe
A development environment for constraint logic programming (CLP) applications. CLP is a method for attempting to solve especially tricky combinatorial problems encountered in such asreas a job scheduling, timetabling and routing, i.e. tasks that overextend more traditional solution techniques. It contains several constraint solver libraries and provides a high-level modeling language for the development of programs for solving various combinatorial problems.

The features of ECLiPSe include:

  • a attributed variable data type which greatly extends the basic logic programming language;
  • several constraint libraries including arithmetic constraints over finite atomic domains, finite set constraints, linear rational constraints, generalized propagation, interval reasoning over nonlinear constraints, repair-based search, etc.;
  • declarative and imperative coroutining facilities;
  • a fast incremental compiler;
  • program execution in or-parallel mode on shared memory multiprocessor hardware;
  • comprehensive synchronous (events) and asynchronous (interrupts) event handling;
  • configurable as a sound and complete solver for Horn programs;
  • a sophisticated predicate-based incremental module system;
  • backward compatibility with the Edinburgh family of PROLOG dialects along with compatibility libraries for several PROLOG implementations;
  • imposition of no arbitrary limits on programs and data;
  • an interface to C and C++;
  • a built-in message passing facility for distributed application development;
  • fully automatic memory management with garbage collection;
  • arithmetics with unlimited precision integer and rational numbers;
  • profiling tools to collect statistics and timings;
  • a collection of libraries for program development; and
  • an interface to Tcl/Tk.

Binary releases of ECLiPSe are freely available to universities and non-profit research institutions. Distributions are available for Linux and other platforms upon signing and faxing an academic license agreement. Extensive documentation is available.

[http://www.icparc.ic.ac.uk/eclipse/]

eclipse
A collection of UNIX image processing utilities developed for the reduction of astronomical data. It includes many standard low-level functionalities as well as high-level calibration and cleaning procedures. It was chiefly designed and intended for astronomical infra-red data although most of the algorithms are standard image processing algorithms and thus have much wider application. This was designed to process images in the FITS data format.

The utilities comprising eclipse include:

  • 3color, combines three FITS images of equal size into a single 24 bit image in PPM format;
  • average, reduces a FITS cube over its third dimension using a choice of algorithms;
  • catcube, creates an output cube that is the sum on the z-axis of a given number of other cubes;
  • ccube, a calculator for performing operations between cubes, cubes and constants, and constants;
  • deadpix, generates bad pixel maps from images of the sky background in infrared;
  • detpeak, detects and localizes bright object centroids in an image;
  • dfits, displays FITS file header information;
  • dumppix, dumps pixels from a FITS file;
  • encircl, computes the encircled energy for every plane in a cube;
  • extract, to extract data froma cube via several modes;
  • fft, computes an FFT on an image;
  • filt, a cube filter in the image domain with a choice of several filters;
  • fitsedit, online FITS header management services;
  • fitsort, extracts keyword values from a set of FITS files;
  • flat, processes twilight data cubes to create linear gain and bad pixel maps;
  • fpclean, removes cosmic rays from a Fabry-Perot data cube;
  • fpflat, flat fields a Fabry-Perot data cube;
  • fwhm, computes the full width at half maximum around peaks in a FITS data cube;
  • growcube, builds a new cube using a 1-D spectra and an image;
  • imgen, creates an image with a given pattern definition and parameters;
  • ipaste, inserts one image into another image;
  • jitter, reduces images taken in infrared jitter imaging mode;
  • photfits, computes the flux in ADU inside a specified disk in an image;
  • poisson, generates random points on a 2-D plane with a Poisson law distribution;
  • shiftxy, shifts an image by a given offset;
  • spectract, extracts a 1-D spectra along the z or plane axis of a 3-D cube using an extraction map image;
  • strehl, computes the Strehl ratio for every plane in a cube;
  • thresh, threshold a cube/image to another cube/image or pixel map; and
  • warping, resamples images according to a given transformation, e.g. rotating, zooming, translating, etc.

A source code distribution of eclipse is available under the GPL. It is written in standard C and can be compiled on most UNIX platforms. A user's manual is available in HTML and PostScript formats.

[http://www.eso.org/eclipse/]

ECLIPT Mirror
A mirroring program for FTP and Web sites. The features include:
  • downloading files not older than N days and deleting local files older than N days;
  • a maximum for deleting files;
  • support for most FTP daemons;
  • parallel execution of mirrors via forking;
  • optional recursive downloads of directories;
  • generation of log files in HTML format;
  • downloading the newest version of a package; and
  • downloading and excluding using regular expressions.
A source code distribution of the Python script is available.

[http://eclipt.uni-klu.ac.at/projects/emirror/]

ecological simulation
Related packages include:

Econometrics Toolbox
A set of Matlab functions that implement various econometric estimation methods. The 300+ programs in this toolbox are divided into several categories including:
  • utility functions including those for working with time series data, printing and plotting matrices, performing econometric data transformations, and mimicing various Gauss statistical function;
  • a regression diagnostics library including functions for diagnosing and correcting collinearity problems and for detecting and correcting for outliers and influential observations in regression problems;
  • a library of vector autoregression (VAR) and error correction (EC) models;
  • a Gibbs sampling function library implementing Markov chain Monte Carlo models;
  • a regression function library containing routines for estimating limited dependent variable logit, probit and tobit methods as well as Gibbs sampling functions for estimating these models;
  • a regression function library containing routines for two-stage least squares, three-stage least squares, and other regression models;
  • a distribution functions library for carrying out calculations based on a wide range of statistical distirbutions including the beta, binomial, chi-square, F, gamma, hypergeometric, log-normal, logistic, multivariate normal, Poisson, standard normal and Student t distributions; and
  • an optimization function library with routines for the maximum likelihood estimation of econometric models.
A source code distribution is available which is documented in two separate manuals in PostScript and PDF format weighing in at a combined 500+ pages.

[http://www.spatial-econometrics.com/]

eCos
The embedded Cygnus operating system is an open-source, configurable and portable real-time operating system (RTOS). It is designed to be portable to a wide range of target architectures by running the kernel and other runtime components on top of a Hardware Abstraction Layer (HAL). It has also been designed to support embedded applications with real-time requirements. The real-time kernel includes interrupt and exception handling, a choice of schedulers, thread support, a rich set of synchronization primitives, timers and counters, a choice of memory allocators, and debug and instrumentation support. An ISO C library is included in the distribution. Current (12/98) supported targets are the Matsushita MN10300 processor, Toshiba TX39 processor, and the PowerPC MPC860 processor. Supports hosts are Linux and Windows NT. A source code distribution is available.

[http://sourceware.cygnus.com/ecos/]

EcoSim
A C++ class library especially designed to support individual-oriented discrete event simulation and ecology. The process of implementing individual-oriented models is facilitated by providing classes for those parts common to all such models. Ecologists may concentrate on the unique parts of their models and leave the gory details to EcoSim. The EcoSim libraries provide support for: the specification of static and dynamic properties of individuals; the specification of dynamically changing environments wherein cells in the environment change similarly to the individuals contained therein; and support for the on-the-fly analysis and animation of data generated by the system. EcoSim is designed primarily for use with ecological models but may be used for any discrete-event, object-oriented model.

The source code for EcoSim is written in C++ and has been tested on Linux and UNIX (with gcc 2.6.3 or greater) and Windows NT/95 platforms. The source code has not yet been released while a complete documentation package is being written.

[http://offis.OFFIS.Uni-Oldenburg.DE/projekte/ecotools/project_ecotools4.htm]

ECS
The Element Construction Set is a Java API for generating elements for various markup languages. It directly supports HTML 4.0 and XML and can easily be extended to create tags for any such language. ECS allows Java Objects to be used to generate markup code rather than using a series of print statements to output verbatim markup. The features include:
  • an HtmlColor interface that defines over 200 colors by name rather than hex value;
  • automatic replacement of ampersands, quotes, double quotes, etc. by their entity counterparts (in a configurable manner); and
  • the capability of writing directly to an elements output stream to provide custom rendering of elements.
A source code distribution is freely available.

[http://java.apache.org/ecs/]

ed
A GNU line-oriented text editor which can be used to create, display, and modify text files interactively and from shell scripts. GNU ed originated with the editor algorithm in Kernighan and Plauger (1981) and is not an 8-bit clean, POSIX-compliant line editor. Also included is red, a restricted version of ed that can only edit files in the current directory and can't execute shell scripts.

A source code distribution of ed is available. It is written in C and can be compiled and installed on most UNIX platforms via an included configure file. It is documented in a user's guide available in Texinfo format as well as in a man page.

[http://www.gnu.org/software/ed/ed.html]

EDA
A collection of Fortran routines for Exploratory Data Analysis. These routines are from a book about exploratory data analysis (Velleman and Hoaglin (1981)). EDA emphasizes the discovery of the structure and anomalies in a set of data and also minimizing the number of assumptions made about the data (e.g. normality, additivity of effects, independence of observations, etc.). The routines available include stem-and-leaf displays, letter-value displays, boxplots, x-y plots, resistant line fitting, data smoothers, coded tables, median polish, and rootograms. See also Tukey (1977).

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

Eddi
A GUI text editor built using the Tix extensions to Tcl/Tk. The features of Eddi include: the colorization of several programming languages, a make interface with error and warning colorization and the capability of jumping from error to error, an RCS interface, unlimited undo/redo, multiple file editing and project handling, bookmarks, unlimited macros that can be saved between sessions, full keyboard control of all functions, all of the usual editing functions, and much more.

A source code distribution of Eddi is available. It can be installed on any UNIX flavor which already has Tcl/Tk and Tix installed.

[http://rpmfind.net/linux/RPM/eddi.html]

Eddie
An Open Source project and set of cluster applications for building highly robust and scalable server farms. The components of Eddie include:
  • an IP migration application for setting up overlapping take-over and fail-over sets using any type of servers;
  • a load-balancing DNS server that is plug-in compatible with BIND 4.*;
  • an intelligent HTTP gateway that is a peer which sits on top of back-end HTTPO servers such as Apache; and
  • a content replication application in the form of a fully replicated and distributed LAN/WAN file system designed primarily for robustness.
The components of Eddie are currently (11/98) available as pre-compiled software, although source code releases are planned when the code is considered sufficiently mature. Documentation is available for each component in PostScript and other formats. Eddie is built using Erlang.

[http://www.eddieware.org/]

EDGR
An EDitor for GRaphics which is an interactive program for creating, editing, printing, and storing graphical data. It was developed at TRIUMF to enable users to create line drawings, to store graphical output from other programs in a device independent format, to edit and combine drawings, and to produce suitable hardcopy output for presentation, publication, or archiving. EDGR can edit the graphics produced by programs that use the GPLOT graphics library (used internally by PHYSICA) as well as those produced in the HPGL, DM/PL, and Tektronix 4010/4014 formats. (Unfortunately it can't read PostScript files.) Hardcopy output can be produced for several devices including Printronix, HP (GL, Laserjet, and Thinkjet), DEC LA100 and LN03+, Imagen laser printers, HP Paintjet printers, and PostScript printers.

EDGR provides a basic set of drawing tools where elements such as lines, arcs and text can be entered, moved and modified. Groups of elements or whole drawings can be cut, pasted, scaled, rotated, translated, and included in other drawings. Attributes such as color, line type, or text font can be modified globally or on a per element basis. Other available functions include magnification, area filling, text justification and alignment, and spline smoothing. Various CAD-like features are also available including grid overlays, independent graphics layers, full precision coordinate storage, distance and angle measurement, and numerical coordinate input for any graphical operation. Graphics objects can be defined as modular components that can be dynamically entered into any drawing, and sequences of editing functions can be automated via the use of script files. Also included are features for combining multiple drawings for presentation or archiving.

Binary versions of EDGR are available for several platforms including Linux Intel. It is documented in an 80+ page user's and reference manual available in PostScript format.

[http://www.triumf.ca/compserv.html]

Edinburgh Speech Tools Library
A collection of C++ classes, functions and related programs for manipulating the types of objects used in speech processing. The functionality includes reading and writing waveforms as well as creating and manipulating parameter files in various formats and converting between them. There are also quite a few utility programs built using the library for performing various tasks. These programs include:
  • ch_wave, for manipulating the format of a waveform file, e.g. file format conversion, resampling, byte-swapping, scaling the amplitude of the waveform, etc.;
  • ch_track, for manipulating the format of a track file, e.g. file format conversion, smoothing, producing differentiated and delta tracks, etc.;
  • ch_lab, for manipulating the format of label files;
  • tilt_analysis, for producing a Tilt or RFC analysis of an F0 contour;
  • tilt_synthesis, for generating F0 contours from Tilt descriptions;
  • sig2fv, for generating signal processing coefficients from waveforms via various types of analysis, e.g. linear prediction (LPC), cepstrum coding from LPC coefficeints, line spectral frequencies, etc.;
  • spectgen, for creating spectrograms, i.e. 3-D plots of amplitude vs. time vs. frequency;
  • sigfilter, for performing various filter functions on waveforms;
  • design_filter, computes the coefficients of an FIR filter with a given frequency response;
  • pda, implements a pitch detection algorithm that produces a fundamental frequency contour from a speech waveform file;
  • pitchmark, locates glottal closures in a laryngograph waveform;
  • dp, uses dynamic programming to find the lowest cost alignment of two symbol sequences;
  • ngram_build, for building/training an n-gram language model;
  • ngram_test, for testing n-gram language models;
  • viterbi, a time-synchronous Viterbi decoder for combining an n-gram model and likelihoods to estimate posterior probabilities;
  • na_play, a general audio playback program;
  • na_record, for recording waveforms from an audio device;
  • wagon, for building CART trees from feature data;
  • ols, for training a linear regression model;
  • ols_test, for testing a linear regression model;
  • wfst_build, for building a weighted finite-state transducer;
  • wfst_run, for running a finite-state transducer;
  • scfg_make, makes the rules for a stochastic context-free grammar;
  • scfg_train, trains the parameters of a stochastic context-free grammar;
  • scfg_parse, parses text using a pre-trained stochastic context-free grammar;
  • scfg_test, applies a stochastic context-free grammar to a given corpus and reports the parsing and cross-bracketing accuracies;
  • siod, a command-line interface to a modified version of the SIOD Scheme interpreter;
  • bcat, a binary safe version of cat; and
  • xml_parser, a front-end to the RXP XML parser.

This library and the tools constructed with it are designed to make the construction of other speech systems easier. For example, it is used to provide the underlying classes in the Festival speech synthesis system. The full source code is freely available for unrestricted use, and a very complete manual is available.

[http://www.cstr.ed.ac.uk/projects/speech_tools/]

editors
Several text editors are available for the Linux platform. There are the classic Emacs and its spinoff XEmacs. There are also the many vi emulators. Those which are X Window-based include:

eEMU
The enterprise Event Management Utility is a package that manages, displays and takes action on messages sent by various monitoring agents, i.e. a message handling framework and consolidator. Unlike similar commercial packages, this is an Open Source package based on standard scripting tools and languages. The features and functionality of eEMU include:
  • event management via a flexible messaging core;
  • a distributed, multi-tier and highly scalable framework with building blocks that can easily combined almost without limit;
  • a portable message agent written using standard TCP/IP programming interfaces;
  • heuristic algorithms for handling messages and deciding when problems have been fixed;
  • central management by an eEMU manager program that exports all problems reported by agents into a database;
  • a console from which messages stored by the manager can be viewed and acted upon;
  • automation of problem detection and corrective actions, with programs for the latter supported when written in nearly any programming language;
  • easy and flexible logging and statistical reporting;
  • integration with enterprise management systems via messaging interfaces that can consolidate events and create reports in the proper format; and
  • provision of password-based security.

The various eEMU components (e.g. manager, browsers, agents) are separately available as source code. The documentation includes various tutorials and manuals in PDF format.

[http://www.jarrix.com.au/]

EFFTool
The Error, Fault and Failure Tool is is interactive WWW tool for collecting data consisting of general project information and specific information related to the discovery and resolution of faults and failures occurring during the development or maintenance process. There is also an analysis component providing the capability to sort and count faults having certain characteristics and to perform various calculations and comparisons on those faults. A source code distribution of this public domain tool is available. It is written in Perl.

[http://hissa.ncsl.nist.gov/project/eff.html]

EFLIB
An application framework implemented in Object Pascal with fundemental components for data structures, mathematics, graphics and text processing. EFLIF provides elegant object-oriented solutions that can be used by everyone from novice to expert programmers. It is a programming framework that provides a set of classic data structures implemented with high-performance algorithms, a number theoretic system with generic arithmetic, mathematical functions, text processing and converting, fast searching, parsing, abstract graphics classes, a meta-engine with support for a distributed object model, database support, image processing and more.

A source code distribution of EFLIB is available. It supports both FPKPascal and GNU Pascal after release 6. A user's guide and reference manual are available amongst quite a bit of documentation.

[http://www.csd.uu.se/projects/EFLIB/]

egcs
Note: This was merged with GCC in April 1999 with the first combined version being GCC 2.95. A project to integrate various variations to and patches for the GNU C compiler GCC. The features of egcs include:
  • most of the new features in GCC 2.8.*;
  • integration of the g77 0.5.22 compiler;
  • vast improvements in the C++ compiler;
  • integrated C++ runtime libraries;
  • a new instruction scheduler which includes support for function wide instruction scheduling and superscalar scheduling;
  • improved alias analysis code;
  • improved register allocation for two address machines;
  • significant code generation improvements for Fortran code on Alphas;
  • integration of various optimizations from the g77 project;
  • support for Dwarf2 debug format;
  • inclusion of the SGI STL into libstdc++; and
  • integrated testsuites for gcc, g++, g77, libstdc++ and libio.
Snapshots are available onsite as well as mailing lists for those interested in development.

[http://www.cygnus.com/egcs/]

Eggdrop
An IRC robot which features a flexible configuration file and a built-in Tcl script parser. A source code distribution of this C package is available.

[http://www.eggdrop.net/]
[http://www.eggxpress.com/downloads/downegg.html]
[http://www.roon.org/eggdrop/]

EGO
A program for performing molecular dynamics calculations on parallel and sequential computers. EGO has been used to compute trajectories for molecular systems containing more than 35,000 atoms with extended atoms or with explicit hydrogen atoms. Input files consist of PDB files for the atomic coordinates and X-PLOR compatible PSF and parameter files for topology information and force constants.

Molecular dynamics calculations as performed by EGO involve numerically integrating the equations of motion of atoms in molecules. Electrostatic and van der Waals interactions represent non-bonded forces between atoms with bonded interactions represented by stretching, torsion, and stearic hindrance potentials. The computation of the short range forces increases linearly with the number of atoms, but the longer range Coulomb interactions increased with the square of this number. EGO uses a method which combines a fast multipole method (FMM) and a multiple timestep method to reduce the required computational effort for evaluating the Coulomb interactions. The combination of algorithms is called a fast multipole timestep structure adapted multipole method (FAMUSAMM).

A source code version of EGO is available. It is written in C and can be used with either PVM or MPI on any platform that supports them. A user's manual is available in either HTML or PostScript format.

[http://www.imo.physik.uni-muenchen.de/imo/gruppen/molgroup/moloverview.html]

Egon Animator
An X Window-based animation development tool for UNIX platforms. Animations can be written using the underlying Scheme implementation or by using the GUI interface. See also the same author's SIAG and Pathetic Writer.

[http://www.edu.stockholm.se/egon/]

EGP
The External Gateway Protocol is a routing protocol used on the DDN which enables networks to exchange information about how to reach other networks. This is used on nodes that are external gateways as opposed to the use of RIP on internal gateways.

[http://www.faqs.org/rfcs/rfc904.html]
[http://www.faqs.org/rfcs/rfc1092.html]

Egret
An advanced framework for the construction of computer-supported cooperative work applications. Egret provides both low and high level storage and communication facilities for the development of cooperative work applications. The features include:
  • data representations can range from unstructured binary storage to schema-based, typed, structured storgae records to HTML-compatible hypertext;
  • indexing and local replication mechanisms enable efficient relational-style queries over the underlying network database;
  • interprocess communication is implemented via TCP/IP sockets and provides a variety of programmatic and interactive client communication facilities;
  • password mechanisms are provided to facilitate secure collaboration in dispersed groups;
  • built-in instrumentation support to facilitate research and evaluation of Egret applications;
  • several example CSCW application implementations.

The example applications included in the Egret package include:

  • CSRS, a collaborative software review system implementing a process modeling language for the definition and enactment of software quality improvement methods;
  • AEN, a collaborative hypertext authoring environment providing extensive group process visibility called strong collaboration;
  • Shemacs, a drop-in extension to Emacs providing a shared, real-tiem concurrent Emacs editor with character-level locking; and
  • Flashmail, a real-time message facility providing a complementary communication channel to email.

Source and binary distributions of the Egret system are available, with the latter including one for Linux Intel platforms. Documentation includes a primer and a design reference manual, both of which are available in both HTML and TeX format.

[http://csdl.ics.hawaii.edu/Tools/Egret/Egret.html]

EiC
Extensible interactive C is a hand-crafted, recursive-descent C intepreter developed from a perceived need for a complete interactive C interpreter or, more correctly, an interactive bytecode C compiler which can also be used non-interactively in the usual compiler batch mode manner. The latter allows EiC to compile and run C programs without leaving executables or object files around to clutter up the area. It is one of the most complete C interpreters yet built and is designed to be a production tool which can be used as an aid in teaching C as well as for quickly prototyping new research programs.

EiC is a bytcode compiler that generates its own internal intermediate language (known as stack code) which it executes via an internal stack machine. It differs from C in that it is pointer safe (i.e. it detects many classes of memory read and write violations), goto statements and labels are not supported, long jumps are not supported, structure bit fields are not supported, it is illegal to pass a structure or a union to a variadic function, the C concept of linkage is not supported, preprocessor numbers which aren't valid numeric constants aren't parsed, C and C++ type comments are supported, there are no default type specifiers for function return values, trigraph sequences aren't supported, there is no #line directive in the preprocessor, and more.

A source code distribution of EiC is available which is currently (3/98) supported on Linux Intel, Sun Solaris and SunOS, DEC Alpha OSF, and SGI IRIX platforms. An extensive manual is available in both HTML and PostScript formats. EiC is freely available only for non-commercial usage.

[http://www.anarchos.com/eic/]

Eiffel
An object oriented language of some complexity. Non-commercial compilers/interpreters include Eiffel/S, eon, and SmallEiffel. Eiffel texts include Meyer (1991), Switzer (1993), and Thomas and Weedon (1995).

Eiffel/S
An Eiffel compiler for Linux.

[http://sunsite.unc.edu/pub/Linux/devel/lang/eiffel/]

eigenvalues
Software packages for finding eigenvalues include:

EIGENTRI
A set of Fortran programs for reducing a nonsymmetric matrix to tridiagonal form, computing the eigenvalues of the tridiagonal matrix, improving the accuracy of an eigenvalue, and computing the corresponding eigenvector. The intended purpose is to find a few eigenpairs of a dense nonsymmetric matrix faster and more accurately than previous methods. This is TOMS algorithm 710 and is documented in Dongarra et al. (1992).

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

8Hz-MP3
A package for writing to, i.e. encoding, MPEG-3 files. As of 12/98 this is unavailable due to legal problems.

[http://www.8hz.com/mp3/]

EISPACK
A collection of Fortran subroutines which compute the eigenvalues and eigenvectors of nine classes of matrices, i.e. complex general, complex Hermitian, real general, real symmetric, real symmetric banded, real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matrices. There are also two routines that use SVD to solve some least-squares problems. EISPACK has been mostly superseded by LAPACK and the latter should be preferred for most if not all uses. The source code and sparse documentation are available. This is part of CMLIB.

[http://www.netlib.org/eispack/index.html]

elastiC
A portable, high-level, object-oriented interpreted language with a C-like syntax. The features includle:
  • portable bytecode compilation;
  • dynamic typing;
  • automatic and very fast garbage collection;
  • object-oriented with meta-programming support;
  • functional programming features, e.g. Scheme-like closures with lexical scoping;
  • hierarchical namespaces;
  • several basic types, e.g. dynamic arrays, dictionaries, symbols, etc.; and
  • extensible with and embeddable in C.

[http://www.elasticworld.org/]

Electric
A sophisticated electrical CAD system that can handle several forms of circuit design including custom IC layout, schematic drawing, hardware description language specifications, and electro-mechanical hybrid layout. The CAD operations available in Electric include:
  • design rule checking;
  • simulation and a simulation interface;
  • PLA generation;
  • compaction and compensation;
  • routing;
  • VHDL and silicon compilation; and
  • network consistency checking.
Design types handled include MOS (6 CMOS variations and 1 NMOS variation), bipolar and BiCMOS, schematics and printed circuits, digital filters with temporal logic, and artwork. The file formats handled include CIF, GDS, VHDL and DXF for I/O and PostScript, HPGL and QuickDraw for output. A source code distribution is available.

[http://www.gnu.org/software/electric/electric.html]
[http://www.electriceditor.com/]

electromagnetic software
Available packages that deal with electromagnetics include:
  • DDSCAT, for calculating scattering and absorption of electromagnetic waves by targets with arbitrary geometries;
  • DISORT, for computing quantities related to radiative transfer in a multi-layer plane-parallel medium;
  • Emu/fdtd, which uses the FDTD method to solve Maxwell's equations in the time domain;
  • MIEPACK, a collection of programs for performing various tasks in electromagnetic scattering theory;
  • MIEV, for calculating quantities involved in electromagneitc scattering from a homogeneous sphere;
  • NEC, for analyzing the response of an arbitrary structure consisting of wires and surfaces;
  • ToyFDTD, a C program for solving 3-D problems in electromagnetics;
  • xspace, an educational package for introducing students to concepts of space physics including electromagnetics; and
  • Xwake, an FDTD code written for wake field and impedance calculations of rotationally symmetric structures;

Electronic Notebook Project
A project to develop an electronic notebook with which scientists and engineers can do remote experimentation and collaboration. Although this is being developed as a medium in which researchers can remotely record aspects of experiments conducted at research facilities, it can also be used as a private notebook for personal information and ideas or a single notebook project shared by a group of collaborators. The Notebook is a Web-based package in which each entry becomes a separate HTML page in which text and/or graphics are displayed. Reading from a Notebook requires only a browser, but adding entries requires one that is Java-compliant. Notebook data is automatically handled by Perl 5 scripts running at the site where the data is stored. Interactive input is accomplished via a combination of Java applets and CGI scripts. The available functions are divided in modifying and navigation function classes.

The features of the Notebook include:

  • modifying functions including add, edit, delete, annotate and notarize;
  • navigation functions including first, previous, next, last, contents and search;
  • an external navigation and control panel which allows easy access even on long pages;
  • drawing sketches via a Java applet sketchpad;
  • easy uploading of images from anywhere on the Internet;
  • an overview of Notebook features on the first page;
  • an on-line help Notebook linked from the first page; and
  • complete configuration of who can access what.

A source code distribution of the Notebook system is available via an email request. Quite a bit of documentation is available at the site.

[http://www.epm.ornl.gov/~geist/java/applets/enote/]

electronics
Software related to electronics or electrical engineering includes:
  • ACS, a general purpose electrical circuit simulator for nonlinear CD and transient analyses;
  • Alliance, a set of CAD tools and portable libraries for VLSI design;
  • brusey20, a tool for converting state diagrams into synthesizable VHDL;
  • Chipmunk, a collection of tools for electronic circuit simulation and schematic capture;
  • CynLib, a electronic hardware description library (HDL) written in C++;
  • Electric, an electrical CAD system for many forms of circuit design;
  • EOS
  • EXOR, an object-oriented digital circuit simulator;
  • FreeHDL, a project to develop an Open Source VHDL simulator for Linux
  • gEDA
  • GNUPIC, a suite of microcontroller development tools;
  • HADLOP, a tool and HDL for the design and simulation of digital 3-D optoelectronic computing systems;
  • Icarus Verilog, a Verilog simulation and sythesis tool;
  • Magic
  • MISTIC
  • ng-spice, a project to improve the capabilities of the Spice Version 3f5 simulator;
  • OCEAN
  • Pcb, an interactive printed circuit board design system;
  • POLIS, a package for hardware/software co-design of embedded systems;
  • SCEPTRE
  • SIS
  • SystemC, a modeling platform for System-on-Chip (SoC) design;
  • VAUL, a VHDL analyzer and utility library;
  • VHDL-GUI, a graphical tool for producing structural VHDL code from hierarchical block diagrams;
  • VPR, a CAD tool for the placement and routing of array-based FPGAs;
  • XCircuit, a program for drawing electrical circuit schematic diagrams and related figures.

Elegant
The Exploiting Lazy Evaluation for the Grammar Attributes of Non-Terminals is a programming language that started out as a compiler generator based on attributed grammars. Although inspired by the abstraction mechanisms found in modern functional languages, it is an imperative language. The features include:
  • a type system with strong typing, subtyping, polymorphic types and functions, lazy types, list comprehensions, overloading, automatic and user-definable coercions, and pattern matching;
  • attribute grammars that support LL(1) and LALR(1) parsing as part of the language and have integrated automatic error recovery;
  • user definable and overloadable operators;
  • function (i.e. lambda) expressions;
  • a module system;
  • many compile time and run-type checks;
  • compilation into ANSI C; and
  • self-generating, i.e. written in Elegant.

The components of the package include:

  • Elegant, a compiler for the Elegant language;
  • ScanGen, a lexical scanner generator;
  • Bnf, a BNF to attribute grammar conversion utility;
  • Diagrams, a BNF syntax diagram generator;
  • elegantmake, an Elegant makefile generator; and
  • cmake, a C makefile generator.
Distributions of Elegant are available for several platforms under the GPL. Documentation includes a language definition and an extended tutorial.

[http://www.research.philips.com/generalinfo/
special/elegant/elegant.html]

Elex
A multi-language scanner generator package which generates a scanner (i.e. a lexer) from a specification oriented around regular expressions. A scanner is a program that finds compound symbols in a stream of characters. Elex differs from most other scanner generators in that it supports multiple languages.

The Elex package consists of:

  • elex, a configurable front end for the Flex tool set which integrates the compiler, debugger, and any number of code generators;
  • elexc, the Elex compiler;
  • elexd, a debugger which allows the regular expressions in Elex scripts to be tested before being used in a scanner;
  • a code generator which generates a C++ scanner; and
  • a Graphviz code generator which generates files that can be used with Graphviz to visualize the FSM that Elex generates for a scanner.
Code generators for Java and Ada 95 are in the works.

A source code distribution of Elex is available as is a binary for Linux Intel platforms. Compilation requires g++ 2.7.2 and Perl 5. A user's guide is available in most popular UNIX formats.

[http://www.ozemail.com.au/~mpp/elex/elex.html]

ELF
This is a link to a site with information about ELF (Execution and Linking Format), the new binary format for Linux programs that will, amongst other things, make it much easier to build shared libraries.

[http://ftp.linux.org.uk/~barlow/linux/ELF-HOWTO.html]

ELFkickers
A collection of programs for working with the ELF binary file format. This includes:
  • sstrip, removes extra bytes from a binary file that strip leaves behind;
  • elfls, displays an ELF file's program and/or section header tables;
  • elftoc, generates C code that defines a structure with the same memory image as an ELF file (using the structures and preprocessor symbols defined in elf.h; and
  • ebfc, a compiler that can generate ELF executables, object files, and shared libraries.
Also included in the package is a small collection of ELF executables e.g., a version of cat written in assembly.

[http://www.muppetlabs.com/~breadbox/software/elfkickers.html]

ELI
A domain-specific programming environment consisting of a variety of standard tools which implement powerful compiler construction strategies. Eli can be used to automatically generate complete language implementations from application-oriented specifications. The implementations can be interpretive, using the constructs of the source language to invoke operations of an existing system, or involve translation into an arbitrary target language. Eli offers complete solutions for commonly encountered language implementation subtasks as well as libraries of reusable specifications.

Eli has been used to create:

  • programming language compilers for ANSI C to SPARC machine code, Pascal to Pcode, Pascal to C, and several user-defined languages;
  • special processors that translate musical notation to PostScript and statistical data to TeX tables or histograms;
  • program generators that produce C simulation programs from descriptions of mechanical systems, query language calls from a database description, and finite-element models from descriptions of solids;
  • interpreters that create animations from descriptions of graphics and interactively evaluation decision tables; and
  • analyzers that enforce programming style, interactively validate commands for satellite control, and compute and present statistics.

The various tools that comprise Eli include:

  • LIDO, a language for the specification of computations in trees used to specify all computations of the analysis and translation phase of a language processor;
  • LIGA, a system to process LIDO specifications and generate evaluator C modules from them by automatically determining a tree walk strategy and the evaluation order of computations on the basis of the specified dependencies;
  • GORTO, a graphical order tool for the analysis and modification of dependencies in attribute grammars within the LIGA system;
  • FunnelWeb, a literate programming system;
  • PTG, a pattern-based text generator which supports translations into any kind of structured text;
  • SHOW, which displays the internal representation of a
  • LIDO grammar;
  • OIL, an operator identification language which is a language and set of library functions used in the specification and implementation of operator identification within a compiler; and
  • COLA and PGS, two different parser generators.

A source code distribution of Eli is available. It is written in C and has been compiled and used on a wide variety of UNIX flavors including Linux Intel. There is a huge amount of documentation available for Eli in PostScript format. There are separate manuals for every component of the package as well as technical reports describing the overall package and various applications.

[http://www.cs.colorado.edu/~eliuser]

Elib
The GNU Emacs Lisp library is designed to be for Elisp programs what libg++ is for C++ programs, i.e. a collection of useful routines for performing various common tasks. Elib contains code for container data structures (e.g. queues, stacks, AVL trees, etc.), string handling and minibuffer handling functions missing in standard Emacs, and routines for handling lists of cookies in a buffer. It is designed to be as efficient and easy to use as possible.

A source code distribution of Elib is available. It is written in Elisp and can be used in the standard Emacs enviroment. It is documented in a 30 page user's manual available in Texinfo format.

[http://www.gnu.org/software/elib/elib.html]

Elk
The Extension Language Kit is an implementation of the Scheme programming language designed specifically as an embeddable, resuable extension language subsystem for applications written in C or C++. Applications with different components in different langauges can be developed using Elk, e.g. an efficient core written in C or C++ and an extensible user interface layer implemented in Scheme. It is also useful as a stand-alone Scheme implementation, in particular as a platform for rapid prototyping of X11-based Scheme programs.

The features of Elk include:

  • full incremental and dynamic loading which enables Scheme code to load compiled extensions into the running interpreter (or application) on demand and allows large, complex applications to be decomposed into dynamically loadable components as well as the inclusion of extensions written in other languages;
  • a new Scheme primitive called dump which freezes the dynamic runtime image of the interpreter into an executable file, with the executable resuming execution by returning from the call to dump that created it;
  • the tight integration of C/C++ applications via the extension language;
  • the definition of new Scheme primitives by applications;
  • the definition of application-specific first-class Scheme types;
  • converting objects between Scheme and C/C++ types;
  • the implementation of weak data structures;
  • defining Scheme variables and symbols;
  • evaluating S-expressions encoded as C strings; and
  • garbage collection.
. There are full Scheme bindings for Xlib, Xt, Xaw, and Motif as well as access to most UNIX systems calls and common C library functions. Two garbage collection strategies are selectable at compile time. Non-standard Scheme features include first-class enviroments, error handling, provide/require and autoloading, fluid bindings and dynamic-wind, simple ``eval-twice'' style macros, property lists, string and bidirectional ports, a debugger, and more.

A source code distribution of Elk is available. It is written in portable C and can be compiled with either a K&R or ANSI C compiler. Over 230 pages of documentation are available in both HTML and PostScript formats. Packages which are written in or use Elk include AL, unroff, GINGER, and Sced.

[http://www.informatik.uni-bremen.de/~net/elk/]

ELKS
The Embeddable Linux Kernel Subset is a project to create a version of Linux for 8086 to 80286 PCs, palmtop computers, single board microcomputers, embedded controller systems and other old computers. It is a small kernel subset that can run on small machines with limited processor and memory resources. It is currently (6/99) able to boot, provide virtual consoles, mount a root minix filesystems floppy, provide basic serial and parallel I/O, and start various small programs. Planned further functionality includes swapping, shared libraries and networking. Source code distributions are available.

[http://www.elks.ecs.soton.ac.uk/cgi-bin/ELKS]

ELLPTI
A Fortran 77 algorithm for computing a class of hyperelliptic integrals and for determining the surface measure of ellipsoids. This is TOMS algorithm 736 and is documented in Dunkl and Ramirez (1994b) and Dunkl and Ramirez (1994a).

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

Elm
A mail user agent (MUA) designed to run with any UNIX mail transport agent (MTA). It is a replacement for and has a better user interface than programs like mail and mailx. Unlike earlier programs, Elm is screen-oriented rather than line-oriented, making it easier to use.

The source code for Elm is available in quite a few places as are binary versions for various platforms. Documentation is available as man pages or as a series of user's manuals in PostScript format, although one of the design criteria was to create a system that required little or no documentation for the casual user.

[http://www.myxa.com/elm.html]

ELROS
The Embedded Language for Remote Operations Service is a preprocessor which accepts language statements embedded in C programs and produces C code to encode/decode ASN.1 as well as send and receive remote operations. ELROS supports the distribution of scientific applications across multiple computing platforms by providing an embedded C language system for remote operations. Its goal is to provide portable, simplified access to efficient communications services. ELROS consists of the preprocessor and a library, with the library containing routines to encode/decode all primitive data types, to establish communication between processes, and to transmit and receive arguments of remote operations. It supports both socket and ISODE communication platforms, with the intermediate representation used for communication being the Basic Encoding Rules (BER) for ASN.1. This makes it interoperable with other presentation-level services which support ASN.1.

The source code for ELROS is available. The preprocessor is written in C++ and the library in C, with both compilable using gcc. The compilation process is not set up for Linux platforms, but it can be compiled rather easily by modifying the files used for compilation on ULTRIX platforms, taking care to indicate where the g++ include files can be found. The package is extensively documented in several manuals and technical reports, all available in PostScript format within the distribution.

[http://www.llnl.gov/sccd/lc/DEG/elros.html]

elvis
The editor like vi is the GNU clone of vi.

[http://www.fh-wedel.de/elvis/]
[http://heather.cs.ucdavis.edu/~matloff/elvis.html]

EMA-XPS
A hybrid graphic expert system shell that combines artificial intelligence (AI) features such as object-oriented data representation, forward and backward chained rules, prolog clauses, and constraint networks with a graphical interface based on X11 and the OSF/Motif widget library (although the author wants to switch to Lesstif as soon as possible). It is presently available as source code and in binary (a.out) form.

[http://www.iai.uni-wuppertal.de/EMA-XPS/]

Emacs
The editor that's everything to some folks and nothing to others. Emacs is a stateless editor, i.e. there aren't separate modes (as, for instance, in vi) for text browsing and entry. Various combinations of the non-character keyboard keys are used to enter literally hundreds (if not thousands) of commands, leading some to posit that Emacs is an acronym for "Escape Meta Alt Control Shift". Emacs is written in a language called ELISP (Emacs LISP), and thus its extensibility is limited only by your imagination and your command of ELISP. This also means that there are quite a few add-on packages for Emacs that let you read Usenet news and do almost anything from within the editor. The given link is to a searchable hypertext version of the Emacs FAQ, which should tell you everything you might want to know about it as well as how to get it and all its extensions. A version of Emacs which is enhanced for multilingual applications is available via the MULE project. See Abrahams and Larson (1996), Cameron et al. (1996), and Glickstein (1997).

[http://www.emacs.org/]
[http://www.eecs.nwu.edu/emacs/faq/]
[http://www.anc.ed.ac.uk/~stephen/emacs/ell.html]

AUC TeX
An extensible package that supports writing and formatting TeX files for most variants of the GNU Emacs editor. This supports many different macro packages including AMS TeX, LaTeX, and Texinfo.

The distribution includes the source code, written in Emacs Lisp (i.e. Elisp) and a 60+ page manual in Texinfo format. Some useful ancillary packages are available for AUC TeX, including x-symbol, CDTeX, a LaTeX mode that can run on top of AUC TeX; RefTeX, a mode that provides support for doing labels, references, and citations in LaTeX on top of AUC TeX; and many more.

[http://sunsite.auc.dk/auctex/]
[http://tug2.cs.umb.edu/ctan/tex-archive/support/auctex/]

BBDB
The Big Brother DataBase is a Rolodex-like database program for Emacs that is tightly integrated with the mail and news readers.

[http://www.jwz.org/bbdb/]

JDE
The Java Development Environment is an Emacs Lisp package that interfaces Emacs to command-line Java development tools. The features include:
  • a JDE menu with compile, run, debug, build, browse, project and help commands;
  • source code editing with syntax highlighting and autoindentation;
  • automatic generation of class and method skeletons;
  • running Java applications in an interactive Emacs buffer;
  • integrated debugging with an interactive debug command buffer and automatic display of current source file/line when stepping through code;
  • browsing JDK documentation;
  • browsing source code using Emacs etags or a tree-structured speedbar;
  • complete customizability; and
  • support for the latest JDK version.
A JDK installation is required to use this. A user's manual is available in the obvious formats.

[http://sunsite.auc.dk/jde/]

RefTeX
A minor mode for Emacs which provides support for doing labels, references, and citations in LaTeX. It will interface with AUCTeX.

[http://www.strw.leidenuniv.nl/~dominik/Tools/]

email
Electronic mail refers to sending messages analogous to snail mail (i.e. the stuff your postman picks up and delivers) via the Internet. See mail user agents, mail transport agents, and mailing lists.

[http://www.faqs.org/faqs/mail/setup/unix/part1/]

EMAP
The ElectroMagnetic Analysis Program is a family of 3-D finite element modeling codes that can be used to analyze bounded, 3-D geometries. They are not intended to compete with commercial codes but offer ease of use, modest resource requirements, and accurate modeling of simple 3-D configurations over a wide range of frequencies. EMAP1 uses a variational formalation, EMAP2 uses a Galerkin finite element formulation, and EMAP3 is a vector (edge element) code.

The source codes, written in C, are available along with binaries for Sun, IBM and HP platforms. The documentation is contained within journal and conference papers referenced at the web site. See Hubing et al. (1993).

[http://www.emclab.umr.edu/emap.html]
[ftp://emclab.ee.umr.edu/pub/emap/]

embeddable languages
Software related to embeddable languages includes:

embedded Linux
There are several projects that have ported versions of Linux to embedded systems, i.e. small or limited systems usually designed for the real-time control of applications. Such projects include:
  • RTLinux, with a kernel enhanced to support hard real-time control programs;
  • uClinux, a port of Linux 2.0 to systems without a Memory Management Unit (MMU)

[http://www.embedlinux.net/]

EMBOSS
The European Molecular Biology Open Software Suite is a collaboration which aims to integrate a range of currently available packages and tools for sequence analysis into a generally available suite of programs and libraries. The goals including building a new set of core libraries in ANSI C, developing new applications, and integrating with other publicly available packages. Specific targeted applications in sequence analysis and related areas include those for:
  • EST clustering;
  • rapid database searching with sequence patterns and for sequence overlaps;
  • simple and species-specific repeat identification;
  • nucleotide sequence pattern analysis;
  • codon usage analysis for small genomes;
  • gene identification tools for genomic sequencing;
  • rapid identification of sequence patterns in large-scale sequence sets;
  • protein motif identification including domain analysis; and
  • presentation tools for publication.

The currently available EMBOSS applications include:

  • antigenic, to predict antigenic regions of a protein;
  • chaos, for creating a chaos plot for a sequence;
  • compseq, counts the composition of dimer/trimer/etc. words in a sequence;
  • cutseq, removes a specified section from a sequence;
  • descseq, alter the name or description of a sequence;
  • dotplot, create a DNA sequence dot plot;
  • emma, a multiple alignment program;
  • etandem, looks for tandem repeats in a nucleotide sequence;
  • fuzznuc, for nucleic acid pattern searching;
  • helixturnhelix, finds nucleic acid binding domains;
  • maskseq, masks regions of a sequence;
  • palindrome, looks for inverted repeats in a nucleotide sequence;
  • pepinfo, plots simple amino acid properties in parallel;
  • pepwheel, for creating a protein helical wheel plot;
  • pepwindowall, calculates general amino acid properties for sequence alignments;
  • prettyplot, displays aligned sequences with coloring and boxing;
  • pscan, locates fingerprints in a protein sequence;
  • restrict, finds restriction enzyme cleavage sites;
  • seqmatchall, performs sequence comparison;
  • sigcleave, predicts signal peptide cleavage sites;
  • stretcher, globally aligns two sequences;
  • tfscan, scans DNA sequences for transcription factors; and
  • transeq, translates nucleic acid sequences.
Many, many more programs are available, under construction, or proposed.

A source code distribution of the EMBOSS package is available. It is written entirely in ANSI C, although future extensions to C++ are mentioned. A fair amount of documentation is available including guides to using and developing the software, library and documentation standards, and man pages for each program.

[http://www.sanger.ac.uk/Software/EMBOSS/]

Embperl
A Perl module which allows you to embed Perl code in HTML documents. Embperl escapes the output of the embedded Perl code so HTML conformity isn't necessary and anything that's allowed in a normal Perl program can be used.

[http://perl.apache.org/embperl/]

EMC
A package which implements real-time control of equipment such as machine tools, robots and coordinate measuring machines. The four components of the EMC package are:
  • EMCCOT, a motion controller that includes sampling the position of axes to be controlled, computing the next point on the trajectory, interpolating between the trajectory points, computing an output to the motors based on a PID compensation algorithm, and writing to the motors;
  • EMCIO, a discrete I/O task controller with an API;
  • EMCTASK, a task executor; and
  • external programs such as a GUI which are used to run the EMC.
This is built on top of and heavily uses the RCS library. A source code distribution is available which has been successfully compiled and used on Linux platforms on which the Real-Time Linux extensions have been installed.

[http://www.mel.nist.gov/projs/isd/emc.html]
[http://www.nist.gov/public_affairs/guide/meltxt03.htm]

EMC2
A WYSIWIG 2-D finite element mesh generator. This package allows you to create and modify the geometry, define the discretization on the lines, define the subdomains, and define reference numbers for the boundary conditionss and material properties. Triangle and rectangle elements are available. Two kinds of meshes are available: grid meshes and Delaunay Voronoi automatically generated meshes.

The source code for EMC2 is available and can be compiled with ANSI C compilers. It has been tested on HP 9000, SGI, AIX, Linux, FreeBSD, and MacOS platforms. The documentation is contained within a technical report available in the same directory as the source code. This software was created as part of the GAMMA Project at INRIA.

[http://www-rocq.inria.fr/gamma/cdrom/www/emc2/eng.htm]
[ftp://ftp.inria.fr/INRIA/Projects/Gamma/]
[http://www-rocq.inria.fr/gamma/cdrom/projs/gamma/]

EM86
A Linux/x86 emulator for Linux/Alpha which uses components of Digital's FX32 technology to enable Linux/Alpha systems to run Linux/x86 software without modification. It currently (4/97) supports statically and dynamically linked x86 ELF32 binaries under Linux/Alpha, with planned enhancements including support for iBCS-2 compliant executables, improved emulator performance, and interoperation with natiave Alpha code.

[ftp://ftp.digital.com/pub/DEC/Linux-Alpha/em86]

Emerald
A programming language designed and developed to demonstrate that the object-based style of programming can be incorporated both elegantly and efficiently in a distributed programming enviroment. The primary goal of Emerald is to simplify distributed programming via language support while providing acceptable performance and flexibility both in local and distributed environments. It presents a unified semantic view of objects (similar to that seen in Smalltalk) appropriate for private, local, data-only objects as well as shared, remote, concurrently-executing objects. Other features include:
  • no notion of class;
  • support for data abstraction, i.e. all typing of objects is done at an abstract level and doesn't depend on the implementation chosen;
  • type consistency and conformity;
  • inherent polymorphism; and
  • extension of exception handling mechanisms to recovering from partial failures of distributed systems.

Binary versions of Emerald are available for several platforms including Linux Intel. Documentation includes a language report and a primer, both available in PostScript format.

[http://www.cs.ubc.ca/nest/dsg/emerald.html]

Emerge
An effort to build a new search infrastructure that addresses issues of scale and heterogeneity via the use of a distributed architecture. The goal is to work with data providers and those who build search clients to deploy search standards across a variety of scientific data repositories and to scale those and other search techniques by building polyglot gateways that can farm out queries to large collections of remote data sources. The projects and software presently (8/98) comprising Emerge include:
  • Gazebo, a search gateway that can execute a single abstractly specified query against multiple target data sources (e.g. Z39.50 servers) simultaneously, performing any necessary protocol translations and field mapping and managing network connections to the target data sources;
  • Gazebo Client Toolkit, a Java toolkit that performs all of the parsing of the XML-based protocol used for communication among clients; and
  • Pizazzd, a server toolkit library written in C that handles the Z39.50 protocol on the server side.
Source code distributions of each of these components are available.

[http://emerge.ncsa.uiuc.edu/]

emil
A tool for converting between message formats used by MIME, Eudora, SUN mailtool, PC and Mac based clients, etc. It is easily extensible. It can work either standalone, as an argument driven filter program, or, if linked with sendmail-5.67b+IDA-1.5 or sendmail-8.6.8, as a mail gateway convertering messages sent between various types of Internet mail clients. It will give a possibility to convert encoding formats of attachments and convert character sets of text. It can make a heterogenous mail environment, consisting of various types of mail clients, act as a homogenous environment; for instance sending only MIME based messages to the outside world.

The source code, written in C, is included with the distribution. A tutorial is available either online in HTML format or in PostScript form in the distribution.

[ftp://ftp.uu.se/pub/unix/networking/mail/emil/]

EMLIB
A library of electromagnetic software and related information.

[http://emlib.jpl.nasa.gov/]

EML Kit
A basis and test-bed for a comfortable framework for the formal development of programs using the Extended ML language, formalism, and methodology. This is a complete implementation of the Extended ML programming language, allowing for parsing, type-checking, and evaluation of arbitrary EML code, be it pure Standard ML or EML with its axioms and other useful specification constructs.

The EML Kit 1.0 (3/97) release is available in source code or as a binary for either Sun SPARC or Linux/Intel platforms. The documentation is contained within a user's guide available in PostScript format.

[http://zls.mimuw.edu.pl/~mikon/ftp/EMLKit/README.html]

EMMIX
A Fortran 77 program for the fitting of normal or t-component mixture models to multivariate data using maximum likelihood via the EM algorithm. In this approach an initial estimate is made of the vector of unknown parameters or, equivalently, an initial classification of the data with respect to the components of the mixture model under fit. EMMIX automatically performs this fitting and, if needed, provides a suitable set of initial values. A source code distribution is available. See McLachlan and Basford (1988) and McLachlan and Krishnan (1997).

[http://www.maths.uq.edu.au/~gjm/emmix/emmix.html]

Emonitor
A notification, action-based system for monitoring networks, systems and applications. This consists of several tools including:
  • emsrvmsg, a server message program that runs in a monitoring machine and collects messages from agents;
  • emsrvcmd, a server command program that runs on a monitored machine and listens for commands to be performed;
  • emtlog, a transaction logger that synchronizes the spool file and deletes specified messages;
  • emconsole, a console with which messages can be acknowledged and sorted, emails sent and checked, etc.;
  • emputcmd, a put command program used for sending actions to a specified client machine; and
  • emputmsg, a put message program that allows any script to send server messages.

The features of Emonitor include:

  • an unlimited number of agents;
  • proactive management, i.e. actions and tasks performed automatically;
  • cluster support;
  • support for heterogeneous networks;
  • multiple console monitors running simultaneously;
  • message history;
  • multiple acknowledgement of messages and levels of warning;
  • low load rate on monitored and console machines;
  • configuration via files or shell variables;
  • use of TCP/IP for messaging;
  • buffering security to prevent network failures;
  • user profiles; and
  • user access security.

The available monitors include:

  • emdskagt, a disk agent supporting file configuration, warning levels, autoconfiguration, etc.;
  • emprcagt, a process agent supporting keep alive, CPU time level, I/O level, orphan detection, etc.;
  • emkrnagt, a kernel agent that filters and processes all kernel logs;
  • emsrvagt, a service agent that checks specified network services; and
  • emnetagt, a network agent that ensures network connectivity.

A source code distribution is available under the GPL. This requires Tcl/Tk 8.0 or greater and Tix.

[http://www.gsyc.inf.uc3m.es/~assman/em/]

EMT
The Environment Maintenance Tool (EMT) was developed as a control mechanism for software development at Carnegie Mellon. It allows developers to create and maintain their own development areas. Using Depot, EMT also ensures that as developers release their software for general use that all naming conflicts with other sofware collections must be resolved.

Many of the operations that EMT allows developers to perform would normally be limited to system administrators. In order to avoid this, EMT checks the users authentication and then communicates with an ADM server to perform the requested operations on behalf of the user. In this way, developers are allowed access to a limited subset of the system administrator's privileges and so system administrators are freed from almost all of the chores involved in supporting software development.

[http://andrew2.andrew.cmu.edu/emt/emt.html]

EMTOOL
A program for interactive image processing primarily intended for those engaged in transmission electron microscopy. EMTOOL allows for the highly interactive manipulation of such parameters as brightness and scale as well as various manipulations such as translating, rotating, filtering, and converting image formats. It is designed for generic 2-D image processing and for preprocessing images for 3-D analysis, although it is not a 3-D reconstruction package. The features include online help, multiple open image windows, automatic byte order correction, reading and writing several image formats, and more. There are tools for the interactive boxing of particles from micrographs or micrograph fragments and for manipulating the box database so the same particles can be easily boxed from a focal pair.

The tools menu in EMTOOL encompass such functionality as:

  • trimming the edges of a histogram,
  • averaging two or more images together,
  • generating a mean power spectrum from a set of particle images using an FFT,
  • applying high or low pass filters to images,
  • normalizing images by setting the mean grey value to zero,
  • edge normalizing images,
  • subtracting two data sets,
  • flipping images vertically,
  • flood filling the edge of an image to change the mask color,
  • masking the center of an image,
  • padding an image for an FFT,
  • taking an FFT of an image (and the inverse operation),
  • taking the discrete wavelet transform of an image (and the inverse), and
  • wavelet filtering of images.
An experiment CTF menu includes tools for: rotating or translating an image by an arbitrary amount, calculating a cross correlation function between an image and the same image rotated 180 degrees, calculating the cross correlation of two different images, determining the rotational misalignment between two data sets via a rotational correlation function, and rotationally align two or more data sets.

Binary versions of EMTOOL are available for SGI IRIX and Linux Intel platforms. Documentation is available in HTML format.

[http://ncmi.bioch.bcm.tmc.edu/~stevel/emtool/]

Emu
A collection of software tools for the creation, manipulation and analysis of speech databases. The core of the package is a database search engine for finding speech segments based on the sequential and hierarchical structure of the utterances in which they occur. A set of graphical tools are also provided for constructing and using speech databases:
  • Labeller, which supports the display of speech data and allows annotation with segmental and event labels at any level of detail, and with hierarchical descriptions of the utterance as a whole;
  • Query Tool, a tool for constructing utterance lists (i.e. database subsets) to be used in searches, for saving segment lists in text files, and for viewing individual utterances or segments; and
  • Utterance List Editor, for creating, saving and reloading lists of utterances that define subsets of the database.
The Emu system can be modified and extended via writing scripts in Tcl, with several extensions for creating and manipulating the central Emu data structures already implemented. The source code for the package is available as is an extensive manual.

[http://www.shlrc.mq.edu.au/emu/]

Emu/fdtd
An electromagnetics simulator that uses the finite difference time domain (FDTD) method to solve Maxwell's equations in the time domain. It features an X/Motif GUI, a wide frequency range, 100 user defined electromagnetic materials, the capability of modeling any arbitrary 3-D layout of materials modeled in a simple cartesian mesh, sinusoidal and gaussian stimuli, absorbing boundary conditions and perfect electrical conductors, and much more.

A binary of Emu/fdtd is availablel for Linux/Intel platforms. Its use on one or more such platforms requires the installation of PVM and XPVM. A user guide is available in both PostScript and HTML formats.

[http://www.brunel.ac.uk:8080/depts/fdtd/]

emulators
An emulator is a program that runs on one type of hardware/operating system combination and emulates another type in software. Programs that emulate various computer or CPUs include:
  • Acorn Atom Emulator, for the Acorn Atom computer;
  • ALEC64, for the Commodore C64;
  • Apple II+ Emulator, for the Apple II+ computer;
  • arcem, for the Acorn Archimedes computer;
  • BSVC, for the Motorola 68000 processor;
  • DOSEMU, for the DOS operating system;
  • EM86, a Linux Intel emulator for Linux Alpha;
  • Euphoric, for the ORIC computer;
  • executor, for the Mac operating system;
  • fMSX, for MSX* computers;
  • Frodo, a C64 emulator;
  • M2000, for the P2000 computer;
  • Pfau Zeh, for the Commodore VIC-20;
  • PSIM, a PowerPC instruction set emulator;
  • QLAY, for the Sinclair QL computer;
  • SimCoupe, for the SAM Coupe computer;
  • SIMH, for PDP-8, PDP-11, PDP-1, Nova, and IBM 1401 computers;
  • tkisem, for the SPARC instruction set;
  • UAE, for the Commodore Amiga;
  • VICE, for 8-bit Commodore machines;
  • Vision-8, for the CHIP-8 system;
  • vMac, for the Motorola 68000-based Mac Plus;
  • VPCE, for the NEC PC-Engine console;
  • WINE, for MS Windows;
  • Xbeeb, for the Acorn BBC computer;
  • xcopilot, an emulator for the PalmPilot;
  • XGS, for the Apple IIGS;
  • Z80Em, for the Z80 microprocessor; and
  • XZX, for the Sinclair ZX Spectrum computer.

Programs that emulate various computer gaming systems include:

  • ADAMEm, emulates the Coleco ADAM and ColecoVision systems;
  • Atari800, for the Atari 800, 800XL, 130XE, and 5200 game machines;
  • ColEm, for the ColecoVision game system;
  • Handy, for the Atari Lynx game machine;
  • iNES, for the Nintendo Entertainment System (NES);
  • MAME, for arcade gaming machines;
  • MasterGear, for the SEGA MasterSystem and GameGear;
  • MESS, which can emulate several game systems;
  • NESstra, an NES emulator;
  • Replay+, for Arcade games;
  • Snes9X, for the Super Nintendo Entertainment System (SNES);
  • SNES9EXPRESS, a graphical front-end for Snes9X;
  • Stella, for the Atari 2600;
  • STonX, for the Atari ST;
  • System16 for the Sega System16 arcade machines;
  • TrueReality, a Nintendo 64 emulator;
  • VGB, for the Nintendo GameBoy video game;
  • Virtual 2600, for Atari 2600 game machines;
  • XNes, for the Nintendo Entertainment System (NES).

[http://www.uruk.org/~erich/emu/main.html]
[http://www.comlab.ox.ac.uk/archive/other/museums/computing.html]
[http://www.cs.man.ac.uk/CCS/]

emu10k1
A Linux device driver for the Soundblaster Live soundcard.

[http://www.opensource.creative.com/]

EMULib
A set of C library modules for use in writing computer emulators. Some emulate various computers chips, while others are used to play sound, handle data files, and work with hardware. The components of EMULib include:
  • SN76489, emulates the TI SN76489 sound chip;
  • TMS9918, emulates the TI TMS9918/TMS9928 video controller;
  • GBCarts, routines for working with GameBoy ROM images;
  • NESCarts, routines for working with NES/Famicon ROM images;
  • MIDI, routines for writing MIDI files;
  • SndUnix, sound generation for UNIX;
  • SndMSDOS, sound generation for MS-DOS;
  • SndWin, sound generation for Windows;
  • LibUnix, miscellaneous useful UNIX routines;
  • LibMSDOS, useful MS-DOS routines; and
  • LibWin, useful Windows routines.

[http://www.komkon.org/fms/EMUL8/]

EMUTools
A set of utilities for working with ROM images, playing and converting soundtrack files, disassembling programs, and performing various other tasks required for constructing emulators for old computer systems. The tools include:
  • bdiff, compares two binary files and prints the differences side-by-side in hexadecimal and ASCII;
  • undouble, checks if a file contains doubled copies of the same data;
  • dasm6502, a 6502 disassembler;
  • dasmz80, a Z80 disassembler;
  • gbdasm, a GameBoy disassembler;
  • gblist, processes GameBoy ROM images;
  • neslist, processes NES ROM images;
  • fdslist, lists the contents of Famicom DiskSystem disk images;
  • psgplay, plays several kinds of sound files; and
  • snd2mid, converts from the .SND format into .MID format.

[http://www.komkon.org/fms/EMUL8/]


next up previous contents
Next: En-Ez Up: Linux Software Encyclopedia Previous: Dn-Dz   Contents
Manbreaker Crag 2001-03-08