We talked before about simple models and Spherical Cows. Using simple models to explain a complex whole came up again recently. I started reading a book called ‘First You Write a Sentence’ by Joe Moran, and on the first page the author refers to sentences as little widgets.
Sentences are my core output, the little widgets I make in my workshop of words.
Thats neat, the idea of a sentence as the simplest working thing you can make, and then by fitting them together build something complex and wonderful.
There are other ways of seeing the world as made up of simple little widgets that fit together to make a marvelous whole. For example in The Feynman Lectures on Physics we find this notion that if we had to reboot knowledge somehow, a good place to start would be with atoms:
If, in some cataclysm, all of scientific knowledge were to be destroyed, and only one sentence passed on to the next generations of creatures, what statement would contain the most information in the fewest words? I believe it is the atomic hypothesis (or the atomic fact, or whatever you wish to call it) that all things are made of atoms—little particles that move around in perpetual motion, attracting each other when they are a little distance apart, but repelling upon being squeezed into one another. In that one sentence, you will see, there is an enormous amount of information about the world, if just a little imagination and thinking are applied.
‘In that one sentence, you will see, there is an enormous amount of information about the world’. So we start with a little widget, a sentence, and in that widget we can convey the essential idea of another widget, the atom, and out of that we can build a world.
Then there is Galls Law:
All complex systems that work evolved from simpler systems that work.
So a key to understanding complex systems is to see what simpler systems they evolved from, or are composed of. Like the sentences, or atoms, that make up the system we are considering.
Such as, for example, an operating system. Take Mac OS as an example, which is a Unix based system. Unix is famously composed of simple little widgets that work together to do something interesting, as described in the ‘Unix Philosophy’
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”. Expect the output of every program to become the input to another, as yet unknown, program
In all of these notions, across different domains, we can take away the following:
- If you are building something, anything, look to the little widgets first.
- If you are trying to understand something, anything, again, look to the little widgets first.
Go from big to small - what smaller things is this big thing made of? What yet smaller things are those things made of? Get it to the point where building or explaining the widget is something you know how to do and then work your way back outwards.