Pragmatism in the real world

Backing up Signal messages on Mac

I'm using Signal more now and as it's fully end-to-end encrypted, if something goes wrong with your phone or you lose it, you will lose your entire message history. Signal on Android has an official backup method, but there isn't one for iPhone or desktop. As a result, a number of backup tools have been written by various people. The one I've had most luck with on my Mac desktop is signalbackup-tools. Note that the… continue reading.

Sunrise and sunset times on the Mac command line

I recently discovered the /usr/libexec/corebrightnessdiag command line tool on macOS. In particular, /usr/libexec/corebrightnessdiag nightshift-internal will give information about when the Mac's nightshift settings, including when sunrise and sunset are! $ /usr/libexec/corebrightnessdiag nightshift-internal Night Shift Status { AutoBlueReductionEnabled = 1; BlueLightReductionSchedule = { DayStartHour = 7; DayStartMinute = 0; NightStartHour = 22; NightStartMinute = 0; }; BlueReductionAvailable = 1; BlueReductionEnabled = 0; BlueReductionMode = 0; BlueReductionSunScheduleAllowed = 1; Version = 1; } Night Shift Sunset/Sunrise {… continue reading.

File uploads with Slim 4, tested with curl

Unsurprisingly, uploading files with Slim 4 is pretty much the same as for Slim 3 as they are both use PSR-7 for Requests. Recently, Matthew asked a question about why he was getting an error, so I looked into it. One thing that's really nice about Slim is that you can write a complete application in a single file (+ the vendor directory) which is helpful for testing things. Here's the entire application: public/index.php: <?php… continue reading.

Command line access to GitLab & GitHub

I've always been a huge fan of the command line and have been using the gh command line tool to access GitHub for a while. My current client uses GitLab and I was delighted to discover that there is a glab CLI tool. As you can imagine, both tools do essentially the same thing: operate on GitHub/GitLab from the command line. The two main uses of gh & glab that I have is creating and… continue reading.

Stash unstaged changes in git

I wanted to stash just the unstaged changes in my git repo. There's a git stash –staged which will stash the staged files, but I didn't see an equivalent to stash just the unstaged ones. Obviously, this is a common problem so a minute or two of googling will find the Git stash uncached: how to put away all unstaged changes? Stack Overflow question. Turns out that you have to remember the the staging area… continue reading.

Command line access to the Mac Keychain with keyring

While reading Alex Chan's post about experimenting with the Flickr API, I noticed the call out to keyring by Jason Coombs for accessing the macOS Keychain. The built-in app: security The built-in way to access the keychain from the command line is /usr/bin/security: To create a password: $ security add-generic-password -s FlickrAPI -a rodeo -w redacted-key Note that you need to include the password on the command line in clear test, so it's now in… continue reading.

Context specific history at the bash prompt

One change I made recently to my .profile is this: # up & down map to history search once a command has been started. bind '"\e[A":history-search-backward' bind '"\e[B":history-search-forward' These two bind command change the way that the up and down arrow keys work once you start typing a command to only search the history for lines that start with what you've typed so far. This means that I type, say, git and then press ↑… continue reading.