Simo Virokannas

Writings and ramblings

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • Poor man’s photo backup, part I

    A photo library, around 100 000 photos, not really professional but nice-to-have photos. Some of them are blurry, unfocused, or just plain horrible photographs. No time to browse through everything and only keep the really good ones. Aging…