Software

I have written a couple of medium-size (between 100k and 1M lines of source code) software packages. Although traditionally not mentioned as part of a person's `output', I think for someone in computer science these are worth mentioning.

Template manager (Tm)

This program was written as part of my thesis work (see by biography). Given the description of a set of data structures, and a template, this program generates source code. Since it is a text substitution language, code for any programming language (or for any other purpose) can be generated. Standard templates for the programming language C are provided that generate standard bookkeeping functions (creation and destruction of data structures, input and output to text files, list manipulation code, etc.). These templates have been used in all my subsequent programs, in particular when parse trees had to be represented. I think this has haved me considerable time in development and debugging of these programs, since code generated from templates is more uniform, reliable and robust than code written from scratch.

Further information can be found on the Tm website.

Timber

Timber is a whole-program static compiler for a extended version of Java. It generates C++, but this is by no means a straightforward translation.

Further information can be found on the Timber website.

Notebase and Librarian

One of the things that I'm amazed nobody has done is a good indexer of local files. Although the paperless office hasn't materialized, a lot of communication in the scientific community is done with electronic documents, in particular email and PostScript/PDF/Word documents. Organizing all this information is a problem, and a good index, similar to Google, would help a lot.

This is not trivial: the collection of documents can be large (my own is roughly 10000 documents in 2GB), recognizing and handling all different file types is tricky and platform-dependent, and robustness is important.

I have made a number of programs to address this problem. These programs are good enough for my own use, but for general release a lot must be done. Perfect for an open-source project, but I must find the time to release it and make propaganda...

Tweaker

When playing with PovRay, a popular raytracer, it is often necessary to tweak variables in the scene description to get them `just right'. For example things like colors, reflection strength, transparancy, but also some geometric parameters.

I have written a program, called Tweaker, that displays a number of variations of a scene description side by side, allowing the user to pick the best-looking one easily, and to search the `parameter space' for the perfect settings easily.

The program works quite well, and I will probably release it as an open-source program in the near future.


Last modified Friday 23 February 2007 13:45:46 UT by Kees van Reeuwijk.