Build With Boring Technologies

In my previous Black Holes of Information post I highlighted how “social” platforms can really destroy the searchability, accessibility and longevity of information on the internet in multiple ways. Similarly, if you want to build applications, website, tools for the future, build them with boring, old technologies. The Lindy Effect is a concept that suggests […]

Build C# Project with GitHub Actions

Continuous integration (CI) as done with GitHub Actions serves multiple purposes. You get to continuously check that newly integrated code still works correctly and when it comes to cross-platform development, it also allows you to ensure that new code doesn’t just “works on my machine”, but also on platforms you might not even have the […]

SQL Server on GitHub Actions

Besides SFML, I’ve also taken on the maintenance of Jobbr, a .NET JobServer developed by some co-workers some time ago. With the help of some more people, we managed to migrate the whole machinery from .NET Framework to .NET 6. At the end of the migration, I went ahead and set up GitHub Actions for […]

Do You Know How To Debug?

Yesterday, I came across a fabulous talk by Bryan Cantrill at GOTO 2017 with the topic of “Debugging Under Fire: Keep your Head when systems have Lost their Mind”. It’s a very interesting and entertaining talk, so I highly recommend to watch it in full. I never really heard this simple definition of debugging: Debugging […]

How To Report Bugs Effectively

As software engineer, you will write and receive many bug reports over the years. When bugs are reported with low quality, everyone loses, as the reporter will be asked “annoying” questions, the software engineer has to spend extra time to find out all the details, and overall the eventual fix will be delayed. Here are […]

Stop Naming Systems “Legacy”

While according to Merriam-Webster “legacy” is described as “relating to, or being a previous or outdated computer system” and Wikipedia adds “yet still in use”, I feel like we software developers and especially software architects are too hastily in naming a system or sub-system legacy. From a high-level architecture point of view, which spans across […]

.NET Day Switzerland 2022

Update 13.01.2023: Added slides In the beginning of 2020 the early bird tickets for the .NET Day Switzerland went on sale. Nobody knew of course, how early bird these tickets were, as it took two additional years until I could finally present mine, while entering the Arena cinema here in Zürich three weeks ago. Keynote: […]

You Are Not Wasting Time

On the SFML Discord and forum, I get to mentor and support a lot of new beginners, often with some of their first steps in programming. It’s not uncommon that they feel like wasting their time, because they can’t figure something out and spend hours or days on it. I think every programmer, myself included, […]

Article on Error Handling

Yesterday, I came across this interesting article Handling errors is canceling operations. While it’s mostly focused on C++, I found most of it being generic enough, that it also fits with other languages. The most interesting section to me, was the following paragraph: Exception handling is not a tool for broadcasting information about any failure in […]