Human after all

I’m sure everybody goes through the ‘angry programmer’ phase at some point in their career. I’m sure that some people enter it and never leave. The angry programmer looks at code and wonders what kind of dumbass would write something so stupid. The angry programmer assumes a codebase to be a load of shit by default. What I’ve just done is create an archetype of a person that reduces them to a few simplistic characteristics that might sound amusing if you relate to it, but can just as easily be used as a label to diminish your opinion of someone.

Permanent solutions to temporary problems

Depression fucking sucks. It sucks to suffer from it; it sucks to see others suffer from it. I lost contact with my landlord sometime last year, and obviously as a private tenant that raised some concerns as my main point of contact for my flat had vanished off the face of the earth. He’d deleted his email address and his phone number was deactivated. To be honest I thought nothing of it for a while, and the last thing he told me was that he was bogged down with work at the NHS.

To simpler times

I previously wrote about how this site was built1 and then deployed2. I’m quite happy experimenting with how I set up this whole shebang because I can learn a lot from it and the worst that happens is that the site goes down for half an hour. The stakes are low. You might tell from the design that I’m trying to keep things basic. The most outrageous things on the entire site are two SVG icons, a CSS animation, an embedded font, and poor mobile responsiveness.

Things I’ve learned after 10 years in the industry

Earlier today I read a blog post titled /Software development topics I’ve changed my mind on after 6 years in the industry/1 and it made me reflect on how my own thinking has (hopefully) evolved over my decade long career. I’m not going to discuss the content of the linked post, except to say that as much as I empathise with the author and have been an angry programmer myself, the overly aggressive tone that occasionally slips out isn’t really my cup of tea.

Using Ruby’s C API inside Ruby

A thought occurred to me in my mask-wearing, lockdown-addled brain last night: why the hell did I choose /now/ to stop drinking? It’s for my own good, I told myself, and so my thoughts shifted further into the absurd with nary a mind-altering substance in sight to stop them. One of those thoughts stuck out in particular, because of how ridiculous it sounded: could you optimise your Ruby code by using FFI with Ruby’s C bindings?

Gettin’ Ziggy With It On The Pi Zero

Alright, you can read the article first and shoot me later for a title like that, and what will inevitably become a series of Zig-based puns. Zig, for the unaware, is a fancy language that looks to be to C what Rust is to C++. Honestly, I recommend you read the summary on the main page1 to find out more yourself, as the best I can do is to just parrot what has already been written.

Can you crack the code?

What better way to spend the final moments of 2020, locked down in London, than with a logic puzzle and a computer that can, well, do logic? Join me for a few minutes on this auspicious eve, and learn how you can spend an order of magnitude more time computing a solution than what it would take if you used your noggin instead. I presume you’ve seen this kind of puzzle before: there is a lock that requires a three or four digit code in order for it to open.


I recently left a healthcare company called Babylon a few weeks back. Of all the things I enjoyed there, and the things that made it unique, one has to be how it has managed to dance across the line between startup and enterprise. I don’t mean to say ’enterprise’ in a perjorative sense; it’s more that you can’t really avoid that when you’re working in a heavily regulated and audited sector.

Hakyll on DevOps Pipelines

In a way, this is total overkill for a static site. If I have the repo cloned on my machine and I want to publish a new post, I can do it in two commands: #+begin_src bash stack exec site build scp -r _site/ #+end_src It’s flawed compared to using ~rsync~, as it won’t remove existing files, but it does the job in less than a second or two.

Celebrate each other

Back when I worked at Typeform1, it really surprised me that they casually used a system of extrinsic motivation to reward good work, and to appreciate and recognise others. That’s a long-handed way of saying that they used a service called Bonusly2 and integrated it with the company chat app, which at the time was HipChat3 (hands up if you remember not using Slack?). We had an internal currency called Typecoin (TC)4 and you had a budget of 250 a month to offer to your fellow colleagues as an extra way of saying thanks, or shouting out.