Friday, July 15, 2011

A Voting System without "Spoilers" -- Approval Voting

A perpetual problem with our current voting system is that it subjects third-party candidates to charges that they are "spoilers" while forcing voters to vote strategically rather than honestly. That is, if you really like candidate C, but realize that the most likely winner is either candidate A or candidate B, you may feel obligated to vote for A to prevent a win by B.

How hard is it to get around this problem? Not hard at all -- it just means considering the system that was used to vote for the first four U.S. presidents. That's Approval Voting.

Under approval voting, you can vote for as few or as many choices as you like in each election. Then, every vote for every candidate is added up, and the candidate with the most votes (approvals) wins. Easy.

More here, at the Center for Election Science.

Tuesday, June 7, 2011

TEVS Live CD now online

One of the most frustrating things about the TEVS software has been its dependence on a modified version of an open source image utility library. It was an early mistake but, because it worked for me on my setup, it wasn't until very recently that I removed the dependency on this modified version. The dependency made it needlessly difficult for others to build TEVS. But it's gone now.

In addition, a lot of cleanup, documenting, and restructuring of the ballot handling code has been done by James Frasche, thanks to funding provided by Lori Grace and the Grace Institute for Democracy and Election Integrity. (Thanks!) This will make it easier for people to add handling for new ballot types going forward.

So it finally makes sense to make a Live CD available to those who might want to have an environment in which they can run the code, figure out what they want to add or improve, and just add and improve it.

The Live CD is a version of the Ubuntu Live CD which includes TEVS, all the programs it uses, a few sample ballot images, and a link to the code repository at tevs.googlecode.com. While it's NOT slick, it does provide a few buttons that allow you to run TEVS on a small set of provided ballot images and see the results, see the XML templates that get built, then run it again on the same images to re-use the templates, then run it on the images at a lower resolution, to see the difference in speed between 300 dpi images and 150 dpi images. Because the Live CD's 900 meg size won't fit on a CD, it needs to be burned onto a DVD. Once you've burned it to a DVD, though, you can just pop it into any PC or modern Mac and run Ubuntu and TEVS without installing them on your machine.

If you've never used Ubuntu Linux, don't worry. It should be perfectly straightforward how to use things for the demo. You can also see how easy it is to use Ubuntu for things like web browsing and general office work.

The Live CD should be a good tool for demonstrating the possibilities TEVS provides. It can be downloaded from this link: http://dl.dropbox.com/u/18212385/customdist.iso


Monday, March 21, 2011

TEVS Source Code Update Online

A Mercurial repository of the TEVS source code is now online at tevs.googlecode.com.

The entry point for the data extraction code is at tevs/main.py, and the generic ballot handling code is at tevs/Ballot.py. The display code, in tevs/TEVS.py, will be undergoing major modifications.

The reason for putting the code online at this point is not that it's ready for prime time, but that the data extraction part has now been restructured to the point that it's no longer mostly a waste of time to use it as a starting point.

Friday, December 24, 2010

Happy Holidays

May the human spirit prevail.

(n.b.: Jonathan is no relation, nor is the composer.)

Wednesday, December 1, 2010

Some Preliminary Results for November 2010

I've run the set of Transparency Project scans through the counting software and have preliminary results. More precise results will need to wait until I've had an opportunity to go through things much more carefully, but I feel comfortable releasing the percentages I've calculated for some of the races.

For some close races which had substantial interest, here are my preliminary percentages compared with the official results. Please keep in mind that the variances of 1/10 of a percent are very reasonable given that my count still needs to properly resolve over-votes -- where there were too many votes in a contest -- and is still missing approximately 150 sheets which were refused by the counting software. There are also a small number of very-lightly-marked ballots from which a very few additional votes will be harvested, but these should have little effect on the percentages.

DA
Gallegos 52.0 vs county 52.08
Jackson 47.7 vs county 47.61

Eureka Ward 3
Newman 44.3 vs county 44.18
Kuhnel 42.0 vs county 41.95
Manns 13.5 vs county 13.59

Supervisor District 5
Cleary 49.1 vs county 49.04
Sundberg 50.5 vs county 50.38

Progress Update 4

Complete sets of ballot scans are now available from the Humboldt County Elections office. Even when compressed, the data takes up six DVDs, so it is more than I plan on posting to the 'net (others might, though). The uncompressed, higher quality images take up something like a dozen DVDs.

As I mentioned in an earlier update, our percentages track the official percentages, which is what you'd expect. I will post my calculations of initial race percentages here, probably later today, so any interested parties can compare them with the official results.

As the Transparency Project only received the very last of the ballots on Tuesday, I don't plan on posting absolute numbers until at least a few days from now, after I've had a chance to rerun counting software, go through ambiguous votes, and look at some of the 350 images (out of 207,000+) that didn't get processed automatically.

Sunday, November 28, 2010

Progress Update 3

Humboldt County released the remaining ballots for us to scan late last week. As of Sunday night, we have fewer than 1500 ballots remaining to be scanned (each ballot is two sheets). That means we're 97% done with the scanning.

We hope to have our preliminary counts available by Tuesday, when the elections office certifies their results. Our incomplete results do not disagree with the official results in who has won and who has not.