Developing software in the Real World

OpenConnect on Mac

One of my clients has recently moved to AnyConnect VPN and I've been having routing problems with the official Mac client. As my colleagues on Linux on the project have not had these issues, I investigated and installed the OpenConnect client. These are my notes after scouring the Internet to set it up how I want it. Installation I used Homebrew:

OpenConnect is a CLI tool. If you want a GUI in your menu bar,… continue reading.

MailTrackerBlocker

One thing that has annoyed me about receiving email is so-called tracker pixels. These usually 1x1px transparent images that are remotely loaded into HTML email enable the sender to track information about be. A good resource about them is No To Spy Pixels. As such I've tended to run my email clients with remote resource loading disabled, which isn't the best experience as a surprising number of legitimate email even display the call-to-action link as… continue reading.

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.