Posted on 11/05/2004 7:47:45 PM PST by RogerWilko
Friday, November 05, 2004
FORT LAUDERDALE It had to happen. Things were just going too smoothly.
Early Thursday, as Broward County elections officials wrapped up after a long day of canvassing votes, something unusual caught their eye. Tallies should go up as more votes are counted. That's simple math. But in some races, the numbers had gone . . . down.
Officials found the software used in Broward can handle only 32,000 votes per precinct. After that, the system starts counting backward.
Why a voting system would be designed to count backward was a mystery to Broward County Mayor Ilene Lieberman. She was on the phone late Wednesday with Omaha-based Elections Systems and Software.
Bad numbers showed up only in running tallies through the day, not the final one. Final tallies were reached by cross-checking machine totals, and officials are confident they are accurate.
The glitch affected only the 97,434 absentee ballots, Broward Elections Supervisor Brenda Snipes said. All were placed in their own precincts and optical scanners totaled votes, which were then fed to a main computer.
That's where the counting problems surfaced. They affected only votes for constitutional amendments 4 through 8, because they were on the only page that was exactly the same on all county absentee ballots. The same software is used in Martin and Miami-Dade counties; Palm Beach and St. Lucie counties use different companies.
The problem cropped up in the 2002 election. Lieberman said ES&S told her it had sent software upgrades to the Florida Secretary of State's office, but that the office kept rejecting the software. The state said that's not true. Broward elections officials said they had thought the problem was fixed.
Secretary of State spokeswoman Jenny Nash said all counties using this system had been told that such problems would occur if a precinct is set up in a way that would allow votes to get above 32,000. She said Broward should have split the absentee ballots into four separate precincts to avoid that and that a Broward elections employee since has admitted to not doing that.
But Lieberman said later, "No election employee has come to the canvassing board and made the statements that Jenny Nash said occurred."
Late Thursday, ES&S issued a statement reiterating that it learned of the problems in 2002 and said the software upgrades would be submitted to Hood's office next year. The company was working with the counties it serves to make sure ballots don't exceed capacity and said no other counties reported similar problems.
"While the county bears the ultimate responsibility for programming the ballot and structuring the precincts, we . . . regret any confusion the discrepancy in early vote totals has caused," the statement said.
After several calls to the company during the day were not returned, an ES&S spokeswoman said late Thursday she did not know whether ES&S contacted the secretary of state two years ago or whether the software is designed to count backward.
While the problem surfaced two years ago, it was under a different Broward elections supervisor and a different secretary of state. Snipes said she had not known about the 2002 snafu.
Later, Lieberman said, "I am not passing judgments and I'm not pointing a finger." But she said that if ES&S is found to be at fault, actions might include penalizing ES&S or even defaulting on its contract.
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.