My favourite posts

Mar 2019 Creating a GitHub Action to auto-merge pull requests
Mar 2019 A day out to the Forth Bridge
Feb 2019 Working with really large objects in S3
Feb 2019 More advice on running inclusive and welcoming events
Jan 2019 Monki Gras 2019: The Curb Cut Effect
Nov 2018 My visit to the Aberdulais Falls
Sep 2018 Assume worst intent (designing against the abusive ex)
Aug 2018 Implementing parallel scan in DynamoDB with Scanamo
Aug 2018 Ideas for inclusive conferences and events
Jul 2018 A robot leaked my SSH keys
May 2018 Drawing ASCII bar charts
May 2018 Beware of logged errors from subprocess
Jan 2018 Getting every message in an SQS queue
Nov 2017 Downloading logs from Amazon CloudWatch
Nov 2017 A plumber’s guide to Git
Oct 2017 Four ways to underline text in LaTeX
Jun 2017 A visit to the Crossness pumping station
Mar 2017 A few examples of extensions in Python-Markdown
Oct 2016 The A stands for Asexual
Oct 2016 Creating low contrast wallpapers with Pillow
Oct 2016 Tiling the plane with Pillow
Jun 2016 Introduction to property-based testing
Apr 2016 Treat regular expressions as code, not magic