Thursday, November 2, 2006

Election Glitches, My A$$

Get a clue, people! Remember - it's the voting machines, stupid. Is this how the GOP plans to win and why they're not worried.....?

Election Computer “Glitches” - Ha!

When you see weird election results, if it’s not an outright glitch, then it’s programmer intent....

Okay, I’ve been working in computers since 1989, when I was in 7th grade. I’ve been fixing computers for a vast majority of that time. I got halfway through a programming degree before real world economics interfered. I’ve done my share of cracking and a little bit of hacking. I’m no hacker. I’m no software engineer. But I can tell you this much about election software “glitches”.

int main(){
#declarations (#include iostream, #include cstring, etc)
int ballot[27] = 0; // 27 different races, initialize to 0
int i=0;
cout << "Straight Ticket?\n"; cin >> ballot[0]; // 0 for no, 1 for republican, 2 for democrat, 3 for green, 4 for libertarian, etc.
cout << "President?\n" cin >> ballot[1]; // 0 for no, 1 for republican, 2 for democrat, 3 for green, 4 for libertarian, etc.

cout << "Underwater Basket Weaver?\n" cin >> ballot[26]; // 0 for no, 1 for republican, 2 for democrat, 3 for green, 4 for libertarian, etc.
// tally votes
if (i=0;i++;i<27)
{
cout << "The outcome for race " << i << " is " << ballot[i] << ".\n";
}
return 1;
}

Now, in this oversimplified C++ code example, here's how easy it is to change the election...

change:
if (i=0;i++;i<27)
{
cout << "The outcome for race " << i << " is " << ballot[i] << ".\n";
}

to:

if (i=0;i++;i<27)
{
if (ballot[i] == 2) then ballot[i] = 1;
cout << "The outcome for race " << i << " is " << ballot[i] << ".\n";
}

Let me pronounce that for you. "If ballot of i is exactly equal to 2, then set ballot of i to one."

Now, it's been years since I programmed in college, and my HyperCard syntax might have just given me compiler errors, but the point is very clear here. One line of code is all the change you need to fix an election, and it CAN NOT be unintentional. However, there are clever ways of hiding it.

You can use a random number generator to only fix a certain percentage of the vote. rand.seed(GMT)%11 will take the time and seed a random number generator, modulating it to numbers between 1 and 10. 10% chance of election fixing. You can do it as high or low as you want. Again, one line of code.

This is not rocket science for people like me. And I haven’t programmed since 1996. That was before the ANSI/ISO standard for C++.