Vesa Halttunen

Bits and Bytes

I've written software most of my life - ever since I got access to a Commodore 64 at the age of 5. Having honed my skills both in hobby and professional projects, I am a software expert with expertise in a wide range of different technologies and platforms. I have developed several successful commercial software products from the beginning all the way to the market and have experience of working in various roles in companies and multicultural teams of different sizes. I've also been rather active in the demo scene under the pseudonym Vesuri of dA JoRMaS. I have a Master's degree in Computer Science from the Helsinki University of Technology.

Here are a few software projects I've done or been involved in.

Cloudcraft

Screenshot of Cloudcraft Cloudcraft is a web based tool for visualizing cloud architecture and creating smart diagrams. As a member of the Cloudcraft team I'm responsible for developing features for the frontend and the backend. These features have ranged from rendering optimizations to support for different cloud providers.

MeeGo 1.2 Harmattan desktop environment (Nokia N9)

Screenshot of the Nokia N9 MeeGo 1.2 Harmattan desktop environment comprises of the main user interfaces in the Nokia N9 smartphone. As an architect and lead developer of the desktop environment I was responsible for design and implementation of the home screen, task switcher, application launcher, notification system, status bar, lock screen, among other components. The software was mostly written in C++ using the Qt toolkit. The Nokia N9 started shipping on September 27th, 2011.

WHDLoadMenu

Screenshot of WHDLoadMenu WHDLoadMenu is a frontend for the Amiga application WHDLoad. It displays a list of WHDLoadable applications in the given directory and allows them to be started by clicking on the name of the application using the mouse or by selecting the application name using the keyboard or a joystick. WHDLoadMenu is intended to be conditionally started on system startup. WHDLoadMenu requires WHDLoadto start the applications.

Attack of the PETSCII Robots (Amiga, PSP)

Screenshot of Attack of the PETSCII Robots Attack of the PETSCII Robots is a game developed by David Murray for Commodore PET, Commodore 64 and Commodore VIC 20. I completely rewrote the game in C++ from the original 6502 assembler source code in 2021. Using this rewrite I created an Amiga version of the game and a Sony PlayStation portable version of the game. The rewrite includes 100% exact original gameplay with enhanced graphics and sound. The game was released for the Amiga on December 20th, 2021 and for the PSP on February 7h, 2022.

Pinball Dreaming: Pinball Fantasies

Screenshot of Pinball Dreaming: Pinball Fantasies Pinball Dreaming: Pinball Fantasies is the official iPhone/iPod Touch, Sony PlayStation Portable and Nokia N9 version of the 1992/1993 Amiga classic pinball game Pinball Fantasies. I completely rewrote the game in C++/OpenGL from the original 68000 assembler source code in 2009. The rewrite includes 100% exact original gameplay, music and sound effect playback and a smooth 60FPS refresh rate. It supports online high scores (on iOS), multiple screen orientations and has a custom 3D level selector. The game was released for the iPhone and the iPod Touch on July 20th, 2009, for the PSP on October 1st, 2009 and for the Nokia N9 on July 20th, 2011. The PSP version has also been playable on the Sony PlayStation 3 since December 17th, 2009.

Pinball Dreaming: Pinball Dreams

Screenshot of Pinball Dreaming: Pinball Dreams Pinball Dreaming: Pinball Dreams is the official iPhone/iPod Touch and Sony PlayStation Portable version of the 1992 Amiga classic pinball game Pinball Dreams. I completely rewrote the game in C++/OpenGL from the original 68000 assembler source code in 2008. The rewrite includes 100% exact original gameplay, music and sound effect playback and a smooth 60FPS refresh rate. It supports online high scores (on iOS), multiple screen orientations and has a custom 3D level selector. The game was released for the iPhone and the iPod Touch on January 31st, 2009 and for the PSP on November 19th, 2009. The PSP version has also been playable on the Sony PlayStation 3 since December 17th, 2009.

Air Conflicts: Aces of World War II

Screenshot of Air Conflicts: Aces of World War II Air Conflicts: Aces of World War II is an arcade flight simulator game set in World War II, featuring the aircraft of this period and historically inspired missions. The emphasis is on intense dogfights, daring bombing raids and exciting aerial missions. I did most of the conversion of the resource-hungry Windows DirectX game using more than 512MB of memory to the Sony PlayStation Portable with around 24MB of free memory in 2007-2008. DirectX calls were converted to Sony libGu calls through a compatibility layer. Original code was heavily optimized to run with a playable framerate on the PSP. All graphical assets were converted to suitable resolutions and formats. A completely new extra game campaign was created. The game was released on April 7th, 2009. Gameplay videos here, here, here and here.

Shadow Wolf Cyberzine Issue #9 (Amiga)

