Blog
The MCP Servers I Actually Use
2025-04-22
The future of digital agencies
2025-04-16
Preparing Django documentation for LLMs
2025-02-21
Setting up Matrix Synapse on Fedora
2025-02-18
A Cline prompt for codebase analysis and feature extraction
2024-11-20
My Claude Artifact Prompt
2024-11-12
Fingerprint Authentication on a Lenovo Z13 and Fedora 40
2024-10-27
New in Python 3.13: SQLite support in dbm
2024-10-07
Django Carbon Measurement Notes
2024-10-07
Using ruff for everything in VSCode
2024-10-03
Automatic, persistent autoreload in iPython
2024-10-02
A minimal Django application
2024-09-18
Logging git commits with a git hook
2024-09-09
Conventional Commits Git Hook
2023-05-03
How I Do 1-2-1 Meetings
2023-02-28
Link Roundup #6
2023-02-20
Link Roundup #5
2023-02-12
Link Roundup #4
2023-02-01
Hiring Correctly
2023-01-27
Link Roundup #3
2023-01-20
Link Roundup #2
2023-01-13
Link Roundup #1
2023-01-05
A game a week #3
2021-03-28
A game a week #2
2021-03-19
A game a week #1
2021-03-14
Listing all Django URLs in a project
2021-02-16
Parallel Rsync
2021-01-17
Dokku Cheatsheet
2020-07-12
Github Marketplace Endgame
2020-07-02
Digital Workshop
2020-06-24
Serverless Thoughts #2
2020-06-23
Serverless Thoughts #1
2020-06-22
Creating a new email user with `postfix` on Void
2020-01-28
User services with `runit` on Void Linux
2019-11-23
Thinkpad X230/X220 keyboard swap
2019-11-15
Bringing up KVM on Arch
2019-11-08
TabNine on FreeBSD
2019-11-05
The simplest pulseaudio installation on Arch
2019-08-20
Distributed compilation with distcc on Arch
2019-06-13
Syncing Gmail with mbsync
2019-05-14
Thinkpad x230 fingerprint reader on Arch Linux
2019-05-11
Installing Arch On a Vultr VPS
2019-05-06
Automatically --set-upstream when pushing a new branch
2019-04-08
Remembering Rob Edwards
2019-02-07
QBasic Development
2019-01-27
Setting up wee-slack
2018-12-21
Remote Working Roundtable
2018-12-21
Personal VPN Setup
2018-12-21
Recursively updating S3 bucket permissions
2018-12-21
Listing ElasticBeanstalk applications with the aws CLI tool.
2018-12-21
How To Fire Someone
2018-12-21
Django coverage reports without unit tests
2018-12-21
You can also follow this blog via the Atom feed.