Some software written by me
I have listed here some selected picks from my history as a programmer. The list is in reverse chronological order, i.e. the latest software is first. I have added a name of the contact person, where applicable. You can ask me for further details how to contact the person.Samba Search
Languages: Perl (maintenance and indexing), MySQL (index),
PHP (web pages)
Contact: Petteri Nurmesjärvi, Akustiko Ky
Moblog
Languages: Perl (mail filter), MySQL (database),
PHP (web pages)
Libraries: MIME::Parser
Contact: Saku Kärkkäinen
GM Online v1
Languages: Perl
Libraries: Irssi, Image::Magick
IND-Nimbus
Languages: Python (the application), C++ (graphics driver), Fortran 77 (optimization), Perl (miscellaneous project tools)
Libraries: wxPython, Agg
Publications: Vesa Ojalehto, Kaisa Miettinen, Marko M. Mäkelä,
Issues of Implementing IND-NIMBUS Software for Interactive
Multiobjective Optimization, Reports of the Department of
Mathematical Information Technology, Series B. Scientific Computing,
B8/2005, University of Jyväskylä, 2005.
Contact: Vesa Ojalehto, University of Jyväskylä
Fotokioski
Languages: PHP (user interface), Perl (media
handling, file transfers)
Contact: Kimmo Virtanen, Kuvaverkko Oy
Gccg
Languages: C++ (server core, client core, Gccg-script
engine), Gccg-script (module implementations), Perl
(installer and various project maintenance tools), Bash (server
maintenance scripts)
Libraries: SDL, SDL_net, SDL_image, SDL_ttf
Homepage: http://gccg.sourceforge.net
Oja Median for SPlus
Languages: SPlus (SPlus interface), C++ (algorithm)
Publications: Tommi Ronkainen, Hannu Oja, Pekka Orponen,
Computation of the multivariate Oja median., Developments in Robust Statistics: Proceedings of the International Conference on Robust Statistics (ICORS 2001), pages 344-359, Berlin Heidelberg, 2003. Springer-Verlag.
Homepage: http://www.maths.jyu.fi/~tojuro/oja/
Contact: Hannu Oja, University of Jyväskylä
Web Atlantis
Languages: Perl (parser), PHP (web-interface),
C++ (data handler to speed up parsing, original Atlantis)
Homepage: http://webatlantis.sourceforge.net
Older Stuff
All the software above is written in Linux-environment (although almost all of them are platform independent). Here is my earlier history as a programmer in brief. Unfortunately most of this stuff has probably disappeared from earth or hidden in some floppy/tape pile and are not available for a screenshot.PC/Windows
- Several game tournament pairings/statistics programs (Languages: Quattro Pro versions 1 and 2, C++ version 3)
- A simple Unix-like shell including ability to launch Windows-applications (it was not possible under the Windows 3.1 from the DOS prompt) (Languages: C++)
PC/DOS
- Play by Mail fantasy strategy game (not really finished) (Languages: C++)
- LameNet; an innovative floppy and snailmail based framework for several Play by Mail computer games with "news groups" and "mail" applications. Each participant run a script, which collected all data to the floppy disk, which was mailed in an envelope to the LameNet organizer. He injected all received floppies once a week to the server retrieving all the messages and game turn data. After running the main turn handler all outgoing turn reports and messages were distributed to the floppies and returned by mail. (Languages: DOS .BAT-scripts the main system for the client and the server; C++ mail and news applications and several utilities to fill incomplete DOS tool set)
- An embedded application having miscellaneous handy utilities for surveyors of the road construction projects. The application was made for a small handheld computer running restricted version of PC/DOS (Languages: C++)
Atari ST
- Disassembler for Motorola MC68000 processor, which was able to define vast amount of intelligent symbol definitions to ease reading of the resulting text source code. For example, all system calls encountered, were defined at the beginning of the disassembly as well as many constant parameters usually seen in the code. There was also some heuristics to determine and separate data blocks from the code. The compiled code of the disassembler output was 100% identical to the original binary. (Languages: Assembly 68000 fast disassembly for the given binary stream; GFA Basic labeling and code recognition heuristics)
- Multiplayer version of the classic Boulder Dash (Languages: Assembly 68000)
- Multiple game trainers, i.e. cheat programs that allowed you to modify save files to let you have more lives, gold, or whatever. Some of them were able to dig out and print the maps of the game too. (Languages: GFA Basic)
- A drawing program with support for high quality (he he) output for Epson FX compatible dot matrix printer. (Languages: GFA Basic)
- New faster graphical user interface with API (never finished). (Languages: Assembly 68000)
MSX
- A Gauntlet clone for 4 players (Languages: Assembly Z80)
- A version of Arkanoid style game with some new innovations. (Languages: Assembly Z80)
- Some unnamed horizontal shoot'em'up. (Languages: Assembly Z80)
- An editor for sprites, tiles and game maps. (Languages: MSX Basic)
Commodore 16
- Pascal compiler, which was left badly unfinished due to the very limited RAM of the target machine. Only a source editor and a compiler for the basic program structure with simple assignments and if-then-else structures were implemented before the terrible "Out of memory" message ruined the promising project. (Languages: C16 Basic editor and compiler, Assembly 6502 target language)
- More than one really weird game written for my own amusement (Languages: C16 Basic)
CP/M
- Election vote counting and result service program for communal elections. (Languages: Pascal)
- Absurd text based adventure, which was immediately a hit in the local (not so) computer freak community. (Languages: Basic)