Reading List
The most recent articles from a list of feeds I subscribe to.
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:
Refactoring English: Month 7
Highlights
- I look for ways to limit the number of half-complete tasks I’m juggling.
- I brainstorm ways to talk with more of my early readers.
- I have trouble accepting a design decision in the Gleam language.
Goal grades
At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals:
Offer a lower-friction way for users to pre-order my book
- Result: Switched from Kickstarter pre-orders to Stripe payment links.
- Grade: A
I ran the initial pre-sale through Kickstarter, so I decided to just stick with it for subsequent pre-orders. After a couple of months, I realized Kickstarter requires customers to create an account to buy the book, which adds a lot of friction and discourages people from buying.
goHardDrive Leaked Personal Data for Thousands of Customers
I recently returned a product to goHardDrive, a merchant that specializes in selling used hard drives. During the return process, I discovered that they were accidentally publishing details about thousands of their customers, including their full names, mailing addresses, email addresses, and order details.
The leak
When I requested a return from goHardDrive, they assigned me a return merchandise authorization (RMA) number ending in five numeric digits. I’m not publishing my actual RMA number, but you can imagine that it was a number like this:
My First Impressions of Gleam
I’m looking for a new programming language to learn this year, and Gleam looks like the most fun. It’s an Elixir-like language that supports static typing.
I read the language tour, and it made sense to me, but I need to build something before I can judge a programming language well.
I’m sharing some notes on my first few hours using Gleam in case they’re helpful to others learning Gleam or to the team developing the language.