You've reached Mike Swieton's homepage. No, it is not fancy. It's just a place where you can find my software.

If you use any of this, I would appreciate hearing from you, just to see if anyone uses my software on a semi-regular basis. Feedback welcome, of course. Any comments you have on anything may be sent to Mike Swieton <>.

eMotion is an Mplayer frontend. More information...

SwissDB (gzip) (bzip2) is a file and CD cataloging program. This one is readline based with an internal command line. It is designed to make your CD catalog look kind of like a filesystem that you can 'cd' and 'ls' through to browse (With tab-completion!).

This is not a complete,finished release. It is, however, considered stable. It should /never/ crash, and does not leak memory.

Current version: 0.6.0.

SysNG is a program designed to make init scripts easier without completely replacing init. It chooses which services need to be started by consider dependancies. All the information on services is stored in a single machine and human editable ASCII text file. Current version: 0.1.0.

liblLatfile is a small flat database file. It does nothing more than parse a text file on the hard drive and reads in one record per line, with an arbitrary number of fields seperated by a single-character delimiter. The record files are designed to be able to look like /etc/passwd and similar. Good for config files, etc. It is believed to be complete, but has not been rigorously tested. Current version: 0.0.1.

libBitvector is a very simple C library for doing bitvectors. I have used the fastest algorithms I know of, so most of the operations could not get significantly faster. It is worth noting that unless there is demand for something (bugfix, additional features, whatever), I have no plans for further development. Current version: 1.0.7.

For various reasons relating to the design, do not use the software listed below. They have been left here because they have been here, but they are not mature now, and they are not likely to ever become mature, due to poor design decisions on my part. As of now (1/01/02, yes I really don't have anything better to do) I am working on an improved SwissDB replacement. If it ever reaches fruition (And I have every intention that it do so, but that could change), it will be posted here.

SwissDB is a stand-alone set of programs (does not require a database server) for organizing files. I use it for organizing mp3 files. It was intentionally made generic enough to work for all types of files. It depends on SQLite. Current version: 0.2.1.

libxmlmenu is a shared library you can link against that makes it easier to design a menuing system for a game. It will read the menus from an XML file. Expat is required for this. Current version: 0.0.5.