Recent Posts

Muru: import once, fork many

How Muru imports a Python web application once and forks workers from it, checks the import is safe to fork, and how processes, threads and free-threading fit in.

python muru

Muru: how it fits together

The processes that make up Muru, the path a request takes through them, and why splitting things up this way is what makes releases and zero-downtime deploys possible.

python muru

Muru: looking inside the workers

Catching a slow request with a soft timeout, seeing where it is with debug stacks, profiling under load and attaching a debugger, all against a Muru development run.

python muru

A first look at Muru

Muru running for the first time, in development mode. Serving a WSGI application, what the terminal tells you, what happens when it fails, and why a reload is a release.

python muru wsgi

Twenty years of mod_wsgi, and what comes next

Twenty years on from starting mod_wsgi, I am revisiting Python web hosting without the constraints of Apache. This is where Muru comes from and where it is going.

python mod_wsgi muru ai

AI slop is the new TLDR

Calling AI generated code slop often says less about the code than about our willingness to read it. Why it feels like onboarding every day, and how I cope.

ai educates

Stay Updated

Follow my journey and get notified about new posts and projects.

You can also follow this site via RSS feed.

If you're a Python developer, you might also want to check out the RSS feed available from planetpython.org for posts from various Python developers, including myself.

Sponsor Me

Support my open source work and help me continue creating tools that benefit the developer community.

Sponsor on GitHub