Recent Posts (Page 2)

“Boost Your Django DX” Released

The book mascot: Esther the Enhanced Equine.

My new book, Boost Your Django DX is out now. I’m so glad it has shipped and I can relax, a bit 😅


My Third Appearance on Django Chat

Ring ring, hello

I’ve again had the pleasure of joining Carlton and Will on the Django Chat podcast, in Episode #105. They moved fast with this one - we spoke yesterday, and the podcast is live today!


How to Make an Immutable Dict in Python


Python’s built-in collection types come in mutable and immutable flavours, but one is conspicuously missing:


Today’s Django Security Release Deconstructed (4.0.1, 3.2.11, and 2.2.26)

Gong! It’s like a Django security sprint!

Happy new year, and happy new upgrade! Django has issued a new security release today. This is the first set of security fixes that I’ve been involved in, so I thought I’d take the opportunity to explain the issues in a bit more depth.


Python Type Hints - How to Handle Optional Imports

Import, or import not, there is no try.

This post is not about importing typing.Optional, but instead imports that are themselves optional. Libraries often have optional dependencies, and the code should work whether or not the import is there. A common pattern to solve this to catch ImportError and replace the module with None:


Set up a Gunicorn Configuration File, and Test It


If you use Gunicorn, it’s likely you have a configuration file. This is a Python module that contains settings as module-level variables. Here’s an example with some essential settings:


Introducing django-browser-reload: Automatically Reload Your Browser in Development

Round and round we reload.

Hitting “refresh” to see your changes is an instinct many web developers develop. But it’s a small waste of time that adds up to many hours per year spent waiting. It’s a sub-optimal development experience (DX).


Preorder My New Book: Boost Your Django DX

Your author, hard at work.

Developer Experience (DX) is a catch-all term for anything that can improve your development workflow. Such improvements can help you write better code, faster, with fewer bugs.


Django-related Deals for Black Friday and Cyber Monday

Trumpets go doot-doot-de-doot!

Here are some Django-related deals for this year’s Black Friday (26th Nov) and Cyber Monday (29th Nov), including my own. I may learn of more by that date, so check back later!


The Well-Maintained Test: 12 Questions for New Dependencies

A well-maintained bicycle.

Joel Spolsky’s infamous Joel Test is a quick heuristic test for checking a software engineering team’s technical chops. I’ve come up with a similar test that we can use to decide whether a new package we’re considering depending on is well-maintained.