Reading List

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

Overcoming Gotchas in Samsung Secure Erase

I have a few Samsung SSDs, and I always have trouble remembering the process of secure erasing them, as Samsung Magician software is terrible.

Here are my notes for overcoming Samsung Magician’s gotchas in the process of secure erasing a Samsung SSD.

You need a Windows or MacOS system with a Samsung SSD attached

This requirement drives me crazy, as Samsung Magician is creating a bootable USB disk, so it shouldn’t care what’s on your current system, but it does. And Samsung Magician only exists for Windows, MacOS, and Android, so if you’re on Linux, you can’t use it.

Educational Products: Month 3

Highlights

  • I published the first chapter of my book and was happy with the reception.
  • My attempt to hire a book cover designer flopped.
  • I may have figured out how to support large files on PicoShare.

Goal grades

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

Finish two chapters of Refactoring English

  • Result: Finished one chapter and got 75% through the next.
  • Grade: B

The first chapter took longer than I expected, as I kept finding parts that I wanted to rewrite. I did find it helpful to take a break for a week to write a second chapter and come back fresh.

if got, want: A Simple Way to Write Better Go Tests

There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds.

Instead of writing Go tests like this:

// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
 t.Errorf("unexpected username: got %s, want: %s", username, "dummyUser")
}

Write your tests like this, beginning each assertion with if got, want :=:

// The underused, elegant way.
if got, want := GetUser(), "dummyUser"; got != want {
 t.Errorf("username=%s, want=%s", got, want)
}

The if got, want :=: pattern works even better in table-driven tests. Here’s an example from my library for parsing social media handles:

The Case for Open Borders by John Washington

If you’re a liberal who’s interested in becoming a radical progressive, this is a good book for you. If you’re anyone else, you’re probably not the target audience.

Paternity Leave: Month 4

Highlights

  • I found ways to procrastinate writing my book.
  • I had fun fuzz testing open-source projects.
  • I picked out components for a new high-end desktop computer for software development.

Goal grades

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

Enjoy family time

  • Result: Continued to enjoy family time.
  • Grade: A

During my self-managed paternity leave, I’m continuing to enjoy the balance between my family time and my time working on personal and professional projects.