Distance Debugging Logo

Let's say that you want to win the lottery (who doesn't?). You have two problems that need to be overcome:

  1. You have to guess the right numbers.
  2. Even if you guess right, you have to split the jackpot with a bunch of other lucky folks who also guess right.

Most people only worry about part 1, but if you are going for the best expected value, which is a combination of odds of and payoff, then you need to worry about 2. For instance, you would probably rather be the sole winner for a $200 million jackpot than be forced to split it with 20 other people (even though $10 million is still a ton of money).

The ironic part is that there is little or nothing that you can do about 1, but you can do something about 2. Here's a simple tip: play numbers greater than 31. A common strategy is playing birthdays as one's numbers because they are easily mapped to lottery selections and perhaps in some primordial way, they provide a symbolic "offering" of your loved ones to the lottery gods. Assuming every combination of numbers has the same odds of winning, you might as well play some numbers that are unlikely to be played by others so that if you win, you reduce the likelihood of having to split the payout. Since birthdays must consist of numbers that are less than or equal to 31, you increase your expected value with some well-chosen numbers.

What does this have to do with debugging? It illustrates that you can often improve your chances of success, in addition to saving time and energy, by remembering that computers are built, programmed, and used by people. Psychologists use the term "Theory of Mind" to describe people's ability to conceive of others as having mental states, intentions, beliefs and so on. The minds of those involved in the system, particularly users, should be taken into account when trying to understand reported problems.

Tomorrow: Using assumptions about mental states to fix things faster

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
We hate to do this, but to comment, you'll need to prove you aren't a spambot by answering this question: