The other day I was walking past a store in the mall. Exciting, I know! But wait… it gets better!
The store had a sign:
“No
- backpacks
- duffle bags
- food/merchandise without receipt “
Just as I was reading it… Someone walked in with food. But it was in a Subway bag so I assume he had a receipt and it was all okay. Whew!
Then I saw that one of the people in the store was wearing a backpack! Not okay! Even worse was that no one seemed to be doing anything about it. People were just ignoring it as if it didn’t matter. But… how?
I was stunned. It was the proverbial rule that was made to be broken.
It’s a funny phrase, “Rules are made to be broken.” It’s funny because rules are most obviously made to be kept. But it means something, because people say it, and most things that people say mean something.
I think it means that there’s a degree of sloppiness to every human system. I think it means that the store*says* they don’t want backpacks in their store, but that they’d rather the guy with the bag still come in and buy something, so long as he doesn’t steal anything.
Rules applied without discretion are a bad thing. It’s extremely difficult to write a useful set of rules that can be applied automatically and without thought - the best example of this is the legal profession. In trying to do so, those poor people wound up inventing their own language and their own culture, and are still regarded by most philistines as having failed.
And they don’t get invited to parties. Not the good parties, anyway.
Why do I bring this up? Because there’s one area where rules cannot be broken, and that’s computing. It’s the area in which I work.
Computers basically operate according to a series of rules - “If there’s this number here, and this number here, and the number 43 over here, then I will add the first two numbers because of the 43.”
You can’t break these rules. Not even a little bit. You can try, but the result is that your computer will have a serious hissy fit, and you won’t get any work done that morning. Your computer is pretty much a stupid rock that’s not going to yield to what you want.
In return, you get the promise that your computer will do the same thing every time, which is a very good thing in some cases. If you’re a banker, every time you add two pennies together, you want to get two pennies. Every time. You’re not interested in ever changing things up, and if your computer can promise not to, that’s only a good thing.
But human systems are sloppy.
Have you ever tried to build a sloppy system on a precise machine? It takes compromise. It takes design. Most of all, it takes fakery, deception and dirty tricks. If you work at a high enough level, sometimes you can make a precise system that looks something like a sloppy one, in the right places.
Most of the time, however, why you write a system, you write a precise system with no flexibility and no compassion. Then you try and use it, and you say, “Where’s the love? Why does this system hate me?”
And that’s when you add, bang in the middle of the application, a big red button that says, “Override.”
You’d like it to say, “Don’t do that you stupid hunk of junk, because I hate you and I want you out of my life forever.”
But the button isn’t big enough.
This is why I hate computers.