Computers Are Programmed By People Not Magic

from the trust-but-verify dept

Ben Adida has a great post discussing the misplaced faith people often have in the machines in their lives, and the way that faith often spills over to e-voting. He mentions a scene in the 2006 HBO documentary on e-voting where an election official breaks down in tears when someone shows her how her voting machines could be hacked. For computer programmers, who are intimately familiar with what goes on under the hood, the idea that we should automatically trust anything a machine tells us is a little bit ridiculous. We're aware that computers are extremely complex devices that can go wrong in any number of ways, that they're designed by fallible human beings, and that it requires a lot of very careful engineering to make sure they're secure and reliable. We recognize, in particular, that the more complex a system is, the more likely it is to have problems, and so the more skeptical we should be of its results. It's not a coincidence that $5 pocket calculators tend to work flawlessly, while complex systems like Excel and the Pentium chip sometimes make basic arithmetic errors: the greater complexity increases the number of ways things can go wrong.

But a lot of non-technical folks seem to view things the other way around. Last week, for example, I noted a a Chicago law professor who thinks that "the future is surely with the touch-screen or some other form of online voting." The problem with this statement is that if our goal is security and reliability, which it should be, the added complexity of computers and touchscreens is a big disadvantage. But this isn't obvious if you've never looked under the hood to appreciate all the things that could go wrong. Computers are not magical boxes that always produce the correct answer, but unfortunately, a lot of people seem to think that they are.

Filed Under: complexity, e-voting, magic, programming


Reader Comments

Subscribe: RSS

View by: Time | Thread


  1. identicon
    Etch, 28 Mar 2008 @ 11:04am

    Bullshit

    What is the complexity in Creating a client machine that sends Requests, and a server that receives requests and sends back an Acknowledgement????

    It seems to me to be the most BASIC kind of Client-server relation!! Am I wrong??
    I worked in designing Kiosks almost 7 years ago that did the same thing using Java and it worked flawlessly! Doesn't Amazon's website do hundreds of thousands of transactions a week?? Possibly even in a day?
    Wouldn't anyone here with any idea about business systems say that Amazon's website is 10X more complex than a simple e-Voting machine??? What's the complexity? Amazon does more traffic in a week than a "Flordia" voting machine will do in a month(assuming the people will vote everyday for a whole month.. very unlikely)! So what is the complexity here?

    It seems to me that there should be at least ONE company out there who could have built this system properly, tested it out and had rolled out by now??
    Maybe I should submit a proposal??

Add Your Comment

Have a Techdirt Account? Sign in now. Want one? Register here



Subscribe to the Techdirt Daily newsletter




Comment Options:

  • Use markdown. Use plain text.
  • Remember name/email/url (set a cookie)

Follow Techdirt
Techdirt Gear
Show Now: Takedown
Advertisement
Report this ad  |  Hide Techdirt ads
Essential Reading
Techdirt Deals
Report this ad  |  Hide Techdirt ads
Techdirt Insider Chat
Advertisement
Report this ad  |  Hide Techdirt ads
Recent Stories
Advertisement
Report this ad  |  Hide Techdirt ads

Close

Email This

This feature is only available to registered users. Register or sign in to use it.