Speak Alt Text on MacOS

I’ve been using Bluesky a lot lately (I’m @rich.lafferty.ca there), and one of the conventions there, like on Mastodon, is that images should have alt text.1 I configure my account to require it so I don’t forget, especially on mobile. But one challenge with alt text is that you don’t know what it will sound like to someone using speech-to-text, and while that’s not the only way people use alt text, it is one use case. ...

November 28, 2024 · 2 min · Rich Lafferty

WIP limits in a nutshell

This is the whiteboard diagram I have repeated the most in my career. Stop doing so much at once and you’ll deliver value sooner. ...

December 9, 2023 · 1 min · Rich Lafferty

Four stars and a horse ⭐️⭐️⭐️⭐️🐴

This is one of my favorite bugs, and because of various website redesigns it’s all but fallen off the internet, so noting here for posterity. I was reminded of it earlier today talking with a friend about what “four and a half nines” means in reliability, and I suggested “four nines and a horse” and got to introduce him to this bug! Back in May 2014, Etsy had a bug where they accidentally replaced their half-star image in ratings with a horse. Twitter user marykuris thankfully posted a screenshot: ...

November 18, 2023 · 1 min · Rich Lafferty
A bowl of date fruits.

Four Kinds of Dates

Software engineers always seem to resist talking about dates. Estimating is hard, but it is also dangerous – sometimes you make an estimate and the next thing you know it’s a deadline that has consequences if missed! But you never committed to anything! What happened? People are imprecise when they talk about dates, and interpret things to meet their needs. A while ago I learned1 about a model of four kinds of dates which can help avoid misinterpretations. I’ve used it for a long time and it’s helped clear up a bunch of date-related confusion. ...

November 11, 2023 · 3 min · Rich Lafferty

Alarm fatigue and ignorable warnings

We had a minor Major Incident* today, and it was a nice little example of alarm fatigue. A service — which was thankfully not in use yet — just up and stopped running in production. No sign of it where it used to be in Kubernetes or even in ArgoCD. Thankfully, when we spun up the major incident process, someone had an “oh… oh no” moment and realized that they’d done a terraform apply in what should’ve been an unrelated repo right around the time the incident started and proactively joined the call. ...

April 28, 2023 · 4 min · Rich Lafferty