Projects
Taikapeili
Here’s how I made glanceable wall mounted weather display from an old Android tablet. The display is motion activated and shows a weather forecast, the UV radiation index for the day and an air quality estimate. [more inside]Tiny Simpsons smartwatch TV
A tiny little TV that plays episodes of The Simpsons. This project is based on the excellent original by Brandon Withrow. The main difference is that instead of a Raspberry Pi Zero, the guts of this TV comprise an LG G Watch smartwatch. [more inside]Mittarimato
This is a little distance display built with an ESP8266, a time-of-flight sensor and an RGB OLED screen. I’m using it to display the height of my standing desk. [more inside]Fast like a Fox
One of the most fun and fastest platformers ever created with unique tap control! The treasures of the Golden Fox tribe have been mysteriously stolen. You are chosen to return them to their rightful owners. [more inside]Kajo
Kajo1 is a small raytracer that renders images using multiple importance sampling. This is a variant of the Monte Carlo integration technique in which we compute samples from an integral using several techniques and combine them to get a better estimate of the actual value. [more inside]Album Cover Art Downloader
Here’s a program that will semi-automatically download album cover images for your music collection. All you have to do is point it at the root of your music directory and for each directory, the program will download a set of corresponding (well, best guess) album covers from the Internet, from which you can choose one that suits your fancy. [more inside]Tracy paper
Tracy: A Debugger and System Analyzer for Cross-Platform Graphics Development Sami Kyöstilä, Kari J. Kangas, Kari Pulli Graphics Hardware 2008, Sarajevo, Bosnia-Herzegovina, June 2008. Abstract We describe Tracy, an offline graphics debugging and system analysis toolkit for cross-platform system and application development in mobile graphics. [more inside]Tracy
A Mobile Vector Graphics Quality Analysis Toolkit Department of Electrical and Information Engineering, University of Oulu, Oulu, Finland. Master’s thesis, 100 p. Abstract High resolution displays, fluid user interfaces and impressive graphics have become essential features of modern mobile devices. [more inside]Maemo things
Maemo experiments This page lists some of the Maemo software I’ve been working on. OpenGL ES OpenGL ES is a slimmed version of the desktop OpenGL standard intended for more limited embedded devices. [more inside]PyAmanith
PyAmanith is a Python wrapper for the Amanith 2D vector graphics library. It strives to offer a pythonic interface to the library and make all its features accessible. [more inside]Disable Screensaver
So you’re trying to watch a movie on your shiny new corporate laptop. Ten minutes into the film, the automatic screen saver kicks in, locks the machine and forces you to re-login. [more inside]Stakeout
This program monitors a bunch of files and runs a command when any of them changes. The idea was pilfered from Pragmatic Automation. This program uses fcntl and thus only works on Unix derivatives. [more inside]Lukkari
Here’s a handy program that brings your course schedule to your Java enabled mobile. Its features include: Remembers all your courses from Monday to Friday. Can handle overlapping courses. [more inside]Fur
An OpenGL simulation of fur-covered surfaces.Calypso
Calypso is an attempt to produce a photorealistic raytracer with the C++ programming language using the Qt toolkit and the KDE libraries for a modern user interface. [more inside]Ledterm
Ledterm is a device connected to the parallel port of the host computer. With the help of a Linux kernel module it acts as a dumb terminal, on which you can display messages and run just about any text-mode application, such as IRC, for example. [more inside]kionjb
Here is my KDE 3.x port of Shaun Jackman’s kionjb, the Creative Nomad Jukebox IO slave. To compile it, you’ll need: KDE 3.x libnjb 1.0.1 or later libusb libid3 sqlite (needed for kionjb 0. [more inside]Script-a-sketch
This weird program takes a BMP picture and moves the mouse cursor in another program window to simulate the action of drawing that picture. Mostly useless but priceless when combined with preferably multiplayer online drawing programs that normally don’t allow image pasting :-) Visual Basic project files included. [more inside]Spec
Spec v1 Dubbed “The Most Useless Program in the World”, this contraption allows you to transform arbitary text into a spectral melody. Hint: Try running the generated sound file through a spectral analyzer. [more inside]Speaker
A silly speaker demonstration.Netmap
Netmap enables you to visualize a network with a vector mesh representation. You can place things like routers, terminals and hubs on the map and connect them with different links. [more inside]VT Hack
Allows you to fiddle around with the various settings found in DEC compatible VTs. Try: vth $(tty).Ntalk
A talk(1) replacement modeled after IRC, for some oblivious reason implemented with IPC shared memory (thus not network transparent).A game of Domination
A simple head-to-head game for the console implemented using IPC message queues.Tick Tack Toe
The canonical mind challenge for two players. IPC msgqueues again.Satu
A Finnish story generator.
[more inside]Osta elämä
Osta elämä! (Finnish only, sorry.)Adlib Pseudotracker
A simple music tracker that reads song information from plain ASCII text files, which you can compose with your favorite text editor.Setsound
A volume mixer for DOS.Star Wrek
A fast-paced space combat game with different crafts and zooming graphics. DOS/i386+ (1 meg EMS, SB support) Player 1 keys Arrow up: thrust Arrow down: reverse Arrow left/right: turn Right ctrl: fire Player 2 keys W: thrust S: reverse A/D: turn Tab: firePlayFLI
This program plays FLI/FLC compatible files in any available VESA VBE 1.2/2.0 8-bit resolution, either streamed from disk or from memory. Finnish text, although easily usable without knowledge of Finnish. [more inside]Einon koulupäivä
In this game you take the role of Eino Korhonen and try to make it through a single day of school. Finnish. DOS/i386+ (1 meg EMS, SB/GUS/PAS support)