next up previous contents
Next: Na-Nm Up: Linux Software Encyclopedia Previous: Ma-Mm   Contents

Mn-Mz

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$\sigma$H, or N$\sigma$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 $\sigma$ and $\pi$ 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:

[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 up previous contents
Next: Na-Nm Up: Linux Software Encyclopedia Previous: Ma-Mm   Contents
Manbreaker Crag 2001-03-08