TLDR: because I want them to become seniors one day, and I want them to enjoy being developers| Luke Plant's home page
The flows I use for exploratory programming using a REPL and their advantages.| Luke Plant's home page
A Pythonic way to ensure that your statically-defined dicts are complete, with full source code.| Luke Plant's home page
Some history on term “technical debt” and on better language to use when communicating about it.| Luke Plant's home page
I got ChatGPT to rewrite “Christ the True and Better Adam” with Lord of the Rings characters, I think it did pretty good.| Luke Plant's home page
The reasons why I don’t give permission for material I’ve written to be used as training data for an LLM chatbot designed to do Christian apologetics| Luke Plant's home page
The workflow of recursively searching for things or dealing with a list of issues to fix without getting lost.| Luke Plant's home page
In my current project I’m doing a fair amount of geometry, and one small problem I needed to solve a while back was finding whether a point is inside a cylinder. The accepted answer for this on math.s| Luke Plant's home page
There are times when we need to stop trying to make everything sync automatically, and just test that it is synced. Tips for Python and web dev.| Luke Plant's home page
Just like the only numbers programmers care about are zero, one, infinity, the only frequencies we care about are Never, Sometimes and Always.| Luke Plant's home page
Methodology and sample code for using pyastgrep to do custom linting tasks on Python source code.| Luke Plant's home page
Some code and tips to combine Python and Django introspection APIs to enforce naming conventions in your Django models.| Luke Plant's home page
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.| Luke Plant's home page