““One in a Million” Is next Tuesday”, 2004-03-30 (; backlinks; similar):
I was looking into a bug with Gordon Letwin, the architect for DOS 4. I looked at the code and commented “Maybe this is what was happening? But if that were the case, it’d take a one in a million chance for it to happen”.
Gordon’s response was simply: “In our business, one in a million is next Tuesday”. He then went on to comment that at the speeds which modern computers operate (>4.77 MHz, remember), things happened so quickly that something with a one in a million chance of occurrence is likely to happen in the next day or so.
I’m not sure I’ve ever received better advice in my career. It has absolutely stood the test of time—no matter how small the chance of something happening, with modern computers and modern operating systems, essentially every possible race condition or deadlock will be found within a reasonable period of time. And I’ve seen some absolute doozies in my time—race conditions on MP machines where a non interlocked increment occurred (one variant of Michael Grier’s
i = i + 1bug). Data corruptions because you have one non protected access to a data structure. I’m continually amazed at the NT scheduler’s uncanny ability to context switch my application at just the right time as to expose my data synchronization bug. Or to show just how I can get my data structures deadlocked in hideous ways.So nowadays, whenever anyone comments on how unlikely it is for some event to occur, my answer is simply: “One in a million is next Tuesday”.
View HTML: