On Software 📁️
On Software: API Design (2025-06-22)
I recently had the inspiration of writing a new post about my current thoughts on how to design/make a good
Application Programming Interface (API),
for functions/methods, classes, programs/scripts, and other things that offer such an interface.
While I was running the old-but-still-officially-current version 1.1.0 of RandFill recently (to analyze
a change between that version and the 1.2.x branch), I stumbled upon a strange behaviour:
On Software: Configuration (2013-06-03)
These are a few thoughts (from the point of view as an user and also as a developer) on handling configuration data
for [application] software.
On Software: Documentation (2024-12-01)
Some background: I am indeed interested in writing documentation, for myself and for others.
The initial trigger is usually to note it down for my future self, and/or for helping me to understand a topic better;
if it’s also useful for others: great.
On Software: Introduction (2013-05-27)
In this series of posts I plan to write down some of my views regarding all things ‘software’, both as an user as well as a developer/programmer.
On Software: Logging (2023-08-07)
Quite a while ago, I was thinking about settling on a steady logging convention,
after always having slightly varying versions in my different projects.
On Software: Open Formats & Open Protocols (2013-05-30)
Let’s kick off the text with the sad-but-true bits of wisdom found here:
On Software: Open Source Licenses (2025-06-22)
I mostly prefer permissive open source licenses that allow a lot but don’t restrict (or demand) much.
But this may also change, depending on specific projects and/or use cases…
But this may also change, depending on specific projects and/or use cases…
On Software: Some Golden Rules (2013-06-05)
Here are some rules of thumb for program authors.
On Software: Version Numbers (2016-02-03)
Just a little train of thoughts on the topic of numbering versions of software products (and by that,
I mean client-based, locally installed programs, not webservices which are always considered to be in
a state of flux and where maybe timestamps are a better format).
The case of the mysterious crash (2015-03-09)
In case you get mysterious crashes, inexplicable messages of access violations and other strange errors on seemingly innocent code:
Using CMake with External Projects (2019-08-03)
The reason for this post is that I spent a considerable amount of time1 the last two days to
convince CMake’s External Project feature to do what I wanted. And without the help of the usual
suspects (Stackoverflow, old mails, blog articles, code snippets, etc.), I might still not be done.
So I thought I could pay back the general public by posting some notes on this topic 😉