Tuesday, July 1, 2014

June 2014 results

The Transparency Project results for the June 2014 primary track the elections office results quite closely.

113,470 single side images were scanned from the cast ballots provided by the elections office.

Of these, all but 41 images were accepted by TEVS.  Without manually adding in these images, and without manually checking TEVS best guesses as to how to award overvotes, we have the following:

Measure N 951 yes to 797 no in the county's results; 951 to 798 in the TEVS results.

Measure M 244 yes to 127 no in both county and TEVS results.

District 4 Supervisor, county 2821 Bass to 2587 Kerrigan with 13 writeins; TEVS 2821 Bass to 2583 Kerrigan with 13 writeins.

District 5 Supervisor,county 3465 Sundberg to 2239 LaTour with 16 writeins; TEVS 3456 Sundberg to 2224 LaTour with 15 writeins.  (My suspicion is that county elections workers were able to identify and award various voter-corrected ballots that TEVS left as overvotes, simply seeing two dark marks but not understanding any cross-outs or pointing arrows.)

DA:  County count, then ETP
Dollison: 2154 vs. 2157
Klein 1396 vs. 1391
Firpo 7454 vs. 7420
Fleming 16487 vs. 16450
Write-in 51 vs. 53

As with the District 4 race, the discrepancies in the DA race are likely due to voter-corrected ballots where TEVS saw that two positions had been marked but where county workers saw corrections marked on the ballots and awarded votes.

If anyone were to want to invest further time, they could manually inspect each overvoted ballot and each vote TEVS rated as uncertain, and add in the votes on the 41 images not automatically processed, to get more exact figures from the data available to the transparency project.  However, these results track the county results closely enough in the close races that I see no need to go to that level of detail.

Saturday, November 23, 2013

November 2013 results

The election of November 2013 had very low turnout, but a little bit of excitement was caused by a flip in the results of one close race between election night and the first post-election update.

We scanned the ballots and performed an independent count of the election using the most recent version of TEVS (ISO image and signature available via links at humetp.org) and the TEVS results were virtually identical to the county's second post-election update, varying by zero to three votes over each race, out of 14 thousand ballots cast.

Images are available from the Humboldt County Elections Office.

The complete image set, with a copy of the TEVS ISO, is also available on a 16 gig memory stick for $25.  Please email mjtrac at email provider gmail dot com if interested.

Tuesday, December 20, 2011

The Transparency Project in 18 Minutes

Donald Regalmuto has put together an edit of my presentation in Marin County in October 2010. (It even includes my first ever attempt at animation, done with the open source program Synfig Studio. Even though it's extremely basic and lasts only about 15 seconds, I'm really happy to have animated something.) The video is about 18 minutes and may be of interest and/or use. This was put together thanks to Lori Grace.

If the version below is clipped, you can see it directly at You Tube:


Sunday, November 20, 2011

Updated November 2011 Election Results

After I manually scanned through all ballot images to search for and make any corrections to the TEVS results, I located 35 vote targets whose software interpretations needed correction. Mostly, these were due to extremely light check marks. The scan of the 12,000 images, with votes overlaid on them by the software, went at about 90 to 100 images per minute, or 90 to 100 ballots per minute, since these were single sided ballots.

Having made those corrections, my independent results off of the Transparency Project's images match the county's Final Unofficial Results exactly except for the following:

Dave Saunderson 1559 versus county report of 1557
Emil Fierabend 441 versus county report of 442
John W Corbett 1377 versus county report of 1376
Joe O'Hara 104 versus county report of 102
Judy Gower 162 versus county report of 164
Mike Seeber 55 versus county report of 54
Susan Johnson 3104 versus county report of 3103
Zachary Thoma 16 versus county report of 17

As my interpretation of votes may not have followed the official rules, it is very reasonable to assume that the errors are in the independent count. None of the discrepancies would change any results.

The only reason I am not calling this "entry" final is that we may have an opportunity to do multiple-person recounting of the races with discrepancies.

Thursday, November 17, 2011

Preliminary Results, Nov 2011 Elections

Given the dismal 22% turnout, there were only 12,269 ballots for the Transparency Project to scan. We began with 3.5 hours of scanning on Veteran's Day, and then 3 shifts this week totaling 11 more hours.

I ran the scans through TEVS yesterday and have manually counted the (fewer than 10) ballot scans it rejected. I also checked for votes on about 40 ballot images when a vote region was indicated as just a smidgen above the darkness cutoff. The results are still missing for one ballot, where we mistakenly scanned the blank reverse. That ballot will have to be retrieved from the County's ballot storage.

The results compare well with the Final Unofficial Results posted at the County web site.

I'll point to a spreadsheet once I've been able to check the results more thoroughly, but here
are screen shots of the spreadsheet in its current form. The write-in results are incomplete, due to my mistake, but the other results are mostly within 1 of the Final Unofficial Results, with a couple off by 2.

Note that some candidates have more than one line, where optical character recognition generated multiple versions of their name and I did not merge them (many such variants have already been merged in software -- the ones that show are the ones I missed).

Tuesday, November 1, 2011

If I can shop online, why can't I vote online?

An important explanation of a common question, by David Jefferson, at the Election Law Blog.


Thursday, October 20, 2011

Progress towards a graphical UI for TEVS

I'd hoped to have a tested graphical user interface version of TEVS ready before November, but that has proven impossible. As I won't be able to touch this for some time, I've posted the existing code in an alternate repository, tevs.gui, at tevs.googlecode.com. Though it works soup-to-nuts for scanning, processing, counting, and reporting at my setup, it is untested, undocumented, and incomplete.

Here are screenshots, from which behavior can be inferred. Clicking the images will get you larger versions.

There are three control panel tabs, corresponding to the stages of the process.

First tab on control panel is for scanning. The GUI calls out to a separate scanning process, which gets the scans and writes them to files. The GUI then reads the files. Controls allow for choosing endorser if available, changing resolution, selecting duplex/simplex and ballot size. If a scanner is not found (unplugged, bad connection) the user can check and click "Search for scanner" to connect. If it is present, its type is displayed. More than one scan source is not now handled.

Second tab is for processing scanned ballots into a vote database, getting info from the database, signing and writing all info to a DVD. The signing and writing process is done by prompting a user through a terminal window dialog with tar, gpg, etc..., and encouraging them NOT to do the signing on the actual machine running TEVS.

Decisions about how to insist on an educated user have been the most difficult part of this process -- it is pointless to produce a tool that is simply trusted. The disk's user is free to alter the database at will -- the assumption here is that the group using the tool is independent of the elections office and trusts itself

Merging OCR variants -- templates are built automatically on supported vendor ballot designs when the system encounters new ballot types (as in new precincts, for example), but the OCR in building the templates will sometimes read the same contest or choice with different errors from one precinct to the next. The system makes its best guesses and then asks you to confirm or alter associations between different variants of contests and choices before it totals things up. To ignore this, all one needs to do is click "Done" and the system skips on to overvote processing and counting up the votes.

Showing results -- they can also be put into a PDF and printed.

Third tab is for displaying results on ballots. You can walk through ballots sequentially. You can also query the database for ballots with particular characteristics (ambiguous votes, overvotes, particular precinct, etc...), and can click through the resulting list to see those ballots.

The user interface is done using Gtk, and its appearance is generated via Glade, a user interface design tool. This makes it easily alterable and translatable. Tasks like scanning, database access, and ballot processing are farmed out to other processes, generally slight modifications of the non-UI routines that already exist.