"Yearly reminder: unless you’re over 60, you weren’t promised flying cars. You were promised an oppressive cyberpunk dystopia. Here you go."


I wrote dat.


While developing a typography widget for the long form content tool I’m working on, I was struck by how little ability modern WYSIWYG editor libraries have in terms of easily modifying text tracking, or “letter-spacing” as it’s known in CSS.

This kind of astonished me — is web typography really…


This describes how I learned to code pretty accurately:

Learning to code is not like learning calculus, with some big fixed corpus of knowledge you need to absorb. It’s more like learning to be handy around the house. You start off knowing nothing, and then as needs come up you learn bits and pieces without a grand plan, weekend by weekend, with plenty of hammered thumbs and structurally unsound carpentry. Slowly but surely, those bits and pieces coalesce into something approaching expertise.

The thing I didn’t know when I started out but now do is that you never really learn everything about a language — and then memorise that. A large part of it is looking up what arguments functions take, or figuring out exactly which string manipulation function is the one for doing recursive character replacement (PHP’s strstr(), substr(), and str_replace() always confuse me). Agreed with the points about straight-up “web development”, though — unless you really have a burning desire to build web-based things, it’s probably better to start with the intent of simplifying a repetitive process or automating a routine task (Sidenote: Let’s move beyond teaching programming to journalists through scrapers, which are really kind of difficult and require decent knowledge of HTML, CSS selectors and whichever server-side language. Personally, I find scrapers more challenging than other code projects. Perhaps Google Chrome extensions might be a better starter project?).

Anyway, well worth a read.


In a recent piece for The Atlantic, Olga Khazan argues that learning to code is a poor use of time for most aspiring journalists who could instead be using that time honing their other skills. Like many of my colleagues who have committed acts of code in a newsroom, it really rubbed me the…


Really excited with how well this turned out. I did the technical bits in the writeup.



For the past two weeks we’ve been working on presenting a digital version of Sunday Times foreign correspondent Christina Lamb’s longform piece about her relationship with Malala Yousafzai. You can view it publicly here.

The piece itself is fantastic - highly personal, with lots of…


Highlight Diaries #2

Highlight sucks — both battery and in terms of actually accomplishing anything with it. People never talk to each other on it (Odd for a service designed to encourage communication) and the ones that do often don’t make it past a two message exchange.

I’ve since uninstalled Highlight and my phone can now make it to the end of the workday on a single charge. Apologies to anyone expecting a legit Highlight Diaries update.


I wrote the bit about Django for this.


The Times Conference Companion is a lightweight mobile website allowing subscribers (and non - subscribers that light register) a fast and easy way to keep up with conference news and gossip.


We wanted to find a way of bringing a Twitter-like stream to readers that was heavily curated…


A bit of Inside Baseball about the recent Caitlin v Clarkson “Attribute That Quote!” game I worked on.



Our Caitlin V Clarkson quiz was an attempt to see how quickly our team could produce a game that included both Times and Sunday Times brands, that could be completed to a short deadline, and crucially, was a bit of fun.

We came up with pitting our columnists Caitlin Moran and Jeremy…

View from the room I’m working in today… #London #nofilter  (at Thomas More Square)

View from the room I’m working in today… #London #nofilter (at Thomas More Square)

"I find raging at Apple is an integral part of making music."

Ben Hoffman


This was a massive pain last year — I wandered northward, in the rain, for over an hour, trying in vain to find where the 277 returned to its route. In reality, I would’ve found it again had I walked south about two blocks:

GROVE ROAD / VICTORIA PARK E3 ROUTE 277: Buses are diverted between Roman Road and Mare Street from 1930 to 2300 Saturday 18, 2130 to midnight Saturday 25 and 2030 to 2330 Sunday 26 May and are expected to experience severe delays due to spectators for events in Victoria Park, Hackney.

Route 277 is diverted northbound toward Highbury via Grove Road, Roman Road, Cambridge Heath Road and Mare Street and southbound toward Leamouth via Lauriston Road, Victoria Park Road, Mare Street, Cambridge Heath Road, Roman Road and Grove Road.

Bus stops missed northbound - GE Old Ford Road, GF Victoria Park, P Victoria Park Road, Q Moulins Road, R Terrace Road, N Holcroft Road, LX Well Street / Shore Road.

Bus stops missed southbound - X Victoria Park Road, GA Victoria Park, GB Roman Road.

Tags: fail tfl fieldday