In my 2018 reflections, I found 2018 a difficult year. In hindsight, this was because I was trying to find a place for me to fit in at the BBC that was no longer was there, and this mismatch left me miserable. So despite ending my 2018 retrospective with a renewed vigour for working at the BBC, that quickly faded and I decided to hand in my notice for real this time, leaving at the end of March. I can’t really say I was sad to leave the work, but I was sad to walk away from my incredibly talented colleagues who work for the R&D department (and who I wish the BBC knew how to make better use of). …
What a night. On the face of it, it looks like a massive boost for the pro-remain parties. The Liberal Democrats grew their share of the vote substantially, the biggest growth of any party: 1.3 million new voters! It’s clear the “Stop Brexit” message resonated with many. …
On the face of it, tactical voting seems straight forward. If the party that you really want to win doesn’t stand a chance of winning in your consitutency, then under the First Past The Post electoral system, if you want your vote to make a difference, you should vote for a party that does stand a chance of winning. Ideally, the one that you like the most out of the plausible options, or at least, the one you dislike the least.
When you unpick the assumptions in this, this is where things start to get tricky. How do you know which parties stand a chance of winning? Prevailing wisdom is that it’s between the incumbant and the party that has come second. But this already falls apart where there are multiple challengers with similar vote amounts (such as in a three-way marginal). …
2018 was a difficult year, with some notable highs, primarily finishing and publishing my book. As with 2017, my professional life dominated, and it was challenges there that made 2018 extremely difficult for me to get through at times. However, there were highlights in my personal life, primarily a series of weekend breaks (notably Budapest and Porto).

As I discussed in my 2017 retrospective, I had just taken on a project known as the Trial Platform which had a significant step change from my previous work as lead developer on web-based projects. I was suddenly a project lead, which for BBC R&D also includes responsibilities that product teams might consider that of a product owner, whilst also being the team leader (although not line manager) and technical owner. …
If you’ve been following me on Twitter, or spoken to me in real life recently, you may have noticed that I’ve written a book, and it was published earlier this month!

So first, let’s do the obligatory plug, because you can order it now! I’ve set up the memorable URL of https://is.gd/fullstackbook to share all and sundry, and obviously I think you should all go and order it! The link above takes you to Amazon UK who are currently showing out of stock, but you can order directly from Apress or Amazon US too.
I’ll do a further blog post on exactly what my book contains in a bit, but first I though I’d outline a bit about the process of writing my book, and then getting it published. …
Four years ago I wrote a slightly inflamatory blog on what still sucks in front-end dev. One of the points was on Bower and how JS library management sucks. Sadly, the tools have changed, but JS library managment still sucks.
We’ve had a few NPM-related trash fires over the years. left-pad is still a meme, and another one happened today? Well it turns out the ecosystem is as fragile as ever. …
An earlier version of this article mischaracterised the structure of the Metrolink control team, which has been addressed based on feedback.
Manchester’s light rail system, Metrolink, has had a bad run of late. The past 2 weeks has seen at least 3 major failures at rush hours: overhead line issues, signalling failures as well as succumbing to the chilly weather the UK’s currently experiencing.
Metrolink is undoubtedly a complex network, with many different routes on a shared infrastructure (unlike, for example, London Underground, where there is mostly, but not exclusively, segregation of physical tracks between the lines). …
This started out as a Twitter thread which has been robustly challenged by my followers, but it probably deserves a more detailed exploration.
In this blog post I outline an approach which adapts code signing for use in the web. It aims to address issues with the current web security model, which predominantly relies on sandboxing, and as the web develops into a richer platform, finds a hard balance to strike between making powerful APIs which are necessary to build rich applications, and the potentially hostile environment of the Internet. …
Looking back on it, 2016 was an overall success, however 2017 hasn’t been quite so straight forward. There have definitely been some highs, but a number of disappointments too.
Work has completely dominated my life this year, but I’ve managed to find time to travel as well, yet many of my headlines are achievements in my professional rather than personal life.
My work at BBC R&D has been towards building production tools for software-defined TV studios. Traditional TV studios are often constrained based on the need to move and record high quality signals around using SDI cables, and integrating various black box components together to provide a workflow. R&D has been working on a project called IP Studio for several years which aims to take all of those signals and move them around standard computer networks, which then means we can start processing them as software, and treat them less as signals, and at more meaningful levels of abstraction. In parallel, the team I’m in has been looking at what kinds of new experiences we can build when we eliminate the constaints of broadcast, and can instead deliver an individual programme to every viewer. This led to the development of something known as object-based media, based around the idea of delivering individual bits of media as things called “objects” (that is, some meaningful abstraction over the actual signals) as well as the instructions on how to assemble those objects together in a way that makes sense. …
The world of front-end development moves quickly, so I’m going to reflect in the big changes I’ve made to my workflow in 2017.
I now exclusively use Yarn for dependency management and script running, with Artifactory for managing private Node modules. Fortunately we already have a paid-for Artifactory at the BBC, but using it is much simpler than NPM’s organisation feature, especially at scale. Artifactory integrates with our X.509-based …

About