2024 in review

It’s the last day of the year, just in time to write my now-customary year in review article. Does anyone actually read these, or am I just writing them for myself? It doesn’t really matter either way, as I mainly do write them for myself. I do enjoy looking back at previous years and see what has changed and what has stayed the same.

Why I still choose Django over Flask or FastAPI

I started using Django in 2009, and fifteen years later I am still a happy user. When I compare this to the number of JavaScript frameworks I’ve gone through during the same fifteen years, it’s clear that Django is rather special.

Svelte 5 sites don’t work as expected in Safari 12 and 13

Quite recently I upgraded a Svelte 4 project to Svelte 5, and soon afterwards I found some problems inside of Safari 12 and 13 that needed a tricky workaround.

How to migrate your Poetry project to uv

So, like me you’ve decided to switch from Poetry to uv, and now you’re wondering how to actually migrate your pyproject.toml file? You’ve come to the right place!

Putting Svelte stores inside context for fun and profit

Solving problems by putting writable reactive stores in Svelte’s context.

Revisiting uv

Almost two months ago I compared Poetry with uv, and for me uv had some pretty significant drawbacks that kept me from switching over. The situation has changed quite a bit since then!

How to change MEDIA_URL for one FileField

I wanted to use a different MEDIA_URL for one of our FileField instances. It was very easy to do!

Django REST Framework versus Django Ninja

Let’s compare Django REST Framework with new kid on the block, Ninja.

Automatically deploy your site when you push the main branch

The best feature of Heroku is the ability to just push a branch, and it gets deployed. How do we replicate a workflow like that on our own server?

Trying out PDM (and comparing it with Poetry and uv)

After comparing uv to Poetry, I am trying out PDM. On paper it combines all the best things of Poetry and uv, without their downsides. How does it hold up?

How I configure my Django projects

There are many ways to configure Django, like multiple settings files or .env files. Here’s how I do it.

Validate PayPal webhooks using Python

Paypal’s documentation only shows a JavaScript example. How do you validate the webhooks in Python though?

Articles now with comments

I’ve added a comment section to the articles, powered by GitHub Discussions.

Poetry versus uv

Comparing two Python package managers: Poetry and new kid on the block uv.

Changing the way Django 5.1 generates admin list labels

Django 5.1 adds related field lookup to the model admin’s list_display, but with an annoying quirk. Let’s fix that!

Extend Django’s autocomplete widget actions

Extending Django’s autocomplete widget with a new action which copies the linked user’s email address to the clipboard.

SvelteKit architecture tip: return a writable store from your load function

How do you update content in real time when that content was fetched from the layout’s load function?

Hardening a web server against script kiddies

Webservers get hit by hundreds of thousands of requests to random (non-existing) PHP files. What can we do about this?

Quick review: 12.9” iPad Pro (2018)

I bought the 12.9” iPad Pro with the Apple Pencil back in 2018 and spoiler alert: I still use the iPad almost every day.

My one week with a Tesla

In December of 2023 my girlfriend and I went on an eight day vacation to Iceland, where we wanted to rent a car and travel the south coast. This seemed like the perfect chance to try out living with an electric car, since the charging infrastructure in Iceland is very good, and their electricity very cheap. So we rented a Tesla model 3 and let’s just say I have some opinions.