On Software

or

Sorted in alphabetical order.

On Software: API Design
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.
On Software: Check for errors and do not fail (too) silently
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
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
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
In this series of posts I plan to write down some of my views regarding all things “software”, both as an user of as well as a developer of software.
On Software: Logging
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
Let’s kick off the text with the sad-but-true bits of wisdom found here:
On Software: Open Source Licenses
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…
On Software: Some Golden Rules
Here are some rules of thumb for program authors.
On Software: Version Numbers
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
In case you get mysterious crashes, inexplicable messages of access violations and other strange errors on seemingly innocent code:
Using CMake with External Projects
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 😉