Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Microsoft Extends XP For Low-Cost Laptops

Asprin Re:This shows Microsoft's priorities (388 comments)

I Completely agree with you, especially about the chicken & egg thing. I would only add that a BIG part of the reason why we are where we are is because of the steady stream of marketing Microsoft has directed at developers since the 90's. To the previous reply, I would still argue that your customers are who you market to, and Microsoft doesn't pimp to anyone like they do to developers. Again, remember the monkeyboy. Peace.

more than 6 years ago

Submissions

Asprin hasn't submitted any stories.

Journals

top

My Idea For An Electronic Voting System

Asprin Asprin writes  |  more than 10 years ago
Obviously, I'm leaving out a lot of important details, but I would like to propose the following electronic voting system. I welcome your comments and criticism - I am not interested in a voting system that cannot stand under scrutiny, we've already seen enough of that.

The main problem in the 2000 presidential election wasn't chads or court orders. It was that we just had a really close election. So much emphasis has been put on designing a perfect system, that almost no consideration has been given to designing systems that can fail gracefully. With that in mind, my approach maintains the best parts of a paper balloting system (namely, paper ballots which are - unlike punchcards - human readable) while leveraging the technology where it should be leveraged: in the tabulation process.

The system needs to be split into two parts:

  1. VOTE PRINTERS that generate completed paper ballots
  2. TABULATORS that tally the votes recorded on the paper ballots.

The mechanism for recording the votes on the card would be (and here's where all the technology comes in) plain text printed in a font that is both human-readable and easy for a scanner to read using Optical Character Recognition (OCR).

BALLOT PRINTERS
The ballot printers would need to be loaded with a database or list of voting options and candidates before the election begins, then, all they would do is show the options on the screen, let you pick your choices and print you a ballot listing your votes in a HUMAN READABLE AND EASILY OCR-ABLE FONT. No non-human barcodes or hole punches allowed!

For example, the printed ballot might look like this:

USPRESIDENT: MICKEY MOUSE
USVICEPRESIDENT: DONALD DUCK
STATEPROP01: FOR
STATEPROP02: AGAINST
COUNTYPROP04: FOR
LCLSCHOOLLEVY01: FOR
...

...and so on.

TABULATORS
After you visually verify that the ballot printer has successfully printed the ballot you want to cast, you take it over to the tabulator, which scans the card, OCRs the votes you've cast, shows them its screen so you can see how they were recorded, awaits your OK and stashes the ballot in a sealed metal box. At this point, your vote is counted and you are done.

When the tabulator scans the card, it converts the text on each line of the ballot to a raw text string. Then, it searches the strings it has already encountered (in memory) for a match and increments the vote counter for that string if it is already present. if not, it adds the string to the list in memory and increments the counter for it. (This is how write-ins are accepted, and it also avoids the need to program the tabulator with candidates before the election is held.)

Please note that the tabulator does not "know" anything about the issues in the election, nor about who is running in any race - it only counts the number of occurrences of text strings. Interpretation of those text strings is left in the hands of election officials and the judicial system, where it belongs!

When the election is over, election officials can request a printout of the results from each tabulator and add them together by hand to report the outcome of the election for their district.


INTERESTING NOTES, PROS, CONS, FEATURES, ETC.

  1. Except for the election data that needs to be loaded to prompt the voter, the ballot printers can be sealed because they would require no software code updates.
  2. The paper ballots do not need to be preprinted, mapped or keyed in any way.
  3. The vote counting machine only needs to count the number of times individual text strings appear on ballots, so it does not need to be loaded with candidate or issue data before any election. Therefore, it can be completely sealed (as in "welded shut"!) with no internal maintenance needed! there would only be a simple set of keylocked controls like a 'reset' switch to print vote totals, wipe the memory, seal the ballots in the box and eject the box for transport. Load a new box, and you're good to keep on voting. Even if these controls fail, the cards are still intact and you can recount on a different machine.
  4. Because of this, write-in votes are indistinguishable from selection votes as long as the voter can spell the name correctly. In fact, the requirement that the ballot printers be preloaded with the candidates for the various races and issues is unnecessary except to make voting quicker with fewer errors due to the standardization of spelling. For example, non-existing or duplicate candidates (such as MICKEY MOUSE, AL GORE and AL GORRE) can be argued by interested parties (such as an official from a candidate's election committee) and awarded to candiates or invalidated by election officials or a judge.
  5. Se hable espanol? Si! The system can be enhanced to provide for alternate language voting as well. In principle, the board of elections just needs to load the machines with the correct issues in other languages and interpret the results as a Spanish language vote. Flexibility here is provided by the local board of elections, not the hardware.
  6. Since the ballots themselves rely on OCRable plain text as the encoding mechanism, write-in votes can be easily included, and write-in misspellings can be handled by the election board if necessary.
  7. Oh, and if (for whatever reason)re-scanning electronically is not an option for a recount, hand recounts are possible, too because the ballots are plain text.
  8. Since it's as easy for the ballot printer to print two ballots as one, so there's an option here for the voter to take a written record home with them. Now, several other /.'ers have reminded me why this kind of receipt is a terribly bad idea (ahem, vote selling), but it's an option if you want it. Further, you can do all kinds of stupid crytographic tricks if you choose to print receipts, like... you could have the ballot printer create a unique asymetric keypair for each voter and digitally sign each copy of the ballot with a different half of the key so that both halves would need to be brought together to certify the votes cast on it. [This would need to be thought through by professionals who know a lot more than I do.]
  9. Power failure wipes the memory in the tabulator or it fails and needs service in the middle of an election? No problem. Election officials can re-scan or hand count the ballots later.
  10. The device that knows everything about the candidates knows nothing about the vote totals and vice versa. That should make it a difficult system to subvert.
  11. Your vote is not cast until you feed the printed card into the tabulator, so you can visually inspect it for correctness and re-print it if it is wrong.
  12. No networking.
  13. No software, really, except the OCR stuff. I'm trying to use appropriate technology to make problems go away, not use technology for its own sake where it is not warranted.

You guys are probably going to find all kinds of problems, but I'm interested in hearing your thoughts on this.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>