2024-10-28

Testana: A better way of running tests

Abstract:

A software testing tool is presented, which uses dependency analysis to greatly optimize the process of running tests.

2024-10-02

On the evolutionary origin of reasoning

Biological anthropologists generally agree that humans evolved reasoning to facilitate hunting together as a group; however, there are many other species that hunt in packs, and yet reasoning is unique to humans. Therefore, in order to explain reasoning, it is not enough to consider how it was beneficial to us; we also need to consider what enabled reasoning to emerge specifically in humans as opposed to any other species.

I have a hypothesis which attempts to explain how this happened.

2024-09-27

Continuous Code Quality Improvement

While working on code in the context of a certain task, a programmer often discovers some preexisting quality issue. When this happens, there is a choice to be made:

  • Fix the quality issue on the spot, and commit the fix in the context of the task at hand; or:
  • Only make changes that are strictly necessary for the task at hand, and introduce a separate task for fixing the quality issue.

The 'gay gene' paradox

What causes homosexuality? The predominant understanding is that the causes are genetic, but this seems to be in conflict with the notion of natural selection: an individual who does not reproduce is a dead-end for the genes that they carry; therefore, the 'gay gene' should have gone extinct. A number of hypotheses have been proposed, attempting to resolve this paradox, but they are not very convincing. In this post I present a couple of my own hypotheses, which I believe do a better job at resolving the paradox.

2024-07-15

The Ju52 cocktail

How to make the Ju52 cocktail:

In a tall glass with no ice, mix the following:

2 parts coffee liqueur (e.g. Kahlúa (W))

2 parts cream liqueur (e.g. Baileys Irish Cream (W))

1 part orange liqueur (e g. Grand Marnier (W))

4 parts cold milk.

The special guy that I am, I had to go invent my own cocktail. As its name betrays, it is similar to B52 (W). In fact, the Ju52 is just B52 with cold milk instead of ice.

 


The benefits

The replacement of ice with cold milk imparts the following benefits to the drink:

2024-07-01

On preferred pronouns

It is becoming customary in western societies to ask people in various settings to state their preferred pronouns. It started among younger people of the particularly woke persuasion, and it is spreading everywhere. When I find myself in such a setting, I do of course go along, because doing otherwise would be awkward, but I hope that it is only a fad which will eventually go away. While waiting to see how it pans out, let me describe a few issues I have with it.

2024-06-07

How to organize a Visual Studio Solution

Visual Studio is a capricious product, and its "Solution" subsystem is especially capricious. When you look at what options are available you might think you have a great degree of freedom to structure things the way you want, but as you will inevitably (and painfully) find out later, many things have to be done in precisely one, entirely undocumented way, or else there will be pain of the worst kind: Visual Studio will malfunction either without any error message, or with error messages that are completely unhelpful for locating and fixing the problem.

Here is a list of things I have (painfully) found out over the years.

2024-05-31

Incident Impact Calculation Formula

The Mike Nakis formula for calculating the impact of an incident:

I = S × G × T

Where:

  • I is the impact of the incident.
  • S is the severity of the incident.
  • G is the geographic pervasiveness of the incident.
  • T is the temporal pervasiveness of the incident.

Thus:

Simplification of triple-choice prompts to dual-choice

I have a lot to say about the modern trend in graphical user interface design which aims to achieve an impossibly clean look at the expense of usability, but this is going to be the subject of another blog post. In this post, I want to talk about simplifying the user interface when the simplification is clearly a win, both from a usability point of view and, incidentally, from an aesthetics point of view. Specifically, I want to show how a yes/no/cancel prompt can be reduced to just a yes/cancel prompt.

2024-05-16

Buienalarm vs. Buienradar


So, today I had the chance to observe an example of the relative accuracy of buienalarm.nl vs. buienradar.nl

2024-04-01

Audit Testing

Abstract:

An automated software testing technique is presented which spares us from having to stipulate our expectations in test code, and from having to go fixing test code each time our expectations change.

2024-03-29

Artificial Code Coverage

Abstract:

In this paper I put forth the proposition that contrary to popular belief, 100% code coverage can be a very advantageous thing to have, and I discuss a technique for achieving it without excessive effort.

2024-03-07

The most important quality of software

What is the most important quality of software?

Correctness, they say.

And what is the second most important quality of software?

Readability, they say.

That is right, but only in theory.

2024-01-28

Types of dependencies

The term "dependency" is used very often in software engineering, but depending on context, it may mean slightly different things. To avoid confusion, here are the different meanings of the term, and their explanations.