Mitch's Blog

Integrating Python-based daemons with systemd (Part 1)

Linux Python Code

systemd is a wonderful piece of software, that has liberated us from writing ugly bash-based init scripts and has given us features like a structured and unified log and one of the best local DNS resolvers on Linux.

In this post, I'm demonstrating how to integrate a service (also known as daemons on UNIX-like systems) written in Python into systemd to leverage some advanced features of the service manager.

Leveling up as Software Engineer

IT Career

In this post I'd like to reflect over some things I've learned in my 10+ years working in Information Technology, and the things that helped me becoming the (DevOps) engineer I am today.

Python: Split up iterable into evenly-sized chunks

Python Code

In a recent tool I developed, I had the need to split up a list (or any iterable) into equal-sized lists of values. In this post, I document the process on how I reached my goal, what steps it took and the decisions behind them.

Implementing the Argo CD GitOps Flow

Kubernetes DevOps Argo CD Bash

In this post, I'd like to document the approach I've developed for a highly automated application development and deploment process, based on various online sources and self-built bash glue.

Tales from by LinkedIn inbox (part 2)

Rants

Last year I wrote a bit about my frustation with tech recruiters. Around September 2020 I started looking for new jobs again (as my team was falling apart), so I changed my status to "Open for Work" again.

While I quickly found a new position, but still had quite a share of weird and annoying requests again.

I've been employed again for nearly a year now, and yet the stream of LinkedIn messages and requests seems to never run dry.

Here's my best-of from the last 1.5 years:

IT-Sicherheit - Made in Germany

IT-Security Rants

Dieser Post ist ein Rant.

Vor einigen Monaten habe ich mit einem Kollegen länger geplaudert, dessen Fokus in der IT-Sicherheit liegt. Wir haben Geschichen darüber ausgetauscht, wie traurig und fast unlösbar kaputt der allgemeine Zustand der Sicherheit unserer Branche ist. In diesem und (vielleicht irgendwann) folgenden Beiträge möchte ich verschiedene Beispiele zeigen, die ich in der Praxis in Unternehmen gesehen habe.

PlantUML tips and resources I found useful

Lately I've become quite a fan of PlantUML, a tool to automatically generate (technical) diagrams from text files. PlantUML takes care of the layout and allows putting your documents into version control like git. I even added support in my blog engine, to properly render and link PlantUML documents in posts (including their source code).

In this post, I'm collecting useful resources that have helped me writing PlantUML documents.

How to set up a TF2 server in 2022

Gaming Linux

This post shows how to setup a full dedicated TF2 multiplayer server on a modern Linux system (including process supervising and some privilege separation). Additionally we install some addons and plugins to increase the functionality and comfort.

Rebuilding my Blog from scratch

Blog

When I started this blog in 2017, I had to decide on a system to use. A long time ago I used Wordpress, but because of the high maintenance required, as well the constant security issues, I decided to go with a static site generator instead: Hugo.

IMAP Backup with Offlineimap

E-Mail

When it comes to email hosting, I'm quite old school. Instead of using cloud services like GMail, I like plain IMAP and SMTP. It allows me to take my emails anywhere, without being locked-in. This has served me quite well over the last 15 years.

But lately, one of my providers had quite often network issues, leaving me without access for sometimes hours. As this hoster is a small shop with just a few people running it, I've wondered: What happens if the service goes down, and never up again? What happens to my archive? Hosting my own email server is an absolute no-go, as I don't want to constantly fight against waves of spam or other providers discriminating against unknown IPs. Life is too short to fight too many battles at the same time.

I've been researching this topic for quite a while, and in this post I describe the middle ground I settled on: Run my own backups, and have them in a simple readable format, that allows to search and process them using basic tools.