A Cleaner Laptop

So I recently picked up a shiny new MacBook. This was not my first time around this particular wheel. I’ve enjoyed them for professional and personal use for many years. This time I thought I’d try a rather tidier approach to shell setup and started with a blank slate and — inspired by a Jess Frazelle talk I enjoyed at Kiwicon some years ago — a goal of running a lot more software in Docker containers to isolate it at least a little bit from my $HOME and precious/private data.
Read more →

Gcloud and Docker

I wanted to run Google Cloud’s gcloud commandline tool in a Docker container and, modulo security flaws in Docker for Mac, not expose my entire home directory to it. A wrapper script got me most of the way there:

Read more →

Always read the manpage!

Recently I wanted to audit some Helm charts for trailing whitespace bugs. This stuff can be a real bugbear, so an automated check can save a lot of hair-tearing. I initially reached for the beloved awk, but it turned out that grep could actually do exactly what I wanted.

Read more →

The Familiar

Every so often I find a recording that is so comfortable, so interesting, that I can listen to it every day for years without it ever growing old or boring. I thought I’d list a few of those here. All of them are happy, relaxing places for me. In approximate order of first-listenings:

Read more →

Diving deeper into AWK

I’ve always liked the Unix software toolbox concept: a variety of focused, easily-understood, easily-composed tools that each do approximately one thing. awk is one of my favourites, so I thought I’d write about how I most often apply it, and how you can get more from it too.

In the following examples, I’ll use output from ps, a useful source of test data that is universally available on BSD, Linux and macOS systems. Things should be mostly the same on other systems, too. If you’re using Solaris, for example, there’s a BSD-like ps in /usr/ucb/ps.

Read more →