This is my favorite cover of the various translations of my old book.

I'd love to have a cache backend that works on PythonAnywhere that will let me list the keys (a la Redis). Redis is not available there currently, and redislite doesn't appear to be a viable option for settings.CACHES. Anybody got any solutions they like that fit my constraints?

Geo protip: `GeoIP2(cache=8)` (aka MODE_MEMORY) speeds things up significantly.

Looking up 3,000 IPs went from 6+ seconds wall time to 2 seconds or less.

This extension for gives me something simple I've wanted for a long time -- "go to" navigation for entries in I don't think it's special-casing that file, just letting you navigate to top-level variable assignments.

You never know how long your open source contributions might stick around... I was surprised (and chuffed) when somebody on Quora asked a question about a command that I created around 2007:

Little convenience I've been meaning to do for a while -- make a URL to preview my server-error page: `re_path(r"^503-preview$", TemplateView.as_view(template_name="503.html"), name="503")`

protip: ` shell`, being a Python shell, can take a `-c` argument. You can use this to make aliases for operations that need to run in your Django environment but aren't worth creating a management command. (And remember, you can separate statements with semicolons instead of newlines!)

I spend my days in and am not very up to date on , but I happened to read the release notes for the latest (6.1). I gotta say, for a dot-release it looks very impressive. Rails ain't dead!

- just migrated myself over from, because this seemed like a more fitting spot. I'm a software engineer focused primarily on and .


Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.