The British have a term for motorcycles built of parts from different manufacturers. They are called "bitsas", for "bit of this, bits of that". The classic example is a 650 Triumph engine in a 500 Norton frame, which works well. Others? Very much less so. Trying a bad choice of components could throw you down… Continue reading Bitsas
Tag: technology
Decision Trees for Everything
A common technique for debugging can also be used for decision-making in the physical world. Introduction When I’m debugging, I often make a little sketch to see what paths I’ve taken in the code, with a split for each if. The the sketch below, I’ve debugged the left branch of the first if statement, “A”,… Continue reading Decision Trees for Everything
Grow or Die
For its whole life, Amazon faced a classic capacity planning problem that everyone has. You need to have many machines at the busy time of the year, but they will lie idle the rest of the year. While growing rapidly, your answer is easy: arrange to buy the needed machines as late as possible, so… Continue reading Grow or Die
Dave’s Red Rant
No, not those guys! Red stands for Requests, Errors and Duration. You use then as leading indicators of the health of your program. Requests per second shows you how busy you are. If it falls to zero, you need to notice it quickly, so I set a high-priority alert for it. If requests per second… Continue reading Dave’s Red Rant
Go is Too Darned Fast!
I was trying to test the performance of channels versus mutex locks, and couldn't get either to slow down. What, do locks and channels have no cost? That's impossible! It Wouldn’t Bottleneck I have a request-errors-duration (RED) library that uses channels to avoid bottlenecking on lock contention. It was based on the advice to "share… Continue reading Go is Too Darned Fast!
