next up previous contents
Next: Mn-Mz Up: Linux Software Encyclopedia Previous: Ln-Lz   Contents

Ma-Mm

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:

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