Simo Virokannas

Writings and ramblings

Author: Simo

  • Spline interpolation in Swift

    Just so that the next person can avoid having to do the wikipedia-math-formula-to-Swift conversion, here’s a simple Catmull-Rom interpolation method for linear y=x data. I’m using it to create simple ski jump hill profiles for a possibly upcoming game, it’s so easy to describe a hill profile by just giving it control points and let…

  • Swift: as easy as 1, 2, 3…?

    Apple shook the developer community a few years ago with the release of Swift, a language that is “concise, expressive and lightning fast”. As a developer mainly working on Apple platforms, I decided to jump on it right away, trying to keep in mind there was going to be bumps in the road like there has been with any…

  • CARL merchandise now available!

    Go check out the fresh collection of CARL merchandise! There’s awesome stuff, like this cool Espresso cup!  

  • CARL 1.1 is out!

    Check out the new features at the product home page: CARL Also, on the App Store and KVR Audio

  • CARL 1.1 soon out

    The next major release of CARL is soon out. Just a sneak peek: Finally, going back to the roots of chip tune, CARL introduces simultaneous editing in tracker / piano roll style. All changes are immediate and recorded / drawn notes from piano roll are cleverly mapped to a traditional tracker style! Other really cool…

  • Indeterminate progress is not progress

    The progress paradigm Before, you could open your computer, do your stuff, close it and enjoy life. Remember when loading a program, like a word processor, took a minute or more? Today’s applications and websites typically employ a model where there’s a backend process that either runs locally on the same machine or on a server somewhere.…

  • 0xdec4c8

    Putting together some simple 3d for fun once again. Made a little cube, put the vertices and indices together, made a couple of array buffers and rendered a cube. Now usually to make a cube, you’ll need at least 8 vertices and index lists for the triangles or quads for the six sides. A triangle…

  • Hungarian Notation

    Years ago, I got a task to add features to the source code of an existing application. It originated in a company that was seemingly obsessed with win32-style programming and Hungarian notation. After a while, the m_lpsz, g_u32 and s_aul prefixes started to make sense, and almost immediately after that, they stopped making sense. Here’s what…