Writings and ramblings
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…
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…
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…
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…
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…
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…
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…
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…