Category: Tooling

OSS Release: More Than Just Uploading Code

Making an internal tool public takes two minutes: set repository to public, add a README, done. The bill comes later — as an issue without reproduction steps, as a pull request against a renamed branch, as an email from a legal department asking whether the license permits commercial use. There’s no good answer if nobody

When Processes Bring Teams to a Standstill

The concept is set, the architecture is clear, the code itself is unproblematic. It is therefore almost only about implementation. In earlier projects that would have been done in a few days. Programming, build, connecting the services, deploying to various environments — the team did it themselves. If something went wrong in a sandbox, they

Tailscale VPN: Connect Your Own Services on Your Own Infrastructure

Proxmox in the data center, a laptop in the home office, a Raspberry Pi at the edge of a field, and a DGX Spark for inference: your own hardware is rarely in one place. NAT, firewalls, and dynamic IPs separate the devices. Manual WireGuard means: exchanging keys, maintaining IPs, updating firewall rules. Tailscale builds on

Running gokrazy on a Banana Pi BPI-R1

Motivation I had a BPI-R1 sitting in a drawer. The board is from 2014 — only ancient OpenWrt and outdated Armbian images exist for it. Nobody maintains this platform anymore. The hardware is fine though: dual-core Allwinner A20, 1GB RAM, SATA, and a BCM53125 5-port Gigabit switch on the board. Not bad for a dedicated

Fixing Issues after upgrading Proxmox 7 to 8

My initial plan was to update all of my Proxmox nodes to the latest version by the end of this year. While most updates proceeded smoothly, I encountered two errors on one particular node. Given that updating servers is a critical operation, especially when they are only remotely accessible via the network, I decided to

selective focus photography cement

Fixing Error “failed, reason: getaddrinfo EAI_AGAIN” in Gitlab Builds

Some days ago, I detected some new errors in one of our builds pipelines. The interesting part is, that there were no changes done, that might have caused this error.One example for this error was an DNS resolution error using npm: After some digging, I found out, that the only update might have come with

planner and pens on table with laptop

Create CSV Reports from GIT Repositories containing your commits

Some months ago, I got the need to run over several GIT Repositories and collect the work I did on each day. The play was to gather all the data and collect them in different CSV files.Since I wasn’t able to find a ready script for this task, I guess it is a good candidate

white red and yellow citrus fruits

Teaching Mailcow how to deal with Ham/Spam

The good must be put in the dish, the bad you may eat if you wish. Cinderella Mailcow is a groupware solutions, that is mainly used for email messaging. With Mailcow, you can setup your own Docker-based Mail-Server + Addons. Mailcow uses rspamd to filter out Spam Messages.However, after some time, there is a need to fine-tune the Spam

bird sitting on wooden telegraph pole

Using the MacOS airport utility

Using the MacOS airport utility. Sometimes you need to gather information abouth your current WiFi Connection of you Mac via CLI only (maybe you just have a remote SSH Connection to do so). With the airport tool, there is a handy utility to perform most of the tasks, that you would normally do via the UI. You

Securely Connected Remote Work

Connecting Distributed Nodes with a Nebula VPN Remote work has become the norm in the current situation. In a digital working environment, this should actually offer optimal possibilities. But one thing can become a problem: essential systems required for the daily workflow often cannot be used in a remote-work context. Not every company has set

1 2 3 … 9