Various packages...
A few bits of work that may be of some use to others.
Current
These are generally distributed under the GPL, unless stated
otherwise. This is the licence I generally default to; if you have
some need for a distribution under another licence, I probably
wouldn't take much persuading.
- LaTeX packages
-
- showlabels
– show labels in a document
- textpos
– position text on the page
- feyn
– Feynman diagram font
- urlbst
– Add webpage fields to .bst files
- supplements
– Split a complex LaTeX document into separate pieces
- Various Scheme applications
-
- Squicky
– Squicky is a PLaneT package (that is, for
Racket)
which parses the 'consensus wiki' syntax described by the
WikiCreole people,
and turns it into more manageable xexprs.
- racket-librdf
– A Racket extension which wraps the
Redland RDF library.
This is very alpha software.
- Assorted scheme scripts
– various Scheme scripts, for writing XML, design-by-contract and
decoding DER-encoded byte arrays. They should be portable to R5RS
implementations, but they're otherwise pretty random.
- dvi2bitmap
- a DVI reader, which converts DVI files to bitmaps.
- Quaestor
- Quaestor is a generic triplestore and SPARQL endpoint, which
allows you to upload ontology and instance data, and query the result
through a RESTful interface. It's built on top of Jena, and uses
SISC (a Java Scheme implementation).
Since it was first developed under the aegis of
AstroGrid,
it's distributed under the terms of the
AFL.
- uk.me.nxg.lx
- Lx is a compact syntax for XML. It is useful for XML files
which have sufficiently more markup than text – such as XSLT
stylesheets or RDF files – where the content is
quite difficult to see amidst the forest of
angle-brackets. It's effectively a sexp-to-SAX parser for
Java.
- libsigwatch
- libsigwatch.a is a library of routines to provide simple
signal watching for Fortran programs. This allows a minimal
level of control of a running program from outside it, for
example to tell it to checkpoint itself on receipt of a signal.
Signal handling is rather tricky in Fortran (because the
function that is registered as a signal handler is later called
by value rather than by reference), so this library provides
functions to make it easier.
- devrandom
devrandom reads a number of bytes from the random device
(typically /dev/random) and prints them in a variety of
formats. This provides a convenient source of randomness for scripts
and the like, as well as an easy way of generating secure
passwords.
- bibhtml
- A Perl script plus BibTeX styles, for turning BibTeX
database entries into HTML, and thus allowing you to cite
entries within BibTeX databases from within an HTML page, in a
convenient way.
- aiff-grokker
- A basic utility to examine the structure of, and minimally edit, AIFF audio files.
- ttl-mode.el
- This is an Emacs mode for editing Turtle (RDF) files (also known as N3 or Notation3).
It's based on
an excellent start made by Hugo Haas.
I've extended it to support indentation, some electric punctuation,
and hungry delete.
- GU styles
- I maintain a couple of LaTeX style files of interest to members of
Glasgow University.
Assorted
The following are projects which might be of some use to
others, but which I've now essentially abandoned.
- Jade LaTeX back-end
- a patch to OpenJade
1.3.2 which adds a simple back-end to help generate LaTeX.
- minutes.dtd
- a DTD and DSSSL stylesheet for processing meeting
minutes.
- [Ancient] Kept LSE
- VMS's LSE
editor was wonderful, except that it used to take ages
to start up. This little bundle allowed you to keep an LSE
process going as a subprocess, cunningly suspended. I don't
suppose anybody still uses dear old LSE, but if they do, here's
an example of doing odd things with TPU, as well as using more
languages to solve a problem than you'd reasonably expect to
have to.