Simo Virokannas

Writings and ramblings

Category: Programming

  • The Information Problem

    The Information Problem

    There’s a lot of information available for software developers. On one frequently updated list of free programming books on GitHub, there are several thousand books listed for different programming languages and subjects, in almost 50 languages. And these are just free books, one list. Amazon returns over 40,000 results for the search “programming book”. Reading…

  • The Three-Axis Problem

    The Three-Axis Problem

    Generation X, Gen-Y (or millennials), Gen-Z. These are terms we use in everyday language to categorize the last three generations that form the majority of global workforce. What are they? Where did the labels come from? Why is this article amidst software development articles? First, investigating these labels, or boxes people are put in, can…

  • What is Software Salvage

    What is Software Salvage

    Summary This article describes the method for software rewrites when the original source code is unavailable – or unstable, of questionable quality or otherwise the product of a beautiful mind. Background One part of what I do is software salvage. I’ve had the joy of working on bringing life back to abandoned codebases, extend them…

  • Transference of Complexity

    Transference of Complexity

    Summary Programming languages have evolved in accessibility, complexity and readability in the past six decades. The overall internal complexity of a single software application has grown exponentially, while the amount of code lines written to achieve a specific end result has decreased. This naturally occurring transference of complexity brings about completely new kinds of problematic…

  • Compiling Pixar’s USD natively on Windows 11 / VS 2022

    If you’ve tried it, you’ve probably run into the endless catch-22 that is getting everything to behave when trying to compile the Universal Scene Description on a newly setup Windows machine. NOTE: if there’s any way for you to avoid this in your life, don’t look back, rejoice. Prerequisites You’ll need to install at least…

  • Compiling Pixar’s USD natively on Apple M1

    This is in no way meant to be a “standard, do it this way” kind of a solution, but just one way of making it happen. I don’t like how homebrew and alike plug themselves into default locations and potentially taint your environment, so I default to Python-centric virtual environment handlers like miniconda. With the…

  • A new design pattern for MMXXII

    Over the past decades designing an application has gone through several overhauls. Of course whether this affects you or not depends on if you’re into doing the latest thing or if what you already have can in itself withstand the changes in computing landscape. But if you’re like me and at least like to entertain…

  • Adding resizing and resizable subviews to NSView

    If you’re adding a subview programmatically, you may run into having to constantly set all the resizing behaviors and/or anchors manually when all you really want to do is fill the whole available area based on two options: “stretch me to fit this box” or “stretch this box so I can fit”. This happens especially…