Re: Barcode Vocalization Application

From: Brad Honsey <brad_at_bradhonsey_dot_com>
Date: Fri Oct 03 2003 - 00:24:37 CDT

Have you looked into the idea of text to voice software. Using this software
the names could be typed in text and a standard computerized voice
would announce each candidate.

----- Original Message -----
From: "David Mertz" <voting-project_at_gnosis_dot_cx>
To: <>
Sent: Thursday, October 02, 2003 1:55 PM
Subject: Re: [voting-project] Barcode Vocalization Application

> |I have made a first cut of the barcode vocalization application (bva).
> |I wrote it in dBASE since I don't know Python and I don't have time to
> |it right now.
> OK. dBase seems like a slightly odd choice, but it doesn't really
> matter. Either way, you should check in the files to Sourceforge--
> that's our repository.
> I would recommend trying to compile the program with Harbour
> (, which is a GPL(-ish)[*]
> Clipper-compatible compiler. That way, we can run on Linux or FreeBSD,
> and don't have to worry about proper licensing of the OS etc. that BVA
> runs on.
> [*] Like the EVMPL, the Harbour Project added a minor Freedom-supporting
> clause to the GPL. They got FSF OK on their clause (I still haven't
> heard back from FSF on ours... agghh!).
> Still, this might be a good opportunity for you to learn a little
> Python--the whole program should be less than half as long in Python.
> As a start, you'd save any special handling of long ints. Other than
> that, everything in your code should translate pretty much line-by-line.
> E.g.
> do while n <= len(quint) - 5
> --> while n <= len(quint)-5:
> if "1" $ substr(StringOfSelections,1,8)
> --> if "1" in StringOfSelection[0:8]: # half-open w/ zero index
> Does dBase really only have ltrim() and rtrim()? I recall Clipper has a
> trim(). Anyway:
> barcodedata = rtrim(ltrim(barcodedata))
> --> barcodedata = barcodedata.strip()
> Python doesn't have IIF, you need to use an actual if/else block (or use
> one of the hacks that frequently comes up on don't do that).
> In general, Python looks pretty similar to dBase, but is usually both
> slightly shorter and slightly clearer. Neither has the line-noise
> quality of Perl, nor the obscure pointer arithmetic of C. You save
> all the "end" statements with Python.
> One general design issue is that the messages like "NO READ" or "No
> selections indicated or bad data" should really be spoken themselves
> (probably with an extra "please scan again"). After all blind voters
> will not see the screen. In fact, in production, I am sure the BVA
> machine will not have a display at all... and I'd PREFER to skip the
> display for the demo too (but this isn't absolutely required).
> |If you want to try it, you can download it here. This includes bva.exe
> |and all the wav files and the freeware wav player.
> Freeware isn't the same thing as Free Software. Wav.exe only explicitly
> says it's free for personal use, the commercial use clause is a little
> fuzzy. And we don't have the source code for audit. I admit that it's
> hard to see any security issue, since this doesn't affect printing or
> tabulating ballots... but in paranoid mode, maybe 'wav.exe' lies to the
> blind voter about which vote was registered (I admit, such a flaw would
> be easy to detect over a few trials).
> Yours, David...
> --
> mertz@ _/_/_/_/_/_/_/ THIS MESSAGE WAS BROUGHT TO YOU BY:_/_/_/_/ v i
> gnosis _/_/ Postmodern Enterprises _/_/ s r
> .cx _/_/ MAKERS OF CHAOS.... _/_/ i u
> _/_/_/_/_/ LOOK FOR IT IN A NEIGHBORHOOD NEAR YOU_/_/_/_/_/ g s
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
Received on Fri Oct 31 23:17:01 2003

This archive was generated by hypermail 2.1.8 : Fri Oct 31 2003 - 23:17:06 CST