Simo Virokannas

Writings and ramblings

  • Software project management method obituaries considered harmful

    I’ve noticed a recent increase in project management method “obituaries” – Agile is dead, waterfall is dead, scrum is dead. I believe this sort of negativity should be considered harmful. Why? Every method was born out of necessity It’s only natural that in the early days of programming, in the 1950s and 60s, most projects…

  • End of File

    End of File

    Since the dawn of modern computing, files have been an integral concept in organizing and storing data. Today each device keeps internally track of hundreds of thousands or millions of files. This sheer quantity means that files perhaps are no longer an ideal way to either organize or store information. But is there anything to…

  • A Monolith, Perhaps?

    A Monolith, Perhaps?

    In the context of this article, the word “monolith” is used to represent monolithic development: a software or environment that lives in one source code repository and has one versioning scheme. This does not necessarily mean a single binary executable, or even a system that runs on a single computer. Almost every project starts as…

  • Just some pointers

    Just some pointers

    The book “Machine Code for Beginners” (by Usborne, 1983) likened computer memory to a shelf or a cabinet with lots of tiny little drawers, all of which can hold just one byte of information at a time. The pictures had robots carrying the information in and out of them, on little pieces of paper. One…

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

  • Numeric Value of (nothing) Is Zero

    Background Part of what I do is software salvage. I’ve had the joy of working on bringing life back to abandoned codebases, extend them with new features, modernize services and translate software from obsolete programming languages, operating systems and frameworks. A frequent type of software modernization has risen with the slow tilt of the dinner…