Dan sitting in the garden with his phone, showing he can publish blog posts from anywhere

Using AI to Publish, Not to Create

This weekend I’ve been experimenting with Hermes Agent using the new DeepSeek V4 Flash model. One thing I’ve been quite interested in is how I can make publishing to my blog a lot easier. It always feels quite laborious to have to go to my computer, sit at the desk, and type out a blog post. It takes a long while this way, and I often stress over individual words for quite some time. That means the effort required to actually publish an idea is quite high. ...

2 August, 2026

Red, Green, Remember: A TDD Approach to Agent Evolution

When you’re setting up a new project and want to use a coding agent, it can be tempting to try and craft the ultimate agent file or system prompt. You might try to think through every edge case, including everything you want it to do and everything you don’t, in an attempt to make it work perfectly the first time. ...

12 April, 2026

Generating Synthetic LLM Training Data with datakeg

I’ve been keen to have a play with fine-tuning a local LLM for a little while now, and something I’ve wanted is the ability to easily turn documentation into training data. Ultimately, I’d like to turn documention into an LLM so you can use it as a local expert without needing RAG, but the first step is creating the training data to make that possible, so I created datakeg, a small CLI tool which helps synthasise training data. ...

8 February, 2026

Make the Docs Your Notepad

As you work on projects, you’ll often find yourself making and keeping notes. These could range from whole step-by-step guides to little snippets. You know that eventually, you’ll be back at this point, and you’ll need this little nugget of knowledge again. I like to encourage people to keep their notes in a public place. In the context of an organisation “public” may just mean internally with others in the engineering team (I don’t literally mean go and post it on X!). You can spend a few more minutes tidying up the note to turn it into a mini “doc” (which is even easier now with AI). Notes are just a manifestation of your knowledge, and this slowly and organically helps you offload your knowledge into a searchable and sharable place. ...

24 December, 2025

The Pessimistic Software Engineer

Usually, when we set out to build software, we work from a specification or Product Requirements Document (PRD), which outlines how the software should function from a user’s perspective. This focuses us on the horizon of end-user functionality, and from there, we start working backward, filling in the gaps and building a model of how all of the pieces fit together to deliver this functionality. This might involve database reads, writes, API calls, validation, etc. If all of these steps go well, the user gets what they want, and the application meets its goal. But how many opportunities are there for failure along the way? How many known failures could there be, and perhaps more scarily, how many unknown failures could there be waiting to trip us up? The Pessimistic Software Engineer doesn’t just assume things will probably be okay, but actively assumes things will break, in every way possible, at some point in the future. ...

23 December, 2025