Screenshot of Shadow Wolf Cyberzine Issue #9 Shadow Wolf Cyberzine is Legowelt's e-zine. In 2020 I implemented an Amiga version of issue #9 as a fake terminal application which dials into an imaginary bulletin board system. It pretends to download and plays Legowelt's song Danger in the Air, which I converted for the Amiga. The imaginary BBS presents a text based menu system for reading the articles, which are ANSI colorized based on Legowelt's web version.

Sailfish OS desktop environment (Jolla)

Screenshot of the Jolla phone The Sailfish OS desktop environment comprises of the main user interfaces in the Jolla smartphone. I participated in design and implementation of the home screen, application launcher, notification system, status indicators and lock screen, among other components. These components are based on C++, Qt, QML and Javascript technologies. I also was involved in porting and transition from a Qt4/X11 based software stack to a Qt5/Wayland based one. The Jolla phone started shipping on November 27th, 2013.

Tutka

Screenshot of Tutka Tutka is a tracker style MIDI sequencer for GNU/Linux and Mac OS X. I wanted to continue composing the songs I had written using an Amiga program in a modern environment so I decided to write a similar program of my own. I originally wrote it in C using the GTK+ UI toolkit but recently rewrote the application in C++ using the Qt toolkit for portability. Tutka is my main hobby programming project.

Major Release

Screenshot of Major Release Major Release is an Amiga 500 demo for the Assembly 2004 oldschool demo competition. Technically it is the most demanding personal project I've done so far. I tried to push both the old computer and myself as far as I could. The result was satisfying and reached the second place in the competition. There's a video of it in YouTube and the source code is also available.

Megane Rellu

Screenshot of Megane Rellu Megane Rellu is an Amiga 500 40 kilobyte intro for the Finnish Amiga Party 2009 40 kilobyte intro competition. It features most of the effects from the Major Release demo, a software synthesizer and a 328 kilobyte song, all in 40 kilobytes. There's a video of it in YouTube and the source code is also available.

Siepura

Screenshot of Siepura Siepura is an "analogue sound modelling" software synthesizer for GNU/Linux. It has 24 voice polyphony, 3 oscillators, 2 ring modulators (can be swapped for frequency modulators on oscillator 3), noise generator, 2 LFOs capable of oscillating at audio rates, 3 ADSR envelopes, 24db resonant lowpass filter and a comprehensive modulation matrix with 130 possible routings. It uses the ALSA sequencer API for MIDI input and ALSA for audio output.

Hätä

Screenshot of Hätä Hätä is a cross platform demo for the Assembly 2002 demo competition. It is also an example of what I can do on the multimedia front. It uses JRm-core, my portable demo engine. An Amiga 500 version is also available.

Home Screen Settings

Screenshot of Home Screen Settings Home Screen Settings is a Nokia N9 settings plugin for configuring the home screen. It allows orientation locking, visibility of the weather widget, whether to use only white text on the home screen and the background of the home screen to be configured through the Settings application. The application is available from the Nokia Store.

MPD Remote

Screenshot of MPD Remote MPD Remote is a Nokia N9 remote control client application for the Music Player Daemon. It allows you to connect to an MPD instance over the network and remotely control it. The usual music player controls (play/pause/stop/previous/next), shuffle/repeat control and editing the play queue by adding songs from the remote filesystem are supported. The application is available from the Nokia Store.

Framely

Screenshot of Framely Framely was a personal video sharing platform (social network). It was a fun way to capture, share and see moving memories. These videos were shared on a virtual wall, which gave an unique viewing experience. I designed and implemented the entire platform with features ranging from video capture, seamless playback, graphical themes, Facebook connect, push notifications and in-app purchases on the iPhone/iPad client side to social network user management, access control and cloud storage on the J2EE server side. In addition Amazon Web Services were used. Framely was available from the App Store since November 10th, 2013.

Wedding Kiosk

Screenshot of Framely Wedding Kiosk was a simple-to-use video kiosk and interactive guestbook for the iPad. I designed and implemented the app with features ranging from video capture, seamless playback, graphical themes and in-app purchases on the iPad client side to access control and cloud storage on the J2EE server side. In addition Amazon Web Services were used. Wedding Kiosk was available from the App Store since May 23th, 2014.

Noir

Screenshot of Noir Noir is a non-linear short story for a Music and Media course at CM&T. It was available for the public in the MUU gallery from April 22nd to May 4th, 2003. Noir was done together with Panu Aaltio and with voice acting by Simon Boswell. It uses JRm-core, my portable demo engine.

Damicon TV Commercial

Screenshot of Damicon TV Commercial A TV commercial made for Damicon Kraa Oy. It was shown on the ATV channel in Helsinki during December 2002. The commercial was based on Hätä and also uses JRm-core, my portable demo engine.

www.jormas.com

Screenshot of www.jormas.com dA JoRMaS is a group of people sharing the interest in techno music related multimedia production creation using Amiga (and these days also other) computers. I am responsible for the technical implementation of dA JoRMaS' web site.

Miscellaneous