Since I’ve taken it upon myself to write about programming, I suppose I should show my credentials — as my boss Sebastian Hammer once said in the keynote talk at a CODE4LIB conference, “If you have something to say, you should release it as code”. So here, in more or less chronological order, are my free software projects. Help yourself to any of them if they’re amusing and/or useful. The older ones really are of purely historical interest, though.
Written for myself
- Magic Mirror (BASIC for the VIC-20), an adventure game originally released by Terminal Software.
- Nosferatu (BASIC, VIC-20), another adventure game released by Terminal Software.
- The Causes of Chaos (BASIC and some 6510 machine code, Commodore 64), another adventure game, this time released by CRL.
- tt, or Tetris for terminals (C ,Unix)
- MUNDI (C, Unix), a multi-user dungeon which I believe was the first multi-way chat program to run over the Internet.
- ETA (Perl), an esoteric programming language.
- CQL-Java (Java), a parser for the Common Query Language.
- sac, the Scott Adams Compiler (Perl), a toolkit for building 1980s-style adventure games, superseded by ScottKit.
- Biblio::EndnoteStyle (Perl), a library for formatting references according to the style strings used by Endnote.
- ScottKit (Ruby), a new and better toolkit for building 1980s-style adventure games, supersedes sac.
Written for Index Data
I work for the fine free software house Index Data, who routinely release the great majority of their code under free licences:
- Net::Z3950 (Perl), a module for acting as a client for the Z39.50 information retrieval protocol, superseded by ZOOM-Perl.
- Net::Z3950::PQF (Perl), a parser for the simple and horrible Prefix Query Format.
- Net::Z3950::RadioMARC (Perl), a suite for testing the capabilities of Z39.50 servers by tracing a “radioactive” record.
- Alvis::Pipeline (Perl), an irrelevance.
- Net::Z3950::ZOOM (Perl), aka. ZOOM-Perl, a much better client module for IR protocols including Z39.50 and SRU/SRW, superseding Net::Z3950.
- ZOOM::IRSpy (Perl), a system for maintaining a registry of IR servers and probing them to determine their capabilities: see also the live IRSpy registry at http://irspy.indexdata.com/
- Net::Z3950::Simple2ZOOM (Perl), a multi-purpose proxying gateway between IR protocols.
- Keystone::Resolver (Perl), an OpenURL resolver.
Written for the U.S. Federal Government
Specifically, the U.S. Geological Survey:
- z2uddi, (Perl), a Z39.50/SRU-to-UDDI gateway.
These are not software, but documents specifying formats, protocols and APIs that can be implemented to yield interoperable systems.
- Zthes, specifications for representing hierarchical thesauri as simple XML and searching and navigating them across networks using Z39.50 and SRU/SRW.
- ZOOM, an abstract API for networked information retrieval, plus bindings to, and implementations for, a nice selection of languages.
Released non-free software
OK, this doesn’t really belong on the free software page, but it doesn’t seem worth making a whole nother page just to mention:
- zSQLgate, a generic gateway for providing Z39.50 or SRU/SRW access to relational databases, which desperately needs relaunching under a different name since its function in this day and age is to make a web-service for the database.
I think that’s everything.