So who is this Sol character anyways?

My real name is Jari Komppa, born in 1975, Finnish, Bachelor of Engineering, married, with a kid.

My CV is available as a pdf and odt.

Some endorsements are available as well.

References available upon request.

Some Awards

  • 1st place at Text Mode Demo Context 20 in 2017
  • 2nd place at Text Mode Demo Context 19 in 2016
  • 1st place at Text Mode Demo Context 15 in 2012
  • 1st place at Text Mode Demo Contest XI in 2008
  • 4th place at Assembly2005 combined demo competition in 2005
  • 4th place at Assembly2002 combined demo competition in 2002
  • 5th place at flipcode.com programming contest in 2000
  • 3rd place at flipcode.com programming contest (twice) in 2000
  • 7th place at Assembly2000 combined demo competition in 2000
  • 2nd place at Assembly99 3d-accelerated demo competition in 1999
  • 1st place at Assembly98 demo competition in 1998
  • Finalist, disccover game programming competition in 1998
  • Best technical implementation, disccover game programming competition in 1998
  • 3rd place at Assembly97 demo competition in 1997
  • 1st place at Assembly96 demo competition in 1996

History, hobbies

As a hobby, I code mostly in C++, currently mostly win32/opengl stuff. In the past decades I've coded various win32 applications, including demos, games, zx spectrum stuff, lots of open source including SoLoud audio engine, etc.

I used to enter Ludum Dare 48h game design contests, although my time to do so has been more limited in the recent decade.

Before starting to code in C I used to code in Turbo Pascal (starting that habit on CP/M before getting a PC), but once my projects grew too big for it I changed to C. Before Pascal I coded in several dialects of basic. One of my early projects included a simple text adventure (with parser and everything) - a 'port' of this adventure can be found under 'stuff'.

In 2000 I finally saw the light and made the transition from C to C++. My personal style of C++ is closer to so called "orthodox" c++, where only some of the basic features of C++ are used. It works for me, your mileage may vary. I don't have anything against "modern" c++ as such, but it's really easily abused.

Other languages I've used along the way include (but are not limited to) x86 assembler, assemblers to some microcontrollers, Java, Python, Lingo (Macromedia director scripting language - I wrote a game with shockwave to the www.pizzahut.fi site (which has finally been removed)), PHP and ColdFusion using several different dialects of SQL, and I know some Inform as well. I also like writing Python.

Apart from these I've used and built some scripting languages.

Work

As for a brief work history, once I finished my high school I did my military service, and somewhat to my surprise couldn't get to an university (where I would have got automatically with my high school papers if I would have applied BEFORE going to the army).

After being unemployed for 5 months and winning at Assembly1998 I suddenly had several job offers. I took the job at Viherjuuren Verkkoviestintä (which merged a few times and finally collapsed in 2009 or so), where I did just about every kind of project you can imagine that's connected to the web (back then).

It was a great learning experience, but I wanted a change, and once I got a job offer from Israel, I ended up working at 3Dion as a java lead developer. 3Dion has since ran into financial trouble along with the other zillion dot-coms and has ceased to exist.

By the end of the year the situation in Israel had become rather unstable and I decided to move back to Finland, where I was hired by Fathammer, where I ended up designing and leading the implementation of X-Forge Core, which enabled cross-platform development of quite advanced 3d games on mobile platforms, such as Tapwave Zodiac, PocketPC, Symbian, etc.

Unfortunately the market for high-end mobile middleware never appeared, always looming just a couple years in the future, and that basically doomed Fathammer. The technology and games sort of live on in some forms, but I don't have any connection to them anymore.

Six years later, in 2006, I changed jobs, interviewing with Bitboys. Before I could sign a contract with them, ATI had bought Bitboys, and thus I joined ATI Finland. And AMD bought ATI promptly afterwards. A few years later, in 2009, AMD sold the handheld graphics hardware division I was working in to Qualcomm.

From there, in 2011, some time before Qualcomm decided to shut down the Finnish office, I hopped over to Siru, where I've done software, hardware, research, lectures, and other fun stuff, like working on the Vulkan conformance suite. I was actually surprised to find myself working on open source and getting paid for it. Who knew!

In 2022, Intel acquired Siru, so I ended up from a tiny startup to one of the largest companies in the field.

School

In the fall of 2004 I enrolled in EVTEK, the Espoo-Vantaa institute of technology, (polytechnic, although they wanted to call themselves "university of applied sciences". Who am I to argue?) taking evening courses. I survived the four years of school, and graduated as Bachelor of Engineering. Entering school didn't mean that I would stop being full-time at work. When I did graduate on schedule in the spring of 2008, it was the last graduation ceremony held at EVTEK (before they fused into Metropolia).

As side effect of the school, I did a bunch of interesting projects, including (but not limited to) a game project for Heureka, the Finnish science museum, GalaXQL, an interactive (and fun) SQL tutorial, 8501 emulator and the most fun logic simulator out there, Atanua.

Other Stuff

My other hobbies include reading English literature, and some of my favourite writers include Douglas Adams (Hitchhiker's guide), Terry Pratchett (Discworld books), Robert Rankin (Brentford trilogy and others), Robert Jordan (Wheel of Time), William Gibson (Neuromancer etc), Larry Niven (Ringworld etc), Frederik Pohl (Heechee, Jem, Man Plus and truckload of others), Orson Scott Card (Ender's Game, etc), Michael Marshall Smith (Only Forward etc), Raymond E. Feist (Magician, etc), etc.

I also write some stories every now and then. I'm always brewing some stories, but finding time to get them written down is a problem. Hence, I find that there's been years between releases of stories.

I organized Text Mode Demo Competition over the internet for about 12 years, first on my own, and later on through tAAt ry, a nonprofitable organization in Finland aiming to promote making of demos. After seeing a clear decline in interest we decided to stop organizing it in 2008. The Northern Dragons picked up the pieces though, and I won the first TMDC that I wasn't organizing myself =).

As an interesting side note, I noticed that some of my writing has appeared in the jargon file - I can remember reading jargon file some ten years ago, and now I've contributed to it.. kind of funny feeling =)

I did a porting project of Remedy Entertainment's Death Rally from the original DOS to Windows in 2009, and subsequently wrote an article of the experience to Game Developer Magazine. The article was published in 2010. The port of Death Rally is available on Steam for free.

One of the earliest large solo programming projects I've done which has been released to the public is 'DEE' music disk interface called HORS, which consists of approximately 14000 rows of plain C code. (This simple program includes 'rather nice GUI', HTML-ish text renderer with multiple fonts, styles, images, imagemaps etc, mandelbrot zoomer, a worm game and lots of other stuff, all with internal multitasking). I ported HORS to windows finally in April 2002, and it can be downloaded from files.

Another rather large "solo" project was my final year project at school, Atanua, the real-time logic simulator. Lines of Code wise, it's comparable to HORS, even though it was written in a fraction of the time I spent with HORS. Maybe experience does help =)

Other large hobby projects include SoLoud audio engine and Sassy Audio Spreadsheet.

I'm on various social media as Sol_HSA. You can find mastodon and discord links on top of the page.