- Monday 1 January 0001: Better Science Through Better Data #scidata17
- Monday 22 February 2016: #IDCC16 Day 0: business models for research data management
- Tuesday 23 February 2016: #IDCC16 Day 1: Open Data
- Wednesday 16 March 2016: #IDCC16 day 2: new ideas
- Thursday 31 March 2016: Data is like water, and language is like clothing
- Friday 1 April 2016: Wiring my web
- Saturday 7 May 2016: Fairphone 2: initial thoughts on the original ethical smartphone
- Friday 12 August 2016: Changing static site generators: Nanoc → Hugo
- Tuesday 16 August 2016: What happened to the original Software Carpentry?
- Friday 19 August 2016: Software Carpentry: SC Build; or making a better make
- Monday 22 August 2016: Semantic linefeeds: one clause per line
- 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 13 October 2016: Rewarding good practice in research
- 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
- Thursday 6 April 2017: IDCC 2017 reflection
- Friday 5 May 2017: Not just certifiable…
- Thursday 15 June 2017: Mozilla Global Sprint 2017
- Wednesday 19 July 2017: Lean Libraries: applying agile practices to library services
- Sunday 29 October 2017: Blog platform switch
- Saturday 4 November 2017: Becoming a librarian
- Sunday 5 November 2017: Learning to live with anxiety
- Saturday 18 November 2017: Draft content policy
- Monday 20 November 2017: Research Data Management Forum 18, Manchester
- 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 11 January 2018: Why try Rust for scientific computing?
- Friday 19 January 2018: Build documents from code and data with Saga
- Sunday 4 February 2018: New Years's irresolution
- Tuesday 6 February 2018: How to extend Python with Rust: part 1
- Sunday 3 February 2019: Less, but better
- Thursday 21 February 2019: Custom-built keyboard
- Tuesday 5 March 2019: Ultimate Hacking Keyboard: first thoughts
- Saturday 9 March 2019: What do you think I should write about?
- Thursday 14 March 2019: Using Pipfile in Binder
- Saturday 13 April 2019: RDA Plenary 13 reflection
- Sunday 5 May 2019: Working at the British Library: 6 months in
- Saturday 26 October 2019: Music for working
- Sunday 24 November 2019: MozFest19 first reflections
- Monday 25 November 2019: Bridging Carpentries Slack channels to Matrix
- Thursday 16 January 2020: Replacing comments with webmentions
- Wednesday 22 January 2020: SSI Fellowship 2020
- Tuesday 28 January 2020: Iosevka: a nice fixed-width-font
- Tuesday 3 March 2020: IDCC20 reflections
- Tuesday 8 September 2020: When is a persistent identifier not persistent? Or an identifier?
- Friday 8 January 2021: Writing About Not Writing
- Monday 18 January 2021: What I want from a GLAM/Cultural Heritage Data Science Network
- Friday 22 January 2021: Blogging by hand
- Monday 25 January 2021: Training a model to recognise my own handwriting
- Tuesday 26 January 2021: A new font for the blog
- Wednesday 3 February 2021: GLAM Data Science Network fellow travellers
- Saturday 6 February 2021: Remarkable blogging
- Friday 26 February 2021: What do you miss least about pre-lockdown life?
- Friday 12 March 2021: Matrix self-hosting
- Saturday 20 March 2021: Ideas for Accessible Communications
- Saturday 3 April 2021: Time for a new look...
- Monday 5 April 2021: Collaborations Workshop 2021: talks & panel session
- Wednesday 7 April 2021: Collaborations Workshop 2021: collaborative ideas & hackday
- Sunday 11 April 2021: Intro to the fediverse
- Tuesday 29 June 2021: Comments are back
- Wednesday 4 August 2021: mxadm: a small CLI Matrix room admin tool
- Thursday 23 September 2021: Request for input: the missing narrative of libraries in research software engineering
- Monday 10 July 2023: Twitter archive
- Thursday 20 July 2023: Vaguely generic update
- Tuesday 29 August 2023: Training my handwriting model: an update
- Thursday 7 December 2023: Writing about my work
- Monday 5 February 2024: Best practice, or ignoring the care label
- Monday 3 June 2024: On learning to code without mathematics
- Tuesday 18 June 2024: On Donella Meadows and Systems Thinking
- Thursday 8 August 2024: On being told to do more with less