(2022-02-10) Rao Tools
Venkatesh Rao: Tools. There are two kinds of tools: user-friendly tools, and physics-friendly tools. User-friendly tools wrap a domain around the habits of your mind via a user-experience metaphor, while physics-friendly tools wrap your mind around the phenomenology of a domain via an engineer-experience metaphor.
The middle tends to produce janky tools unusable by everybody.
Physics-friendly tools force you to grow in a specific disciplined way, while user-friendly tools save you the trouble of a specific kind of growth and discipline
Physics-friendly tools feel like real tools, and never let you forget that they exist. But if you grow good enough at wielding them, they allow you to forget that you exist. User-friendly tools feel like alert servants, and never let you forget that you exist. If you grow good enough at wielding them, they allow you to forget that they exist. When a tool allows you to completely forget that you exist, we call it mastery. When it allows you to completely forget the tool exists, we call it luxury.
The nature of a tool can be understood in terms of three key properties that locate it in a three-dimensional space. One we have already encountered: physics-friendliness to user-friendliness. The other two dimensions are praxis and poeisis.
The shape of the range of a tool in this 3-dimensional space might be called its gamut
What we think of as the “medium of the message” is a function of this gamut
I am bad at learning new physics-friendly tools. In my entire life, I’ve really only learned three
I’m much better at learning user-friendly tools, but then, so is everybody, and what makes an engineer worth the title is their ability to pick up physics-friendly tools quickly and deeply.
I’ve learned dozens of physics-friendly tools in a very shallow way, up to what might be called hello-world literacy. Deep enough to demystify the nature of the tool, and develop a very rough appreciation of its gamut, but not enough to do anything useful with it. I can do this very quickly, but run into my limits equally quickly. This makes me a decent technology manager and consultant, but not a very good engineer.
In the last couple of years, through the pandemic, I self-consciously tried to change this, and learned several physics-friendly tools in deeper ways
CAD (with OnShape)
Soldering
Electronics prototyping
Embedded programming (with Arduinos)
3d printer use
Working with a Dremel tool
Python
Animation with Procreate
Right now, I’m trying to pick up a few more — PyTorch (a machine learning framework in Python), 3d design/animation with Blender, and the basics of Solidity, the programming language for Ethereum. I hope to get to amateur levels of competence in at least a dozen tools before I turn 50, spanning perhaps 2-3 different technological stacks and associated tool chains
This is uncomfortable territory for me because I’m by nature a tool-minimalist
So why try to gain competence at dozens of tools?
The reason is simply that doing more complex things like building robots takes a higher minimum level of tooling complexity. We do not live in a very user-friendly universe, but we do live in a fairly physics-friendly one.
Premature user-friendliness is the root of all toolchain jankiness perhaps.
Fundamentally reducing the complexity of tooling required to do a thing requires understanding the thing itself better.
Edited: | Tweet this! | Search Twitter for discussion