Hi, I'm Matthias

I am a founding partner of Feinheit AG and Die Bruchpiloten AG. Find me on GitHub, Mastodon, LinkedIn or by email.


Weeknotes (2023 week 13 and 14)

My son will be a teenager soon

My eldest is now 12 years old and will be a teenager soon. We had a good time and two nice Birthday parties, one with his friends and one with family and our friends. Good times.

django-debug-toolbar 4.0

Django 4.2 was released, Hatch gained support for the Django 4.2 Trove classifier and we released django-debug-toolbar 4.0, with support for Django 4.2, psycopg 3 and all the existing goodies.


feincms3-cookiecontrol has gained support for consciously embedding stuff via oEmbed. It can now use Noembed (via feincms3’s external plugin) and only actually embed the third party content if users consented explicitly.

I have since learned through the Datenschutz-Plaudereien podcast that laws regarding consent are not that strict in Switzerland compared to the European Union, also not when the DSG is put into effect in September. What’s right and what’s legal are two different things and while I don’t really like the ubiquitous cookie banners (especially not when they aren’t actually doing anything) I like the idea of explicit consent and of not sending data unnecessarily to third party providers. The additional click isn’t that bad.

Diving into hatch for Python packaging

I listened to the TalkPython podcast episode with Ofek Lev on his Hatch packaging tool. After a long period of uncertainty and waiting I bit the bullet and started to migrate a few of my Python packages from setuptools and setup.py to hatch and pyproject.toml, until now feincms3-cookiecontrol and feincms3. It was surprisingly painless.


I started learning Rust during the last Advent of Code; it’s a nice language. ruff is a linter and (more and more) formatter for Python code written in Rust. After years of working with Python and Python-based tools it’s surprisingly fast, almost worryingly so. It’s true what they say: ruff finishes so fast that I’m always left wondering if it even did anything at all.

I’m configuring ruff through pyproject.toml, so switching from setuptools to hatch (see above) also helped in this regard. The main trouble I had was that I’m running Python 3.11 locally but Python 3.10 in the server environment (no dev-prod parity…), and rebuilding requirements.txt locally of course didn’t add TOML support because it’s built into Python 3.11, but Python 3.10 needs an external package. So of course I broke the build. That’s not all bad though: If stuff broke it definitely helps with remembering the reasons later.


Co-writing still works really well for me. Expressed differently: I seem to be unable to write without the (slight) pressure of writing together.