The simple joys of the humble slide rule

A slide rule is almost the simplest possible machine.

A bunch of scales printed on three rulers, the middle one of which can slide relative to the other two. Then finally, a glass box around the outside with a thin ("hairline") mark down the middle, held perpendicular to the rulers.

Yet with this simple contraption you can perform all calculations normally reserved for a calculator, all the way through most Americans' high school math. I'm forever amazed by the ingenuity that enables trigonometry, powers, logarithms, and more to be calculated by rubbing two sticks together. This simple action was actively being performed in outer space by the pioneers taking part in the space race.

But that's not the best part. Such a simple device is completely devoid of abstraction, of hiding the implementation away. I can use a calculator to find a square root, but I have no idea how that took place. I'm just punching in some numbers, and reading some others off. But a slide rule lays bare the fact that a square root is the value at half the distance on a logarithmic scale. Using a slide rule, you see the underlying math right in front of your face.

I recently re-watched the amazing video on the fast inverse square root algorithm in the old quake 3 codebase. Like most everyone watching that today, I marvel at the genius required to invent that algorithm - "how does someone even come up with that?".

Fast Inverse Square Root - A Quake III Algorithm

Except now I have at least a partial answer: by being regularly exposed to the underlying math concepts that make it possible.

This all hits me right where I live.

It's exactly the same conflation of factors that makes me love reading and writing on the small web. Simple enough protocols that everyone with some programming experience might as well build their own servers, stripping away the endless layers of obfuscation from the modern web, and taking us back to a time both technically and culturally where the web was about people. It's a similar enough sense that I renamed my small web programming toolkit to sliderule.

sliderule: the small web toolkit for go

And so I submit to geminispace that I suspect lots more of us here might find a fascinating diversion in learning slide rules.

~tjp

---

Home