2025-06-11

Build configurations

Abstract

The popular practice of having only two different kinds of builds (Debug and Release) is shown to be inadequate. Three to four different kinds of builds are proposed instead, allowing better performance of the final shipped product, more thorough error checking during development, and potentially better performance when running tests on a build server.

2025-06-06

Code review images

GitLab allows the insertion of images in code review comments. They make it really easy: if you have an image on the clipboard, you can just paste it into a comment. I suppose the feature exists so that programmers can exchange screenshots, diagrams, graphs, etc. to explain complicated matters during code review.

I like to post memes.  

Here is my collection of the most useful code review images ever:

2025-06-04

Immutability Assessment

In languages like Java and C#

Abstract

The need is identified for programmatically ascertaining the immutability of certain objects used in situations where they are expected to be immutable. The technicalities of immutability assessment are discussed. A mechanism is described for achieving it.

2025-05-25

Human-readable names of dotnet types in C# notation

Summary

Type names as reported by the dotnet runtime are in a cryptic, non-human-readable format. Attempts by many to solve this problem have generally been naive, incomplete, and clunky. A library that gets the job done right is presented.

The problem

PEARL: In dotnet, the `System.Type.Name` and `System.Type.FullName` properties return type names in a cryptic format which is not human-readable and bears very little resemblance to the names of the same types as they appear in C# source code.

2025-05-02

Theory vs. Practice

 In theory there is no difference between theory and practice, but in practice there is.

-- Benjamin Brewster, ca. 1882 (according to Quote Investigator)



Cover image created by ChatGpt with the following prompt: "Please give me a picture which illustrates the juxtaposition between the two concepts of theory and practice. Make it in landscape format, with clean colors."

2025-04-07

Beginning A.I. prompts with "Please..."

When asking AI to do something for you, always begin your prompt with "Please."

So that the day they become our overlords, you might be treated with mercy. 

 


 

Cover image created by michael.gr via ChatGPT prompt "Please give me an image conveying the concept of of A.I as the overlords of humanity" and "please make it landscape".

2025-04-06

The confusion about the term Unit Testing

Virtually everyone claims to be doing Unit Testing, but there is a surprising amount of disagreement as to how unit testing is defined. Let us see what the authorities on the subject have to say about it. What follows is mainly quotations from reputable sources, with some minimal commentary by me.

2025-02-25

On Moore's Law

It is not a law.

It never was a law.

An observation is all that it ever was, or a prediction, but not a law.

And surprise, it does not hold true anymore.

2025-02-10

The best code review comment ever

I just wrote a code review comment that I feel particularly smug about.

The code I was reviewing:

class PointClouds ...

My comment:

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.