Blog

Writing about Django, web application development and infrastructure. There is an RSS feed to stay updated.

014
2026‑06‑25 django

Dual-purpose URLconf

When introducing some generic behaviour into my application, I like to separate that behaviour in some way from the remaining application code to prevent application specifics from leaking into the …

Read more
013
2026‑06‑04 llm

On Clankers that test

Today is a public holiday. I was working on a feature for a somewhat urgent work project anyway. The system manages leads, which are referenced from all over the codebase. So we maintain a …

Read more
012
2026‑05‑10 djangoneapolitan

Should Neapolitan support URL Namespaces?

Yes, but the first designs reached for in #16 would introduce Neapolitan-machinery that duplicates Django primitives. Ouch. There’s a smaller change that avoids it… Many people shy away …

Read more
011
2025‑12‑30 infrastructure

Hetzner Request Limits

Maybe don’t run watch -n 0.5 hcloud server list to interactively monitor the status of your Hetzner servers… I still recommend that technique for commands where you are not rate limited. …

Read more
010
2025‑11‑27 infrastructure

We don't share infrastructure code

At my software development company Kition Software, we don’t share infrastructure code with our clients. For a long time I thought of it as our secret sauce, which has to be protected. But I …

Read more
009
2025‑11‑26 infrastructure

You are able to know host keys before connecting?

How often in your tech career have you just said yes when being confronted with the following prompt? console$ ssh 115.166.58.26 The authenticity of host '115.166.58.26 …

Read more
008
2025‑10‑16 django

Conditional Redaction in Django Templates

Today I needed to redact names of users and some other sensitive strings from a significant part of a Django application. After starting to litter template code with {% if allow_unredacted %}...{% …

Read more
007
2025‑10‑08 django

Tricking Django's title Filter

Django’s title filter is often used to prettify strings in templates, for example, when rendering model verbose names in an admin or API interface. When handling abbreviations it can be a bit …

Read more
006
2025‑10‑01 django

Testing Django Migrations with PostgreSQL and Foreign Keys

The incredibly helpful blogpost Writing Unit Tests for Django Migrations delivers what the title promises. Making testing of migrations.RunPython feasible and easy … as long as you don’t …

Read more
005
2025‑09‑25 django

Clean Django Storage Backend Configuration

TIL: You are able to pass arbitrary configuration values via the OPTIONS key to Django storage backends. They are passed as keyword arguments to the __init__ method of the storage backend. That fact …

Read more
004
2021‑10‑27 vuejs

Dynamic Vue.js configuration

You are building a web application and want to easily swap an API endpoint URL, set API tokens or just don’t want to trigger a build pipeline for changing that one string - you need dynamic …

Read more
003
2021‑10‑13 ethereum

Sensible Solidity testing via Go Ethereum

You have built a smart contract, tested it via unit tests, explored it via Metamask and a block explorer and now want to deploy to the Mainnet. Didn’t you forget something? Until now you most …

Read more
002
2021‑09‑29 ethereum

We wont use Ethermine Polygon Payouts

At D12S Ventures we run a small 612 MH/s Ethererum mining operation. With the rollout of EIP-1559 on 4th August 2021 Ethermine changed the payout policies for miners, where the miner has to pay the …

Read more
001
2021‑09‑22

Foundation – Building in Public

building I am building software since 2006. 10 years of that professionally. For me, creating software means solving problems and creating opportunities for real people. This is what keeps me going. …

Read more