• Hang on, PHP IS a static site generator!

    Regular followers will have heard me talk about Turbo Admin. And you may also know that I am, where possible, trying to #DitchTheBuild and use vanilla HTML, CSS and JS as much as possible. So for the Turbo Admin website I kinda wanted to embrace this philosophy, get cheap-and-easy, static-file hosting, and make my build […]

  • 10 things I learned about freelancing in ten years – Part 3

    So I’ve had my last official day as a freelancer. There are still some loose ends to tie up but I really ought to close out my thoughts on freelancing. You can also read part 1 and part 2 if you missed them. I’ve already given you 10 things, so here are some bonus experiences. […]

  • My Twitter Rules

    I recently saw a Tweet by a runner called Peter Sagal who outlined his “Rules of Twitter”. In response to narrowly spread demand, here are my Rules of Twitter. Note that each was learned by violating it repeatedly over the years, so don’t bother going back in my feed to find contradictions… trust me, I […]

  • The Electric Car Idea

    A revelation! Is the thing that stopping us thinking seriously about owning an electric car not, actually, a thing?

  • PHP Short Functions and Scope

    Yesterday I took an interest in PHP internals looking into @enunomaduro‘s RFC for Auto-capturing multi-statement closures. (Have I said before that I loved studying compilers in CS?) This lead me down some interesting rabbit holes and I wanted to make some notes on what I found. Short vs Long closures There are a two forms […]

  • Browser Extensions: Self-hosted updates

    I’m currently developing a paid-for browser extension that will run on both Firefox and Chrome/Chromium browsers. I’ll write more about this (very-involved!) process soon. But in the last couple of days, I just made the decision to self-host updates for the Firefox version rather than host it on addons.mozilla.org. This post details the steps to […]