Rob's Recent Software Projects

Communications for Train Control System
(Embedded C)

I'm currently working on communications software for a radio network to control the subway trains for a large American city. This is a huge project that will ultimately involve 6,000 subway cars. The trains are in constant communication with a central control computer.

Since radios don't work well in tunnels, this means the train must be constantly finding the nearest radio and switching to it. The train sends a signal every second asking whether it can move forward, and if it doesn't receive confirmation within three seconds, it stops. To keep this whole system going, everything has to be redundant so that if any one component fails the network will continue working smoothly and the trains will keep moving while maintenance workers repair the problem.

Automatic Code and Documentation Generation
(awk, shell scripts)

I've also been developing tools to generate code and documentation automatically. The automatically-generated code means more consistency and less debugging. The automatic documentation, like any other I've seen, is designed to help programmers understand each other's work, and also gives technical writers a good starting point.

Modem Interface Card for Service Providers
(Embedded C and assembler)

My last project was an 8-modem interface card for ISPs. It's being used by an online service in the UK. The software is written primarily in embedded C, with some assembler. It controls 8 PCMCIA modems and handles all the data transfer between the modems and the data switch.

Unicorn Quest Typing Tutor (C++)

Unicorn Quest is a typing tutor game designed for an 8-year-old girl with one hand. The game is designed to make learning typing fun by providing an ongoing story (the quest for the missing unicorn) and incentives as each lesson is completed.

The latest version of Unicorn Quest allows the use of either hand, or both, and can be customized (on request) for any combination of fingers.

I created the original software design and Ann wrote the story. Together, and with the help of numerous people from all over cyberspace, we created the original version. I now lead the Unicorn Quest team worldwide as we are working on the next version which will add support for different languages and more computers.

Automatic Mail Handlers (C on UNIX)

These are a set of programs which provide automatic handling of certain types of e-mail. These provide automated forwarding of mail, automatic replies to mail, and the filing of incoming messages. Since many of the residents of Esmerel spend much of their time away from Esmerel, one of these programs makes sure they still get their mail.

Tools (Awk, Batch, C and C++ on DOS)

I spend part of my time writing tools. These tend to be small, special-purpose programs which answer some immediate need on some other project. Some of these are available at Thelion's Shop.

Recently, I have started to collect the AWK scripts and Batch files into a couple of books which I will leave on my bookshelf.


- Read my book on awk.
- Go back to the front gate.
- Try some games.
- Explore the oddities of our language.

Page maintained by Rob.