Portfolio

My name is Jesse Kaukonen. I’m a programmer and computer enthusiast located in Espoo, Finland. I’ve been interested in computers and video games since my early childhood when I had an Amiga 500, which I still have in working order on my desk. My interests lay mainly in parallel computing, code optimization, hardware programming, 3D and graphics programming, video games, and procedural generation. I’m not interested in web development if I can avoid it. I prefer programming in C for its simplicity and understandable ecosystem, and overall believe in strongly typed languages with a compiler spotting errors before they occur in runtime.

Professional

Nexi Digital Finland

Senior software developer in payment terminals (2021 - present)

At Nexi Digital Finland my work involves credit & debit card payment terminals. My role specifically is focused on the business logic inside the physical device into which the customer inserts their credit card.

This company was previously called Nets Denmark / Poplatek.

Assorted technologies I work with: C, LUA, Kotlin, Java, Javascript, Nodejs, Linux, Android, EMV, APDU, Ghidra

Delicode Ltd

Lead software developer (2014 - 2021)

I was employed at Delicode as a software developer. My work focused around infrared depth cameras, embedded devices, USB devices, computer vision, servers and customer service.

Delicode Signals is a people counting & analytics solution using infrared depth cameras.

NI mate is a program that communicates with USB depth sensors and processes their depth images into usable data. Examples of data that NI mate computes are skeleton joints from detected users, user location information, and floor planes. NI mate is used for interactive adverts, motion capture, education, and art installations.

Z-Vector is a real-time VJ visualization tool that creates a 3D point-cloud based visualizations out of the captured depth + color feed using an infrared camera. Z-Vector has been used for several music videos, such as Kebu - Deep Blue and Phantom - Scars.

Assorted technologies I worked with: C, C++, Assembly, ARM NEON & x86 SIMD, OpenGL, Python, Golang, Rust, Javascript, Nodejs, Qt, USB, UEFI / BIOS, Blender, Cinema 4D, Maya, 3ds Max, desktop software (Windows, Linux, MacOS)

Tmi Jesse Kaukonen

Entrepreneur (2010-2017)

I ran my own software / 3D modeling business for several years, doing a few odd jobs here and there. This was mostly for some secondary income.

Renderfarm.fi

Software developer (2010-2014)

During / after my intership at Turku Polytechnic, I worked at a project called renderfarm.fi that utilized BURP (Big and Ugly Rendering Project) for distributed volunteer rendering with Blender and BOINC (Berkeley Open Infrastructure for Network Computing). This was my first real programming job and I learned a ton. Unfortunately the project wasn’t viable as a business and ultimately went defunct.

At renderfarm.fi my tasks included coding, design, testing, customer support and server & database maintenance.

Assorted technologies I worked with: C, C++, Java, BOINC, TCP/IP, desktop software (Windows, Linux, MacOS), MySQL

Personal

Farstrider Oy

Novelist

farstrider

I write novels and publish them via my own book publication business. My work is mostly fantasy of various types. Currently all my weekends and vacations are spent on this activity.

Art portfolio

art portfolio

I started learning art in 2023 and wanted some place to share my progress, mainly so I could illustrate my own novels. I wanted a static website that was in my own control where I had to do minimal amount of work to publish the pieces.

The solution I went with is simply parsing art piece filenames for the piece number and date, and reading an optional JSON file with description and licensing information.

Loathsome Bäsk Drinker

Live gaming session turn timer

baskdrinker

We occasionally gather to play Souls-like games in a form of couch gaming. As we got too good in the games and no longer died (which was the turn control system earlier), we decided to start using a timer so people don’t have to wait too long for their own turn. This called for an engineering solution.

We wrote a software in Qt to define custom timers and warning sounds. Another software, the Loathsome Pad Swapper, communicates with this software over a websocket API, toggling the currently active gamepad via ViGemBus driver.

This way two gamepads can be used on the couch, and upon hearing a warning sound, all that is needed is for people to pick up the currently inactive gamepad. Once the timer expires, control over the game is switched between the two controllers and the previously active gamepad is calmly and orderly passed to the new player waiting for their turn without anyone having to panic or toss the gamepads around.

