Good maths, bad computers


Do you like maths and computers? If so, I recommend Mark Chu-Carroll’s Good Math, Bad Math blog. Mathematicians strive for precision and clarity, which creates a natural tension with the more pragmatic world of computer programming. As Donald Knuth famously wrote:

Beware of bugs in the above code; I have only proved it correct, not tried it.

Yesterday Mark Chu-Carroll shared a precise formula for solving that most slippery computing problem of them all — figuring out a project schedule.

[One of my favorite managers] said that when a programmer gives you an estimate of how long something should take, multiply it by two and increase the unit. So if they say it’ll take a day, assume two weeks. If they say a week, assume two months. In my experience, it’s actually a really good predictor.

And if they say it’ll take 5 months to complete a novel digital typesetting program, expect delivery 10 years later…

Certainly Mark Chu-Carroll’s metric is of more practical use than Hofstadter’s self-referential law. I’d like to see it built into project planning tools.

Mathematicians are equally precise about random numbers, a notorious source of computing issues. I also recommend John D. Cook’s blog, The Endeavour, which covers a broad range of mathematical and programming topics. In a recent article he points out why quasi-random numbers can sometimes be better than truly random numbers.