Couple things come to mind when thinking about metrics and comparison of algorithms. As we all know, the efficiency of an algorithm can be deduced from the resource usage, thus comparing the scripts quantitatively as oppose to qualitatively, would probably be an easier task. And that’s natural only because quantitatively we can look at numerous data points that can provide insights into quantities of computation resources consumed during execution of an algorithm. In this article, I’ll concentrate mainly on the Quantitative Metrics

Read More →

Some argue that achieving better programmatic and resource use efficiency requires programmers to spend time working out ways to make their algorithms, and implementations of these, more efficient. However, programmer time is expensive, so there is a tendency towards expediency and putting out non-optimal program code because no-one is willing to spend the extra time (and thus money) on optimization, as long as the current code works, albeit sub-optimally. I agree with these sentiments and following is my view on the issue… Read More →

How do you get from your home to your office, or the nearest store? If you live in a city, the answer may be complicated, and it might depend on whether you are walking, driving, riding a bicycle or taking public transportation. Even for one mode of transportation, there might be several possible ways, some of which are faster or more reliable than others. Deciding how to make this journey is analogous to deciding how to design an algorithm.

Read More →

Recently I’ve got asked, how would I pseudocode the following number division exercise:

  • Search a string of at least five numbers (for example, 37540).
  • Identify all of the substrings that form numbers that are divisible by 3.
  • For example, applying the algorithm on the string 37540 should produce the following substrings: 0; 3; 54; 75; 375; 540

Read More →

In this article, I’ll describe my personal selection of the top three most important criteria for selecting a server operating system. I’ll compare two competing operating systems, Microsoft Windows Server and Linux (Unix based). Both of these OS’s are capable of functioning as a network server, but for this article, I’ll be referring to a server, whose primary function is that of a web server (a system that is designed to host the websites). Read More →

The operating system that I use most frequently is Microsoft Windows 7 at work, Microsoft Windows 10 on my desktop at home and Android 6.0 Marshmallow on the smartphone and tablet. However, there is another operating system that I’ve been using for many years and that I rarely get into discussions about, yet over time it’s the operating system that has earned most of my trust. So for this post, instead of concentrating on the well-known Windows operating system, I’ve decided to describe my working experience with the not so commonly recognized CentOS operating system. Read More →