Some hacker mental masturbation on this great day:
How do you build a voting machine that is unhackable and reliable? Just software? Software and hardware? OS? Do you put the hardware in a sealed box?
Where are the weak points in a system like this and how do you ensure they aren't exploited? Do you have to leave a paper trail or is there a better solution?
1) Paper, optical scan ballots (bubble filling)
2) A machine in the booth to do the reading and counting with a step that shows the voter how it read their ballot and a big "confirm" button they press to count the vote and drop the ballot into the secured bin.
3) Pick X percent of the machines and manually verify their results. Any machine that votes significantly outside the bell curve should also be manually verified.
This gives "instant" counting to support the unwritten requirement that our elections return results on the night of voting so we can treat them like big sporting events, but also leaves the canonical vote outside of the machines where it can be used to verify the machine vote.