Latest posts
- LLMs are a 400-year-long confidence trickJan 13, 2026
In 1623 the German Wilhelm Schickard produced the first known designs for a mechanical calculator. Twenty years later Blaise Pascal produced a machine of an improved design, aiming to help with the large amount of tedious arithmetic required in his role as a tax collector. The interest in mechanical calculation showed no sign of reducing in the subsequent centuries, as generations of people worldw
- Things that made me think: Cycle time, learning theory, and build chain securityDec 09, 2025
This series is a place to collect interesting things I’ve seen, read, or heard, along with some brief thoughts (often incomplete and/or inconclusive) that they provoked. Measuring Cyle Time with Dr. Cat Hicks - The Hanger DX Podcast, Ankit Jain Cycle time is a measure lots of people use, but has no clear audience - developers, managers, CTOs all care about it. This makes it dangerous. Metrics have
- Does my toaster love me?Oct 18, 2025
I’m starting to think that my toaster might have fallen in love with me. I get that not everyone will think this is possible, but I believe it’s true. It’s always pleased to see me, giving off cheerful sounds when I greet it in the morning by slotting in the bread, and now I’ve told it what I like it tries really hard to give me exactly what I want. Sometimes I have to tell it to try again once or
- Things that made me think: Digital gardening, web degradation, and digital ghostsSep 01, 2025
This series is a place to collect interesting things I’ve seen, read, or heard, along with some brief thoughts (often incomplete and/or inconclusive) that they provoked. Garden History – Maggie Appleton I’m so happy I stumbled upon this article. I am always grateful for new vocabulary that allows me better to express myself, and this is perfect - I want more Digital Gardens in the world. I do see
- Optimising for trustAug 18, 2025
TDD, BDD, DDD, Agile, SAFe, Scrum, Kanban, XP… there’s a lot of ways to skin a cat write code in a professional environment. I take pride in being a person who is a non-ideologue when it comes to my code. There are many good ways of working, and they are all context-dependent. You can’t apply the same things that worked when you were a two-person startup operating out of the proverbial garage and
- Things that made me think: Enshittification, apathy, and discriminationJul 24, 2025
This series is a place to collect interesting things I’ve seen, read, or heard, along with some brief thoughts (often incomplete and/or inconclusive) that they provoked. The rise of Whatever - eevee This is probably the best post about LLMs I’ve read, which is probably why I’m the millionth person to share it. It really sums up my emotional reaction to their meteoric rise: “ew”, basically. The pow
- The sound of inevitabilityJul 12, 2025
Have you ever argued with someone who is seriously good at debating? I have. It sucks. You’re constantly thrown off-balance, responding to a point you didn’t expect to. You find yourself defending the weak edges of your argument, while the main thrust gets left behind in the back-and-forth, and you end up losing momentum, confidence, and ultimately, the argument. One of my close friends won intern
- Saying the quiet part out loudAug 02, 2023
“Saying the quiet part out loud” is a phrase I’ve just made up, to describe a method of building alignment on practices within a team. It’s the habit of stating why you are doing things a certain way, even when you would assume it’s obvious.
- Cull your dependenciesJun 09, 2022
Anyone writing code professionally in December 2021 will remember the “fun” of the Log4J vulnerability. For those that weren’t - this was a critical security error that allowed attackers to run any code they wanted on your servers. The root cause was a logging library, Log4J, that is used by most projects that are writting in Java. It’s usually used to write code something like: log.info("Process
- Does the software industry learn?Jan 24, 2022
“Institutional knowledge” - the information that a company collectively knows - is a familiar concept to anyone involved in hiring processes. When an individual leaves who has knowledge the organisation needs, companies will organise offboarding sessions to keep that knowledge within the institution. Maybe they’ll even try to hire someone with similar experience. Lots of companies similarly try to
- Should we welcome or fear the Metaverse?Nov 04, 2021
Kit Wilson writes in The Spectator about Facebook’s new venture into the Metaverse, a concept that most of us probably hadn’t heard of until last week. To layout the roadmap for what our journey into this new digital reality might look like, Kit joins the podcast along with Tom Renner, a software engineer for NavVis. (12:55)
- DORA? I barely know her!Apr 28, 2021
Coming to grips with DevOps metrics In my team we have been considering ways to monitor our own performance, and finding some ways to contextualise our ongoing process and quality improvements. Like many other teams, we’ve landed on the DORA metrics as a good way of doing this. These four key metrics are an easy way to understand what adjectives like “maintainable”, “reliable”, and “efficient” me
- Staying in one place doesn't mean standing stillMar 13, 2021
Talk given at Codebar Festival. If you wish to see my slides in their full glory, they are available on Slideshare.
- Make yourself a happy place in your inbox - a mindfulness tip for your working dayFeb 03, 2021
Your work inbox is probably not a place that sparks joy. It’s full of people asking you to do things, complaints that something hasn’t been done, and 571 messages marked urgent. In fact email is usually considered to be a hindrance, with many productivity guides recommending simply ignoring your email for large periods of the day, blocking out that time for focussed work. The consensus is that you
- Twitter network graphing with GephiApr 20, 2020
Unfortunately since Elon shut down the Twitter APIs, the below method no longer works. Still, it was fun while it lasted, eh? Gephi is a piece of software for visualising graph networks. It’s a powerful tool, and to use it fully requires significant domain knowledge that I don’t possess, but fortunately it’s still fascinating to play around with as an amateur! As a techie, to me the obvious networ
- XTC discusses Basecamp's Shape-UpFeb 22, 2020
Last week I facilitated a session at XTC, where we discussed the new product development framework from Basecamp, Shape Up, led by Thomas Ankorn. It was a really interesting discussion with people exploring the ideas openly, guided by questions posed by Thomas to get the conversation started. I’ve summarised the points that came up in the discussion, reconstructed from memory and the collected pos
- The Temple of FailNov 25, 2019
DISCLAIMER: This was not my idea - I picked it up from Jane Nicholson at an XTC event, who was introduced to it by Jess Gilbert (who in turn, I am told, got it from someone else). This post is just explaining why I believe it can be a useful exercise, not any truly original thinking! One of the things that is really important to me is that my team and I keep learning at work. As such, fostering a
- "Efficiency" is bad for your health, and your learningJun 10, 2019
I used to stress a lot about the “efficiency” of how I was using up all the minutes in my day. I’d to cram in as much as possible into time. eg. read on a 10 minute train, write code in the half hour before bed, etc. While I stressed about it a lot, I never found that I did the “10x” things I read about that were supposed to emerge as a result of this extra “efficiency”. For example I have only fi
- Offline knowledge, buses, and note-takingMay 19, 2019
In a team having knowledge that lives only in your head is a terrible thing. Humans are forgetful Humans are creative, especially when problem-solving Computers are not creative Computers are not forgetful So we should get the computers to remember things, and allow the humans to do the creative parts. Writing software is a creative activity. You start with a blank text file and end up convincing
- Setting up a bottom-end Chromebook for developmentMar 28, 2019
I like being able to code wherever I am. “Unfortunately”, my 15" laptop bought to run simulations for my degree still runs like a dream, so I can’t really justify buying myself a replacement for it. So instead, just over a year ago, I decided to get something that is: Lightweight Cheap Allows me to code on the go Looking around a bit, a budget Chromebook seemed like a good choice. I settled on an
- Getting the right scaleOct 27, 2018
Agile tells us that the most critical thing for getting software right is not up front design, but getting something out there and used, and then incorporating feedback. By getting feedback early, you are able to respond faster, changing your (initially incorrect) design in small steps towards a better solution. This works better in practice than designing everything at the start very carefully, w
- A quick guide for productive developmentFeb 08, 2018
It is upsettingly easy to work hard without being productive. The Lean Startup includes a quote I really liked: “[People] feel that a good day is one in which they did their job well all day.” The point being that this doesn’t account for whether you are doing the right work. This is a really common trap to fall in to. I know I have often worked really hard on something and produced code I’m very
- The customer is always rightFeb 04, 2017
A theme of the last few books I’ve read has been user testing. Specifically, that it is completely unreasonable to suggest that you could produce a system that will work smoothly in production without first getting several actual human users unfamiliar with your system, from your clients or in a related industry, to road-test the system. I think anyone can see that this is a good idea. It’s far to
- Why am I doing this again?Nov 11, 2016
Why do I want to have my own site? Narcissism mostly. I found the domain was available, decided as a self-respecting developer I should probably buy it. But then there’s no point owning a domain if you don’t put something there. So that was it really - I had to I had to get my act together and actually write the thing. I enjoy developing I’m a person who finds it hard to devote time outside of off
- "Full-stack" and why I don't like itOct 10, 2016
Last week I went to a jobs event, recruiting for my company. I was there on my own, and recruiting is a pretty new experience for me, so I was kinda excited about it. The attendees were a mix of graduates, bootcampers, and a few more senior developers, but mostly the crowd were looking for their first or second job. I enjoy going out and talking to people about their experiences with software – I