Mastodon <- This should be me at https://hachyderm.io/@davecb
Author: David Collier-Brown
We Don’t Need no Steenking Major Numbers!
In a previous life, I worked with continuous-maintenance systems, as used by the Linux glibc libraries team, the Sun binary stability team, and historically, the Multics kernel team. In all there cases, we managed a codebase so that while there were changes, they were evolutionary, not revolutionary. Others tried to avoid change Other companies, famously… Continue reading We Don’t Need no Steenking Major Numbers!
Red, Green, Refactor
Once upon a time I was the “Solaris Guy” in a Java project. My boss asked me if I wanted to do some Java. Sure: Java was one of “our” languages, and I liked it. I was also done my part. The cluster was designed, and we had things like backup and failover in place,… Continue reading Red, Green, Refactor
Anomaly Detection & the Western Electric Rules
Detecting anomalies sounds simple: all you have to do is define what’s normal, and look for what isn’t. Of course, exhaustively defining what’s normal could be just a little hard. Introduction When working as a sysadmin I keep having to detect business anomalies. Alas, the usual tools sysadmins have available aren’t designed for that. Graph… Continue reading Anomaly Detection & the Western Electric Rules
Being Evil, for Fun and Profit
Imagine you needed a part-time job that paid about $100,000 a year, and was still legal. It could be unethical, immoral and fattening, but it does need to be legal. Have I got a deal for you! Introduction Remember the kids in Veles, Macedoniai in the previous US election? They were making about $1,000 a… Continue reading Being Evil, for Fun and Profit
Don’t Share Memory!
(Bones clearly doesn't appreciate it!) Evil Spock has to Stop Bones' brain,Read out what he wants to know, andUnlock Bones' brain, so he can breathe. Of course, this is Evil Spock, so he may not care if Bones breathes or not. Rob Pike has a better way Rob wrote, "don't share memory to communicate, share… Continue reading Don’t Share Memory!
One of my smarter colleagues once said "your metrics are making the program impossibly slow. Turn some off" Introduction I initially thought he was quoting the line from Amadeus, where the Emperor tells Mozart there are too many notes in his music, and to take some out. In fact, he was diagnosing a bug that… Continue reading Measurement Heisenbugs
Your Network is Congested, Part I
Your network is like a python with a fairness problem, If one person is watching a big video, all the little flows can be ignored. The Problem Much of the time the data that flows over your home network is “mice”. Little bits of data from emails or web pages, slack or zoom. Sometimes, though,… Continue reading Your Network is Congested, Part I
Maps and an Old Book
I happen to have a 1984 copy of Ron Brown's "Backroads of Ontario", and Joyce and I went for a drive today, following the Great Pine Ridge west from Yonge Street There is a later version of the book, from 2019, but that's not what I'm writing about: I discovered something I should have guessed.… Continue reading Maps and an Old Book
Cannot and Should Not
In computer science, if someone says "you should not write code with deadlocks", we try to make it impossible. For example, by putting C. A. R. Hoare's "communicating sequential processes" into Go. If we can't do that, we invent "best practices" and "patterns" to help provide a language-structured guide us around pitfalls. We have the… Continue reading Cannot and Should Not