Friday, August 22, 2008

ggaaarrrRRRRGGGHHH!!!

Diebold has just come out to say that indeed their machines and code were responsible for miscounting votes in Ohio.

First they assured the country that their machines were operating properly, every vote was being counted perfectly.

Then, when it was proved that the votes were NOT being counted properly, they blamed the installed Anti-Virus software for causing the problem. (Aside: Why the crap does your voting machine need anti-virus software?! It shouldn't ever be in a position that getting a virus is even possible. In the words of tech people everywhere: "You're Doing It Wrong.")

Now, they've fessed up and admitted that it is their stuff that is broken, but (they claim) there is no way to fix it before the elections this November.


Are you freaking kidding me?! You can't fix this software? and therefore expect everyone that has these machines to simply use known incorrect machines for the presidential elections?

In response to that, first let me say, this company is a disgrace to every programmer in the world. Tallying votes is NOT HARD!

Look here's code to do it:

button_Candidate1_click() {
Candidate1.votes++;
}
button_Candidate2_click() {
Candidate2.votes++;
}
button_Candidate3_click() {
Candidate3.votes++;
}

That is IT! Right there I've written the most essential part of the voting software for a three candidate election. If this is not exactly what the code on the Diebold machines look like for counting votes then it can only be because of deliberate and malicious design for these machines to not count each vote. Honestly, I'm not dumbing this down, that is how the code would look, in fact, it would look exactly like that in almost every single modern programming language.

This is why any type of voting machine MUST be Open Source and allow anyone in the world to look at the code, and allow a team of unaffiliated non-partisan experts to examine the physical machines to confirm that the machines act the way the code says they should.

On top of all this a separate system should print out a person's vote, and ask the voter to verify that the information on the paper matches the information on the screen. Once they verify the two the electronic vote is tallied, and the paper vote drops into a locked box automatically. Now we have a perfect paper trail of verified votes to support the electronic system.

It really isn't that hard. You could probably hire pretty much any single programmer to create this system in under a week.

Look into the Open Voting Consortium for more information about how to do voting right and for thousands less.

So when you go to vote this November, how will you know your vote is being counted properly? Do you trust some unaccountable company when they say "We won't show you the code, but we promise it works properly"? I don't.

No comments: