19 March 2008

This post is a trade secret

How hard is it to write voting machine software? Seriously, ignore all the problems we've had with them, and (if you're a CS, or just bored) picture it. How long would it take you to write something that asks the user who they vote for, and records it?

Who do you vote for?

 

DONE. Slap a database connection on that thing and it's already more successful than the voting machine software in use today. What is wrong with these companies? Furthermore, what could possibly make them think this is ok:

Union County has backed off a plan to let a Princeton University computer scientist examine voting machines where errors occurred in the presidential primary tallies, after the manufacturer of the machines threatened to sue, officials said today.

A Sequoia executive, Edwin Smith, put Union County Clerk Joanne Rajoppi on notice that an independent analysis would violate the licensing agreement between his firm and the county. In a terse two-page letter Smith also argued the voting machine software is a Sequoia trade secret and cannot be handed over to any third party.

Excuse me? How can we possibly still allow security through obscurity designs? Haven't the *epic failures* of these designs in the past proven that we should maybe not do them anymore?


If you missed what actually happened that prompted this investigation, there's coverage elsewhere, I'm not going to go though it all. In short, dozens of voting machines in New Jersey were disagreeing with themselves: the number of votes for each candidate didn't add up to the total number of votes the machine said were cast. The article I just linked to had a fantastic example of how bad this is:

This is a single voting machine, disagreeing with itself about how many Republicans voted on it. Imagine your pocket calculator couldn’t make up its mind whether 1+13+40+3+4 was 60 or 61. You’d be pretty alarmed, and you wouldn’t trust your calculator until you were very sure it was fixed. Or you’d get a new calculator.

We (as in, the country) should refuse to so much as consider a voting machine that isn't completely open. And I know this is the OSS inside of me talking, but in this case I would think everyone would agree that a voting machine that can be examined by everyone is better than "It works and doesn't cheat at all, pinky swear. Love, Sequoia". Anyone that wants to can view the source code for this page and look at how my voting buttons above work, so they can clearly see that clicking Hillary's button seems to very suspiciously cast a vote for Obama anyway.

Finally, this is somewhat unconnected to the general "closed-box voting machines are bullshit" argument above, but I noticed this in the article too:

Sequoia maintains the errors, which were documented in at least five counties, occurred due to mistakes by poll workers. The firm, which is based in Colorado, examined machines in Middlesex Count, and concluded that poll workers had pushed the wrong buttons on the control panels, resulting in errors in the numbers of ballots cast.

Why in the world do poll workers have buttons that change the number of votes that have been cast? Why do poll workers have buttons that do anything at all? Let's take a poll on what poll workers should be able to change:

Add votes
Subtract votes
Nothing at all
It doesn't matter, I'm just going to change your votes anyway

Good news, you all voted for "nothing at all", because I changed your votes. Perhaps I shouldn't have this power, and neither should the fairly technology-illiterate poll workers who just have to see what the blue button does.

No comments: