Computing

I have degrees in Phonetics and Computer Science. For the latter, my interests lie mostly in parallel computing, declarative programming, machine learning, artificial intelligence, computational linguistics, algorithms on strings and graphs.

I maintain a bibliography on Transformation-Based Learning (TBL). It is an update and an extension of a now-defunct similar undertaking by Torbjörn Lager. For the interested, there is also a small page with a lightly annotated list of TBL implementations. (TBL is a rule learning technique for sequential classification invented by Eric Brill in the 90's.)


Below are some small random programs from happy but long-gone tinkering days. The only thing they have in common is that they are pretty outdated.

Arbitrary Precision Integer Calculator

Written in JavaScript. Does basic arithmetic and a few number-theoretic calculations on large numbers (such as 2000! , which is a number with 5736 digits; or fib(30000); which has 6270). Feedback is welcome.

try it >>

view js source >>

frost.plx

frost

This script does nothing useful: it only produces animated gifs such as the one on the side here, simulating vapor turning into frost. The idea stems from a Perl Quiz of The Week by Mark Jason Dominus. You need GD, though.

view source>>

concat_wav.plx

Simple script for wav file concatenation: concatenates the data parts of the sound files given as arguments, and updates the data length and total length fields in the header accordingly. Does not perform any conversion, just dies with error report if any of {sample rate, bit depth, compression, no of channels} are not equal in all input files. Still, I've found it useful for rudimentary limited-domain concatenative speech synthesis. Can be called to just print out the sample characteristics (bit depth, sampling rate, etc) of all files.

view source>>

Deductive chart parser in haskell

Aband.. ehm, resting project since 2007. Sparsely documented source available for download. Several other caveats in the README.

The code mostly corresponds to what is described in this Working Paper