Loose notes about scaling
Link between programming and bureaucracy
- A computer program is a collection of inflexible specifications of processes. So our bureaucracies.
- Primary difference: the executor in a computer program is a machine, in a bureaucracy it's one or multiple people.
- Programmers consistently overlook escape hatches from the fixed path. "I want to talk to the manager", the justice system, etc. Bureaucracies tend to have some mechanism for arbitration/adjucation. Computer programs much less so.
- This is also relevant for blockchain tech: is this lack of arbitration worth it because the current arbitration is so shit?
Regulation and bureaucracy:
- Bureaucracy is a tool for scaling processes. You take trust in people and put it in processes.
- Most people (including regulators) want principle-based regulation. Protect your customers, etc. However, this does not scale because it requires unique insight in every individual case. Hence, compliancy bureaucracy.
- That's not to say that we should give up looking for principles-based regulation. There's a difference between functional and sclerotic bureaucracy. An example of the former is renewing your driver's license. An example of the latter is the GDPR compliancy.
Scaling to what?
- "Scaling" is too narrow a term. A lot depends on how far you want to scale. Millions of users can probably still use a simple websites that's one 1-2 servers.
- A lot of architecture astronauting happens here: people building unnecessary (distributed) things because "it scales".
- "Life Happens in the Pre-Asymptote" - N.N. Taleb. A lot of Taleb's work is about pre-asymptotics, and they matter!
Miscellaneous links:
home