Skip to content

Assumptions

by Nicholas Barnard on May 15th, 2005

Full Disclosure: This is an angry response to a diatribe a friend delivered to me on Friday the 13th. I was unable to turn this into a discussion, and I physically walked away from him, while he was in mid-sentence.


I will immediately concede the point that my friend made, then made again, then made yet another time, then made at least two more times, all without stopping for a breath. Most people continually make assumptions about any variety of situations. We assume the world will exist tomorrow, that public utilities will be operable, and that every phenomena is explainable if researched long enough. Making assumptions is a wholly necessary part of life.

That said, we also have assumptions in which we can choose to operate on. For instance we can choose to assume that our brakes will always work on our car and wait until the last feasible second to begin braking. Or (sticking with cars) we can assume that since we are the safest driver on the road, and as such will never get in an accident we should drop our auto insurance down to the legal minimum with the biggest deductible, have the bumpers, airbags, and seat belts removed from the car. (to sell as spare parts of course) But the fallacy in this logic is the assumption that most accidents result from our own unsafe driving. This assumption ignores the fact that not every accident can be prevented by our driving skills.

If you’re taking inventory in a warehouse you could assume that since a pallet of product should have 70 cases, every pallet has 70 cases. (This is a safe assumption for the most part. If I was inventorying say cases of pineapples, I’d be fine operating on this assumption. But, if I were inventorying cases of rolled quarters, I would want to count every case.)

The nuance of the situation is that when making an assumption we open ourselves to potential problems.

An excellent case and point is many of the security bugs in software. If you read any set of security notices for long enough you will most likely note a theme of “buffer overflows” and “malformed packets/flies/commands.” (Note: I just made an assumption regarding your cognitive and literary abilities, as well as the set of security notices you are reading.) Most of these errors are caused because the software in question expects data in a specific format and does not check to ensure the data is in that format. The security hole arises because the programmer made the assumption that the data would be in the proper format, and did not check to ensure that it was.

I’ll give one final example before I get to the specific situation that originated this entry.

Its actually quite common at work for people to share passwords with each other. People rely on a specialized assumption called trust in this case. (Someone breaking our trust, is simply the discovery that our assumption regarding the other person’s integrity is incorrect.,) This assumption can cause all sorts of problems – user ids/passwords act as a digital signature. I’ve not seen it happen yet but there are areas whereby giving someone your userid/password you can get yourself into bigger trouble.


Now to the original problem. I was presented with “the blue car problem” (i.e. How would you determine how many blue cars are registered in the country.) I chose to make the fewest assumptions and responded “Check the Department of Motor Vehicle records.” My friend responded that nobody ever had presented that answer to him, and responded with a volley of statistics that would have to be correlated to obtain an answer. I responded that that method makes too many assumptions (statistical variance is a measure of the potential inaccuracy in our assumptions.)

I stand by my original method; the best way to determine how many blue cars are in the country is to count them via DMV records.


I choose to make as few assumptions as possible.

When you make an assumption you open yourself up to the potential for unpleasant surprises.

I’ll close with an old assumption: Airplane hijackers want to negotiate with governments to obtain their goal. Therefore, a pilot should concede to their demands and get the airplane on the ground.

That assumption lost us several thousand lives.

From → Uncategorized