- Friday 1 April 2016: Wiring my web
- Saturday 7 May 2016: Fairphone 2: initial thoughts on the original ethical smartphone
- Tuesday 16 August 2016: What happened to the original Software Carpentry?
- Friday 19 August 2016: Software Carpentry: SC Build; or making a better make
- Friday 26 August 2016: Software Carpentry: SC Config; write once, compile anywhere
- Monday 12 September 2016: Software Carpentry: SC Track; hunt those bugs!
- Thursday 15 September 2016: Tools for collaborative markdown editing
- Thursday 6 October 2016: Software Carpentry: SC Test; does your software do what you meant?
- Thursday 27 October 2016: Implementing Yesterbox in emacs with mu4e
- Monday 27 March 2017: Introducing PyRefine: OpenRefine meets Python
- Wednesday 29 March 2017: Chat rooms vs Twitter: how I communicate now
- Wednesday 29 November 2017: Advent of Code 2017: introduction
- Friday 1 December 2017: Inverse Captcha — Coconut — #adventofcode Day 1
- Saturday 2 December 2017: Corruption Checksum — Python — #adventofcode Day 2
- Tuesday 5 December 2017: Spiral Memory — Go — #adventofcode Day 3
- Tuesday 5 December 2017: High Entropy Passphrases — Python — #adventofcode Day 4
- Wednesday 6 December 2017: A Maze of Twisty Trampolines — C++ — #adventofcode Day 5
- Saturday 9 December 2017: Memory Reallocation — Python — #adventofcode Day 6
- Sunday 10 December 2017: Recursive Circus — Ruby — #adventofcode Day 7
- Sunday 10 December 2017: I Heard You Like Registers — Python — #adventofcode Day 8
- Sunday 10 December 2017: Stream Processing — Haskell — #adventofcode Day 9
- Sunday 10 December 2017: Knot Hash — Haskell — #adventofcode Day 10
- Monday 11 December 2017: Hex Ed — Python — #adventofcode Day 11
- Tuesday 12 December 2017: Digital Plumber — Python — #adventofcode Day 12
- Friday 15 December 2017: Packet Scanners — Haskell — #adventofcode Day 13
- Friday 15 December 2017: Disk Defragmentation — Haskell — #adventofcode Day 14
- Friday 15 December 2017: Dueling Generators — Rust — #adventofcode Day 15
- Saturday 16 December 2017: Permutation Promenade — Julia — #adventofcode Day 16
- Sunday 17 December 2017: Spinlock — Rust/Python — #adventofcode Day 17
- Sunday 24 December 2017: Duet — Haskell — #adventofcode Day 18
- Sunday 24 December 2017: A Series of Tubes — Rust — #adventofcode Day 19
- Sunday 24 December 2017: Particle Swarm — Python — #adventofcode Day 20
- Sunday 24 December 2017: Fractal Art — Python — #adventofcode Day 21
- Sunday 24 December 2017: Sporifica Virus — Rust — #adventofcode Day 22
- Sunday 24 December 2017: Coprocessor Conflagration — Haskell — #adventofcode Day 23
- Sunday 24 December 2017: Electromagnetic Moat — Rust — #adventofcode Day 24
- Tuesday 2 January 2018: The Halting Problem — Python — #adventofcode Day 25
- Tuesday 2 January 2018: Reflections on #aoc2017
- Thursday 14 March 2019: Using Pipfile in Binder
- Monday 25 November 2019: Bridging Carpentries Slack channels to Matrix
- Monday 25 January 2021: Training a model to recognise my own handwriting
- Saturday 6 February 2021: Remarkable blogging
- Friday 12 March 2021: Matrix self-hosting
- Monday 5 April 2021: Collaborations Workshop 2021: talks & panel session
- Wednesday 7 April 2021: Collaborations Workshop 2021: collaborative ideas & hackday
- Tuesday 29 August 2023: Training my handwriting model: an update