Honestly, we’re kind of amazed this actually works.

Derpling Uploader

Starcraft 2 replay uploader

derpling

This is a tool I wrote to automatically upload Starcraft 2 replay files to sc2replaystats.com. They offer their own tool to perform the same task, but it’s a closed source executable binary that requires admin privileges. I didn’t feel like installing it on my computer, so I wrote my own auditable version instead.

Sonic 1 romhack

Romhack for bachelor party

romhack

We created a Sonic 1 romhack for a friend’s bachelor party. You can read about it in this blog entry.

PTSD

Sega Megadrive demo

ptsd

Our demo group, PTS, released our first demo for the Simulaatio 2018 demo party. This demo was the first time any of us worked with this hardware. Our expectations were largely limited to getting anything at all done and released, a goal we achieved after some party coding to wrap things up. As someone else put it, “It’s not quite Titan yet, but that’s the next one, right?”

Proceduralis

OpenCL based procedural world generator

proceduralis

Ever since I first played Dwarf Fortress, I’ve been fascinated by procedural world generation. While I had studied the basic tools used by such games, I never truly implemented them in practise. As I got into studying some OpenCL, I suddenly figured it would be fun to create a world using the GPU’s immense computational power. You can read more about this project in the relevant blog entry.

Shiver’s Balance Mod

Star Control 2 online play improvement

balance mod

Originally and mainly created by the fellow going by the username Shiver, the Balance Mod balances the very broken multiplayer supermelee of Star Control 2. The mod has been a work of love by Shiver, and to lesser part by myself and a few other people. I was mostly involved in testing early on, but performed some development and maintaining tasks later on.

Global Tech

Europa Univeralis 4 modification

global tech

A product of one day during which I wondered how EU4 would work if every nation in the game used western tech. After a spell of scripting the results were so fun I decided to publish the mod.

Steam workshop link

Python MIDI

Synthesizer-to-python Star Control 2

A software that reads data from a MIDI keyboard and converts that into keyboard events, allowing playing video games via MIDI input.

batchrender.py

Sequential rendering plugin for Blender

batchrender

Someone on IRC complained that Blender didn’t have a tool for setting up sequential render tasks that the computer would automatically execute in a queue. As the Blender’s Python API is pretty clear it didn’t take long for me to write such a tool.

Website

You’re reading it

My website is made entirely out of markdown turned into HTML with minimal amounts of extra junk, always served as static files, using the Github markdown style. The pages are created using a bash script and some Python. To this day I haven’t found any problems with this system. It’s minimal and works, no need for bloated frameworks or vulnerable dependencies.

Story of a Lost Sky

Touhou fangame RPG

I ran into a Touhou fan game project I liked, found a couple of bugs and ended up doing dedicated testing for a while. Unfortunately the website for this game is no longer around.

Free software contributions

Here’s some projects for which I’ve made contributions:

KAAL

Short film

We created a short film for the Kill All Audio and Lights competition at Assembly 2009. The idea was to make a very loud and visual film that would be shown on the screen when the audience was to shut their audio systems and displays. The project included three graphics artists and one musician, with me mostly responsible for the landscape and props, as well as animation.

Haba-ipa

Beer brewing documentary

Olutkulttuuriseura, a beer association in Finland, organized a beer brewing competition for the annual party in 2017. The members in the Helsinki region got together to brew a beer together. As part of this I filmed a documentary about how the beer was made. This video was targeted mainly at people interested in beer while also serving as a publicity stunt to broaden the understanding about beer culture.

The filming was done using one Sony handheld camcorder that had a really low quality mic and some exposure problems. The audio had some noise in it that I didn’t bother fixing.

Special thanks to the brewing meister for allowing to film this as well as offering critique on the footage. The assorted members of Olutkulttuuriseura also assisted. Kristian Kristola, Mika Saari and RantingHuman offered me critique.

Detailed blog entry