This is a short list of the programs which have been used to develop the database. It is not a description of programs coded by me, but of the tools used for compiling and running these programs.
The database is placed on a MySQL server v. 4.0.15, running on an Intel machine running SuSE Linux. The main advantage of the MySQL server is that it is free, and it comes for a variety of different operating systems. One of the disadvantages is, in my opinion, that it still does not support stored procedures, hence all the logic of the database must be handled on the client side.
The client side of the database is handled by programs developed in C++. The developed programs are compiled with the GNU project C and C++ compiler gcc v. 2.95.2 on the alpha Digital UNIX machine, and linked with the MySQL client library. An advantage gcc is, that it is free and comes for all types of UNIX platforms.
The CGI interface to the database is also developed as C++ programs, but as the web server runs on a Pentium with SuSE Linuxhey are compiled with the gcc v. 3.3.1, on this machine.
For exact root finding in polynomials, and rapid development and testing of some algorithms Maple 7 from Waterloo Maple Inc. has been used. Maple is not free, but with its graphical user interface and many included mathematical features, it is great for "trial and error" development.
The PARI v. 1.39.03 library has been used to compute the Smith Form of matrices. PARI is released under the GNU General Public License, which makes it free. PARI is a software package for computer-aided number theory, with a user shell on top called the gp-calculator. It has the neat property of being a C library, which enables us to make powerful number theoretic computations directly from a C or C++ program. I wish I had realized this earlier, then I would have used PARI for more than the simple task of finding the Smith Form.
The last program used is Magma v. 2.8-2. This has been used for computing ideal classes in number fields, and finding the Jordan form of matrices. Magma is not free, but it comes with a quite detailed HTML reference guide, which makes it easy to get on with. A disadvantage of Magma is, that it is an end user product and not a library, so computations can not be done via Magma directly from a C program. Magma has an included programming language, with capabilities of reading and writing files, so one can just collect data in a file and then let a Magma program handle this file.