Let's talk about tenants

The first question is: What is a Tenant and what is Multitenancy? Think of a tenant as a group of users, that operates independently on the same shared infrastructure. So to support multitenancy we have to logically isolate the tenants from each other while keeping them on the same infrastructure. The support for multitenancy can be achieved in multiple ways, whereas the level of separation is the defining characteristic. Below I explain how multitenancy can be achieved on the database level.
Read more

Linux boot loader not detected after BIOS Update

I got a new Desktop PC recently because my 8-year-old PC just hadn’t enough power to handle my current workloads. And as we all know: New Hardware brings new challenges, especially if you are using Linux. It is a nice machine with an AMD Ryzen 7 5800X CPU and 128GB Ram. But the Mainboard I chose seems to have some quirks. It is a “MAG X570 Tomahawk WIFI” Mainboard from MSI.
Read more

Spam protection sucks - and it will get worse

Do you have a website with a contact form, which sends you emails? Do you use Captchas to protect yourself from spam? Then I have bad news for you! But let me elaborate: Captchas Ever since I started hosting my websites I have a problem. How do I protect myself from spam? The obvious choice would be a captcha. Captchas are basically small riddles only a human can solve. The reasoning behind it goes along the lines: Because almost every other website uses some form of captcha as spam protection, it must be the best solution.
Read more

C# .net core - NuGet Package downgrade error

One of my clients has a large C# dotnet core codebase. It consists of many NuGet packages that in part depend on each other. Overall not an ideal position to be in. When implementing a feature typically, multiple NuGet packages have to be touched, rebuilt, updated and tested. Sometimes this leads to conflicts and inconsistencies between NuGet Packages with specific Versions, or Bugs in general. One of the errors we sometimes hit is the “Package downgrade”-Error with the error number NU1605.
Read more

sway tray status - Swaybar Tool

A while ago I was testing sway as a wayland compositor. The goal was to make the switch to wayland for my daily work. Unfortunately, this didn’t quite work out. I have the feeling, that wayland isn’t quite there yet. A lot of things work, but it still feels cumbersome at times. Anyway, while testing sway, I noticed that the tray wasn’t working. When looking for the reason I stumbled upon the planned swaybar tray features.
Read more

How to process bugs

Bugtrackers, tickets and squashing bugs is a process essential to every software engineer and it is expected, that you know the process. But somehow there is no proper description of the process and how it works. All knowledge about squashing bugs is self-taught or delivered in tales full of nostalgia. In this article I explain my strategy on how to process bugs in an efficient manner. The goal of this process is not to close as many tickets as possible, but to solve the problems of the users and improve the software.
Read more

Hiring Software Contractors

Over on HackerNews was a question about “Best practices for hiring software contractors. As I have been a contractor for about 10 years now, I will give you some insights in my approach when it comes to clients and getting hired for a job. I am living in Germany, not everything I write might apply to the situation in your country. Context There are many contractors out there with varying skill levels.
Read more

Great Software is a byproduct

Last week I was on the shooting range learning how to shoot clay pigeons with the shotgun. When our trainers explained the process I was a bit irritated at first. They explained to us how to raise the weapon to get into firing position, what to do with our eyes, and how to move the weapon for a moving target. But they didn’t talk much about the hitting itself, they just gave us feedback about the technique and if we shot too low or too high.
Read more

Bugtrackers - a special kind of hell

Recently my priorities shifted from work for money to more leisure time, hobbies and contributing to causes important to me. As I am still developing software during work, I didn’t want to write code during my free time, too. Instead I thought it would be a good idea to contribute to open source by cleaning up bugtrackers, triaging bugs and discussing solutions. So I looked around and found some bugtrackers for software I use.
Read more

Hello World!

Hey and hello world! This is my new personal real estate on the internet. In this first post, I want to set some things straight. First of all, I want to introduce myself. I am a guy from Germany in my early thirties. I got my own little company and earn my living by building software. Besides that, I invest some time in trying new business models and verifying whether they could be scaled and how.
Read more