I nearly always open Sublime Text from the command line using subl and have specific requirements for when it should open a new window or re-use one. If I'm opening a directory, then I would like it to re-use the same window if I have previously opened that directory. However if I open a random file, I never want that file in the last directory window as it's unrelated. To do this I wrote a... continue reading.
Posted on
30 June 2026 in Computing, Shell Scripting, Software
Leave a comment
For OSS work, I work with two git remotes: upstream: the canonical OSS project repository, where main is the default branch and is what gets released. origin: a personal fork. All my feature branches live here. I set up locally like this: Fork the project repo to my account. Clone my fork locally, so the origin remote is my fork. Set an upstream remote using git remote add upstream <ssh-url>. and then when working on... continue reading.
Posted on
26 May 2026 in Development, git
Leave a comment
I have a new project where we will be integrating with a third party API that is currently being written. Due to Conway's Law, we are being sent new versions of the OpenAPI spec as a set of JSON files via email. I quite like seeing the HTML rendering of an OpenAPI spec when reading it and understanding it, so I knocked up a simple shell script that takes an OpenAPI spec file and outputs... continue reading.
Posted on
17 March 2026 in API, OpenAPI
Recently I discovered that this code passed our PHPStan level 10 checks: use http\Exception\InvalidArgumentException; // … throw new InvalidArgumentException; I was surprised as http\Exception\InvalidArgumentException is not a class in our system. While cooling, I discovered that there's an http PHP extension and it appears that PHPStan has a stub for this which means that it accepts it as existing even if it doesn't. What we think happened is that I wrote throw new InvalidArgumentException; and... continue reading.
Posted on
3 March 2026 in PHP
Today has been a struggle entirely due to my own internal negative thoughts and feelings about impacting events that are outside my control. Navigating this to come out stronger rather than letting it consume my self-belief and confidence isn’t easy, especially at the time. I’m not worse at my job and my abilities haven’t diminished, but sometimes it’s hard to remember this. I need to give myself space to remember who I am and internalise... continue reading.
Posted on
27 February 2026 in Me
I don't often post personal things here, however last weekend my dad died peacefully in his sleep and it feels important to acknowledge this. I have no words.
Posted on
22 January 2026 in Me
As we reach the end of 2025, I take this opportunity to look back over the photos that I have taken and thing about the year. This year I published 1,064 photos to Flickr with, of course, at least one photo every day as part of my Project 365. The lovely thing is that my photos remind me what happened during my year and I remember many good times through them as I've seen friends... continue reading.
Posted on
31 December 2025 in Me, Year in Pictures
I've recently upgraded my MacBook Air to macOS 26 Tahoe and one thing I noticed was that Rodeo's rules were no longer working. With the help of exiftool, I worked out that when exporting to JPEG from Photos for macOS 26 Tahoe, the Object Name, Caption-Abstract and Keywords IPRC properties were no longer being populated. This is a regression from macOS 15 Sequoia. This is the data from exiftool. Output from macOS 15 Sequoia: $... continue reading.
Posted on
11 November 2025 in Mac, Photography, Rodeo Flickr Uploader
Sometimes it's helpful to add some text to my current Obsidian daily note without having to switch to Obsidian, find the daily note and then type my text. To do this, we can use the magic of Obsidian's obsidian:// URI schema and automate the text capture in Apple Shortcuts, with an assigned keyboard shortcut to activate it. This is the Shortcut: There's a number of steps in the Shortcut. Firstly we Ask For some text... continue reading.
Posted on
14 October 2025 in Mac, Shortcuts
I've set my Mac up such that video calls such as Zoom use the microphone and earphones attached to my Behringer UMC204HD, which all other audio plays through the my normal speakers which are the default. One issue I have with this is that it's quite hard to change the volume when a call as the volume buttons on the Mac are connected to the default output. This finally annoyed me enough that I looked... continue reading.
Posted on
7 October 2025 in Mac, Swift