Posted on 11/05/2004 7:47:45 PM PST by RogerWilko
Good call! I was about to say the same thing. They used an unsigned 16 bit integer and it rolled over at 32767.
Interesting
Bush got almost 400,000 more popular votes than Kerry in Florida this 2004
algore only got an alleged 500,000 more popular votes nationwide than GW Bush did in 2000
Do I smell a mega-trend here?
I note this was not missed by James Carville and Slick Willie!
P.S. - Just how does it feel to have done more to cyber-influence the outcome of this 2004 election in your PJs than Dan Rather did on network TV conspiring with Kerry and the New York Times?
Say good night Uncle Wally!
What is happening is simple: a signed 16-bit value can handle 216 possible values, from -32768 to 32767. 215 are positive including 0, the remaining half negative.
The software is doing something like this:
COUNT = COUNT + 1;
DISPLAY( ABSOLUTE( COUNT ) );
The number "wraps" when it increments from 32,767 to 32,768, becoming -32,768, then -32,767, then -32,766. The ABSOLUTE operation causes it to always be displayed as a positive.
The real mistake here was using such a small integer for such potentially large numbers. If they had used a 32-bit integer (easy even for the small microcontrollers that might control these machines), they would not wrap until they reached 231: 2,147,483,648, or over 2 billion.
The problem is markedly similar to that which we expected on Y2K: numerical wrapping.
Thanks for the ping!
I hope we'll be ready for 2006
A lot of open source software proponents are liberals, true. Just load up Slashdot: you'll see about as many "Bush sucks/go Kerry" commentas you will "M$ sucks" comments.
This is an effort to try to put the result in doubt. Trust me,
no machine in Florida had 32,000 people vote on it.
I don't know how it works in Broward, but in DC you marked your ballot by hand and then there was one machine per precinct to scan and count the ballots.
There are about 8 machines at each precinct-- there was that many at the place I voted at. I suspect more at larger precints. This is bunk. This is an attempt by the kooks
to turn this country into a Third World craphole.
Don't believe them, there were lots of machines at lots of precincts all over the state. They got out-voted, now they should just STFU.
There are about 8 machines at each precinct-- there was that many at the place I voted at. I suspect more at larger precints. This is bunk. This is an attempt by the kooks
to turn this country into a Third World craphole.
Don't believe them, there were lots of machines at lots of precincts all over the state. They got out-voted, now they should just STFU.
here's the site you need to go to:
http://www.browardsoe.org/Polling_Place/districtrequest.php3
not signed int VoteTotal;
unsigned int VoteTotal;
/* dammit!! */
This is true; I hate looking at slashdot any more, and I got a four-digit UID (translation: been registered there since 1998).
But I take issue with the idea that giving away software (or anything) is an inherently "liberal" (socialist) idea. Liberals want to give away OTHER PEOPLE'S stuff and keep their own.
The free software movement is totally voluntary: you write something and you want to give it away and make sure it stays given, you GPL it. You don't wanna give it away, no problem, keep it or sell it for what you can.
That philosophy is not socialism, not even though many socialists are practicing it.
bump!
--Boris
Yep... not 32,000 but 32,768.
Correct. However, the sequence I stated was correct for a 16 bit unsigned integer. It appears that one register was writing to an unsigned integer while another part of the tabulation program was interpreting it as a signed integer. Does that make sense?
Also, I agree. A 32 bit integer would have been more appropriate.
Doh! Right. My bad.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.