Fun and personal stuff


Medieval & Renaissance music >>

Free software

Demakein: Wind instrument design software. Design an instrument than produce shapes for 3D-printing or CNC-milling.

ghostsurn: eye candy. Assembles pixels or tiles into interesting patterns.

Ghost Diagrams: eye candy. Assembles tiles into interesting patterns. Predecessor of ghostsurn.

Synaesthesia: music visualizer. You can distinguish several individual instruments at once by its display.

Nesoni: Bacterial high-throughput sequencing analysis.

Aether: wikiesque Python CGI-script for managing web-pages and web-logs. I wrote it mainly in order to manage this site. Create, edit, move and delete pages, attach files, create web-logs (with accompanying Atom feeds), all from your browser. Supports unicode. Very easy to install.

Bonk: audio compression. Lossy and lossless. A very simple piece of software, the source code is only 32kb, but it gets compression ratios similar to those of FLAC and MP3. Interesting if you're into compression, otherwise use OGG and FLAC.

PyMML: a Python library for MML-style statistical estimation, including automatic classification of data.

PyLevy: a small Python library for calculation and fitting of Levy stable distributions.

yaedit: a minimal programmer's editor, uses PyGTK and gtkSourceView.

The Problem of Good: A platform game written in Python, demonstrating a theory of how goodness could comes about in an uncaring universe.

GIMP plug-ins:

Resynthesizer: a plug-in for texture synthesis, texture transfer, and donkey removal. As a bonus, you get scripts for deleting a selected area by synthesizing surrounding texture over the top of it, and for enlarging an image while maintaining its sharpness.

TextureOps: cut and paste images together without munging the texture. Make seamless tilable images (better than the Gimp's built in Make Seamless filter). Synthesize a piece of texture of arbitrary size from a sample.

Fixer: predecessor to Resynthesizer, a texture transfer plug-in.

Code snippets

6 June 2009, 22:38 UTCA key-value data warehouse
21 February 2009, 6:24 UTCQuerying intervals efficiently in SQL + Python revisited
18 February 2009, 6:17 UTCQuerying intervals efficiently in SQL + Python
18 January 2009, 20:50 UTCSketchifier
13 April 2008, 10:39 UTCRobust topological sorting and Tarjan's algorithm in Python
4 December 2007, 9:51
24 October 2007, 23:32 UTCLazy lists in Python
9 October 2007, 5:17 UTCApproximate string matching with regular expressions
9 August 2007, 0:46 UTCSearch a large sorted text file in Python
31 July 2007, 11:19 UTCEuclidean Distance Transform in Python
23 April 2007, 12:03 UTCPrototype-based programming in Python
29 November 2006, 8:46 UTCPython VP-tree implementation
2 November 2006, 5:37 UTCSimple fairly robust time and date parsing in Python


These are mostly highly speculative personal observations. They're also from when I was quite a lot younger. Take with a grain of salt.

Autism hypothesis: Nobody knows what autism is. Here's my guess.

Over-clocking your body considered harmful: how to reduce stress. Stress is the result of chronically over-clocking your body.

The Rational Street Performer Protocol: theory of how to make money from free software and other public works. Applies even if everyone is a self-interested rational bastard. With actual equations and stuff!

Plausible reconstruction: slides from a talk I gave (27 August 2004) on plausible reconstruction of images, and data in general. People are good at plausible reconstruction. Very, very good. Some guesses as to the algorithm our brains use.


Barnes's Akathisia Scale: akathisia is a feeling of "inner restlessness", an irrepressible urge to fidget/pace/etc. It is a condition easily mistaken for anxiety. I experienced this in 2002, it was the most unpleasant experience of my life. My doctor mistook it for anxiety, prolonging my agony. Once identified, akathisia is simple to treat, and I hope that putting up a copy of Barnes's scale here will help others identify whether they have this condition.

Note: I'm a Dr. because I have PhD in computer science. I have no medical training, this page is about my experience as a patient.