Chris Lomont and the Excel formatting bug

Wednesday 7 November 2007

In September, a bug was reported in Excel 2007 which makes 850×77.1 display as 100,000 instead of the correct 65,535. Many people theorized about the cause. Chris Lomont did something different: he analyzed the behavior of the code in depth, and found the problem, producing a 25-page paper with code and diagrams: An Analysis of the Excel 2007 "65535" Bug. This is an impressive piece of work, and is an instructive example of the difference between what problems appear to be, and what they actually are.

It also includes this paragraph in the conclusion:

A final comment to lawyers confused about fair-use issues, reverse-engineering for interoperability, First Amendment and DMCA issues, and the like. Be sure to do your homework before you contact me. It will save us both time and one of us embarrassment.

Chris has a lot more than that, too. His site has tons of math-meets-computers goodness, including graphics code, puzzles, screen savers, floating point tricks, LED hacking, superball pranks, and so on. Good fun.

Comments

[gravatar]
Shawn Wheatley 11:34 AM on 7 Nov 2007

I was really confused when I read your post in Google Reader and saw "...which makes 85077.1 display as 100,000 instead of the correct 65,535." I guess something in your feed generator stripped out the multiplication symbol or Google Reader munged it. Either way, very interesting post.

[gravatar]
Ed Davies 5:00 PM on 7 Nov 2007

The rss.xml file doesn't contain the multiplication symbol. wget then hd gives:

00000910 20 6d 61 6b 65 73 20 38 35 30 37 37 2e 31 20 64 | makes 85077.1 d|

[gravatar]
Ned Batchelder 10:09 PM on 7 Nov 2007

Interesting. I'm not sure why it was missing, but I've been meaning to get rid of the excerpts feed anyway. Now the rss.xml feed redirects to rssfull.xml, which has full posts, including the times symbol.

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.