• Programming styles and books

    I confess, while I have my CS degree and am well-read, I've never read many of the "classics": Clean Code, Refactoring, The Pragmatic Programmer. So with Sandi Metz's "99 Bottles of OOP" on offer, I thought I'd make a start there.

  • Coding for fun

    Back at the end of 2020, Jhey Tompkins wrote an excellent article titled “Playfulness In Code: Supercharge Your Learning By Having Fun“. I loved this article and though the examples in it were more visually playful than technologically playful (and yes, HTML and CSS are technological – I just couldn’t find a better way to […]

  • Raise your hands! It’s voice controlled WordPress!

    I love doing fun coding projects. I was listening to the Syntax podcast yesterday, they did a show about “Nifty Browser APIs“. That is, things you can get code to do in a browser, like locate where you are and play sounds and… do speech recognition…? “That sounds fun”, went my train of thought, “I’d […]

  • caniphp.com – thoughts on launching something actually vaguely popular!

    Isn't it ridiculous? You spend years trying to make something that takes off in a big kinda way. You try all sorts of complicated things. And then, one day, you turn a little note you have lying around into a midly-interactive single web page and it takes off like nothing else before!

  • I know nothing, really, but could nav menus be a browser API?

    Let’s not start with nav menus. Let’s start somewhere else… What do Github, Laravel Forge, MacOS, VS Code, Sublime Text, JetBrains IDEs like PHPStorm, Google Chrome’s dev tools, Windows Terminal, the Warp terminal application, and Netlify all have in common? They all have “command palettes” – as do an increasing number of both native and […]

  • Things all developers need to make in their career #17: A static site generator

    There’s a sort-of-joke that there’s a bunch of things that all developers are supposed to code from scratch at some point in their career. A blog. A to-do list app. The “canonical” applications. And one of these is a static site generator. I’ve actually never built any of these things from scratch. But while making […]

  • 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 […]