Voting Machines:
Did Your Vote Count?
We Cannot Know What The Voting Machines Did!

Thomas D. Schneider, Ph. D.
Frederick, MD
version = 1.25 of votingmachines.html 2006 Nov 18

"But look what they are doing!" I said. "These are violations of their right to vote!" "Oh, they've always done that," he said quietly. "You just notice it because now they're playing games with the white folks, too. How's it feel?"
-- Bev Harris and Jerome Dudley in Black Box Voting: Ballot Tampering in the 21st Century (www.blackboxvoting.org, Chapter 1, pages 2-3)

This page is an urgent call for

In the 2004 and 2005 Elections I used a Diebold AccuVote-TSTM voting machine to cast my vote. This page is devoted to explaining why my and your votes on this and other computerized voting machines may have not counted.

Warning: HUMOR: Bush Wins Florida! This small humorous clip explains the problem in a nutshell. The only difference is that when you voted, they would be very careful to make sure that you were not frustrated ...

User Interface. The user interface of the Diebold AccuVote-TSTM is very clean. It consists of a flat touch screen sitting on top of a pizza-box computer. The computer has a lock that perhaps attached it to the voting box. One inserts a small card that supposedly loads the particular vote ballot into the machine. One then merely touches the appropriate squares to vote. A final screen shows the votes. One may back up and change votes. (I did not try this.)

After The Vote. After I finished voting, there was no evidence that I had voted. As far as I could see, my vote might not have been recorded in the machine. My vote might have been set to anything and I could not verify it. My vote might be tallied later. But there is an even worse problem. Without open source code nobody, not even the election officials, knows what happened.

The Problem is in the Program. The computers were loaded with a program. Consider the possibility of this program, written in Pascal. You don't need to be a programmer to follow it. The stuff inside "(*" and "*)" is comments to help you see what is going on.


  (* If today is November 2, 2004 then do the following ... *)
  if date = "2004 November 2" then begin

     (* Pick a random number between 0 and 1. *)
     r := rnd(0);

     (* If the random number is less than 1/100 then do the following ... *)
     if r < 1/100 then begin

        (* Set the vote to a Favored Candidate *) 
        vote := Illegally_Favored_Candidate

     else begin (* other wise do this: *)

        (* Set the vote based on what was pressed on the screen *) 
        vote := fingerpress(screen);

     end

  end
  else begin (* When it is NOT November 2, act "normal". *)
     (* Set the vote based on what was pressed on the screen *) 
     vote := fingerpress(screen);
  end

This MADE UP snippet of code does several things.

How Programs Work. To understand the severe danger that our Democracy is in, you must understand how computer programs work. There are two components to a program. The first is the source code. The example above is source code. It can be easily read and understood by humans. Comments (as I gave above inside "(* ... *)" ) help but are not necessary (or even could be misleading) to understanding what the code does.

In some computer languages source code can be read by the computer, but this slows down the processing. So in general the source code is transformed into binary. The binary code is long strings of 1s and 0s:

10111010100110101001010011001100001101101010101
This can be read by the computer directly. It is burned onto CDs for distribution, usually with a severe legal warning that a user agrees not to attempt to convert the binary back to source code.

The Voting Computer Is a Black Box. The use of binary means that you can not know what is going on inside a voting machine. Even if you had the binary of the program, you still would still not know whether or not an illegal code snippet like the one given above is in the machine. Voting officials (presumably) only get the binary from the company, not the source. So the voting officials do not really know what the program is doing and they must trust the company. What if the company has been paid a lot of money to throw the election to a particular candidate?

Call for Open Source Code. There is only one way to verify the 2004 election. The source code for all election computers must be released. The source code must then be compiled by election officials and the resulting binary compared to the binary distributed by the company. If the comparison does not match by even one bit, the election has been compromised!


Resources


Organizations


Blog


What are Tom's qualifications for creating this page? I have written over 200 programs.

This page can be found using the Tiny Url: tinyurl.com/r95zt

This page was written entirely with my personal resources on my own time. No governmental funds, equipment, space, time, matter or electrons were used. Although I am a government employee, speaking out about candidates is allowed under the Hatch Act. On page 4 of the Pdf booklet: "Permitted and Prohibited Activities for Employees Who May Engage in Partisan Activity ... May express opinions about candidates and issues". "Expressing opinions about candidates and issues in private and in public (even when done in a concerted way to elicit support for a candidate or party)." is permitted. This page is paid for by Thomas Schneider and not authorized by any candidate.

Tom Schneider's Home Page
origin: 2004 November 3
updated: see top of page