Why Socrates Hated Democracy

Problem: How do you determine who should be eligible to vote?

You can't. So the best thing to do is to instead:

  • Publically fund elections so better candidates can run for office.

  • Use quoram based priority multiple-choice voting instead of first-past the post.

  • Allow anyone to vote with no restrictions (I believe that yes, even felons should be allowed to vote).

  • Make the vote a secret.

  • Have an audit trail of the vote.

  • Make the vote paper based.

  • Vote by US mail. It's protected by special laws that other methods of voting are not, and it enables more people to vote ahead of time, avoiding lines and reducing demand on election volunteers.

  • Any software built related to voting should be open source, gpl licensed. It should always be free, forever.

  • Any software built to actually tally votes (which is a bad idea) should use encryption and auditable block-chain technology (like bitcoin). This allows every peer in a network of machines to validate the correctness of votes, and have an audit trail. If this system is used, it's best to have the actual votes done by paper and have the machine take the paper results to tally them. This way we now have two audit trails, a paper based audit trail, and an electronic one, built with encryption. If they don't match, we need to recount.

  • Publically fund the development of any software related to voting (not just voting machines, but also voting registery, voter management, and so on)

  • Set a required public debate schedule for all candidates in the election. If there are more than 10 candidates, then other preliminary debates need to be scheduled to determine who can move on to regular debates.


If our technology is sufficiently advanced, we can form other kinds of democracies:

  • Implant everyone with a chip at birth that allows them to vote for or against new laws. (The people essentially replace the House of Representatives, you would still elect a Senate and other leaders using the same mechanism).

  • Create an AI so complex that it determines the most efficient ways we can allocate resources. Our government would consist of lots of AI programmers who work to improve the AI. The people would vote for the AI programmers.

  • Replace all laws with a new programming language that can be compiled, linted, and can handle errors. Representatives become developers who argue over pull requests. Voting still happens as normal, but citizens can also submit pull requests, which representatives can code review and ratify if enough votes are given. The git log (or whatever log of whatever advanced scm) becomes the history of how the law changed. It's auditable and knowable.

/r/videos Thread Link - youtu.be