Rob Allen

Pragmatism in today's world

Opening Sublime Text from the command line

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

Fixing two minor git irritations in my OSS fork workflow

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

Create an HTML version of an OpenAPI spec

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

PHPStan custom rules

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

Feelings

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

Dad

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

2025 in pictures

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

IPTC export changed in Photos for macOS 26 Tahoe

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

Appending text to Obsidan via Shortcuts

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

mac-volume: A CLI to control device volume

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

Search

I'm Rob Allen, a software consultant and engineering leader, concentrating on HTTP APIs. A proponent of Open Source, I maintain rst2pdf and Slim Framework, and contribute to Apache OpenWhisk amongst other OSS projects.

I live in the UK, run 19FT and publish Daily Jotter for Mac. I am a public speaker and wrote Zend Framework in Action.

Follow

Nineteen Feet Limited logo

Books I've written

Zend Framework in Action book cover
C++Builder 5 Developer's Guide book cover

AltStyle によって変換されたページ (->オリジナル) /