February 6th, 2006

There's this thing in transactional data. It's a field (usually) that database administrators call, "dirty". The concept is fairly straightforward: If the data has changed locally, it is "dirty" and those changes must be sent to the server. The idea being that, though you want to capture all data changes, you don't want to send unchanged data back to the server.

Most people are already familiar with this concept, they just don't realise it: What's the point in saving (or printing) this document again if I haven't made any changes to it?

In the case of the database and its back-end server, you want to minimize the chatter between your computer and the server (or the bank machine and its back-end transaction layer, or your CRM program and its database, etc.) so you create the concept of the "dirty flag".

When the data is retrieved the dirty flag is False. As soon as you make any change to the data, the dirty flag becomes True. And so whenever it comes time to quit the program, or remove your bank card or whatever, the program first checks the dirty flag: Is it True? Yes? Then transmit the changes to the server (and wait for a "confirmed" response), otherwise stop wasting the server's precious bandwidth and time already and just go ahead and quit.

(And speeding everything up a notch--part of that software term "optimizing"--is the reason for this in the first place.)

* * *

So why do I mention this?

Well, it's because of an observation I made yesterday while I was hanging out with 80% of my family. I realised that when we communicate, we don't do it in accordance to the concept of "dirty flags". We may have had a conversation seven minutes ago, been completely assured that "nothing has changed" and still we bring it up again. And again. And again. We say the same words to assure ourselves that what we said remains true, and then we go to our respective homes and phone or email ourselves to confirm what we already stated 400 times face-to-face.

We talk a lot. We have conversations that retrace steps over the same ground repeatedly (until we have worn tracks into it, and the words we use become meaningless). And then we repeat it to ourselves as though something may have changed.

And I noticed something yesterday: Once the words become meaningless--like reciting the Lord's Prayer in church--we start to use variations on the words, which we then get into disagreements about. We may all be saying the same thing in five different sets of words, but you'd never know it by the way we are "arguing" about the individual words. It was pedantic to listen to these disagreements that only arose because we had agreement, then repeated it until we distorted it back into disagreement:

A: "We'll order two medium pizzas."
B: "Okay, sounds good. Two medium pizzas."
C: "Will that be enough?"
B: "Yes."
A: "None of us are very hungry."
D: "OK, I'll order two medium pizzas."

[three minutes later]

D: "I ordered two medium pizzas."
B: "Large would have been too much."
A: "No! You didn't order large pizzas, did you? That's too much."
C: "Pizza can be reheated later for another meal."
D: "I ordered two medium pizzas."
A: "No, we don't want leftovers if we can avoid it. We said two medium pizzas for a reason."
D: "I ordered two medium pizzas."

[four minutes later]

B: "Did you say you ordered medium pizzas?"
D: "Yup. Two of them."
A: "That's two MEDIUM pizzas, right?"
D: "Yes, I though we agreed that we weren't hungry enough to order two large pizzas."
C: "We're not, but even if we had, it would've been okay."
B: "Oh no, we wanted two medium pizzas only. Two large is definitely not okay."
A: "Jesus Murphy, you didn't order two large pizzas, did you? I told you to order two medium!"
D: "I ordered two medium pizzas."
C: "You're not lying, are you?"

[seven minutes later]

D: "The pizza's here."
A: "Are those mediums? They look pretty large for mediums."
B: "Large? But-"
D: "Two medium pizzas."
B: "But you said they don't look like mediums! We wanted mediums, damnit! Why are you doing this to us?"
C: "They look like medium pizzas to me. Here, the bill says, 'medium' on it."
A: "Both of them medium?"
C: "The boxes are the same size, aren't they? If one is medium, then the other has to be also, doesn't it?"
A: "Don't get smart with me."
D: "I ordered two medium pizzas."

The hazards of talking too much.

If we had a "dirty flag" concept, we could simply check ourselves: Did we already talk about this? Yes. Has anything changed since then? No. Then let's move on and not bring it up again, shall we?


Rate my blog - Sign my guestbook - Email me - Go back to index