3 ms·
We run into this situation in programming quite a bit. The answer is refactoring: taking the principles and patterns that work, streamlining them, ditching the
by DanielBMarkham 15y ago
We run into this situation in programming quite a bit. The answer is refactoring: taking the principles and patterns that work, streamlining them, ditching the cruft that works for a few edge cases but mostly gets in the way, simplifying the underlying metaphor of the system, and re-asssembling.
The only way to do this with much larger systems, such as systems of governance, is revolution or exploring new lands. Personally I'm a bit concerned about revolution -- the assumption with refactoring is that the people refactoring understand what the "good" parts are and what the "bad" parts are. They also need to be able to generalize and simplify in order to keep the system cognitively approachable. In my experience, it's very easy to be angry-tear-down-the-system guy, very difficult to actually refactor. As the author points out, it's not that these systems are entirely useless. The hell of the thing is that the reasons for creating these systems are still very valid.
I remain convinced that programmers (hackers) have a lot to add to the discussion when talking about complex, brittle systems. After all, we spend a lot of time both working with them and fixing them. To me, programming and systems architecture is applied philosophy. Very cool stuff.
- jacques_chester 15y agoRefactoring is what political types call 'reform'. Reformations are safer than Revolutions, because revolutions dissolve all civil structure. They allow the ruthless sociopath to prosper. What programming has taught me is humility in the face of complexity. Refactoring only works because we can, at a stroke, reverse our changes; because we can place those changes in isolation and test the heck out of them. But society, constitutions, laws: they are not software systems. A revolution can't be rolled back. A constitutional change is a hotfix applied to a running system. It's important to be careful. You might find reading Burke on the French Revolution interesting; also Oakeshott on conservatism (the intellectual kind, not the god-n-guns kind).
- DanielBMarkham 15y agoI think we completely agree. I did not mean to imply anything but humility was indicated here. "Reform" is a big, fuzzy word. A lot more brittleness and complexity has been added under that rubric. Systems of governance eventually get "over learned", that is, people adapt to the system and use it in more ways than it was intended. The ability of hundreds of millions of people to adapt is much greater than any amount of complexity that we can create. Yet we persist in the idea that by continuing to "tweak" the system, somehow magic will come from it. To me this is where humility comes in. We can never create a perfect government. The best we can do is have one that balances stability and refactoring. Election cycles and constitutional amendment processes were supposed to do this. What we've found, though, is that legal precedent, statutory code, and an expansion of pure democracy and the role of career politicians, given enough time, puts us exactly where we didn't want to go. Interesting side note: overly complex and brittle systems that people execute actually give dictatorial powers to those responsible for executing them. That is, in a computer system, the complexity creates program crashes and dysfunction, because the computer has to treat each instruction cycle and piece of data the same. In a system executed by people, a subtle social goal takes over: things still appear to happen. The system still superficially looks like it is working somewhat -- those in authority just selectively apply and bend the rules depending on whatever their whims are. If you've ever worked in a large organization with too much process, you've easily observed this: most struggle under burdensome rules, never being able to get anything done. A few, however, work completely outside the system, given special permission. These folks are usually kept off the radar so as not to upset the troops. Complex people systems don't ever stop working, they just make things miserable on most everybody and give a few permission to do whatever they want. You'd think that modern tyrannies would look like old Libya: one guy in a funny hat ruling totally. But that's not the way it works any more. It's not one guy, it's a distributed oligarchy, and it's not out in the open, it's obfuscated.