Virtual Voting Machine Demonstration

Minister Cullen's argues that the voter can be sure that his/her vote is recorded correctly because he/she sees it displayed on the machine.

Here are two simple programs which demonstrate that a direct recording electronic machine can display one vote while recording another.

"Implementation A" records votes correctly and "Implementation B" records the opposite of each vote (all 'Yes' votes are recorded as 'No' and vice versa).

The difference between the two programs is one word in the source code, demonstrating that a small change in the source code can radically change the result.

You can download an uncompressed version of Implementation B here.

The problem of lack of transparency can be demonstrated as follows:

Downloads
Implementation A: The correct implementation. Executable
(Win32; 210K Zip)
Source
(6K Zip)
Implementation B: The incorrect implementation. Executable
(Win32; 210K Zip)
Executable
(Win32; 406K EXE)
Source
(6K Zip)

This is available for Windows 95 and later only.

The source code is provided for any programmers who are interested. It's written in Borland Delphi (Object Pascal), simply because that's what I usually use for Win32 development. The difference between the source code of the two programs is the omission of the keyword "not" in one place in "Implementation B".

I (John Lambe) have made two separate copies of the whole source, rather than using a conditional define since this is probably easier to understand for non-programmers.

You can distribute this freely.

This idea was proposed by Colm MacCarthaigh.