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 (2024 week 03)

Djangonaut Space

I wish all participants a good time and much success. I do not have anything to do with it really but I enjoy the idea a lot and maybe there will be a pull request or two to review.


After years and years of hosting all sites on VPS I have finally reached the point where the old setup is more annoying to work with than switching to a new one. I have searched long for a solution which wasn’t as limited as some PaaS and as complex as going full Kubernetes, and where I can still delegate the responsibility of actually keeping things up and running to other people. In the end I have now accepted that such a thing doesn’t exist; either you have the limitations of a ready made solution, the limitation of having to open many many support tickets or the problem of having to learn Kubernetes (or something similar) with its extremely steep learning curve.

After spending days with it I’m slowly getting to the point where setting up local development environments and deploying changes is fun again. I’m using the GitOps paradigm; while I’m still building and uploading Docker (podman) images from the local development environment everything else is automated and goes through a Git based process. That’s much nicer than clicking around in some interface or copy pasting obscure commands into the console.

The biggest problem I encountered was (perhaps unsurprisingly) managing secrets as a team. It seems to me that while sealed secrets work great as an individual developer they don’t really offer straightforward solutions to avoid different people overwriting and resetting each others secrets when updating them. I’m a happy user of the external secrets operator and using some cloud service to actually store those secrets.

I have started using granian in production. I like the idea of a Rust-based ASGI/WSGI server. Nothing mission critical yet. My idea is to build confidence in the software stack.

Compulsory social measures

The more I learn about how Switzerland treats its citizens the more I wonder about the ways in which humans can mistreat other humans in a so called civilized and peaceful society.

It’s not exactly a new topic for me, but working on platforms which help remember and which help introducing people to the history certainly causes a heightened awareness for issues such as these.

More on this.


  • feincms3-sites 0.20.2: It previously wasn’t possible to filter the list of sites to only show those sites which do not have a default language. This has been fixed.
  • django-json-schema-editor 0.0.10: It’s now actually possible to use the JSON editor outside inlines! That was a fun bug… not. Apart from the mentioned bug this new release mostly contains fixes to the styles. We’re slowly getting there.
  • django-mptt 0.16: I didn’t do anything except for the changelog and the release. That’s alright. The release contains a few minor fixes.