voting
casting and counting votes is an interesting problem. the system needs several properties. 1) an individual should not be able to prove how he voted. otherwise i could sell my vote. or my employer could fire me if i don't vote the way he directed. 2) we have to be able to detect errors. either the accidental kind where things went abozo. or the deliberate kind where someone cheated. ideally, we want to be able to correct errors. but we might have to settle for just detecting them. either 1) or 2) is pretty easy. having both is where the difficulty lies. i like voting on a machine. it makes the votes easy to count. but knowing firsthand how buggy and how vulnerable software can be... ::shiver:: anywho, i'd do things this way. make my vote on a touch screen like we do. it then prints my ballot. on one side i can see the names of the people i voted for. on each side is the same large number. which i'll blog more about later. between the two sides is a blank area. i can draw any pattern i want in this area. i'd draw a smiley face. then the ballot is separated. names and half the smiley face go in the ballot box for the official count. and i get to keep the rest as a receipt.