The Internal Revenue service has, as government agencies go, a pretty simple directive. Here is the tax code, which we can consider to be a big lump of business logic. Here are people’s statements of how much money they made and how much money they owe. Using those two, make sure that people stated both halves accurately.
It won’t surprise you to learn that that isn’t actually a simple task.
I do expect it to surprise you that it’s even more complicated than that. Here’s something that betrays the complication, one little directive from IRS Publication 17, Chapter 12: “If you receive a bribe, include it in your income.”
Yes, the IRS has to tax you on illegal income. No, the IRS isn’t allowed to fully care that it’s illegal income - otherwise the whole agency is a walking 5th Amendment violation, something that people frequently get on their case about. I am not the world’s biggest fan of the IRS - but I think that their position is a great illustration of how complicated systems work. Systems get complicated easily, and the ongoing task of “civilization” is to make complex systems manageable. This is difficult, and the difficulty scales up unpleasantly late in the game. It’s still worth thinking about.
My favorite exposé of this, especially in light of the California elections, is Steve Yegge’s Have You Ever Legalized Marijuana? He barely scratches the surface, but he very effectively demonstrates that legalizing marijuana, no matter how much you like the idea, is a huge and complicated thing.
Taming complex systems is never easy - but that’s pretty much how we get advances in civilization. So we need to be good at it. I’m always happy to see evidence of this happening, especially when it’s in entertaining form. Pac-Man comes to mind. Pac-Man is a great example of a complex system in this context - and a recent blogulator has given us all a fascinating look at the internals. This is the sort of thing I love reading, because it shows how aspects of ordinary life that we don’t always look at directly, are full of complexity and reward investigation.
Unfortunately, that complexity also means endless debate. Even when there is an authoritative answer to a complex question, someone whose salary depends on that answer not being understood, will probably be able to prevent people from understanding it. The long version of this is in Cosma Shalizi’s authoritative takedown of The Bell Curve tomfoolery, and the short version is in The Onion’s “New Study Finds Blacks More Likely.”
This is part of why simplicity and elegance are hard. We are surrounded with complex systems, and synthesizing something simple and useful requires taming complexity - which is a tremendous challenge. Fortunately for us hackers, that’s usually where the interesting problems are.