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. ...

November 7, 2025 · 1 min · 121 words · Chris Pratl

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: ...

November 1, 2025 · 5 min · 955 words · Chris Pratl

Removing a node from a Proxmox Cluster

Deleting nodes from my cluster is surprisingly simple.

October 26, 2025 · 1 min · 124 words · Chris Pratl

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.

October 20, 2025 · 3 min · 444 words · Chris Pratl

Setting up pyenv for Virtual environment management

I learned about PyEnv and want to write down the most important learnings.

October 12, 2025 · 3 min · 490 words · Chris Pratl

TLS certificates in AVM Fritz products

I checked the TLS certificates used by my AVM Fritz products, and am surprised.

October 6, 2025 · 2 min · 278 words · Chris Pratl

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: ...

September 30, 2025 · 2 min · 356 words · Chris Pratl

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.

September 24, 2025 · 1 min · 40 words · Chris Pratl

A simple Kafka Development Setup in Docker

How I am using Apache Kafka in Docker for simple development.

September 23, 2025 · 4 min · 819 words · Chris Pratl

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. ...

September 17, 2025 · 1 min · 119 words · Chris Pratl

Series of posts in my blog

I now can do post series!

September 15, 2025 · 2 min · 332 words · Chris Pratl

Removing Personal Identifiable Information from nginx's logfiles

How I removed personal identifiable information from my nginx log files.

September 12, 2025 · 2 min · 276 words · Chris Pratl

Counter-intuitive negative timedeltas in Python

I learned about negative timedeltas in Python’s datetime library and find it a bit counterintuitive.

August 31, 2025 · 2 min · 305 words · Chris Pratl

Using acme.sh to manage TLS certificates centrally

How I am using acme.sh from one server to setup different TLS certificates all over my managed network.

August 19, 2025 · 3 min · 452 words · Chris Pratl

Add KaTeX support to Hugo

How I have setup KaTeX on my Blog.

August 5, 2025 · 2 min · 296 words · Chris Pratl