Release announcement for pyastgrep, a tool for grepping Python code at the syntax level.
Why the argument from unwanted children doesn’t convince those who are pro-life
How returning error objects can provide some advantages over raising exceptions in Python, such as for static type checking tools.
The flows I use for exploratory programming using a REPL and their advantages.
A look at the claim that Bitcoin and blockchain represent a technological revolution, fairly in depth but trying to avoid any techno-babble.
A response to the crypto-positive challies.com article from a Christian perspective
Some of the downsides of technology stacks that are massively scalable and general purpose
What does it mean to participate in the sufferings of Christ? And what difference does it make to us to understand this?
The “asking” vs “guessing” cultural spectrum is one of many things that divides British and American culture (broadly speaking, though it varies across the USA/UK). I was explaining this to an American friend from one of the southern states recently. It goes like this…
When using Django database models and adding a calculated property of some kind, you should probably ensure it will be efficient in bulk even if that isn’t needed yet.
A post to help illustrate and popularise the concept of 2-D time, a technique which is essential for some situations.
A list of some exceptions to the principle of “You Ain't Gonna Need It” – that is, times when doing a bit more up front usually pays off.
In which I rant about Bible licensing.
Analysis and examples of the popular high-level pattern of making all the things in your system conform to a common interface.
Tips for winning the automated testing battle.
Announcement of my guide to writing Django Views.
Keyword-only arguments are a feature that has been around since Python 3.0 but I've not seen them used much. This post explores the how and why.
Why I can't use Elm, and can't recommend it to others.