About MG Pages
Audience
These pages are provided for novices who want
to try out MG, for users who want to find out more about MG
and for programmers who are game enough to try modifying
the source code.
Outline
The
introduction
briefly describes what MG is and how to set it up.
The
manual pages
are provided online so that one doesn't
have to remember all the long command names when
trying to find out about a command and so that they
can be kept up-to-date.
The
bugs and modifications
to the system through to 1996 are recorded for the MG maintainers
and so users know what bugs have been addressed.
Since then the only significant changes have been to enhance partability (particularly for Linux users) and to explicitly test for
"index too large" problems caused by putting in too much data.
(More than about four to six gigabytes, if gcc long longs are not available.)
To aid everyone who is modifying the code or trying to understand
how it works, some
implementation notes are provided.
The notes are incomplete but are worth checking if you plan
any software development based upon MG.
They refer specifically to mg-1.2 (1996), but are also reasonably accurate for
mg-1.2.1 (August 1999).
Most of the querying code and some of the file formats are explained.
None of the image compression programs are
documented here.
For an up-to-date list of
bibliographic references, see
the publications pages of
Alistair Moffat
and Justin Zobel.
Motivation
The motivation for doing these pages came from a few areas.
Firstly, I wanted a nice place to put my documentation
about the internals of MG.
Secondly, after seeing Bruce McKenzie's cgi-script for mgquery,
I was prompted to do a Perl version (stealing some of his ideas).
Creation Of Pages
The creation of these pages was done using the following utilities:
- htmltoc (by Earl Hood) - automatic creation of html table of contents
- RosettaMan (by T.A. Phelps) - creating html versions of man pages
- bibmarkup.pl (by Andy Wood) - create html versions of bib files
- perl5.001e (by Larry Wall) - object oriented version of Perl
- CGI.pm (by Lincoln Stein) - a Perl class for doing html forms
These pages originally authored by
Tim Shimmin,
[email protected] (this address now defunct)
1996;
now kind of maintained by
Alistair Moffat,
[email protected]
August 1999.