The HTTP/3 Book

Today I published my first book, “The HTTP/3 Book”!

This book is the latest incarnation of things I’ve produced relating to HTTP/3. The first was a conference talk I first gave at ConFoo 2024 in Montreal. That went down pretty well, and I was asked to do the same talk at the International PHP Conference 2024 in Berlin. The room was so packed for that talk that they have asked me back to do the same task again at IPC Munich 2024 later this year!

S&S Media, the German company behind IPC, publishes lots of magazines for developers, and I was approached by their representative in Berlin about writing an article on this subject. So after a little negotiation (particularly about rights!), I sat down to turn my talk into an article. This was made quite easy given the framework I had from my talk, but I was pretty pleased and surprised to be able to crank out a decent 4,000 word article in a bit over 2 hours. It’s not been published yet, but I’ll amend this post when it has.

I’d enjoyed writing this article so I wondered about expanding it into a short book. Asking around on Mastodon suggested that the easiest way to go was self-publishing on Leanpub; I didn’t want to get pulled into writing some monster tome for a publisher.

It took about 2 days of writing, plus another day or so learning the ins and outs of the Markua markup format, tweaking, proofreading (thanks to my mum!), drawing diagrams, and building a site to demonstrate the difference in network activity across different HTTP versions.

A week on from my first thoughts of doing this, I’m very happy to find myself with a freshly published 54-page, 12,000-word book! I’ve of course publicised it across all my social media, but need to put a bit more effort into marketing, perhaps look into Leanpub’s translation services. Anyway, we will see how it goes, but it’s been a good experience so far.

Abstraction as a service

This is a short story I wrote back in 2015 and published on Medium. I don’t want to use Medium any more, so I’m reposting it here. If you like it, please follow me on Twitter.


On a warm, drizzly London day, I’m looking out of a window for inspiration. I can see a building from my window that an old client moved into recently, and I’ve watched them gradually redecorate it with their own branding. By the ground floor entrance is a small shop that appears to sell nothing but Aero bars (in milk chocolate or mint).

That thought makes me hungry, so I head out for lunch.

In a busy sandwich bar I bump into Claire and we chat about work between mouthfuls of an excellent sandwich (though I don’t recall what was in it). She mentions that she knows someone who might need my services, and who might turn up here for lunch.

A little later she points out a guy who’s just come in. Apparently his name is Tris. He’s 40s, slightly foppish, baggy-looking in a dark linen suit, like something from Muji. He seems distracted.

She waves at him. I’m not sure if he sees her.

We finish our lunch. Claire leads me over to Tris, says a brief hello and introduces me. It seems Claire has mentioned me to him before. “I hear you do the kind of thing I need” says Tris.

I reply with a hesitant “Yes”, not knowing what it is he needs.

He’s there with his daughter, who’s talking to someone else. She’s about 15, with short, dark hair and a denim jacket. I don’t catch her name. She glances at me, smiles, and returns to her conversation.

Tris says we should chat about some work he needs doing. He’s heading off on a sales trip to Taipei and Buffalo, NY, and needs some stuff doing pretty much immediately. He suggests we go to his office.

We head to the station. It’s packed with a glazed post-lunch crowd. We hustle onto a train; hot, humid and smelly. Standing close in the carriage, I notice he’s carrying a shoulder bag the same colour as his suit, a large white book and a handful of pencils. The pencils all have coloured tops, but I realise they are all graphite pencils of different hardnesses, and the points are worn down to fat, blunt stubs; he’s been busy. He sees me looking, and shows me the book; It’s a “grown up” colouring book, but old and worn. He flicks through a few pages in the limited space and I see a mix of repeating patterns and odd artworks, most partly but meticulously coloured in with shades of grey. He complains that it’s a bit cumbersome; one drawing folds out across multiple pages showing a mole digging through earth filled with jumbled aeroplanes, cars, skyscrapers, Coke cans. I have a fleeting moment of recognition; I’m sure I had this book back in the 80s, but I preferred it left as black and white lines.

We arrive at a station. He says suddenly “this is us”, hurriedly bundles up the unfolded page and we explode gently onto the platform in a spray of commuters.

By the time he’s sorted himself out, the station is empty. We cross to another platform and board an empty, old-style train with compartments. It smells dusty. His daughter slumps onto the old bench seat in a cloud of dust and plays with her phone.

The train lurches and bumps down the track to wherever. Tris is animated — he’s got a new concept that he’s bursting to pitch to his foreign clients, though he doesn’t go into detail. He suddenly stops and looks at me pointedly. “You know about 400?”

I’m floored for a moment, but venture “You mean like the HTTP error code?”

“No, no. Do you know about customer databases?”

“Yes”, I say, somewhat relieved.

“OK then, you’ll be fine”. He fiddles with his phone for a moment then hands it to me. “Give me your contact details”

I fill in his contacts app and hand it back. “That’s great, thanks” he says.

We arrive at a station, apparently ours, so we all alight. The rain has stopped. Just by the station is a newsagent. An aluminium-framed frosted glass door next to it sports a small plaque: “Tristan Enterprises”. I hope his daughter is not named Isolde. We go through the door, climb a narrow stairway and emerge into a small office. It’s almost empty, very tidy, and everything is completely white. An old white MacBook sits on one of two desks. I wonder if he only uses it because it’s white. He hangs his bag on a hook, dumps the book on the desk next to the laptop.

“I need servers”, says Tris, “to run all this stuff”, he says with a wave encompassing the entire empty office.

“OK”, I say, “I can do that”.

“Excellent. I think that covers it. I’ll be in touch with the details. Are you alright getting back?”

“Er, I guess so”, I say, mystified that he should bring me all this way for so little.

I head home though the muggy afternoon wondering if it’s all been a waste of time. By the time I’m home, he’s emailed me with login details of his cloud provider, asks me to commission a few servers. I log in and see it’s much as I expected, so I set things up and email him back.

That was a few months ago now. It turns out Claire is working for Tris now too, so we quite often meet for lunch.

We’re happy that Tris pays the bills, but we still have no idea what he does.