2021 State of the Tools

A sillouette of a bicycle with two tools
Photo by Takehiro Tomiyama on Unsplash

It has been a couple of years, hasn’t it? I thought I would do another state of the tools. Last year I had other things on my mind and didn’t get to this kind of thing, but let’s give it a whirl.

Things I’ve Kept

My stack has stabilized quite a bit over the last few years; many things are the same, or slightly upgraded, from 2019. Highlights:

  • Surface devices for portability (Pro 4 at home, Go 2 at work). In 2020 I upgraded from the original Go to the Go 2, which is significant upgrade in performance.
  • Dell desktops (2016 XPS i7 at home, 2019 Precision i9 at work)
  • iPhone 13 Mini and Apple Watch (I upgraded from the SE to the 11 Pro at the beginning of 2020, and am now on the 13 Mini; only had it for a few days but quite happy with it).
  • Windows 10 on the client (with Windows 11 on my Go 2).
  • RHEL 8 on the work server.
  • Google for work e-mail; Office 365 for personal e-mail, docs, and storage.
  • Chrome for work-related browsing (linked to university Gmail).
  • Signal and WhatsApp for most personal communication.
  • Slack and Hangouts for work messaging.
  • Word and Google Docs for writing; Paperpile for citation management.
  • Python for most programming; Rust for targeted speed improvements, JavaScript for web-related things.
  • Editing in VS Code almost exclusively; a little Nano in the terminal.
  • Git and DVC for code and data management.
  • PostgreSQL whenever I need a relational (or JSON) database.
  • Paint.net for lightweight image edits.
  • Grapholite and Visio for diagraming.
  • Drawboard PDF for PDF reading and markup.
  • 1Password for password management.
  • Leuchtturm1917 A5 hardbound notebooks and a collection of fountain pens.

Small Changes

  • Switched from Edge back to Firefox for personal browsing. Edge doesn’t scale well to large numbers of tabs, and I believe Microsoft’s shopping assistant is actively harmful to small Internet businesses.
  • iPhone upgrade mentioned above.
  • WinCryptSSHAgent for YubiKey/SSH support. Considering moving to PuTTY-CAC
  • Increased usage of Rust for data processing.

Graphics and Document Software

I still use Paint.net for lightweight raster image editing, but have switched to Serif’s Affinity suite for more substantial work (Photos for raster images, Designer for vector images, and Publisher for advanced document preparation). They’re much less expensive than Adobe’s suite, seem generally more robust and easier to use than the open-source ones I had ben using (Krita, Inkscape, and Scribus).

I’ve also switched from FoxIt Pro to Adobe Acrobat Pro for PDF manipulation at work, now that Boise State has an Acrobat site license.


My Novara Gotham commuter bike suffered frame failure mid-fall. I am replacing it with a Tout Terrain Amber Road (frame-only, will build up with the components from the Gotham, several of which I had upgraded). The result will be a steel-frame commuter with an Alfine 8-speed drivetrain with dynamo hub and Gates carbon drive.

I’m still using the Wahoo ELEMNT Bolt for my road bike rides, but have switched from Strava to RideWithGPS for my cycle tracking. The ELEMNT Mini didn’t work out, both because it wasn’t very reliable, and Wahoo’s software update on the app seemed to break the Mini after they discontinued the product; rather than trying another dedicated computer and hoping it would work, I got a QuadLock handlebar mount to just use my phone for mapping and logging. However, on my commuter, it’s pretty crucial to be able to quickly see the current time along with speed and ride statistics, so I can see how long I have until an appointment at my destination. Strava doesn’t display a clock and doesn’t allow the live interface to be customized. RideWithGPS has a customizable live display including a clock.

Home Network

I’ve standardized my home network devices (NAS and media widget) on Alpine Linux.

The “media widget” is a Raspberry Pi Zero W with a HiFiBerry DAC+ Zero attached, using librespot to play Spotify on our stereo. It also has shairport-sync installed for AirPlay, but we don’t actually use that very often. I tried Raspbian on it for a while, but had update problems with a slow SD card; upgrading the SD card fixed that, but switching to Alpine in “data” mode has worked very well and has a pretty simple upgrade path that doesn’t tax the Pi Zero’s meager processor as much. With only minimal necessary software installed, the system takes about 50–60 MiB of memory, which leaves enough of the board’s 512 MiB free for system operations. I packaged (and maintain) librespot for the Alpine testing repository, so the install and updates are generally pretty smooth. I am very intrigued by the Pi Zero 2 W, but am not in a hurry to upgrade.

The NAS is still our old QNAP 2-bay NAS, running Alpine for consistency across our network (and to give an environment with more resources to test Alpine things for use on the Zero). I don’t actually use the NAS for much anymore; I was using it to backup teaching materials, but need to find new software to facilitate that since the Boise State network blocks Syncthing for unknown reasons. If and when it dies, I don’t know if I will replace it or not; would probably do something on a 64-bit Pi platform.