Next: Na-Nm
Up: Linux Software Encyclopedia
Previous: Ma-Mm
  Contents
Last checked or modified: Aug. 25, 2000
[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 |
- Mnemonic
- The Multilithic Nondependent Extensible
Modular Objective Network-aware
Internet Client is an ongoing development project
to write a WWW browser with an emphasis on modularity to make
it easy to add new functionality, use different user interface
toolkits, or use the core browser to write a completely
different Internet-based client.
[http://www.mnemonic.org/]
- MNMTDB/MNMTSG
- A set of Fortran 77 routines for
testing algorithm implementations.
This is TOMS algorithm 709 and is documented
in Buckley (1992).
[http://www.acm.org/toms/V18.html]
[http://www.netlib.org/toms/index.html]
- mnoGoSearch
- An MySQL-based indexing and searching system
for small domain Internet servers. The two parts of mnoGoSearch are:
- an indexer that walks over HTML hypertext references and stores
found words and new references in a database; and
- an HTTP front-end to find data
collected by the indexer (available in both CGI
and PHP versions).
The features include:
- HTTP/1.0, proxy and FTP via proxy support;
- a choice of searching modes;
- indexing both plain text and HTML files;
- external parsers for supporting other file types;
- authorization support to index password-protected areas;
- support for stopwords;
- reentrant capability, i.e. more than one indexing or searching
process can be simultaneously performed;
- support for META keywords and descriptions;
- HTML templates to customize search results;
- Boolean query language support; and
- fuzzy search with different word forms.
A source code distribution is available.
[http://search.mnogo.ru/]
- MOATL
- The MOdal Acoustic Transmission
Loss package
is a Fortran 77 program for calculating
acoustic transmission loss in the ocean using normal modes.
MOATL obtains eigenfunctions by shooting from the top and bottom
of the domain and matching in the middle.
The finite-difference method used is based on Numerov's method, and
range-dependent problems are handled via adiabatic mode theory.
See Miller and Ingenito (1975) and
Miller and Wolf (1980).
[ftp://oalib.saic.com/pub/oalib/moatl/]
[http://oalib.saic.com/Modes/modes.html]
- Mobile IP
- A protocol designed to meet the needs of mobile computer users
who wish to connect to the Internet and maintain communications
as they move from place to place.
Mobile IP consists of three major subsystems:
- a discovery mechanism which allows computers to determine their
new IP addresses as they move from place to place;
- a mechanism to register new attachment
points via an agent
representing the mobile computer at its home network; and
- mechanisms to deliver datagrams to the mobile node at its
remote location.
See Perkins (1997).
[http://www.computer.org/internet/v2n1/mobile.htm]
- MosquitoNet Mobile IP
- An implementation of the Mobile IP specification
by the MosquitoNet project.
The includes patches for the Linux kernel, a home agent
implementation, and a mobile host implementation.
A source code distributionis available.
[http://gunpowder.Stanford.EDU/mip/]
- Mobiware
- A toolkit providing a set of open programmable interfaces and
algorithms for adaptive mobile networking, e.g. on mobile devices,
wireless access points and mobile-capable switches/routers.
Mobiware provides a set of open programmable
CORBA interfaces and objects that abstract and
represent network devices and resources to provide a toolkit for
programmable signaling, adaptation management and wireless transport
services.
In a nutshell, it consists of a set of controllers that interact
with transport, network and medium access controller distributed
objects that maintain application-specific adaptive quality of
service (QoS) needs.
The goal is to provide a foundation for open programmable mobile
networking to deal with the inherent complexity of delivering
scalable audio and video and real-time services to mobile devices.
The features of Mobiware include:
- graceful flow scaling during QoS-controlled handoffs;
- flow bundling to speed up handoff and minimize the signaling
overhead associated with maintaining network state;
- mobile soft-state that allows mobile devices to respond to changes
in wireless and mobile QoS;
- an active, object-based wireless transport protocol that binds
active and static transport objects at mobile devices and access points
to provide end-to-end adaptation services;
- adaptive FEC filters that protect content against physical radio
link impairments;
- active media filters that perform temporal and spatial scaling
for multi-resolution video and audio flows; and
- a Java-based management tool for wireless
networks.
[http://comet.columbia.edu/mobiware/]
- MOCHA
- An interactive software for system specification and verification, i.e.
that implements formal methods.
The goal of MOCHA is to exploit, rather than destroy, design structure
in automatic verification.
The capabilities include:
- system specification in the language of reactive modules, which
allow the formal specification of heterogeneous systems with synchronous,
asynchronous and real-time components;
- system execution by randomized, user-guide or mixed-mode trace
generation;
- requirement specification via Alternating Temporal Logic (ATL), which
allows the formal specification of requirements that refer to collaborative
as well as adversarial relationships between modules;
- requirement verification by ATL model checking, with a checker based
on BDD engines; and
- implementation verification by checking trace containment between
implementation and specification modules.
MOCHA is intended to be a vehicle for the development of new verification
algorithms and approaches, and follows a software architecture
similar to VIS.
A source code distribution is available.
This is written in C and uses both
Tcl/Tk and Tix.
Documentation includes a user's manual and several technical reports.
[http://www-cad.eecs.berkeley.edu/~mocha/]
- Mocha
- A Java bytecode decompiler which
generates readable source code from bytecode.
[http://www.brouhaha.com/~eric/computers/mocha.html]
- MOC
- A 2-D groundwater flow and transport model which uses the method
of characteristics.
MOC simulates solute transport in flowing ground water
and is applicable to 1- or 2-D problems involving steady state
or transient flow.
It computes changes in concentration over time caused by the
processes of advective transport, hydrodynamic dispersion, mixing or
dilution from fluid sources, and certain types of chemical reactions
(i.e. first-order irreversible-rate reactions or equilibrium controlled
sorption-desorption and ion exchange reactions).
Gradients of fluid density, viscosity, and temperature are assumed to
not affect the velocity distribution, although the aquifer may be
heterogeneous and anisotropic.
The MOC model solves the coupled ground water flow and solute
transport equations using an iterative alternating-direction
implicit procedure to solve the flow equation
and the method of characteristics to solve the solute transport
equation. Two alternative solvers are also available for the
flow equation. The transport solver incorporates a particle tracking
procedure to represent advective transport and a two-step explicit
finite-difference procedure to solve equations describing the effects
of hydrodynamic dispersion and fluid sources.
A source code distribution of MOC for UNIX platforms is
available.
The primary documentation is contained within
Konikow and Bredehoeft (1978),
Goode and Konikow (1989) and Konikow et al. (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/moc.html]
[http://www.geogr.uni-jena.de/software/moc.html]
- MOCDENSE
- A two-constituent transport model for groundwater having variable
density which has been used in studies of saltwater intrusion
and dense contaminant plumes.
MOCDENSE simulates solute transport in flowing groundwater
and is applicable to 2-D, cross-sectional problems involving groundwater
with constant or variable density.
It computes changes in concentration due to advective transport,
hydrodynamic dispersion, and mixing or dilution from fluid sources.
The concentrations of two independent solutes can be simultaneously
modeled. Temperature is assumed constant and fluid density and
viscosity linear functions of the first specified solute.
A second solute is assumed to be of a trace amount such that it
doesn't affect the fluid density or viscosity.
See the entry on MOC for details about
the numerics.
A source code distribution of MOCDENSE for UNIX platforms is
available.
The primary documentation is contained within
Konikow and Bredehoeft (1978) and Sanford and Konikow (1985).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/mocdense.html]
[http://www.geogr.uni-jena.de/software/mocdense.html]
- MOC3D
- A 3-D groundwater flow and transport model that uses the method
of characteristics.
MOD3D, similarly to MOC, simulates 3-D
solute transport in flowing ground water. It computes changes in the
concentration of a single dissolved chemical constituent over time
as caused by advective transport, hydrodynamic dispersion, mixing
or dilution from fluid sources, and simple chemical reactions.
MOD3D is integrated with MODFLOW, which
supplies the 3-D ground water flow model. MOD3D uses the method
of characteristics to solve the transport equation based on the
hydraulic gradients supplies by MODFLOW for a given time step.
Particle tracking is used to represent advective transport and
explicit finite-difference methods are used to calculate the
effects of other processes.
A source code distribution of MOC3D for UNIX platforms is
available.
The primary documentation is contained within the techical report
Konikow et al. (1996).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/moc3d.html]
[http://www.geogr.uni-jena.de/software/moc3d.html]
- MOCKA
- The MOdula Compiler KArlsruhe is a Modula-2
system for which a free binary Linux version is available.
More about which later.
[http://i44www.info.uni-karlsruhe.de/~modula]
- Mockmma
- A Common Lisp
implementation of a small and efficient
computer algebra system. The intention was to be as fast
as possible without making major concessions to usefulness.
For similar problems Mockmma is said to be faster than
Macsyma, Reduce, Maple or Mathematica. This has a
rudimentary interface and not nearly as many features
as the other systems mentioned but that was not the
intention of the designer. This was designed using
Allegro CL but apparently can be used with other CL implementations
without too much pain.
[http://www.cs.berkeley.edu/~fateman/mma1.6/]
- MODBRNCH
- A coupled flow model of surface and ground water interactions that
combines the MODFLOW and
BRANCH models.
It simulates channel-aquifer flows, i.e. leakage through a confining
layer or riverbed which couples the ground and surface water
systems.
A source code distribution of MODBRNCH for UNIX platforms is
available.
The primary documentation is contained within the techical report
Swain and Wexler (1996).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modbrnch.html]
[http://www.geogr.uni-jena.de/software/modbrnch.html]
- MODCHL
- A Fortran 77 package implementing a modified
Cholesky factorization method.
This is TOMS algorithm 695 and is documented
in Eskow and Schnabel (1991).
[http://www.acm.org/toms/V17.html]
[http://www.netlib.org/toms/index.html]
- MODCHOL
- A block version of the Eskow-Schnabel Modified Cholesky
Decomposition written in Fortran.
This uses the BLAS library.
[ftp://ftp.enseeiht.fr/pub/numerique/MODCHOL/]
- MODEIN
- A program that computes the total sediment discharge at a cross-sectoin
of an alluvial stream (with primarily a sand bed) from measured
hydraulic variables, the concentration and particle-size
distribution of the measured suspended sediment, and the
particle-size distribution of the bed material.
The computation is made by extrapolating the measured
suspended-sediment discharge to represent the total
suspended-sediment discharge and the addition of a computed
bedload discharge.
It is intended for use only where all bed material is finer than
about 16 millimeters, and can be used only if a significant part
of the measured suspended sediment is composed of particles of
the same size as particles in the bed material.
A source code distribution of MODEIN for UNIX platforms is
available.
The primary documentation is contained within
Stevens (1985).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modein.html]
[http://www.geogr.uni-jena.de/software/-modein.html]
- MODELLER
- A program for protein structure modeling that models 3-D protein
structure by satisfaction of spatial restraints.
It is most frequently used for homology or comparative protein
structure modeling where the user provides an alignment of a
sequence to be modeled with known related structures, at which point
Modeller calculates an all-atom model.
Most generally, program inputs are restraints on the spatial structure
of the amino acid sequences and ligands to be modeled.
Restraints can be derived from homologous structures, NMR experiments,
rules of secondary structure packing, cross-linking experiments,
fluorescence spectroscopy, image reconstruction in electron microscopy,
site-directed mutagenesis, intuition, residue-residue and atom-atom
potentials of mean force, and more.
The restraints can operate on distances, angles, dihedral angles, and pairs
of dihedral angles defined by atoms or pseudo-atoms.
The model is obtained via optimization of a molecular probability
density function (PDF), which is optimized with the variable target
function procedure in Cartesian space employing methods of conjugate
gradients and molecular dynamics
with simulated annealing.
Binary distributions are available for several platforms including
Linux Intel.
A manual is available in PostScript format.
[http://guitar.rockefeller.edu/modeller/modeller.html]
- modems
- Software related to using modems with Linux systems includes:
- Big Brother, for modem monitoring;
- Card Services, a PCMCIA support package
for Linux systems;
- C-Kermit, a file transfer
protocol for transmitting files over noisy
communications links;
- diald, for maintaining a seemingly permanent
connection to the Internet over SLIP or
PPP;
- FidoNet, a network for exchanging mail and
files via modem connections;
- HylaFAX, a FAX system;
- lrzsz, a modem communication package;
- Linux Phone Project, for sending
digital audio via modems;
- masqdialer, for handling dialup connections
to ISPs;
- mgetty+sendfax, programs for optimizing
the use of a modem in a UNIX environment as well as for sending and
receving FAXes;
- NetStreamer, for streaming audio over
modems;
- NOCOL, a network monitoring package that
can monitor modems;
- PPP, a protocol for
sending IP packets over serial or modem lines;
- QuickPage, for sending messages to
alphanumeric pagers via modems;
- SLIP, a protocol
for sending framed IP packets over serial lines;
- Xfax, a FAX program; and
- XMODEM, YMODEM and
ZMODEM, a series of protocols for transferring
files over asynchronous lines.
- MODERES
- The Managed Object Development Environment
by RESEDAS is a research prototype designed for supporting
the development of software based on the latest
OSI standards.
It attempts to supply an integrated set of tools for building management
applications and information mdoels.
The core package contains parsing tools and an application programming
interface for both the General Relationship Model (GRM) and the
Guidelines for the Definition of Managed Objects (GDMO).
A source code distribution of this Java package
is freely available.
[http://www.loria.fr/equipes/resedas/mode.html]
- MODFE
- A MODular Finite Element model for areal and
axisymmetric groundwater flow problems.
The capabilities and uses of MODFE include:
- transient or steady-state conditions;
- nonhomogeneous and anisotropic flow where anisotropy directions
change within the model region;
- vertical leakage from a semiconfining layer containing laterally
nonhomogeneous properties and elastic storage effects;
- point and areally distributed sources and sinks;
- specified head (Dirichlet), specified flow (Neumann), and head-dependent
(Cauchy) boundary conditions;
- vertical cross-section and axisymmetric cylindrical flow;
- confined and unconfined water table conditions;
- partial drying and resaturation of a water table aquifer;
- conversion between confined and unconfined aquifer conditions; and
- nonlinear head-dependent fluxes for simulating line, point, or
areally distributed sources and sinks.
Aquifer stresses and boundary conditions can be changed on the
basis of time step, stress period, or both.
In MODFE the
aquifer geometry, flow boundaries, and variations in hydraulic
properties are represented by triangular elements or element
sides in a finite element mesh. Time variations in hydraulic
properties are represented by 1-D elements. The finite
element matrix equations are solved by using either a direct
symmetric-Doolittle method of triangular decomposition or an
iterative method that uses the modified incomplete Cholesky
conjugate gradient method, with the former recommended for small
to medium problems and the latter for large problems.
A source code distribution of MODFE for UNIX platforms is
available.
The primary documentation is contained within
Cooley (1992), Torak (1993a), and Torak (1993b).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modfe.html]
[http://www.geogr.uni-jena.de/software/modfe.html]
- MODFLOW
- A MODular 3-D finite-difference groundwater FLOW model.
The modular structure allows it to be easily modified for particular
applications or for adding new features.
MODFLOW simulates steady and nonsteady flow in irregularly shaped
flow systems in which aquifer layers can be confined, unconfined, or
a combination thereof. It can simulate external sources and sinks
such as flow to wells, areal recharge, evapotranspiration, flow
to drains, and flow through river beds.
The hydraulic conductivities or transmissivities for any layer
can differ spatially and be anisotropic, and the storage coefficient
can be heterogeneous. Specified head and specified flux boundaries
can be simulated as can a head-dependent flux across the outer
boundary that allows water to be supplied to a boundary block in the
modeled area at a rate proportional to the current head difference
between a source and the boundary block.
The groundwater flow equation is solved using a finite-difference
approximation in which the horizontal and vertical spacings may be
irregular. Several solvers are provided to allow the user to choose
the best one for a particular application.
Mass balances are computed for each time step and as a cumulative
volume from each source and type of discharge.
The latest MODFLOW version, called MODFLOW-96, consists of several
modular subpackages including:
- BAS5, the basic package;
- BCF5, a block-centered flow package;
- RIV5, a river package;
- DRN5, a drain package;
- WEL5, a well package;
- GMB5, a general head boundary package;
- RCH5, a recharge package;
- EVT5, an evapotranspiration package;
- SIP5, a strongly implicit procedure package;
- SOR5, a slice-successive overrelaxation package;
- UTL5, a utility package;
- PCG2, a preconditioned conjugate gradient package;
- STR1, a stream package;
- IBS1, an interbed-storage package;
- CHD1, a time-variant specified-head package;
- GFD1, a generalized finite-difference flow package;
- HFB1, a horizontal flow barrier package;
- TLK1, a transient leakage package;
- DE45, a direct solver package;
- RES1, a reservoir package; and
- FHB1, a flow and head boundary package.
An earlier version of MODFLOW called MODFLOW-88 is still available
although its capabilities aren't as advanced as those in MODFLOW-96.
A source code distribution of MODFLOW for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh and McDonald (1996b), Harbaugh and McDonald (1996a), and
McDonald and Harbaugh (1988).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modflow96.html]
[http://www.geogr.uni-jena.de/software/modflow-96.html]
- MFI
- A data input program for the USGS flow model
MODFLOW and the particle
tracking program MODPATH.
Data are interactively entered via a series of display
screens, and there is an interface to a commercial spreadsheet
program for entering 2-D arrays.
A source code distribution of MFI for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/mfi.html]
[http://www.geogr.uni-jena.de/software/mfi.html]
- MODPATH
- A particle tracking postprocessor for the
MODFLOW package.
MODPATH was developed to compute 3-D flow paths using output
from steady-state or transient groundwater flow simulations by
MODFLOW. It consists of two packages: (1) MODPATH, which
calculaes particle paths; and (2) MODPATH-PLOT, which graphically
displays results.
It uses a semi-analytical particle tracking scheme that allows
an analytical expression of a particle's flow path to be obtained
within each finite-difference cell. Paths are computed by
tracking particles from one cell to the next until the
particle reaches a boundary, an internal sink/source, or satisfies
some other termination criteria.
A source code distribution of MODPATH for UNIX platforms is
available.
Use of this requires a pre-installed GKS library.
The primary documentation is contained within
Hill (1992) and Hill (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modpath.html]
[http://www.geogr.uni-jena.de/software/modpath.html]
- RADMOD
- A MODFLOW preprocessor for the simulation
of axisymmetric (cylindrical) problems which is useful for problems
involving wells.
RADMOD calculates the conductances and storage capacity more
precisely for the changing geometries and head gradients of
axisymmetric flow to a well.
The well area is conceptualized as a system of concentric shells
capable of reproducing the large variations in gradient in the
vicinity of the well by decreasing their area in the direction
of the well.
A source code distribution of RADMOD for UNIX platforms is
available.
The primary documentation is contained within
Reilly and Harbaugh (1993a) and Reilly and Harbaugh (1993b).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/radmod.html]
[http://www.geogr.uni-jena.de/software/radmod.html]
- ZONEBDGT
- A program that computes subregional water budgets using results
from the MODFLOW groundwater flow model.
Subregions are designated using zone numbers, and separate
budgets or computed for each zone, with each budget including
a component of flow between adjacent zones.
A source code distribution of ZONEBDGT for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh (1990).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/zonebdgt.html]
[http://www.geogr.uni-jena.de/software/zonebdgt.html]
- MODFLOWP
- A parameter estimation version of the MODFLOW
package which can be used to estimate input parameters via nonlinear
regression.
The parameters that can be estimated include layer transmissivity,
storage, coefficient of storage, hydraulic conductivity, specific
yield, vertical leakance, horizontal and vertical anisotropy,
hydraulic conductance, areal recharge, maximum evapotranspiration,
pumpage, and the hydraulic head at constant-head boundaries.
Data used to estimate parameters can include existing independent
estimates of a parameter values, observed hydraulic heads or temporal
changes in hydraulic heads, and observed gains and losses along
head-dependent boundaries such as streams. The model output
includes statistics for analyzing the parameter estimates which
can be used to quantify the reliability of the resulting model,
suggest changes in model construction, and to compare results of
models constructed in different ways.
The parameters are estimated by minimizing a weighted least-squares
objective function by the modified Gauss-Newton method or by a
conjugate direction method.
A source code distribution of MODFLOWP for UNIX platforms is
available.
The primary documentation is contained within
Hill (1992) and Hill (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/Modflowp.html]
[http://www.geogr.uni-jena.de/software/Modflowp.html]
- MODLER
- The Modeling by
Object-Driven
Linear Elemental
Relations optimization package
contains a language for representing
linear programming models completely separate from instances
defined by data realizations. It also includes representations
of binary variables and logical constraints which arise naturally
in large-scale planning and operation decision support.
The basin input is a model file and the basic output a matrix
file in a standard format for most optimizers and for
ANALYZE and
RANDMOD. MODLER can also
generate a syntax file for ANALYZE to enable automatic translation
of activities and constraints into English for intelligent
analysis support.
MODLER is available in binary form for DOS and Linux platforms.
The official documentation is contained within a pricey user's
guide, more about which can be found at the
IMPS Software Site.
A quick summary of the ins and outs of optimization can be found at the
NEOS Guide Optimization Tree.
[http://www.cudenver.edu/~hgreenbe/imps/modler.html]
- Modula-2
- A successor to Pascal which provides
fundamental programming concepts essential to the initial
teaching of programming as a logical and systematic discipline.
It was designed by Niklaus Wirth about ten years after Pascal
to make up for the latter's shortcomings.
Modula-2 provides for the construction of large programs in
modular (whence the name) form and also provides a basic capacity
for systems programming at the level required for embedded control
systems and similar applications.
It is a general purpose, strongly typed, high level language providing
a number of low level features and supporting coroutines.
Perhaps its most distinct feature is the way it allows programmers
to break programs into a number of logically distinct and separately
compiled modules. The low level features allow programmers to
determine the current address of a variable, perform address
arithmetic, determine storage requirements, reinterpret the bit
pattern representing a cardinal number as a boolean value, and
many other useful things.
See Modula-3 for now.
Modula-2 implementations include:
Modula-2 texts include
Christian (1986),
Eisenbach and Sadler (1989) and
Ogilvie (1985).
- Modula-2*
- A programming environment related to the Modula family of
languages with support of explicitly parallel high-level
constructs on a variety of parallel and sequential machines.
It is also a complete sequential Modula-2 programming
environment featuring:
- an optimizing compiler which translates
Modula-2 source programs to portable C;
- transparent interfacing
and full integration of foreign modules written in C;
- a sophisticated cross-architecture make facility which
generates standard UNIX
makefiles that trigger the separate
compilation of Modula-2 and generated or foreign C modules;
- X Window and Emacs development support; and
- a selection of basic libraries (e.g. msFIO, msIO, msMath, msTimer).
The Modula-2* features which support high-level and machine-independent
parallel programming include:
- an arbitrary number of processes that can
operate on data in the same single address space;
- synchronous and asynchronous parallel computations that can be formulated
in a machine-independent way as well as arbitrary nestings thereof;
- procedures that may be called in any context, sequential or parallel,
and at any nesting depth; andxi
- the availability of all abstraction mechanisms of
Modula-2 for parallel programs.
This is all done
with only two new language constructs: allocators, machine-independent
layout hints for the compiler without any semantic meaning, may be used
to specify the distribution of array data; and the FORALL statement
is introduced to support explicitly parallel computations.
The Modula-2* system is available in binary format for
BSDI Intel, KSR-1 and 2, Linux Intel, MasPAR, DEC Ultrix, and
Sun SunOS and Solaris platforms. Documentation can be found
in a user's manual and several technical reports contained
within the distribution. The original site (i.e. the given URL)
seems to no longer have the software distribution, but it can be
found at the
IPCA Modula-2* Archive.
See Sedgewick (1993).
[http://wwwipd.ira.uka.de/Tichy/m2star.html]
- Modula-3
- A modern, modular, object-oriented language which features
garbage collection, exception handling, run-time typing,
generics, and support for multithreaded application.
It is a member of the Pascal family of languages, designed in
the late 1980s at DEC and Olivetti to correct many of the deficiencies
of Pascal and Modula-2 for practical software engineering.
For example, it keeps the simplicity of type safety of the earlier
languages while providing new facilities for exception handling,
concurrency, object-oriented
programming, and automatic garbage collection. Modula-3 is both
a practical implementation language for large software projects
and an excellent teaching language.
The latest Modula-3 distribution also contains an implemetation
of Obliq, a language that supports distributed
object oriented computation.
The SRC Modula-3 distributions contains several packages including:
- mtex, a function used to produce both troff
and HTML pages from the same source;
- m3core, a runtime library which is part of the basic system;
- libm3, a library needed by most other libraries;
- m3middle, the compiler's IL definition;
- m3linker, the prelinker;
- m3objfile, the object file writers;
- m3front, the compiler front-end;
- m3, the main program, i.e. the compiler;
- coverage, a line-based coverage analyzer/profiler;
- pp, a pretty-printer;
- m3totex, a program to wrap source code in enough
TeX to make it printable;
- parseparams, a library to parse command line arguments;
- slisp, a library containing a small Lisp interpreter;
- tcp, a library implementing an interface to TCP sockets;
- netobj, a network objects runtime library needed by most
distributed applications;
- netobjd, a network objects daemon;
- m3tk, an abstract syntax tree (AST) toolkit;
- stubgen, the network objects stub generator;
- X11R4, an interface to the X library;
- ui, the Trestle window system toolkit used by most graphical
applications;
- m3browser, an HTTP server;
- tcl, a thin veneer on the Tcl library;
- vbtkit, a large collection of useful window widgets;
- images, a library to support displaying bitmap images;
- obliq, the Obliq interpreter;
- obliqrt, the Obliq runtime library;
- zeus, an algorithm animation toolkit; and
- postcard, an integrated mail and news reader.
The DEC Systems Research Center version of Modula-3 features
a native-code compiler, a debugger, a rich set of libraries,
a GUI interface builder for distributed applications, and
more. An online copy of a
Linux Journal article entitled
Introducing Modula-3
(by Geoff Wyant) is available for a
more complete description. A
Linux Modula-3 ELF binary
is also available.
See Nelson (1991),
Harbison (1992a) and
Harbison (1992b).
[http://www.research.digital.com/SRC/modula-3/html/home.html]
- MODULEF
- A modular finite element library
consisting of nearly 3000 routines written in
Fortran 77 for maximal software portability.
MODULEF uses a top-down design method in which mathematical
formulations of solution procedures are split into successive
operators, allowing ease of both use and incorporation of new
computational modules.
It consists of four layers situated on top of the Fortran source code,
each dependent upon the lower levels for functionality.
These layers are:
- a black box level that hides most details and which is used to
treat specific problems, e.g. TOUTXX, which actives the processors
on the next lowest level via a menu;
- a processor level in which the functionality of various processors
is chained, usually in a two-step process in which the data is first
interactively generated and then the computation performed;
- a module level in which the processors are simply successions
of calls to various modules, allowing great flexibility in modifying
or creating new methods and modules; and
- an algorithms and utilities level wherein programs with similar
functionality usually have the same list of arguments and in which
data structure management and algorithms are distinct in each module.
Progressively more complex solution procedures can be built by
moving up these levels, with a possible final product being a black
box customized for solving problems in very specific areas.
The features and functionality of MODULEF include:
- automatic generation and modification of 2- and 3-D meshes;
- specification of material characteristics and external forces
by subdomain or boundary section;
- choice of finite element method type, e.g. conforming, non-conforming,
hybrid or mixed;
- over 35 elements for thermal analysis including 2-D, 3-D and
axisymmetric elements;
- over 60 elements for elasticity for isotropic and anisotropic
materials including 2-D plane stress or strain elements, 3-D
elements, axisymmetric elements, plate and shell elements, and
elements for hyper-elastic compressible and incompressible
materials in nonlinear elasticity;
- 4 elements for magnetic materials;
- 2 elements for piezoelectric materials;
- a choice of direct methods for solving linear systems including
Cholesky, Crout or Gauss factorization;
- several iterative methods of solving symmetric and non-symmetric
linear systems including conjugate gradient methods with or without
preconditioning or relaxation;
- solution methods for eigenproblems including inverse iteration,
subspace iteration, and Lanczos and QR methods;
- solution of time-dependent thermal and dynamic problems by
classical multi-step, Gear multistep predictor-corrector and 3rd-order
implicit Runga-Kutta methods;
- handling of nonlinear elasticity including solving unilateral
contact problems with or without friction via iterative methods,
calculating stresses in 2- or 3-D elastoplasticity and the visualization
of plastic zones, and the calculation of large deformations of compressible
or incompressible hyperelastic solids;
- solving variational inequalities subject to bounded constraints by
relaxation and complementarity;
- solving the Direchlet problem for a biharmonic operator;
- calculating velocities and pressures of viscous, incompressible
flow via the Navier-Stokes equations;
- computing the homogenized coefficients of composite structures;
- stress calculations and statistical interpretation of results; and
- several modules for interactively and otherwise viewing results.
A source code distribution of MODULEF is freely available.
It is written in portable Fortran 77 and
has been compiled with egcs/g77.
The manual is available both online and for download in
HTML format.
[http://www-rocq.inria.fr/modulef/]
- module/mod/mods/MOD
- See sound modules
- Modules
- A system for configuring and maintaining the shell and environment
variables needed to use various software packages. Modules insulates
the user from the gory details of the installation of packages.
It frees the user from having to know the details about the various
pathnames and variables that supply information on the whereabouts
of software packages.
The Modules package is basically a database and a set of scripts
that simplify shell initialization and allows users to easily
modify their environment during a session.
A source code distribution of Modules is available.
It is written in Tcl and requires
at least version 6.3 of that package.
An interactive interface to Modules called user-setup
is also available.
[http://www.modules.org/]
- modules
- A set of utilities for dealing with Loadable Kernel Modules (LKM),
a way of dynamically adding and subtracting functionality to the
Linux kernel.
The modules utilities include:
- insmod, which installs an LKM;
- rmmod, which unloads an LKM;
- ksyms, which displays exported kernel symbols;
- lsmod, which lists loaded modules;
- genksyms, which generates symbol version information;
- modprobe, which is used to load a set of modules (either
a single one or a stack of dependent modules) or all modules that
are marked with a specified tag; and
- depmod, which creates a makefile-like dependency file
based on the symbols it finds in a set of modules.
A source code distribution of the modules package is available.
[http://sunsite.unc.edu/pub/Linux/kernel/]
- Moira
- The Project Athena Service Management System (SMS).
Moira manages the configuration of all of the Athena network
services and consists of a large relational database and frontend
software to control access to the information and automatically
update system servers from that information.
It depends on the Kerberos authentication
system and will make use of both the
Hesiod name server and the
Zephyr notification services if they are
present.
Moira consists of a number of client programs including:
- moira, a general program which administers all of the information
stored in Moira which can also be invoked by the commands
- listmaint, usermaint, and dcmmaint;
- blanche, a quick program for checks of a mailing list or for
making membership changes to a list;
- chfn, which is used to set how your full name looks to other
users as well as to to set your address and phone number as seen by finger;
- chpobox, which is used to change the address to which your
email is sent;
- mailmaint, which maintains mailing lists for a user;
- mainmaint, which is used to add or delete a username from public
mailing lists;
- mrcheck, which queries the database to determine which services
and hosts have failed updates;
- mrtest, which allows the manual operation of all operations allowed
in the Moira protocol; and
- setquota, which sets the disk usage quota for a given user and
partition.
The source code for Moira is available. It is written in C and
can be installed on most UNIX systems using either the supplied
Makefile or Imakefile files.
The system is extensively documented in a series of manuals
available in PostScript format as
well as in a set of man pages.
[ftp://athena-dist.mit.edu/pub/ATHENA/]
- MOISS
- An N-particle, N-dimensional diffusion Monte Carlo (DMC) Schrodinger
equation integrator.
MOISS has a modular design which makes it easy to implement new potentials
and theory levels.
The features include:
- a CVS server;
- primitive graphics support;
- educative potentials (e.g. the hydrogen atom, a multidimensional
harmonic oscillator, various potential wells, tunneling boxes, etc.);
- importance sampling;
- the Metropolis acception-rejection method;
- a GUI front-end called gMOISS; and
- configurable statistics acquisition and analysis.
A source code distribution is available.
[http://moiss.pquim.unam.mx/moiss/]
- Moldy
- A general purpose molecular dynamics
simulation program which is
sufficiently flexible to be used for a wide range of simulation
calculations of atomic, ionic and molecular systems.
It uses the link cell method to calculate short-range forces
and the Ewald sum technique to handle long-range electrostatic
forces. Simulations may be performed either in the usual NVE
ensemble or in NVT, N
H, or N
T ensembles
using Nosé-HOover thermostat and Parrinello and Rahman
constant-stress methods.
The system being modeled may contain a mixture of an arbitrary
number of molecular species, each with an arbitrary number
of atoms and an arbitrary number of molecules of each.
Molecules or ions may be monatomic or polyatomic, linear or
3-D in any combination. The potential functions may be of the
Lennard-Jones, Buckingham (including Born-Mayer) or MCY types,
and other potential types maybe easily added.
The Moldy package contains several utility programs including:
- Moldyext processes the periodic output produced by
Moldy and extracts various quantities which can be input into
plotting programs;
- Dumpanal examines the dump files given as arguments and prints
out the header information;
- Dumpconv is a tool for moving binary dump files between
computers of different architectures;
- Dumpext is a program which takes care of the bookkeeping,
performs data security checks, and divides output data into
manageable portions; and
- Mdshak writes an output file in XYZ form which can be
further transformed to several other popular formats using
the Babel package.
The Moldy distribution consists of the ANSI C source code for
Moldy and the utility programs, the user's manual in
LaTeX source code, and example control
and system specification files.
On UNIX systems both single processor and parallel versions can
be compiled. Interfaces are provided for the
MPI, TCGMSG, and
BSP message passing libraries.
[ftp://ftp.earth.ox.ac.uk/pub/]
[http://chin.icm.ac.cn/software/moldy.html]
- molecular dynamics
- Related packages include:
- APACHE, a parallel programming project with a
molecular dynamics simulation component;
- CCP5, a library of programs related to molecular
dynamics, Monte Carlo algorithms, and lattice statics and dynamics;
- DPMTA, a library for implementing
multipole pole algorithms to compute N-body interactions for many kinds
of systems including those of molecular dynamics;
- EGO, for performing molecular dynamics calculations
on parallel and sequential computers;
- gOpenMol, for displaying the results of
molecular dynamics calculations;
- MMTK, a library for molecular modeling applications;
- MODELLER, a program for protein structure
modeling that uses molecular dynamics methods;
- Moldy, a general purpose molecular dynamics
simulation program;
- NAMD, a parallel, object-oriented molecular
dynamics program for simulating large biomolecular systems;
- NWChem, a computational chemistry package with
a molecular dynamics module;
- PMD, for simulating the molecular dynamics of
biological macromolecules;
- SOLVATE, for constructing atomic solvent environment
models for solutes used in molecular dynamics simulations;
- VMD, for the visualization and analysis of
biological systems; and
- XMD, a molecular dynamics simulation program designed
mainly for metals and ceramics.
- MOL1D
- See PDELIB.
- MOLPHY
- A package of programs for MOLecular PHYylogetics.
The main programs (written in C) in MOLPHY are:
- PROTML, for maximum likelihood inference of protein phylogeny;
- NUCML, for maximum likelihood inference of nucleic acid
phylogeny;
- PROTST, for basic statistics of protein sequences;
- NUCST, for basic statistics of nucleic acid sequences; and
- NJDIST, for neighbor joining phylogeny from a distance matrix.
Several utility programs written in Perl are
also contained in the package including:
- mollist, to get an identifiers list;
- molcat, to concatenate sequences;
- molmerge, to merge sequences;
- rminsdel, to remove INS/DEL sites;
- molinfo, to get (non)information sites;
- molrev, to reverse DNA sequences;
to get partial sequences; and
- several utilities to transform data from one form to another.
A source code distribution is available as is a binary package
for Linux Intel platforms.
[ftp://ftp.bmc.uu.se/pub/linnaeus/software/molphy/]
- MolScript
- A program for creating schematic or detailed molecular graphics
images from 3-D molecular coordinates, usually protein structures.
The features of MolScript include:
- an interactive OpenGL graphics output mode
which uses the GLUT library;
- a VRML 2.0 output model;
- graphical output in JPEG, PNG,
PostScript, and RGB formats;
- interoperability with the Raster3D package;
- a stand-alone MolAuto program which creates a quick first-cut
MolScript input file from a coordinate file; and
- an external graphics objects interface.
A source code distribution of MolScript is freely available for
non-commercial uses via filling out an online application form.
It is written in C and can be compiled on generic UNIX platforms
with the requisite software already installed, e.g. some form
of OpenGL, GLUT, JPEG and PNG libraries, etc.
It is documented in an extensive manual available in both
PostScript and HTML formats.
See also Kraulis (1991).
[http://www.avatar.se/molscript/]
- MOM
- The GFDL Modular Ocean Model is a 3-D
primitive equation general ocean circulation model intended
to be a flexible tool for exploring ocean and coupled air-sea
applications over a wide range of space and time scales.
The original MOM was recently (late 1996) replaced by a new
and improved formulation called MOM 2.
The features of MOM 2 include:
- a NetCDF interface for all diagnostic
output files;
- an improved isopycnal mixing formulation based on a functional
- approach employing a new approximation to neutral directions;
- a fourth-order advection scheme for tracers;
- a flux corrected transport (FCT) scheme for horizontal advection;
- an option for coarse-grained parallelism;
- a new pressure gradient averaging technique;
- a general grid rotation capability;
- the addition of open boundaries; and
- a modified discretization of vertical mixing to yield more
accurate and stable solutions.
The source code for MOM is available. It is written in
Fortran 77 and can be compiled with
several compilers, including (with a bit of work) g77.
A very extensive user's manual is available in
PostScript format.
[http://www.gfdl.gov/MOM/MOM.html]
- MOMspider
- The Multi-Owner Maintenance spider
is a web-roaming robot that specializes in the maintenance of
distributed hypertext information structures.
It gets its instructions by reading a text file containing a list
of options and tasks to be performed, with each task intended
to describe a specific information structure so that it can be
encompassed by the traversal process.
For each task, the MOMspider traverses the web, in breadth-first
order, from the specified top document down to each leaf node.
The maintenance information produced by each task is formatted
as an HTML index and output to a file specified in the instructions.
A source code distribution of MOMspider is available.
It is written in Perl 4.
[http://www.ics.uci.edu/pub/websoft/MOMspider/]
- MON
- A general purpose resource monitoring system which can be used to
monitor network service availability, server problems, environmental
conditions, and any number of other things.
MON was designed to separate the task of resource monitoring into
two separate tasks: the testing of a condition and triggering some
action upon failure.
As such the mon program is implemented as a scheduler which both
executes the monitors and calls the appropriate alerts if a monitor
fails.
The monitors and alerts are not an intrinsic part of MON although
the distribution does come with a selection of them.
Features of MON include:
- failure handling such that the failure of any monitor can trigger
any (and multiple) alerts to different people at different times;
- parallelization of the checking of services on different hosts or
groups of hosts;
- the capability to supress repetitive alerts;
- a flexible and extensible configuration file in which hosts can be
grouped together and each host or group can have multiple services;
- a client/server model with interactive command-line, WWW-based,
and SkyTel2-Way alphanumerica pager-based clients that query the
server for status and history;
- run-time alert disabling in which alerts for particular hosts, groups,
or services can be temporarily disable and re-enabled by the client
with stopping and restarting the server;
- a history list of both failures that were detected and clients that were
triggered; and
- portability via being written in Perl 5.
Monitor scripts are included for ICMP echo (ping), SMTP, Telnet,
FTP, NNTP, HTTP, POP-3, IMAP, TCP-based services, disk space, and
uptime via SMTP.
A source code distribution of MON is available. It is written in
Perl 5 and thus portable to any machine on which that is already
installed.
It is documented in a series of man pages.
[http://ftp.kernel.org/software/mon/]
[http://consult.ml.org/~trockij/mon/]
- MONA
- A logic-based programming language and a tool that translates programs
(i.e. formulas) into finite-state machines (FSMs).
The formulas can expression search patterns, temporal properties of
reactive systems, parse tree constraints, etc.
The MONA program analyzes the automaton resulting from the compilation, i.e.
whether it prints out that the program is valid or a counter-example
to the statement of the program.
It implements decision procedures for the weak second-order theory of one
or two successors.
Source and binary distributions of MONA are available, with one of the
latter being for Linux Intel programs.
A user's manual and several technical papers are available, each in
PostScript format.
[http://www.brics.dk/mona/]
- Montage
- A package which allows the reconstruction of serial data
in 3 dimensions.
Montage consists of a set of commands that allow data to be
entered (digitized from a bitpad), analyzed, and displayed in 3-D.
Montage can handle multiple data types including
trace (open or closed polygonal contours), base (reference point),
flag (displayed as a circle, triangle, or rectangle), line, and
grain.
Data can be multiply specified including as cells, branches, or
colors.
Multiple output formats are available including SVGA,
X Window, PostScript, and HP.
A source code distribution is available which has
been developed on a Linux Intel platform.
[http://retina.anatomy.upenn.edu/montage.html]
- moodss
- The Modular Object Oriented Dynamic
SpreadSheet is a modular
spreadsheet application wherein
one or more independent modules are loaded when it is started.
The data is first displayed in tables from which graphical
views (e.g. graphs, bars, pie charts), summary tables, and free
text viewers are created.
An intuitive drag and drop interface is used for most view
editing tasks such as creation, modification, type mutation,
destruction, row sorting, etc.
A source code distribution of moodss is available.
It is written in and requires Tcl/Tk 8.0 or 8.1
as well as the tkTable widget and
the BLT library.
Documentation is available mainly via interative help.
[http://jfontain.free.fr/]
- Moonshine
- An application development tool for Linux that supports nearly
any language via a plug-in module.
Moonshine modules include a graphical file viewer, a configurable
text editor and a help engine.
Each modules provides icons, menus, help files, context highlighting
rules for text, and module-specific utilities.
Source and binary distributions are available, with the source
available via the QPL license.
[http://www.rednecksoft.com/]
- MOOSE
- The Multimodeling Object-Oriented Simulation
Environment is a system which provides a general purpose
toolkit of C and C++ libraries for discrete-event and
continuous simulation.
It is the successor to the SimPack
package.
The purpose of MOOSE is to allow analysts to simulate physical
processes by building multimodels, i.e. heterogeneous hierarchies
of models where a model componnet at one level of abstraction
is sub-refined into a model (possibly of a different type) at
the next lower level.
The MOOSE package provides a modeling language called BLOCKS which
is an assembly language for the different types of supported models, i.e.
FSA, functional, Petri net, and equational. BLOCKS resembles a
modeling language for digital circuits with all supported model
types translated into BLOCKS models and then simulated using
the SimPack toolkit.
A graphical user interface (GUI) allows users to construct
visually-oriented models and view their output in a 2-D
color scenario window. This is being developed using the
Tcl/Tk toolkit.a
The MOOSE package is not yet (6/97) available for general release,
but when released will be provided in separate distributions
for UNIX and Windows platforms.
Several technical reports documenting the development and features
of MOOSE are available in PostScript
format.
[http://www.cise.ufl.edu/~fishwick/moose.html]
[http://www.cise.ufl.edu/~rmc/sim/moose.htm]
- MOPAC
- A general purpose semi-empirical molecular orbital package for
the study of chemical structures and reactions.
MOPAC uses many concepts in quantum theory and thermodynamics
and some advanced mathematics, but is written with the
non-theoretician in mind so those unfamiliar with such
advanced topics can use it.
A data file describing a molecular system and specifying
the types of calculations and output desired is created and
read by the program which then carries out the instructions.
Semi-empirical Hamiltonians are used in the electronic
part of the calculation to obtain molecular orbitals and
the heat of formation and its derivative with respect
to molecular geometry.
From these results MOPAC calculates the vibrational
spectra, thermodynamic quantities, isotopic substitution effects,
and force constants for molecules, radicals, ions, and polymers.
A transition state location routine and two transition state
optimizing routines are available for studying chemical reactions.
The capabilities of MOPAC include:
- MNDO, MINDO/3, AM1, and PM3 Hamiltonians;
- Restricted Hartree-Fock (RHF) and Unrestricted Hartree-Fock
(UHF) methods;
- extensive configuration interaction including excited states,
geometry optimizations on specified states, and over 100 configurations;
- single SCF calculations;
- geometry optimization and gradient minimization;
- transition state location;
- reaction path coordinate and force constant calculations;
- normal coordinate analysis;
- transition dipole and thermodynamic properties calculations;
- localized orbitals;
- covalent bond orders;
- bond analysis into
and
contributions;
- one-dimensional polymer calculations; and
- Dynamic and Intrinsic Reaction Coordinate calculations.
The source code for MOPAC 7 is available as are RPM
packages and binaries for Linux Intel platforms.
It is documented in a 150 page manual available in
TeX format.
This is a public domain version of MOPAC which is supposed to
be for development rather than production work, with a production
version available for slightly more trouble from the Quantum
Chemistry Program Exchange.
[ftp://esca.atomki.hu/mopac7/LINUX/]
[ftp://infomeister.osc.edu/pub/chemistry/software/LINUX/mopac7/]
- Mops
- A 3-D modeling environment whose features include:
- RenderMan Interface Bytestream (RIB) support;
- many supported object types including NURB curves and trimmed surfaces,
boxes, quadrics and CSG;
- putting objects in hierarchies using level objects, i.e. CSG operations
(intersection, difference and union) or simple levels that build hierarchies;
- automatic sealing of quadrics;
- support for custom objects that can freely implement their
representations (e.g. OpenGL- and RIB-wise);
- editable object properties including common transformation attributes,
RenderMan object attributes, BMRT attributes,
shaders, and object type specific attributes;
- many interactive modeling actions including moving objects, scaling
(1-, 2- and 3-D), rotating around object origin and axes in space,
single point and single point weight editing, inserting and deleting points,
and selection of groups of points of NURB curves for application of standard
modeling actions;
- extensive NURB-related functionality including creating spheres and
circles, creating circular close B-splines and rectangluar NURB curves,
converting patches to curves and a number of curves to a patch,
reverting curves, revolving custom objects to create a surface of revolution,
and extruding and sweeping custom objects;
- a scripting interface using Tcl;
- an arbitrary number of modeling views;
- clipboard and independent property clipboards for copying and
pasting objects and properties;
- hiding objects to increase drawing speed;
- free naming of objects;
- a console; and
- an advanced hierarchy browser.
Source and Linux binary distributions are available.
This requires Tcl/Tk and
BMRT.
[http://www.informatik.uni-rostock.de/~rschultz/mops.html]
- morepkgtools
- A set of packaging
and administration tools for Slackware Linux including:
- listcustompkgs, lists the custom packages installed;
- mkpkg, replaces the make install command;
- packagetools, a menu interface to all of these tools and
the Slackware system administration commands;
- pkggrep, searches for regular expressions in package
description files;
- pkgheader, adds Slackware headers to a list of files;
- viewpackages, for listing and viewing packages already installed;
- viewscripts, for listing and viewing Slackware installation
scripts for packages already installed; and
- zdd, for compressing all the files in a directory and below
and then updating the Slackware package record files.
A source code distribution is available.
[http://www.sdk-software.com/]
- Mosaic
- An X-Windows based Web browser (the original "killer app").
This requires the
Motif widget set.
[ftp://ftp.ncsa.uiuc.edu/Mosaic/Unix/binaries/]
[http://sunsite.unc.edu/pub/Linux/apps/www/browsers/mosaic/]
- mMosaic
- A derivative of the original Mosaic
browser which suports TABLE and other supplementary
HTML tags like CENTER.
Three major additional features have been added to mMosaic:
a multicast capability which permits the use of the
MBone to multicast any embedded
object, even the cursor and scrollbar positions;
an application program called APROG which is an experimental
HTML tag enabling programs written on top of
Xt (e.g. Xaw or
Motif) to run inside mMosaic;
and the capability of running Java
applets via the APPLET tag (using Kaffe
as the Java VM and Biss as the AWT) although
this is currently (5/97) an experimental feature.
The mMosaic browser can be built from sources, although it
is currently a bit of a daunting task.
[http://sig.enst.fr/~dauphin/mMosaic/index.html]
- MOSIX
- A set of kernel enhancements to Linux for supporting cluster
computing. At the core of MOSIX are adaptive load balancing
and memory ushering algorithms that allow multiple machines to
work cooperatively as if part of a single computer.
The features of MOSIX include:
- autonomy and decentralized control where each station or node
is capable of operating as an independent system;
- transparent network-wide resource sharing;
- pre-emptive process migration of any process;
- load balancing for even work distribution;
- memory ushering (i.e. sharing) via process migration to prevent
paging;
- a flexible and dynamic configuration that can easily be switched
to MPP, computing cluster or single system image modes;
- a configuration that is scalable to a large number of nodes
with minimal scaling side-effects.
This is currently (6/98) under development for Linux with a version
for BSD already available.
[http://www.cs.huji.ac.il/mosix/]
- Moscow ML
- A lightweight implementation of
Standard ML, a strict functional
language used widely in teaching and research.
Moscow ML implements the Standard ML core language,
a simple module system supporting separate compilation, and much
of the new Standard ML Basis Library.
A source code distribution of Moscow ML is available for
MS-DOS and UNIX systems, and binary distributions for
MS-DOS, Windows, OS/2, Linux Intel, and Mac platforms.
The documentation includes a user's manual, a language
overview, a library manual, all available in
PostScript format.
[http://www.dina.kvl.dk/~sestoft/mosml.html]
- MOSS
- A DOS extender primarily intended for those who must write DOS programs
for some reason but want as little to do with DOS as is possible.
MOSS is intended for cross-development from real operating systems
rather than for native development under DOS.
The API attempts to hide the inherent ugliness of DOS under a
UNIX/POSIX veneer, e.g. by providing POSIX-like file I/O,
POSIX signals for intercepting processor exceptions and hardware
interrupts, and much more.
MOSS was created when a large Linux program needed to be ported
to DOS and none of the solutions available suited the purposes
of the developers. It created using the Flux OS toolkit, a
collection of infrastructure and reusable code for the fast and
flexible development of operating systems.
The features of MOSS include:
- full support for DPMI, VCPI, XMS, and raw DOS modes;
- support for up to 2 GB of virtual and physical memory;
- demand-loading of executables for quick startup times;
- support for POSIX low-level file I/O as well as ANSI C I/O;
- processor exceptions which can be delivered as POSIX signals;
- hardware interrupts which can be delivered as POSIX.1b real-time
queued signals;
- traditional DOS extender-like interrupt revectoring;
- support for POSIX.1b memory locking API;
- remote source-level debugging over a serial line using
gdb;
- full cross-development capabilities from Linux and
other UNIX flavors;
- use of i386 ELF object files and executables;
- allowing a program and any associated data files to be attached to
MOSS to form one big DOS executable; and
- complete compatibility with the GNU tool suite.
A source code distribution of MOSS is available as are binaries
for FreeBSD and Linux platforms.
It is written in C and can be compiled on additional UNIX
flavors.
A user's manual is available in several formats.
[http://www.cs.utah.edu/projects/flux/moss/]
- MOT-2
- A Web database package that can be used to create
databases without writing a single line of code.
The features of MOT-2 include:
- creating and modifying databases, tables, fields and permissions
from a point-and-click Web-based interface;
- support for links between tables;
- support for multiple users with different read, add and modify
permissions for each;
- support for sorting and restricting each table to a fully configurable
set of fields;
- support for actions, i.e. custom scripts automatically launched by
specified database actions;
- basic support for writing custom SQL queries;
- support for importing and exporting database schemas;
- support for database-specific help files;
- searching capabilities; and
- CSS support for configuring the interface.
A source source distribution is available which requires
Apache,
PHP and
MySQL for compilation and use.
[http://mot.sourceforge.net/]
- Motif
- A meta-reference connecting to resources for Motif and X Windows
system development. Remember that Motif is a commercial product
that costs around $100 or so for a Linux binary so going this route
will cost you some bucks, at least until the
Lesstif project is complete.
The given URL is to the Motif on the World Wide Web (MW3) site which
is chock full of information about Motif.
[http://www.cen.com/mw3/]
- MOUSE
- A C++ library implementing an object-oriented
framework for finite volume computations on unstructured grids.
This is usable as both a development library and a ready to use
application.
MOUSE can be used as a 2-D flow solver for both compressible and
incompressible flows as well as for generic finite volume computations.
This uses a language called the MOUSE Command Language (MCL) to drive
and guide calculations.
The MOUSE classes can be divided into several broad categories.
Classes related to 2-D mesh generation include:
- Delaunay2D, for 2-D Delaunay mesh reorganization;
- Mesh2D, for describing 2-D meshes;
- MeshSmoother2D, for smoothing 2-D grids;
- TriRefinement2D, for edge-based refinement of triangular regions;
- RelaxNetDensity, to solve a relaxation equation for the
net-density variable; and
- Triangular2D, for triangulating a given set of points.
Classes for data storage and handling include:
- BoundaryPointList, for describing information about boundary points;
- ElementList, for listing elements of a mesh;
- MeshDataList, base class for mesh data classes;
- PointList, stores the metric of a mesh; and
- VarList, provides the base fields and methods for creating a
set of variables.
The MOUSE GUI classes include:
- CreatePlotWindow, for creating a plot window onscreen;
- IsoValue, an interface for values used for isoline plots;
- MQDrawWidget, provides basic coordinate scaling and transformation
methods;
- MQMeshPlotter, plots a 2-D unstructured mesh; and
- Repaint, causes other widgets to repaint periodically.
The numerical classes for compressible flows include:
- CompressibleOperator2D, base class for compressible gas flow
operators in 2-D;
- CompressibleVelocityVector2D, class for 2-D velocity vectors;
- CompressibleBFlux2D, class for boundary fluxes; and
- CompressibleTStep2D, class for specifying time steps.
The general numerical classes include:
- BEdgeOperator2D, for defining 2-D boundary edge operations;
- FEdgeOperator2D, for 2-D edgewise operations;
- MusclProjector2D, for MUSCL type extrapolations;
- PointCalculator, base class for operations on point subsets; and
- TimeStepCalculator, class for local time step computations.
Other general MOUSE class divisions include object tree classes,
classes for standard MCL elements, and template classes for data
storage and handling as well as numerical tasks.
A source code distribution of MOUSE is available.
It requires the Qt library and
egcs 1.1 or greater for compilation and use.
Documentation is a bit scattered for now (7/99), with the
online class documentation in the most complete form.
[http://fire8.vug.uni-duisburg.de/MOUSE/]
- MOWS
- A distributed web and cache server written in
Java.
It is built from modules which can be loaded from either the local
system or from a remote system.
Each module has its basic type which characterizes its
functionality, and users may extend, replace, or omit some
modules to configure the behavior of the MOWS server.
MOWS supports the features of typical servers such as basic
authentication, user file systems, CGI, image maps, HTML filtering,
and proxies, with the proxy feature enabling it to cooperate with
other MOWS and Harvest object caches
for distributed caching.
MOWS also supports its own Java service extension interface
called JME which is similar to CGI although programs executed
through JME not limited to those residing in the local file system.
They can be fetched from a remote system and executed locally if
the remote host name is specified in the configuration.
A source code distribution of MOWS is available.
It requires JDK 1.0.2 for compilation
and use.
It is documented in a user's manual and a technical paper, both
available in HTML format.
[http://mows.rz.uni-mannheim.de/mows/]
- Moxy
- Note: This is no longer being developed and will be removed
when I next check this section.
A nonlinear video editor for Linux which is still (9/98) in the
alpha testing stage.
[http://millennium.diads.com/moxy/]
- Mozart
- An interactive distributed implementation of
Oz, a concurrent constraint
programming language
designed for applications requiring complex symbolic computations,
organization into multiple
agents, and soft real-time control.
The features of Mozart (beyond those of Oz) include:
- a full infrastructure in which to write distributed applications
that is both network-transparent and -aware;
- functors for providing support for structuring large programs
and separate compilation;
- finite set constraints;
- an extended Constraint Propagator Interface (CPI) that allows the
implementation of constraint system from scratch;
- a programming interface based on Emacs;
- interactive development tools;
- an object-oriented interface to Tcl/Tk;
- interoperability features, e.g. sockets, C and C++;
- an incremental compiler and a garbage collector; and
- support for stand-alone applications.
The system is currently (8/98) in the alpha stage. Source code
and binary snapshot distributions are available, the latter for
Linux and Solaris systems.
[http://www.ps.uni-sb.de/mozart/]
- Mozilla
- A project and a generic term referring to web browsers derived from
the source code of Netscape Navigator as was released on
Jan. 23, 1998.
This is a planned community development project in which contributions
made by individuals, companies and commercial Netscape developers will
be coordinated and combined into frequent browser releases.
The Mozilla organization functionality includes:
- collecting changes, helping authors synchronize their work, and
periodically making new source code releases that incorporate the
best work and features;
- operating discussion forums; and
- coordinating bug lists, keeping track of and publicizing works
in progress, and attempting to provide roadmaps to the code and
projects based on it.
[http://www.mozilla.org/]
- MP
- The Multi Protocol is a
protocol for the efficient exchange of mathematical
data.
It is part of a larger project to provide a framework for distributed
scientific computing, and is designed to support efficient communication
of mathematical data between scientifically-oriented software packages.
It exchanges data in the form of linearized annotated syntax trees,
which provide a simple, flexible and application-independent way
to represent and exchange data.
The annotations provide a powerful and generic expressive facility
for transmitting additional information.
Dictionaries provide definitions for operators, symbolic constants,
and annotations at a level above the data exchange protocol.
Binary codings are used for efficiency and commonly-used values and blocks
of homogeneous data are further optimized.
MP is independent of the underlying communication paradigm and can
support parallel computation, distributed problem solving environments,
and the coupling of tools for specific applications.
An implementation of MP as a C library is available.
It has been tested on several platforms including Linux Intel.
A user's manual and several technical reports are available in
PostScript format.
[http://horse.mcs.kent.edu/SN/areas/protocols/mp.html]
- mpack
- A pair of utilities for encoding (mpack) and
decoding (munpack) binary files in
MIME format mail messages.
The munpack program can also decode messages in
split-uuencoded format. This can be thought of as the
MIME equivalent of uudecode/binhex.
The source code for mpack is available as are binaries
for Amiga, Linux, Mac, and NetBSD platforms. The documentation
is contained within man pages.
[ftp://ftp.andrew.cmu.edu/pub/mpack/]
- mpC
- A language developed to write efficient and portable programs for a wide
range of distributed memory machines. It supports both task and
data parallelism, allows both static and dynamic process and communication
structures, enables optimizations aimed at both communication and
computation, and supports modular parallel programming and the
development of a library of parallel programs. The mpC language
is an ANSI C superset based on the notion of a network comprising
heterogeneous processor nodes connected by links with different
bandwidths. The user can describe a network topology, create and
discard networks, and distribute data and computations over
networks.
The mpC programming environment includes a compiler, a run-time support
system (RTS), a library, and a command line interface, all of which
are written in ANSI C. The compiler translates an mpC program into
an ANSI C program with calls to RTS functions. The compiler generates
target code in which either all processes constitute a target message
passing program or separate target files where one is for the virtual
host processor and the second for the rest of the virtual processors.
RTS manages the computing space and provides all necessary
communications. It encapsulates a small subset of
MPI and ensures platform independence of the
rest of the compiler components (at least over those platforms
which will run MPI).
The library consists of functions which provide low level efficiency
utilities as well as debugging. The user interface consists of
programs which support the creation of a virtual parallel machine
and the monitoring of the execution of mpC programs.
The source code for mpC, written in ANSI C, is available.
It was written to be portable across all platforms with such
compilers and has been checked on Sun Solaris, HP-UX,
and Linux platforms. It has also been tested on a couple of
different MPI implementations.
The documentation is contained with a user's guide and a language
reference manual, both of which are contained in the distribution
in PostScript format.
[http://www.ispras.ru/~mpc/]
- MPCFS
- The MultiPoint Communication File System
is a virtual file system that provides
a powerful method of achieving point-to-point communications using
simple file operations.
It defines a new kind of named pipes through which a process can broadcast
data across the network to every other process reading at the other
end of the pipe.
The features of MPCFS include:
- running as a kernel module to minimize transmission overhead and
allow exclusive access to communication devices;
- a reliable and easy to use multicast API;
- a kernel message spool;
- hierarchical message multiplexing suppport within groups; and
- access control via file permission mechanisms.
An alpha source code distribution is available which runs on
Linux 2.0.30.
[http://www-sop.inria.fr/sloop/personnel/Olivier.Dalle/mpcfs/]
- mpEDIT
- A multi-platform editor written in Java
whose features include:
- toolbars and menus configured using a properties file a la
Swing;
- regular expression support;
- editor/document interfaces that allow it to provide editing
services for other Java applications;
- extensibility via JavaBean plug-ins;
- color syntax highlighting for Java, JavaScript, C++, HTML and
VRML;
- multiple documents and multiple views;
- support for large text files;
- copy/paste and find/replace;
- unlimited undo/redo; and
- user-selectable font and tab size.
A source code distribution is freely available.
[http://members.tripod.com/~mpTOOLS/mpEDIT.html]
- MPEG
- The Moving Pictures Experts Group meet
to generate standards for digital video and audio compression.
In particular, they define a compressed bit stream which
implicitly defines a decompressor. The algorithms
used to create the compressed bit stream are not specified and
left to implementers.
MPEG is also used to denote the family of standards
they define for coding audio-visual information in a digital
compressed format.
There have been a series of MPEG standards:
- MPEG-1 was primarily
intended to process video at Source Input Format (SIF) resolution,
i.e. 352x240 pixels at 30 frames per second (fps), which is a quarter
of the resolution of the TV broadcast standard.
- MPEG-2 is similar to MPEG-1 with extensions to cover a wider
range of applications. The primary targeted application is all-digital
transmission of interlaced broadcast TV quality video at coded
bitrates between 4 and 9 Mbit/sec. The most significant enhancement
over MPEG-1 is the addition of syntax for the efficient coding
of interlaced video. Another significant enhancement involves scalable
extensions permitting the division of a continuous video signal into
two or more coded bitstreams representing the video at different
resolutions, picture quality, or frame rates.
- MPEG-3 was begun to develop a standard for HDTV, but it was
discovered that slight modifications to MPEG-2 would meet this need
and it was dropped.
- MPEG-4 is another standard which targets
low bitrate coding of audio-visual programs to meet the needs of
such application as
video phones, multimedia e-mail, etc.
See
Hacker (2000).
MPEG related software includes:
- BladeEnc, an MP3 encoder;
- BMT, an MPEG toolkit;
- FreeAmp, an MP3 player;
- GQmpeg, a front end for
mpg123;
- maplay, an audio player;
- MPEG Library, an MPEG toolkit;
- MPEGe, an MPEG creation library;
- mpeg_encode, an MPEG encoder;
- mpeg_play, an MPEG video player;
- mpeg2encode/mpeg2decode, an MPEG-2
encoder/decoder package;
- mpg123, a real-time MPEG 2.0 audio player;
- MPP, a preprocessor for creating MPEG movies;
- mp3enc, for encoding MPEG files;
- mp3tools, a set of utilities for working
with MPEG audio files;
- mtv, a realtime software MPEG-1 video and audio
player;
- ooMPEG, an object-oriented MPEG decoder;
- Sajber Jukebox, an MPEG layer 3 player
with a GUI;
- VCR, a distributed real-time MPEG-1 video
audio player; and
- Xanim, a video player that can handle MPEG files.
See MPEG.ORG
for further information.
- MPEG Library
- A collection of C routines to decode
MPEG movies and dither them in a variety
of color schemes.
This is basically a cleaner programmer's interface to the
engine in mpeg_play
which allows a programmer to extract frames from an MPEG
stream (either before or after converting to RGB color space)
and then do other things with it.
[http://starship.python.net/~gward/mpeglib/]
- MPEGe
- An MPEG encoding engine library designed to allow
the creation of MPEG movies from an
application.
The library consists of three functions:
- MPEGe_open, which initializes the encoder;
- MPEGe_image, which is called each time a frame is
to be added to a sequence; and
- MPEGe_close, which is called to end an MPEG sequence.
A source code distribution of MPEGe is available.
[http://www.tardis.ed.ac.uk/~ark/mpegelib/]
- mpeg_encode
- A package containing the Berkeley MPEG-1 Video Encoder.
The encoder will accept any input file format as long as
a script to convert the images to either PPM or YUV format
is created.
Options to control input file processing and compression
parameters are specified in a parameter file.
[http://sunsite.unc.edu/pub/Linux/apps/graphics/convert/]
- mpeg_play
- An MPEG player which uses
X11 to display the decoded movies. It
can also produce PPM
files, SVGA graphics, Windows graphics calls,
or work in a Mac window. It doesn't handle real-time synchronization
of audio streams.
The most recent version (2.3) can be obtained as source
code (written in C) or as a compiled binary for
Sun SunOS and Solaris, HP-UX, DEC Ultrix and OSF, SGI IRIX, and
Linux Intel platforms.
[http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_play.html]
- mpeg2encode/mpeg2decode
- An implementation of an ISO/IEC DIS 13818-2 codec, i.e. a frammus
that converts uncompressed video frames into
MPEG-1 and -2 video coded bistream
sequences and vice-versa.
[http://mpeg.openprojects.net/]
- MPEG-2 Movie
- A program for synthesizing elemental audio and video streams directly
from Quicktime movies (that use codecs supported by
Quicktime4linux), and then
multiplexing them into a single program stream suitable for
burning onto DVD or (with lower framerates) uploading onto the
Internet.
[http://heroine.linuxave.net/mpeg2movie.html]
- MPFR
- A C library implementing multiprecision floating point
computations with exact rounding.
The goal of MPFR is to provide an efficient and well-defined library
for floating point computations requiring multiple precision.
[http://www.loria.fr/projets/mpfr/]
- MPFUN
- Fortran software that permits the performance of arithmetic
computations to an arbitrarily high level of numeric precision.
This consists of a package of Fortran-77 routines that perform
a variety of multiple precision operations and a translator
program that converts an ordinary Fortran-77 program to call
the required multiple precision routines.
This is TOMS algorithm 719 and is documented
in Bailey (1993).
[http://www.nersc.gov/~dhb/mpdist/mpdist.html]
[http://www.netlib.org/toms/index.html]
[ftp://ftp.irisa.fr/pub/netlib/mpfun/]
- mpg123
- A real-time MPEG audio player for layers 1, 2 and
3 (i.e. MPEG 2.0 with layers 1 and 2 not heavily tested).
[http://www.mpg123.de/]
- tk3play
- A graphical front-end to mpg123 built using
the Tk widget set.
The features include continuous play, fast forward and rewind,
volume control, a shuffle mode for random playing, and more.
A source code distribution is available.
[http://www.msc.cornell.edu/~bef2/]
- xmp3player
- A graphical front-end to the mpg123
MPEG player built using the
Qt widget set.
[http://cray.tuug.utu.fi/~phoenix/xmp3player/]
- MPI
- The Message Passing Interface is
a standard library for writing
message-passing programs designed for high performance on both
massively parallel machines and on workstation clusters.
MPI was deveoped by a broadly based committee of vendors,
implementors, and users and
is widely available in both free and commercial
implementations.
The goals for developing MPI were:
- to design an application programming interface (API);
- to allow efficient communication, i.e. to avoid memory-to-memory
copying and allow overlapping of computation and communication and
offloading to communication co-processors;
- to allow for implementations which can be used in a heterogeneous
environment;
- to provide convenient C and Fortran bindings for the interface;
- to assume a reliable communication interface and let communication
failures be dealt with by the underlying system;
- to define an interface similar to those used in current practice
and allow for flexible extensibility;
- to define an interface which can be implemented on many platforms
with no significant changes necessary to the underlying communication
and system software;
- to keep the semantics of the interface language independent; and
- to design the interface to allow for thread safety.
MPI implementations include:
There is much documentation in the form of technical reports
and online tutorials.
See also
Alexandrov and Dongarra (1998),
Gropp et al. (1994),
Pacheco (1997),
Snir et al. (1995), and
Foster (1995). The latter contains a chapter on MPI and
the entire text is available online in hypertext format.
There is an ongoing project called MPI-2 to consider
corrections and extensions to the current
and first MPI standard.
Packages or languages which use or enhance MPI in some way include:
- A++/P++,
- ARCH,
- BLACS,
- BlockSolve,
- C4,
- CODE,
- Converse,
- COSMICS,
- DAGH,
- DOUG,
- fsolver,
- GCL/MPI,
- Global Array,
- GLU,
- HDFNOW,
- HPF,
- MagPIe, a library of MPI collective communication
operations optimized for wide-area systems;
- Moldy,
- mpC,
- MPICH,
- MPI++,
- mpiJava, an object-oriented
Java interface to MPI
- mpimake, a make-like utility for automatically
compiling MPICH binaries;
- MPI-RGL,
- MPI/RT
- MPI-2 C++,
- MPIX,
- MSG,
- NESL,
- Nexus,
- OOMPI,
- PANDA,
- Para++,
- ParPre,
- PeIGS,
- PETSc,
- PGAPack,
- PIM,
- PLUS, allows interoperation with
PVM and PARIX;
- PMPIO,
- pPCx,
- PPI++,
- P-SPARSLIB,
- PSTSWM,
- QCDMPI,
- sB-BLAS,
- ScaLAPACK,
- SUMMA,
- Surface Evolver,
- SYISDA,
- TOMPI, and
- TRAPPER.
[http://www.mcs.anl.gov:80/mpi/]
- AutoLink
- A tool for transferring dynamic data types like graphs using
MPI.
This is a library that gives the user access to high-level functions
for transferring dynamic data types.
This uses AutoMap.
[http://www.nist.gov/itl/div895/auto/]
- AutoMap
- A tool that simplifies the task of creating
MPI data types. It works as a source to source
compiler, reading directly from the user type definitions.
[http://www.nist.gov/itl/div895/auto/]
- IMPI
- Interoperable MPI is an effort to create a standard to
enable interoperability among different implementations of
MPI.
[http://impi.nist.gov/IMPI/]
- mpiJava
- An object-oriented Java interface to the
MPI library.
The current (2/99) release provides the full functionality of MPI 1.1
and is implemented as a set of JNI wrappers to native MPI packages.
A source code distribution is freely available upon completing
a registration form.
[http://www.npac.syr.edu/projects/pcrc/HPJava/mpiJava.html]
- MPIMap
- A tool for graphically displaying the structure of user-defined
MPI data types such as vectors and structs.
This only works with the MPICH
implementation.
[http://www.llnl.gov/liv_comp/mpimap]
- MPI++
- A C++ binding for the MPI standard.
It supports both point-to-point and collective message passing
among communicating sequential processes in a way which is both
syntactically and semantically consistent with MPI's C binding.
It differs from the C binding in that it is object-based, i.e.
the communicators and other objects of MPI are represented directly
as objects in MPI++ with the function calls of the C interface as
methods.
The source code, written in C++, is available.
MPI++ is documented in a technical paper available in
PostScript format as well as in
Wilson and Lu (1996).
[http://miller.cs.wm.edu/lxr3.mpich/http/source/MPI-2-CPlusPlus/]
- MPI-RGL
- The MPI Regular
Grid Library that provides a
usability layer for parallelizing a code whose data structures
are regular grids. Simple functions are provided to take care
of domain decomposition, exchange of information across boundaries,
and loop index modification. The source code is available as
well as some examples written in C, Fortran and Fortran 90.
[http://wwwmcb.cs.colorado.edu/home/clivehome/MPI-RGL.html]
- MPI-2 C++
- A set of C++ bindings for MPI-2 that
builds on top of standard MPI distributions.
A source code distribution is available.
[http://www.mpi.nd.edu/research/mpi2c++/]
- MPIX
- A set of extensions to the MPI message
passing library which allows which previously worked only
with intracommunicators to work with intercommunicators.
The extensions include increased support for intercommunicator
construction, collective operations, and topologies.
These extensions may be included in the MPI-2 standard.
MPIX is currently (5/97) available in beta release.
[http://www.erc.msstate.edu/mpi/mpix.html]
- MPICH
- MPI CHameleon is
a freely available and portable implementation of
the MPI message passing library which
supplies a set of programming tools along with the basic
MPI implementation. These include the MPE extension library,
tools to ensure consistent handling of command-line arguments
and standard I/O, support for performance analysis and debugging,
network management tools, additional useful commands, and
an example suite.
The MPE (Multi-Processing Environment) is a loosely structured
library of routines designed to be helpful for parallel programmers
in the MPI environment.
MPE routines fall into several categories including:
- parallel X graphics which provide all processes with access to a shared
X display and make it easy to provide graphical output
for parallel programs;
- logging to provide simple calls for producing time-stamped event trace
files;
- sequential sections which ensure that sequential execution of processes
occur when necessary; and
- error handling which provides a mechanism by which a user can control
how the implementation responds to run-time errors.
The performance analysis and debugging tools include three profiling
libraries:
- tracing, which prints a trace of each MPI library call;
- logging, which writes a logfile with events for entry to
and exit from each MPI function; and
- animation, which provides a simple animation of the message
passing that occurs in an application via a shared X display.
Other useful tools and commands in the distribution include:
- upshot, a graphical tool to display parallel program behavior
via a display of parallel timelines with colored bars indicating the
state of each process at any given time;
- wrappergen, which lets a user specify templates for profiling
routines and a list of routines to create from which it creates
profiling versions of the specified routines;
- SUT (Scalable UNIX Tools), which implements parallel versions
of common UNIX commands;
- mpicc and mpif77, which invoke the C and Fortran compilers
and linkers in the parallel environment; and
- mpirun which
provides a portable way to run programs which use MPI.
Example programs include those for Mandelbrot set computations,
solving the Mastermind puzzle, the game of life, and several more.
The MPICH source code is available and can be compiled on
a wide variety of systems including:
workstations clusters (including Linux);
the IBM SP1 and SP2;
the Intel i860, Delta and Paragon;
the Ncube 2;
the Thinking Machines CM5;
SMPs including the Convex Exemplar;
the Meiko CS2; and
the Cray T3D.
Compilers for C and Fortran 77 are required to compile and install
MPI and run the examples.
The documentation includes installation and user guides as well
as several technical reports, all of which are available in
PostScript format.
There is also an extensive set of man pages in the distribution.
[http://www.mcs.anl.gov/Projects/mpi/mpich/index.html]
- MPI/RT
- A real-time message passing interface standard that advances the
MPI standard to enable and support real-time
communication. This is targeted for embedded, fault-tolerant and
other real-time systems.
The main goal of MPI/RT is to provide message-passing functionality
with quality of service (QoS), with the parameters of QoS including
a variety of fault-tolerant and real-time application requirements.
It addresses real-time concerns by describing how various system
resources (e.g. the network,
memory management, and communication
scheduling) can be marshalled (consistently with a runtime
environment that allows MPI/RT to mold the policy of the composed
system) to design parallel applications.
The API includes capabilities to plan in advance, reserve resources,
admit sets of channels with timing guarantees, and to exploit
temporal locality associated with programs that exhibit regular
(i.e. repetitive or periodic) properties.
[http://www.mpirt.org/]
- Inertia
- An implementation of the MPI/RT standard.
This is currently (2/99) a prototype implementation directed towards
facilitating rapid experimentation with the current standard and allowing
users to become familiar with the API.
Inertia is a package of portable C code that
implements the standard API on top of an existing MPI implementation.
Several examples are provided in the distribution, which can be obtained
upon FAXing a license agreement to the developers.
[http://WWW.ERC.MsState.Edu/labs/hpcl/inertia/]
- MPL
- The Mozilla Public License is an
Open Source license created by the
developers of Netscape in an attempt
to balance the needs of the free software development community,
commercial programmers, and Netscape.
This is actually a modified version of the NPL or Netscape
Public License under which the Mozilla
project is released. The MPL is more generally applicable to
code written by those other than Netscape than is the NPL.
[http://www.mozilla.org/NPL/]
- mpman
- A utility for uploading/downloading files to/from the Saehan
MPMan portable MP3 player. Files in MP3 format are uploaded
into the MPMan's up to 64 Mb of flash RAM. This allows it
to be used just like a Walkman except that there are no moving
parts that can be affected by vibration.
The MPMan is supplied with an adapter for a PC parallel port.
Linux use is as simple as plugging the adapter into your parallel
port and running the mpm program.
A source code distribution is available.
[http://www.world.co.uk/sba/]
- MPP (macro)
- A Macro PreProcessor whose features include:
- lexical analysis of the input;
- easy to learn syntax and lexical rules;
- support for C++-style identifier
namespaces to allow large libraries of macros to be developed
without clashing;
- lexical safeguards against unwanted expansion;
- a declarative syntax with nested scoping;
- handling white space correctly;
- modification of lexical properties on the fly;
- support for nested file inclusion including redirecting output
to files, simple list processing and numeric computing; and
- written entirely in ANSI C for portability.
A source code distribution is available which includes a prototype
manual.
[http://users.footprints.net/~kaz/mpp.html]
- MPP (movie)
- A Movie PreProcessor which prepares a set of
images for inclusion into a movie. It was written to allow for the
processing of heterogeneous material (i.e. images with different
sizes, image formats, etc.) into a homogeneous set of frame files.
The capabilities of MPP include:
- conversion of images from different formats into a single common
format (with automatic recognition of many formats);
- creation of empty frames of any color;
- pasting text into frames to create titles;
- pasting other images into frames; and
- multiplicating a single frame to have it incorporated several
times in a movie.
MPP is written in Perl 5 and requires both
the Pbmplus library and the
mpeg_encode program in the BMT
distribution.
It is documented in a man page include in the distribution.
[http://www.strw.leidenuniv.nl/~dominik/Tools/]
- MPQC
- The Massively Parallel Quantum Chemistry
program computes the properties of molecules, ab initio, on
a wide variety of computer architectures.
The computational capabilities of MPQC include:
- closed shell and general restricted open-shell
Hartree-Fock energies and gradients,
- second-order open-shell
perturbation theory and Z-averaged perturbation theory energies
- second-order closed-shell Moller-Plesset perturbation
theory energies and gradients, and
- robust internal
coordinate geometry optimization that efficiently optimizes molecules
with many degrees of freedom.
It was designed using object-oriented programming techniques and
implemented in C++.
The class hierarchy of MPQC is divided into three main parts.
The utility classes include:
- Debugger, which handles catastrophic errors;
- MessageGrp, which provides a mechanism for moving data and
objects between nodes in a parallel machine;
- ProcMessageGrp, which provides a single processor version
of MessageGrp;
- ThreadGrp, which provides a method of manipulating multiple
threads in a single address space; and several others.
The math classes include:
- SCMatrixKit, an abstract class which acts as a factory for
matrix production;
- Function, which computes the value and derivatives of a function;
- EFCopt, which implements eigenvector following;
- DIIS, which provides DIIS extrapolation;
- QNewtonOpt, which implements a quasi-Newton
optimization
scheme; and
- LineOpt, which performs one dimensional optimizations.
The chemistry classes include:
- Molecule, which contains information about molecules;
- IntCoor, which describes the internal coordinate of a molecule;
- BendSimpleCo, which describes a bend internal
coordinate of a molecule;
- Integral, which acts as a factory to provide objects that compute
one and two electron integrals; and
- LinIPSimpleCo, which describes an in-plane component of a linear
bend internal coordinate of a molecule.
A source code distribution of MPQC is available.
It can be used on UNIX workstations of various types (e.g. Linux
Intel, IBM RS/6000, and SGI IRIX), on symmetric multiprocessors,
and on massively parallel machines.
The documentation includes user's and programmer's manuals.
[http://aros.ca.sandia.gov/~cljanss/mpqc/]
- mpir
- A memory profiling package for detecting leaks and compiling statistics
about memory allocation and deallocation.
The utilities include:
- mpr, shows log files after mapping program counters to
function names;
- mprcc, shows memory allocation requests/leaks grouped by call
chain;
- mprsz, shows memory allocation requests/leaks grouped by size;
- mprlk, shows memory leaks; and
- mprhi, shows a memory allocation histogram.
[http://metalab.unc.edu/pub/Linux/devel/lang/c/]
- MPSolve
- The Multiprecision Polynomial Solver is a package
for solving for the roots of a univariate polynomial using multiprecision
arithmetic.
The algorithm used is based on simultaneous root approximation, and
generates a sequence of nested sets containing the root neighborhood
defined by the given input precision. The output contains Newton-isolated
approximations of the roots.
The functionality of the package includes:
- root counting;
- Newton isolation;
- approximation to any number of digits of the roots belonging to
a given subset of the complex plane;
- automatic detection of multiplicities and/or or real or imaginary
roots; and
- polynomials with approximately known coefficients.
This is written in ANSI C and makes use of the
GMP package.
[http://www.dm.unipi.it/pages/bini/public_html/ric.html]
- MPSQL
- An SQL GUI client for PostgresSQL which
is somewhat similar to Oracle's Server Manager motif worksheet or
Microshaft's Windows-based SQL server iSQL.
The features of MPSQL include:
- execution of multiple SQL statements or one of many by highlighting,
- working with multiple buffers,
- opening/saving buffers from/to files,
- cutting/copying/pasting between buffers,
- spooling query output to a file,
- spooling data in several formats,
- printing buffers, and
- saving application options to a startup file.
A source code distribution is available as is a statically
linked binary based on PostgresSQL 6.3.
[http://www.troubador.com/~keidav/downloads.html]
[http://rpmfind.net/linux/RPM/contrib/libc6/i386/mpsql-1.5.3-1.i386.html]
- mp3enc
- An MPEG Layer-3 command line tool for encoding MP3 streams.
This is for testing and evaluation purposes only. If you use this
to do illegal thinks you will be severely punished by a dominatrix.
[http://www.iis.fhg.de/amm/download/]
- mp3tools
- A set of utilities for working with MPEG
audio files. Most of the utilities work with all MPEG audio files and not
just MPEG-1 Layer 3 (i.e. mp3) files.
The programs include:
- mp3info, extracts the MPEG version, layer, bit-rate and play
length of an MPEG audio file;
- mp3index, generates customized indexes of MPEG audio files;
- mp3id3, for viewing and altering the ID3 tag of an MP3 file; and
- MP3.pm, a Perl module containing functions
with all the capabilities of mp3id3 and mp3info.
A source code distribution is available.
[http://www.zevils.com/linux/mp3tools/]
- MrEd
- A GUI development engine that incorporates the portable GUI class library
of wxWindows
as well as an extended Scheme implementation called
MzScheme.
It also includes extensions to the wxWindows C++ classes
called wxMedia that support high-level editor and pasteboard objects. This
package is appropriate for developing any scheme-based application which
needs a graphical interface, especially one that needs to be portable or needs
sophisticated text or graphics manipulation.
This differs from the similar STk
Scheme GUI package in that it is more
suitable for large-scale application development, the Scheme
implementation is directly connected to the GUI toolbox, it is more portable,
its object scheme is minimalist, the Scheme interpreter provides
pre-emptive threads, it doesn't have the large set process and socket
facilities of STK (although it does provide the interprocess communication
tools from wxWindows), and it provides a powerful editor class.
MrEd runs under the X Windows, Windows and Mac windowing systems
(due to the portability of the wxWindows package), and applications
developed are completely portable among these platforms. The source code
is available along with binaries for Sun, SGI, IBM RS6000, Linux, FreeBSD,
Windows 32, NT, and 95, and Mac PowerPC and 68K platforms. The
documentation includes a user manual for MrEd as well as manuals for the
various components thereof in several different printable formats.
[http://www.cs.rice.edu/CS/PLT/packages/mred/index.html]
- MRPSD
- A set of Matlab programs for
creating publication quality Pulse Sequence
Diagrams.
[http://colnago.med.ubc.ca/Software/mrpsd/MRPSD.shtml]
- MRT
- The Multi-Threaded Routing Toolkit has been
used to build a wide variety of tools ranging from production
Internet and 6bone routing daemons to BGP fault-injection and
traffic generation test packages. MRT uses novel approaches
to routing architecture design and incorporates features like
parallel lightweight processes, multiple processor support,
and shared memory. The object-oriented, modular design facilitates
the rapid addition and prototyping of experimental routing protocol
and inter-domain policy algorithms.
It can run on multi-threaded architectures or run in emulation
mode on non-thread capable operating systems.
The MRT packages contains both routing and network performance
measurement tools. The routing tools include:
- MRTd, a routing daemon supporting RIPng, BGP4+, multiple
RIBs and RIP1/2, reading Cisco Systems-like router configuration
files, and supporting a Cisco router-like telnet interface;
- BGPsim, a BGP4+ traffic generator and simulator;
- SBGP, a BGP4+ speaker and listener;
- Route_BtoA, which converts binary MRT messages to ASCII; and
- Route_AtoB, which converts ASCII descriptions of MRT
messages to binary MRT message format.
The network performance and statistics tools are:
- NetNowd, which measures network performance, e.g. one-way
latency and loss, ICMP, topology/traceroute and bulk file transfer metrics;
- IRRd, an Internet Routing Registry database daemon that
supports RIPE-181 and RPSL routing database objects;
- SalServerd, a webcasting server that supplies Internet
statistics and performance channels; and
- RouteTracker, a routing stability monitor tool which can replay
past routing traffic and generate reports of routing performance.
A source code distribution of MRT is available as are binaries
for several platforms including Linux Intel. It has been compiled
and tested on 2.0.27 and 2.1.63 kernels and provides IPv6 support
for kernel 2.1.63.
Documentation includes an installation guide, a user's guide and
a programmer's guide.
[http://nic.merit.edu/~mrt/]
- MRTG
- The Multi Router Traffic Grapher is a tool
to monitor the traffic load on network links.
MRTG consists of a Perl script that uses
SNMP to read the traffic counters
of a router and a C program
that logs the data and creates graphs representing the traffic
on the monitored connection.
Installation and use also requires Perl 5.003 or later and
the gd graphics library.
[http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html]
- MR Toolkit
- The Minimum Reality Toolkit is a set of software
tools for the production of virtual reality systems and other
forms of 3-D user interfaces. MR consists of a set of
subroutine libraries, device drivers, support programs, and
a language for describing geometry and behavior, all of which
combine to provide a device independent and portable platform
for the development of VR applications.
Tools for developing virtual environments include
the Object Modeling Language (OML), a 3-D modeler (JDCAD+), and
an Environmental Manager (EM) for running multi-user networked
applications.
MR provides device drivers for several 3-D trackers including
Ascension Technology Bird and Flock of Birds;, Logitech 2D/6D
mice; Polhemus Isotrak, Isotrak II, Tracker and FASTRAK;
Shooting Star ADL-1, Spacetec Spaceball, and a Motif pseudo-tracker.
Head-mounted displays supported include
VPL EyePhone 1, Virtual I/O I . Glasses, Virtual Research
Flight Helmet and EyeGen 3, and General Reality CyberEye.
Supported gloves include the VPL DataGlove and Virtual
Technologies CyberGlove.
MR also includes a Panel Package which is used with a glove
to interact with buttons, menus, sliders and text on a 2-D
rectangle in 3-D space as well as a Peer Package which
allows intelligent multi-person VR interaction.
The current (7/97) version of the MR Toolkit is callable from
C, C++ and Fortran programs on HP, SGI, DEC, and IBM RS6000
workstations, with some elements also working on Suns,
Alphas, and other UNIX platforms.
Quite a bit of documentation in PostScript
format is available online.
There are commercial and freely available versions of MR,
with the latter available upon filling out a license form and
returning it via snailmail.
[http://www.cs.ualberta.ca/~graphics/MRToolkit.html]
- MSG
- Message-passing tools for Structured Grid
communications is an MPI-based library
intended to simplify the coding of data exchange within the
Fortran 77 codes performing data
transfers on distributed Cartesian grids.
The main goal of the MSG library is to conceal the explicit
send/receive operations and provide a means to place the
boundary data into local arrays. These tools can be used
in finite-difference, finite-volume, or finite-element
codes.
The MSG kit is intended to assist in the efficient and
uniform implementation of domain decomposition type solvers
on distributed memory platforms and can be used with any
other MPI-based library.
The source code for the MSG library is available. It is written
in Fortran to be used with the MPI message passing library.
A user's guide is available in
PostScript format.
[http://www.CERCA.UMontreal.CA/~malevsky/MSG/MSG.html]
- MSIX
- The Metered Service Information eXchange is
an open protocol designed to enable ISPs and carriers to effectively
meter usage and charge for value-added services.
It provides a common interface for Internet applications to easily
exchange detailed usage information with network pricing, billing
and management servers.
There is no known implementation of this for Linux as of 7/98.
[http://www.msix.org/]
- MSLib
- The MultiScale Library is a package containing
data structures and functions for using multilevel methods for
the numerical solution of certain operator equations.
In particular, it provides wavelet methods for solving various types
of elliptic PDEs and integral equations.
The library consists of one part (MatLib) for handling general numerical
linear algebra and another (MLLib) that provides the multilevel
functionality.
MatLib contains classes, data structures and functions for:
- fully templated arrays for 1- and 2-D
arrays with arbitrary index ranges,
resizing, and convenient access to the array elements;
- fully templated arbitrary vectors with all standard vector
operations such as
arithmetic, norms and scalar products;
- basic matrices with several derived classes for dense, symmetric,
sparse, and block-banded matrices along with all standard matrix
operations such as norms and multiplication of matrices with matrices
and vectors (with function and operator overloading to simplify use);
- solvers for different types of problems including direct (e.g.
orthogonal triangular decomposition, LU decomposition, singular
decomposition, etc.) and
iterative (e.g. conjugate gradient) routines; and
- preconditioners based on multilevel theory.
The MLLib library contains all the basic data structures and
routines needed for multilevel algorithms in Euclidean space.
The classes in MLLib include:
- MaskBorder, Mask and Basis to represent the
masks of refinable functions;
- MLIndices, to handle the indices of these functions;
- IntegralFactor, for calculating the integrals of
refinable functions;
- BPX, for implementing a BPX preconditioner in its nodal
basis form;
- RectBorder, for representing rectangular domains; and
- Tensor, for representing arrays in arbitrary dimensions.
A class is also included for
the solution of driven cavity flow for the Stokes problem.
The source code can be obtained by first sending an email
message requesting a username and password to an address given
at the site.
[ftp://www.igpm.rwth-aachen.de/pub/urban/html/progs.html]
- mSQL
- A mini Standard
Query Language is
a database designed to provide fast access to stored
data with low memory requirements. It allows a program or user
to store, manipulate, and retrieve data in table structures but
does not support relational capabilities such as table joins,
views or nested queries.
It supports a subset
of SQL as its query interface, with SQL being the standard language
adopted for relational database systems.
The mSQL package is bundled with several programs including:
- msqld, the database server;
- msqladmin, which handles administrative
details such as creation of databases;
- msql, the monitor which
provides a user interface for making queries;
- msqldump, which
dumps a database in ASCII format such that the entire database
can be re-created from the dump file; and
- relshow, a schema
viewer that shows table details for a given database.
Several third party packages have been created to work with mSQL.
These include packages to allow it to work with
Emacs, Perl,
Python, REXX,
Tcl, Java and
other programs or systems.
The package
includes the database engine, a terminal monitor program,
a database administration program, a schema viewer, and
a C language API, with the engine and the API having
been designed to work in a client/server environment over
a TCP/IP network. The source code is available and should
compile and install, via a configure file, on most generic
UNIX systems. See the
mSQL FAQ
for further details.
[ftp://bond.edu.au/pub/Minerva/msql/]
- MSSA
- A set of Matlab tools for implementing
Multichannel Singular Spectrum Analysis.
The programs include:
- MSSA, a shell routine for calling the other routines;
- MSSAEIG, computes the data lag-covariance matrix and the
T-EOFs;
- MPC, calculates the principal components;
- MRC, calculates the reconstructed components;
- EOF, calculates the empirical orthogonal functions (EOFs) and
principal components (PCs) for a data set;
- EOFCENT, calculates the EOFs and PCs for a previously centered
and normalized data set;
- EEOF, computes extended EOFs;
- AC, computes autocovariance estimates for a time series;
- XC, computes cross-covariance estimates between two time series;
- BK, computes a Broomhead/King type covariance matrix for a
multichannel dataset;
- COVAR, computes auto/cross-covariance estimates;
- POLARIZE, applies a uniform polarity to EOFs and PCs; and
- PLUCKRC, plucks the ith RC from an RC matrix.
[ftp://ftp.gi.alaska.edu/pub/eric/mssa/]
- MSWordView
- A program that can convert Microshaft Word 8 binary files into
HTML files.
The features of MSWordView include:
- converting both fastsaved and non-fastsaved files;
- conversion of Word header and paragraph style into appropriate
HTML header levels;
- conversion of Word tables into HTML tables;
- conversion of the MS symbol font into GIF pictures for HTML; and
- incomplete conversion of lists and headers.
A source code distribution of MSWordView. It is written in C and
also requires Perl.
[http://www.csn.ul.ie/~caolan/docs/MSWordView.html]
- mtekscan
- A Linux driver for MicroTek ScanMaker SCSI scanners.
It was developed to support the ScanMaker E6 but works with
other MicroTek and compatible scanners. It has been tested
with the ScanMaker E3, II, IIXE, III, and 35t models as well
as with Adara ImageStar I and Genius ColorPage-SP2 scanners.
The mtekscan program is a command line utility which provides
control of many of the scanner's setting, e.g. scanning
mode, resolution, brightness, exposure time, shadow adjustment,
halftone pattern selection, and gamma tables. The scanned
images are written to a file in
PBM/PGM/PPM
format or can
be written to stdout for further processing with
xv or NetPBM.
[http://fb4-1112.uni-muenster.de/ffwd/ffwd_mtekscan.html]
- MTIEU
- A set of C programs for supporting the IEEE standard
for binary floating-point arithmetic.
The programs are for the support functions
copysign, logb, scalb, nextafter,
finite and isnan.
This is TOMS algorithm 721 and is documented
in Shirts (1993b) and
Shirts (1993a).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
- MTL (protocols)
- The Meta-Transport Library is
a collection of C++ base classes that encapsulates
common communications protocol components (e.g. a unit for information
exchange, data structures, a processing mechanism, a mechanism to
construct outgoing packets, and a mechanism to handle service requests)
into a single class library, with specific transport protocols derived
from the MTL classes. A particular protcol, such as
XTP, is instantiated through derived classes
whose protocol-specific member functions implement the protocol
procedures.
The main classes that comprise MTL are:
- a packet class, i.e. a byte array the size of the maximum protocol
data unit with two base methods - one for getting the address of the
start of the packet and one for sending the packet - as well as
supplemental classes for
memory management and for parking packets
until they can be processed;
- a context class, which holds all endpoint state information with
methods including state transitions, packet parsing, and user
request satisfaction, with a context manager class containing and
manipulating all of the contexts as well as being responsible for
associating user requests and newly arrived packets with the proper context;
- a buffer management class, which provides both the user and the
protocol with access to data buffers with methods for both writing to and
reading from the buffer; and
- a user interface class, which provides a standard set of methods
with which users can request service.
A source code distribution of MTL is available.
The code can be compiled on and installation is support for several
compiler/OS combinations including GCC 2.6.3 or
newer and Linux Intel.
It is documented in a reference manual and a user's guide, both
available in PostScript format.
[http://www.ca.sandia.gov/xtp/mtl/mtl.html]
- MTL
- The Matrix Template Library is a high performance
library written in C++ that provides comprehensive
basic linear algebra functionality for vectors and a large variety
of sparse and dense matrix formats.
MTL follows the pattern of STL by using
generic programming and compositional construction techniques to
provide rich functionality and a large variety of data types.
The level of abstraction is intended to provide a simple and
elegant programming interface while make performance costs explicit.
It provides a superset of BLAS Levels 1, 2 and 3
functionality and an interface to LAPACK.
MTL (similarly to STL) is composed of algorithms, containers, iterators,
adapters and function objects. Algorithms are written in a generic
fashion via the use of iterators and are independent of container
details.
Linear algebra objects are constructed by composing containers and
adaptors and basic linear algebra operations provided by algorithms.
The MTL algorithms are divided into groups according to operand type:
- operations on a single vector, e.g. norms, maximum elements, etc.;
- operations on and between multiple vectors, e.g. vector arithmetic,
dot products, etc.;
- operations on single matrices, e.g. scaling, computing norms, etc.;
- operations between matrices and vectors, e.g. matrix-vector
products, triangular solving, etc.; and
- operations between matrices, e.g. matrix-matrix products, matrix
arithmetic, etc.
The MTL linear algebra objects (i.e. containers and adapters) are:
- common numeric types, e.g. single and double precision floating point
and complex numbers;
- one-dimensional (singly indexed) containers in dense and compressed
formats;
- two-dimensional containers of containers on top of some underlying
storage;
- an adapter orientation class that maps array indices to mathematical
matrix indices; and
- an adapter class that provides a shape to an underlying container,
e.g. banded, symmetric, etc.
A source code distribution of MTL is available. It makes use of several
C++ features that aren't yet widely supported, although most of the
functionality is available with egcs.
A user's guide is available in PostScript and PDF format.
Included in the MTL distribution is an Iterative Template Library (ITL)
consisting of a collection of iterative solvers.
[http://www.lsc.nd.edu/research/mtl/]
- MTM
- A set of subroutines in ANSI-C for performing multiple taper
spectrum estimation. There is also an explanatory paper in the
directory that serves as a users guide.
[http://love.geology.yale.edu/~lees/mtm/]
- MTM-COHERE
- A package of Fortran routines for performing
robust red noise background estimation based univariate
MTM signal detection as well as MTM spectral coherence calculations
with significance level determination and jacknife uncertainties
in squared coherence estimates.
See Mann and Lees (1996) and
Lall and Mann (1995).
[ftp://eclogite.geo.umass.edu/pub/mann/MTM-COHERE/]
- MTM (Matlab)
- A set of Matlab scripts for implementing
the Multiple Taper Method for producing estimates
of power spectral density from time sries. The MTM produces good
spectral estimates for time series including those with wide
dynamic range, short length and high signal-to-noise ratio.
The programs include:
- MTM, a driver routine;
- MTMLIN, computes a multiple window power spectrum estimate
with confidence intervals using linear weighting;
- MTMADAP, computes a multiple window power spectrum estimate
with confidence intervals using adaptive weighting;
- DPSSCALC, calculates the discrete prolate spheroidal sequences
(DPSS) for large N using the tridiagonal method of Slepian along with spectrum
slicing and other tricks for speed and efficiency;
- DPSS, a driver routine for obtaining the DSS by calculation,
interpolation, or loading from a file;
- DPSSCAL2, for directly calculating the DPSS for fairly
small N (for which it is faster than DPSSCALC);
- DPSSINT, interpolates DPSS of length N from previously
calculated sequences of different length;
- DPSSAVE, for calculating DPSS and saving them to disk; and
- TRISLICE, performs spectrum slicing for a tridiagonal matrix.
[ftp://ftp.gi.alaska.edu/pub/eric/mtm/]
- MTM-SVD
- A package implementing an algorithm for climate signal detection
and reconstruction.
The MTM-SVD approach allows for the detection of irregular
spatiotemporal oscillatory signals immersed in spatially-correlated
colored noise with optimal signal detection properties,
an evolutive approach to detecting intermittent and/or frequency-modulated
spatiotemporal oscillations, and the reconstruction of spatial and
temporal patterns of oscillatory climate signals.
A source code distribution of the MTM-SVD package is available.
It is written in Fortran 77 and includes
a synthetic test dataset.
Documentation is contained within several technical papers available
in PostScript format.
[ftp://eclogite.geo.umass.edu/pub/mann/MTM-SVD/]
[http://www.people.Virginia.EDU/~mem6u/mtmsvd.html]
- mtools
- A collection of utilities for accessing MS-DOS disks from
UNIX without mounting them. It supports Windows 95 long file
names, OS/2 Xdf disks, and 2m disks.
The tools in mtools include:
- mattrib, used to changed MS-DOS file attribute flags;
- mbadblocks, used to scan an MS-DOS floppy disk and mark
its unused bad blocks as bad;
- mcd, used to change the working directory on the MS-DOS disk;
- mcopy, used to copy MS-DOS files to and from UNIX;
- mdel, used to delete an MS-DOS file;
- mdeltree, used to delete an MS-DOS directory tree;
- mdir, used to display the contents of an MS-DOS directory;
- mformat, used to add an MS-DOS file system to a low-level
formatted diskette;
- mkmanifest, used to create a shell script to restore
UNIX filenames;
- minfo, used to print the parameters of a MS-DOS filesystem;
- mlabel, used to add a volume label to a disk;
- mmd, used to make an MS-DOS subdirectory;
- mmount, used to mount an MS-DOS disk;
- mmove, used to move or rename an existing MS-DOS
file or subdirectory;
- mpartition, used to create MS-DOS filesystems as partitions;
- mrd, used to remove an MS-DOS subdirectory;
- mren, used to rename or move an existing MS-DOS file
or subdirectory;
- mtoolstest, used to test the mtools configuration files;
- mtype, used to display the contents of an MS-DOS file;
- mzip, used to issue ZIP disk specific commands; and
- xcopy, used to recursively copy one directory to another.
The mtools distribution includes the source code and a configuration
file suitable for installing the software on most generic UNIX
systems.
It is documented in man pages as well as in a user's
manual in Texinfo format.
[http://wauug.erols.com/pub/knaff/mtools/]
- mfm
- A graphical front-end for mtools built
using GTK 1.2.
[http://www.core-coutainville.org/mfm/]
- MtScript
- A multi-lingual text editor developed within the
MULTEXT Project
that allows the use of several
different writing systems in the same document. It provides
typical editing functions (e.g. insertion, delete, etc.) that
allow the interspersing of left-to-right and right-to-left
writing systems.
It also allows
the user the explicitly associate portions of the text with
a particular language and to associate keyboarding rules with any
language. MtScript can also handle different types of character
sets (e.g. single-byte, multiple-byte, etc.).
MtScript currently (3/97) supports Arabic, Bulgarian, Chinese (GB
and BIG5), Czech, Dutch, English, Estonian, French, German,
Greek, Hebrew, Hungarian, Romanian, Italian, Japanese, Korean,
Russian, Slovak, Slovene, Spanish, Swedish and Ukrainian, with
more to come. The character sets it currently supports
are ISO-8859-1 through ISO-8859-8, GB-2312-80, BIG5-0,
JISX-0208-1983-0, and KSC-5601-1987-0.
MtScript is presently available in binary form for Sun Solaris
and Linux (Intel) platforms upon agreeing to certain
usage conditions.
It was developed on a Sun UNIX
platform using C, X11, and Tcl/Tk.
Also required are several font sets available separately from
the distribution, although the MtScript site has links to each
of them. The documentation is currently in the form of HTML
that can be accessed from within the program.
[http://www.lpl.univ-aix.fr/projects/multext/MtScript/]
- MtSgmlQL
- An interpreter for the SGML query language
SgmlQL developed by the
MULTEXT Project.
The SgmlQL language is a functional language based on SQL which
enables complex operations on SGML documents. The capabilities
include: extraction of parts of an SGML document that satisfy
given criteria; tests, counts, and various other computations on
SGML elements in a document; and construction of new elements
and documents using the results of queries.
MtSgmlQL is available in binary form for Sun Solaris and
Linux (Intel) platforms upon agreeing to certain usage conditions.
The documentation is contained within the distribution and
also available online.
[http://www.lpl.univ-aix.fr/projects/multext/MtSgmlQL/]
- mtv/mtvp
- The MPEG TV player is a real-time software MPEG video
player with audio/sync.
The GUI version is shareware for all platforms including Linux,
although the included command-line version called mtvp
is freeware.
[http://www.mpegtv.com/download.html]
- M2000
- An emulator for the P2000 home
computer.
A source code version for Linux Intel platforms is available
which includes SVGALib and X drivers.
[http://www.komkon.org/~dekogel/m2000.html]
- MTX
- A Perl program for creating Web documents from
plain text documents.
[http://www.med.ufl.edu/medinfo/mtx/]
- MUDPACK
- A collection of Fortran routines that use
multigrid iteration
to approximate the solution to 2- and 3-D real and complex linear
elliptic PDEs on rectangular domains with any combination of periodic,
specified, or mixed derivative boundary conditions. This isn't
directly available via the Web but must be requested from the
author.
[http://www.scd.ucar.edu/css/software/mudpack/]
- Muffin
- A filtering proxy server for the Web which can filter
anything sent between a Web browsers and a server.
The filters are add-on modules loaded at runtime.
Several example filters are included as are ReplyFilter,
RequestFilter, and ContentFilter APIs.
The example filters include:
- AnimationKiller, which kills GIF89a animations
by either limiting the number of loops or turning them
into broken images;
- CookieMonster, which removes HTTP
cookie headers;
- Logger, which keeps a log of accessed URLs;
- Referer, which changes the HTTP referer header to
any URL or one chosen from a list;
- SecretAgent, which changes a the HTTP User-Agent
header to any Web browser of one chosen from a list;
- SecretServer, which changes the HTTP Server header;
- Snoop, which views all HTTP headers; and
- Stats, which maintains various statistics about
an HTTP session.
A source code distribution of Muffin is available.
It is written in Java and
requires JDK version 1.1 or more
to work. Browsers must be configured to use Muffin as
a proxy server. It is documented in ASCII files included
in the distribution.
[http://muffin.doit.org/]
- MuLaW
- A non-WYSIWYG authoring system for Web sites and HTML page
hierarchies which addresses the problems of multilingual
information presentation, hierarchical information presentation,
and unified layout which are often encountered when creating
large and/or sophisticated Web sites. MuLaW takes a file with
enhanced HTML markup as input and produces
pure HTML files. It is a browser- and server-independent
stand-alone program.
The source code for MuLaW, written in
Java (so the JDK
or an equivalent is needed to use it), is available.
Documentation is available in the form of a user's guide
in PostScript format.
[http://www.crosswinds.net/~dirkhillbrecht/mulaw/]
- MULCON
- A Fortran program for MULtiple shooting for parameter-dependent
two-point boundary value problems with a CONtinuation method.
MULCON solves such problems using numerical path following with
automatic steplength control.
The Fortran source code for this is documented via comment statements
within the code itself.
This is part of CodeLib.
[ftp://elib.zib.de/pub/elib/codelib/mulcon/]
- MULE
- The MULtilingual Enhancement to
GNU Emacs
which can handle not only 7 bit ASCII and 8 bit ISO Latin-1
characters but also Japanese, Chinese, and Korean characters
coded in the ISO-2022 standard and its variants.
There is Chinese support for both GB and Big5 as well as
support for Thai (based on TIS620), Vietnamese (based on
VISCII and VSCII), Arabic, and Ethiopian.
Text buffers in MULE can contain mixtures of characters from
any of these languages which can be input using various provided
methods.
It can also be used under a terminal emulator along with any
input methods provided by the emulator.
Different coding systems can be set for file input/output, keyboard
input, and inter-process communication.
A program called m2ps is supplied which converts MULE's
text to PostScript using BDF files for getting glyphs of characters.
There is also a program coco for converting codes supplied
by MULE.
A source code distribution of MULE is available which can
be installed on most if not all platforms on which Emacs
can be installed.
It is documented via the usual Texinfo
files as well as via some technical and conference papers
available in PostScript format.
As of version 20, the MULE capabilities have been fully merged into
the generic Emacs distribution.
[http://www.gnu.org/software/emacs/emacs.html]
- muLinux
- See distributions.
- multicast
- See MBone.
- Multics
- The ancestor of the UNIX operating system.
See Organick (1975).
[http://www.multicians.org/multics.html]
- multigrid
- Programs that implement some sort of multigrid algorithm include:
- AmrPoisson, which solves Poisson's
equation using multigrid relaxation and mesh refinement;
- BILUM, for solving general sparse linear
systems using Krylov subspace methods preconditioned by multilevel
block techniques;
- DAGH, an infrastructure for adaptive mesh
refinement techniques with multigrid/line-multigrid support;
- FEAT, a package for solving PDEs using
the FEM which includes some multigrid solvers;
- fsolver, a parallel flow solver
package that uses a multigrid elliptic kernel to compute velocity
and pressure fields;
- KASKADE, a C++ package for solving
PDEs using adaptive finite element methods which includes a variety
of multilevel/multigrid preconditioners;
- LASPACK, a package for solving sparse
linear systems which includes multigrid preconditioners;
- Madpack5, which implements multigrid
algorithms in an object-oriented fashion;
- MGGHAT, for the solution of 2nd-order
linear elliptic PDEs;
- MGLAB, a multigrid tutorial package;
- MUDPACK, a collection of Fortran routines
for 2- and 3-D real and complex linear elliptic PDEs;
- PadFEM, a system for creating parallel
FEM solvers which includes multigrid solvers;
- PLTMG, a package for solving elliptic PDEs
which includes a multigrid solver;
- Templates, a large set of algorithms
for the solution of linear algebra problems which includes multigrid
methods;
- TIDE, a collection of C++ classes for
performing numerical computation which includes a FEM class using
multigrid methods;
- UG, a flexible toolbox for the adaptive
multigrid solution of PDEs; and
- VarDen, a library of C++ classes for
solving the Navier-Stokes equations which includes several multigrid
classes.
[http://www.mgnet.org/]
- multikit
- A distributed, multicast-based directory browser that, similar to a
file system browser, displays one or more multicast directories each
containing announcements that have been multicast over the
MBone.
Multikit can be used to find out information about the events to which
the announcements refer and can also enable a user to participate in
an event.
It can be thought of as an interactive program guide for Internet
multicast services, although it also allows a user to create
announcements and create and organize directories.
Distributions of multikit are available for several platforms
including Linux Intel.
[http://www.live.com/multikit/]
- Multimix
- A program implementing the finite mixture model approach to clustering.
Multimix is designed to cluster multivariate data with categorical
and continuous variables and which possibly has missing values.
This is used for the statistical analysis of multivariate data
from a mixture of finitely many populations when there is no information
about membership in any component population, i.e. cluster analysis
or unsupervised learning.
The goal is to partition the sample into groups so that members of
each group are as similar as possible.
A source code distribution of this Fortran 77
program is available as are several technical reports.
[http://www.stats.waikato.ac.nz/Staff/maj.html]
[ftp://ftp.math.waikato.ac.nz/pub/maj/]
- MULTIMOD
- The MULTInational MODel is a dynamic multicountry macro
model of the world economy designed to study the transmission of shocks
across countries as well as the short- and medium-run consequences
of alternative monetary and fiscal policies.
The Mark III model includes explicit country submodels for each of the
7 largest industrial countries and an aggregate grouping of 14 smaller
industrial countries.
The remaining economies are aggregated into two separate blocks of
developing and transition economies.
The basic structure and properties of MULTIMOD represent a synthesis
of collective wisdom about how modern industrial economies function
and interact with each other. A consistent theoretical structure is
employed for all industrial economies, with cross-country differences
in the behavior of agents (or the functioning of markets) reflected
in different estimated parameter values.
The model converges to a balanced-growth path characterized by a
full stock-flow equilibrium in which debtor countries service
the interest payments on their net foreign liabilities with positive
trade balances.
Significant features of MULTIMOD include:
- a well-defined steady-state analogue model for each country as
well as for the world economy as a whole;
- a nonlinear relationship between unemployment and inflation
that reflects short-run capacity constraints and insider-outsider
influences on wage setting;
- consumption/saving behavior based on an extended
Blanchard-Weil-Buiter paradigm where agents are assumed to have
finite planning horizons;
- investment behavior based on Tobin's Q theory wherein the desired
rate of investment exceeds the steady-state rate as long as the expected
marginal product of capital is greater than its replacement cost;
- a standard specification of import/export behavior embodying the
notion that countries trade in diversified products;
- relating exchange and interest rates by an adjusted interest parity
condition that allows for persistent risk premia; and
- various fiscal policy instruments including government absorption,
distortionary capital taaxes, and nondistortionary labor taxes.
[http://www.imf.org/external/np/res/mmod/index.htm]
- MultiMON
- A monitor that collects, organizes and displays all the IP multicast
traffic detected at the location of the MultiMON server.
It is built as a client/server package which allows the data collectors
to be separate from the GUI front-end displays.
A source code distribution of this
Tcl/Tk 8.0 package is available.
Also required are tcpdump,
xplot, tcl-dp and
stooop, although versions of each are
included in the distribution.
[http://debra.dgbt.doc.ca/mbone/MultiMON/]
[ftp://debra.dgbt.doc.ca/pub/mbone/multimon/]
- multiple precision
- Packages offering multiple/extended precision or exact (or constructive) real
arithmetic include:
- Arithmos, an integrated computational
environment offering multiprecision and interval arithmetic capabilities
- BMP, a multiple precision floating-point
arithmetic package written in Fortran 77
- Cephes, a C mathematical
software library containing extended precision arithmetic capabilities
- CLN, a C++ library for
performing computations with all sorts of numbers
- CORE, C++ classes
supporting numerical computations with a variety of precision requirements
- C-XSC++, a library for accurate and
verified results that includes multiple precision capabilities
- FI_LIB, a fast interval arithmetic
library wirtten in ANSI C
- FMLIB, Fortran
routines for real arithmetic and elementary functions
- GMP, a library for performing multiple
precision arithmetic on signed integers, rational numbers, and floating
point numbers
- INTLAB, a Matlab
toolbox for self validating algorithms that includes multiple precision
interval arithmetic capabilities
- iRRAM, a C++ library
for error-free real arithmetic
- LInteger, C++
libraries supporting multiple precision integer arithmetic
- MPFR, a C library for
multiprecision floating-point computations with exact rounding
- MPFUN, a Fortran
77 and 90 library for multiprecision calculations
- MPSolve, solves for the roots of univariate
polynomials using multiprecision arithmetic
- PROFIL/BIAS, a C++
library supporting interval arithmetic
and operations on real numbers
- SIMATH, a computer algebra system containing
multiple precision arithmetic capabilities
- VPA, a Fortran 95
module implementing variable and arbitrary precision floating point
arithmetic
- XR, a C++ library
implementing exact or constructive real arithmetic
- MultiTrack
- A multitrack recorder for Linux which records to the hard drive.
It can record and play back up to sixteen tracks with no limit other
than the available space on the drive.
It has a user friendly interface for the manipulation and play back
of the recorded tracks.
The interface will work with either SVGAlib or X11 and includes
such features a volume and pan sliders and a CD player interface.
It was constructed using the SVGAGUI package.
Other features of MultiTrack include
import and export of WAV format files,
modifying track lengths,
adding or removing tracks from existing files,
tone generation,
effect modules for delay and equalizing,
a help browser, and more.
A binary version of MultiTrack is available for Linux Intel
systems. The author plans to make the source code available.
The program is documented in various files scattered about
the site.
[http://rulhmpc38.leidenuniv.nl/private/multitrack/multitrack.html]
[http://www.hitsquad.com/smm/programs/MultiTrack/]
- MultiWM
- An interactive Bash script for choosing
a window manager before starting the
X Window System.
Multiwm allows a user at startup to choose either a default
window manager (as chosen by the system administrator) or
another one from those available on the system (as also chosen
by the sysadmin). The user may also be asked to choose a
configuration type for some managers.
This script will remove some configuration files from the user's
home directory and replace them with others appropriate to
the chosen manager, so backup versions of any such files
should be created.
[http://www.cc.jyu.fi/~juhtolv/multiwm/]
- MUMPS
- The Massachusetts General Hospital Utility Multi
Programming System is a procedural, interpreted
general-purpose programming language oriented towards database
applications.
The features of MUMPS (also called M) include:
- untyped variables which are automatically converted between numeric
and string types;
- multi-dimensional associative arrays;
- persistent variables;
- good string handling capabilities;
- indirection, i.e. it can use strings computed at runtime as part of
the program text; and
- built-in multiuser/multitasking support.
It was originally used for medical records but is now used more
widely where multiple users access the same databases
simultaneously.
The given URL links to a freely available implementation of
MUMPS which is available in binary format for Linux Intel, Sun
Solaris, Windows 95/NT, and OS/2 platforms.
This implmentation can work either in standalone mode or as
a CGI script on the Web.
A user's manual is available in HTML format.
It also serves as the basis for a CGI compatible script language
called Merle available at the same site.
Additional information about MUMPS can be obtained at the
Web site of the
MUMPS Development Committee, including an
extensive MUMPS FAQ.
There is a Usenet group called
comp.lang.mumps.
[http://www.cs.uni.edu/~okane]
- MuPAD
- A system for symbolic and numeric computation, parallel
mathematical programming, and mathematical visualization. It is
intended to be a general purpose computer algebra system a la
Mathematica or Reduce, and consists of a small kernel written in
C and libraries written in the native MuPAD programming language, both
of which are machine independent. There is a terminal-based
user interface as well as GUIs for
UNIX and Mac platforms.
Currently there are library packages for linear algebra, polynomial
factorization, integration, number theory, typechecking, and various
other tasks, and users are encouraged to write and make available
their own. Plots can be created in 2- and 3-D and displayed
interactively as well as saved in ASCII, binary, raster, GIF or
PostScript formats. MuPAD has a functional programming language
with procedural extensions and Pascal-like syntax, and an increasing
number of parallel constructs are available. Dynamic modules are
also supported (on systems that support such things) where users
can implement algorithms in C (and eventually C++) which are compiled
and directly linked to the kernel at runtime. This allows an increase
in both speed and flexibility over the traditional library concept.
Various manuals are available in German and English and in hardcopy
and online hypertext versions.
Binaries are available for Mac and
Windows systems as well as several UNIX flavors including DEC
Alpha and Ultrix, HP, IBM RS600, Sun SPARC, SGI Indy, FreeBSD, Linux
and NetBSD. The available version is a full-featured demo with
limitied memory usage, a limitation which can be unlocked with a key
sent by e-mail once you have filled out and returned a license to
the developers by e- or snail-mail.
[http://www.mupad.de/]
- Mumail
- A full-featured X Window mail
reader, i.e. a
mail user agent (MUA).
The features of Mumail include:
full support for mail aliases,
MIME support,
configurable mouse and key bindings, and
the capability of attaching actions to custom buttons
calld QuickKeys.
A source code version of Mumail is available as is a binary
version for Linux Intel platforms.
It can be compiled and installed using either the supplied
imakefile or the makefile.
It is documented in an extensive man page.
[http://sunsite.unc.edu/pub/Linux/system/mail/mua/]
- Muppet
- An IMAP client written in
PHP. IMAP must be enabled in your PHP
installation for this to work.
[http://screwdriver.net/muppet/]
- Murphi
- A software engineering
package consisting of a description language based on a collection
of guarded commands and a formal verifier based on explicit state
enumeration.
The verifier performs depth- or breadth-first search in the state
graph defined by a Murphi description, storing all the states it
encounters in a large hash table. When a state is generated that
is already in the hash table, the search algorithm does not expand
its successor states.
A source code distribution is available which has been
successfully compiled on Linux Intel platforms.
Documentation consists of a user's guide and several technical
reports.
[http://sprout.stanford.edu/dill/murphi.html]
- Museinfo
- A library of C++ classes and example programs
designed for processing, analyzing and converting several types of
musical data formats including:
- Humdrum, a system of encoding simultaneous streams of information;
- MIDI, a binary format used in computer applications for sound and
notation;
- Musedata, the musical encoding format used by the CCAR folks
at Stanford that allows musical information to be printed, analyzed
or transformed into other types of musical encoding; and
- SCORE, a data format for printed music.
The classes in Museinfo include:
- Array, complex arrays with arithmetic operations;
- ChordQuality, for chord quality;
- CircularBuffer, stores elements in an array and keeps track of
the most recent element as well as one reading index;
- Collection, stores elements in an array and keeps track of the
size of the array;
- Convert,
- Enumeration,
- EnumerationData,
- HumdrumFile,
- HumdrumRecord,
- Identify,
- MidiFile, and
- MuseRecord.
The package also includes around 20 Humdrum and MIDI handling programs
created using the library classes.
[http://museinfo.sapp.org/]
- MUSH
- The Mail User's SHell is a
mail user agent (MUA) designed
to manage mail on most UNIX systems.
It can be used to read mail, sort it, edit it, delete it,
or use it to act as an interface to send mail to others
via a mail transport agent (MTA).
MUSH was originally designed to use
sendmail as an MTA but it can be
configured to use others.
The last official version of MUSH was 7.2.5, although various
upgrades in the form of diff files can be found at the MUSH
home site.
A diff file for compiling MUSH on Linux platforms can be
found at the Linux repositories.
This package is documented in an extensive man page.
[ftp://cse.ogi.edu/pub/mush/]
[http://sunsite.unc.edu/pub/Linux/system/mail/mua/]
- MusicTeX
- A TeX-based system to typeset music.
[http://www.gmd.de/Misc/Music/]
- MusiXTeX
- A TeX-based system to typeset music.
[http://www.gmd.de/Misc/Music/]
- Mutt
- A e-mail client developed by one of the folks involved in the
original development of Elm. This incorporates features from
Elm, Pine and even the Slrn newsreader which might give you
a clue as to the origin of its name. This includes no editor
and thus any favorite editor can be used with it. It can also
fetch mail from a POP server.
Mutt features include:
- configurable colorization of various screen elements;
- message threading;
- MIME support including support for encoded
headers;
- POP3 support;
- extracting URLs from messages and calling a browser to view them;
- support for multiple mailbox formats (e.g. mbox, MMDF, MH, maildir);
- significant customization options including key bindings;
- searches using regular expressions;
- Delivery Status Notification (DSN) support;
- PGP/MIME support (RFC 2015) support;
- message composition can be postponed for later recall;
- attachments can be included from the command line;
- multiple messages can be simultaneously replied to or forwarded; and
- .mailrc-style configuration files.
It also uses the same message format (mailx) as does Elm,
thus easing the transition.
The source code is available and includes complete
documentation. It has been compiled on most UNIX platforms including
Linux Intel.
[http://www.mutt.org/]
- mvm
- The minimal voicemail system is a
modem-independent voicemail system
implemented as a UNIX shell script
interfaced with IPC and a modem-independent voice mail function
library (i.e. mgetty/vgetty)
for implementing the low-level modem-dependent functions.
The features of mvm include:
- modem/FAX or voice detection and X.75 support;
- support for multiple languages;
- user ID, new user creation, access levels and passwords;
- voice mailboxes for each user with send, delete, forward and
reply functions;
- a dynamic menu system; and
- gateways, i.e. mail to voicemail (via English sythesis) and
voicemail to WWW.
A source code distribution is available which has been developed and
tested on a Linux system.
[http://www-internal.alphanet.ch/~schaefer/mvm/]
- MV++
- A small, efficient set of concrete vector and simple
matrix C++ classes specifically designed for high performance numerical
computing. The package includes interfaces to the computational
kernels found in BLAS.
The various MV++ classes form the building blocks of large user-level
libraries such as
SparseLib++ and
LAPACK++.
MV++ was designed to exhibit performance competitive with
optimized Fortran kernels, require minimal overhead in constructing,
assigning, and copying vectors and matrices, have data structure
compatibility with Fortran libraries and subroutines, and support
generic element types through templated parameters.
The features of MV++ include:
- two basic classes, i.e. a numerical vector
and column oriented dense matrix;
- efficient indexing as fast as native
C arrays;
- support for only unit strides (for efficient indexing);
- copy-by-value semantics;
- optional share semantics which allows vectors
to be constructed as views of references of an existing memory;
- vector views which can assign and reference sections of a vector but
cannot modify their size;
- block-range indexing and optional range
checking;
- support for both [] and () style indexing;
- unrolling of loops for copying and assigning vectors;
- the function
code for the () and [] operators
has been inlined into the class declaration (for compilers that
refuse to inline otherwise); and
- optional share semantics which allow
one to construct vectors as views of any contiguous C array.
The source code for MV++, written in C++ of course, is available
and can be used with g++. A user's guide in either PostScript
or HTML format is available.
[http://math.nist.gov/mv++]
- mWeb
- A tool that combines the Web and MBone and
can be used for distributed and programmed presentations via the
Web. This introduces real-time distribution of HTML pages and
synchronization of browsers via the Scalable Reliable Real-time
Transport Protocol (SRRTP) and
the Scalable Reliable File Distribution Protocol (SRFDP), both
of which are based on RTP and
SRM.
A source code distribution is available which requires
JDK 1.1.
Documentation is contained within a technical report.
[http://www.cdt.luth.se/~peppar/progs/mWeb/]
- MWMOD
- The MicroWave MODel is a radiative transfer code
for microwave frequencies.
It is written in Fortran and designed to
compute brightness temperatures for the microwave spectral region.
MWMOD consists of three modules:
- ENVGEN, which generates environmental quantities such as
temperatures, salinity, and densities for the atmosphere, ocean, and ice;
- IAPGEN, which computes interaction parameters from the
environmental data, e.g. the surface reflectivities from from the bistatic
reflection coefficients and the optical depths from the absorption and
scatter coefficients; and
- RADTRA, which solves the equation of radiative transfer from
the previously calculated interaction parameters.
A source code distribution of MWMOD is available. It is written
in Fortran and can be compiled using g77.
Its use is documented in a manual available in PostScript
format.
[http://www.ifm.uni-kiel.de/me/research/Projekte/RemSens/SourceCodes/source.html]
- MW3
- See Motif.
- Mx
- Mx is a combination of a matrix algebra interpreter
and a numerical optimizer. It
enables exploration of matrix algebra through a variety of operations and
functions. There are many built-in fit functions to enable
structural equation modeling and other types
of statistical modeling of data. It offers the fitting fuctions
found in commercial software such as
LISREL, LISCOMP, EQS and CALIS, along with facilities for
maximum likelihood estimation of
parameters from missing data structures, under normal theory.
Complex `nonstandard' models are
easy to specify. For further general applicability, it allows
the user to define their own fit functions, and
optimization may be performed subject to linear and
nonlinear equality or boundary constraints.
Binary executables of Mx are available for MS-DOS/Windows,
Linux ELF, AIX, HP-UX, DEC Alpha, SGI IRIX, SunOS, NeXT,
VAX/VMS, DEC Ultrix, and Alpha-AXP systems.
The documentation is available in a user's guide in
PostScript format.
[http://griffin.vcu.edu/mx/]
- MXENTRP
- A package of Fortran 77 subroutines for computing maximum entropy
spectral estimates of time series data.
This package contains a program called BURG which computes
the coefficients of a finite length causal forward or backward
prediction filter and uses both the forward and backward predictions
in a symmetric manner to generate the maximum entropy spectrum by
means of a Toeplitz recursion.
This package is available as source code written in Fortran 77.
It is documented via comment statements contained within the
source code file.
See Silvia and Robinson (1979).
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- mxFtp
- A Motif FTP client.
[http://www.ajsoft.freeserve.co.uk/mxapps/]
- mxODBC
- A Python interface to databases
accessible via the ODBC
API. This is accomplished either via an
ODBC manager or by directly linking to the database's ODBC driver.
The package should be easily adaptable to any ODBC 2.0 compliant
database driver or manager by changing the include directives to
point to the specific files for your database and a few other minor
adjustments.
This also includes several subpackages for accessing specific
database systems including MySQL.
A source code distribution is available.
[http://starship.python.net/crew/lemburg/mxODBC.html]
- mxTextTools
- A set of fast text manipulation tools for Python.
This package contains:
- a fast search mechanism;
- a finite state machine (FSM) for doing fast tagging;
- a set of functions to aid in postprocessing the output; and
- a set of functions for handling sets of characters.
A source code distribution is available which requires
Python 1.5 or greater.
[http://starship.python.net/crew/lemburg/mxTextTools.html]
- MySQL
- A database server that uses the Structured Query Language (SQL), i.e.
the most popular database language in the world.
The features of MySQL include:
- full multi-threading capabilities using kernel
threads;
- APIs for C, C++, Java, Perl, Python and Tcl;
- a wide range of column types including signed/unsigned integers,
FLOAT, DOUBLE, VARCHAR, TEXT, etc.;
- fast joins using an optimized one-sweep multi-join;
- implementation of SQL functionality via a highly optimized class library;
- full support for SQL GROUP BY and ORDER BY as well as for
group functions COUNT, AVG, STD, SUM, MAX and
MIN;
- support for LEFT OUTER JOIN with ANSI SQL and
ODBC syntax;
- mixing tables from different databases in the same query;
- a flexible and secure privilege and password system and encryption of
all network password traffic;
- very fast B-tree disk tables with index compression;
- up to 16 indexes per table with each consisting of from 1 to 15 columns
or parts of columns;
- fixed and variable length records;
- hash tables in memory used as temporary tables;
- handling large databases (e.g. up to 50 million records thus far);
- a fast thread-based memory allocation system;
- a fast table check, optimization and repair utility;
- full ISO-8859-1 (Latin 1) support with all data saved and sorting
performed in that format;
- aliasing on tables and columns per SQL92;
- server support for error messages in many languages; and
- client connection to server via a TCP or UNIX sockets.
<P>
Source code and binary versions of MySQL are available as
is the source code for several useful ancillary programs.
The documentation is available in several popular formats.
Many additional programs are available that have interfaces
for using MySQL.
See
DuBois (1999) and
Yarger et al. (1999).
[http://www.mysql.com/]
- gmysql
- A graphical front-end for MySQL built
using GTK+.
[http://www.loth.demon.co.uk/gmysql/]
- mrDBC
- A set of Python classes that make it easy
to work with MySQL.
The classes can handle a main table with an additional table containing
optional attributes, making it easy to add a new attribute without
changing the structure of the table.
Additional features include:
- tracking create information;
- tracking modification information;
- caching objects; and
- locking objects for time of access.
[http://heimat.de/mrtopf/mrdbc/]
- MyAdmin
- A CGI script written in Perl
for adminstering the MySQL database.
The functionality includes:
- remotely creating and dropping databases and tables;
- remotely altering tables;
- support for the features of MySQL 3.22.X;
- full MySQL datatypes keys and indexes; and
- simple installation.
A source code distribution is available.
[http://myadmin.cheapnet.net/]
- MzScheme
- An R4RS Scheme interpreter. This is an extended version
designed to be embedded into applications that need Scheme as
an extension language, e.g. it is easy to link C/C++ applications
to MzScheme and add new primitive procedures.
The features include:
- pre-emptive threads for all platforms;
- generative structures a.k.a. record datatypes;
- built-in exceptions where each primitive error raises one;
- first-class compilation units (modules) for organizing
program components;
- a class-based object system;
- built-in regular expression matching tools;
- simple TCP communication support;
- portable filesystem access procedures; and
- platform-specific process control.
MzScheme is available only in binary
form for several platforms, including Linux (in a.out format).
The documentation includes a reference manual and a manual
for embedding and extending MzScheme in several printable
formats.
[http://www.cs.rice.edu/CS/PLT/packages/mzscheme/index.html]
[ home /
linux ]
Next: Na-Nm
Up: Linux Software Encyclopedia
Previous: Ma-Mm
  Contents
Manbreaker Crag
2001-03-08