Next: Mn-Mz
Up: Linux Software Encyclopedia
Previous: Ln-Lz
  Contents
Last checked or modified: Aug. 25, 2000
[home /
linux ]
CATEGORIES |
NEW
Aa-Am |
An-Az |
Ba-Bm |
Bn-Bz |
Ca-Cm |
Cn-Cz |
Da-Dm |
Dn-Dz |
Ea-Em |
En-Ez |
Fa-Fm |
Fn-Fz |
Ga-Gm |
Gn-Gz |
Ha-Hm |
Hn-Hz |
Ia-Im |
In-Iz |
Ja-Jm |
Jn-Jz |
Ka-Km |
Kn-Kz |
La-Lm |
Ln-Lz |
Ma-Mm |
Mn-Mz |
Na-Nm |
Nn-Nz |
Oa-Om |
On-Oz |
Pa-Pm |
Pn-Pz |
Qa-Qm |
Qn-Qz |
Ra-Rm |
Rn-Rz |
Sa-Sm |
Sn-Sz |
Ta-Tm |
Tn-Tz |
Ua-Um |
Un-Uz |
Va-Vm |
Vn-Vz |
Wa-Wm |
Wn-Wz |
Xa-Xm |
Xn-Xz |
Ya-Ym |
Yn-Yz |
Za-Zm |
Zn-Zz |
- M
- See MUMPS.
- MacAnova
- An interactive program for statistical analysis and
matrix algebra. It features powerful commands for such
things as regression analysis, analysis of variance, multivariate
analysis, and time series analysis. Such features as graphical
displays and computation of summary statistics also make it
useful for more elementary analyses.
The Macanova capabilities in working with linear and generalized
linear models include:
- a linear model grammar with multiple error terms and shortcuts
for polynomial and periodic regressions;
- up to 95 variables of which 32 can be factors;
- on the fly transformations of dependent and independent variables;
- ANOVA, MANOVA and regression with optional weights;
- robust ANOVA and regression;
- logistic, probit and Poisson regression;
- iterative proportional fitting;
- branch and bound determination of best subset regression
with ability to save the model selected;
- power and sample size functions for CRD and RBD;
- residual plots and macros;
- model coefficients, standard errors, and contrasts;
- t-tests and confidence intervals;
- weighted analyses;
- expected mean squares; and
- a macro for nonlinear least squares.
The time series capabilities include:
- fast Fourier transforms;
- convolution and sums of lagged products;
- forward and backward autoregression and moving average operators;
- a Yule-Walker solver and its inverse;
- ACF to partial ACF and its inverse;
- spectrum and cross-spectrum analysis, including multi-taper estimation;
- macros for least squares and maximum likelihood estimation of ARIMA
models, including seasonal models;
- macros for Hannan-Rissanen and innovations estimation of ARIMA models;
- macros for computing approximate covariances and variances of
autocorrelations using Barlett's formula;
- macros to compute the autocovariance function and the spectrum
corresponding to an ARMA model; and
- times series and frequency function plots.
MacAnova is available in binary format for Mac and Windows
platforms and as source code that should compile on most
generic UNIX platforms. Makefiles are included for HP/UX,
DEC Ultrix and a Linux makefile is promised (3/97) for a
future release, although there is already a platform.h
file modified for Linux platforms.
An introductory document is available in PostScript format and
a manual is available in PDF format.
[http://www.stat.cmu.edu/macanova/]
[http://www.stat.umn.edu/~gary/macanova/macanova.home.html]
- Macaulay2
- A software system devoted to supporting research in algebraic
geometry and commutative algebra.
It's capabilities are extensive, and just as soon as I sift
through the documentation I'll provide them in a bit of detail.
The Macaulay system is available in source code form or as
a binary for NeXT, SGI IRIX, Windows 95, Linux Intel (ELF),
Sun SunOS, and HP-UX platforms.
It is extensively documented in a large user's manual (236 pages)
and a tutorial, both of which are available in TeX
DVI format.
[http://www.math.uiuc.edu/Macaulay2]
- MacGate
- A gateway between IP and Macintosh LocalTalk
for Linux based on ipddpd.
MacGate translates IP packets to LocalTalk and LocalTalk to IP
by creating a pseudo-ethernet interface for each Mac on the
LocalTalk segment, with these interfaces dynamically added and
deleted as Macs need TCP/IP services.
It does not require a LocalTalk router like ipddpd but rather
creates a virtual router.
It is recommended that MacGate only be used if there are no
other LocalTalk IP Gateways running on your local net, in which
case you can use ipddpd instead.
This is meant to be used to the COPS LocalTalk PC card driver
available at the same site.
See also netatalk,
hfs_fs,
hfsutils, and
CAP.
[ftp://ftp.linux.org.uk/pub/people/jschlst/MacGate/]
[http://www.debian.org/Packages/stable/net/macgate.html]
- Mach
- A operating system project started in 1985 whose goals included:
- providing interprocess communication functionality at the kernel
level and using it as a building block for the rest of the system,
- virtual memory support provided by the kernel and by user level servers,
- kernel level support for light-weight threads,
- support for closely and loosely coupled multiprocessors and a variety of
different commercially available workstations,
- micro-kernel architecture limiting the functions supported by the
micro-kernel and enabling multiple user level servers to support various
application and programming interfaces,
- maintaining at least one UNIX-style API to enable Mach to support all
the everyday uses of the project members and other researchers, and
- distributing Mach to other researchers and commercial sites to use
as the basis for further research or products.
The original research site was Carnegie-Mellon University, and
although CMU no longer (2/99) does work on the Mach kernel they
do currently do work on a couple of extensions.
Mach-related research projects include:
Freely available overview and detailed documentation includes:
Books which contain information about Mach are
Boykin et al. (1993),
Coulouris et al. (1994),
Milojicic (1994),
Silberschatz et al. (1991),
Tanenbaum (1995), and
Zimmermann (1993).
[http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html]
- Lites
- A 4.4 BSD Lite-based server and emulation library that provides
UNIX functionality to a Mach-based system.
Lites provides binary compatibility with 4.4 BSD,
NetBSD,
FreeBSD and
Linux on the Intel platform.
It works on top of Mach 3.0 (MK83a), RTMach and Mach 4.
The documentation is contained mainly in a master's thesis available
in PostScript format.
[http://www.cs.hut.fi/~jvh/lites.html]
- Real-Time Mach
- A real-time operating system that is
microkernel-based and focuses on the subject of distributed real-time
OS mechanisms and services for developing and supporting real-time
and multimedia applications in current and future OSs.
[http://www.cs.cmu.edu/afs/cs.cmu.edu/project/art-6/www/rtmach.html]
- MACHCON
- A set of three statement functions that provide machine dependent
information.
The use of these functions in Fortran programs allow programs to
be moved from one machine or architecture to another by simply
changing the functions.
The routines are D1MACH, I1MACH, and R1MACH and
provide machine dependent information about, respectively,
double precision, integer, and real number limitations.
This is part of CMLIB.
See Fox et al. (1978).
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- macopt
- A conjugate gradient algorithm that makes use of gradient information
and doesn't need a routine to return function values.
The features include:
the optimized parameters are all contained in a single double precision vector;
an adaptive step size used for the initial step of the line search;
gradients used in the line search;
immediate termination of the line search once the minimum has been bracketed;
internal checks to ensure consistent between line search direction
and gradient; and more.
Source code versions of macopt are available in both
C and C++.
[http://wol.ra.phy.cam.ac.uk/mackay/c/macopt.html]
- MacroCALC
- A Lotus 1-2-3 compatible character-based spreadsheat which
supports 1000 rows, 64 columns, 40 functions, 8 display
formats, file linking, macro programming and user-definable
functions.
It is fully integrated with Groff
(and its precursors), units, man, Gawk
(and its precursor), Perl, and sh.
It can act as a filter enabling users to use pipes to perform
complex transforms on streams of data, and contains a C
programming interface as well as Lotus WKS and dBASE
file support. The MacroCALC internal file format is flat
ASCII and thus easily manipulated with many tools.
This is also supposedly the only spreadsheet that manages
units as well as numbers.
Function- and cursor-keys and extended video attributes are
supported, and the menus and messages are in separate
editable files and can easily be translated into any language
(with English, French and German supported in the distribution).
MacroCALC has been sold as a professional product for various
UNIX systems and is RCS-controlled,
lint-clean ANSI C source based on yacc, lex and
ncurses. It can be used on any
terminal or emulator which has a correct terminfo entry and
has convenient user interface very similar to that of
Lotus 1-2-3.
Every command in the package has a detailed English man
page.
See also Teapot.
[http://www.freakout.de/]
- macutils
- A collection of utilities for handling Macintosh files on UNIX
systems.
The package includes:
- macunpack, a Macintosh file de-archiver which will unpack
archives created with
PackIt, StuffIt, Diamond, Compactor/Compact Pro, most
StuffItClassic/StuffItDeluxe, all Zoom and LHarc/MacLHa, and
later versions of DiskDoubler as well as decode files created by
BinHex5.0, MacBinary, UMCP, Compress It, ShrinkToFit,
MacCompress, DiskDoubler, and AutoDoubler;
- binhex, which reads a MacBinary stream or a list of files and
directories and outputs all files in binhexed (.hqx) format;
BinHex 4.0 format on standard output;
- frommac, which will receive on or more files from a Mac using
the XMODEM protocol;
- tomac, which will transmit a MacBinary stream or named files
to the Mac using the XMODEM protocol;
- macstream, which reads files from a
UNIX host and outputs a
MacBinary stream containing those files with information about the
directory structure; and
- macsave, which reads a MacBinary stream from standard input
and writes the files according to given options.
A source code distributions of macutils is available. All of
the utilities are written in C and documented in separate man
pages as well as in some ASCII files.
[http://tug2.cs.umb.edu/ctan/tex-archive/tools/macutils/]
- MAD
- The Machine Aided Deconvolution package is a
powerful image processing system which can be used to recover
images from blurred and noisy representations thereof.
It does this by solving a particular class of ill-posed inverse
problems modeled with the convolution equation.
The particular solution methods used by MAD include
Tikhonov regularization variations such as the optimal-mu
method, the discrepancy-function method, the L-curve
method, and generalized cross-validation (GCV).
Available iterative solution methods include
the Landweber-Fridman (LF) method, the Positive Landweber-Fridman
(LF+) method, the steepest descent method, the conjugate
gradient method, the the maximum entropy/Lucy-Richardson method
(ME/LR).
A source code distribution of MAD is available which has been
compiled and tested on OSF-1 Alpha and Linux Alpha and Intel
platforms. It also requires the use of the
XForms library.
A user's manual is currently (2/98) available online and
is promised in PostScript form.
[http://xtc.fisica.unige.it/mad/english.html]
- MAD
- The Methodical Accelerator Design package is
a tool for modeling charged-particle optics in alternating-gradient
accelerators and beam lines.
The features include:
- linear lattice parameter calculations;
- linear lattice and transfer matrix matching;
- survey calculations;
- error definitions;
- closed orbit corrections;
- particle tracking;
- chromatic effects and resonances;
- file services;
- intra-beam scattering;
- lie-algebraic analysis; and
- debugging services.
The MAD framework is written in object-oriented
C++ to make is easy to add
new features to existing classes or new classes.
Source and binary distributions are available, as are user and
class structure manuals.
[http://wwwslap.cern.ch/mad/]
- MAD (parallel)
- The Monitoring And Debugging environment provides
debugging support in a parallel computing environment.
The goal of MAD is to provide an environment for all activities involved
in the debugging task with a user interface that allows usage without
a lot of prior knowledge of the underlying implementation.
The components of MAD include:
- MAD, a program that provides a control structure for using the
other programs;
- ATEMPT, a tool for event manipulation that visualizes tracefiles
as a global communication graph, i.e. an event graph, a partially ordered
graph in time that shows the communication among parallel executing
processes;
- FileBrowser, an integrated file browser for the environment;
- libtrcUtil, a library of tracefile utilities;
- libGUP, a library with various GUP utilities; and
- a suite of example tracefiles.
Binary versions of all of the components are available for Linux Intel
and other platforms.
[http://www.gup.uni-linz.ac.at:8001/research/debugging/mad/]
- Madpack5
- A linear algebra package for numerically approximating the
solution to partial differential equations using
multigrid methods.
One or more levels (or grids) may be used and abstract
multilevel algorithms are implemented in an object oriented
fashion (although not using C++).
Numerous iterative and direct solvers are provided as well as
interfaces to some commonly used solvers.
The package can be used with real or complex data and a method
is provided for user-defined data types.
The solvers provided include:
- Bi-CGSTAB;
- conjugate gradients;
- point Gauss-Seidel with either natural
ordering or a parallel domain decomposition style ordering;
- sparse Gaussian elimination for matrices with a symmetric
nonzero structure; and
- symmetric Gauss-Seidel pointwise or with conjugate gradient
acceleration or with minimum residuals.
The package supports one dense and six sparse matrix storage
schemes.
Madpack5 is written in C and Fortran and is set up to compile
and install on many generic UNIX platforms.
The package is documented in a 40+ page user's manual
in PostScript format.
[http://casper.cs.yale.edu/mgnet/www/mgnet/Codes/madpack5]
[http://www.cerfacs.fr/~douglas/mgnet/Codes/madpack5/]
- MAGE
- A program to view and explore kinemages, i.e. scientific illustrations
presented as an interactive computer display.
The features include:
interactive rotating, panning and zooming to visualize objects in 3-D,
on-screen graphical editing,
selection of which graphical objects to display,
selection of various views of an object;
stereo imaging capabilities, and much more.
MAGE is available in binary format for several platforms
including Linux Intel.
Another program called Prekin which is used to create
kinemages for viewing with MAGE hasn't yet (5/97) been
ported to Linux.
MAGE is documented in an ASCII text file.
[http://kinemage.biochem.duke.edu/website/kinhome.htm]
[http://molbio.info.nih.gov/doc/mrus/mage.html]
- Magenta
- An agent
communication language (ACL) API which facilitates
communication between agents located in a heterogeneous computing
enviroment. Magenta supports communications in such ACLs as
KIF and KQML.
Various interaction paradigms such as anonymous agent interaction,
client/server, and peer-to-peer are supported.
Simple abstractions layers can be added to the API which allow
users to view the API is a specialized manner.
An example of this included in the distribution is a frame based
or object-oriented model in which all communications are
object creation, deletions, method calls, attribute set/get, or
logical queries.
Other layers can be developed to allow users to view their
communications without having to know about ACL.
Versions of Magenta are available for both C++
and Common Lisp (with two versions available
for the latter).
The distributions are documented in various text files scattered
throughout as well as on the Web site.
[http://logic.stanford.edu/software/magenta/]
- Magic
- An interactive system for creating and modifying VLSI circuit layouts.
A color graphics display and a mouse are used to design basic cells and
combine them hierarchically into larger structures.
Magic uses a sort of expert system to provide additional operations and
information as circuits are constructed, e.g. built-in knowledge of
layout rules allows it to continually check for rule violations
during editing operations.
It knows about connectivity and transistors and contains
a built-in hierarchical circuit extractor.
It also has a plow operation that can be used to stretch or compact
cells and routing tools that can be uses to make global interconnections
in circuits.
The features included in the latest version of Magic (6) include:
- routing improvements including an improved global router, a gate
array router, and an interactive maze router;
- extractor enhancements including better resister extraction and
accurate path length extraction;
- a new contact structure in which multilayer contacts are
handled better; and
- an interface to the IRSIM simulator.
Source and Linux binary distributions are available.
An extensive user's manual is included in the distribution in
PostScript format.
[http://www.research.digital.com/wrl/projects/magic/magic.html]
[http://sunsite.unc.edu/pub/Linux/apps/circuits/]
- MagicFilter
- An extensible, customizable printing filter that can enable
a wide range of printers to automatically print a wide range
of file types.
It automatically detects file types by searching for magic numbers
and then invokes appropriate conversion utilities to transform
a file into PostScript format if necessary.
The utilities required for full use of MagicFilter are
Ghostscript,
Netpbm,
nenscript or
enscript,
dvips, and
Groff.
A large number of printers are also supported, although the
appropriate files have only been thoroughly tested on a few
printer types.
A source code distribution of MagicFilter is available.
It is written in C and can be compiled and used on most
UNIX flavors including Linux.
Documentation within the code is sparse, although
a man page is generated when the distribution is compiled.
An article in the Nov. 1997 issue of the
Linux Journal gives a good
description and overview of MagicFilter.
[http://sunsite.unc.edu/pub/Linux/system/printing/]
- MagicPoint
- An X11-based presentation tool not wholly unlike
a similarly named commercial package sold by those not wholly unknown
in the darker realms.
This allows specially marked up files containing text and control
commands (i.e. MagicPoint files) to be either shown as full-screen
presentations on an X11 window or printed as PostScript slides.
Images in several formats can also be included in the presentations.
The programs in the package include:
- mgp, which converts MagicPoint files to on-screen
presentations;
- mgp2ps, which converts the MagicPoint files to
PostScript format;
- mgpembed, which converts a MagicPoint file to an embedded
MagicPoint file, i.e. one in which external references are resolved; and
- mgpnet, a small HTTP server for making
presentations on the Web.
The programs are documented in man pages.
Several example MagicPoint files are also included in the
distribution as templates for creating new presentations.
The distribution can be compiled on most UNIX/X11 platforms via
the included Imake files. A
Perl distribution is also required for
full usage.
[http://www.mew.org/mgp/]
- MagicPoint Gallery
- A collection of reusable templates for
MagicPoint, the presentation tool for
UNIX systems.
[http://puchol.com/cpg/software/mgp/]
- magnum
- A portable and extensible C++ class
library which implements various fast factorization algorithms
for univariate polynomials over finite fields or the ring
of integers.
A source code distribution is available.
It is written in C++ and can be compiled with
G++. Compilation also requires
Gawk, sed, lex, and yacc.
The documentation is all in German and available in both
PostScript and LaTeX formats.
[ftp://obelix.statistik.uni-mannheim.de/public/magnum/]
[http://www.loria.fr/~zimmerma/mupad/magnum.html]
- Magnus
- A package designed to explore infinite groups and carry out experiments
with them.
This is available either as source code or in binary format
for Linux Intel ELF platforms.
A user's manual is included in TeX format.
[http://www.grouptheory.org/]
- MagPIe
- A library of MPI collective communications
operations optimized for wide-area systems. MagPIe is a separate
library designed to be an add-on to
MPICH. No changes are needed to application
sources to use this, although two functions need to be implemented
that tell MagPIe how many clusters a wide-area system has and
which MPI porcess is located in which cluster.
A source code distribution is available.
Documentation includes a couple of technical reports.
[http://www.cs.vu.nl/albatross/]
- MagSolve
- An interactive suite of programs for the solution of 2-D
static magnetic field problems using finite elements (FE).
The MagSolve package includes utilities for geometry specification,
automatic FE mesh generation, problem solution, and solution
analysis.
It is divided into pre-processing, processing, and
post-processing modules.
The pre-processing module includes:
- the capability of importing DXF drawing files (from packages such
as AutoCad),
- a suite of drawing tools for designing models from scratch or
editing imported files,
- the automatic generation of a rough FE mesh from input
geometry specifications,
- adaptive mesh refinement to ensure the attainment of an accurate
solution from the initial rough mesh, and
- the addition of constraints (e.g. currents and material properties)
via interactive pop-up windows.
The processing module solves the governing equations on the FE
mesh for 2-D magnetostatic problems including the effects
of iron saturation.
The post-processing module allows the user to view the solution
in terms of fluxlines and flux densities as well as calculate
quantities such as force and core loss.
It can also generate PostScript
files of any interactively generated plot.
The MagSolve package is available in binary format for
Linux Intel, HP-UX, and Sun SunOS platforms.
The source code is available upon request.
A user's manual in PostScript
format is available.
[http://elecmag3.ucd.ie/e3-magsolve/e3-magsolve.html]
- Mahogany
- An Open Source cross-platform mail
and news client.
The features include:
- full support for SMTP,
POP3, IMAP,
NNTP and several different mail folder
file formats;
- full MIME support including editing
in a composition window and support for external viewers;
- support for any number of mixed types of incoming mail folders;
- FAX receiving via efax.com;
- support for X-Faces and user-defined message headers;
- an embedded Python interpreter for
full object-oriented scripting capabilities and access to the
internal structures and classes;
- a complete address and contact management database including
option auto-collection of addresses from incoming mail;
- extensive configurability with different configurations for
different mail folders;
- full I18N support;
- a GUI based on GTK;
- support for Emacs email address databases;
- tree control based hierarchical folder management in the main window; and
- a context-sensitive, HTML-based help system.
Several other features are currently (5/99) under development including
a filtering language, encryption support, message templates, and more.
A source code distribution is available.
[http://mahogany.home.dhs.org/]
- MailTools
- A collection of Perl 5 modules related to email
in some way.
The collection includes:
- Mail::Address, which extracts a person's name from an address;
- Mail::Alias, which manipulates mail alias files in various formats;
- Mail::Cap, which parses mailcap files as per RFC
1524;
- Mail::Field, a base class for packages that create and manipulate
fields from email and MIME headers;
- Mail::Filter, an interface for filtering mail through multiple
programs or subroutines;
- Mail::Header, a class object for reading, creating, manipulating
and writing RFC 822 compliant headers;
field names in headers;
- Mail::Internet, for reading, creating, manipulating and writing
messages with RFC 822 compliant headers;
- Mail::Mailer, which sends mail using any of the available
built-in methods;
- Mail::Send, a simple email interface; and
- Mail::Util, which provides several email-related utility functions.
A source code distribution is available.
[http://cpan.valueclick.com/modules/by-module/Mail/]
- mail transport agent (MTA)
- The available MTAs (i.e. mail servers) include:
- mail user agent (MUA)
- The MUAs available include:
- Arrow, a MUA with features found in such
things on Mac and Windows systems;
- BlitzMail, a client-server system;
- Elm, probably the most popular non--GUI mail reader;
- exmh, an X11 interface for
MH;
- Mahogany, a cross-platform mail and
news client
- Mew, an Emacs mail interface;
- MH, a set of programs for handling mail;
- ML, a mail program and message processing system
designed around the IMAP protocol;
- Mumail, an X11 reader with MIME
support;
- MUSH, a mail user's shell;
- Mutt, based on Elm with some
additional features;
- nmh, a drop-in replacement for MH;
- Pine, designed for novice users but with features for
more advanced users;
- POSTIE, a command-line mailer;
- Postilion, based on TkRat
with additional features to create a clone of the NeXT mail app;
- Pronto, developed using
GTK and Perl;
- QMH, a system for handling email complaints;
- SOMA, a reader based on XViews;
- ThorMail, a Web mail interface;
- TkRat, a reader built on Tcl/Tk;
- UMT, a reader with an RTF editor and viewer;
- XCmail, designed to read mail with
MIME attachments; and
- XMail, an X11 mail user interface.
- mailing lists
- Mailing list and related software for Linux systems includes:
- bestserv, can be used with
sendmail;
- eSquire, a mailing list manager designed as
a replacement for majordomo;
- JMail, a program for archiving mailing
lists and exporting the list to the Web;
- Listar, a modular mailing list package;
- ListProcessor, a system for automating
and archiving mailing lists;
- Mailman, with a Web interface for users and
administrators;
- majordomo, the most widely used package;
- minimalist, a minimal mailing list manager;
- minordomo, a mimimalistic replacement for
majordomo;
- Pandora, a Web-based management tool for
majordomo;
- Petidomo, a sort of successor to
majordomo with additional features;
- Pipermail, a Python
tool for maintaing Web-based archives of mailing lists;
- qmail, a full MTA with mailing list
capabilities;
- SmartMail, a mailing list package built on
top of procmail; and
- Sympa, a mailing list manager.
- Mailman
- A program that automates email-based mailing lists which differs from
other mailing managers in that it has a well-developed web interface
for list users and administrators. Users can change their options and
subscribe or unsubscribe via the web, and administrators can configure,
moderate, and maintain the list via the web.
The features include:
- standard mailing list features such as moderation, mail-based
commands, digests, etc.;
- an extensive web interface customizable on a per-list basis;
- a web-based list administration interface for all adminstration tasks;
- integrated mail list to newsgroup (and vice-versa) gatewaying;
- automatic web-based hypermail-style archives;
- smart bounce detection and correction;
- fast bulk mailing;
- smart spam protections;
- multiple list owners and moderators; and
- optional MIME-compliant digests.
A source code version of Mailman is available. It should run on
any platform on which Python and
either sendmail or smail
are installed.
Documentation is included in the distribution.
[http://www.list.org/]
- Maisie
- A C-based simulation language that can be used for sequential
and parallel execution of discrete-event simulation models and
that can also be used as a parallel programming language.
It can execute a discrete-event simulation model using several
different asynchronous parallel simulation protocols on a variety
of parallel architectures. It is designed to cleanly separate
the description of a simulation model from the underlying
simulation protocol used to execute it, which enables a Maisie
program to be execute, with few modifications, using the
traditional sequential simulation protocol or one of many
parallel optimistic or conservative protocols. It also
provides powerful message receiving constructs that result in
shorter and more natural simulation programs along with
debugging and message tracing facilities.
The source code for Maisie is available along with
many examples. There are special instructions for
compiling it on Linux boxes. The Maisie runtime system is implemented on
top of PVM, the Cosmic Enviroment, and
UNIX sockets. A user's guide in PostScript format is
available along with much HTML documentation online.
In the works (3/97) are a visual programming environment and
a WWW interface. This is being (2/98) superseded by
PARSEC.
[http://may.cs.ucla.edu/projects/maisie/]
- majordomo
- A program which automates the management of Internet mailing lists.
Commands are sent to Majordomo via electronic mail to handle all
aspects of list maintenance. Once a list is set up, virtually
all operations can be performed remotely, requiring no intervention
by the postmaster at the list site.
The Majordomo software does not itself perform mail delivery but
rather controls a list of addresses for some mail transport
system (e.g. sendmail or smail) to handle.
Majordomo features include:
- support for various types of lists
including moderated ones;
- list options which can be easily set
via a configuration file and remotely edited;
- archiving and remote retrieval of messages;
- digests of messages and FTPMAIL;
- confirmation of subscriptions and list filters; and
- list filters.
The package actually consists of several programs which perform
specific tasks including:
- majordomo, the main program which is invoked
each time a message arrives for it;
- resent, which checks the command
line options of a message when it arrives to appear on a list;
- wrapper, which allows other Majordomo programs to run as a trusted
user so they can set the correct envelop sender address;
- bounce, which helps handle subscribers whose mail is bouncing;
- approve, which simplifies the approval of subscriptions or
moderated messages;
- new-list, which answers mail sent to a new list; and
- request-answer, which answers mail sent to the address
listname-request and tells people how to send mail to majordomo.
The Majordomo package is written in Perl (except for the wrapper
program) and should work with Perl 4.036 or 5.002 or greater (i.e.
it will not work with Perl 5.001).
There is an article in the May 1995
Linux Journal
describing this and how to set it up, and similar information
can be found in a chapter of Peek (1994).
A Web-based front-end to Majordomo is
Pandora.
See Liu et al. (1994).
[http://www.greatcircle.com/majordomo/]
- MajorCool
- A CGI script written in
Perl that provides a Web interface to
majordomo.
MajorCool adds to the features of majordomo with several GUI
techniques such as balloon help, per-user preferences, and
mouseover cues.
It also extends the address matching capabilities of majordomo
via the use of configurable modules.
This allows the identification of list subscribers by multiple
valid addresses.
A source code distribution is available.
[http://www.conveyanced.com/MajorCool/]
- make
- A utility for maintaining groups of programs, make provides
a simple mechanism for maintaining up-to-date versions of
programs that are created by performing several operations on
a large collection of files.
See Oram and Talbott (1991).
Related software includes:
- automake, a makefile generator;
- bras, an alternative to make;
- CONS, an alternative to make;
- Cook, a software compilation system;
- dmake, a generic parallel make utility;
- GNU Make, the hopped-up GNU version of make;
- Icmake, a hybrid between a make utility and
a scripting language;
- Jam, a redone make;
- jmake, an automated alternative to
creating makefiles;
- Makefiles, a set of rules
for compiling structured
projects using other make implementations;
- makepp, a drop-in replacement for GNU
make with improved and additional features;
- MK, a software compilation and revision control
system;
- Odin, a make replacement with additional features;
- package, a skeleton framework into which
source trees can be imported to create releaseable, buildable packages;
- ppmake, a parallel make utility running on top
of PVM,
- prototype, a collection of Makefiles and
templates for easing the construction and maintenance of projects,
- SMake, a mechanism for generating
standard makefiles
out of skeleton makefiles which provide only the essential parts, and
- TMAKE, for creating plaform-independent
makefiles.
- Makefiles
- A set of rules for compiling structured projects with small
and uniformly structured makefiles. All the rules are located
in a central directory, and compiling the projects on different
platforms can be done without modifying any of the makefiles
in the individual project directories.
The structure consists of a set of small makefiles, each located
in the project's leaf directory and called leaf-makefiles.
Each of these contains no rules but simply define some macros
for the make program and include two files from a central
make rule depository. The included files and the files recursively
included define the rules needed to compile the project.
The leaf-makefiles first define two macros that define the relative
location of the project root directory and the name of the directory
containing the complete set of rules. Then the rule
file rules.top from the directory containing the central rule
depository is included.
Next, macros are defined that describe the target and the source,
with only one target per leaf-makefile. These macros describe
a unique target and contain all source files, local include files,
and all non-global compile time flags needed for that target.
Finally, each leaf-makefile includes a file from the rules directory
that contains rules for the appropriate type of target to be made.
There are rules for commands, drivers, libraries, shared libraries,
localized files, nonlocalized files, shell scripts, man pages,
diverted makefiles and directories.
There are over 60 macros and variables used in the rules.
A source code distribution of Makefiles is available. It is
written in C and can be compiled on most standard UNIX platforms.
It currently (5/98) supports Sunpro make,
GNU Make, and
SMake.
It is documented in a user's manual and a developer's manual,
both available as man pages.
[http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/makefiles.html]
- makepp
- A drop-in replacement for GNU
make with additional features that allow for
more reliable builds and simpler build files.
It is written in Perl,
supports almost all the GNU make syntax, and can be used with
makefiles produced by automake.
The improved and additional features include:
- proper checking of include files, with an automatic dependency
scanner that works even if the header files have yet to be built;
- automatic rebuilding even if the build command changes, e.g.
a change in command line options;
- only rebuilding files if they are older than their dependencies;
- better handling of recursive make invocations via reading all
the makefiles into a single process;
- optionally not recompiling source files if only comments and
whitespace have changed;
- wildcards in dependencies that can refer to files which can be
built as well as to those which already exist;
- a special wildcard that searches through all the subdirectories
of a directory;
- support for repositories, i.e. directories containing files that
may be temporarily linked into the build tree if up-to-date files
do not already exist there (for, e.g. separating source and object
directories, variant builds of the same program, and multiple
developers using the same source tree);
- more sophisticated inferences about the object files that a program
needs; and
- no confusion over multiple names for the same file, e.g. xyz.o
and ./xyz.o.
[http://LNC.usc.edu/~holt/makepp/]
- makeself
- A small shell script that generates a
self-extractable tar.gz archive from a directory, with
the resulting file appearing as an executable shell script.
This is capable of using either
gzip or bzip2.
[http://www.lokigames.com/~megastep/makeself/]
- MAME
- The Multi Arcade Machine Emulator
is a program that emulates arcade gaming machines using
the original ROM images from those same games.
A X Window version of the emulator is available in both
source code and binary versions, with the latter available for
SGI IRIX, Sun Solaris, and Linux Intel.
A SVGAlib binary version is also available for Linux platforms.
Several ROM images are available at various sites which can
be run using the various emulators that comprise the package.
[http://www.mame.net/]
- MAML
- The Multi-Agent Modeling Language
is a special purpose programming language providing high-level
constructs for describing agent-based computer models.
The goal is to make the description of complex models easier while
ensuring the simplicity and understandability of the computer program.
MAML is currently an extension to
Objective C using the
Swarm libraries, i.e. it is a macro language
for Swarm that provides easy access to all its functionality.
It adopts an agent-based modeling paradigm within a discrete
event simulation framework, i.e. models consist of a collection
of independent agents interacting via messages and events.
The MAML package incorporates both the language definition and
a MAML-to-Swarm compiler called xmc that converts MAML source
code into Swarm applications.
The documentation includes a tutorial, a reference manual, and
several technical papers.
[http://www.syslab.ceu.hu/maml/]
- MAM/VRS
- The Modeling and Animation Machine/Virtual
Rendering System is a graphics toolkit for animated,
interactive 3-D graphics (MAM) and a rendering meta-system which
encapsulates 3-D rendering libraries such as
OpenGL by a uniform object-oriented
interface (VRS). It can be used to quickly develop animated, interactive
3-D applications in an object-oriented way. It can be used like
any other C++ class library or as a graphics
scripting language embedded in
[incr Tcl], with both versions containing
full functionality.
The MAM/VRS C++ library is composed of several modules:
- BASE, basic classes specifying data containers and numerical
data types;
- VRS, classes specifying 3-D graphics objects such as 3-D
shapes and graphical attributes;
- MAM, node classes used to build geometry and behavior graphs
with the nodes linked to graphics objects in VRS so they can
be arranged in 3-D scenes or animated;
- XTMAMVRS, simple GUI classes for embedding MAM/VRS into an
Xt-based program (along with a simple application
framework);
- TKMAMVRS, a set of GUI classes for Tcl/Tk
used by iMAM, the [incr Tcl] API;
- MFCMAMVRS, a set of MFC classes for Windows NT/95; and
- OPENGL, a set of classes to adapt VRS to Open GL.
A source code distribution of MAM/VRS is available. It can be
installed and used on UNIX platforms on which Tcl/Tk and [incr Tcl]
have already been installed.
The documentation includes a tutorial as well as manuals for the
C++ classes.
[http://wwwmath.uni-muenster.de/informatik/u/mam/]
- man
- Man pages are the traditional method of choice for documenting
UNIX systems and utilities.
They are usually created using one of
the troff family packages and accessed
via a program called man.
Although quite a bit of Linux system documentation (most significantly
that related to the GNU project) is offered
in formats other than man pages, much of it is still available in
the traditional format.
Man pages have traditionally been divided into nine sections:
- man1, contains most of the commands comprising the user
environment, e.g. text editors (vi, sed),
command shell interpreters (bash, sh, tcsh), searching
and sorting tools (grep, find, sort),
file manipulation commands (cat), system status commands (top),
remote file copy commands (rcp), mail commands (elm, mail),
compilers and compiler tools (cpp, f77),
formatted output tools (troff, eqn), and
line printer commands (lpr, lpq);
- man2, system calls in the C library;
- man3, other functions in the C library;
- man4, devices and device drivers (packet, socket,
mouse, tty);
- man5, file formats and conventions fstab, hosts,
printcap, motd, termcap, term, ttytype);
- man6, games;
- man7, word processing and related programs (man, regex,
me, glob, unicode);
- man8, system maintenance and operation commands;
- man9, system kernel interfaces.
These can and do vary somewhat among the various UNIX flavors, although
most follow it reasonably well.
Programs for converting man pages from one format to another include:
Related and useful sites include:
[ftp://ftp.win.tue.nl/pub/linux/docs/manpages/]
- gnumaniak
- Up to date man pages for various
GNU packages including
fileutils,
diffutils,
sh-utils,
libtool and
textutils.
The GNU project no longer maintains up-to-date documentation for these packages
in man page format. This package does.
[http://personal.redestb.es/ragnar/]
[http://niteowl.userfriendly.net/linux/RPM/gnumaniak.html]
- MANPAK
- A package of Fortran utility programs
for computations with submanifolds which are implicitly defined
by a system of nonlinear equations. The routines establish
several types of local parameterizations (coordinate systems)
and, once available, compute points on the manifold with given
local coordinates. There are also routines for computing the
first and second derivatives of these local parameterizations
and some other quantities such as sensitivity measures and the
second fundamental tensor.
The distribution consists of four parts: the MANPAK utility
library; DAEPAK, a package of routines based on MANPAK and
MANAUX for solving various types of algebraically explicit
differential algebraic equations (DAEs); DRIVERS, a set of
sample drivers for DAEPAK; and MANUAX, a package of subroutines
for the uniform support of MANPAK and DAEPAK.
The MANPAK routines include:
- AUGM, for generating a specific augmented matrix;
- COBAS, for computing an orthonormal basis matrix of the
nullspace of a given matrix;
- CURVT, for computing approximations of the curvature and
principal normal of a path on a manifold which passes through
three consecutive points;
- DGPHI and D2GPHI, for computing the first and second
derivatives of the local parameterization, respectively;
- DTPHI, for differentiating the local parameterization;
- GCBAS, for computing an orthonormal basis matrix of a local
coordinate space consisting of a given number of basis vectors;
- GLOB, for globalizing a vector of local coordinates;
- GNBAS, for computing an orthonormal basis matrix of a local
coordinate space containing a specific basis vector;
- GPHI, for computing a point on a manifold with specified
local coordinates in a general local coordinate system;
- MOVFR, for using a moving frame algorithm for ordering a local
coordinate basis such that its orientation agrees with that of another
basis;
- ORIENT, for using a combinatorial algorithm for ordering
a local coordinate basis such that its orientation agrees with that
of another;
- PROJ, for computing the orthogonal projection of a point onto a
given local coordinate space;
- SENMAP, for computing the sensitivity map at a given point with
respect to specified natural parameters;
- SENSNR, for computing the Euclidean norm of the sensitivity map;
- TPHI, for computing a point on a manifold with specified local
coordinates in a tangential local coordinate system; and
- TSFT, for computing a componnet of the second fundamental tensor
in a tangential local coordinate system.
The solvers in DAEPAK are:
- DAEN1, a solver for nonlinear, index-1 problems;
- DAEN2, a solver for nonlinear, index-2 problems;
- DAEQ2, a solver for quasi-linear, index-2 problems;
- DAEQ3, a solver for quasi-linear, index-3 problems of second order;
- DAESQ1, a solver for quasi-linear, autonomous, index-1 problems; and
- DAEUL3, a solver for the Euler-Lagrange problem of index-3.
The MANAUX package includes ODE solvers and various linear
algebra routines.
The ODE solvers are:
DOPSTA, a Dormand-Prince order 5 RK-step routine for
autonomous ODEs using reverse communication for function calls; and
DOPSTN, a Dormand-Prince order 5 RK-step routine for non-autonomous
ODEs using reverse communcation for function calls.
The source code for this package is available.
It is written in Fortran 77.
The source code contains documentation for the routines.
See Rheinboldt (1996a) and Rheinboldt (1996b).
[http://netlib.org/contin/manpak/]
- man2html
- A C program that converts man
pages into HTML.
The features include:
- use of raw troff man pages where more
layout information is available;
- combination of proportional fonts and pre-formatted sections;
- links to other man pages including local include files, email
addresses, and FTP and WWW sites;
- correct conversion of tables as well as readable tables with
browsers that can't handle them;
- a man page index;
- nested indentation; and
- printable layout for most pages.
[http://wsinwp07.win.tue.nl:1234/index.html]
- MAP
- The Materials Algorithms Project is a library of
Fortran programs for calculating various properties and other things
concerning materials like steel, nickel and crystals.
The programs are divided into several categories including:
- Steel
- COLLAPSE, solves the problem of diffusion profile collapse during
heat treatment;
- DILAT, calculates the volume fraction of transformation from
austerite to ferrite from a measure of the length change;
- FERR, for the soft impingement problem in Fe-C-X alloys;
- FINITE, solves the problem of X enrichment during the aging
of bainitic steels;
- FINN, another method for solving the previous;
- HARDP, calculates the Vickers pyramidal diamond hardness of
martensite, bainite and ferrite/pearlite mixtures;
- MALLOY, calculates free energy of mixing, configurational entropy
of mixing, enthalpy of mixing, and structural interfacial energy in
mechanical allowing as functions of concentration, particle size and
temperature;
- MS, estimates the Ms temperature of an alloy steel as a function
of the free energy;
- MUCG46, a suite of software for modeling the thermodynamics and
kinetics of solid-state transformations in steels;
- SIMPOWER, calculates the overall transformation kinetics of phases
precipitating under diffusion controlled growth;
- SOL_BOR, calculates the soluble boron, nitrogen and boron nitride content of austenite at any temperature;
- TTT_TO_CCT, converts an input TTT curve into a CCT curve
using Scheil's additive reaction rule; and
- YSMA956, calculates the components of the yield strength of the
recrystallized and unrecrystallized mechanically alloyed ODS ferritic
stell MA956.
- Crystal
- CEMSTRUCT, calculates the relative intensities of electron
diffraction spots when forming a diffraction pattern from a region of
cementite in a transmission electron microscope;
- CORD, calculates the coordinate transformation matrix relating
two crystals of arbitrary structure;
- MET1 through MET6, which calculate the metric tensor for
cubic crystal, tetragonal, orthorhombic, hexagonal or trigonal, monoclinic,
and triclinic structures;
- PROGRAM, an interactive program for the analysis of crystal
structures;
- TENSOR1 through TENSOR6, which calculate the metric tensor
and its inverse for the same structures as with the MET programs; and
- TYPE, checks for systematic absences in various lattice types.
- General Kinetic Theory
- GRAINGROWTH, simulates grain growth kinetics using a Monte
Carlo method in two dimensions.
- Neural Network Analysis
- BAINITEPLATE_THICKNESS, estimates the bainite plate thickness
of low-alloy steels as a function of transformation temperature, the
chemical free energy available for nucleation, and the strength of
austerite at the transformation temperature;
- MA-STEEL, predicts the yield strength, ultimate tensile strength,
and elongation of mechanically alloyed oxide dispersion strengthened ferritic
stainless steels as a nonlinear function of the important processing and
service variables;
- NEURAL, predicts the Ac1 and Ac3 temperatures of steel as functions
of the chemical compositions and heating rate; and
- WELD_TOUGHNESS, estimates the Charpy toughness of steel as a
function of strength, microstructure, chemical composition and temperature.
This is just a partial listing. Many other programs are available.
[http://www.msm.cam.ac.uk/map/entry.html]
- Mapa
- Modular Accelerator Physics Analysis is a package
for designing and modeling particle accelerators.
It is an object-oriented
C++/Motif-based
package whose features include:
- parsing of MAD and SIL
files, including full support for formulas;
- on-line tracking with fully interactive phase space surface of
section (SOS) plots;
- interactive changing of beam and/or element parameters;
- plotting the footprint of the full accelerator beamline to quickly
check the physical layout;
- plotting the Twiss parameters or the linear and second-order
dispersion using interactive plots; and
- writing to SIL files.
Although this is not yet (7/00) available, the developers plan to release
the full source code.
[http://www.techxhome.com/products/mapa/]
- MAPC
- A C++ library for manipulating algebraically
defined points and curves in the plain.
It represents points and curves exactly and makes use of several
techniques for increasing the efficieny of manipulating the points.
MAPC provides classes for representing and manipulating:
- multivariate polynomials with floating piont, multiprecision
integer, or multiprecision rational coefficients;
- algebraic numbers represented as the roots of polynomials
within an interval;
- 1- or 2-D points whose coordinates are defined as either
algebraic or rational numbers;
- sections of algebraic plane curves; and
- 1- and 2-D boxes.
Algorithms are implemented which provide functions for:
- rapidly finding the sign of a determinant of arbitrary size with
entries that are arbitrary sized integers;
- isolating all intersections of two algebraic plane curves
in a region; and
- decomposing a plane algebraic curve into monotonic subsections.
A source code distribution is available. It is built on top of
the LiDIA library and also makes use of
LAPACK.
[http://www.cs.unc.edu/~geom/MAPC/]
- Mapedit
- A graphical editor for Web image maps, i.e. clickable
image maps. It can be used to create and edit both client-side
and server-side imagemaps.
Mapedit is available in binary form for
several UNIX/X11 platforms including Linux.
[http://www.boutell.com/mapedit/]
- MAPGEN/PLOTGEN
- MAPGEN is
A collection of programs to create graphical displays or maps
of data with geographic coordinates as well as legend information
and graticule plots. This is done by several programs which produce
metagraphical input (called overlay files) which are displayed
either individually or selectively on a wide variety of plotting
devices.
PLOTGEN is a part of the MAPGEN system used for creating
plots of X-Y data instead of geographic data.
MAPGEN/PLOTGEN is written in C and should install on most
generic UNIX systems with an appropriate compiler.
The use of the package also requires the installation of
the PROJ cartographic projection
system and a device independent vector graphics system,
both of which are available in separate directories at
the same site. The graphics system includes drivers for
creating PostScript output files.
[ftp://kai.er.usgs.gov/ftp/MAPGEN/mapgen.html]
- Mapil
- A Python script that interfaces with
PGP to encode or decode email messages.
It supports the P/MIME standard for
encrypting or signing MIME messages and can maintain a database
of recipients so messages can be automatically tailored to the
recipient.
The features of Mapil include
support for PGP 2.x and 5.0,
support for interactive or automatic processing,
and many configuration options.
This will run on any platform with an already installed
Python distribution.
[http://www.stanford.edu/~bescoto/mapil/]
- MapIt!
- A CGI application for navigating raster maps
via a web browser. The functionality includes zooming in and out,
moving in four directions, and selecting objects and object classes
identified on the map.
This is written in Python and should
work with most HTTP servers.
[http://www.mapit.de/index.en.html]
- Maplay
- A software-only MPEG audio player.
It can play MPEG audio layer
I or II streams and decode streams to raw 16 bit pcm format at the
frequency of the stream (32, 44.1 or 48 kHz) or to 8 bit u-law
format downsampled to 8 kHz.
The source code for Maplay, written in C++, is available and
can be compiled using g++.
[http://www.geocities.com/SiliconValley/Vista/3141/maplay.html]
- MapServer
- An open source development environment for building spatially enabled
Internet applications.
A CGI application included in the package
provides numerous capabilities including:
- support for vector formats including ESRI shapefiles, simple embedded
features, and ESRI ArcSDE;
- support for 8-bit raster formats including TIFF, GeoTIFF, GIF,
PNG, ERDAS, JPEG and EPPL7;
- quadtree spatial indexing for shapefiles;
- fully customizable template-driven output;
- feature selection by item/value, point, area or other feature;
- TrueType font support;
- support for tiled raster and vector data for display;
- automatic legend and scalebar building;
- scale-dependent feature drawing and application execution;
- thematic map building using logical or regular expression based classes;
- feature labeling including label collision mediation;
- on-the-fly configuration via URLs and projection.
In addition to the MapServer plug-in CGI script, a facility called
MapScript is available which allows access to the MapServer C API
via scripting languages such as Perl.
A PHP/MapScript module is also available.
Several utility programs are contained in the MapServer
distribution including:
- shp2img, creates a map from a mapfile;
- legend, creates a legend from a mapfile;
- scalebar, creates a scalebar from a mapfile;
- sortshp, sorts a shapefile;
- sym2img, creates a graphic dump of a symbol file; and
- shptree, creates a quadtree-based spatial index for a
shapefile.
[http://mapserver.gis.umn.edu/]
- Mariposa
- A distributed database
management system which addresses fundamental
problems in the standard approach to distributed data management.
Mariposa allows database management systems (DBMS) which are far
apart and under different administrative domains to work together
to process queries by means of an economic paradigm in which processing
sites buy and sell data and query processing services.
The design principels include scalability fo a large number of
cooperating sites, local autonomy, data mobility, no global
synchronization, and ease of local configuration.
The source code for Mariposa, written in C, is available. It
is based on an early version of
Postgres95 and requires
Tcl/Tk for installation as well as an
ANSI C compiler. It is documented in a user's manual available
in PDF and PostScript format.
[http://s2k-ftp.CS.Berkeley.EDU:8000/mariposa/]
- markup
- A Scheme system for generating
LaTeX and
HTML. The use of this requires
the scsh package.
The documentation for
this is a bit sparse.
[ftp://ftp-swiss.ai.mit.edu/pub/scsh/contrib/]
[http://www.cs.cmu.edu/~spot/markup/markup.html]
- Marlais
- An interpreter for a programming language strongly resembling
Dylan. It was created to
fill a perceived void where Dylan implementations are concerned and
as such is not intended as a final release. This is a hacker
release intended as a vehicle for education, experimentation,
and also to encourage people to port it to different architectures,
add features and fix bugs. This is alpha software. This release
is known to compile on Linux boxes.
[http://www.cis.ufl.edu/~jnw/Marlais/]
- mars
- A German full text editor.
This is available as a Linux Intel binary.
[http://sunsite.unc.edu/pub/Linux/apps/editors/X/]
- MARS (regression)
- The Multivariate Adaptive
Regression Splines package
is a collection of Fortran subroutines that implement the
multivariate adaptive regression spline strategy for data
fitting and function approximation.
The source code is available and a rudimentary ASCII user's
manual is included in the package. References to published
descriptions of the method are also given.
Note: The original Statlib MARS package seems to have gone commercial,
although similar functionality can be found in a couple of add-on
packages for R, i.e.
mda and polymars.
[http://www.stat.cmu.edu/R/CRAN/src/contrib/PACKAGES.html]
- MARS (monitor)
- The Monitoring Application for Resources
and Servers is
a Java application for monitoring the status
of Internet servers. It monitors the status of both Internet services
and operating system parameters, and displays the results in a small
window.
This uses a server written in Perl
called SPOTS (Something Placed On That System) to pass data about
OS parameters to the MARS program.
The services and parameters currently (5/99) monitored include
SMTP,
POP3,
IMAP,
HTTP,
FTP,
SSH and
load average, free disk space per filesystem, free memory.
There is also planned supported for
DNS,
Telnet,
SMB CIFS services and system uptime.
A source code distribution is available which requires
JDK 1.1.7 or later and Swing 1.1.
[http://www.altara.org/mars.html]
- Marx
- An interpreted scripting language based on a C-like syntax, i.e.
a quasi-C interpreter with some extensions and exceptions.
It provides a quick way of creating graphical user interfaces
(GUIs) in X Windows. Marx also provides simplified schemes for
UNIX process control, direct shell command/script execuction and
inter-client communication via sockets. It can be easily
incorporated into C programs via its application programming
interface (API) and a mostly transparent data exchange mechanism.
Engels is a lesser version of Marx without the GUI extensions.
It is smaller and faster and good for applications without
GUI requirements.
A source code distribution of Marx is available as are
binaries for Sun SunOS and Solaris,
Alpha OSF/1, and Linux Intel platforms.
platforms. The documentation is currently the man page, a version
of which is available in PostScript format, and the beginnings
of a programmer's manual.
[http://spock.ece.drexel.edu/marx/]
- MAS
- The Modula-2 Algebra
System is an experimental computer algebra
system which combines imperative programming facilities with
algebraic specification capabilities for the design and
study of algebraic algorithms.
The goals of the system are to provide: an interactive
computer algebra system, comprehensive algorithm libraries,
a familiar program development system with an efficient compiler,
an algebraic specification component for data structure and
algorithm design, and algorithm documention which is open to
users.
Key features of the MAS system include:
- portability (with
machine dependencies isolated in a small kernel;
- extensibility
through adding and interfacing to external algorithm libraries;
- an open system architecture and transparent low-level facilities;
- automatic garbage collection and stable error handling;
- input/output
with streams; and
- expressiveness, i.e. the capability of specifying
abstract algebraic concept like rings or fields.
Library packages include those for Gröbner bases, involutive
bases, invariant polynomials, linear algebra, basic arithmetic (complex
numbers, quaternions, octonions, and finite fields), and more.
MAS is available as source code as well as an executable for
HP-UX, AIX, Linux, OS/2, Nextstep and SunOS platforms.
Extensive documentation is available in PostScript format as
well as many examples and test files. Compilation of the
source code will of course require the acquisition and
compilation of the
Modula-2 language
package.
[http://www.fmi.uni-passau.de/algebra/projects/mas.html]
- mash
- A multimedia networking toolkit with which complex multimedia programming
tasks are decomposed into an arrangement of simple objects linked together
and configured with a
scripting language.
The mash shell is the backbone of a number of new applications for
multimedia networking and collaboration.
It subsumes existing tools like vic and vat and also supports a number
of new tools that serve as vehicles to explore scalable multicast
protocols and exercise the design framework.
The available tools include:
- rsdr, a session directory tool;
- vic, a video conferencing tool;
- vat, an audio conferencing tool;
- mb, a shared whiteboard tool;
- collaborator, a combined user interface to video, audio and
mediaboard conferencing;
- nsdr, a session directory tool;
- recorder, a recorder for RTP and SRM traffic;
- player, a player for recorded RTP and SRM sessions;
- rover, a client for interacting with the MARS archive server;
- pathfinder, a web server for live and archive interaction;
- mplug, a web browser plugin for MASH scripts; and
- mediapad, a shared electronic whiteboard application for the
PalmPilot.
The available services include:
- AS1, an active service framework with a host manager (hm),
a forwarding agent (megafor), and a monitoring tool (mgamon);
- vgw, a video gateway;
- agw, an audio gateway;
- sdgw, a session announcements gateway;
- tgmb, a reliable multicast proxy for mediapad; and
- MARS, the MASH Archive Server.
A source code distribution of mash is available as are binaries
for some platforms including Linux Intel.
Extensive documentation is available for most parts of the
mash system.
[http://www-mash.cs.berkeley.edu/mash/]
- Mason
- A Perl-based Web site development and
delivery engine that allows Perl code to be embedded in
HTML and pages to be constructed from
shared, reusable components.
The features include:
- simple embedded syntax that allows HTML
pages to access the full power of Perl;
- templating with shared components, i.e. pages are built from
Perl/HTML components that can call each other and pass values
back and forth;
- parameter handling, e.g. automatic parsing of GET/POST parameters
and making them available as local variables;
- easy use of the Perl debugger;
- flexible mechanisms for caching pieces of HTML and data;
- a built-in previewer for reviewing pages while simulating
a variety of client and request conditions; and
- staging and production modes.
Mason is available as Open Source.
[http://www.masonhq.com/]
- Mason
- A tool for interactively building a firewall using
ipfwadm or ipchains.
Mason runs on the firewall machine while desired supported
connections are made, after which it constructs a list of firewall
rules for allowing/blocking those connections.
This was designed to allow even novices to build a reasonably
good packet filtering firewall.
The features of Mason include:
- accepting an mix of
ipfwadm or ipchains
log entries as input as well as running on either and creating
output from either;
- running on the firewall machine or another machine using the
firewall's packet logs as input;
- running in real-time or after the fact using firewall logs;
- a macro for dynamic IP addresses, e.g.
a PPP link;
- support for any interface that can carry TCP/IP traffic;
- recognition of any protocol listed in /etc/services
as well as commonly used ICMP protocols;
- automatically handling setups like cable modems or satellites
where the packets leave on one interface and enter on another;
- automatically handling masquerading
on the firewall;
- automatic generalization of firewall rules in several ways;
- changing rule policies on the fly without stopping and restarting;
- setting of the TOS flag for FTP, FTP-DATA, IMAP, IRC, NNTP,
POP, SSH, SNMP and Telnet to improve interactive
performance by queuing interactive packets ahead of bulk transfer
packets; and
- an extensive manual with examples.
[http://users.dhp.com/~whisper/mason/]
- masqdialer
- A daemon that uses standard
dialing tools (e.g. pppd and chat) to
initiate and terminate dialup connections to ISPs upon a request
from an authorized member of an LAN.
This is designed to provide easily accessible control of multiple
dialout modem connections to the members of a LAN using
IP masquerade for Internet
connectivity.
It has a client/server design, so if a client is available for
a platofrm then it can use masqdialer.
The available clients include Java, Win95/NT, Tcl/Tk,
Gnome and Qt clients.
Source code distributions of the server and the clients are
available.
[http://cpwright.villagenet.com/mserver/]
- Master
- A system configuration tool intended to aid system administrators in
maintaining large numbers of machines.
Master is itself OS and architecture independent but can handle
architecture and OS dependent.
The design goals included reduction of steady-state maintenance
work, reduction of machine setup time, failure recovery, and
simplicity.
The system consists of a driver program that maintains a cache of
machine information and runs any number of other programs called
modules, with each module controlling the configuration of a specific
file or subsystem.
A central repository of configuration information called the configuration
server is periodically accessed by clients to make sure their configuration
state is up to date. The server can also force clients to check for
new configuration information on demand.
A source code distribution of Master is available. It
is written in Perl and runs under both versions
4 and 5.
The distribution contains themaster program, the libraries, and
some example modules that install files, maintain crontab files,
generate /etc/netgroup files, and generate /etc/hosts
files.
[ftp://ftp.caip.rutgers.edu/pub/master/]
- MasterGear
- A portable emulator of two SEGA game consoles: the MasterSystem
and the portable GameGear. The emulator is written in C and can
be ported to any platform that can run 32-bit applications.
A source code version is available which has been successfully
compiled on Linux Intel systems.
[http://www.komkon.org/fms/MG/]
- MAT
- A distributed management tool for Linux, SunOS, and Solaris
machines.
MAT provides an easy to use GUI interface which can be
used to administer many of the common UNIX configuration files.
It can add to, modify, or delete from Users, Hosts, Groups,
Mounts, Motd, DNS client configuration, and cron jobs.
Other features include adminstering many hosts from a single
console, the ability to delegate responsibility to others,
and easy upgrading of the agent binary from the GUI.
Future (1/98) enhancements include a DNS master, an NIS
master, and a tape tool.
[http://sunsite.unc.edu/pub/Linux/system/admin/frontends/]
[http://sunsite.unc.edu/pub/Linux/Incoming/]
- MATCALC
- NOTE: This has disappeared but since it was one of the first
things I put on this list I'm just too damned sentimental to remove
it just yet.
MATCALC is an easy-to-use interactive matrix calculator designed
for easy solution of linear algebra and matrix problems involving
either real or complex numbers, easy solution to systems of linear
equations, teaching modern computational methods of linear and
matrix algebra, and solution of matrix-related problems such as finding
zeroes of real or complex polynomials, linear least-squares fits of
multivariable models, etc. It is also specially adapted to handle
singular matrices which can be difficult to handle on other
systems.
MATCALC includes full programming capabilities with facilities for
logical relations and conditions, IF and LOOP blocks, and user-defined
functions and procedures.
Users can write their own functions in C and add them to MATCALC.
The package can be configured to meet specific user requirements,
creating custom MATCALC subsets by omitting selected predefined
functions and procedures to obtain configurations ranging from
a minimal desktop calculator to a full-blown research capable setup.
Basic commands are included for entering matrices, matrix arithmetic,
adjoining matrices, selecting matrix elements, selecting rows and
columns, and for creatin special matrices. Predefined functions
and procedures are included for such problems as polynomial
arithmetic, solving systems of linear equations, finding
triangular factorizations, analyzing row-echelon matrices, finding
eigenvalues and eigenvectors, obtaining Jordan forms, and for
obtaining singular value decompositions (SVD).
The MATCALC distribution includes the source code which is
written in C. It is designed to be portable to any system
with an ANSI C compiler.
The package is document in a 71 page manual in
TeX format.
[ftp://csi.jpl.nasa.gov/pub/matlab/matcalc/]
- MatClass
- A C++ class for numerical computation. It includes a
general purpose dense, real matrix class, a family of
decomposition classes based on LU, Cholesky, Householder QR and
SVD, a familty of OLS regression classes based on the previous
decompositions, a family of special function classes, a random
number class, and a simplified input/output structure.
The documentation is contained within a reasonably complete
manual in TeX format.
[ftp://ftp.mcc.ac.uk/pub/matclass/unix/]
- MathML
- The Mathematical Markup Language is a low-level
specification for describing mathematics as a basis for machine
communication. MathML is intended to facilitate the use and re-use
of mathematical and scientific content on the Web as well as for
other applications such as computer algebra systems, print typesetting,
and voice synthesis.
It is an application of XML and as such will
eventually allow browsers to natively render mathematical expressions.
It consists of a number of XML tags used to mark up an equation in
terms of its presentation as well as its semantics, i.e. it attempts
to capture some of the meaning behind the equations rather than
concentrating entirely how they're going to be formatted.
Packages that implement MathML include:
- Amaya, the W3C's browser and authoring tool;
[http://www.w3.org/Math/]
- WebEQ
- A Java applet for viewing Web pages with
MathML.
[http://www.webeq.com/webeq/]
- Mathomatic
- A symbolic math program that can automatically solve,
simplify, and combine algebraic equations, do calculus
operations, perform polynomial and complex arithmetic, and
much more. The C source code for this is available and
should compile on just about any UNIX box. A manual is
available separately for a price.
[http://www.netlib.no/netlib/env/]
[http://netlib2.cs.utk.edu/env/]
- Mathopd
- A very small and very fast HTTP server for
UNIX systems.
It is designed to handle a large number of connections with
minimal fuss, containing no unnecessary add-ons.
[http://mathop.diva.nl/]
- MathSpad
- A general purpose structure editor which is particularly
useful for writing articles that contain substantial amounts
of mathematical calculations.
MathSpad facilitates the creation of such documents with a
feature called a stencil which defines two views of a document, i.e.
the on-screen view and the output view. The on-screen view is
almost WYSIWYG while the output view is a file written in
a ASCII-based markup language. The system is optimized for
TeX and LaTeX but
can also be used to produce HTML or
troff documents.
The features of MathSpad include:
- the on-screen simulation of what
will be produced in the output makes this package partially WYSIWYG,
and even when an on-screen structure can't be exactly reproduced
a screen representation of some sort can be produced;
- a large collection of symbols available by either clicking on them
or using their keyboard shortcuts;
- a context sensitive help
facility which explains every part of the system (in addition to
a tutorial);
- an interface to the ispell
spelling checker;
- editing operations using the same key bindings
as Emacs;
- templates which define how something
(i.e. a notation or construction) should both be displayed on the
screen and represented in a mark-up language can be constructed
using a template definition tool and a collection of examples;
- search and replace for characters, works, and even templates;
- the flexibility to change keyboard definitions, add your own
symbols, use your own fonts, adust the encoding, or change the
mark-up output that should be produced; and
- an experimental
Maple interface.
Planned features include multiple output
formats for the same template; better keyboard definitions;
more stencils; more primitives to define templates; shortcuts for
templates; support for internationalism; document conversion; and
much more.
The MathSpad distribution includes the source code, written in
C and C++, and a PostScript format version of the manual. It
should install easily on any UNIX system with a compiler for
C and C++ (gcc will work) and X11. A configure script eases
the installation procedure.
[http://www.cs.ruu.nl/pub/tex-archive/support/mathspad/]
[http://metalab.unc.edu/pub/packages/TeX/support/mathspad/]
- Math3d
- A 3-D computer graphics math library intended to simplify notation
and produce easily maintainable code.
It is designed to seamlessly integrate with
OpenGL.
The classes include:
- M2d, M3d, M4d, 2-, 3- and 4-D vectors;
- MQuat, quaternions;
- MRot, rotation in axis/angle representation;
- M4x4, a 4x4 homogenous matrix;
- M3Frame, a Frenet 3-frame;
- MLookAt, a Frenet 3-frame plus distance;
- M2dRect, a 2-D rectangle; and
- M3dBox, an axis-aligned bounding box.
[http://math3d.sourceforge.net/]
- Matlab macros
- Freely available Matlab-related packages include:
- Air-Sea, for computing surface wind and heat
flux components from measurements;
- ARfit, for the estimation and
spectral decomposition
of multivariate autoregressive models;
- bobstuff, for performing vector correlation,
complex correlation, and other statistical tasks;
- Bode Step Toolbox, a
toolbox for the design of control
systems with maximized feedback;
- Bootstrap Toolbox, a set of functions
for resampling, hypothesis testing and confidence interval estimation;
- calibr, a CCD camera calibration toolbox;
- Clusters, for performing clustering tasks;
- Communication System Toolbox,
for working with the digital coding of waveforms and digital transmission
systems;
- Coral, for analyzing
seismic waveform data;
- CtrlLAB, for feedback system analysis and design;
- CUTE, a suite of programs and test problems for
exploring linear and nonlinear optimization;
- Data Visualization Toolbox, a
set of programs for performing various data visualization tasks;
- DBT, a toolbox
for radar array processing;
- Delta Toolbox, for control or systems
engineering;
- Differentiation Matrix Suite,
Matlab functions for solving DEs using
spectral collocation;
- DiffMan, a toolbox for solving differential
equations on manifolds;
- DMTTEQ Toolbox, a
toolbox for designing and testing various
time domain equalizer design methods;
- Econometrics Toolbox, a collection
of econometric estimation methods;
- FastICA, implements a fast fixed-point
algorithm for independent component analysis and projection pursuit
- FISMAT, for working with fuzzy systems;
- Fraclab, for fractal analysis in signal processing;
- GABLE, for learning geometric algebra;
- GAOT, for experiments in optimization using
genetic algorithms;
- Geodetic Toolbox, a
toolbox for geodetic calculations;
- GTM, the implementation of a mathematical model
for density modeling and visualization;
- GUISDAP, an incoherent scatter design and
analysis package;
- HUTear, a toolbox
for auditory modeling;
- ica, for performing independent component analysis;
- Krigeage, a
kriging toolbox;
- LIPSOL, for solving linear programs using
interior point methods;
- LMITOOL, for solving optimization problems;
- LRD, for the joint estimation of the parameters
of long-range dependence;
- LSTT, a
toolbox for performing various least squares calculations;
- lyngby, a toolbox
for analyzing fMRI times series;
- Matlab Astronomy Library, a
large collection of astronomy-related programs;
- matlabPyrTools, tools for multi-scale
image processing;
- MatSeis, a seismic toolbox;
- MAXDET, for solving determinant maximization
problems;
- MCS, a program for bound constrained global
optimization using function values only and based on a multilevel
coordinate search procedure;
- MCSSA, tools for implementing Monte Carlo
testing of singular spectrum analysis results;
- MexCDF, an interface with
NetCDF;
- Mie Scattering Toolbox, a
collection of functions for performing
scattering calculations;
- MINQ, a program for bound constrained
indefinite quadratic programming based on rank 1 modifications;
- M-Map, for creating geophysical field maps in
several projections;
- MRPSD, a set of
programs for creating pulse sequence diagrams
- MSSA, tools for implementing multichannel
singular spectrum analysis;
- MTM, for producing estimates of power
spectral density from time series using the multiple taper method;
- NBI, for solving nonlinear multicriteria
optimization problems;
- Netlab, a set of tools for the simulation
of theoretically well-founded neural network algorithms;
- NetSolve, a client/server
application for solving
computational problems over a network;
- NNSYSID, tools for neural network based
identification
of nonlinear dynamic systems;
- Numerical Integration Toolbox, a
toolbox for 1-, 2-, and n-D numerical integration;
- N-way Toolbox, a
toolbox implementing the Tucker models for N-way factor analysis;
- OCEANS, for computing
various oceanography-related
quantities;
- Octave, a Matlab-like program that can read most
Matlab scripts;
- OMP, a package
for applying optimal multiparameter analysis in oceanography;
- OPNML, a set of functions for postprocessing
results from finite element hydrodynamic simulation codes;
- Polynomial Toolbox, for performing
many types of computations with and on polynomial matrices;
- PRECISE, a Matlab
toolkit for exploring the impact of finite precision on the quality
of convergence of numerical methods;
- PSD, for spectral estimation by the maximum
entropy and Welch overlapped segment methods;
- PyrTools, for multi-scale image processing;
- QMG, for geometric modeling and mesh generation in
2- and 3-D;
- Regularization Tools, for analyzing
and experimenting with solution methods for discrete ill-posed problems;
- Rice Wavelet Toolbox, for wavelet
and filter bank design and analysis;
- RIOTS, for solving optimal control problems;
- Robotics Toolbox, a collection of
functions useful for robotics applications;
- RPSstuff, for performing various time series
manipulations and analyses;
- Schwarz-Christoffel Toolbox,
for the computation and visualization of Schwarz-Christoffel conformal maps;
- SDPpack, for semidefinite programming;
- SDPSOL, for semidefinite programming;
- SEA-MAT, a collection of Matlab tools for
the oceanographic community;
- SLS, for sparse least squares problems;
- Smoothing Toolbox, a collection
of tools for nonparametric regression and smoothing techniques;
- SOM Toolbox, a
toolbox implementing the self-organzing map (SOM) algorithm;
- SPACELIB, a library for 3-D kinematics
and the dynamics of systems of rigid bodies;
- Spatial Statistics Toolbox, a
toolbox for spatial statistics as used in econometrics;
- SP-Semi, for semidefinite programming;
- SSA, for singular spectrum analysis;
- STAPLOT, for analyzing oceanographic data
during and after a cruise;
- Statbox, a library of statistical functions;
- Source Coding Toolbox, a source
coding toolbox;
- Tela, a programming and analysis environment that
can translate Matlab programs to its own format;
- Templates, a library for numeric computation;
- Test Matrix Toolbox, a collection of
test matrices and tools for visualizing them;
- TFTB, for the analysis of non-stationary signals
using time-frequency distributions;
- Timeplt, for the Gregorian labeling of time
series and other plots;
- TMath, a Tcl/Tk interface;
- TOMLAB, a general purpose environment for
research and teaching in optimization;
- Tree-Ring Toolbox, a set
of functions for tree-ring analysis;
- VRMLplot, for creating VRML plots from
bathymetric data;
- WAT, a toolbox
for the empirical and theoretical statistical analysis of waves;
- WAVEKIT, functions for wavelets and wavelet
packet algorithms;
- Wavelet Package, for working with
compactly supported wavelets;
- ZMAP, for implementing
a broad range of traditional and novel
techniques for seismicity analysis
- Matlab (Classic)
- This is a version of Matlab from 1981. It featured an
interactive command-line interface and included various
LINPACK
and EISPACK routines.
Matrices could be defined and operated on
without using the loop structures of Fortran.
New functions could be defined and
used, and Matlab itself could be used as a subroutine to be
called from other programs. The source code, about 7000 lines
of Fortran, for this early version is available. See how Cleve
Moler first attempted to implement a matrix manipulation laboratory
in Fortran. The documentation is contained in a 300+ kb ASCII
text file and includes several examples.
[ftp://csi.jpl.nasa.gov/pub/matlab/classic/]
[http://www.izap.com/~sirlin/matlab/]
- Matlab Astronomy Library
- A collection of Matlab codes for performing various types of analyses
on astronomical data, although most are generic and have wider
application.
Currently (10/97) the routines include those for performing:
Gram-Schmidt orthonormalization,
low-pas filtering of evenly spaced data,
Haar wavelet transforms,
the complex bi-conjugate gradient method,
conjugate gradient least squares,
the complex error function,
Fourier deconvolution,
the Hankel transform using the backprojection method,
the Hilbert transform,
linear least squares,
and much more.
Some of these may also work with the mostly Matlab-compatible
package called Octave.
[http://obswww.unige.ch/Instruments/GIRAFFE/Files/matlab/astrolib.html]
- matlabPyrTools
- A collection of Matlab tools for multi-scale
image processing. The package functionality includes:
- recursive multi-scale image decompositions (pyramids) including
Laplacian pyraamids, QMFs, wavelets, and steerable pyramids that
operate on 1- or 2-D signals of arbitrary dimension;
- fast 2-D convolution routines with subsampling and boundary handling;
- fast point operations, histograms and histogram matching;
- fast synthetic image generation including sine gratings, zone plates
and fractals; and
- display routines for images and pyramids including several auto-scaling
options, rounding to integer zoom factors, and useful labeling.
A source code distribution is available
[http://www.cns.nyu.edu/~eero/]
- MatLisp
- A set of CLOS classes for handling matrices.
The classes provide a simple and consistent wrapper
interface to the matrix
operations available via
BLAS and Lapack.
Matlisp is compatible with CMUCL, relying
on its foreign function interface and the built-in
type kernel:complex-double-float.
[http://matlisp.sourceforge.net/]
- Matpack
- A C++ numerics and graphics library containing
the sort of numerical methods and data visualization algorithms
often required by scientists and engineers.
Some significant features of the library include:
- a template class MpFFT providing a simple and powerful
interface to the generalized prime factor complex fast Fourier
transform and backtransform in 1-, 2- and 3-D;
- a template class quaternion providing single and double
precision quaternion numbers;
- a large number of special functions including gamma, error,
Bessel and Airy functions as well as exponential integrals, orthogonal
polynomials, and vector coupling coefficients;
- a large collection of high quality random number generators and
classes to map the random numbers to various distributions;
- a powerful class hierarchy for data interpolation using a wide
range of algorithms;
- differential equation solving classes including the Runge-Kutta-Fehlberg
4th and 5th order method and the Bulirsch-Stoer-Gragg extrapolation
method;
- a highly efficient matrix and vector class for linear algebra,
eigenproblems, etc.;
- a powerful X11 API called MpWindow
that makes it easy to create GUIs;
- a raster image class with basic drawing and image manipulation
functions as well as I/O functions for various standard formats; and
- a class of high-level graphics functions for 2- and 3-D rendering
of arbitrary polygonal surfaces.
The package contains several applications built using the library
including:
- xmatrix, a 3-D data viewing and plotting tool;
- calculator, a scientific calculator with many special functions;
- falpha, a multifractal spectrum analyzer;
- elements, a period table of elements browser;
- mandel, a fractal generator with 3-D features; and
- primefactor, for prime factor calculations.
[http://www.matpack.de/]
- Matrix
- The Matrix library was designed and implemented
to provide object-oriented, semantically clean support for FE++, an
object-oriented framework for finite element programming in Structural
Engineering. FE++ is part of a major research effort in the development
of the Structural Engineering Software Development Environment (SESDE)
at Purdue University. To address a variety of time/space demands in
structural engineering computing, the library supports a wide range of
matrix abstractions and algorithms, such as symmetric matrices, profile
matrices, banded matrices, column vectors, and LU decompositions, etc.
The object-oriented paradigm supported by C++ is applied in the design
of the library. Consistent semantics and uniform syntax of the library
interface is a major focus of the design.
The source code for the Matrix package, written in C++, is
available.
It is documented in a technical report available in PostScript
format as well as in Lu et al. (1995).
[http://dalmatians.ecn.purdue.edu/~sesde]
- Matrix Market
- A repository of test data for use in comparative studies of
algorithms for numerical linear algebra. Matrices and related
data from problems in linear systems, least squares, and eigenvalue
problems in a wide variety of scientific and engineering
disciplines are provided along with tools for browsing through
the collection or for searching for matrices with special
properties. Each matrix (and matrix) set has a separate
home page which provides details and allows the downloading
of the matrix in one of several file formats.
The Market presently holds 482 individual matrices and 24 matrix
generators.
[http://math.nist.gov/MatrixMarket/]
- MatSeis
- A seismic toolbox for Matlab.
MatSeis provides a time-distance profile plot that integrates origin,
waveform, travel-time, and arrival data.
The package also includes routines for graphical plot controls, data
manipulation, and signal processing.
This is documented in a user's manual available in PostScript
and PDF formats.
[http://zelzal.geology.indiana.edu/~sneal/tutorial/tutorial.html]
[http://www.ctbt.rnd.doe.gov/ctbt/data/matseis/matseis.html]
[http://www.nemre.nn.doe.gov/nemre/data/matseis/pl96_paper-html.html]
- MatView
- A scalable sparse matrix viewer for viewing and exploring large sparse
matrices. Huge matrices can be reduced to a graphically viewable size
for perusing the high-level structure, and more detailed views can
be obtained by zooming and navigating through subregions of the matrix.
The features of MatView include:
- a variety of data reduction functions;
- custom color adjustments or greyscale rendering;
- filtering of matrix values outside the color map;
- printing or saving of matrix views in
PostScript or PPM format;
- compatibility with several formats including Matrix Market,
Harwell-Boeing and Matlab MAT files; and
- loading of compressed files.
A source code distribution of this
Tcl/Tk package is available.
[http://www.epm.ornl.gov/~kohl/MatView/]
- MA28
- A package from the Harwell Subroutine Library (HSL) which consists
of four routines for the solution of sparse linear equations
where the coefficient matrix may be unsymmetric and numerical
pivoting may be required for stability.
This part of the HSL is freely available, although the
remainder is a commercial product.
[http://www.netlib.org/harwell/readme]
- Matwrap
- A tool for interfacing C++ code into matrix-oriented
scripting languages such as Matlab,
Octave and Tela.
Matwrap generates all the code to convert from the scripting language's
internal types into the types that C++ understands. All that is
needed is a .h file describing the functions.
The features include:
- automatic vectorization of functions;
- arguments containing dimensions of other vector and matrix arguments
can be automatically computed;
- pointers to structures and classes are not supported, although
public member functions of classes may be called and public data
members may be evaluated or set;
- support for inheritance.
A source code distribution is available. It requires
Perl 5 and a C++ compiler, with
GCC okay for the latter.
A man page contains the documentation.
[http://lnc.usc.edu/~holt/matwrap/]
- MATX
- A high-performance programming language for numerical and symbolic
computations in science and engineering.
MATX integrates numerical analysis, matrix computations, and symbolic
manipulation in a single package, and adds a language in which problems
are expressed similarly to their mathematical equivalents.
The features of MATX include:
- mated, a matrix editor for entering and revising matrices;
- XPLOT, a graph drawing environment running under X11;
- a matrix class library composed of higher- and lower-level
parts, with the latter containing about 300 functions and the former
around 200;
- matx, an interactive interpreter for quickly prototyping
programs;
- matc, a compiler for compiling production level programs for
faster execution;
- a language that recognizes several data types, e.g. integers,
reals, complex numbers, strings, polynomials, rational functions, etc.; and
- solving polynomial equations and symbolically evaluating derivatives
and integrals.
A user manual is available in PostScript format, although it's a real
sumbitch to attempt to print it.
[ftp://ftp.matx.org:/pub/MaTX/]
[http://www.matx.org/]
- Maverik
- A system for managing display and interaction in virtual reality
applications. Maverik is designed to address the problems offered
by virtual environments wherein many objects have real geometry
and can therefore interact.
It consists of two components:
- a micro-kernel that implements a set of core services and
a framework that applications can use to build complete virtual
environments and virtual reality interfaces; and
- various supporting modules containing default methods for
optimized display management including culling, spatial management,
interaction and navigation, and control of VR I/O devices.
The services provided by the Maverik micro-kernel and supporting
modules include:
- a framework for managing the display and interaction requirements
specific to an application via a callback mechanism wherein applications
register primitives they wish to deal with and the operations they
can perform to display them;
- a spatial management system for keeping track of objects in
a 3-D environment (including functions for building and maintaining
the data structures underpinning these tasks);
- high-performance algorithms for culling, navigation and
collision detection;
- a complete set of primitive objects from which complex environments
can be constructed, e.g. boxes, cylinders, spheres, cones, tori and
polygon meshes;
- the capability of easily constructing new classes of objects;
- support for various VR I/O devices, e.g. stereoscopic head-mounted
and projection displays, autostereoscopic display, hand- and head-tracking
devices, sound output and speech recognition; and
- navigation and interaction techniques, e.g. for mavigating a model
using desktop 2D and 3D mice and conventional keyboards.
A unique aspect of Maverik is its use of an application's internal
data structures rather than the conventional method of importing
data in a special format.
This allows it to easily take advantage of application-specific
optimizations as well as more readily adapt to a wide range of
application demands.
Maverick currently (6/99) uses the OpenGL
library to provide portability across many platforms.
Maverik distributions are available in both source code and
RPM formats.
The Linux distributions require that Mesa
be available.
Documentation includes several technical papers available in
PostScript format.
[http://aig.cs.man.ac.uk/systems/Maverik/]
- max
- A makefile generator which takes as input a short file
describing the structure of a package and outputs a set
of makefiles and a configure script.
The features include
compilation on a wide range of platforms,
support for both C and C++ source files,
support for shared libraries on most systems,
generation of clean/install/uninstall commands,
an automated make depend command,
compatiblity with autoscan output, and
output mostly compliant with GNU standards.
A source code distribution of max is available.
It is written in C and can be compiled on several platforms
using the supplied configure script.
It is documented in a user's manual available in
Texinfo format.
[http://cds.duke.edu/pub/sunsite/devel/make/]
- MAXDET
- A software package for determinant maximization problems which
implements a long-step path-following method.
The distribution includes the full C source code (with calls
to LAPACK, a Matlab
MEX file interface (although the code can also be used directly
via the C source), Matlab examples, and documentation.
See also CSDP, INCT,
LMITOOL, SDPA,
SDPpack, SDPSOL,
and SP.
[http://www-ISL.Stanford.EDU/people/boyd/MAXDET.html]
- MAXIMA
- A fairly complete computer algebra system which is
a Common Lisp
implementation based on the original
implementation of Macsyma at MIT. This can be compiled
with GCL.
This distribution comes with a 235+ page user's manual
in Texinfo
format. The same directory also holds a package
called Affine which is a set of extensions to MAXIMA
which allows things like Todd-Coxeter algorithms and
non-commutative Grobner bases to be used. The directory
also contains xgraph which is used by MAXIMA for some
plots. The use of this software supposedly requires that
a fee be paid to DOE NESC, although a README file in the
directory isn't exactly crystal clear on that point.
[http://www.ma.utexas.edu/users/wfs/maxima.html]
- Maxwell
- A word processor for Linux.
Maxwell has the usual features including named styles,
WYSIWYG editing, tables, and RTF import and export.
Binary and source code distributions are available, with the
latter requiring Motif to build and
still (as of 7/98) in a beta stage.
[http://www.eeyore-mule.demon.co.uk/]
[http://sunsite.unc.edu/pub/Linux/apps/wp/]
- MBone
- The IP Multicast Backbone
is a method for multicasting live audio and video via the Internet.
It is a virtual network layered on top of portions
of the physical Internet to support the routing of IP
Multicast packets. The network consists of islands which
can directly support IP Multicast linked by virtual point-to-point
links called tunnels, with the tunnel endpoints typically
being workstation-class machines with operating system
support for IP Multicast and running the mrouted
multicast routing daemon.
The IP Multicast routers (called mrouters) take the
responsibility of distributing and replicating the multicast
data stream to their destinations as opposed to individual
IP hosts, with the mrouter topology designed such that
packets are efficiently distributed without unduly
congesting any single node.
The IP Multicast is a class D addressing scheme with
addresses ranging from 224.0.0.0 to 239.255.255.255 and
the MBone-based audio/video conferences allocated the address
range 224.2.*.*.
See
Hall (2000),
Kumar (1995) and
Savetz et al. (1996).
Software related to using the MBone includes:
- confcntlr, an MBone videoconferencing
tool for controlling conferences;
- Confman, a tool for initiating and
administering online conferences;
- Free Phone, an audio tool for phoning
over the Internet;
- gwTTS, a set of interactive multimedia tools
that enable instructors and students to interact;
- isc, a conference controller;
- LGMP, a protocol suite for reliable multicast
transfer applications and a library which implements the suite;
- mash, a multimedia networking toolkit
where complex multimedia programming tasks are decomposed into simple
objects linked together and configured with a scripting language;
- MiMaze, a multiplayer game that uses the
MBone;
- mIR, an application for playing
MPEG audio files via multicasting;
- mMOD, a system for the recording and playback
of MBone sessions;
- mMosaic, a derivative of the
Mosaic browser with multicast capabilities;
- multikit, a distributed multicast-based
directory browser;
- mWeb, for real-time distribution of HTML
pages and synchronization of browsers;
- NeVoT, for participating in audio conferences;
- Nt, a shared text editor for use on the MBone;
- nv, a video conferencing tool for X11;
- pmm, a message replicator for systems that
don't support multicast;
- RAT, an audio tool thatl ets users talk over
the MBone;
- Rendez-Vous, a videoconferencing
tool;
- RMF, a protocol (and implementation thereof)
to address a variety of multicast needs;
- RTP, a protocol for the transport of real-time
data including audio and video;
- rtptools, a set of applications for
processing RTP data;
- sd, a general managing tool for multimedia
sessions;
- sdr, a tool for managing multimedia sessions;
- Speak Freely, an audio application;
- vat, a multicast audio tool;
- vic, a real-time video conferencing
application;
- wb, a whiteboard application for the MBone;
- WebCanal, a project to provide a conference
tool for broadcasting HTML documents and push information channels;
- XTP, a transport layer protocol which includes
explicit multicast support; and
- Ztalk, a voice communication tool with
multicast support.
Web sites appropriate to the topic are
Multicast and MBone on Linux
and
Linux Multicast Information.
[http://www.cs.washington.edu/homes/esler/multicast/]
- MCF
- An implementation of a primal and a dual network simplex algorithm.
A source code distribution, written in C, is freely available for
academic usage.
A user's manual is available in PostScript format.
[http://www.zib.de/Optimization/Software/Mcf/]
- MCF (XML)
- The Meta Content Framework provides a data model for
describing information organization structures (i.e. metadata) for
collections of networked information. The syntax for the data model
is an instance of XML.
In the MCF data model a database is a set of directed, labelled graphs
consisting of a set of labels (or property types), a set of nodes, and
a set of arcs (or properties) where each arc is a triple consisting of two nodes
(a source and target) and a label.
The nodes can represent things like Web pages, images, subject categories,
channels and sites as well as their relationships (e.g. hyperlinks,
authorship or parenthood) to other objects.
A set of bootstrap nodes (i.e. units with predefined semantics) has been
defined with which a type system can be bootstrapped. Their names
are reserved such that they can only be used for specific purposes.
A standard vocabulary has also been proposed that can be used for
the purposes of describing the kinds of content found on the Web.
[http://www.textuality.com/mcf/NOTE-MCF-XML.html]
[http://www.oasis-open.org/cover/gen-apps.html]
- MCITT
- The Manufacturer's CORBA Interface Testing
Kit is designed to aid in the testing of systems constructed
using CORBA.
It produces emulations or test servers from specifications of
the behaviors important for specific scenarios.
Using these specifications it automatically produces the CORBA
boilerplate code,
memory management, and stubs for unused
operations needed for a test server.
The behaviors can be defined procedurally using the Interface
Testing Language (ITL) or declaratively using Component Interaction
Specifications (CIS).
The ITL is a highly simplfied language for specifying and testing
the behavior of CORBA clients and servers. An ITL compiler
itlc uses a set of files called a binding to translate ITL
into an implementation language.
The CIS is a textual specification of an interaction scenario for an
entire distributed system that can be used to generate servers that
will execute the described scenario.
A scenario consists of a tree of CORBA requests having specified
inputs, outputs and return values.
Other tools included in MCITT include:
- idlmkmf, which generates makefile rules and variable
definitions for a set of IDL files;
- TEd, a tool for non-interactively editing test scripts
and programs used, e.g. for automating the migration of ITL files
from a C++ binding to Java.
A source code distribution of MCITT is available. It
is defined in a user's guide available in HTML format.
[http://www.mel.nist.gov/msidstaff/flater/mcitt/]
- mc-layer
- A Monte Carlo radiative transfer program for vertically inhomogeneous
atmospheres. This routine, written in Fortran 90, can compute
both fluxes and radiance fields for vertically layered plane-parallel
atmospheres with isotropic reflecting surfaces.
It is documented via comments within the code.
See Macke et al. (1995).
[http://www.ifm.uni-kiel.de/me/research/Projekte/RemSens/SourceCodes/source.html]
- MCLUST/EMCLUST
- A package for model-based cluster and discriminant analysis.
It includes hierarchical clustering and EM for parameterized
Gaussian mixture models.
It also has functions that incorporate these into a comprehensive
clustering strategy in which the Bayesian Information Criterion (BIC)
is used to select the model and number of clusters.
MCLUST is written in Fortran 77 with an
interface to S-PLUS, although a version modified for use with
R is also available.
[http://www.stat.washington.edu/fraley/mclust_soft.shtml]
- MCML
- Monte Carlo for Multi-Layers is a steady-state
Monte Carlo simulation program for multi-layered turbid media with
an infinitely narrow photon beam as the light source. Each layer
has its own optical properties of absorption, scattering, anisotropy,
and refractive index. The simulation is in 3-D with the results
stored in an r-z array in cylindrical coordinates (i.e. radial and
depth positions). Output variables include the radial position and angular
dependence of local reflectance and transmittance as well as the
internal distribution of energy deposition and fluence rate within
the multilayered medium.
A source code distribution of MCML is available. It is written in
C and can be compiled on most platforms with such a compiler.
An extensive manual is available in PDF format.
See also Wang et al. (1995).
[http://omlc.ogi.edu/software/mc/]
- MCPL
- A simple typeless language based on BCPL
which makes use of extensive pattern matching somewhat related
to that used in ML and
Prolog.
MCPL is typeless, runs using a contiguous runtime
stack, and has no built in garbage collector.
An interpreted version of MCPL is available which can be
installed and used on generic UNIX platforms.
A user's manual is available in TeX DVI
format.
See Richards and Whitby-Strevens (1981).
[http://www.cl.cam.ac.uk/users/mr/MCPL.html]
- mcrypt
- An encryption program meant to replace the standard UNIX
crypt utility. This does not replace the file being
encrypted but rather creates a new one with the extension
.enc.
Several symmetric (block) algorithms are used including
DES, 3DES (or Triple DES), CAST, TEA, 3-WAY, BLOWFISH,
TWOFISH, UNIX crypt, GOST and SAFER.
The three available encryption modes are:
- ECB (Electronic Cookbook Mode), i.e. a simple block cipher
that encrypts each block independently;
- CBC (Cipher Block Chaining), wherein the plaintext is XORed
with the previous ciphertest; and
- CFB (Cipher-Feedback Mode), which resembles a stream cipher
implemented from a block cipher.
A source code distribution is available.
[ftp://argeas.cs-net.gr/pub/unix/mcrypt/]
- MCS
- A Matlab program for bound constrained global
optimization using function values only.
It is based on a Multilevel Coordinate Search
that balances global and local searches, with the local search done
via sequential quadratic programming.
MCS is guaranteed to converge if the function is continuous in the
neighborhood of a global minimizer.
See ().
[http://solon.cma.univie.ac.at/~neum/isoftware/mcs/]
- MCSim
- Monte Carlo Simulator is a general purpose
modeling and simulation program which also performs standard
or Markov chain Monte Carlo simulations. The user can specify
a set of parameterized nonlinear differential equations and integrate
them using parameters values either chosen or sampled from user-specified
statistical distributions.
MCSim consists of a model generator and a simulation engine.
The model generator mod is a stand-alone facility which takes
a model description file and creates a C language file while is compiled
and linked to the simulation program. It allows the user to define
equations for the model, assign default values to parameters or default
initial values to model variables, and define scaling functions for
both the input parameters and output variables. It was created to allow
the use to create and modify models without having to maintain C code.
The simulation program mcsim allows four types of simulations
to be performed.
A DefaultSim simulation simply solves the specified equations using
the default parameter values.
A Monte Carlo simulation will perform repeated stochastic
simulations across a randomly sampled region of the model
parameter space.
A MCMC simulation performs a series of simulations along a Markov
chain in the model parameter space, i.e. Monte Carlo simulations in
which the choice of a new parameter value is influenced by the
current value.
A SetPoints simulation integrates the model under the
experimental conditions for a series of specified parameter sets listed
in a separate file.
The MCSim distribution contains the source code for both
mod and mcsim, examples of model and simulation
files, and a user's manual in PostScript format.
The source code is written in ANSI C and can be installed on
generic UNIX platforms with an appropriate compiler.
[http://rfs63.berkeley.edu/users/fbois/mcsim.html]
[http://www.gnu.ai.mit.edu/order/ftp.html]
- MCSSA
- A set of Matlab tools for implementing Monte
Carlo testing of Singular Spectrum Analysis (SSA) results.
The programs include:
- MCSSA1, tests the null hypothesis that a signal is composed
of pure AR(1) noise;
- MCSSA2, tests the null hypothesis that a signal is composed
of pure AR(1) noise plus signal;
- MCSSADEM, a script demonstrating the use of the toolkit;
- AR1NV, estimates the AR(1) parameters for a time series
for the AR(1) noise null hypothesis in a naive way;
- AR1, estimates the AR(1) parameters for a time series for
the AR(1) noise null hypothesis in a more correct way;
- AR1SIGNV, estimates the AR(1) parameters for the signal plus
AR(1) noise null hypothesis in a naive way;
- AR1SIG, estimates the AR(1) parameters for the signal plus
AR(1) noise null hypothesis in a more correct way;
- AR1EOF, computes the theoretical EOFs of an AR(1) process;
- AR1EOF2, computes the theoretical EOFs for a signal contaminated
with AR(1) noise;
- AR1NOISE, generates multiple AR(1) noise realizations given
the AR(1) parameters;
- AR1PSD, computes the theoretical spectral density of an
AR(1) process;
- CONFLIM, computes the confidence limits for an ensemble of
surrogates;
- EOFCORR, examines correlations between two sets of eigenvectors;
- EOFFREQ, calculates the dominant frequency associated with each
of the EOFs;
- EOFPROJ, projects a covariance matrix on an eigenvalue;
- EOFSYM, determines whether EOFs are symmetric, anti-symmetric
or neither;
- CHI2CONF, compute approximate confidence limits for an
eigenspectrum using the chi-squared distribution;
- WILHIL, computes the Wilson-Hilferty approximation to the
chi-squared distribution;
- MCBINOM, computes the cumulative binomial distribution; and
- PLOTEIG, creates a plot of an eigenspectrum with confidence
limits.
[ftp://ftp.gi.alaska.edu/pub/eric/mcssa/]
- mCWEB
- A descendant of the CWEB
system for literate programming.
The mCWEB system adds features which make it easier for more than
one person to use it concurrently, i.e. version control features.
It considers a project to be similar to a book consisting of
several chapters. The relationships between chapters and even
between books are automatically managed by means of various import
and export commands.
Another feature is a second TeX file
containing interface documentation which makes it possible
to define a common interface between the various parts of
a project. A completely rewritten manual is included in
the distribution as are examples.
[ftp://ftp.ist.tu-graz.ac.at/pub/software/packages/CWeb/]
- MDACCLIB
- A collection of statistical analysis software created by the
M. D. Anderson Cancer Center's
Department of Biomathematics.
The software, most of which is written in Fortran
with a smattering of C, includes:
- ACCFLF, fits the accelerated failure model to data with or
without covariates;
- BERDS, an implementation of an automatic variable selection
algorithm for use in multiple linear regression;
- B1CISI, finds confidence intervals for single-stage trials
involving a single group which have a binomial outcome;
- BUSSPA, tests for differences in binomial probabilities in
two groups;
- CID2BP, calculates confidence limits on the difference between
two binomial proportions according to nine different methods;
- CRM, implements the Continual Reassessment Method (CRM) for
dose-finding in Phase I clinical trials;
- CUMNOR, computes the cumulative normal (Gaussian) distribution
for arguments up to +/- 67861400;
- DCDFLIB, a library of routines for
cumulative distribution functions, inverses and other parameters;
- DSTATTAB, calculates the cumulative distribution functions,
inverses, and values of parameters for several statistical distributions;
- EFFTOX, implements a strategy for dose-finding and safety
monitoring based on efficacy and adverse outcomes in phase I/II of clinical
trials;
- EXPSURV, a set of Xlisp-Stat
routines for performing interactive dynamic exploratory graphical analysis
of survival data;
- EXTSIG, provides exact p-values for a test of difference between
two binomial proportions as well as the usual chi-square value and
Fisher's p-value;
- FLECS90, converts code written in the Fortran Language Extended
Control Structure Processor to Fortran 90;
- KSB1CI, finds confidence intervals for single- or multiple-stage
trials involving a single group which have a binomial outcome;
- KSBIN1, plans exact single- or multiple-stage experiments on
a single group with a binomial outcome;
- KSBIN2, performs the computations needed to plan multiple-stage
experiments involving dichotomous outcomes for comparing the probabilities
of an outcome between the two groups;
- MULTC, for implementing the design strategy for monitoring
multiple outcomes in clinical trials;
- MULTI, corrections for multiple hypothesis testing by any of
eighteen different methods;
- PHASE1, for planning and conducting Phase I trials designed to
find the maximum tolerated dose;
- RANDLIB, a library of routines for
random number generation;
- RANLIST, produces randomization lists with both restricted
and unrestricted randomization;
- SINGLE, finds ``good'' single-stage designs for conducting
dose-response experiments in which a logistic or log-log models the
probability response as a function of the dose;
- SOGS, simulates schemes for rapidly breeding congenic mice;
- STPLAN, performs power, sample size, and related calculations
needed to plan studies;
- SURVAN, survival calculations including Kaplan-Meier estimation,
long-rank and Gehan-Breslow tests, proportional hazards and logistic
regression models; and
- WINDOWS, provides a variety of window, kernel and moving average
estimators.
There are also several S programs which can probably be used with
the R package.
[http://odin.mdacc.tmc.edu/anonftp/]
- MDA-SW
- The Multivariate Data Analysis SoftWare
is a collection of (mostly) Fortran 77
programs for performing various types of multivariate
data analysis. The available programs include:
- pca, for principal components analysis;
- part, for partitioning;
- hc, for hierarchical clustering using stored dissimilarities;
- hcon2, for hierarchical clustering without storage of
dissimilarities;
- lda, for linear discriminant analysis;
- mda, for multiple discriminant analysis;
- knn, for K-nearest neighbors discriminant analysis;
- ca, for correspondence analysis;
- cmds, for classical or metric multidimensional scaling;
- sammon, for Sammon mapping; and
- koh, for Kohonen self-organizing feature maps.
A source code distribution is available.
[http://astro.u-strasbg.fr/~fmurtagh//mda-sw/]
- MDBMS
- A small and powerful RDBMS for performing complex database work.
The entire system consists of one binary that simply performs
all database functions.
The features of MDBMS include:
- support for a large SQL subset including subselects, referential
integrity, primary and foreign keys consisting of multiple attributes,
and more;
- support for tables without a primary key;
- full control over a telnet TCP connection with a user port for
normal use as well as a client port for access by clients;
- multitasking in which every port can run its own query
simultaneously;
- a full user-based security system;
- a dynamic CGI bin script for web integration that can talk to the
DB in SQL and also supports DES password encryption, logical constructions,
arithmetic calculations, and more; and
- a Java interface called JDBS.
A source distribution of MDBMS is available as are binaries for
Linux Intel and Alpha platforms.
It is free for home and educational use but not for commercial use.
Documentation is a bit sparse.
[http://www.hinttech.com/mdbms/]
- MDD
- The Mooring Design and Dynamics package is a Matlab
toolkit for designing and evaluating oceanographic moorings and
mooring data. MDD allows both surface and subsurface mooring
configurations to be built and evaluated using a set of graphical
user interfaces and a preliminary database of components.
It allows the design and evaluation of oceanographic moorings
under the influence of time-dependent 3-D currents by solving
a set of force balance equations to determine the spatial position
of each mooring element relative to the anchor.
Mooring elements can include current meters, in-line floats,
thermistor chains and acoustic releases, each with a specified
buoyancy, shape and effective fluid drag.
Wire and chain segments are divided into multiple hinged pieces
so the shape of the mooring will realistically represent a subsurface
or surface mooring under the influence of current shear.
This package works under Matlab 5.1.
[http://canuck.seos.uvic.ca/rkd/mooring/moordyn.html]
- MD5
- A program which calculates a message-digest fingerprint
or checksum for a file.
It is intended for use in digital signature applications
where a large file must be compressed in a secure manner
before being encrypted with a private key under a public-key
cryptography system.
MD5 takes an input message of arbitrary length and produces
a 128-bit fingerprint or message digest of the input.
It is supposed that it is computationally extremely improbable
to produce two messages having the same message digest or to
produce any message having a given prespecified target message
digest.
The MD5 program is available as source code written in C.
It is briefly documented in an ASCII text file.
[http://www.gl.umbc.edu/~mabzug1/cs/md5/md5.html]
- MDSAX
- The Multi-Document Simple API for
XML is a set of tools for working with
Java SAX parsers
and parser filters.
This provides more control over the creation and arrangement of SAX
filters and makes is easier to specify different filter stacks
for different t ypes of documents.
It also provides access to several services that allow filters
to communicate amongst themselves and with the application.
[http://www.jxml.com/mdsax/]
- MEAD
- The Macroscopic Electrostatics with Atomic
Detail package implements macroscopic, dieletric models of
the macromolecule-solvent system. The protein is treated as
a low dielectric medium immersed in a high dielectric solvent, and
the electric potential is determined by the Poisson-Boltzmann
equation solved via finite difference methods.
The details of the atomic structure of incorporated into the
placement of charges and dielectric boundaries.
Source and binary distributions are available, with one of the
latter being for Linux Intel platforms.
See Bashford (1997).
[ftp://ftp.scripps.edu/pub/electrostatics/]
- MEASERR
- A program for the determination of error in individual discharge
measurements. MEASERR computes these uncertainties based on a
root-mean-square error analysis of the individual component
errors, with the latter including errors in the measurement of
width, depth and velocity as well as in computation procedures.
The velocity measurement errors include the uncertainties introduced
by the measurement instrument, the pulsation of flow
in natural rivers, the vertical distribution of measurements,
and oblique flow.
This error analysis can be used to evaluate the uncertainty for most
discharge measurements made with the vertical axis, cup-type
current meter.
Standard errors are computed at the 68% level of significance, i.e.
one standard deviation from the true value. The estimate of the
standard error is computed by computing the standard error of the
individual error components, and then combining them in a root mean
square error analysis.
A source code distribution of MEASERR for UNIX platforms is
available.
The primary documentation is contained within
Sauer and Meyer (1992).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/measerr.html]
[http://www.geogr.uni-jena.de/software/measerr.html]
- MEBDF
- A Fortran 77 routine for solving 1st-order
systems of initial value problems (IVP) for ODEs.
This is TOMS algorithm 703 and is documented
in Cash and Considine (1992b) and
Cash and Considine (1992a).
[http://www.acm.org/calgo/contents/]
[http://www.acm.org/toms/V18.html]
[http://www.netlib.org/toms/index.html]
- MEBDFDAE
- A code for the solution of stiff initial value problems (IVP) and differential
algebraic equations (DAE) in linearly implicit form.
The algorithm is based on a modified extended backward
differentiation formula which has considerably better stability than
BDF and is A-stable up to order 4 and alpha-stable up to order 9.
The MEBDFDAE distribution includes the source code, written
in Fortran, drivers for the program,
and various example results. Documentation is sparse and mostly
in the source code itself.
[http://www.ma.ic.ac.uk/~jcash/IVP_software/readme.html]
- mEDA-2
- The multi-Extended Dataflow Architecture is
an extension to the PVM distributed processing
system which provides Virtual Shared Memory (VSM) for inter-task
communication and synchronization. The mEDA-2 package was
developed to facilitate the construction of parallel programs in
PVM by providing a unified approach to message passing and shared
memory models.
It consists of a library (libeda.a) and a daemon
which avoids deadlocks while accessing VSM (edad).
It is based on the EDA multiprocessing model in which distributed
memory is a set of shared variables distributed between processes
and a shared variable contains either a meaningful value (i.e. it
is full) or the empty value.
EDA provides eight operations on shared variables:
- x-store, storing to an empty variable with acknowledgment;
- s-store, storing to an empty variable without acknowledgment
and queueing the request if the variable is full;
- i-store, equivalent to s-store except that the
request is discarded if the variable is full;
- u-store, updating a variable without acknowledgment;
- x-fetch, extracting a meaningful value from a full variable;
- s-fetch, extracting any value from the variable;
- i-fetch, copying a meaningful value from a full variable; and
- u-fetch, copying any value from the variable.
These EDA operations are used in different combinations or
in matching pairs to perform various operations.
The mEDA-2 pacakge is written in C and uses functions from
the PVM library. It can be compiled and
used on most platforms on which PVM can be installed.
The library is documented in man pages and in various technical
reports available in PostScript format.
See Vlassov et al. (1995).
[http://www.it.kth.se/labs/cs/meda2/]
- MEdit
- A graphical, multi-window, cross-platform text editor originally
written to demonstrate the capabilities of MGUI.
The features include cut and paste, go to line, search, replace,
multi-level redo/undo, auto-indent, printing, customizable colors
and fonts, and more.
This can be used on any platform on which MGUI can be installed.
[http://sunsite.unc.edu/pub/Linux/apps/editors/X/]
- Medusa
- An architecture for very high performance TCP/IP
servers (e.g. HTTP, FTP,
NNTP) which differs from other servers in
that it runs as a single process which multiplexes I/O with its
various client and server connections within a single process/thread.
Medusa is capable of smoother and higher performance than most
other servers, and also places a dramatically reduced load on the
server machine.
Persistence is also easy to implement in Medusa, i.e. the address
space of its process (and thus its database handles, variables, etc.)
is available to every client since all are using the same process.
A server which forks requires some sort of IPC mechanism to
achieve persistence, which requires yet more overhead.
Medusa is also easily extensible, being written
entirely in Python, and secure since it
is not written in a low-level language which can be more easily
exploited.
The current (10/97) features of Medusa include:
- integrated HTTP and FTP servers;
- a secure remote-control capability called a monitor server which
enables authorized users to log in to the running server and control,
manipulate, and examine it while it is running;
- several extensions to the HTTP server including
status extension which provides status information via the HTTP server,
the capability of acting as a proxy server for HTTP requests which
lets it be used as a firewall server,
a CGI extension, and several more planned features such
as pseudo-filesystem extensions and access to databases like
mSQL and Oracle; and
- an API which allows users to extend not just the HTTP server
but Medusa as a whole, e.g. mixing in other server types and new
capabilities into existing servers (e.g. NNTP and POP3 servers have
already been written).
A source code distribution of Medusa is available. It is
written in Python and will run on most UNIX flavors with
this already installed.
[http://www.nightmare.com/medusa/]
- Medusa DS9
- A package that improves the security of Linux by extending the
standard security architecture via the implementation of a user-space
authorization server at the kernel level.
The kernel asks the authorization server for confirmation
before executing certain operations. The server permits or forbids the
operation, and can even affect the way in which the operation is
executed in some cases.
This method allows the use of almost any security architecture, and
enables access rights within the system to be determined to a very
fine level. It also allows extensive and thorough auditing capabilities.
The Medusa DS9 system consists of two basic parts:
- a kernel patch; and
- a user space security daemon called a constable, i.e. the
authorization server.
Communications between the kernel and server are performed via a
special device /dev/medusa, e.g. when the kernel needs confirmation,
it writes data to this device, makes the current process sleep, and
wakes up constable.
The daemon then reads the device data, chooses a response, sends it back to
the kernel, and sleeps.
Finally, the kernel receives the response, wakes the processes, and determines
the result of the operation.
The features and functionality of Medusa DS9 include:
- full access control to any file in the system via VFS;
- redirecting access, e.g. from a selected file to another file;
- complete control of signal sending and receiving;
- direct control of important process actions;
- control of the execution of any syscalls for specified processes;
- hiding processes or files from other processes via a virtual
subsystem (VS) within which every process has assigned access rights;
- a login uid (luid) for every process;
- forcing execution of specified code for any process; and
- low level control of any system call.
[http://medusa.fornax.sk/]
- meep!Board
- A message board system whose features include:
- moderation capabilities;
- fully customizable design of all pages using HTML;
- administration tools for deleting or trimming posts;
- customizable program options for date format, time of post and email;
- use of HTML within messages;
- message previewing;
- embedded message threading;
- message editing by a list moderator; and
- many configuration options including number of messages to list,
thread deletion, removing inactive threads, etc.
A source code distribution is available which can be used on
any UNIX machine with Perl 5 and telnet access.
[http://www.meep.com/product/]
- MEME
- Multiple EM for Motif Elucidation is a
tool for discovering and using protein and
DNA sequence motifs.
A motif is a pattern of nucleotides or amino acids that appears
repeatedly in a group of related DNA or protein sequences.
The MEME system represents such motifs as position-dependent
scoring matrices and consists of two programs:
- MEME, for discovering motifs shared by a group of sequences; and
- MAST, for searching databases for sequences containing these
motifs.
A source code distribution of this ANSI C package is available.
It is documented in a series of technical reports available in
PostScript format.
See the related Meta-MEME.
[http://www.sdsc.edu/MEME/]
- memory allocation/management
- Packages for handling memory allocation and management tasks include:
See also the garbage collection entry.
[http://www.cs.colorado.edu/~zorn/DSA.html]
- memwatch
- A memory leak detection tool whose features include:
- logging to a file or a user function;
- fault tolerent, i.e. it can repair its own data structures;
- detection of double and erroneous frees;
- detection of unfreed memory;
- detection of overflow and underflow to memory buffers;
- setting maximum allowed memory to allocate to stress test an application;
- assert and verify macros;
- detection of wild pointer writes; and
- collection of allocation statistics at application, module or
line level.
[http://www.link-data.com/sourcecode.html]
- Mentat
- An object-oriented parallel processing system designed to
directly address the difficulty of developing architecture-independent
parallel programs. It combines a medium-grain, data-driven
computation model with the object-oriented programming paradigm and
provides automatic detection and management of data dependencies.
The two primary aspects of Mentat are the Mentat Programming
Language (MPL), a language based on C++ that masks the difficulty
of the parallel programming environment from the programmer, and
the Mentat run-time system, which supports parallel object-oriented
computing on top of a data-driven,, message-passing model. The
Mentat distribution is available in binary form for several
systems, including Linux.
See Wilson and Lu (1996).
[http://www.cs.virginia.edu/~mentat/]
- Mercat
- A cross-platform language and programming system whose features include:
- garbage collection;
- portable binary files;
- a C-like syntax;
- associative arrays as a primitive data type;
- real strings;
- expandable via a simple and fast system call interface; and
- self-host, i.e. the compiler and assembler are written in Mercat.
The assembler and compiler sources are available along with
runtime binaries for several platforms including Linux Intel.
[http://wired.st-and.ac.uk/~dg/]
- Mercury
- A logic/functional programming language which combines the clarity
and expressiveness of declarative programming with advanced
static analysis and error detection features. It has a highly
optimized execution algorithm which delivers efficiency far
greater than that of existing logic progrmaming systems and
close to that of conventional programming systems.
Mercury addresses the problems of large-scale program development by
allowing modularity, separate compilation, and numerous
optimizing/time trade-offs.
The Mercury compiler compiles programs to C which it uses
as a portable assembler, and it can exploit some of the C
extensions of gcc.
The features of Mercury include:
- it is purely declarative, i.e. predicates and functions do not have
non-logical side-effects;
- it is strongly typed with a type system based on many-sorted
logic with parametric polymorphism (similar to ML);
- it is strongly moded, i.e. a programmer must declare the instantiation
state of the arguments of predicates at the time of the call to the
predicate and at the time of the success of the predicate;
- it has a strong determinism system, i.e. for each mode of each
predicate the programmer should declare how many times the predicate
will succeed (i.e. once, at most once, at least once, or an arbitrary
number of times);
- it has a module system wherein programs consist of one or more
modules with interfaces which contain the declarations for the
types, functions and predicates exported from that module;
- it supports higher-order programming with closures, currying,
and lambda expressions; and
- it is very efficient compared to other logic programming languages.
The Mercury system is available as either source code or as
a binary for Linux Intel, Sun Solaris and SunOS, DEC Alpha and
Windows 95/NT platforms.
The documentation includes a user's guide as well as library
and language reference manuals.
[http://www.cs.mu.oz.au/research/mercury/]
- Merlin
- A security tool for managing other security
tools. It provides other powerful and cryptic command-line tools
with an easy to use interface.
The features include:
- a Web-based interface accessible via a browser;
- standard support for several popular tools including
COPS, Tiger,
Crack, Tripwire and
SPI;
- easy extensibility to any other command-line oriented tool that
sends information to standard output; and
- a report browser providing the ability to sort reports based on
the type of tool used, the creation date, or the host where the report
was produced.
A source code distribution of this set of
Perl scripts is available.
[http://ciac.llnl.gov/ciac/ToolsUnixSysMon.html]
- Meroon
- An object-oriented system written in
Scheme.
The features of Meroon include:
all objects of Scheme can be seen as Meroon objects without
restriction on inheritance;
CLOS-like generic functions with the capability of adding
new functions and methods on top of previously defined classes;
self-description features;
and more.
A source code distribution of Meroon is available. It is
written in Scheme and has been ported to several freely
available Scheme systems.
It is documented in a user's guide available in
PostScript format.
[http://videoc.lip6.fr/queinnec/WWW/Meroon.html]
- Mesa
- A 3-D graphics library with an API which is very similar to
that of OpenGL.
Most programs which use the OpenGL tk, aux or
GLUT
toolkits will work with Mesa without changing the source
code. The primary goal in the development of Mesa was correctness
rather than speed, with optimizations being the focus of most future
work. Mesa works on most UNIX workstations with ANSI C and X11,
and installed as part of
Vis5D on my Linux box.
[http://www.mesa3d.org/]
[http://sunsite.unc.edu/pub/Linux/X11/devel/libraries/]
- Me3D
- A 3-D polygonal modeling program for creating
OpenGL models for use in games and other
programs that perform real-time rendering.
It is intended to be similar in functionality to WorldCraft and
is not intended for creating models for ray tracers.
A source code distribution is available.
Compilation and use require both Mesa
and GTK.
[http://www.cs.washington.edu/homes/samr7/me3d/]
- Meschach
- A numerical library of C routines for performing calculations
on matrices and vectors. It is intended for solving systems of
linear equations (both dense and sparse), solving least squares
problems, computing eigenvalues and eigenvectors, and more.
It has a collection of data structures which are self-contained,
can be created, destroyed, and resized at will and which
includes permutations, vectors, matrices, integer vectors,
complex vectors and matrices, and sparse matrices.
It is meant for those who know something about the C language,
something of how to solve the numerical problem they have,
and do not want to create all the needed software from scratch.
The features of Meschach include:
- dynamic allocation, de-allocation
and copying of objects;
- dense complex matrices and vectors as well as
the usual real ones;
- input and output routines for objects as well as
a MATLAB save/load format;
- error/exception handling;
- basic numerical linear algebra;
- dense matrix factorization and solution;
- dense matrix
factorization update routines;
- eigenvector/eigenvalue routines;
- sparse matrix utility routines as well as those for factorization and
solution;
- sparse incomplete factorizations (i.e. Cholesky and LU);
- iterative techniques (e.g. pre-conditioned conjugate gradients (GC),
CGNE, LSQR, CGS, GMRES, MGCR, Lanczos and Arnoldi);
- torture routines for checking Meschach; and
- memory tracking for locating leaks.
The source code for Meschach, written in C, is freely available.
It comes in five shar files containing housekeeping and utility
routines, basic dense linear algebra routines, dense factorization
routines, sparse matrix operations, and complex matrix operations.
The chief documentation source is a manual that can be obtained at
the home site for about $30, although a manual for an older version
of Meschach can be obtained in DVI format at the home site.
A subset of this documentation can
be found online at the home site in HTML format.
[http://www.netlib.org/c/meschach/]
[ftp://ftpmaths.anu.edu.au/pub/meschach/]
- mesh generation
- Related sites include:
Packages for generating meshes for finite element solvers.
These include:
- ADMesh, for processing triangulated
solid meshes;
- ALADDIN, a finite element computational
toolkit with mesh generation capabilities;
- BL2D, a package for creating 2-D isotropic
or anisotropic meshes;
- DIME, a environment for creating unstructured
triangular meshes and doing calculations on the mesh;
- EasyMesh, a 2-D mesh generator that
generates unstructured, Delaunay, and constrained Delaunay triangulations
in general domains;
- EMC2, a WYSIWYG 2-D finite element mesh
generator;
- FEAT, a finite element package for solving
PDEs that includes a mesh generation utility;
- FElt, a finite element analysis tool with
mesh generation capabilities;
- FEMLAB-2D, a finite element package for
solving 2-D PDEs which has automatic mesh generation capabilities;
- GEOMPACK, a package of routines for
the generation of meshes using geometric algorithms;
- GRUMMP, a C++ library for manipulating
unstructured finite element meshes and a set of executables built
using the libraries;
- MagSolve, a package for the solution
of 2-D static magnetic field problems which includes automatic
mesh generation capabilities;
- METIS, a set of programs for producing
high quality graph partitions;
- PadFEM, a environment for implementing
adaptive finite element simulation in 2- and 3-D which includes
a set of mesh generators;
- ParMETIS, a parallel version of
METIS for partitioning unstructured graphs;
- QMG, a package for geometric modeling
and mesh generation in 2- and 3-D;
- SCOTCH, a package for static mapping
and graph partitioning;
- Super Delaunay, a fully dynamic
constrained Delaunay triangulation engine;
- TOCHNOG, a finite element package with
mesh generation capabilities;
- Triangle, a 2-D mesh generator;
- Xcog, an interactive 2-D overlapping
grid generator; and
- Xwake, an electromagnetic code solver
with mesh generation capabilities.
- Mesh-Maker
- A program for generating 3-D unstructured tetrahedral meshes for use
in studies of flow over topography.
This was developed and will compile on Linux platforms.
[http://grytviken.leeds.ac.uk/~jason/Mesh-Maker/]
- Mesh-TV
- An interactive graphical analysis tool for visualizing and
analyzing data on 2D and 3D meshes. It is general purpose in
that it handles many different mesh types, provides many different
ways of viewing the data, and is virtually hardware/vendor
independent while still providing graphics at the speed of
the native graphics hardware.
Mesh-TV was developed to help scientists analyze data produced
by physics and simulation codes and differs from other tools in that
it handles multi-block data, mixed material zones, and multi-species
materials. It also handles several mesh types including 2- and 3-D
multi-block rectilinear, curvilinear and unstructured meshes.
The features of Mesh-TV include:
- providing quantitative data via:
- pick-and-query wherein the user picks a point on a plot and the
coordinates and value of the variable are printed;
- value versus distance plots wherein a user chooses a line across
a plot and the variable value is plotted as a function of distance
along that line; and
- retention of axes during zooming, panning and rotating operations.
- comparison of data via several techniques including:
- multiple graphics windows for side-by-side comparisons;
- overlaying of images; and
- simultaneous display of data from many diffferent files either
in separate windows or overlaid.
- a wide range of plot types including:
- material boundary plots, i.e. lines or filled areas for 2-D mesh
data and surfaces for 3-D meshes;
- iso-contours, i.e. lines or pseudo-color fo 2-D mesh data and
surfaes for 3-D meshes;
- mesh plots;
- vector plots;
- 3-D surface plots of 2-D mesh data; and
- stereoscopic viewing of 3-D images.
- many data operations including:
- reflection about any axis;
- orthogonal and arbitrary slicing of 3-D data;
- material species selection;
- index selection, i.e. zooming in on a region specified by nodal
indices; and
- algebraic and mathematical function manipulation of data.
- Motif-based GUI and command-line interfaces
as well as the capability of writing and running batch scripts;
- creating animations from a series of raster images;
- a distributed mode wherein a simulation on one machine can send
data to Mesh-TV on another machine while it is running; and
- use of either IEEE 32-bit floating point numbers or a special
scientific data format called SILO.
Source code and binary distributions of MeshTV are available, with
one of the latter being for Linux Intel platforms.
The SILO data system is also separately available.
Documentation includes a tutorial, a user's manual, a command-line
interface manual and a SILO manual, all of which are available
in PostScript format.
[http://www.llnl.gov/bdiv/meshtv/]
- MESS
- An emulator for several game/computer systems including NES, Sega
Genesis/Megadrive, TRS-80, Colour Genie, Colecovision,
the Apple ][ series, Atari 800 and 5200, Bally Astrocade,
Kaypro 2X, PDP-1, Sega Master System/Game Gear and Vectrex.
A source code distribution of this C package is available as
are binaries for several platforms.
[http://www.vintagegaming.com/emulators/messnews.html]
- mess822
- A library for parsing Internet mail messages which supports the
full complexity of RFC 822 address lists
including address groups, source routes, spaces around dots, and
more.
It also supports common extensions such as quoted atoms, dots in
phrases, and addresses without host names.
It extracts each address as a string with a separate string for
the accompanying comment.
The package contains several applications including
rejectblind for checking whether a known address is list in
To or Cc and 822header, 822field, 822date,
822received and 822print for extracting various pieces
of information from a message.
A source code distribution is available.
[ftp://koobera.math.uic.edu/www/mess822.html]
- MetaDot Portal Server
- An integrated, open source package for running Internet and Intranet
sites. The server functions include:
- information management capabilities that allow non-technical
users to publish, subscribe and syndicate dynamic content;
- content aggregation and user customization via features allowing
users to collect and place content from a variety of sources into
a single page;
- project areas where users can store documents, host discussion
forums, publish information, and manage their own virtual communities;
- security by both groups and users;
- link management;
- personalization;
- online discussion via built-in bulletin boards;
- a graphical dynamic layout system;
- system resource monitoring;
- dynamic table definition;
- a registration approval system;
- an LDAP approval system;
- monitoring numerous discussions on a single page via newspaper
views;
- polls; and
- an open and extensible architecture.
The Portal Server is built on top of
Perl,
MySQL and
Apache.
[http://www.metadot.com/]
- METAFONT
- A computer language for the production of professional quality
typefaces using mathematical type design.
METAFONT can also be used to create figures and symbols other
than typefaces.
The source code is available at the given URL and requires
the CWEB package for compilation and
use.
The original METAFONT manual by its creator Donald Knuth is
available as either Knuth (1986e) or
Knuth (1986b), the former being the paperback and the
latter the hardback version.
The source code for the program is available as
Knuth (1986c) and the details of the computer modern
typefaces created by the author using METAFONT in
Knuth (1986d).
A related program is Metapost.
[ftp://labrea.stanford.edu/pub/tex/mf/]
- Meta-HTML
- An internet application engine and HTML-based
scripting language
that allows the quick building, deploying and
managing of web resources. The programming language is specifically
designed for working within the Web environment, and as such
it provides the most commonly wanted Web functionality as
built-in primitives in addition to a full capability for
large-scale symbolic manipulation that one might expect from
a programming language. Web pages include standard HTML and
Meta-HTML statements intermixed which, when requested by a
browser, are passed through the Meta-HTML engine an dynamically
processed to produce an HTML page to be delivered to the browser.
Interpreter options include using it as a CGI engine that can
be run by any Web server, as a full-featured Web server (mhttpd)
with the interpreter built in, as a stand-alone processor (like
Perl), or as an interactive debugger.
The Meta-HTML language includes flow control, arithmetic
operators, relational operators, and Web applications
features like stateful sessions (with or without browser
cookie support); GDBM database storage, retrieval and
searching; network and file system streams; macros and
functions that allow the writing of new tags; an interface
to the MSQL database system; file upload and download over
HTTP connections; and extended regular expression syntax
in string operations.
The Meta-HTML source code is freely available as both
source code and in binary form for Linux (a.out and ELF),
IRIX, BSDI, OSF, Solaris SunOS and HPUX platforms. A manual
in hypertext format is included with each distribution.
The present version 5.0 is freely available although I'm
not sure if future releases will remain so.
[http://www.metahtml.com/]
- MetaKit
- A software development library for the storage, transport and manipulation
of structured objects and collections in C++.
This is a small and self-contained library for maintaining persistent
data.
The MetaKit library is freely available for personal and non-commercial
use.
[http://www.equi4.com/metakit/python.html]
- metamail
- A package which can be used to convert virtually an mail-reading
program (on UNIX, DOS, or Amiga) into a multimedia mail-reading
program. It is an extremely generic implementation of
MIME, the proposed standard for multimedia
formats on the Internet. This implementation is extremely
flexible and extensible, using a mailcap-type file mechanism
for adding support for new data formats when sent through
the mail.
The core of the package is a mechanism that allows the easy
configuration of mail readers to call external viewers for
different types of mail, e.g. Ghostview
for PostScript, xv
for bitmapped images in any of several formats, etc.
The distribution also contains viewers for a number of mail
types defined by the MIME standard so that it can be immediately
useful with any site-specific customization or extension.
The metamail distribution contains several programs for specific
tasks including:
- audiocompose, for preparing and previewing audio fragments;
- audiosend, for sending audio fragments via email;
- extcompose, for composing a reference to external data for
inclusion in a mail message;
- getfilename, asks for the name of a file in the specified format;
- mailto-hebrew, for sending mail in mixed Hebrew and English;
- mailto, multimedia mail sending program;
- metamail, main program for mailcap-based multimedia mail handling
that calls other programs as needed;
- metasend, crude interface for sending non-textual mail;
- mimencode, translates to and from mail-oriented encoding formats;
- richtext, for viewing a richtext document in an email message;
- showaudio, for playing audio fragments in email messages;
- showexternal, attempts to obtain the real body of an email message
that is included only by reference;
- shownonascii, view all or part of a mail message in a
non-ASCII format;
- showpicture, view an image received in the mail; and
- splitmail, split a large mail message into MIME-compliant
partial messages.
The capabilities of these programs provide include:
- plain US ASCII text, plain text in the ISO-8859-8 (Hebrew/English)
character set,
- richtext (i.e. multifont formatted text),
- image formats (using xloadimage),
- audio and multipart mail which combines several other types,
- multipart/alternative mail which offers data in multiple formats;
- encapsulated messages,
- partial and external messages
(for large data objects), and
- arbitrary (untyped) binary data.
Some support is also offered for the use of non-ASCII
characters in certain mail headers.
The distribution comes with a small patch for each of over a
dozen popular mail reading programs, e.g. Berkeley mail,
mh, Elm, Xmh, Xmail, Mailtool, Emacs Rmail, Emacs VM, Andrew, and
others.
The source code for metamail, written in C, is included with
the distribution as are several sample MIME format files.
Documentation is available in the form of a user's manual
and several technical reports in PostScript format.
[http://sunsite.org.uk/computing/mail/metamail/]
[http://metalab.unc.edu/pub/Linux/system/mail/mailhandlers/]
- Meta-MEME
- A toolkit for building and using motif-based hidden Markov models of
DNA proteins.
Meta-MEME combines a set of similar protein sequences and a set of
motif models discovered by MEME into a single,
motif-based Markov model and uses it to produce a multiple alignment
of the original set of sequences and to search a sequence database
for homologs.
The programs comprising Meta-MEME include:
- mhmm, which creates motif-based hidden Markov models (HMMs)
of families of related proteins;
- mhmmt, which trains the parameters of a given HMM
using expectation-maximimization (EM);
- mhmma, which uses a given HMM to produce a multiple sequence
alignment of a given set of sequences;
- mhmms, which searches a protein sequence database using a
Meta-MEME motif-based HMM produced by mhmm;
- mhmm-convert, which converts a linear HMM in Meta-MEME
format into HMMER 1.8 format; and
- score-n-store, a general program for interpreting sorted
search results.
A source code distribution of this ANSI C package is available.
It is documented in a series of technical papers available in
PostScript format.
[http://metameme.sdsc.edu/]
- METAN
- An integrator for stiff systems of autonomous ordinary differential
equations.
METAN uses a semi-implicit mid-point rule with
h
-extrapolation to solve the equation system.
The source code for this is written in Fortran and
its use is documented
via embedded comment statements.
This is part of CodeLib.
See Deuflhard (1983a) and Deuflhard (1983b).
[ftp://elib.zib.de/pub/elib/codelib/metan1/]
- MetaPost
- A system that implements a picture-drawing language similar to
Metafont except that the output is expressed with cubic splines
and PostScript commands rather than
in Metafont's raster-oriented Generic Font Format. It is a powerful
language for expressing figures for documents printed on PostScript
printers and can also be used for creating PostScript fonts.
The data types are mostly the same as those in Metafont except
that pictures represent a continuous version of what is scan-converted
in order to create Metafont's pictures. Some raster-oriented
Metafont primitives are removed and primitives for expressing
PostScript concepts are added.
Facilities for integrating text and graphics are also included to
make it convenient for figures to include labels which match the
document text typography.
Perhaps the easiest way to obtain and install MetaPost is via
the teTeX distribution wherein it is
automatically installed along with the rest of the package.
The master MetaPost distribution can also be installed by
itself using the web2c package, the details for which can be
found at the MetaPost web site.
This package is documented in a series of technical reports
available in PostScript format.
[http://cm.bell-labs.com/who/hobby/MetaPost.html]
- meteorology software
- Applicable packages include:
- AGROMET, a set of routines for implementing
optimal interpolation procedures for agrometeorological variables;
- CMAPF, a library providing mathematical
transforms of conformal maps;
- DISORT, for computing quantities related
to radiative transfer in a multi-layered plane-parallel medium;
- DOM, a polarized multi-dimensional
discrete-ordinates radiative transfer model;
- EOFPACK, a set of codes for performing
various types of EOF analysis;
- FLEXTRA, a kinematic trajectory model;
- GRIB, a general purposedata exchange format
for meteorological data;
- HWM93, an empirical model of the horizontal
neutral wind in the upper themosphere;
- iplib, a library for interpolating between
almost any types of grids used in meteorology; and
- Streamer, a radiative transfer model for
computing either radiances or irradiances for a wide variety of
atmospheric and surface conditions.
- METIS
- A set of programs for partitioning graphs and for producing
fill reducing orderings for sparse matrices using a multilevel
graph partitioning scheme. It provides high quality partitions,
is fast, and produces low fill orderings. Such things are
pragmatically used to create optimal finite element meshes.
Some of the newer features (for version 2.0) include:
- a faster k-way partitioning algorithm which produces good
partitions and is much faster than the algorithms used in
earlier releases;
- the extension of the algorithms to handle non-power of 2 partitions;
- the provision of a stand-alone library to interface with the
algorithms;
- the checking of input graph consistency during input; and
- better memory management.
METIS is written in ANSI C and has been tested on IBM AIX, SGI IRIX,
Sun Solaris and SunOS, and Cray UNICOS systems, although it is
apparently portable to any system with the GNU C compiler.
The documentation is contained within a user's guide in
PostScript format.
A parallel version called ParMETIS
is also available.
[http://www.cs.umn.edu/~karypis/metis/metis.html]
- MET++
- An object-oriented application framework that supports the
development of multimedia applications by providing reusable objects,
i.e. widgets,
for 2D graphics, user interface components, 3D graphics, audio and
music. It manages the standard behavior of a multimedia application
such as time synchronization and user interaction (e.g. file
dialog, cut and paste, commands, etc.).
MET++ is an extension to the ET++ Application Framework, an
object-oriented
class library that integrates interface building blocks, basic
data structures, input/output, printing, and high-level application
framework components. It supports user-interaction features such as
direct manipulation, multi-undoable
commands, and a flexible mechanism to compose visual objects with
declarative layout specification and automatic object positioning
via components like pop-up and pull-down menus, buttons, scroll-bars
and more included as predefined classes. All of the rich and varied
functionality of ET++ is inherited by MET++ applications.
The MET++ extensions to ET++ include 3D graphics routines realized
with PEX, GL and OpenGL adapters. This
framework provides objects
for camera, light sources, material definitions, primitive 3D objects,
polygons, and more, with 2D and 3D graphics integrated so they can
be mixed in the same view. Building block classes for audio and
music include intensity, pitch, tonalsystem, pitchscale, and more.
Time synchronization is realized via temporal grouping elements
such as loop, repeat, sequence, and synchronize. Import and
exchange converters for many file formats are included as is
a hypertext/hypermedia link mechanism.
Both ET++ and MET++ are C++ class libraries that can be compiled
with almost any AT&T based C++ compiler or with GCC/C++. Although
the ET++ library is highly portable amongst UNIX/X11 platforms,
some of the advanced multimedia features of MET++ limit its
portability to a subset of the platforms amenable to ET++.
Documentation includes man pages and several technical
reports in PostScript format.
A book entitled Developing Object-Oriented Multimedia Software Based
on the MET++ Application Framework is available, although it's
presently (4/97) only available in German.
[http://www.ifi.unizh.ch/groups/mml/projects/met++/met++.html]
- Metre
- An ANSI/ISO standard C parser whose behavior is
determined by a set of rules.
Rules files are provided for a tool that prints call trees as well as
for a metrics tool.
The latter is called metre and reports the minimum, maximum, average
at the function, module and project level for several metrics including:
- Halstead's length, vocabulary, volume, level, effort, intelligence
content, programming time, and language level;
- number of source, code, comment and blank lines;
- number of executable, declaration and preprocessor statements;
- backfired function points;
- maximum control depth;
- identifier count and length; and
- number of functions and modules.
The call tree tool is called mtree and prints a call graph as an
annotated, indented tree of function names.
A source code distribution of Metre is freely available.
It is written in standard C, lex and yacc and is portable across
operating systems, compilers, and various flavors of lex and yacc.
Documentation includes a user's guide in ASCII format as well
as some man pages.
[http://www.lysator.liu.se/c/metre-v2-3.html]
- MEVAS
- A Fortran 77 implementation of an algorithm
for the computation of a state feedback for multi-input linear systems
that result in a closed-loop matrix with a specified self-conjugate
set of eigenvalues.
The computation uses only real arithmetic, assigning complex conjugate
eigenvalues in one double step.
Level 1 BLAS routines are used wherever possible.
This is TOMS algorithm 747 and is documented
in Miminis and Roth (1995).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
- Mew
- Messaging in the Emacs World is an
Emacs interface to integrate email, news,
MIME and PGP as well as
to make it easy to view and compose with them.
The features of Mew include:
- easy display and composition of complicated structured messages;
- automatic decryption of messages encrypted with PGP;
- easy encryption or signing of messages with PGP;
- a single view for multiple folders;
- an icon-based interface on Xemacs;
- choosing messages via specific conditions such as subject or date;
and more.
Mew will run on sufficiently recent versions of both Emacs and Xemacs.
[http://www.mew.org/]
- MexCDF
- A mex-file interface between NetCDF
and Matlab which invokes the complete C language NetCDF
interface. This allows Matlab users to read, write, and
manipulate NetCDF data files in a general and efficient
manner.
[http://crusty.er.usgs.gov/mexcdf.html]
- MEXX
- The MEXanical systems eXtrapolation integrator is
a package of numerical software for the integration of constrained
mechanical multibody systems including dry friction, nonholonomic
constraints, generalized velocities, and external dynamics.
MEXX is suited for the direct integration of the equations of
motion in descriptor form and is based on the extrapolation of
a time stepping method that is explicit in the differential
equations and linearly implicit in the nonlinear constraints.
This requires the solution of only well-structured systems of
linear equations with the computational burden growing linearly
with the number of bodies. Position and velocity constraints are
enforced throughout the integration, with acceleration constraints
not needed.
The solution method is an extrapolated half-explicit Euler method.
It also has options for a continuous time solution representation
and for the location of events such as impacts.
A source code distribution of MEXX is available.
It is written in Fortran 77 and documented in an ASCII file as
well as via comment statements included in the source code files.
This is part of CodeLib.
[ftp://elib.zib.de/pub/elib/codelib/mexx/]
- m4
- A GNU macro processor which is an implementation
of a traditional UNIX macro processor.
It is mostly SVR4 compatible although it has some extensions
such as built-in functions for including named files, running
shell commands, doing arithmetic, manipulating text in various
ways, and recursion.
It can be used either as a front-end to a compiler or as a
stand-alone macro processor.
It is perhaps most widely used by the GNU
Autoconf utility which uses it for
generating configure scripts, although it can be useful for
many things.
A source code distribution of m4 is available at the
usual GNU sites.
It is written in C and can be compiled and used on many
platforms using the supplied configure script.
It is documented in a user's manual available in
Texinfo format.
[http://www.seindal.dk/rene/gnu/]
[http://www.gnu.ai.mit.edu/order/ftp.html]
[http://sunsite.unc.edu/pub/Linux/utils/text/]
- MG
- The Managing Gigabytes system is a collection of
programs which comprise a full-text retrieval system (i.e.
one in which a database
created out of some given documents
can be queried to retrieve relevant documents).
It is full-text in that every word in the text is indexed and
the queries operate only on this index.
This is a research prototype for managing
multi-gigabyte archives.
The source code to MG, written in C and Tcl/Tk , is available.
The prior installation of the
Tcl/Tk package is
required to install and run this package.
The MG system is fully documented in
Witten et al. (1994) although some documentation
can also be found on the Web site.
[http://www.cs.mu.oz.au/mg/]
- MGCP
- The Media Gateway Control Protocol is
for controlling Voice over IP (VoIP) gateways (also known
as telephony gateways)
from external call control elements called media gateway controllers or
call agents.
Telephony gateways are network elements providing conversion between
audio signals carried on telephone circuits and data packets carried
over the Internet.
MGCP assumes that call control intelligence is external to the gateways
and handled by external call control elements or call agents.
These call agents synchronize with each other to send coherent commands
to the gateways under their control, although MGCP does not itself
define such a synchronization mechanism.
This is a master/slave protocol in which gateways execute commands
sent by the call agents.
See also the SGCP.
[http://info.internet.isi.edu:80/in-drafts/files/draft-huitema-megaco-mgcp-v1-00.txt]
[http://www.computertelephony.org/]
- mgcp
- An implementation of the MGCP protocol stack
for Linux platforms.
[http://www.vovida.com/sub_mgcp.cfm]
- mgetty+sendfax
- A package consisting of two programs:
- mgetty, for optimizing the use of a modem
in a UNIX environment by handling incoming calls
without interfering with outgoing calls as well as by receving FAXes;
- sendfax, a backend program for sending FAXes.
The features of sendfax include:
- sending FAXes directly or via shell scripts;
- performing FAX polling, i.e. calling elsewhere and having them send
a FAX to you; and
- creating a FAX queue in which outgoing FAXes are automatically sent
and the user is informed via email.
The features of mgetty include:
- knowledge of smart modems to ensure that the modem is always in
a defined state;
- manual answering of incoming calls instead of auto-answer so the
modem won't pick up the phone when the machine is down or logins are
not allowed;
- incorporation of all features of uugetty;
- receiving FAXes if the modem supports FAX class 2 or 2.0;
- awareness of incoming FidoNet calls;
- extensive logging and debugging features;
- setting up a machine as a FAX poll server;
- selective refusing of calls based on CallerID; and
- refusing incoming FAXes if disk space is low.
A source code distribution is available. This has been successfully
installed on most UNIX flavors and supports
quite a few modems as well.
Documentation is contained in a manual as well as in a set of
man pages.
[http://alpha.greenie.net/mgetty/]
- MGF
- The Material and Geometry Format is a least common
denominator language for describing scenes and objects suitable for
physically-based rendering applications. It is expressly suited
for visible light simulation and rendering.
The specification includes 28 entities divided into such categories as color,
material, vertex and geometry.
The package also contains an MGF parser and three MGF data translators:
- mgfilt, for getting usable MGF entities;
- mgf2inv, for converting from MGF to Inventor or VRML format; and
- 3ds2mgf, for converting 3-D Studio binary files to MGF format.
Additional translators can be found in the
Radiance package.
[http://radsite.lbl.gov/mgf/HOME.html]
- MGGHAT
- MultiGrid Galerkin Hierarchical
Adaptive Triangles is a
Fortran program for the solution of
second order linear elliptic partial differential equations with
Direchlet, natural, or mixed boundary conditions on 2D
polygonal domains (with and without holes).
It uses a finite element method with linear, quadratic or
cubic elements over triangles. The adaptive refinement via newest
vertex bisection and the
multigrid iteration are both based on
a hierarchical basis formulation. Graphical display of results
is also possible.
The MGGHAT distribution includes the source code which
is written in Fortran. This will compile on several UNIX
platforms including Linux using either f2c
or g77. Some routines from both
LINPACK and
BLAS are needed for compilation.
The Tcl/tk package is also needed for
interactive manipulation of graphics displayed using
Gnuplot.
A user's manual in PostScript format is included in
the distribution.
[http://www.cerfacs.fr/~douglas/mgnet/Codes/mgghat/]
[http://math.nist.gov/mcsd/Staff/WMitchell/mgghat/mgghat.html]
- MGL
- The Multi-platform Graphics Library was designed
for creating interactive graphics applications.
It provides fast, low-level rasterization of 2- and 3-D primitives
that can be used for creating games, user interfaces, and other
real-time graphics applications.
The features include:
- OpenGL API hardware and software support;
- a game framework for creating commercial quality games;
- a sprite library for hardware and software sprite management;
- support for hardware triple buffering;
- optimized 32-bit assembler rasterization;
- full hardware and software double/multi-buffering support;
- hardware scrolling/panning surfaces;
- rendering direct to video memory, off-screen video memory, and
to system memory buffers;
- real-time 8-bit dithering;
- resolutions from 320x200 to 1600x1200;
- color depths from 4 to 32 bits per pixel;
- automatic detection and use of VGA, ModeX, VESA VBE, VESA VBE/AF;
- a C++ wrapper class API;
- 2- and 3-D graphics output features including lines, rectangles,
ellipses, elliptical arcs, text, monochrome bitmaps, complex regions,
BitBlt, TransBlt, StretchBltt, z-buffered triangles and quads, etc.;
- support for double buffered mouse cursors;
- JPEG bitmap file loading;
- bitmap and scalable vector fonts; and
- full-screen port of GLUT.
The full MGL package also contains several supplemental libraries including:
- a MegaVision GUI library, a fully object-oriented user interface
library;
- a Fixed/Floating Point Transform library that provides high performance
fixed or floating point math functions (e.g. trig functions, 2- to 4-D
vector math functions, 2- and 3-D transformation matrices);
- a Quick2D Rendering library that provides a fast fixed/floating
point 2-D world coordinate system and full support for arbitrary 2-D
transformations;
- a Quick3D Rendering library that provides a fast fixed/floating
point 3-D world coordinate system and support for arbitrary 3-D
transformations;
- a QuickModeller 3-D Modeling library that provides support for
building complete modeling hierarchies and for single polygons and
polygonal models; and
- a Techniques Class library for neatly implementing various data
structures in C++.
The entire package is available under an open source license.
[http://www.scitechsoft.com/dp_mgl.html]
- MGLAB
- A tutorial multigrid
program which solves elliptic boundary
value problems in one dimension. The user can choose various
multigrid cycles, transfer operators, smoothing methods,
and nested iteration end defect corrections. Cell-centered
and vertex-centered discretization and multigrid is included.
The MGLAB source code, written in Fortran,
is included in the distribution along with sample input and output
files. Their is some documentation in the code although the
primary documentation is contained in
Wesseling (1992).
[http://www.netlib.no/netlib/misc/mglab/]
[http://casper.cs.yale.edu/mgnet/www/mgnet/Codes/wesseling]
- Mgraph
- A package for creating 2-D plots of scientific data that can be
used interactively (via a GUI) or on the command-line.
The features include:
- output files in PostScript, TIFF or GIF format;
- no internal limits on the size of data files;
- up to 10 simultaneous graphics windows;
- graphics database management capabilities;
- interactive formatting of documents;
- digitization of curves either read in TIFF format or grabbed
directly onscreen;
- various methods for fitting equations to curves;
- contour drawing and several available geographical projections;
- batch processing via command files; and
- easy integration into Fortran or C programs.
Binary distributions of Mgraph are available for several
platforms including Linux Intel.
A man page provides most of the documentation,
although quite a few examples are additionally available.
[http://www-loa.univ-lille1.fr/Mgraph/mgraphE.html]
- MGTP/G
- The Model Generation Theorem Prover/Ground
version is
a theorem prover for non-Horn clauses that deal with ground atoms.
MGTP/G is a bottom-up theorem prover with several available
options for efficient execution including clause indexing,
elimination of redundant computation, and atom indexing.
Useful frame work such as negation as failure and hypothesis
reasoning can be easily implemented using MGTP/G.
It is possible to obtain the same proof using different
strategies and proof tracing and statistical data can
be optionally displayed.
A source code version of MGTP/G is available. It is written
using the KL1 langauge and can be used on UNIX platforms on
which KLIC is already installed.
A user's manual is included in PostScript format.
[http://ss104.is.kyushu-u.ac.jp/software/MGTP/]
- MGUI
- The Morello Graphic
User Interface
is a cross-platform graphical user interface written in ANSI C.
It consists of a library and a code generation tool. The
library contains the usual collection of GUI objects (widgets), e.g.
menus, push buttons, editable fields, list, etc., and the
MGUI Designer tool allows the user to create and maintain
window layouts using the mouse. It can be used to develop
multi-platform applications that do not require GUI porting
across Windows 3.1, Windows 95, X Windows, and DOS BGI and
DJGPP, thus decoupling the application code and the host system
API.
The features include
total source level compatibility among all supported platforms,
the same look and feel in all environments, compact source
code, a manager object that automatically positions and
resizes its children, a designing tool that generates C source
code files that can be compiled in all supported environments,
support for 16, 256, 32K and 64K colors under DOS BGI and up
to 16 million in the other environments, text cut and paste
capabilities, various drawing primitives (e.g. rectangles,
circles, polylines, etc.), image drawing in up to 24 planes,
and a log facility with a run-time user modifiable tracing
level.
MGUI is available for several programming environments, including
Linux with X11. The freely available package includes the MGUI
library, the MGUI designer, documentation, examples and MEdit
source code.
[ftp://volftp.mondadori.com/pub/pc/windows/win95/programming/]
- MH
- A Message Handler for email which consists of a set
of programs that can be used at the UNIX shell prompt.
In addition to the basic functions provided by a user agent such
as reading and sending mail, MH includes additional message
handling capabilities such as mechanisms for organizing messages,
tailoring its own behavior, and extending its functions.
Advanced MH features include:
- draft folders which provide a method by which several message
drafts can be simultaneously composed and maintained until sent;
- message selection wherein MH commands accept message sequence
specifications to specify which messages are to be operated on;
- distribution lists which permit the efficient distribution of
interest group messages on a single host to a group of hosts; and
- encapsulation where some messages (such as digests) encapsulate
other messages in their body.
The source code for MH is in the public domain and can be
installed on most generic UNIX
systems. Binaries are available
for many platforms. MH is usually accessed via some sort of
interface program, e.g. exmh,
mh-e, metamail,
Qmh, etc.
Quite a bit of documentation for MH is available in both
PostScript and HTML format.
The second URL below is a link to an online version of the now out-of-print
book ``MH & xmh: Email for Users and Programmers.''
[http://www.ics.uci.edu/~mh/]
[http://www.ics.uci.edu/~mh/book/]
- mhash
- An ANSI C thread-safe has library
containing several hash algorithms
that can be used to create checksums, message digests, etc.
The algorithms currently (7/99) supported include
MD5, SHA1, GOST, TIGER, RIPE-MD160 and HAVAL.
A source code distribution is available under
a BSD-style license.
[http://schumann.cx/mhash/]
- MHonArc
- A Perl program for converting e-mail messages
as specified in RFC-822
and the MIME
standard to HTML.
MHonArc can convert MH mail folders or
UUCP/Unix style mailboxes into an HTML mail archive,
add or remove messages to an existing HTML mail archive,
and convert a single message to HTML.
MHonArc also provides: a main customizable index for all mail
messages archived, a customizable thread index listing messages
by thread, control over message formatting, and the ability to
hook in your own custom message filters.
More recent (i.e. V2.0) features include support for message
header extensions for non-ASCII text, multi-page index
generation, subject-based threading in done in conjunction with
explicit threading, author-based sorting, support for
Content-Length fields, and many more customization features.
MHonArc should be usable on any platform for which a
Perl distribution exists. Documentation is available online
in HTML format or as part of the distribution.
A FAQ is also available.
[http://www.oac.uci.edu/indiv/ehood/mhonarc.doc.html]
- Mica
- An object-oriented 2-D graphics framework created
using Java with the goal of
supporting the
implementation and intermingling of graphing editors, drawing editors,
and user interfaces. Mica provides extensive support for display
lists, event handling, action dispatching, coordinate transforms,
and connectivity to meet this goal.
All parts derive from a richly featured base class to make it easy
for a programmer to add functionality.
The features of Mica include:
- written in Java with no native methods for maximum portability;
- provision of many graphics objects including shapes, connections,
widgets, windows, dialogs and message boxes, editors, choosers,
pre-built menubars, toolbars, and graphics editors;
- subclassing from a single base class to enable all graphics
objects to be treated the same and to be modified using their API
or by using composition;
- a large number of behavioral objects called event handlers
that can be assigned to graphics objects to allow, for instance,
widgets to respond to a user's input;
- differentiation of actions (generated by graphics objects) from
events (generated by the keyboard and mouse);
- use of world coordinates fro all graphics objects for accuracy
and flexibility of display;
- automatic detection and accounting for any and all modifications
made to any graphics objects;
- the real-time moving, resizing, connecting, reconnecting, and
animating of graphics objects so the user doesn't get confused by
disappearing graphics;
- connections are first class graphics objects and extensive support
for having connections is included in all graphics objects;
- graphics objects called attachments that make it easy to add resizing
handles or to add a textfield widget to a connection;
- full support for end-user and programmatic specification of
properties via text files containing defaults;
- built-in drag and drop and clipboard cut/copy/paste functionality;
- extensive support for help;
and much more.
Mica comes with several pre-built applications including:
- MiNetwork, a graphics editor which can be used to create, edit,
save, and load graphs of many different types;
- MiColorBrowser, a tool for displaying color combinations including
the standard 16 colors defined in java.awt and the 216 browser-safe colors;
- MiFontBrowser, a tool for displaying the Java system fonts
in all styles and various sizes;
- MiImageBrowser, a tool for viewing images in GIF, JPG and
XPM formats;
- MiLife, a program for specifying cell-based rewrite rules and
animating the results a la Conway's game of Life; and
- MiPerformanceSuite, a suite of performance and other types of
tests which generates a table of user-browsable results.
A source code distribution of Mica is available. It requires
JDK 1.0.2 or better and will run on all JDK-supported
platforms.
It is documented in a white paper and an overview, both available
in PDF format. The source is also documented in the usual way for
Java programs.
[http://www.swfm.com/mica.htm]
- MICO
- MICO Is CORBA is a project to provide a freely
available and complete CORBA 2.0
implementation.
The features of version 2.0.6 (5/98) include:
- IDL to C++ mapping;
- a Dynamic Invocation Interface (DII);
- a Dynamic Skeleton Interface (DSI);
- a graphical interface Repository browser allowing the invocation
of arbitrary methods on arbitrary interfaces;
- an Interface Repository (IR);
- IIOP as a native protocol, i.e. ORB prepared for multiprotocol support;
- support for nested method invocations;
- an interface (Any) for inserting and extracting constructed
types that were not known at compile time;
- a full BOA implementation including all activation modes, support for
object migration, and the implementation repository;
- support for using MICO from within X11 applications and Tcl/Tk;
- Naming and Event Services; and
- support for secure communication and authentication using SSL.
A source code distribution of MICO is available.
It is written in C++ and can be compiled with egcs 1.0
or GCC 2.7.2 and 2.8.1.
It has been succesfully compiled on Linux Intel platforms.
It is documented in a manual available in PostScript format.
[http://www.vsb.informatik.uni-frankfurt.de/~mico/]
- tclmico
- A Tcl interface to
MICO. It provides CORBA client
functionality to Tcl scripts and allows you to invoke any methods
of any CORBA object in a typesafe manner.
An interface to DSI allows you to implement servants in Tcl.
The capability of reading, writing and manipulating and IR
allows the creation of new interfaces or dynamic data types
on the fly.
[http://www.informatik.uni-frankfurt.de/~fp/Tcl/tclmico/]
- Micq
- Matt's ICQ clone is a clone of
ICQ for Linux.
It is currently (10/98) available for console mode although
a GUI is supposedly in the works.
A source code distribution is available.
[http://phantom.iquest.net/micq/]
- Microwindows
- An open source project for bringing the features of modern graphical
windowing environments to smaller devices and platforms.
The project has two implementations:
- Microwindows, for the Win32/WinCE API for Windows variants; and
- Nano-X, an Xlib-like API for UNIX variants.
The UNIX version runs on 32-bit Linux systems with kernel framebuffer
support, under X11, or through
SVGALIB.
It has also been ported to 16-bit Linux ELKS.
The entire system requires less than 64k on 16-bit systems and around
100k on 32-bit systems.
The graphical and other features of Microwindows include:
- full RGB color support and color mapping;
- optimized palette bitmap drawing;
- truecolor and palletized displays;
- a 3-D look and feel;
- overlapped and child windows;
- complete window and client area clipping;
- proportional and fixed fonts;
- optimized painting algorithms for maximum response while windows
are being moved;
- offscreen drawing and bit-blit routines for flicker-free drawing
and animation; and
- polygon draws, fills and arbitrary region clipping.
Both source code and binaries are available.
[http://www.microwindows.org/]
- MIDAS
- A multichannel digital sound and music system designed for use with
games, demos and other real-time multimedia applications.
The support sound formats include:
- uncompressed 8-bit mono and stereo samples and streams;
- uncompressed 16-bit mono and stereo samples and streams;
- compressed 8-bit mu-law mono and stereo samples and streams; and
- compressed 4-bit ADPCM mono and stereo streams.
The supported module formats are:
- FastTracker 2 modules (XM) with up to 32 channels;
- Scream Tracker 3 modules (S3M) with up to 32 channels; and
- Basic Protracker modules (MOD) with 4 channels as well as
extended PT-like formats with up to 32 channels.
MIDAS supports several platforms including Linux with GNU C/C++.
It accesses the sound hardware through the system sound drivers and
thus works with any supported sound card.
MIDAS is free for non-commercial usage with licenses available
for commercial use.
[http://www.s2.org/midas/]
- Midgard
- A platform for creating Web applications built on top of
Apache,
PHP and
MySQL.
Midgard has several features for developing, processing and maintaining
Web sites including:
- a powerful implementation of database connectivity such that the
entire site can be served from databases;
- separation of content, layout and functionality for easier
maintenance and quicker deployment;
- a platform-independent interface for administration via a
Web browser; and
- a customizabile front-end for the administration toolset.
The components of Midgard are:
- a relational database (MySQL) for storing
all content, i.e. a set of tables for storing Midgard records like
articles, persons, hosts and styles;
- a core library that handles basic tasks like database connectivity,
user authentication and authorization;
- a mod_midgard translation module that maps URLs to
Midgard database addresses, collects all the style elements needed
for page generation, and handles the initialization and termination
of the persistent Midgard database connections; and
- a midgard-php content generation module that generates the
HTML pages.
A source code distribution is available under the
GPL.
[http://midgard.greywolves.org/]
- MIDI
- The Musical Instrument Digital
Interface is a standard hardware and software protocol
for allowing musical instruments to communicate with each
other.
Events sent over a MIDI bus can also be stored as MIDI files
for editing or playback. Some sound cards provide a MIDI
interface, but even those that don't can usually play MIDI
files using the on-board capabilities of the sound card.
MIDI-compatible packages available for Linux include:
See Young (1996).
[http://sound.condorow.net/]
[http://www.bright.net/~dlphilp/linux_soundapps.html]
- midikb
- A program that reads input from a standard computer keyboard as if it
were a synthesizer keyboard and sends MIDI
events to programs or files or devices.
This can be used with the Csound package.
A source code distribution is available. It was developed
on a Linux Intel system.
[http://www.sdf.se/~simon/midikb.html]
- Midi2Cs
- A program which converts a
MIDI file to a
Csound score and orchestra.
It also works with WAV and AIFF files.
Csound files can be taken as input to provide synthesizing.
The combination of Midi2Cs and Csound enables the creation of
audio tracks of MIDI files directly on a hard disk without
the need for external samplers.
Midi2Cs is available as an executable for MS-DOS,
Linux Intel, Sun SunOS, SGI IRIX, and NeXT platforms.
The documentation is available in both
PDF and ASCII text formats and
includes a FAQ, a tutorial, and a manual.
[http://www.snafu.de/~rubo/songlab/midi2cs/]
- Midnight Commander
- A freely available clone of Norton Commander, a directory
browsing tool with many features.
The features include:
- a built-in virtual file system in which one can manipulate
remote files via FTP or MC's own MCFS protocol;
- the capability of using all of the MC operations with the virtual
file system which enables the performance of complex tasks;
- mouse support on the Linux console and on xterm;
- run-time configuration to support any kind of input keys for a given
terminal;
- text and hex editors;
- a hotlist capability;
- command completion;
- subshell support to enable the running of commands in a real shell;
- a find file command which can search inside the contents of files;
- background operations which allow the copying or moving of files
while other tasks are performed;
- Linux file recovery for recovering deleted files from an ext2fs
partition;
- context dependent actions; and
- a powerful built-in file viewer.
A source code distribution of Midnight Commander is available.
It can be compiled and installed on a range of platforms via the
supplied autoconf scripts.
It is documented via a man page.
[http://www.gnome.org/mc/]
- Midnight Modeller
- A GUI based interface for the POV 2.x raytracer. It features
an ACAD style interface and supports complex surface creations,
nested CSGs, layers, import/export of DXF and RAW files, shaded
previews, nearly full control over the pOV textures, interactive
panning/rotating/zooming and more.
[http://sunsite.unc.edu/pub/Linux/apps/graphics/rays/pov/]
- MIEPACK
- A collection of Fortran 77 programs, subroutines, and functions
for performing various tasks in electromagnetic scattering
theory.
The programs are divided in numerical functions, special
functions in spherical coordinates, Mie theory functions,
and test programs.
The numerical function included is
adaptIntVec, an integration routine based on Simpson's
rule with adaptive step-size control.
The special functions are further divided in radial functions
and angular functions.
The radial functions include:
- bessel, which calculates the spherical Bessel functions
by backward recurrence;
- neumann, which calculates spherical Neumann functions;
- hankell, which calculates spherical Hankel functions of
the first kind and spherical Bessel functions; and
- sphbesc and sphbesr, which compute spherical
Bessel and Neumann functions with complex arguments.
The angular functions are:
- legendre, which calculates legendre polynomials;
- sphHarm, which calculates single spherical harmonic;
- calcYlm, which calculates spherical harmonics;
- calcPiTau and piTau1, which calculate various
angular functions;
- calcVecYlm, which calculates vector spherical harmonics; and
- calcMNeo, calcMNlm and calc1MNlm, which
calculate various vector functions.
The Mie theory programs include:
- mieCoeff, which calculates Mie coefficients for internal
and scattered fields;
- mieCrossec, which calculates the scattering, absorption,
and extinction cross-sections of a homogeneous sphere;
- mieIntField, which calculates the electrical field inside
a homogeneous sphere;
- mieScattField, which calculates the electric field scattered
by a homogeneous sphere; and
- mieScattAmp, which calculates the matrix elements for
scattering by a homogeneous sphere.
The test programs are:
- test1PWlm, which checks the spherical expansion of circularly
polarized plane waves;
- testInt1 and testInt2, example applications of
adaptIntVec;
- testIntSph, which checks the orthonormality of spheric harmonics
via explicit integration;
- testPlaneWave, which checks the spherical expansion of the scalar
plane wave in terms of spherical harmonics;
- testVecPlaneWave, which checks the spherical expansion of a
linearly polarized plane wave in terms of vector functions;
- testMie1 and testMie2, which check the Mie scattering
subroutines; and
- testAngScatt, which calculates the differential scattering
cross-section and the degree of polarization for scattering
by a homogeneous sphere.
A source code distribution of all of the programs in MIEPACK
is avaiable.
All routines are written in Fortran 77 and documented via
comment statements contained within the source code files.
[http://www.unternehmen.com/Bernhard-Michel/eindex.html]
- Mie Scattering Toolbox
- A collection of Matlab functions developed
to perform scattering calculations for a scanning nephelometer.
The basic functions compute the intensity of light scattered from
a single homogeneous spherical particle as well as from distributions
of particles and for polychromatic light.
[http://lboro.ac.uk/departments/el/research/optics/matmie/mfiles.html]
- MIEV
- A Fortran 77 computer code which calculates the quantities
involved in electromagnetic scattering from a homogeneous sphere.
These quantities include:
- scattering and extinction efficiencies;
- the asymmetry factor;
- forward- and back-scatter amplitudes;
- scattering amplitudes versus scattering angle for incident
polarization parallel and perpendicular to the plane of scattering;
- coefficients in the Legendre polynomial expansions of either the
unpolarized phase function or the polarized phase matrix;
- various quantities needed in polarized radiative transfer; and
- information about whether or not a resonance has been hit.
A source code distribution of MIEV is available.
It is written in Fortran 77 and is documented in a technical
report available separately at the same site.
A program called MVTst which exhaustively tests the
code is also available.
See Wiscombe (1980).
[ftp://climate.gsfc.nasa.gov/pub/wiscombe/Single_Scatt/Homogen_Sphere/Exact_Mie/]
- MIF
- A set of programs for solving time-dependent PDEs in 1-D that have
solutions with steep gradients in space and time.
This technique combines a moving-grid method based on a Lagrangian
description of the PDE and a smoothed-equidistribution principle
to define the grid positions at each time level with a spatial
discretization method that automatically discretizes the spatial
part of the user-defined PDE using the method of lines.
This is TOMS algorithm 731 and is documented
in Blom and Zegeling (1994).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
- mif_la
- Translates FrameMaker MIF files to
LaTeX source.
[http://www.cs.stir.ac.uk/~kjt/software/framemaker/]
- MikMod
- This package consists of
a sound library (libmikmod) and a module player (MikMod).
It can be used to play MOD
sound module format
files as well as those in the IT,
XM, S3M, MTM, 669, STM, ULT, FAR, MED, AMF and DSM formats.
A source code distribution of this is available as is a Linux Intel
binary. It can be compiled on most UNIX flavors.
Other programs that use libmikmod for their sound module
playing needs include:
- AlsaPlayer, a player for various types
of audio data;
- ClanLib, a platform-independent interface
for game development;
- Crystal Space, a 3-D multimedia
application development environment;
- MAM/VRS, a multimedia application
development library; and
- xmms, a cross-platform multimedia player.
[http://mikmod.darkorb.net/]
- MiMaze
- The Multicast Internet Maze is
a multiplayer game with a distributed architecture that uses the
MBone network.
MiMaze is a research project to study the transmission control mechanisms
needed to make it possible to play a real-time multiplayer game on the
Internet.
The components of the completely distributed communication
architecture based on IP
multicast include a communication system based on RTP/UDP/IP and distributed
synchronization mechanisms to guarantee the consistency of the game
independent of network delay.
The features of MiMaze include:
- a distributed game that allows anyone anywhere to play
together on the same game field;
- real-time interactivity wherein reactions are immediately based
on the actions of other players;
- a distributed architecture in which each local copy of the
software processes the actions of a player and then transmits the
state of the player to all other players;
- use of multicast which allows players to send their state just
one time to reach all other players as opposed to unicast wherein
the state has to be sent separately to all other players;
- audio enhancements including a phone that allows players to
speak to each other;
- a virtual world wherein players are in a 2-D labyrinth with
a 3-D representation; and
- a connectionless game wherein players can join and leave at
any time.
Distributions of MiMaze are available for Sun SunOS and Solaris,
Linux Intel, FreeBSD Intel, SGI Irix, and DEC Alpha OSF platforms.
Various documentation is available including some technical
reports in PostScript format.
[http://www.inria.fr/rodeo/MiMaze/]
- MIME
- The Multi-purpose Internet Mail
Extensions is a freely available set of specifications
which offers a way to interchange text in languages with
different character sets as well as multimedia e-mail
among many different computer systems that use Internet mail.
MIME allows e-mail messages to contain: character sets other
than US-ASCII, enriched text, images, sounds, other messages
(reliably encapsulated), tar files, PostScript, pointers to
FTP-able files, and more.
It supports several pre-defined types of non-textual message
contents and also permits you to define your own types of
message parts.
See
Johnson (2000).
Some MIME applications include mpack,
MetaMail, emil,
exmh,
AUIS, and
MIME++.
See also
Chemical MIME.
[http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html]
- MIME++
- A C++ class library for parsing, creating,
and modifying messages in MIME format.
MIME++ is designed to greatly reduce the amount of programming
effort needed to create e-mail, Usenet or HTTP applications.
The features of MIME++ include:
- an intuitive object-oriented architecture;
- a design which permits user customization or extension via
inheritance;
- class names taken directly from the BNF grammars given in
RFC-822 and
RFC-1521;
- support for all MIME types and subtypes documented
in RFC-1521 including multipart, message, and application types;
- support for quoted-printable and base64 content transfer encodings
(with support for uuenconde, binhex and other formats coming soon); and
- the provision of high-level, wrapper classes called Message,
MultipartMessage, and MessageWithAttachments which are especially
easy to use and serve as examples for using the library.
MIME++ is available as source code and is written using the most
portable features of C++, and should thus compile on nearly all
compilers including g++.
Tested platforms include Sun Solaris and SunOS, Dec Digital UNIX,
Linux Intel, SGI IRIX, and DOS and Windows 3.1.
The documentation is contained within man pages which are also
available in HTML format.
[http://www.hunnysoft.com/mimepp/]
[http://sunsite.unc.edu/pub/Linux/devel/lang/c++/]
- MindsEye
- A project to create a complete modeling and animation package for
the Linux operating system. It also aims to combine the functionality
of several other freely available, scattered packages for performing
various 3-D graphics functions.
The features include:
- a modular design which makes it easy to add or change things;
- a multi-scene/user concept, i.e. an RCS
for graphical objects rather than source code;
- a kernel-system view rather than a modeler-system view;
- an object-oriented modeling design; and
- network support via a network module which can tie several
kernels together and make them behave like a single program.
A source code distribution of MindsEye is available.
Compilation requires the installation of some other libraries including
Qt, Mesa and
Nurbs.
Binaries are also available for several platforms including
Linux Intel.
There is a growing (although still incomplete) collection of
documentation including a user's guide and a programmer's guide.
[http://mindseye.sourceforge.net/]
- Mindy
- Mindy Is Not Dylan Yet is
an implementation of a language very much like the language
that is called Dylan. The name is derived from the recursive
Dylan is an object-oriented language being developed at
Apple, more about which can be gleaned at the
Dylan Web site.
Mindy comprises two C programs, a compiler that produces byte-codes
and a byte-code interpreter, and has been built and run on a variety
of platforms including Linux. It is a research tool and is not meant
to be an industrial-strength implementation of Dylan.
[http://sunsite.org.uk/computing/programming/languages/dylan/dylan/Mindy/]
- MINF
- A Fortran 90 implementation of a minimization
algorithm designed for use in a limited-memory environment.
It includes implementations of the Buckley-LeNir method,
Nocedal's limited memory algorithm, and an experimental limited-memory
implementation of a factored update.
It also includes a standard quasi-Newton implementation.
This is TOMS algorithm 734 and is documented
in Buckley (1994b) and
Buckley (1994a).
[http://www.mirror.ac.uk/sites/netlib.bell-labs.com/netlib/toms/]
- Mingw32
- The Minimalist GNU Win32 package is
a version of the
GNU-Win32 Project which allows
the use of GCC on Win32 platforms like
Windows NT/95 to compile native programs.
Native programs are those which don't require extra DLLs like
the Cygwin DLL but rather use CRTDLL.DLL to provide C run-time
library functions, the latter of which is supplied with all
current Win32 platforms. Programs compiled this way are smaller
and easier to distribute.
[http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/]
- minicom
- A serial communications program resembling the DOS TELIX program.
The features including a dialing directory with auto-redial,
support for UUCP-style lock files on
serial devices, a scripting language with an interpreter,
capturing to file, and multiple users with individual
configurations.
A source code distribution is available.
[http://www.pp.clinet.fi/~walker/minicom.html]
- miniLZO
- A lightweight version of the LZO real-time
data compression library.
It is intended for small applications that require some data
compression but don't need the entire LZO package.
It compiles to about 6 KB with the sources being around 14 KB.
[http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html]
- minimalist
- A minimalist mailing list manager written in
Perl that is fast and easy to set up and
maintain.
The capabilities including subscribing/unsubscribing users via
request, obtaining list information, and list archiving on
a daily/monthly/yearly basis.
[http://www.webest.com/minimalist/]
- Ministry of Truth
- A Web-based job, equipment and software tracking system built
on top of Apache,
PHP and MySQL.
It can be used, for example, by a support department to keep
track of its support calls while simultaneously maintaining
change logs for all machines and software packages.
[http://mot.sourceforge.net/]
- MiniVend
- A full-featured electronic catalog system (i.e. shopping cart) that
can be set up with multiple catalogs and as a mall.
The features of MiniVend include:
- complete SQL database support via the Perl
DBI/DBD interface;
- SSL support for secure ordering;
- PGP support for secure off-site mailing of orders;
- built-in support for CyberCash;
- catalogs can be of very large size with excellent performance;
- a multi-server mode for very high capacity on systems with
sufficient memory;
- cookie support allowing browsers to leave a catalog and come back
without losing session state;
- multiple shopping carts that allow buy/sell operations or classified
ad exchanges;
- built-in addressable database support with almost unlimited rows,
columns, and field sizes (i.e. SQL is not required to run the system);
- powerful search capabilities including a complete
Glimpse interface, fast binary search,
range searching, embedding searches within searches, etc.;
- complete control of web appearance with over 80 predefined tag
functions, user-definable tags, embedded Perl and conditional HTML to
allow complex and flexible catalog pages to be built on the fly,
full frames support, and full client-side imagemap support;
- a flexible ordering process with multi-level order screens,
shipping calculation, sales tax calculation, fully configurable
discoutns and quantity pricing, etc.; and
- easy administration including automated installation and
configuration, several administration utilities, etc.
The source code for MiniVend is available under the
GPL. It is written in Perl and requires
version 5.004 (although it may also work with 5.003 and 5.002 with
slight modifications).
It is documented in a set of HTML files included in the distribution.
[http://www.minivend.com/minivend/]
- MiniMate
- A Web front-end for MiniVend.
[http://www.linuxia.de/minimate/]
- MINIX
- A free clone of the UNIX
operating system
with a microkernel-based design. Using this inspired
Linux Torvalds to begin the development of the
Linux operating system.
The features include:
- full multiprogramming;
- running in protected mode on x86 processors up to Pentiums;
- support for extended memory up to 4 GB;
- RS-232 serial line support;
- quasi-compatibility with POSIX;
- an ANSI C compiler;
- a shell functionally identical to the Bource shell;
- networking with TCP/IP;
- over 200 utilities;
- over 300 library procedures; and
- extensive online manual pages.
A source code distribution is freely available for education or
research purposes.
See Tanenbaum and Woodhull (1997).
[http://www.cs.vu.nl/~ast/minix.html]
[http://www.disi.unige.it/person/DoderoG/minix/links.htm]
- minordomo
- A minimalistic replacement for majordomo that
supports the subscribe, unsubscribe and info commands.
A source code distribution is available as are RPM
files.
[http://www.nodomainname.net/software/minordomo/]
- Minotaur
- A package that allows scripts written in
Tcl,
Python and
Perl to be intermixed, i.e. a script written
in any of them can be run in any of the others.
Minotaur embeds one language in the other at runtime, i.e. the
context ends up as a single process.
This can be done because each language supports both dynamic
extensions and being embedded in a C main program,
although the pForth scripting language
is actually the main language used.
A source code distribution is available.
[http://mini.net/pub/ts2/minotaur.html]
- MINPACK-2
- A package for the solution of systems of nonlinear equations, nonlinear
least squares problems, and minimization problems.
A Levenberg-Marquardt method for
nonlinear least squares and a trust region Newton method for
minimization problems are available, and both suitable
for the solution of medium-scale
problems on vector and shared-memory architectures.
A version of the latter method as well as a variable-storage
variable metric method are available for larger scale problems.
Future work is planned on algorithsm for distributed memory
architectures. BLAS and
LAPACK routines are used wherever
possible to enhance performance on the widest variety of
architectures.
MINPACK-2 features include:
- a reverse communication interface
for flexibility and ease of use;
- various auxiliary routines, e.g.
for computing the covariance matrix in least squares problems,
estimating the noise in the function, estimating the difference
parameter, estimating sparse Jacobian and Hessian matrices, etc.; and
- and the availability of the routines in single and double
precision.
The package also includes a large test problem collection including
problems dealing with: flow in a channel, swirling flow between
disks, incompressible elastic rods, solid fuel ignition, flow in
a driven cavity, a human heart dipole, exponential data fitting,
Gaussian data fitting, Chebychev quadrature, elastic-plastic
torsion, and much more.
The distribution includes all the source code, written in Fortran,
and some PostScript documents describing the package and the
test problem collection. All of the BLAS and LAPACK routines
needed by the package are included in the distribution. An
earlier version of this package called
MINPACK-1
is also still available.
[ftp://info.mcs.anl.gov/pub/MINPACK-2/]
- MINQ
- A Matlab program for bound constrained
indefinite quadratic programming based on rank 1 modifications.
MINQ employs a combination of coordinate searches and subspace
minimization seps (safeguarded equality-constrained
QP-steps when the coordinate searches no longer change the active set).
Rank 1 updates are used to keep the linear algebra cheap.
This can also be used for general definite quadratic programming since
the dual is simply constrained.
[http://solon.cma.univie.ac.at/~neum/software/minq/]
- MInT
- The Multimedia Internet Terminal is a flexible
multimedia toolset allowing the establishment and control of multimedia
sessions across the Internet. The system architecture is fully
distributed and offers several features including:
- audio transmission and reception for qualities ranging from
GSM up to CD based on the
NeVoT and VAT tools;
- video transmission and reception based on VIC;
- an integrated conference control instance that hides the complexities
of the individual tools;
- floor control;
- voting based on MPoll;
- an interface to sdr;
- RSVP reservation capabilities for all
applications used;
- adaptive video transmission;
- joint viewing and remote control of PostScript documents; and
- invitation of remote users based on SIP with
name resolution capabilities.
Source code and binary releases are available for Linux Intel.
A user's manual is available in PostScript format.
[http://www.fokus.gmd.de/step/mint/]
- mIR
- An application for playing MPEG audio files distributed
via multicasting.
This uses an external player for the audio.
This is planned to have four parts:
- mIR Server, for multicasting MPEG files on different channels;
- mIR Client, for acting as a tuner allowing the user to choose
among the available types of music;
- mIR Voter, for gathering and storing voting information and
playing popular songs more often; and
- mIR Database Manager, a tool for handling the song database.
A source code distribution of this Java
package is available. It requires JDK 1.1.
Not all of the functionality is yet (11/98) available.
[http://www.cdt.luth.se/~peppar/progs/mIR/]
- MIRACL
- A big number library implementing all the primitives needed to include
big number cryptography in an application.
The MIRACL library consists of over 100 routines covering all aspects
of multiprecision arithmetic. Two new data types - big and
flash - are defined, respectively, for large integers and
large rational numbers.
All routines are optimized for speed and efficiency while still
being written in standard, portable C, although
optional fast assembly language alternatives for some computationally
intensive routines are included (e.g. for Intel x86 processors).
A C++ wrapper is provided as an additional
interface to the library.
Over 40 sample programs in C and C++ demonstrating the use of
the library are included. These programs demonstrate factoring,
discrete logarithms, public-key cryptography, and other more
basic library features.
[http://indigo.ie/~mscott/]
- Mirage
- A virtual reality toolkit descended from the VR386 package
for UNIX/X11 platforms
Mirage can import files in WorldToolKit NFF format, complex 3-D
objects created with AutoCAD through the DXF format, and the
VR386 PLG format.
A source code distribution of the viewer is
available as are binaries for selected
platforms including Linux Intel.
Compilation requires Tcl/Tk version 7.6 and
4.2 or greater, respectively.
[http://www.gegi.polymtl.ca/electech/marceau/labrv/vrlab.htm]
- MIRIAD
- The Multichannel Image Reconstruction, Image
Analysis and Display package is a toolbox in the form
of an environment containing a large set of moderate sized programs
which perform various individual tasks involving the calibration,
mapping, deconvolution, and image analysis of interferometric
data.
Examples of the over 200 tools or tasks contained in the MIRIAD
package include:
- atmos, which analyzes phase statistics from a UV dataset;
- blcal, which computes and applies a baseline calibration;
- calplot, which plots the flux of primary calibrators;
- demos, which performs an inverse mosaicing operation;
- ellint, which integrates a MIRIAD image in elliptical annuli;
- fits, which converts between MIRIAD and FITS
images and UV formats;
- gpscal, which performs self-calibration of visibility data for
arrays with linear feeds;
- histo, which finds statistics of images and plots
simple histograms;
- imfit, which fits models to a given image dataset;
- maxfit, which fits a 2-D parabola to a 3x3 region of an image;
- odnh3, which creates optical depth and rotational temperatures
maps from ammonia maps;
- pbplot, which plots primary beam shapes;
- regrid, which regrids an image by interpolation;
- shifty, which aligns two images;
- tvdisp, which displays an image on a TV device;
- uvfft, which performs a Fourier transform on a sequence of UV data;
- velplot, which interactively plots spectra and slices from MIRIAD
images;
- xyphase, which determines XY phase corrections from on-line
measurements; and
zeeeta, which computes the Zeeman parameter.
A source code distribution of MIRIAD is available. It is written
mostly in Fortran 77 with some lower level I/O routines written in
C.
Is has been ported to several platforms including Intel Linux.
A large amount of documentation is available including
a user's guide, a reference manual, a cookbook and much more.
All are available in PostScript format.
[http://bima.astro.umd.edu/bima/miriad/]
- Mirror
- A program designed to duplicate a directory hierarchy between two
machines. Mirror avoids copying files unnecessarily by comparing
the file time stamps and file sizes before transferring.
It is written in Perl.
[http://sunsite.doc.ic.ac.uk/packages/mirror/]
- mirrordir
- A program that mirrors a directory tree in every detail including
devices, ownerships, permissions, symlinks, hardlinks and
access times.
It can also be used to create backup files before deleting
and store multiple revisions through any number of levels.
It works over FTP and MCFS.
A source code distribution is available.
It is documented in a man page.
[http://www.obsidian.co.za/mirrordir/]
[http://sunsite.unc.edu/pub/Linux/system/backup/]
- mirroring
- Software for mirroring portions of or entire remote sites. This is
done by FTP,
HTTP or some other protocol.
Listed packages include:
- AutoRPM, for mirroring RPMs from an FTP site;
- CVSup, for general purpose mirroring as well
as specialized capabilities for CVS repositories;
- ECLIPT Mirror, for mirroring FTP and
Web sites;
- IRRd, for mirroring IRR databases;
- Mirror, for duplicating directory hierarchies
between machines;
- mirrordir, for mirroring directory trees
via FTP;
- omi, for FTP mirroring;
- Pavuk, for mirroring the contents of Web
documents via HTTP, FTP, Gopher and HTTPS;
- Wget, for HTTP mirroring;
- w3mir, for HTTP copying and mirroring.
- MISA
- Management Inventory Scheduling Accountancy is
a project to develop a business commerce suite under the
GPL. This is just underway as of 8/98.
[http://misa.freeservers.com/]
- MISCFUN
- A software package to compute uncommon special functions such
as Abramowitz, Airy, Bessel integrals, Debye, Struve, synchrotron
radiation, transport integral, inverse-tangent integral, Clausen
integral, Lobachevski integral, and Stromgren integral.
This is TOMS algorithm 757 and is documented
in MacLeod (1996).
[http://www.netlib.org/toms/index.html]
[http://www.acm.org/calgo/contents/]
- MISTIC
- The MIchigan Synthesis Tools for ICs package
is a planar process compiler for thin-film and micromachined devices
that automatically generates fabrication process flows starting from
a 2-D geometrical device description. The synthesis method is based
on topological sorting techniques that find all possible flows in the
device from which an optimal flow is selected to maximize device
yield.
MISTIC consists of four major software modules:
- a device cross-section editing tool consisting of a GUI for
drawing and editing device cross-sections using materials stored
in the database and then generating input for the compiler;
- the compilation core which reads the device cross-section file
and topologically sorts the components, merges them into layers,
sequences the layers, and generates a synthetic run sheet containing
all the information needed to run the process;
- an output interface or process viewer that extracts information
from the compiler-generated files and displays them in various formats; and
- a database editor for viewing and modifying entries in the database.
The compiler constructs complete process flows from the sequencing
information, a process where the sequence is expanded via the insertion
of lithographies, etching steps, ion implantation, diffusion cycles,
deposition steps, reactive growth cycles, cleaning cycles and pad oxide
steps. It also supports self-alignment, implant-through layers, LOCOS-type
processes, and simultaneous solutions of multiple diffusions and multi-zone
diffusion cycles to meet specified junction depth targets.
Source and binary distributions of MISTIC are available, with the latter
including a version for Linux Intel.
A user's manual is available in hypertext format.
[http://www.eecs.umich.edu/mistic/]
- Mithril
- A dynamic programming language
whose semantics are based on both Scheme and
Smalltalk, e.g. using
Scheme-style
primitive objects and Smalltalk-style
classes and method dispatching.
Mithril will have several standard syntaxes with similar grammars
including at least one Lisp syntax, one
Algol syntax, and one or two
XML syntaxes.
All syntaxes will be equal based on parsing to standard intermediate
parse trees.
The purposes of Mithril include:
- to act as a very high level language for assembling lower level
components without requiring a complex runtime to achieve easy development
with high quality, e.g. efficient and well-designed garbage collection
and basic collection classes;
- to provide access to the entire range of low and high level runtime
interfaces of any code that links with it, e.g. so low level
C code can be added and still be able to effectively
interoperate with the high level internal features of Mithril;
- to act as a binding language, i.e. a universal glue for components
assembled from disparate sources for s specific application; and
- to confer complete control over the language used through possession
of sources and ownership of the build and development processes that can
cause entropic changes in the language.
Mithril is not yet (10/99) released although the developer plans to release
the source code to the public domain sometime in 1999.
[http://www.best.com/~mccusker/irondoc/irsilver.htm]
- MIT Photonic-Bands
- A program for computing the band structures (i.e. dispersion relations)
and electromagnetic modes of periodic dielectric structures.
This computes definite-frequency eigenstates of Maxwell's equations
in periodic dielectric structures for arbitrary wavewectors using
fully-vectorial and 3-D methods. It is especially designed for
the study of photonic crystals but can be applied to other
problems in optics such as waveguides and resonator systems.
The features include:
- use of iterative eigensolver techniques to enable large, 3-D
calculations;
- a direct, frequency domain eigensolver that simultaneously
obtainsboth eigenvalues and eigenstates;
- a targeted eigensolver that can compute either the lowest frequencies
or the states whose frequencies are closest to a specified target;
- a flexible and scriptable interface based on
Guile;
- support for nearly arbitrary geometric structures and
non-orthogonal unit cells;
- output in HDF format;
- portability to most UNIX-like operating systems; and
- future support for MPI.
A source code distribution of this
C package is available.
An extensive manual includes a tutorial.
[http://ab-initio.mit.edu/mpb/]
- MIT Scheme
- This run-time Scheme system is probably the most widely used
Scheme
distribution and includes a compiler (Liar) and an
Emacs-like editor (Edwin).
[http://www.swiss.ai.mit.edu/projects/scheme/]
- Mixmaster
- An anonymous remailer, i.e. a mailer which allows you to send
e-mail to a Usenet news group or a person without the recipient
knowing your name or your e-mail address.
Mixmaster uses a special message format for which you need a
special program to make messages, i.e. a client.
Once you have used the client to create a message you simply
tell it which remailers to use.
The remailer software is also available should you want to
run one.
The Mixmaster client software is available as source code.
It can be compiled and used on all UNIX platforms except
DEC Alpha.
The program is documented in the package. Additional
information about anonymous remailing is available at the site.
[http://www.obscura.com/~loki/]
- MiXViews
- A tool for editing, processing and analyzing digitized sounds and other
forms of binary data. It is built upon the
InterViews library and runs with
the X Window environment.
It is based on the MVC (Model-View-Controller) paradigm of
object-oriented programming in that every chunk of data being
edited is represented in the program as a type of object called
a model with which the user interacts using another object called
a view. The view shows the model data in some format, e.g. a
graph. The third object, the controller, coordinates communication
between the model and its views and is invisible to the user.
Several menus are available in MiXViews depending on the
type of data being editing. Menu types include:
- a view menu containing all the commands relating to the visual
display of the data (e.g. new views, zooming, reset vertical scale,
etc.);
- a file menu with which files can be opened, closed, saved, etc.;
- an edit menu allowing the user to insert points, erase regions,
add regions, splice, mix, crossfade, etc.;
- a sound modification menu for applying envelopes,
reversing selections in time, transposing, time shifting, filtering,
normalizing, adding delay or DC offset, etc.);
- a filter submenu with
low, resonant, comb, and elliptical filters; and
- several other
menus for specific data types.
The source code for MiXViews is available as are binary
versions for NeXT, Sun SunOS and Solaris, SGI IRIX, and
Linux Intel (ELF) platforms. It can be straightforwardly
ported to other UNIX platforms for which the InterViews
library is available.
The current user's manual is available in ASCII text format.
[http://www.ccmrc.ucsb.edu/~doug/htmls/MiXViews.html]
- MJPEG Tools
- A set of utility programs for MJPEG recording and playback as well as
simple cut and paste editing and MPEG compression of audio and video.
The programs include:
- lavrec, for recording AVI and Quicktime MJPEG files with
the Iomega BUZ including sound recording from the sound card;
- lavplay, plays back AVI and Quicktime MJPEG files;
- xlav, a GUI for lavplay with fast forward/reverse,
single frame stepping, and simple non-destructive editing;
- lavtrans, converts a mixture of AVI files, Quicktime files or Edit
Lists into a single AVI or Quicktime file;
- lavaddwav, for adding another soundtrack (a WAV file to an
AVI or Quicktime file;
- lavvideo, a test application for the video overlay capabilities
of V4L hardware devices;
- lav2yuv, decodes AVI and Quicktime MJPEG and outputs simple
raw YUV video format;
- lav2wav, decodes AVI and Quicktime MJPEG and outputs WAV
format;
- lavtrans, produces a singleAVI or Quicktime file from a list of
edit lists or files;
- lavaddwav, adds an audio stream to a Quicktime or AVI file;
- v4l-conf, for setting video framebuffer addresses;
- mpeg2enc, encodes the output of lav2yuv or suitable
output plugins in mpeg2dec to MPEG-1/2 video streams;
- mp2enc, an MPEG-1 layer 2 audio compressor; and
- mplex, multiplexes MPEG-1/2 video and audio streams.
[http://mjpeg.sourceforge.net/]
- MK
- A configuration management and version control (CMVC) system consisting of:
- build process management to handle the mechanics of constructing
software;
- release generation management to provide a process of software
packaging;
- version control to record changes made to the project code, documentation
and directory structure; and
- change control to address the administrative side of making
changes by providing authorization and tracking functionality.
MK is designed to support all four of these areas by providing
multiple work group environments, separation of the development
environment from the details of specific platforms, code management
in multi-platform environments, and easy customization and extensibility.
MK consists of three subsystems that work together in a multi-platform
distributed development environment:
- a project parameterization system that isolates dependencies
by parameterization of project trees, the software construction
process, and platform specifics;
- a construction system involving the parameterization of the
software construction process; and
- a revision control system based on RCS with
extended functionality.
The various programs that provide the functionality of MK include:
- mk, a driver for a number of other tools that coordinates
the construction process;
- mkvars, a variable trace tool that displays MK variables;
- mksrc, a source module search tool;
- mktree, a tree linking/duplication tool;
- mkinstall, a reimplementation of the GNU
install script;
- mkproj, a project creation tool that initializes a directory
as the top of the master source tree;
- chktree, a source tree verification and reporting tool;
- mkrest, prepares a snapshot restoration script;
- rs, the revision control interface with all sorts of
subprograms with various functionality;
- teximap, assembles a Texinfo
document;
- getdoc, extracts a documentation node; and
- mkmake, changes a mk file into a standard makefile.
A source code distribution of MK is available which can be
installed on used on most UNIX flavors. It is documented in
an extensive manual available in hypertext and PostScript format.
[http://pzi.net/software.html]
- mkhybrid
- A package for creating ISO-9660/HFS/JOLIET shared hybrid CD volumes.
This is a version of mkisofs that can
create a shared CD volume containing, in addition to an ISO-9660 file
system, an HFS (native to Macintosh computers) file system and
a JOLIET (Microsoft extensions to ISO-9660) file system.
The hybrid CD will contain the same data but will be seen as an
HFS volume by Macintoshes and as an ISO-9660 volume (with or
without RockRidge or Joliet extensions) by other machines.
A source code distribution is available.
[http://www.ps.ucl.ac.uk/~jcpearso/mkhybrid.html]
- mkisofs
- A pre-mastering program to generate the ISO-9660 filesystem, i.e.
it takes a snapshot of a given directory tree and generates a
binary image which will correspond to an ISO-9660 filesystem
when written to a block device.
It can also generate the System Use Sharing Protocol (SUSP) records
specified by the Rock Ridge Interchange Protocol (RRIP) which are
used to further describe the files in the ISO-9660 filesystem
to a UNIX host. These records supply such information as longer
filenames, uid/gid, POSIX permissions, and block and character devices.
Mkisofs is not designed to communicate directly with a CD-ROM
writer. Another program such as
cdwrite must be used to do this.
A source code distribution of mkisofs is available. It
is written in C and can be compiled and installed on most
UNIX flavors using the supplied configure file.
It is documented in a man page.
[ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/]
- MkLinux
- A project to develop a Linux server that runs on top of the
OSF Microkernel, i.e. a combination of Mach and Linux.
The Microkernel adds improved support for real-time, symmetric
multi-processing, scalability to clusters and MPP machines,
and modular OS design. There are currently (5/96) versions
for Intel x86 and Apple PowerMac platforms.
[http://www.mklinux.org/]
- mktclapp
- A program that assists in writing C or C++ programs that use embedded
Tcl/Tk. This allows programs to be written
in which:
- C code can call Tcl procedures or execute Tcl commands;
- Tcl code can invoke C functions;
- the executable is a single binary that will even run on machines
without a Tcl/Tk installation; and
- the Tcl source is hidden from the end user.
A source code distribution of this C program is freely available.
Also available is xmktclapp, a GUI application builder built on
top of mktclapp.
A user's guide is available in hypertext format.
[http://www.hwaci.com/sw/mktclapp/index.html]
- ML (language)
- Meta-Language is a family of advanced programming
languages with (usually) functional control structures, strict
semantics, a strict polymorphic type system, and parameterized
modules. Implementations of ML include
and various other slightly more
obscure research languages.
See Appel (1997b),
Cousineau and Mauny (1997),
Milner and Tofte (1991),
Milner et al. (1900),
Reppy (1996), and
Wikstrom (1992).
[http://burks.bton.ac.uk/burks/language/ml/giml/home.htm]
- ML (mail program)
- A mail program and message processing system designed around
the IMAP mail protocol, although it can also be used in many
other modes and access messages via POP3, NNTP or local file-based
mailboxes. ML uses a concept called logical views which greatly
simplifies the handling of large collections of messages.
A logical view is a representation of a mailbox distinct from
the mailbox itself. It is created by a filter which defines
the messages it contains. A view has the appearance of a normal
mailbox but contains only those messages matching the filter rules.
The features of ML include:
- the use of IMAP for robust client/server based mail processing;
- configurable MIME support including the
ability to easily create and view multi-level attachment structures;
- all of the normal mailbox reading, composing, filing and printing
operations;
- the ability to follow URLs embedded in messages (with
the help of an external browser);
- the capability of invoking an arbitrary program on each new message
delivery;
- the capability to alter the Reply-to address automatically
on outgoing messages based on the recipient and/or subject;
- a personal address book for storing commonly used addresses;
- multiple active mailbox support on multipe servers including
NNTP news;
- message sorting on any mailbox or view;
- configurable quick load parameters for handling large mailboxes
and newsgroups;
- action scripting to simplify repetitive tasks;
- mail filters which use a filter language to sort mail automatically
into logical views;
- simultaneous posting to mail and/or Usenet newsgroups at any time
with any message composition;
- a built-in jot pad for making notes;
- spelling correction using ispell;
- configurable hot keys;
- editres support;
- outgoing message logging;
- cross server mailbox copies;
- complete support for local files;
- significant international support;
- header field encoding and decoding of alternate character sets; and
- built-in MIME fetching of FTP or mail-server remote attachments.
ML is available as source code or as a binary for Linux Intel
(ELF and a.out), Sun Solaris and SunOS, and SGI IRIX platforms.
The source code can be built on generic UNIX platforms with
X11R4 or greater, Motif 1.2 or greater,
and an IMAP4 server (which is supplied with all source code
and binary distributions). An extensive user's manual is
available in both HTML and PostScript formats.
[http://camis.Stanford.EDU/projects/imap/ml/]
- MLC++
- The Machine Learning library in C++
is a library of classes for supervised machine learning that was
designed to aid both the selection and development of algorithms.
The algorithms implemented in MLC++ include:
- ID3, a decision tree algorithm;
- Nearest-neighbor, classical nearest neighbor with options
for setting weights, normalizations and editing;
- Naive-Bayes, a simple induction algorithm that assumes a
conditional independence model of attributes given the label;
- OODG, a oblivious read-once decision graph induction
algorithm;
- Lazy decision trees, for building the best decision tree
for every test instance;
- 1R, the 1R algorithm;
- Decision Table, a simple look-up table;
- Perceptron, a simple perceptron algorithm;
- Winnow, a multiplicative algorithm; and
- Const, a constant predictor based on majority.
MLC++ also provides interfaces to several external inducers including:
- C4.5, the C4.5 decision tree;
- C4.5-rules, a trees to rules induction algorithm;
- CN2, a direct rule induction algorithm;
- IB, a set of instance based learning algorithms;
- OC1, an oblique decision tree algorithm;
- PEBLS, a parallel exemplar-based
learning system; and
- T2T2, a two-level error-minimizing decision tree.
A source code distribution of MLC++ is freely available and
will compile with GCC 2.7.2.2 or higher.
Various technical reports and other reference documents are
available.
[http://www.sgi.com/tech/mlc/]
- MLHT
- The MultiLingual HyperText
package is a set of Lisp libraries for
managing large, multilingual hypertext systems.
The source text is a Lisp program that describes multilingual
text structures with minimal redundancy so a large variety
of interlinked single language and format object documents can
be generated using the libraries.
HTML and LaTeX source is automatically
generated which incorporates translations from simple
text files into the hypertext structure.
The features include:
- maintenance of all language versions simultaneously in one expression;
- extraction of parts common to all languages to a location outside
of these expressions;
- exporting of non-redundant single-language strings from the
expressions into a translator's interface text file;
- quick reimportation of the translator's work into the multilingual
Lisp source;
- treatment of anchors, documents and directories as Lisp symbols
with URLs and pathnames calculated when needed;
- generation of HTML or LaTeX versions for
each language coding system; and
- reduction of some natural language structures to Lisp structures
to perform pseudo-automatic translation.
A source code distribution is available.
[http://www.lrz-muenchen.de/~phm/mlht/indexen.html]
- ML Kit
- The ML Kit with Regions is a compiler for
Standard ML intended for use in the
development of stand-alone applications which must be reliable,
fast, and space efficient.
The main feature of the Kit is that it uses a stack of regions
for memory management rather
than traditional garbage collection
techniques.
This consequences of this include:
- compile-time garbage collection where all memory allocation
directives are inferred by the compiler;
- the safety of deallocation of memory is ensured by the compiler;
- static detection of space leaks;
- the possibility of giving explicit directives
about the resetting of regions in cases where the static analyses
are too conservative;
- real-time programming in software since there are no interruptions
of unbounded duration at runtime; and
- the capability of calling C functions using standard C calling
conventions during runtime, with the region scheme also taking care
of memory allocation and deallocation for these.
A source code distribution of the ML Kit is available which
contains the compiler, the runtime system, and the region profiler.
The Kit has code generators for ANSI C and for HP PA-RISC code.
The compiler is a batch compiler with a text-based menu system.
The source code can be built on UNIX platforms which have
available both SML/NJ and
the Edinburgh Library.
A user's guide, a guide to programming with regions, and several
technical reports are available in
PostScript format.
[http://www.it-c.dk/research/mlkit/]
- MLMNP
- A set of Fortran 77 subroutines for solving
statistical parameter estimation problems for general nonlinear
models, e.g. nonlinear least-squares, maximum likelihood, maximum
quasi-likelihood, generalized nonlinear least-squares and some
robust fitting problems.
The basic method is a generalization of the NL2SOL algorithm for
nonlinear least-squares, i.e. it employs a model/trust-region
scheme for computing trial steps, exploits special structure by
maintaining a secant approximation to the second-order part of
the Hessian, and adaptively switches between a Gauss-Newton
and an augmented Hessian approximation.
Subroutine variants are included that handle simple bounds on the
parameters and that compute approximate regression diagnostics.
This is TOMS algorithm 717 and is documented
in Bunch et al. (1993).
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]
[http://www.netlib.org/opt/nlr/]
- MLton
- A whole program optimizing compiler for the
Standard ML programming language.
[http://www.sourcelight.com/MLton/]
- MM
- The Memory Mapped library is
a two-layer abstraction library for simplifying the use of
shared memory between forked processes on UNIX
platforms.
The first layer hides all platform-dependent implementation
details (i.e. allocation and locking) when dealing with
shared memory segments.
The second layer provides a high-level malloc-style
API for working with data structures inside the shared memory
segments.
The shared memory is implemented in various platform-dependent
variants, the best of which is chosen for each by the
MM configuration mechanism.
The locking mechanism is similarly implemented.
The MM library is structured into three main APIs internally
based on each other. These are:
- a global malloc replacment API that can be used as a direct
replacement for the POSIX.1 memory
allocation API, e.g. for converting heap-based data structures
to shared memory based data structures without needing to
dramatically change the code;
- a standard malloc-style API for standard high-level
memory allocation that provides a comfortable way to work with
small, dynamically-allocated shared memory chunks inside large
statically allocated shared memory segments; and
- a low-level shared memory API that provides low-level
functions for creating shared memory segments with mutual
exclusion (i.e. mutex) capabilities in a portable way.
A source code distribution is available under an
Open Source BSD-style license.
This was written for eventual
migration into the Apache distribution
and is configure for a range of platforms including
Linux.
Documentation is via man pages.
[http://www.engelschall.com/sw/mm/]
- M-Map
- A collection of Matlab programs (m-files) which allow the creation
of publication quality maps of geophysical fields in 13 different
projections. It includes a simple coastline and elevation database
and allows the addition of data to the maps by the user.
It also contains a grid generation routine to create axes in either
lat/lon or planar X/Y terms.
The projections available are Stereographic, Orthographic,
Azimuthal Equal-Area and Equidistant, Gnomonic, Albers Equal-Area
Conic, Lambert Conformal Conic, Mercator, Miller Cylindrical,
Equidistant Cylindrical, Oblique and Transverse Mercator, and
Sinusoidal.
These programs can be used either with Matlab or with the
freely available Octave package which
can run most Matlab m-files.
[http://www.ocgy.ubc.ca/~rich/map.html]
- MMDF
- The Multi-Channel Memo Distribution
Facility is a sophisticated
mail transport agent (MTA)
for UNIX systems.
It is a unified family of mail handling programs which supports
a variety of user interfaces and delivery mechanisms.
MMDF was designed to grow from a single host system to a large
mail relay with degradation of performance and to degrade
gracefully as the load becomes huge.
It has separate processes for mail submission and delivery.
MMDF was originally developed and released at the University of Delaware
in 1980 and was significantly developed after that at the Ballistic
Research Laboratory and University College London.
[http://sunsite.unc.edu/pub/Linux/system/mail/mta/]
- MME
- The MultiMedia Extension is a package featuring
a C++ class hierarchy and development tools to compose multimedia
applications and multimedia user interfaces in a quick and easy way.
MME offers a hierarchy of object classes to encapsulate access to
different media formats, types, and retreival mechanisms.
It also includes classes providing temporal relations between
media objects like sequences and continuous synchronity.
General multimedia applications can be constructed using these
classes.
The features of MME include:
- modeling of various media types, e.g. text, audio, images, and video;
- encapsulation of distributed media access and control, e.g. cameras,
VCRs, and access to window and file systems;
- the explicit modeling of time in a time model and of spatial and
temporal relations between media objects based on the time model;
- implementation in C++ for easy extensibility and flexible use; and
- an interactive design tool called MIB (Multimedia Interface
Builder).
The source code for MME is available. It is written in
C++ and can be compiled using g++.
The MME documentation is in German but is in the process of
being translated to English.
The version of MME on the FTP site is a bit outdated. The
author must be contacted for a more recent version.
[http://zgdv.igd.fhg.de/www/zgdv-uig/software/MME/]
- MMediator
- The Mnemonic Mediator is a planned (2/98) powerful and portable
groupware framework to be implemented as a spin-off to the
Mnemonic web browser project as part of
the GNOME desktop project.
The features will include a complete groupware environment,
integrated web browser and mail/news user agents,
shared document repository,
collaborative trouble ticket management,
a knowledge database, and
support for individual and relay chat protocols.
The features of the planned MMediator architecture include:
- an extensible client/server architecture,
- on-demand loading of front-end modules,
- encryption of all network traffic,
- object-oriented architeture and APIs,
- support for CORBA and
FastCGI distributed agents,
- support for server data replication and mobile clients,
- a user interface that supports groupware metaphors,
- core functionality that can also be accessed via command line mode, and
- based exclusively on Open Source
code software.
Check the site for updates.
[http://mediator.cs.uni-bonn.de/mediator/]
- MM5
- The PSU/NCAR Mesocale Model 5 is a limited-area,
hydrostatic or nonhydrostatic, sigma-coordinate model designed to
simulate or predict mesoscale and regional-scale atmospheric
circulation. It was originally developed on and only ran on
Cray supercomputers, but parts have recently been ported to
workstation platforms.
The system consists of a main simulation code MM5 and several
ancillary data preparation and analysis programs, all
written in Fortran.
The main MM5 code has been ported to workstations as has
the INTERP program for vertically interpolating data from pressure
levels to the model's sigma-coordinate system and the
GRAPH program for displaying output form each of the other components.
The programs which haven't yet (7/97) been ported are:
TERRAIN, which defines the model domain and map projection and
generates terrain and land-use category data on model grids;;
DATAGRID, which generates first-guess fields on model grids from
a large-scale model dataset and calculates map-scale factors
and Coriolis paramters for the model;
and RAWINS, which performs objective analysis and blends first-guess
fields with radiosonde and surface observations.
The MM5 model can use polar stereographic, Lambert conformal,
and Mercator projections and supports different true latitudes.
It can be configured to run from global scale down to cloud
scale in one model via nesting.
It has two nesting modes: a multiple nests and moving nests
mode and a mode in which a fine-mesh model is driven by
a coarse-mesh model.
It uses routine observations for input and can also incorporate
special observations, and can be coupled with other global or
regional models to use their output as a first guess for objective
analysis or as lateral boundary conditions.
It has a four-dimensional data assimilation system based on
nudging as well as an adjoint model (under development).
The physics options include six cumulus parameterization
schemes, six resolvable-scale microphysics schemes,
four planetary boundary layer process parameterizations,
four surface layer process parameterizations, and three
atmospheric radiation schemes.
The source code for all of the components of MM5 is available.
It is written in Fortran 77 with some Cray-specific constructs
in the codes that haven't yet been ported to workstation platforms.
I haven't yet attempted to compile the appropriate parts using
g77, but it's on the agenda.
A massive amount of documentation is available in
PostScript format.
[http://www.mmm.ucar.edu/mm5/overview.html]
- mminstance
- A pair of UNIX command-line tools for creating instances of multiple
master fonts. They are:
- mmafm, creates the AFM file for an instance given the AMFM
and AFM files distributed with a multiple master font; and
- mmpfb, creates a normal, single-master font for an
instance given the multiple master font.
A source code distribution is available.
[http://www.lcdf.org/~eddietwo/type/]
- MMM
- A Web browser written in
Caml Special Light
that uses Tcl/Tk for the
user interface. The features include support for HTML2.0 level 2
(including forms), multiple windows, applets (like those in
Java) written in the Caml
Special Light language, display of HTML parsing errors, pseudo-CGI
support, and more. There are Linux ports for both this and the
language in which it's written.
[http://pauillac.inria.fr/~rouaix/mmm/]
- mMOD
- A system for the recording and playback of
MBone multicast sessions.
This is written in Java and
requires JDK 1.1.
[http://www.cdt.luth.se/~peppar/progs/mMOD/]
- MMPE
- The Monterey-Miami Parabolic
Equation model is a continuation of the
UMPE modeling effort.
The revisions include some better algorithms and major changes to
I/O for ease of use.
[http://oalib.saic.com/PE/mmpe.html]
[http://oalib.saic.com/PE/pe.html]
- MMS
- The Manufacturing Message Specification is an
OSI application layer protocol designed
for the remote control and monitoring of industrial devices.
MMS is a set of services that allow the remote manipulation of
variables, programs, semaphores, events, journals, terminals,
and more.
The only known (7/98) freely available implementation of MMS
is written in Ada and can be located at the given URL.
[http://litwww.epfl.ch/MMS/mms_main.htm]
[http://www.nettedautomation.com/qanda/qanda_mms.html]
- MMTK
- The Molecular Modelling ToolKit is a program
library for molecular modelling applications.
Its goal is to provide researchers with a code basis that can
be easily extended and modified to deal with standard and non-standard
problems in molecular modelling.
MMTK is based on an object-oriented model of molecular systems which
consist of molecules, complexes, and atoms, all of which are defined in
a central database of definition files.
For example, a molecule is defined in terms of atoms, functional groups,
bonds, force field parameters, etc.
It is possible to introduce specialized versions of these objects, e.g.
MMTK already has special support for proteins which can be handled in
terms of peptide chains, residues, sidechains, etc.
MMTK is developed using the Python language
and consists mostly of a collection of Python modules with a few
time-critical parts written in C.
The operations currently (10/97) implemented in MMTK include:
- construction of molecular systems with special support for proteins,
- standard geometric operations on coordinates,
- rigid-body fits,
- visualization using external PDB and VRML viewers,
- animation of dynamics trajectories and normal modes,
- the AMBER 94 force field,
- energy minimization,
- molecular dynamics, and
- normal mode calculation.
A source code distribution of MMTK is available either as an extension
to an already installed Python distribution or as an extended Python
distribution containing all necessary components.
The documentation includes a user's guide and a developer's
guide.
[http://starship.python.net/crew/hinsen/MMTK/]
Next: Mn-Mz
Up: Linux Software Encyclopedia
Previous: Ln-Lz
  Contents
Manbreaker Crag
2001-03-08