Pruning untagged images in Harbor Container Registry
How to configure the deletion of untagged images in Harbor.
Setting the Git default branch name
Setting up the Git default branch name, with or without command line interface.
Debian's Boot partition running full
My Debian update was unsuccessful, I learned why.
Installing the correct linux-headers package with Ansible
On a Debian system, it sometimes makes sense to have the linux-headers-${version} package installed, where ${version} is the kernel version. On command line, the proposal is to run: 1 apt install linux-headers-$(uname -r) which is hard to do when installing things with Ansible. Now there’s two ways around this issue: Explicit As it turns out, Ansible stores the kernel version in the ansible_kernel version. With that, I can do the following: ...
Directory Restoring from Proxmox Backup Server
I lost data and wanted to restore parts of a backup. A post-mortem.
Pylint in Neovim - Find imports correctly
The problem I want to use Pylint in Neovim, and I want to use a standard installation that is directly managed by Neovim. Hence I have installed Mason and used Mason to install Pylint. Now this is a problem when working with virtual environments: Pylint searches the packages in their own virtual environment (which is now managed by Mason and hidden somewhere in nvim’s storage) and does not understand my local imports. ...
Managing (aka. cleaning up) a nested dictionary in Python
We are storing configurations. Let’s assume we are working on a store and we want to save prices for different products. But there are a set of configurations we have to consider1: We are working over multiple countries. Every country has got some locations. Every location has a set of articles. For an article, I might have multiple sizes. Finally, for every size I have got prices. Now let’s say that we want to store all of that in a Python dictionary. Luckily, the set of options is not too large, so that we can easily store it in a nested dictionary, which looks something like that: ...
Removing a node from a Proxmox Cluster
Deleting nodes from my cluster is surprisingly simple.
Removing a password from a PDF - Python version
I transferred a job that now does not run in Node-Red any more, but in Python.
Setting up pyenv for Virtual environment management
I learned about PyEnv and want to write down the most important learnings.
TLS certificates in AVM Fritz products
I checked the TLS certificates used by my AVM Fritz products, and am surprised.
Commercial rounding in Python
As it turns out, Python does not do commercial rounding. What is commercial rounding? For most digits, the direction of rounding is clear. There are some special cases though: Do I round $0.5$ to $0$ or to $1$? In commercial rounding, this “$0.5$” problem is solved by “rounding away from zero”, meaning: For positive numbers, round up; for negative numbers, round down. This makes perfect sense for a mathematician, but others might need examples, so here are some1: ...
Footer Menu
I finally managed to setup a Footer Menu. This was not too complex, for some things one just has to find the time… But I did learn one CSS thing, namely justify-content: center. The remaining work was not too exciting.
A simple Kafka Development Setup in Docker
How I am using Apache Kafka in Docker for simple development.
Fixing a break in PaperMod
During the latest changes on my Blog, I also updated the version of PaperMod. I now discovered a bug that PaperMod introduced, and I wanted to fix it. The problem was: In the Post metadata line, I typically have a part telling “Translations: De”, as I write most post in both german and english. Now with this commit, this part was broken and the “De” part was moved to the next line. ...