It's 2026, and there is a lot of discussion around how good coding agents are. Peruse any hacker news comment section and you'll find one camp saying they are worthless, while the other claims they are producing high quality output at unprecedented pace with an ever growing stable of agents thundering away in parallel. Where these two opinions interact, the latter group routinely accuses the…
Play is accepted as having an important role in the development of problem-solving skills and resilience in children. Play provides children with opportunities to explore simplified, low-stakes versions of real-world situations, helping them build skills that transfer to more complex and consequential challenges later in life. As a report into the importance of play by Dr. David Whitebread at the…
I've decided to add comments to this blog using Giscus , which uses github discussions (in this repository ) to store comments. I have a longer-term aspiration to build ActivityPub endpoints into the site such that it can participate directly in the Fediverse, with responses displayed at the bottom of posts in place of comments, but this is likely to take some time (if I ever get to doing it) and…
The Problem I work in a system in which there are a few DynamoDb tables used widely across many of the services. It's he classic "integration on the database" situation with all the tradeoffs that brings. As a team, we'd like to better understand which parts of the system are using which tables, and furthermore which fields they're reading and writing so we can begin to explore alternatives from a…
My daily commute is a short drive, followed by around 35 minutes on a cheap noisy diesel train whose noise level varies from loud to very loud depending on the terrain as the throbbing engine hauls it up hills. It gets irritating. For a while I've been considering some noise cancelling headphones to block out the bassier tones which regular ear buds just can't passively block. However, the well…
This last week I've been using TypeScript to write a small service at work. I've not previously used TypeScript, but had been planning to try it for some time. In short, I found it a surprisingly pleasant experience overall. Initially of course I was slowed down compared to familiar JavaScript, but I'd estimate by the end of day two, I was already experiencing a net speed up. It was surprising how…
Elixir Recently I've been tending to think and build in Elixir. To a first approximation Elixir is a new front-end to the Erlang language and run time, and as such carries with it many of Erlang's properties such as a penchant for robust concurrency and many ideas with a functional leaning. Functional Programming The canonical set of properties required make a language "functional" is often argued…
One of the key ideas behind executable specifications, is that they form a set of specifications which “bite back”. Rather than just stating how the system should ought to work, and maybe did at some point in history, they can be executed to verify the facts they state still hold true to the reality of the system. Thinking about this behaviour driven development practice got me wondering if we…
There are a number of popular services which have some idea of publishing your location, either automatically or on demand, often called checking in. Increasingly the companies who run these services, such as foursquare, are partnering with businesses to provide offers to customers who check in at their shops or restaurants. As this becomes more popular it increases the financial incentive to fake…
On Tuesday night I attended a “Geekup” in Manchester. Geekup.org describes a geekup as: “GeekUp is a community of web designers, web developers, and other tech-minded folk from the UK. It's a grass-roots knowledge sharing and networking social for folks involved or interested in the web and technology industry.” That sounded my kind of thing, so I headed along. The geekup was held at Rain Bar in…
I’ve seen the opinion thrown out quite a few times in various forums such as StackOverflow answers and comments, that one way you can tell your improving as a developer is if you look back at code your wrote some time ago and find it ugly. The implication being that, since you found the code acceptable at the time, but now see fault in it, your skills must have improved in the interim. I disagree.…
The intention of this blog is for it to primarily cover my thoughts on code, and how we write it, with the occasional detour into anything else that interests me. Most of the best blogs I've read in this genre tend to post as the author is learning about something or developing some new idea, rather than waiting until everything is understood or ideas are fully baked. I like that, and it’s what…
I’m sure its a pretty universal response to any detailed discussion or meeting involving a whiteboard for at least one person involved to take a photo with their phone. It’s often useful, and even if you never look at it again, it only takes a moment and costs nothing. Of course, helpful as it is, a photo certainly doesn’t capture all of a discussion and it can still be difficult after the fact to…
I’m another software developer who felt like starting a blog. Unlike most though, I’m not going to begin with a promise to myself (let’s face it, who else reads a first post!) about how I’m going to “be really good and keep updating every day not like the last 100 blogs I started”. I’m not. That’s not the point. I just want somewhere to put the occasional musings, primarily on software and tech,…