Shallow Thoughts : tags : politics

Akkana's Musings on Open Source Computing and Technology, Science, and Nature.

Thu, 19 Jan 2017

Plotting Shapes with Python Basemap wwithout Shapefiles

In my article on Plotting election (and other county-level) data with Python Basemap, I used ESRI shapefiles for both states and counties.

But one of the election data files I found, OpenDataSoft's USA 2016 Presidential Election by county had embedded county shapes, available either as CSV or as GeoJSON. (I used the CSV version, but inside the CSV the geo data are encoded as JSON so you'll need JSON decoding either way. But that's no problem.)

Just about all the documentation I found on coloring shapes in Basemap assumed that the shapes were defined as ESRI shapefiles. How do you draw shapes if you have latitude/longitude data in a more open format?

As it turns out, it's quite easy, but it took a fair amount of poking around inside Basemap to figure out how it worked.

In the loop over counties in the US in the previous article, the end goal was to create a matplotlib Polygon and use that to add a Basemap patch. But matplotlib's Polygon wants map coordinates, not latitude/longitude.

If m is your basemap (i.e. you created the map with m = Basemap( ... ), you can translate coordinates like this:

    (mapx, mapy) = m(longitude, latitude)

So once you have a region as a list of (longitude, latitude) coordinate pairs, you can create a colored, shaped patch like this:

    for coord_pair in region:
        coord_pair[0], coord_pair[1] = m(coord_pair[0], coord_pair[1])
    poly = Polygon(region, facecolor=color, edgecolor=color)

Working with the OpenDataSoft data file was actually a little harder than that, because the list of coordinates was JSON-encoded inside the CSV file, so I had to decode it with json.loads(county["Geo Shape"]). Once decoded, it had some counties as a Polygonlist of lists (allowing for discontiguous outlines), and others as a MultiPolygonlist of list of lists (I'm not sure why, since the Polygon format already allows for discontiguous boundaries)

[Blue-red-purple 2016 election map]

And a few counties were missing, so there were blanks on the map, which show up as white patches in this screenshot. The counties missing data either have inconsistent formatting in their coordinate lists, or they have only one coordinate pair, and they include Washington, Virginia; Roane, Tennessee; Schley, Georgia; Terrell, Georgia; Marshall, Alabama; Williamsburg, Virginia; and Pike Georgia; plus Oglala Lakota (which is clearly meant to be Oglala, South Dakota), and all of Alaska.

One thing about crunching data files from the internet is that there are always a few special cases you have to code around. And I could have gotten those coordinates from the census shapefiles; but as long as I needed the census shapefile anyway, why use the CSV shapes at all? In this particular case, it makes more sense to use the shapefiles from the Census.

Still, I'm glad to have learned how to use arbitrary coordinates as shapes, freeing me from the proprietary and annoying ESRI shapefile format.

The code: Blue-red map using CSV with embedded county shapes

Tags: , , , , ,
[ 09:36 Jan 19, 2017    More programming | permalink to this entry | comments ]

Sat, 14 Jan 2017

Plotting election (and other county-level) data with Python Basemap

After my arduous search for open 2016 election data by county, as a first test I wanted one of those red-blue-purple charts of how Democratic or Republican each county's vote was.

I used the Basemap package for plotting. It used to be part of matplotlib, but it's been split off into its own toolkit, grouped under mpl_toolkits: on Debian, it's available as python-mpltoolkits.basemap, or you can find Basemap on GitHub.

It's easiest to start with the example that shows how to draw a US map with different states colored differently. You'll need the three shapefiles (because of ESRI's silly shapefile format): st99_d00.dbf, st99_d00.shp and st99_d00.shx, available in the same examples directory.

Of course, to plot counties, you need county shapefiles as well. The US Census has county shapefiles at several different resolutions (I used the 500k version). Then you can plot state and counties outlines like this:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

def draw_us_map():
    # Set the lower left and upper right limits of the bounding box:
    lllon = -119
    urlon = -64
    lllat = 22.0
    urlat = 50.5
    # and calculate a centerpoint, needed for the projection:
    centerlon = float(lllon + urlon) / 2.0
    centerlat = float(lllat + urlat) / 2.0

    m = Basemap(resolution='i',  # crude, low, intermediate, high, full
                llcrnrlon = lllon, urcrnrlon = urlon,
                lon_0 = centerlon,
                llcrnrlat = lllat, urcrnrlat = urlat,
                lat_0 = centerlat,

    # Read state boundaries.
    shp_info = m.readshapefile('st99_d00', 'states',
                               drawbounds=True, color='lightgrey')

    # Read county boundaries
    shp_info = m.readshapefile('cb_2015_us_county_500k',

if __name__ == "__main__":
    plt.title('US Counties')
    # Get rid of some of the extraneous whitespace matplotlib loves to use.
    plt.tight_layout(pad=0, w_pad=0, h_pad=0)
[Simple map of US county borders]

Accessing the state and county data after reading shapefiles

Great. Now that we've plotted all the states and counties, how do we get a list of them, so that when I read out "Santa Clara, CA" from the data I'm trying to plot, I know which map object to color?

After calling readshapefile('st99_d00', 'states'), m has two new members, both lists: m.states and m.states_info.

m.states_info[] is a list of dicts mirroring what was in the shapefile. For the Census state list, the useful keys are NAME, AREA, and PERIMETER. There's also STATE, which is an integer (not restricted to 1 through 50) but I'll get to that.

If you want the shape for, say, California, iterate through m.states_info[] looking for the one where m.states_info[i]["NAME"] == "California". Note i; the shape coordinates will be in m.states[i]n (in basemap map coordinates, not latitude/longitude).

Correlating states and counties in Census shapefiles

County data is similar, with county names in m.counties_info[i]["NAME"]. Remember that STATE integer? Each county has a STATEFP, m.counties_info[i]["STATEFP"] that matches some state's m.states_info[i]["STATE"].

But doing that search every time would be slow. So right after calling readshapefile for the states, I make a table of states. Empirically, STATE in the state list goes up to 72. Why 72? Shrug.

    states = [None] * MAXSTATEFP
    for state in m.states_info:
        statefp = int(state["STATE"])
        # Many states have multiple entries in m.states (because of islands).
        # Only add it once.
        if not states[statefp]:
            states[statefp] = state["NAME"]

That'll make it easy to look up a county's state name quickly when we're looping through all the counties.

Calculating colors for each county

Time to figure out the colors from the Deleetdk election results CSV file. Reading lines from the CSV file into a dictionary is superficially easy enough:

    fp = open("tidy_data.csv")
    reader = csv.DictReader(fp)

    # Make a dictionary of all "county, state" and their colors.
    county_colors = {}
    for county in reader:
        # What color is this county?
        pop = float(county["votes"])
        blue = float(county["results.clintonh"])/pop
        red = float(county["Total.Population"])/pop
        county_colors["%s, %s" % (county["name"], county["State"])] \
            = (red, 0, blue)

But in practice, that wasn't good enough, because the county names in the Deleetdk names didn't always match the official Census county names.

Fuzzy matches

For instance, the CSV file had no results for Alaska or Puerto Rico, so I had to skip those. Non-ASCII characters were a problem: "Doña Ana" county in the census data was "Dona Ana" in the CSV. I had to strip off " County", " Borough" and similar terms: "St Louis" in the census data was "St. Louis County" in the CSV. Some names were capitalized differently, like PLYMOUTH vs. Plymouth, or Lac Qui Parle vs. Lac qui Parle. And some names were just different, like "Jeff Davis" vs. "Jefferson Davis".

To get around that I used SequenceMatcher to look for fuzzy matches when I couldn't find an exact match:

def fuzzy_find(s, slist):
    '''Try to find a fuzzy match for s in slist.
    best_ratio = -1
    best_match = None

    ls = s.lower()
    for ss in slist:
        r = SequenceMatcher(None, ls, ss.lower()).ratio()
        if r > best_ratio:
            best_ratio = r
            best_match = ss
    if best_ratio > .75:
        return best_match
    return None

Correlate the county names from the two datasets

It's finally time to loop through the counties in the map to color and plot them.

Remember STATE vs. STATEFP? It turns out there are a few counties in the census county shapefile with a STATEFP that doesn't match any STATE in the state shapefile. Mostly they're in the Virgin Islands and I don't have election data for them anyway, so I skipped them for now. I also skipped Puerto Rico and Alaska (no results in the election data) and counties that had no corresponding state: I'll omit that code here, but you can see it in the final script, linked at the end.

    for i, county in enumerate(m.counties_info):
        countyname = county["NAME"]
            statename = states[int(county["STATEFP"])]
        except IndexError:
            print countyname, "has out-of-index statefp of", county["STATEFP"]

        countystate = "%s, %s" % (countyname, statename)
            ccolor = county_colors[countystate]
        except KeyError:
            # No exact match; try for a fuzzy match
            fuzzyname = fuzzy_find(countystate, county_colors.keys())
            if fuzzyname:
                ccolor = county_colors[fuzzyname]
                county_colors[countystate] = ccolor
                print "No match for", countystate

        countyseg = m.counties[i]
        poly = Polygon(countyseg, facecolor=ccolor)  # edgecolor="white"

Moving Hawaii

Finally, although the CSV didn't have results for Alaska, it did have Hawaii. To display it, you can move it when creating the patches:

    countyseg = m.counties[i]
    if statename == 'Hawaii':
        countyseg = list(map(lambda (x,y): (x + 5750000, y-1400000), countyseg))
    poly = Polygon(countyseg, facecolor=countycolor)
The offsets are in map coordinates and are empirical; I fiddled with them until Hawaii showed up at a reasonable place. [Blue-red-purple 2016 election map]

Well, that was a much longer article than I intended. Turns out it takes a fair amount of code to correlate several datasets and turn them into a map. But a lot of the work will be applicable to other datasets.

Full script on GitHub: Blue-red map using Census county shapefile

Tags: , , , , , ,
[ 15:10 Jan 14, 2017    More programming | permalink to this entry | comments ]

Thu, 12 Jan 2017

Getting Election Data, and Why Open Data is Important

Back in 2012, I got interested in fiddling around with election data as a way to learn about data analysis in Python. So I went searching for results data on the presidential election. And got a surprise: it wasn't available anywhere in the US. After many hours of searching, the only source I ever found was at the UK newspaper, The Guardian.

Surely in 2016, we're better off, right? But when I went looking, I found otherwise. There's still no official source for US election results data; there isn't even a source as reliable as The Guardian this time.

You might think would be the place to go for official election results, but no: searching for 2016 election on yields nothing remotely useful.

The Federal Election Commission has an election results page, but it only goes up to 2014 and only includes the Senate and House, not presidential elections. has popular vote totals for the 2012 election but not the current one. Maybe in four years, they'll have some data.

After striking out on official US government sites, I searched the web. I found a few sources, none of them even remotely official.

Early on I found Simon Rogers, How to Download County-Level Results Data, which leads to GitHub user tonmcg's County Level Election Results 12-16. It's a comparison of Democratic vs. Republican votes in the 2012 and 2016 elections (I assume that means votes for that party's presidential candidate, though the field names don't make that entirely clear), with no information on third-party candidates.

KidPixo's Presidential Election USA 2016 on GitHub is a little better: the fields make it clear that it's recording votes for Trump and Clinton, but still no third party information. It's also scraped from the New York Times, and it includes the scraping code so you can check it and have some confidence on the source of the data.

Kaggle claims to have election data, but you can't download their datasets or even see what they have without signing up for an account. Ben Hamner has some publically available Kaggle data on GitHub, but only for the primary. I also found several companies selling election data, and several universities that had datasets available for researchers with accounts at that university.

The most complete dataset I found, and the only open one that included third party candidates, was through OpenDataSoft. Like the other two, this data is scraped from the NYT. It has data for all the minor party candidates as well as the majors, plus lots of demographic data for each county in the lower 48, plus Hawaii, but not the territories, and the election data for all the Alaska counties is missing.

You can get it either from a GitHub repo, Deleetdk's (look in inst/ext/tidy_data.csv. If you want a larger version with geographic shape data included, clicking through several other opendatasoft pages eventually gets you to an export page, USA 2016 Presidential Election by county, where you can download CSV, JSON, GeoJSON and other formats.

The OpenDataSoft data file was pretty useful, though it had gaps (for instance, there's no data for Alaska). I was able to make my own red-blue-purple plot of county voting results (I'll write separately about how to do that with python-basemap), and to play around with statistics.

Implications of the lack of open data

But the point my search really brought home: By the time I finally found a workable dataset, I was so sick of the search, and so relieved to find anything at all, that I'd stopped being picky about where the data came from. I had long since given up on finding anything from a known source, like a government site or even a newspaper, and was just looking for data, any data.

And that's not good. It means that a lot of the people doing statistics on elections are using data from unverified sources, probably copied from someone else who claimed to have scraped it, using unknown code, from some post-election web page that likely no longer exists. Is it accurate? There's no way of knowing.

What if someone wanted to spread news and misinformation? There's a hunger for data, particularly on something as important as a US Presidential election. Looking at Google's suggested results and "Searches related to" made it clear that it wasn't just me: there are a lot of people searching for this information and not being able to find it through official sources.

If I were a foreign power wanting to spread disinformation, providing easily available data files -- to fill the gap left by the US Government's refusal to do so -- would be a great way to mislead people. I could put anything I wanted in those files: there's no way of checking them against official results since there are no official results. Just make sure the totals add up to what people expect to see. You could easily set up an official-looking site and put made-up data there, and it would look a lot more real than all the people scraping from the NYT.

If our government -- or newspapers, or anyone else -- really wanted to combat "fake news", they should take open data seriously. They should make datasets for important issues like the presidential election publically available, as soon as possible after the election -- not four years later when nobody but historians care any more. Without that, we're leaving ourselves open to fake news and fake data.

Tags: , , , , ,
[ 16:41 Jan 12, 2017    More politics | permalink to this entry | comments ]

Wed, 10 Dec 2014

Not exponential after all

We're saved! From the embarrassing slogan "Live exponentially", that is.

Last night the Los Alamos city council voted to bow to public opinion and reconsider the contract to spend $50,000 on a logo and brand strategy based around the slogan "Live Exponentially." Though nearly all the councilors (besides Pete Sheehey) said they still liked the slogan, and made it clear that the slogan isn't for residents but for people in distant states who might consider visiting as tourists, they now felt that basing a campaign around a theme nearly of the residents revile was not the best idea.

There were quite a few public comments (mine included); everyone was civil and sensible and stuck well under the recommended 3-minute time limit.

Instead, the plan is to go ahead with the contract, but ask the ad agency (Atlas Services) to choose two of the alternate straplines from the initial list of eight that North Star Research had originally provided.

Wait -- eight options? How come none of the previous press or the previous meeting mentioned that there were options? Even in the 364 page Agenda Packets PDF provided for this meeting, there was no hint of that report or of any alternate strap lines.

But when they displayed the list of eight on the board, it became a little clearer why they didn't want to make the report public: they were embarrassed to have paid for work of this quality. Check out the list:

I mean, really. Great Beyond? Are we're all dead? High Intelligence in the High Desert? That'll certainly help with people who think this might be a bunch of snobbish intellectuals.

It was also revealed that at no point during the plan was there ever any sort of focus group study or other tests to see how anyone reacted to any of these slogans.

Anyway, after a complex series of motions and amendments and counter-motions and amendments and amendments to the amendments, they finally decided to ask Atlas to take the above list, minus "Live Exponentially"; add the slogan currently displayed on the rocks as you drive into town, "Where Discoveries are Made" (which came out of a community contest years ago and is very popular among residents); and ask Atlas to choose two from the list to make logos, plus one logo that has no slogan at all attached to it.

If we're lucky, Atlas will pick Discoveries as one of the slogans, or maybe even come up with something decent of their own.

The chicken ordinance discussion went well, too. They amended the ordinance to allow ten chickens (instead of six) and to try to allow people in duplexes and quads to keep chickens if there's enough space between the chickens and their neighbors. One commenter asked for the "non-commercial' clause to be struck because his kids sell eggs from a stand, like lemonade, which sounded like a very reasonable request (nobody's going to run a large commercial egg ranch with ten chickens); but it turned out there's a state law requiring permits and inspections to sell eggs.

So, folks can have chickens, and we won't have to live exponentially. I'm sure everyone's breathing a little more easily now.

Tags: , ,
[ 16:27 Dec 10, 2014    More politics | permalink to this entry | comments ]

Sun, 07 Dec 2014

My Letter to the Editor: Make Your Voice Heard On 'Live Exponentially'

More on the Los Alamos "Live Exponentially" slogan saga: There's been a flurry of letters, all opposed to the proposed slogan, in the Los Alamos Daily Post these last few weeks.

And now the issue is back on the council agenda; apparently they're willing to reconsider the October vote to spend another $50,000 on the slogan.

But considering that only two people showed up to that October meeting, I wrote a letter to the Post urging people to speak before the council: Letter to the Editor: Attend Tuesday's Council Meeting To Make Your Voice Heard On 'Live Exponentially'.

I'll be there. I've never actually spoken at a council meeting before, but hey, confidence in public speaking situations is what Toastmasters is all about, right?

(Even though it means I'll have to miss an interesting sounding talk on bats that conflicts with the council meeting. Darn it!)

A few followup details that I had no easy way to put into the Post letter:

The page with the links to Council meeting agendas and packets is here: Los Alamos County Calendar.

There, you can get the short Agenda for Tuesday's meeting, or the full 364 page Agenda Packets PDF.

[Breathtaking raised to the power of you] The branding section covers pages 93 - 287. But the graphics the council apparently found so compelling, which swayed several of them from initially not liking the slogan to deciding to spend a quarter million dollars on it, are in the final presentation from the marketing company, starting on page p. 221 of the PDF.

In particular, a series of images like this one, with the snappy slogan:

Breathtaking raised to the power of you

That's right: the advertising graphics that were so compelling they swayed most of the council are even dumber than the slogan by itself. Love the superscript on the you that makes it into an exponent. Get it ... exponentially? Oh, now it all makes sense!

There's also a sadly funny "Written Concept" section just before the graphics (pages 242- in the PDF) where they bend over backward to work in scientific-sounding words, in bold each time.

But there you go. Hopefully some of those Post letter writers will come to the meeting and let the council know what they think.

The council will also be discussing the much debated proposed chicken ordinance; that discussion runs from page 57 to 92 of the PDF. It's a non-issue for Dave and me since we're in a rural zone that already allows chickens, but I hope they vote to allow them everywhere.

Tags: , , ,
[ 18:05 Dec 07, 2014    More politics | permalink to this entry | comments ]

Sat, 11 Oct 2014

Railroading exponentially

or: Smart communities can still be stupid

I attended my first Los Alamos County Council meeting yesterday. What a railroad job!

The controversial issue of the day was the town's "branding". Currently, as you drive into Los Alamos on highway 502, you pass a tasteful rock sign proclaiming "LOS ALAMOS: WHERE DISCOVERIES ARE MADE". But back in May, the county council announced the unanimous approval of a new slogan, for which they'd paid an ad agency some $55,000: "LIVE EXPONENTIALLY".

As you might expect in a town full of scientists, the announcement was greeted with much dismay. What is it supposed to mean, anyway? Is it a reference to exponential population growth? Malignant tumor growth? Gaining lots of weight as we age?

The local online daily, tired of printing the flood of letters protesting the stupid new slogan, ran a survey about the "Live Exponentially" slogan. The results were that 8.24% liked it, 72.61% didn't, and 19.16% didn't like it and offered alternatives or comments. My favorites were Dave's suggestion of "It's Da Bomb!", and a suggestion from another reader, "Discover Our Secrets"; but many of the alternate suggestions were excellent, or hilarious, or both -- follow the link to read them all.

For further giggles, try a web search on the term. If you search without quotes, Ebola tops the list. With quotes, you get mostly religious tracts and motivational speakers.

The Council Meeting

(The rest of this is probably only of interest to Los Alamos folk.)

Dave read somewhere -- it wasn't widely announced -- that Friday's council meeting included an agenda item to approve spending $225,000 -- yes, nearly a quarter of a million dollars -- on "brand implementation". Of course, we had to go.

In the council discussion leading up to the call for public comment, everyone spoke vaguely of "branding" without mentioning the slogan. Maybe they hoped no one would realize what they were really voting for. But in the call for public comment, Dave raised the issue and urged them to reconsider the slogan.

Kristin Henderson seemed to have quite a speech prepared. She acknowledged that "people who work with math" universally thought the slogan was stupid, but she said that people from a liberal arts background, like herself, use the term to mean hiking, living close to nature, listening to great music, having smart friends and all the other things that make this such a great place to live. (I confess to being skeptical -- I can't say I've ever heard "exponential" used in that way.)

Henderson also stressed the research and effort that had already gone into choosing the current slogan, and dismissed the idea that spending another $50,000 on top of the $55k already spent would be "throwing money after bad." She added that showing the community some images to go with the slogan might change people's minds.

David Izraelevitz admitted that being an engineer, he initially didn't like "Live Exponentially". But he compared it to Apple's "Think Different": though some might think it ungrammatical, it turned out to be a highly successful brand because it was coupled with pictures of Gandhi and Einstein. (Hmm, maybe that slogan should be "Live Exponential".)

Izraelevitz described how he convinced a local business owner by showing him the ad agency's full presentation, with pictures as well as the slogan, and said that we wouldn't know how effective the slogan was until we'd spent the $50k for logo design and an implementation plan. If the council didn't like the results they could choose not to go forward with the remaining $175,000 for "brand implementation". (Councilor Fran Berting had previously gotten clarification that those two parts of the proposal were separate.)

Rick Reiss said that what really mattered was getting business owners to approve the new branding -- "the people who would have to use it." It wasn't so important what people in the community thought, since they didn't have logos or ads that might incorporate the new branding.

Pete Sheehey spoke up as the sole dissenter. He pointed out that most of the community input on the slogan has been negative, and that should be taken into account. The proposed slogan might have a positive impact on some people but it would have a negative impact on others, and he couldn't support the proposal.

Fran Berting said she was "not all that taken" with the slogan, but agreed with Izraelevitz that we wouldn't know if it was any good without spending the $50k. She echoed the "so much work has already gone into it" argument. Reiss also echoed "so much work", and that he liked the slogan because he saw it in print with a picture.

But further discussion was cut off. It was 1:30, the fixed end time for the meeting, and chairman Geoff Rodgers (who had pretty much stayed out of the discussion to this point) called for a vote. When the roll call got to Sheehey, he objected to the forced vote while they were still in the middle of a discussion. But after a brief consultation on Robert's Rules of Order, chairman Rogers declared the discussion over and said the vote would continue. The motion was approved 5-1.

The Exponential Railroad

Quite a railroading. One could almost think it had been planned that way.

First, the item was listed as one of two in the "Consent Agenda" -- items which were expected to be approved all together in one vote with no discussion or public comment. It was moved at the last minute into "Business"; but that put it last on the agenda.

Normally that wouldn't have mattered. But although the council more often meets in the evenings and goes as long as it needs to, Friday's meeting had a fixed time of noon to 1:30. Even I could see that wasn't much time for all the items on the agenda.

And that mid-day timing meant that working folk weren't likely to be able to listen or comment. Further, the branding issue didn't come up until 1 pm, after some of the audience had already left to go back to work. As a result, there were only two public comments.

Logic deficit

I heard three main arguments repeated by every council member who spoke in favor:

  1. the slogan makes much more sense when viewed with pictures -- they all voted for it because they'd seen it presented with visuals;
  2. a lot of time, effort and money has already gone into this slogan, so it didn't make sense to drop it now; and
  3. if they didn't like the logo after spending the first $50k, they didn't have to approve the other $175k.

The first argument doesn't make any sense. If the pictures the council saw were so convincing, why weren't they showing those images to the public? Why spend an additional $50,000 for different pictures? I guess $50k is just pocket change, and anyone who thinks it's a lot of money is just being silly.

As for the second and third, they contradict each other. If most of the board thinks now that the initial $50k contract was so much work that we have to go forward with the next $50k, what are the chances that they'll decide not to continue after they've already invested $100k?

Exponentially low, I'd say.

I was glad of one thing, though. As a newcomer to the area faced with a ballot next month, it was good to see the council members in action, seeing their attitudes toward spending and how much they care about community input. That will be helpful come ballot time.

If you're in the same boat but couldn't make the meeting, catch the October 10, 2014 County Council Meeting video.

Tags: , ,
[ 12:54 Oct 11, 2014    More politics | permalink to this entry | comments ]

Sat, 26 Apr 2008

Republicans fight to preserve gender pay gap

Dahlia Lithwick wrote a terrific article in yesterday's Slate about the shameful behavior of the Republicans in the Senate in blocking a bill that would have allowed women to sue for pay discrimination.

The Lilly Ledbetter Fair Pay Act was written in response to the case brought by Lilly Ledbetter against the Goodyear Tire and Rubber Company. Courts had found that she was definitely the subject of discrimination: her pay was as much as 40% less than men doing a similar job (despite her excellent reviews), one year she was actually paid below Goodyear's own minimum threshold for that position, she had been explicitly barred from discussing salary with her coworkers (this is apparently legal, at least in Alabama), and she had been told explicitly by a manager at Goodyear that that the "plant did not need women, that [women] didn't help it, [and] caused problems."

No one at any level has disputed that Ms. Ledbetter was discriminated against -- even the Supreme Court. However, the Supremes threw out her appeal last year on the basis that the statute of limitations had run out and she should have filed her case within 180 days of receiving her first paycheck. In other words, as long as you don't know when you're hired that your pay is discriminatory, it doesn't matter if you find out later; it'll be too late then, so forget it. Pay discrimination is fine, and not actionable, as long as you can delay the victim's finding out about it for a few months.

Senate Republicans believe so strongly in a company's right to discriminate that they not only argued against the bill, they actually filibustered against it!

For more gory details of the case, read Lithwick's excellent Slate article. But even if you don't, be aware if you're considering voting for John McCain in November that although he was campaigning instead of voting on this bill, he proclaimed agreement with the rest of his party in opposing the Fair Pay Act.

So if you're against pay discrimination ... or if you're a woman and might be the victim of such discrimination ... be aware that John McCain is not on your side.

Tags: , ,
[ 20:26 Apr 26, 2008    More politics | permalink to this entry | comments ]

Wed, 20 Feb 2008

Obama's too good a speaker

In election news today, we have the report Wounded Clinton eyes big contests on Barak Obama's widening lead over Hillary Clinton:
Mrs Clinton continued to try to depict Mr Obama as a man of fine words but little action.

"It's time that we move from good words to good works, from sound bites to sound solutions... This campaign goes on!" she said

Hey, wait ... isn't that a sound bite against sound bites?

McCain joined in the fun, saying "I will fight every moment of every day in this campaign to make sure that Americans are not deceived by an eloquent but empty call for change."

So let's see if I have this straight: the worst that either Clinton or McCain can think of to say about Obama is that ... he's a really good speaker.

Hmm. Time was when people thought being a good speaker was actually a good thing to have in a president. Isn't that something presidents are called upon to do now and then?

[ 19:43 Feb 20, 2008    More politics | permalink to this entry | comments ]

Mon, 04 Feb 2008

Indian Gaming Props 94 through 97

Finally home from Melbourne and with a good night's sleep behind me, I finally had to take a look at the Indian gaming propositions on tomorrow's ballot: Propositions 94 through 97.

There are a bunch of issues here which I'm not going to try to write about: you can read the legislative analyst's summary and the pro and con arguments in the Supplemental Voter's Handbook. But the really interesting part of the is the section at the back of the SVH: the TEXT OF PROPOSED LAWS section. It's always good to take a look at a law's actual text before making a decision. Sometimes they surprise you. Especially in this case.

Ready to follow along? Okay, we'll start with Prop 94. Open your SVH to page 44 (or use the PDF or Google's HTML translation) and start at SECTION 1. (Presumably there's some way to get to these links via but I didn't have much luck finding it.)

SECTION 1. Section 12012.49 is added to the Government Code, to read:
12012.49. (a) The amendment tothe tribal-state gaming compact entered into in accordance with the Indian Gaming Regulatory Act of 1988 (18 U.S.C. Sec. 1166 to 1168, incl., and 25 U.S.C. Sec. 2701 et seq.) between the State of California and the Pechanga Band of LuiseƱo Mission Indians, executed on August 28, 2006, is hereby ratified.
(b) (1) In deference to tribal sovereignty, none of the following shall be deemed a project for purposes of the California Environmental Quality Act (Division 13 (commencing with Section 21000) of the Public Resources Code):
(A) The execution of an amendment to the amended tribal-state gaming compact ratified by this section.
(B) The execution of the amended tribal-state gaming compact ratified by this section.
(C) The execution of an intergovernmental agreement between a tribe and a county or city government negotiated pursuant to the express authority of, or as expressly referenced in, the amended tribal-state gaming compact ratified by this section.

... hey, wait a minute, where are the details? The proposed law continues in this fashion, referencing "the amended tribal-state gaming compact ratified by this section" over and over. Remember, this is the actual wording that would become part of California law if these propositions are approved.

Dave looked into this more. Turns out these Indian gaming compacts are complicated by an amusing legal problem: since each reservations is technically a foreign government, negotiation has to be done by the Governor's office, not legislated by the state legislature. But the agreements the Gov makes have to be ratified by the legislature or the voters.

Okay, so what we're voting on is whether to ratify the agreement the Governator reached with the set of tribes under discussion (mostly along I-10 in Riverside County, plus one down near San Diego).

Great. So ... where are these agreements we're voting to ratify?

Not in the Supplemental Voter's Handbook, that's clear enough. So where can we find them?

Dave went to Google, and thought he found something -- wait, no, it turns out it's even more complicated than that. See, there are lots of earlier revisions of the compacts, too.

Apparently when the time comes to get it ratified, how it generally works is: Someone writes up a bill that sounds harmless and has nothing to do with the actual issues being discussed ("Proposed: that we will provide the Pachenga Indians with educational information on tooth decay prevention for their schools"). This is made public, and sits in the public place for bills under consideration until the last minute, when it is amended to add whatever the real subject of discussion is. Then everybody votes on it (probably without reading the amendments), and the agreement is ratified.

But something went wrong in the process this time, and somehow the agreements weren't ratified and ended up getting sent to the voters.

Okay, that's all very entertaining, but meanwhile we still need the text of the agreements we're being asked to ratify. Where are they?

After much searching, Dave thought he had a lead: Denise Moreno Ducheny's page has a link for SB 174 - Tribal gaming: compact ratification. which supposedly corresponds to Prop 95. That link doesn't work for me (I get "The connection has been reset: try again later" -- either it doesn't like Firefox on Linux or it wants cookies or something) but it worked for Dave in Safari, and it turns out it was one of these pre-amended versions, not the version we're actually being asked to vote on.

But he finally found what apparently are the final versions of the compacts, linked from a press release on the governor's site. Note that you can't get there by actually searching the Governor's site (searching for tribal compact gets you three press releases that don't include that one). Here's a direct link to the Pechanga agreement and the San Manuel agreement. You're on your own for the rest.

Anyway, the PDFs on the Governor's site do appear to say pretty much what the legislative analyst says they say. So the analysis in the Supplemental Voter Handbook is probably fine and you cat vote on that basis. That's assuming you believe that those PDFs, findable only through google and not through any official link, are the real ones that are being voted on. The filenames both include the word "final" -- isn't that all you need to know?

Me, I'm not too happy about being asked to vote on a basis of "We won't show you the actual text, just trust us". I don't like the idea of laws that reference unknown other documents, stored in an unspecified place and possibly subject to who knows what sorts of revisions. I'll probably vote no for that reason.

[ 17:54 Feb 04, 2008    More politics | permalink to this entry | comments ]

Fri, 16 Nov 2007

An ironic juxtaposition

I can't stop thinking about the woman in the Chinese restaurant the other night.

It was one of those conversations you try not to overhear, but they're so loud and distracting that you just can't avoid it.

In the middle of a long declamation on conspiracy theories and politics, the man made a comment about how we're in the middle east shooting Iraqis who never hurt anyone. (I didn't say his politics were all wrong, just loud).

The woman, who had been relatively quiet up to now, interrupted, "But they hurt us in 9/11!"

In the next booth, facing away from them, my mouth dropped open. The man quickly countered that Iraq had nothing to do with 9/11, but then was off onto other topics, sharing with the room his theories on war in the middle east in general, Israel, and people trying to wipe out the Jews. This caught the woman's interest -- "They already tried that, Hitler." After a pause, she added thoughtfully, "You know, the strangest thing about that is how people there just went along with it."

That came barely a minute after the 9/11 comment. She clearly had no idea of the irony of juxtaposing the two. I wanted to turn around and say, "Perhaps they went along for the same reason that you're going along with killing hundreds of thousands of Iraqi civilians, when even the president who started the war admits that Iraq had nothing to do with 9/11?"

[ 22:24 Nov 16, 2007    More politics | permalink to this entry | comments ]

Mon, 06 Aug 2007

Votes on the Warrantless Wiretapping Act

All the news media carried stories on how our (US) legislators voted in a bill on Friday night that greatly eased the rules on wiretapping. The House followed through and passed the bill on Saturday.

The new updates to FISA, the Foreign Intelligence Surveillance Act, will allow the NSA or the attorney general to authorize monitoring of telephones or email, without a warrant, if the comunications involve people "reasonably believed to be outside the United States".

The story reported in most of the papers is that Democrats were against the bill and wanted a version which required warrants in more cases. But the President threatened to hold Congress in session into its scheduled summer recess if it did not approve the changes he wanted -- and that was enough, apparently, for the Senate to vote for warrantless surveillance of Americans. (I confess I don't quite understand why the president can hold Congress in session indefinitely until he gets the vote he wants. Can't they just vote No?)

What I couldn't find in any of the stories was a breakdown of the votes. What about our presidential candidates? Did they support warrantless wiretapping -- or, perhaps worse, just not care about the ramifications of a bill if further consideration of it might cut into their vacation time?

Finding out

Finding Senate votes is very easy. Googling for senate votes takes you right to the breakdown of recent votes by Senator name or by state. Here are the results for S.1927.

The House is harder. They don't seem to have a nice "recent votes" page like the Senate does, or any obvious way to find bills (I had little luck with their site search), though a story gave a link to the bill on, which links to an official vote count.

In the absence of's help, the easiest way to find House voting records is to use the Washington Post Votes Database.

How did they vote?

I was happy to see that all the major Democratic candidates in Congress voted against the smarmily named "Protect America Act", including Hillary Clinton, Barack Obama, Joe Biden, and Christopher Dodd, and (in the House) Dennis Kucinich. John Kerry (who is not an official candidate) didn't vote.

On the Republican side, candidate Sam Brownback voted for the bill, while candidates John McCain, Tom Tancredo and Ron Paul didn't vote.

Of course, I was also interested in my local legislators. California Senator Dianne Feinstein voted for passage (why do people keep voting her back in?) while our other senator, Barbara Boxer didn't vote. In the House, my representative, the always sensible Zoe Lofgren, voted against the bill. In fact, she spoke out against it, saying "This bill would grant the attorney general the ability to wiretap anybody, any place, any time without court review, without any checks and balances. I think this unwarranted, unprecedented measure would simply eviscerate the 4th Amendment." Hurray, Zoe! House Speaker Nancy Pelosi also voted against.

How did your legislators vote?

[ 14:20 Aug 06, 2007    More politics | permalink to this entry | comments ]

Thu, 06 Jul 2006

Was the 2004 Election Stolen?

Anyone following the voting machine controversy in the last presidential election -- or, even more, anyone who wasn't following it and might not be aware of the issues -- should check out Robert F. Kennedy, Jr's article in Rolling Stone, Was the 2004 Election Stolen?

The article is long, detailed and well researched article, and it will make you question whether we really live in a democracy.

Apparently Kennedy is considering filing whistleblower lawsuits against two of the voting machine companies. This won't do anything to change our national elections, but at least it might help get the word -- and the evidence -- out into the public eye.

Tags: , ,
[ 12:36 Jul 06, 2006    More politics | permalink to this entry | comments ]

Thu, 06 Jan 2005

Boxer to Support Conyers in Protest Over Ohio Vote

Senator Barbara Boxer (D-CA) has signed a protest launched by Rep. John Conyers (D-MI) regarding irregularities in the Ohio vote, as reported this morning by the AP (via Yahoo, via ABC News).

Conyers' report can be found on the House Committee on the Judiciary's page, including the PDF report and some supplementary documents (all PDF except the video): a film by Linda Byrket called "Video the Vote", text of a fundraising letter Ohio Secretary of State Kenneth Blackwell, and Eyewitness Accounts of Ohio Voter Disenfranchisement. Conyers' report is described in this Fox News story.

John Kerry has not joined the protest.

This is not expected to alter the outcome of the 2004 election; both houses are expected to certify the election tomorrow. But it will force both houses to break from election certification tomorrow, and have a public discussion of up to two hours on some of the problems seen in the election. Perhaps it will pave the way for changes in future elections.

Tags: , , ,
[ 11:29 Jan 06, 2005    More politics/election04 | permalink to this entry | comments ]

Tue, 04 Jan 2005

Snowy Grapevine, Rainy Central Valley, Unappetizing Sagebrush

The Grapevine, the pass through which Interstate 5 crosses the mountains north of LA, was covered in snow today. Gorman, near the highest point of the pass, was blanketed in white, not even bushes or grass poking through.

We'd hesitated before coming this way -- the Caltrans web site had listed the pass as closed until a scant half hour before we left. Signs on the highway at Castaic still said the pass was closed, but we put our trust in the web, and forged on. Happily, the road was open, clean of snow, and barely even wet, giving a lovely view of the snowy Transverse Ranges as we passed through this unexpected white christmas. Also fun was seeing a double semi trailer full of oranges passing through this wintry landscape.

Descending into the central valley, we saw the first "Food grows where water flows" sign at Buttonwillow, pinned to a trailer in a field of sagebrush and tumbleweed. Perhaps a goat would have found some food there. At least sage (which I do like in cooking) is closer to culinary than the cotton that all the farms here were growing for the last two years (presumably due to subsidies) the remnants of which still litter most of the empty fields along the I-5 corridor.

"Farm water feeds the nation", fifty miles farther north, also stood in a field of tumbleweed, but the California Aqueduct was nearby, so it was at least somewhat topical. The next "Food grows where water flows" adjoined a vinyard. Does wine count as food? Maybe they were table grapes.

The Buttonwillow rest stop features lovely woven hanging birds' nests, visible now when the trees are bare of leaves and looking like something out of an African weaverbird documentary. I didn't get a good look at the birds occupying those trees now; usually those I-5 rest stops are populated mostly by blackbirds and ravens, but I'll have to keep a sharp eye out next time I pass through in spring.

Tags: , , ,
[ 19:33 Jan 04, 2005    More misc | permalink to this entry | comments ]

Tue, 14 Dec 2004

Programmer alleges FL congressman commissioned vote altering code

This story has been floating around for a few days now, but I've hesitated to write about it because it sounds potentially fishy and I was hoping some of the questions would get answered.

In a nutshell: Florida programmer Clint Curtis has filed documents with the FBI claiming that while he was working for Yang Enterprises, Tom Feeny (then a FL state representative and lobbyist for Yang, now a US Congressman) asked him to develop prototype software in order to rig the vote in Florida. (story in Wired) (story on Blue Lemur)

All rather suspicious, but there are lots of questionable aspects to the story. Why did Curtis wait so long to come clean? He claims that he assumed any such software would be easily detectable through source code inspection, and it was only after recently reading that voting software was proprietary that he had the shocking realization that perhaps there wasn't much source code review going on. It's hard to believe that a programmer who had worked on such a project would have been able to miss this point for so long.

Curtis has apparently also been to the FBI complaining about Yang's ethics before, on an unrelated charge. Details are skimpy about what that charge was, or what the resolution was, but until those details are available, one has to be slightly skeptical.

On Curtis' side, the fact that Yang nor Sweeney are willing to comment on the story suggests that there may be some truth to it. If his past allegations against Yang, or other aspects of the case, cast doubt on his claims, wouldn't they be pointing to that?

That the FBI is unwilling to comment is not surprising: investigation is ongoing, and I wouldn't expect any comment from investigators at this point.

It seems unlikely that Curtis' actual code was used, in any case. He had no access to the voting machine software, and simply wrote some scripts in Visual Basic as a proof of concept. But we'll likely never know for sure, since the public hasn't had access to the voting machines for quite some time and it would be quite easy for any such evidence to have been long since wiped from memory. (Though perhaps forensic analysis of the disks might reveal something?)

Still, it's an interesting story, and it'll be fun to see how it resolves.

Tags: , , ,
[ 14:20 Dec 14, 2004    More politics/election04 | permalink to this entry | comments ]

Sat, 20 Nov 2004

Blackbox Voting Exposes Poll Tape Fraud

Installment one of Bev Harris and's Freedom of Information Request: the Stinking Poll Tapes.

Harris & company went to Volusia County, Florida to request the "poll tapes" from the election: the printed record that each machine produces at the end of the day, signed and dated by election workers.

What they were given was unsigned printouts dated November 16, the day before their arrival.

Upon investigating, they found several curious things:

  1. Elections officials meeting clustered over poll tapes, who shut the door on them when they asked what was going on;
  2. A garbage bag full of original, signed poll tapes, dated the day of the election;
  3. Another garbage bag of original poll tapes at a different location;
  4. Apparent discrepancies between the original, signed, dated poll tapes and the supposed copies which the elections officials had originally tried to give them.

This is all over the blogosphere, but doesn't appear to have hit much of the mainstream press so far, not even Wired, except for one early article in the East Volusia News-JournalOnline. But the story making the rounds claims Black Box Voting has it all on video.

Stay tuned!

Tags: , , ,
[ 00:12 Nov 20, 2004    More politics/election04 | permalink to this entry | comments ]

Mon, 15 Nov 2004

93,000 Extra Votes In Cuyahoga County?

Teed Rockwell, of the Philosophy Department, Sonoma State University, published a few days ago a sizzling article on ballot totals in Cuyahoga County, Ohio. Using the numbers from the county's official election results web site, he shows 29 different precincts which report vote counts well in excess of the total number of registered voters, for a grand total of 93,136 more votes than registered voters. For example, Highland Hills Village, which has 760 registered voters, had 8,822 ballots cast.

One possible explanation comes in an AP story, Kerry campaign lawyers checking Ohio vote, which says that "the numbers also include absentee votes in congressional and legislative districts that overlap those cities", which wrongly inflates the numbers, and quotes Ohio elections board chairman Michael Vu as saying "All the numbers are correct. You have to first understand what an absentee precinct is." The story doesn't go on to explain what an absentee precinct is; it looks like absentee ballots are assigned to counties other than the county of registration, or possibly absentee voters aren't included in registration numbers at all.

Meanwhile, a blog called "Political Strategy" reports on an editorial on the Zogby pollling web site, in Zogby Website Asserts 'Massive Voter Fraud'. I can't actually read the linked Zogby page (either they've pulled it, or they have some sort of bug in their server code) but in addition to calling attention to the fishy Cuyahoga results, they discuss the statistical unliklihood of some of the Florida results already showcased elsewhere.

Recount update: Cobb (Green) and Badnarik (Libertarian) are officially requesting an Ohio recount, while Nader and Camejo have requested a recount in New Hampshire. There's more recount news on ReDefeat Bush (which I found by way of their Google ad when I googled for recount news -- cool!)

A final giggle: on the subject of why the exit polls were so wrong (I still haven't seen anyone quoting numbers!), Craig Crawford of Congressional Quarterly and CBS suggested that the exit polls may have been wrong about Bush because of the "David Duke effect," an election in which he got many more votes than was reflected in what pollsters found because "people didn't want to admit to exit pollsters they'd voted for David Duke, the head of the Ku Klux Klan, because they didn't want to admit they were a racist. So perhaps a lot of voters didn't want to admit they voted for Bush."

Tags: , , ,
[ 22:11 Nov 15, 2004    More politics/election04 | permalink to this entry | comments ]

Fri, 12 Nov 2004

Recent roundup of post-election voting stories

I've been hearing a lot of talk about how the official results don't match the exit poll numbers: how the exit polls show a Kerry win, and that's evidence of a hacked vote. For example, Those faulty exit polls were sabotage in The Hill, or A Tour of the 2004 Exit Poll: What It Says and What It Doesn't, part one and part two on Donkey Rising.

What I haven't been able to find is anything with data to confirm this, one way or the other. CNN has an interactive page allowing checks of specific aspects of exit poll data, but that's no help for analyzing nationwide data, say, by county. And in any case, it seems that CNN changed the online data after the fact, so there's no telling what this means in terms of raw numbers.

Lawrence Lessig gives the answer, in Free the Exit Poll Data: the poll numbers are privately held, not publically available. Lessig calls for the data to be made public, so that it will be possible to find out why the numbers were so misleading compared to the final election tally. You'd think both sides would be interested in knowing what went wrong.

Terrific maps for visualizing the election

Maps and cartograms of the 2004 US presidential election results gives a wonderful set of maps showing "purple states" by county, with the sizes adjusted for population.

Other stories about voting irregularities:

Outrage in Ohio: Angry residents storm State House in response to massive voter suppression and corruption (Michigan Independant Media Center): Protests on November 3 in Ohio over all the voting problems the state experienced. Includes lots of anecdotes about voters who experienced problems.

Surprising Pattern of Florida's Election Results (US Together): a comparison of party registration data to reported election results in Florida counties using different types of voting equipment. In counties using touchscreen machines, the percentage vote for Kerry matched the party registrations fairly closely; in counties using optical scan machines, there's a huge shift over to Bush votes, completely uncorrelated with party affiliation. The article includes a data table by county.

Evidence Mounts That The Vote May Have Been Hacked (Common Dreams): a text discussion of the US Together results, their correlation with exit poll results, and some discussion of possible explanations other than foul play (and why those reasons are unlikely to be the actual explanation).

Palm Beach County Logs 88,000 More Votes Than Voters (Washington Dispatch): Palm Beach County's official election results web site showed 542,835 ballots were cast for a presidential candidate while only 454,427 voters turned out for the election. Apparently they've since updated the web site to show numbers that add up. I guess this tells us how far we can trust the "official" numbers on the web site.

Tons of other links on the Op Ed News: Votergate 2004 page.

Bev Harris of Black Box Voting, Ralph Nader and others have teamed up for Help America Recount, a project to buy recounts in Ohio and other states. They're soliciting donations. I'd love to see recounts, but what they don't explain is where the money is going. What's involved in getting a recount, and does it cost money, or is this to pay salaries and expenses of the (volunteer?) people doing the counting, or what? The effort sounds like it might be a little disorganized at the moment.

Kerry Won. . . (Tom Paine.common Sense): Editorial about irregularities in various states. No new data, though.

Tags: , , ,
[ 12:31 Nov 12, 2004    More politics/election04 | permalink to this entry | comments ]

Sat, 06 Nov 2004

Update: some recent stories on election irregularities

An older style touchscreen machine made by Danaher Controls gave Bush 3,893 extra votes in suburban Columbus.

In one North Carolina county, more than 4,500 votes were lost because officials believed a computer that stored ballots electronically could hold more data than it did. UniLect, the manufacturer of the touchscreen machines used, told officials that each storage unit could handle 10,500 votes, but the limit was actually 3,005 votes. The missing votes are gone forever; there is no way to retrieve them.

In Broward County, FL (remember the missing absentee ballots?) it was discovered that a bug in an ES&S machine changed the outcome on at least one proposition. Seems that the software (for counting votes on absentee ballots) doesn't expect more than 32,000 votes in a precinct; so when the tally crosses that number, the machine starts counting backward!

Meanwhile, the ACLU is suing over the lost Broward County absentee ballots.

A national voting rights group has reported hundreds of voting irregularities in the south affecting poor and minority voters.

Latest word (from Equal Vote) is that Ohio Secretary of State Ken Blackwell has said that Ohio's provisional votes will not be counted for 11 days (if at all).

Black Box Voting has filed a massive Freedom of Information Act request for computer logs (including internal audit logs, transmission logs, and others), voting results slips, any email or other communication relating to problems with voting systems, and other information relating to the operation of electronic voting machines.

Voters Unite has an excellent listing of stories on many other voting problems found so far.

Tags: , , ,
[ 11:05 Nov 06, 2004    More politics/election04 | permalink to this entry | comments ]

Wed, 03 Nov 2004


I knew the Demo-wimps were going to fold, just like they did in 2000 -- but I didn't think they'd do it before the first vote count was even finished!

I can't believe Kerry conceded already. What about all the promises the Democrats have been making us for the past several months about pushing lawsuits on voting technology and voter eligibility? What about all the lawsuits already filed?

I guess nobody cares any more that there's no way to verify anyone's vote, that the voting technology of the country is entirely in the hands of one party. A show of democracy is all that's required; the actual votes, from actual citizens, are far less important than the pretense of voting.

The morning's quick summary of voting machine glitches reported yesterday, at Wired: Watchdogs Spot E-Vote Glitches. The stories include ballots already pre-filled in Palm Beach County, FL, reports of misvoting (touching the box for one candidate and seeing an "X" appear by a different candidate) in FL, TX, and other states, machines in Texas instructed to vote straight party tickets actually casting votes for candidates outside that party, and voters in six Pennsylvania precints prevented from voting due to voting machine failures,

I should mention that Wired has had the best and most comprehensive coverage all along of the e-voting fiasco, beginning many months before any of the other mainstream media would mention the subject. Follow the links from that story, or just search for keywords like voting machines or Diebold. Or check out the original anti voting machine activist site: and its sister site

Also, two excellent Cringley columns on the subject:
A Year Into the E-voting Crisis, Shouldn't We Have Noticed the Printer That's Already Built into Each Diebold Voting Machine?,
and Why the Best Voting Technology May Be No Technology at All

But Kerry and the DNC aren't fighting against any of that. They signed on until November 2, and now that's past and they can go back to having garden parties or whatever they do for three and a half years between conceding elections.

Tags: , , ,
[ 11:00 Nov 03, 2004    More politics/election04 | permalink to this entry | comments ]

Tue, 02 Nov 2004

Blocked voter registrations

As long as I'm collecting links to news stories, here are some about attempts to block voter registration or otherwise intimidate or discourage voters. States involved: Nevada, Florida, Oregon, Michigan, Ohio, and Iowa.

Tags: , , ,
[ 23:07 Nov 02, 2004    More politics/election04 | permalink to this entry | comments ]

Touchscreen machines changing votes

I mentioned to someone the problems that have been showing up for a week where voters think they've voted for one candidate, then realize upon getting to the final review that the machine has recorded votes for a different candidate, and discovered that I didn't have handy links to any of those stories. So here's a collection of stories from Texas and New Mexico:

Unfortunately the stories seldom say what type of touchscreen voting machine was being used.

And keep in mind that changing only a single vote per voting machine in the 2000 election could have made a difference of 25 electoral votes, according to a recent ACM study (which unfortunately isn't readable online unless you're an ACM member).

Tags: , , ,
[ 22:43 Nov 02, 2004    More politics/election04 | permalink to this entry | comments ]

Two good election shenanigans sites

BoingBoing seems to be slashdotted (probably not by slashdot) but two other sites with excellent up-to-date news on election problems are E-Voting Experts, covering reports of problems with touchscreen and optical scan voting machines, and Equal Vote, covering some of the legal challenges against voters, in states such as Ohio and (of course) Florida.

Tags: , , ,
[ 14:07 Nov 02, 2004    More politics/election04 | permalink to this entry | comments ]

I voted

I'm happy to report that voting with paper in my neighborhood was surprisingly low hassle.

The registrar did not ask me whether I wanted paper, but when I saw her circle "E" I hastily told her "I want a paper ballot". She looked momentarily surprised, but recovered quickly, scribbled over the "E" and marked "P". They didn't offer a pen, but I had brought one so I didn't ask.

Then came the wait. They had four or five touchscreen machines, but only one booth (made from a cardboard box) for paper voters, already occupied. The ballot is long (in fact, there are two paper ballots, each 2-sided) so it takes quite a while to finish it. That was fine, because it gave me a chance to hear that they began asking the people registering behind me whether they wanted paper or electronic. They often had to explain the difference to voters who had no idea what the options were, which didn't sound easy; they were very patient about helping people understand the options and didn't try to brush anyone off. Roughly half of the people there chose paper.

Voting was straightforward except that the booth's ledge was very low (for wheelchair access; the voter ahead of me was in a wheelchair). I probably should have grabbed a chair.

While I was marking my paper ballot, I heard a woman who was having a lot of trouble getting the touchscreen machine to work. The pollworker worked with her for quite a while. I think they eventually straightened it out; it sounded like maybe she had to press really hard to get it to register her votes.

When I had finished, my ballot went straight into a box, no provisional envelopes or anything like that. Paper voters get a different sticker, not the new "I voted, touchscreen" sticker (so I don't get to draw a circle-slash with a Sharpie like I'd planned).

Reports I hear from other Santa Clara county voters: most have been asked "electronic or paper?" and I haven't heard any reports of provisional envelopes or other weirdness. Many who voted paper report people voting outside booths; in one case no booth was available, and paper voters sat at a folding table. There wasn't much privacy on the machines either, though: they don't have much of a wing to hide the screen from onlookers, so if you wanted to snoop on someone's votes, it's not difficult.

All in all, I was pleased with how easy it was to vote with paper, with the competence of the poll workers, and with how many people chose the paper option.

Tags: , , ,
[ 12:44 Nov 02, 2004    More politics/election04 | permalink to this entry | comments ]

Problems voting with paper ballots

BoingBoing (the esteemed Cory Doctorow) already has coverage of some of the problems people are encountering trying to vote here in Santa Clara County (California) this morning.

Like the Vote Save Error #9. Use the Backup Voting Procedure." message one voter got when trying to use the touchscreens.

But about that backup voting procedure: it seems that even if you can persuade them to give you a paper ballot (bring your own pen, even though the Voter Information Guide specifically says on page 164 that after signing in at the polls the voter "receives a paper ballot along with an approved marking device"), the ballots cast on paper are being put in "provisional" envelopes, yet without the identifying information on the envelope which is used to approve provisional ballots. One really wonders if such votes will be counted.

I wonder if it will be possible to get statistics after the fact for the total number of paper ballots counted in each precinct (and how many of them were provisional)? For comparison, I wish someone was doing exit polls to get an idea of what percentage of people are requesting paper ballots.

Meanwhile, Kelly Martin reports that in Cook County, Ill. voting is no longer by secret ballot. Each ballot has a number on it which is correlated with the voter's name.

One of the boingboing comments points out that voting problems should be reported to The EFF suggests using the Election Incident Reporting System.

Stay tuned.

Tags: , , ,
[ 10:58 Nov 02, 2004    More politics/election04 | permalink to this entry | comments ]

Thu, 28 Oct 2004

More ballot shenanigans

The Florida post office has somehow lost 58,000 absentee ballots in Broward County, FL.

They say they're mailing out new ballots, but that (not mentioned in the article) blithely assumes that everyone who voted absentee did so frivilously, not because they were, say, going to be out of town during the election.

By a staggering coincidence, Broward was the county which gave Gore the biggest margin in 2000.

Meanwhile, news from the EFF from last week when I was out of town: Santa Clara County poll workers are being trained not to offer voters a chance to use paper ballots instead of electronic voting machines.

I've been rather hoping that the EFF (or someone) would organize protests near polling places, trying to inform voters of their rights. But no such luck. Instead, they've set up a site with a big flash movie with monotonous music and no information that couldn't have been shown better in a simple fast-loading html page. If you want to watch the flash movie, it's at but there's really nothing else there besides the movie.

Spread the word anyway. Tell everyone you know in the affected counties (Santa Clara, Orange, Alameda, and Riverside Counties. Napa, San Bernardino, Merced, Plumas, Shasta, Tehama, and Riverside counties) that they can request a paper ballot, and that way leave a paper trail that can be verified in case of a recount.

Tags: , , ,
[ 23:43 Oct 28, 2004    More politics/election04 | permalink to this entry | comments ]

Fri, 08 Oct 2004

More on CA paper ballots

Unable to find any law stating the paper ballot requirement, I called the Sec. of State's office back, this time being forwarded to someone named Michael.

He told me that the requirement specified in the decertification action was a "directive by the secretary of state", not a legislative action" and so was not reflected in the election code.

However, the requirement is stated in the Voter Information Guide. I do not seem to have received my VIG, but it's available in PDF form (168 pages) on the Voter Information Guide page off the Sec. of State site. It's on page 167: "Counties using touchscreen/DRE systems are required to have paper ballots available upon request."

So there it finally is, in writing. Whew!

I strongly advise all California voters to ask for this option at their polling place on November 2.

Tags: , , ,
[ 14:41 Oct 08, 2004    More politics/election04 | permalink to this entry | comments ]

Verifying CA's supposed paper trail elections law

Our story so far: the nice lady at the Secretary of State's office pointed me to the PDF for Shelley's Diebold decertification as the proof that the upcoming election will allow voters to request a paper ballot. That PDF says that it modifies Division 19, Chapter 1 (commencing with Section 19001) of the Elections Code and Government Code section 12172.5. My goal is to make sure that this hasn't been superceded by subsequent recertification or other lobbying.

First I tried Leginfo, searching the Government and Elections codes for various combinations of the words paper ballot option election machine That gives lots of links (which I need to explore) which don't include 12172.5.

Searches on leginfo, I notice, always return exactly 20 results (two pages of ten), no matter what you search for. Somehow this doesn't give me a feeling of confidence.

To get directly to a numbered law, leave the search field blank to go to the table of contents for Government or Elections. Then wait a while.

It turns out that Government Section 12159-12179.1has nothing to do with voting procedures or technology, and doesn't have a .5. Hmm.

Well, let's try 19001 and see if it's related. Oops, the table of contents skips from 18993 to 19050 (which is something to do with making General Appointments, anyway).

The Election code, on the other hand, skips from 12113 to 12200, missing 12172.

The 19000s of the election code do, finally, seem to relate to the issue of technology used in polling. But nowhere in the 19000s can I find any mention of paper ballots.

A google search of "paper ballot" option on site leginfo-ca-gov returns no hits.

Is leginfo behind? Or was the lady at Shelley's office wrong about that provision still being current?

Tags: , , ,
[ 13:09 Oct 08, 2004    More politics/election04 | permalink to this entry | comments ]

CA will (apparently) honor requests for paper ballots

I've been waiting for months for the papers, or Wired, or someone, to give us the definitive word on California's proposed paper ballot option.

Back when Secretary of State Kevin Shelley moved to decertify some of the Diebold voting machines, he included a provision that voters who wish a paper trail may request a paper ballot in counties which use touchscreen voting machines.

But since then, many things have changed, many of the decertified machines have been recertified, and none of the news articles ever mentions the paper ballot option. I've been keeping an eye on the CA Elections and Voter Info site for some time, looking for help or information, but time is getting short to request an absentee ballot, so I mounted a search.

The Elections and Voter Info site has a FAQ -- they only link to the FAQ about voter registration, but that same page has answers about other topics as well, including voting systems. But no mention whatsoever about paper ballots.

The elections page also links to another site run by the Sec. of State,, which has lots of interesting information on things like Diebold decertification and recertification, but still no info on the paper ballot rule (or lack thereof).

Going back to the elections page, I called toll-free phone number for voter info, and spent a few minutes navigating a phone tree, which didn't include any options which seemed relevant; determinedly pressing the numbers for "other requests" eventually ended up in something that wanted to request info from me (for what? I wasn't clear) rather than let me ask questions of a human.

I hung up, and tried the Sample Ballot I received in the mail a few days ago. It has instructions for voting both on touchscreen and on paper, but no assurance that the paper ballot is actually an option for anyone receiving the sample ballot. The only phone number I could find anywhere in the sample ballot was one for requesting ballots in other languages.

Going back to the Secretary of State's web site, I found the phone number for the Sec. of State's office in Sacramento, and called long-distance. Navigating another phone tree (oddly, "Elections Division" is not in the first list of options; you have to choose "Other" which takes you to a menu which includes elections) and ended up speaking with a friendly and helpful woman there.

She assured me that yes, all voters in California would have the option of requesting a paper ballot at the polling place, and she offered to find it on the web site for me.

Several minutes of searching ensued. She initially thought it would be on the Voter's Bill of Rights linked off This turns out to be a PDF of a big-type poster, which, alas, says nothing about paper ballots.

She put me on hold briefly while she went searching, came back, and tried to remember the click-through route she'd taken so I could find it too. We followed several false leads, but finally got there: start at the Elections & Voter Information page, scroll way down to Voting Systems (under "General Information"), then click on Decertification and Conditional Certification for certain DREs to get the 9-page PDF of Shelley's original decertification of the Diebold machines, which, on page 4 item 4.b.1, specifies that every polling place must either (a) have a voting machine offering a "fully tested, federally qualified and state certified accessible, voter verified paper, audit trail" or (b) (1) Permit every voter to have the option at his or her polling place of casting a ballot on a paper ballot which may be satisfied by providing an adequate number of paper ballots to each polling place based on each County's assessment of the number of persons who may request them. The cost of additional paper ballots specified in this paragraph shall be borne by the vendor of the voting sytem that sought its certification or approval for use in California, or the vendor's successor in interest".

(Incidentally, this PDF is simply a scan of the successive pages of the document; there's no searchable text here, so google wouldn't help unless it had OCR capability.)

The woman at the Sec. of State's election division assured me that this was still in effect and had not been outdated by the more recent recertifications, and that it applied to every voting district (presumably there's no currently certified voting machine which meets clause 4.a?)

The status of this document (see page 3) is that it amends Division 19, Chapter 1 (commencing with Section 19001) of the Elections Code and Government Code section 12172.5. So that's the place to go to make sure this is still current. More on that later.

At the end of our conversation, I mentioned that this info was a bit difficult to get to, and maybe a clear FAQ entry, somewhere in the html of the site, might be in order. She agreed. Perhaps someone will update the web site before the election.

Tags: , , ,
[ 12:43 Oct 08, 2004    More politics/election04 | permalink to this entry | comments ]

Fri, 01 Oct 2004

Democrat site completely fails with large fonts

Latest accessibility gaffe:

The web site for the Democratic Party is totally screwed up if your fonts are even one step larger than the default. Try it! (ctrl-+ in mozilla.) I wonder if it ever occurred to them that many of those precious Florida voters are older, and need to use large fonts?

I sent them a note, with screenshots of the top of the site and some unreadable text farther down.

I wonder if the Republican site is any better? I'm not sure where it is, and oddly, googling for "republican party" doesn't get anything that looks like an official nationwide site on the first page.

[ 11:38 Oct 01, 2004    More politics | permalink to this entry | comments ]

Fri, 03 Sep 2004

The Undecided Voter

Great election cartoon from This Modern World.

Here's another good one.

Or just Browse the archives.

Tags: ,
[ 22:19 Sep 03, 2004    More politics/election04 | permalink to this entry | comments ]

Anti-RNC Protestors imprisoned in New York

A judge ordered the immediate release of 470 protesters in New York yesterday, after they'd been held illegally for almost three days in substandard conditions in a makeshift holding cell retrofitted from a pier garage).

The city denied there was any political motivation to holding the detainees for so long, and blamed the delay on the huge number of arrestees.

(Well, whose fault is that?)


It's apparently based on an AP story, but it doesn't seem to be possible to get to AP stories from AP's web site.

Tags: ,
[ 12:24 Sep 03, 2004    More politics/rights | permalink to this entry | comments ]

Thu, 19 Aug 2004

Wrong Time for an E-Vote Glitch

Wired has had great coverage of the e-voting fiasco all along, but the latest story is particularly impressive: Wrong Time for an E-Vote Glitch. Sequoia Systems (suppliers, to our shame, for Santa Clara county, though at least they're not as bad as Diebold) had a demo for the California state senate of their new paper-trail system. Turned out that their demo failed to print paper trails for any of the spanish language ballots in the demo. It wasn't just a random glitch: they tried it several times, and every time, it failed to print the spanish voters' paper trail.

What a classic. I wish advocates for the Spanish-speaking community would seize on this and help to fight e-voting.

Sequoia, of course, is claiming that it wouldn't happen in a real election, that the problem was they didn't proofread the Spanish ballot but they would for a real election. I'm sure that makes everyone feel all better.

Other news mentioned in the article: the California bill to require a paper trail has stalled, and everyone thinks that's mysterious because it supposedly had bipartisan support.

They don't mention whether that's the same bill which would have allowed voters to choose a paper ballot rather than a touchscreen machine. That's important, since those of us who don't trust the touchscreen machines need to know in time to request absentee ballots, if we can't use paper ballots at the polls.

Tags: , , ,
[ 18:35 Aug 19, 2004    More politics/rights | permalink to this entry | comments ]

Tue, 17 Aug 2004

EMI copy protected CDs don't affect Linux and Mac users

The Register had an article on the copy protection in the Beastie Boys' new CD. The relevant bit: the copy protection is only for Windows PCs (it uses a data track with an autorun file) and even then, it does nothing if autorun is disabled. For linux and mac users, it does nothing at all, and works as a normal CD. And Windows third-party CD burning apps can burn copies of the CD just fine.

The CD publisher, EMI Italy, was asked about this, and said they weren't worried at all about linux and mac users, or PC users who know enough to disable autorun (or use a CD burning app?); they think the majority of PC users will be stopped by this.

Assuming that Windows users who know enough to rip a CD and then distribute it online, but not enough to google for how to disable autorun, may seem a bit weird. But I guess if that's the kind of copy protection they want, we should be happy for it. Personally I still wouldn't buy a copy protected disc (I don't buy CDs from RIAA publishers anyway, a little personal boycott) and of course there's no guarantee, knowing the RIAA's history, that they won't decide to come after linux and mac users later; but for now, I suppose we should be happy that if we accidentally happen on this sort of disc, we don't have to worry about the Windows-oriented copy protection getting in our way.

(Would this constitute an anti-DMCA argument that the protection is not "effective"? It certainly should, but I'm still not entirely clear on the legal definition of "effective" except that it means something different from what the word means in normal English.)

Tags: ,
[ 18:04 Aug 17, 2004    More politics/rights | permalink to this entry | comments ]

Fri, 09 Jul 2004

Fahrenheit 9/11

I saw Fahrenheit 9/11 tonight. Well done. It had some typical Michael Moore silliness, but less than I expected; most of the movie was spot on. Two weeks after release, on a weeknight, the theatre was still fairly full (and it was playing on two screens).

Tags: ,
[ 00:00 Jul 09, 2004    More misc | permalink to this entry | comments ]