Downloads

ArkkuDvorak-layout

My Finnish Dvorak keyboard layouts have been moved to their own page.

(fi) Suomenkieliset nk. "ArkkuDvorak"-näppäimistöasettelut ovat siirtyneet omalle sivulleen.

Programs

Screensaver: Substrate (OS X)
The best screensaver ever. Ahem, well, yeah. Anyhow, it's for Mac OS X 10.4 (Tiger) or later. Based on an algorithm I saw at complexification.net, but with gratuitous amounts of settings to tamper with and color palettes to choose from so you can get a variety of effects out of it. You can also get the full source code (suitable for easy porting to other platforms). There are a number of other implementations of this algorithm available on the net, but they don't seem to be very configurable and are usually quite poorly optimised.
A play: Rotten betrayal of the thirteenth variety
ROT-13 scrambling (rotating letters by 13 positions in the alphabet) implemented in the Shakespeare Programming Language. Yes, it is the full source code of an actual program - in fact, I've been known to use the compiled version myself...
Cellular automata: ALife
The Game of Life. Also does other cellular automata, such as HighLife, Brian's Brain, Fireworks or any user-defined set of rules similar to above. Written for the course Programming in C, so it's quite simple especially in the interface department (being pure ANSI C and all), and doesn't fully match my ideas of good C programming style anymore.
DVD subtitle to VobSub (.sub/.idx) ripper: ripsubs
This script is intended mainly for Linux systems. It helps with ripping subtitles from DVDs (and DVD .iso images and VIDEO_TS directories) to the “VobSub” format (.sub and .idx files). Several subtitle tracks can be ripped at once (specified by id or language), which is a major speedup compared to the manual workflow. These subs can either be used directly with some players or merged into the container with tools like mkvmerge. Read the comments in the script file before using.
A C/Java comment remover: uncomment
Made for the course Programming in C originally, but it turned out so well that I've found myself actually using it to strip comments from C or Java source code. Should also work with Objective C and C++. Supports various sorts of trickery that fools the naive comment removers.
Mess up text: scramble
A slliy liltte poragrm to mses up txet so taht the oedrr of lteters in the mlidde of a wrod is scmbaerld. The ieda is to tset the thoery taht tihs deosn't affcet the reablitiday of Eglinsh txet wehn raed suffiicelnty fsat.
ClipArt extractor: MPF extract
A script to extract individual clip art files (typically .wmf or .jpg) from Microsoft's Clip Art Organizer 2002 .mpf archives. Such archives can be downloaded by MS Office owners for free from office.microsoft.com, but the format is something of an inconvenience for non-Windows users. This script enables the clip art files to be extracted from these archives, and the resulting files can be used by a variety of other programs, as well as converted to different formats (e.g. with wmf2svg). The script requires Awk and a BASE-64 decoder. Note: See at the top of the script for further information.

Patches, modules, scripts

Generating includeable XHTML with AFT: aft-shtml
Rules for AFT to generate XHTML without headers, so it can be included into the middle of an XHTML document, e.g. using Server Side Includes (SSI). This is used to generate the XHTML code for most of this site. Note: Install under /usr/local/, and run with the included bin/aft like: “aft --type=shtml file.aft“. (The script assumes that AFT itself is installed under /usr, you have to edit the location in bin/aft if this is not true on your system.)
A script to switch between keyboard layouts: switchkeys
This is a crude little shell script that I use in a menu of my window manager to switch between Dvorak and QWERTY layouts. I also have it set to run on pressing Alt-Up in the console, which allows Dvorakly challenged persons to switch the layout before logging in (enabling them to log in in the first place). This works in X and the Linux console. Note: See the comments at the top of the file before use, and edit the variables to change layout locations.
Output multiple text files in multiple columns: aparag
This simple little Ruby script can wordwrap one or more files of text and output them in multiple columns, filling a desired page width with as many columns as there are files.

Miscellaneous

A presentation: Memento mori
A Powerpoint presentation made for a course (which is why it has to contain that silly animation). I saved it because it's potentially very helpful in certain stages of a student's life. Update: The presentation is now available also in PDF format. (Only in finnish, sorry.)