This is the b2evo blog of Joseph Lorenzo Hall, politechnologist and PhD student at UC Berkeley's School of Information.
There seems to be a sentiment in the e-voting activist community that
"DREs involve secret recording and counting of votes and optical scanning technologies (Opscan) only involve secret counting."
(that's my paraphrase... I'm not quoting anyone in particular)
Someone has asked what I think about this:
Let's look at this from a scientific point of view. Both DRE and Opscan voting technology involve translating voter intent into digital records. With a DRE, the voter touching a touchscreen (or other form of input) is translated into digital selections recorded in digital storage (and possibly also recorded on a contemporaneously-produced paper record). For Opscan, the voter's marks on a piece of paper are translated into a digital record. So, in both of these cases, there is an individual digital record produced for each ballot from how the machine interprets the voter's intent; these are later (counted) tabulated at either the machine-level or after uploading them to a central computer (a tabulation server).
In both cases, unofficial results typically come from counting (tabulating) the digital records. So, it is the digital records that are counted. In places that require manual audits, some subset of machines or precincts may be manually tallied to serve as a check on the results from digital tabulation. Rarely, save in the cases of 100% recounts or jurisdictions that still use hand counting methods, are all physical ballots recounted.
As to the issue of how a voter's intent is recorded: in both cases, voter intent is translated into digital records. Is this recording secret? Well, that's a loaded term but I would agree that these digital records are not directly perceptible by voters; that is, you cannot see the process that translates the voter's intent into a digital record and you cannot see the result. The tabulation process is equally not perceptible.
The sticking point is that with Opscan technologies (and ballot marking devices, etc.) the direct record of voter intent -- the ballot that the voter marked -- is preserved and available for later analysis. With a DRE, no machine records and preserves the details of how the voter touched the screen (for example) at different times to indicate their preferences.
So, I believe it is incorrect to say that "DREs record and count in secret; Opscan only counts in secret." The correct thing to say, in my opinion, is that both DREs and Opscan technologies count and record digital records translated from voter intent using methods that are not perceptible to voters. Of course, if we care to have any of the added values of DRE, etc. technologies, we have to find ways (like the VVPAT with audits) that will short-circuit this imperceptibility of translation, recording and counting. And some manifestation of voter intent must be preserved -- either directly in the case of Opscan, etc. or indirectly in the case of DRE+VVPAT, etc.
I'm convinced that companies like Snap and Vibrant have found a clever way to make money off of people that either opt-in or opt-out of their in-text search/advertising.
Both of these companies make money off of in-text search or advertising where moving one's mouse cursor over a link results in a mini pop-up advertisement or search preview.
That is, these companies have figured out a way to make money off of providing pop-up advertisements or search windows that they serve when users mouseover their links. In order to opt-out, users have to accept a cookie from the search/advertising company. This means, the more websites that install and use the these services, the more frequently users will have their cookie read and the more complete of a profile the service can build about them as "opt-outers". If the user doesn't want to eat the cookie but would rather not see the pop-ups, they might get annoyed more often. (And there have been some reports of services like these setting cookies with short expiration dates, so the user only opt-outs for a short period of time before they have to reset the cookie.)
This is sort of a "user is damned if they do, damned if they don't" business model, which is interesting and clever. It just sucks when you're the one annoyed by the ads and privacy-conscious. (Apparently, Doubleclick... err Google DoubleClick... has been doing this for years.)
UPDATE [2007-05-23T09:57:48]: I received an encouraging email from Paul Angles of Snap.com:
Saw your post about Snap.com fiendishly making money off people who opt-out of Snap Shots. I assure you that this is absolutely untrue. Our objective is to enhance the value of links by providing additional functionality such as previews, summaries, stock charts and inline audio and video. Our monetization is based on active user involvement with our products, not by passively serving ads. We actively listen to all concerns about our products and systematically address the concerns to make our products better. That’s why we’re now featured on over 1,000,000 sites and blogs and show over 13,000,000 shots per day.
Join me in a hearty blogosphere welcome to Aaron Perzanowski... god forbid if they give this kid any realy power. ::)
These are amazing... creamy texture inside and crispy shells with a robust, but not overpowering, garlic flavor and a hint of citrus. The cornstarch is the secret; it traps water and promotes crispiness. (Leave out the garlic powder at the beginning if you don't want garlic to be as central to the dish.)
Ingredients:
Instructions:
Man, reddit was cool until some dorks started filling it up with articles about some loser named Ron Paul.
This was bugging the shit out of me in our is271B (quant methods) final... I had three arrays with NAs in different rows of each array... I had done a weird brute-force machination like the following to get rid of the NAs and preserve the pairwise matching of the data observations. In the R code for my final, I eliminated NAs in one and then got rid of the corresponding datapoints in the other arrays like so:
> climaten <- climate[!is.na(climate)]
> urbann <- urban[!is.na(climate)]
> cropgrown <- cropgrow[!is.na(climate)]
> climatenn <- climaten[!is.na(urbann)]
> urbannn <- urbann[!is.na(urbann)]
> cropgrownn <- cropgrown[!is.na(urbann)]
> climaten <- climatenn[!is.na(cropgrownn)]
> urbann <- urbannn[!is.na(cropgrownn)]
> cropgrown <- cropgrownn[!is.na(cropgrownn)]
As you can see, if you're dealing with a ginormous dataset with many variables, this becomes hella tedious hella fast.
This bugged me sufficiently that I figured out how real R users do it.
They put all the variables in question in an R data frame and then
use the function na.omit() to remove all rows with NAs in them (you
can do very complex types of extraction using the subset()
function.). Here's how to do it in R:
> library("foreign")
> dat <- read.dta("world95.dta")
>
> #attach (make available) data variables
> attach(dat)
>
> #put vars in question in data frame to clean NAs
> dattmp <- data.frame(climate,urban,cropgrow)
>
> #this removes rows with any NAs
> datclean <- na.omit(dattmp)
>
> #take vars, cleaned of NAs, back from data frame to array
> climaten <- datclean$climate
> urbann <- datclean$urban
> cropgrownn <- datclean$cropgrown
>
> #a quick boxplot
> boxplot(urbann ~ climaten)
>
> #... we can continue from here.