Developing software in the Real World

Syncing macOS Keychain certificates with Homebrew's OpenSSL

One of my clients runs their own Composer repository for some packages which is hosted on internal system where the SSL is signed by an internal root CA cert. I installed the relevant certificates into my Keychain, but Composer complained about not being able to trust the certificate. I use the Homebrew version of PHP which links to Homebrew's OpenSSL, so I realised that OpenSSL wasn't looking at the keychain, but instead at its own… continue reading.

Completely reset Apple Watch's Mac auto-unlock

Recently, the ability for my Apple Watch to automatically unlock my Mac started failing on Big Sur betas and then on my main Catalina installation. I'm not sure, but it's possible that updating to WatchOS 7 caused it, though it might have been related to re-pairing to fix the battery life issues I was having. Or, of course, some other software gremlin! Whatever, it was annoying. Scouring the Internet, I discovered what to do in… continue reading.

Keyboard shortcut to mirror displays on a Touch Bar Mac

One feature of the 16" MacBook Pro that was new to me is the Touch Bar. This thing replaces the F-keys with a touch pad that adjusts itself to the app in use in order to provide useful shortcuts you can just touch. This is all well and good, but when presenting, I use the cmd+F1 keyboard shortcut to toggle display mirroring. A useful Stack Overflow answer tells me that I can use cmd+{dim brightness}… continue reading.

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 PyCharm feel more at home on my Mac: Open Preferences and select Keymap from the left hand side. Then select "Default for macOS", click the… continue reading.

Dark and light mode blog images with MarsEdit

As dark mode is more popular than ever now that the iPhone supports it, I've been working out how to get the browser to render a dark image in dark mode and a light image in light mode. It turns out that the way to do this simply is to use the <picture> element like this:

As I use MarsEdit to write my posts, I created a Media Markup Template that does the heavy… continue reading.

First steps with Windows on Vagrant

One thing that would be useful for one of my projects is an easy way to install IIS, PHP & SQL Server on Windows in a repeatable way. I wasn't sure how to do this until I came across Chocolatey and Boxstarter. Chocolatey is a package manager for Windows along the same lines as yum and apt for Linux and knows how to install a remarkable amount of software. Boxstarter is a way to automate… continue reading.

Using a separate master password in 1Password for Mac

I really like the 1Password password manager and recently switched to using the subscription based account. This allows access to my passwords via the web so, as you can imagine, I have a very strong 35 character master password set. On my Mac, I use the 1Password app and that requires me to enter my master password reasonably frequently, so this very long password is not so desirable here. I'm comfortable that a 12 character… continue reading.

Keyboard shortcut to Save as PDF on Mac

I regularly print to PDF on my Mac, This is done from the print dialog by selecting Save as PDF from the drop down in the bottom left of the dialog which is a bit of a pain to get using the mouse. I recently discovered that I could create a keyboard shortcut to make this much easier. In System Preferences -> Keyboard -> Shortcuts -> App Shortcuts you can create a keyboard shortcut to… continue reading.

Keyboard control of macOS notification alerts

I use Apple's Reminders app to remind me about things that I need to do. It has the useful feature of syncing across my Mac, iPad and iPhone and I can add to it via Siri in my car. When I am notified on my Mac, a notification alert appears with two buttons: Complete and Later. Clicking Later offers a set of options to dismiss the alert and have it reappear in 5 minutes, in… continue reading.

Autojump is magic

One of my favourite command line utilities is autojump. It's a small command line utility that allows you to change directory without having to remember exactly where that directory is. For example, to start working on OpenWhisk, I simply type:

And the current directory is changed to /Users/rob/Projects/openwhisk/incuator-openwhisk for me. This is much easier than typing cd ~/Pro{tab}op{tab}in{return}! Biasing towards a particular directory When you have a directory that's a common one that you… continue reading.