[home] | [FODA/IBEA] | [GaliLEO] | [fracas] | [leasqr]
[etags] | [checkiso] | [cgrep] | [debian-bug]

#### Software that I wrote for supporting my research activity

##### MTG

The Multi-Application traffic generator was written in 1990 to run on a proprietary Motorola Delta SysV Unix running on 68030. It is a programmable packet traffic generator for Ethernet with a curses-based frontend and a backend that I wrote. MTG was used to develop, test and evaluate the FODA/IBEA satellite access protocol.

The backend of MTG was a Unix device driver which took control of the timer and Lance interrupts, after having programmed them at the unmaskable level. Since I had no access to the kernel sources, after having studied Writing a Unix device driver by Egan Teixeira I had to get really well acquainted with the Motorola C compiler and then to disassemble a couple of kernel routines. For anyone interested in historical programming, here is the code.

##### Fracas

The Framed Channel Access Simulator was written around 1995 to study MAC protocols to access a geostationary satellite channel. It is a little more general than that, though, and can be used to simulate any framed multiple access scheme. It is a very fast, extensible, non-user friendly C program that has been used for several protocol studies:

- Comparison between distributed and centralised demand assignment TDMA satellite access schemes
- Delay analysis for interlan traffic using two suitable TDMA satellite access schemes
- A multi-level satellite channel allocation algorithm for real-time VBR data

Everyone is welcome to download the complete sources and a draft manual. There is also a short presentation (10 slides, 340KB). I will be happy to assist those who would like to adapt Fracas to their purposes.

##### GaliLEO

A simulator for Low Earth Orbit satellite constellations that I contributed to design and implement in Java. This is work in progress, of which I made a short presentation (10 slides, 500KB). GaliLEO has its own page and a local mirror.

##### Leasqr

This is a package for Octave, a high-level language which uses a language very similar to that of Matlab. Leasqr uses the Levenberg-Marquardt algorithm for doing nonlinear regression. I found leasqr on the web, but it did not run on Octave (it was made for Matlab) and so I adapted it and published it. Since then, the original authors Richard I. Shrager, A.Jutan, Ray Muzic, and Sean Brennan agreed to put it under the GPL. Matthias Jueschke tested the program using a non-linear optimisation test suite, and was satisfied with the results.

The most current version of the leasqr is part of the optimization package at octave-forge. You should refer to the files leasqr.m, leasqrdemo.m and dfdp.m therein. The names of the individual files may change in the future. Please let me know if that happens so I can update this page.

#### Free software that I wrote for the GNU project or for my personal or work interest

##### Etags

On behalf of the Free Software Foundation (FSF) I currently volunteer to maintain etags, a program that can be compiled either as a replacement of the classic ctags Unix program or as etags, whose output file format is used by Emacs. The latest (unofficial) version of etags is available for download (30 KB).

##### checkiso

A Unix shell script for checking a CD against the iso image from which it has been burned. The comparison is made using an MD5 signature built from the original image or from a known good CD. Shows the location of the first read error detected. Can extract a disk Id from the image or the CD itself and build a local database of Ids for future checking of archived CDs. The Id contains the image length, the MD5 signature and the Volume ID of the disk, so it can automatically recognise the CD to check. Contains a small internal database of Debian CD images.

##### cgrep

A Unix shell script that wraps around grep to make it understand files compressed with gzip or bzip2. You just use it like grep. If you rename it cegrep or cfgrep it will wrap around egrep or fgrep, respectively. Instead of renaming it, you can use a symbolic or hard link.

##### debian-bug.el

An Emacs add-on script in emacs lisp which simplifies the task of submitting a bug report to the Debian bug tracking system. Part of the debbugs-el Debian package. I handed the package over to Peter Galbraith, who is maintaining it much more actively than I was. You can download its latest version.

##### tcpdump

A Unix shell wrapper around tcpdump which optionally displays the contents of the packets.

#### Links to interesting software

The Error Correcting Codes (ECC) Page
  This is a really good list of free (in various senses) programs for coding and decoding. I keep a mirror of this page.
Forward error correcting codes by Phil Karn
  Phil Karn's optimised really free codes.