Man Spends 2,200 Hours Defeating Bejeweled 2 179
An anonymous reader writes "A California steel contractor spent 2,200 total hours over the last three years racking up a high score in Bejeweled 2. He exceeded the 2^31-1 maximum score programmed for the score display, proving that there is, in fact, an end to the game. I suppose congratulations or condolences are in order."
Re:Signed int (Score:3, Informative)
That's actually an often misattributed quote. From Bill Gates's wiki article:
Often attributed to Gates in 1981. Gates considered the IBM PC's 640kB program memory a significant breakthrough over 8-bit systems that were typically limited to 64kB, but he has denied making this remark. Also see the 1989 and 1993 remarks above.
I've said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There's never a citation; the quotation just floats like a rumor, repeated again and again. Gates (19 January 1996), "Career Opportunities in Computing—and More". Bloomberg Business News
Do you realize the pain the industry went through while the IBM PC was limited to 640K? The machine was going to be 512K at one point, and we kept pushing it up. I never said that statement — I said the opposite of that. "Gates talks" (20 August 2001) U.S. News & World Report
Re:We need more people like this guy (Score:1, Informative)
I don't think there's anything wrong with "pairs of three." He obviously meant that each set of six aliens should be sorted into two matching groups of three.
Re:Condolences? (Score:3, Informative)
Three years = 1,095 days.
2,200 hours = 132,000 minutes
132,000 minutes / 1,095 days = 120 minutes / day
Honestly, where the hell did you come up with 5?
Because of libraries and external dependencies (Score:5, Informative)
An honest, practical answer:
Because most people who develop software link to other libraries, and many of those libraries don't have overloaded functions that take unsigned ints as parameters.
For example, C#'s String.Substring function [microsoft.com] takes Int32s as parameters. So if you're using an UInt32 called x to hold some kind of index that you want to use in that function, you have to 1) check to see if x is less than zero (or better yet, less than UInt32.MinValue), and if so, throw an exception, then 2) cast x to an Int32, which takes a miniscule amount of time and resources.
It's much easier just to define x as an Int32, even if you never intend for it to be negative.
In the case of Bejewelled, I can only guess as to what dependencies might exist. Maybe the graphics routine to display the score on the screen is some kind of DisplayNumber(Int32 number,...) function that is generic enough so that they can write the function to display any number, positive or negative, and not have to build and maintain (and risk breaking when the code is updated) yet another function to do the same thing with uints because some weird bizarre edge cases exist where people use numbers > 2^31 but for whatever reason can't just use an Int64 instead.
Re:Signed int (Score:2, Informative)
Re:We need more people like this guy (Score:3, Informative)
parsing error on "pairs of three"
That's no parsing error, that's a type checker exception!