Reading List

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

Rich, fully attributed context timeout errors in Go

Making Go’s generic context deadline exceeded errors traceable with small helpers that attribute the operation that timed out and indicate how long the timeout was.

Time for lower level languages?

I’ve always been intrigued by Go. It’s powerful, fast (I really like fast), and simple. The tradeoff? It’s simple. Coming from higher level languages like PHP & JavaScript, Go can feel crude.

As I’ve recently written, this blog went back to Hugo. Hugo is also fast and crude. But with LLMs, the crudeness of things doesn’t hurt as much as before. I don’t need to deal with writing it anymore, and crude is still readable.

From Just Fucking Use Go:

The boring choice is the right choice. It always was.

I agree. More than ever, I have an urge to dabble into lower level languages. AI is a huge layer of complexity we’re adding to our tooling. Let’s use it to trim the fat from our outputs.

Refactoring English: Month 18

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’ve completed all 22 chapters of my book.
  • I thought AI made prototyping faster, but now I’m not so sure.

Goal grades

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

Sanding UI

This is an older post from Jim Nielsen on building user interfaces I came back to last week.

With software, the fact is that sometimes there are just too many variables to know and test and smooth out. So I click around, using the UI over and over, until I finally cannot give myself any more splinters.

I feel this. I’m better at my job when I’m actually using something. Even better when I’m using something because I want to use it.

I’ve been building a side project on and off for a few months now. Having it my phone’s homescreen and actually using it every day gives me a different perspective on it than just building it and shipping it to others, like is often the case for client work.

Sand it, feel the grain, get a splinter, sand again, and repeat until smooth.

Exploring color matching in JavaScript [2013 post brought back from the dead]

I wrote this post back in 2013 for HTML5 Hub, which later became the Intel Developer Zone. The site’s gone through many changes over the years and this post is no longer there, so I figured I’d repost it here instead. This is mostly unedited from the original posting, except for some extra headings and removing one dead link from the final section. The following should also show, for the record, that I used dashes before ChatGPT thought it was cool.