This page lists pieces of software that I've written and happened to make available for one reason or another.
The published software that I've written at BLDL can generally be found from GitHub.
Some of the software that I wrote at HIIT was likewise made available as open source. Most of the original software distributions that were hosted on various HIIT websites are gone by now, but a lot of that material can now be found from GitHub. See also my HIIT software summary below.
A mixed-code generation tool written in Racket.
A toy programming language for playing with experimental language implementation techniques and infrastructure. Makes heavy use of Racket as the foundation of that infrastructure.
A Qt-based contact data export application for Symbian and MeeGo Harmattan.
A native S60 application for exporting/deleting SMS messages.
A highly experimental Python for S60 port of the ctypes Python extension.
An Emacs major mode for editing Symbian-style C++ code. Very basic.
An Emacs extension for formatting source code comments. The comments may be either plain text, or text containing RDoc (Ruby Documentation System) style markup. Various comment styles are supported.
A Ruby-based application to assist in putting together comic book orders. Tailor made for a subscription service called Jacey Services.
A Java 1.0 applet/application for viewing PIC files (the Psion bitmap image file format). My first experience of writing Java code, I think, and it shows. (It is doubtful this any longer works with current browser Java runtime plugins.)
A Java applet/application that displays basic 3D images using AWT. (It is doubtful this any longer works with current browser Java runtime plugins.)
A pure-Ruby implementation of the PBKDF2 key-derivation function, for deriving symmetric encryption keys from passwords. Based on the PKCS #5 v2.0 standard. Depends on the OpenSSL Ruby bindings for HMAC-SHA-1.
An Incomplete List of Software Written at HIIT
The software I authored (or ported) while at HIIT includes:
- Koog, a mixed-code generation tool for Racket version 5 (see above for a more current version); and
- ContextLogger2, an S60-native smartphone data collection application;
and a number of Python for S60 extensions, including:
- pyexpat, a Symbian port of pyexpat, with a statically linked Expat (joint work with Kenneth Oksanen);
- pyaosocket, aka aosocketnativenew, a socket library that served as plumbing for PDIS, a larger piece of software written in Python (mostly by Ken Rimey);
- Miso, a general-purpose utility library;
- Miso Alarm, a library for registering alarms with the Symbian alarm server;
- pyinbox, a tweaked version of the PyS60 inbox module for accessing received OBEX Bluetooth messages;
- pynewfile, a library for capturing images via the Camera application;
- pyswinst, a library for programmatic, non-interactive application installation; and
- ctypes, an experimental port of the ctypes Python extension for Python for S60.