Reading List

The most recent articles from a list of feeds I subscribe to.

Refactoring English: Month 9

New here?

Hi, I’m Michael. I’m a software developer and founder of small, indie tech businesses. I’m currently working on a book called Refactoring English: Effective Writing for Software Developers.

Every month, I publish a retrospective like this one to share how things are going with my book and my professional life overall.

Highlights

  • I got useful feedback from early readers about my chapter list.
  • I found it frustrating to edit video of an interview but had fun creating a written transcript.
  • My plan to promote my freelance blog editing services went better than I expected.

Goal grades

At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals:

Give Your Spouse the Gift of a Couple's Email Domain

I’ve only been married for a few years, but I have a fantastic marriage tip you won’t hear from any marriage counselor or book:

  • Get a couple’s email domain

What’s a couple’s email domain?

My wife and I share a .com domain name for email. I’m not going to reveal our real domain name, but pretend it’s this:

  • @shinytable.com

Emails to michael@shinytable.com go to both me and my wife, and the same for her name.

Flash an AirGradient ONE from the Command Line

I’ve purchased two AirGradient ONE indoor quality monitors to measure air quality in my home. AirGradient devices are open-source, so you can flash your own custom firmware and collect your air data locally rather than sending it to AirGradient’s proprietary cloud dashboard.

I keep an AirGradient ONE air quality monitor in my office to measure CO2 and pollution.

The existing documentation for flashing firmware requires you to use the Arduino IDE, a clunky GUI program:

Refactoring English: Month 8

New here?

Hi, I’m Michael. I’m a software developer and founder of small, indie tech businesses. I’m currently working on a book called Refactoring English: Effective Writing for Software Developers.

Every month, I publish a retrospective like this one to share how things are going with my book and my professional life overall.

Highlights

  • I find that not every reader who purchases early access to my book wants to give me feedback about rough drafts.
  • I figure out where all my time is going and think of ways to minimize time drains.
  • I spend 10 hours reimplementing a web app from scratch that originally took me 300 hours to build.
  • I continue to learn functional programming with Gleam, but I might be cheating.

Goal grades

At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals:

Migrating a ZFS pool from RAIDZ1 to RAIDZ2

I recently upgraded my home TrueNAS server and migrated 18 TB of data from a 4-disk RAIDZ1 ZFS pool to a new RAIDZ2 pool.

The neat part is that I did it with only three additional 8 TB disks and never transferred my data to external storage.

Upgrading from RAIDZ1 to RAIDZ2 without moving data to external storage is tricky because: