Tämä asiakirja on saatavilla myös
Dieses Dokument ist auch auf Deutsch erhältlich.
I prefer to use free
software. Not only to save money but because I and others will be able
to adapt the programs to better suit my needs.
I have written some free software as well, mainly in the C programming language.
In my own C or C++ projects, I try to follow the Ellemtel rules
and recommendations (also available in PDF) with a few exceptions.
As a doctoral student I wrote a reachability analyser and model checker for high-level Petri nets
in C++ and C. It can help locate errors in parallel and distributed
systems. The software is included in the Debian GNU/Linux
I like combinatorial problems, but I tend to solve them by brute
force. I enumerated the
solutions of the 6×10 Pentomino
puzzle in a couple of CPU weeks on some 266 MHz Pentium II workstations. I also
designed some bedspread patterns with
the help of some C programs.
- I developed the program in order to transform my wedding pictures into
an easily browseable format. For a file system containing JPEG images,
the program creates thumbnail images of desired size and generates
a hyperlink document structure in HTML format.
The software package also includes
jpegcom for editing
exifiron for rotating and
compressing images taken with a digital camera, and
for removing or embedding thumbnail-sized preview images within JPEG images.
- This is a Linux-based boot floppy disk, built to run
a piece of software I wrote. The software captures images from a Firewire
camera, corrects lens distortion, compresses to JPEG and transmits
the images over a pipe, typically over an OpenSSH to a web server.
Experiments with the Java Programming Language
The Java programming language was hyped in 1995. Once compiled and
tested, a piece of software would work in every environment. That turned
out not to be the case: especially the program interfaces of graphical
user interfaces have changed in almost every version of the Java run-time
system. Furthermore, the run-time system has grown very big, and no
comprehensive free implementation is available. For these reasons, I try
to avoid the Java programming language, even though I have made some
experiments with it.
- Threedimensional Fractals
- The applets I wrote for JDK
1.0 and 1.1 displays the Mandelbrot and Julia sets in three dimensions.
- Scoring program for a beauty
- The program has been used for computing the results of the Helsinki Hair Open
contest for several years. The interface for inputting points
resembles a spreadsheet program, so it is fast to use. The user
interface is multilingual. The documentation is missing, and some
small things could be improved in the program.
- This program for various Unix-like systems and Windows reads
and writes the flash and EEPROM memory of Atmel AVR® microcontrollers over
the parallel or serial port via SPI. I wrote this
program, because I wanted that the end users of my C2N232 adapter can
easily update the firmware. Existing solutions supported only
either Unix-like systems or Windows and did not support the
kind of RS-232 programming interface that was needed.
- Patches for VDR
- I have set up a DVB-T recorder and player based on Debian GNU/Linux, VDR and the plugins vdr-softdevice and vdr-subtitles.
The most important modifications I have made are available here.
See also my miscellanous
utilities, circuits and
software for old computers.