Recursive PHP lint

There are many scripts that recursively execute php -l on a set of files or directories. This is mine. #!/usr/bin/env bash set -o nounset set -o errexit set -o pipefail # Recursively call `php -l` over the specified directories/files if [ -z $1 ] ; then printf ‘Usage: %s …\n’ …

Routing in Slim 4

Routing in Slim 4 works pretty much exactly the same as in Slim 3. They are used to map a URL that the browser requests to a specific handler that executes the code for that particular page or API endpoint. You can also attach middleware that will only be run …

My JetBrains IDE shortcuts

In the JetBrains IDEs, the “Default for macOS” keymap isn’t doesn’t feel very Mac-like to me, especially for keyboard navigation in particular. Apple provides details of the keyboard shortcuts you can expect to work in a Mac application, so these are the changes that I’ve made to make PhpStorm and …

Embedding Notist slides

This site uses WordPress under the hood as I find the flexibility that a good CMS provides quite useful. For the talks section, I use a custom post type so that I can set additional properties on the post and customise the display. With my usual lack of imagination, my …

HTML encode selected text on Mac

When writing blog posts, I write directly in HTML, mostly from habit and because I’ve not set up mark-up text processing on WordPress. I’m comfortable enough with simple HTML that it’s never seemed important enough to sort out, especially with MarsEdit‘s macros for common HTML tags. One thing that I …