Software
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 wrote at BLDL can generally be found from GitHub.
-
A plain text note manager for Emacs, with a Deft-derived interface, and fast Xapian-based full-text search. Somewhat specialized for editing notes in Org mode.
-
A tool for converting iCalendar files into an Org mode based format.
-
A generator for static Racket vocabulary dictionaries, which can for example be used for Emacs-based symbol completion with Company or Auto-Complete.
-
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.
-
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.
Software Written at HIIT
Some of the software that I wrote (or ported) 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. The still available software 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.
See Also
Other pages on this website concerning software (or code snippets) written by me include:
- Accessing OBEX Pushed Messages with Python for S60
- Another PIM Data Exporter
- Another PyS60 Extension with a take_photo Function
- ContextLogger2 Technical Report Published
- Dictionary-Enabled Racket Support for Emacs
- Fetching Web Pages into NotDeft
- Koog
- Look, S60 Software Installation with No Hands
- Mixing Hand-Written, Generating, and Generated Code with Koog
- Nokia's Products Are Error (Message) Free
- NotDeft
- On Racket Support in Emacs Org-Mode
- Org-Mode iCalendar Export with Explicit Time Zones
- Org-Mode iCalendar Import with Conversion to Floating Times
- Presenting with Emacs
- Rascal Mode for Emacs Released
- SMS Exporter
- SMS Exporter v1.09 Released
- SMS Exporter v1.10 Released
- Transient Directories in NotDeft
- pyaosocket aka aosocketnativenew Released Standalone