Shallow Thoughts : tags : politics

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

Wed, 01 Feb 2023

The 2023 Legislative Session, Student Advocates, and Hope for the Future

This year's New Mexico legislative session started Jan 17 and runs through Mar 18. As usual, they have a full schedule.

Also as usual, I've been scrambling with updates to the New Mexico Bill Tracker. This year's new feature is tags; I seeded it with a few tags I use, like health and elections, plus an LWVNM tag for bills the League of Women Voters is tracking and advocating for or against. But the list has grown quite a bit from there, and it's been fun to watch what tags other people are interested in.

One bill of particular interest this session is HB134: MENSTRUAL PRODUCTS IN SCHOOL BATHROOMS. It's driven by three Albuquerque Academy high school students, seniors Noor Ali, Sophia Liem and Mireya Macías.

Read more ...

Tags: ,
[ 17:59 Feb 01, 2023    More politics | permalink to this entry | ]

Tue, 23 Mar 2021

Writing a Bill

I've been super busy this month. The New Mexico Legislature was in session, and in addition to other projects, I've had a chance to be involved in the process of writing a new bill and helping it move through the legislature. It's been interesting, educational, and sometimes frustrating.

The bill is SB304: Voting District Geographic Data. It's an "open data" bill: it mandates that election district boundary data for all voting districts, down to the county and municipal level, be publicly available at no charge on the Secretary of State's website.

Read more ...

Tags: , , , , ,
[ 13:28 Mar 23, 2021    More politics | permalink to this entry | ]

Thu, 21 Jan 2021

Track Bills in the 2021 New Mexico Legislative Session

This year's New Mexico Legislative Session started Tuesday. For the last few weeks I've been madly scrambling to make sure the bugs are out of some of the New Mexico Bill Tracker's new features: notably, it now lets you switch between the current session and past sessions, and I cleaned up the caching code that tries to guard against hitting the legislative website too often.

Read more ...

Tags: , , , ,
[ 17:50 Jan 21, 2021    More politics | permalink to this entry | ]

Tue, 14 Jan 2020

Plotting War

A recent article on Pharyngula blog, You ain’t no fortunate one, discussed US wars, specifically the qeustion: depending on when you were born, for how much of your life has the US been at war?

It was an interesting bunch of plots, constantly increasing until for people born after 2001, the percentage hit 100%.

Really? That didn't seem right. Wasn't the US in a lot of wars in the past? When I was growing up, it seemed like we were always getting into wars, poking our nose into other countries' business. Can it really be true that we're so much more warlike now than we used to be?

It made me want to see a plot of when the wars were, beyond Pharyngula's percentage-of-life pie charts. So I went looking for data.

The best source of war dates I could find was American Involvement in Wars from Colonial Times to the Present. I pasted that data into a table and reformatted it to turn it into Python data, and used matplotlib to plot it as a Gantt chart. (Script here: us-wars.py.)

[US Wars Since 1900]

Sure enough. If that Thoughtco page with the war dates is even close to accurate -- it could be biased toward listing recent conflicts, but I didn't find a more authoritative source for war dates -- the prevalence of war took a major jump in 2001. We used to have big gaps between wars, and except for Vietnam, the wars we were involved with were short, mostly less than a year each. But starting in 2001, we've been involved in a never-ending series of overlapping wars unprecedented in US history.

The Thoughtco page had wars going back to 1675, so I also made a plot showing all of them (click for the full-sized version). It's no different: short wars, not overlapping, all the way back to before the revolution. We've seen nothing in the past like the current warmongering. [US Wars Since 1675]

Depressing. Climate change isn't the only phenomenon showing a modern "hockey stick" curve, it seems.

Tags: , , ,
[ 12:25 Jan 14, 2020    More politics | permalink to this entry | ]

Fri, 25 Jan 2019

Announcing the New Mexico Bill Tracker

For the last few weeks I've been consumed with a project I started last year and then put aside for a while: a bill tracker.

The project sprung out of frustration at the difficulty of following bills as they pass through the New Mexico legislature. Bills I was interested in would die in committee, or they would make it to a vote, and I'd read about it a few days later and wish I'd known that it was a good time to write my representative or show up at the Roundhouse to speak. (I've never spoken at the Roundhouse, and whether I'd have the courage to actually do it remains to be seen, but at least I'd like to have the chance to decide.)

New Mexico has a Legislative web site where you can see the status of each bill, and they even offer a way to register and save a list of bills; but then there's no way to get alerts about bills that change status and might be coming up for debate.

New Mexico legislative sessions are incredibly short: 60 days in odd years, 30 days in even. During last year's 30-day session, I wrote some Python code that scraped the HTML pages describing a bill, extract the useful information like when the bill last changed status and where it was right now, present the information in a table where the user could easily scan it, and email the user a daily summary. Fortunately, the nmlegis.gov site, while it doesn't offer raw data for bill status, at least uses lots of id tags in its HTML which make them relatively easy to scrape.

Then the session ended and there was no further way to test it, since bills' statuses were no longer changing. So the billtracker moved to the back burner.

In the runup to this year's 60-day session, I started with Flask, a lightweight Python web library I've used for a couple of small projects, and added some extensions that help Flask handle tasks like user accounts. Then I patched in the legislative web scraping code from last year, and the result was The New Mexico Bill Tracker. I passed the word to some friends in the League of Women Voters and the Sierra Club to help me test it, and I think (hope) it's ready for wider testing.

There's lots more I'd like to do, of course. I still have no way of knowing when a bill will be up for debate. It looks like this year the Legislative web site is showing committ schedules in a fairly standard way, as opposed to the unparseable PDFs they used in past years, so I may be able to get that. Not that legislative committees actually stick to their published schedules; but at least it's a start.

New Mexico readers (or anyone else interested in following the progress of New Mexico bills) are invited to try it. Let me know about any problems you encounter. And if you want to adapt the billtracker for use in another state, send me a note! I'd love to see it extended and would be happy to work with you. Here's the source: BillTracker on GitHub.

Tags: , , , ,
[ 12:34 Jan 25, 2019    More politics | permalink to this entry | ]

Sun, 15 Jul 2018

LWV National Convention, 2018: Plenary Sessions

or: How Sausage is Made

I'm a big fan of the League of Women Voters. Really. State and local Leagues do amazing work. They publish and distribute those non-partisan Voter Guides you've probably seen before each election. They register new voters, and advocate for voting rights and better polling access for everybody, including minorities and poor people. They advocate on lots of other issues too, like redistricting, transparency, the influence of money in politics, and health care. I've only been involved with the League for a few years; although my grandmother was active in her local League as far back as I can remember, somehow it didn't occur to me to get involved until I moved to a small town where it was more obvious what a difference the local League made.

So, local and state Leagues are great. But after returning from my second LWV national convention, I find myself wondering how all this great work manages to come out of an organization that has got to be the most undemocratic, conniving political body I've ever been involved with.

I have separate write-ups of the caucuses and other program sessions I attended at this year's convention, for other LWV members wanting to know what they missed. But the Plenary sessions are where the national League's business is conducted, and I felt I should speak publicly about how they're run.

In case there's any confusion, this article describes my personal reactions to the convention's plenary sessions. I am speaking only for myself, not for any state or local league.

The 2018 National Convention Plenary Sessions

I didn't record details of every motion; check the Convention 2018 Daily Briefing if you care. (You might think there would be a published official record of the business conducted at the national convention; good luck on finding it.)

The theme of the convention, printed as a banner on many pages of the convention handbook, was Creating a More Perfect Democracy. It should have been: Democracy: For Everyone Else.

Friday Plenary

In case you're unfamiliar with the term (as I was), "Plenary" means full or complete, from the Latin plenus, full. A plenary session is a session of a conference which all members of all parties are to attend. It doesn't seem to imply voting, though that's how the LWVUS uses the term.

After the national anthem, the welcome by a designated local official, a talk, an opening address, acceptance of various committee reports, and so on, the tone of the convention was set with the adoption of the convention rules.

A gentleman from the Oregon state League (LWVOR) proposed a motion that would have required internal decisions to be able to be questioned as part of convention business. This would include the controversial new values statement. There had been discussion of the values statement before the convention, establishing that many people disagreed with it and wanted a vote.

LWVUS president Chris Carson wasn't having any of it. First, she insisted, the correct parliamentary way to do this was to vote to approve the rest of the rules, not including this one. That passed easily. Then she stated that the motion on the table would require a 2/3 vote, because it was an amendment to the rules which had just passed. (Never mind that she had told us we were voting to pass all the rules except that one).

The Oregon delegate who had made the motion protested that the first paragraph of the convention rules on page 27 of the handbook clearly stated that amendment of the rules only requires a simple majority. Carson responded that would have been true before the convention rules were adopted, but now that we'd voted to adopt them, it now required a 2/3 vote to amend them due to some other rule somewhere else, not in the handbook. She was adamant that the motion could not now pass with a simple majority.

The Oregon delegate was incredulous. "You mean that if I'd known you were going to do this, I should have protested voting on adopting the rules before voting on the motion?"

The room erupted in unrest. Many people wanted to speak, but after only a couple, Carson unilaterally cut off further discussion. But then, after a lot of muttering with her Parliamentarian, she announced that she would take a show-of-hands vote on whether to approve her ruling requiring the 2/3 vote. She allowed only three people to speak on that motion (the motion to accept her ruling) and then called the question herself.

The vote was fairly close but was ruled to be in favor of her ruling, meaning that the original motion would require a 2/3 vote. When we finally voted on the original motion it looked roughly equal, not 2/3 in favor -- so the motion to allow debate on the values statement failed.

(We never did find out what this mysterious other rule was that supposedly mandated the 2/3 vote. The national convention has an official Parliamentarian sitting on the podium, as well as parliamentary assistants sitting next to each microphone in the audience, but somehow there's nobody who does much of a job of keeping track of what's going on or can state the rules under which we're operating. Several times during the three days of plenary, Carson and her parliamentarian lost track of things, for instance, saying she'd hear two pro and two con comments but actually calling three pro and one con.)

I notice in the daily briefing, this whole fracas is summarized as, "The motion was defeated by a hand vote."

Officer "Elections"

With the rules adopted by railroad, we were next presented with the slate of candidates for national positions. That sounds like an election but it's not.

During discussion of the previous motion, one national board member speaking against the motion (or for Carson's 2/3 ruling, I can't remember which) said "You elected us, so you should trust us." That spawned some audience muttering, too. See, in case there's any confusion, delegates at the convention do not actually get to vote for candidates. We're presented with a complete slate of candidates chosen by the nominating committee (for whom we also do not vote), and the only option is to vote yes or no on the whole slate "by acclamation".

There is one moment where it is possible to make a nomination from the floor. If nominated, such a nominee has one minute to make her case to the delegates before the final vote. Since there's obviously no chance, there are seldom any floor nominees, and on the rare occasion someone tries, they invariably lose.

Now, I understand that it's not easy getting volunteers for leadership positions in nonprofit organizations. It's fairly common, in local organizations, that you can't fill out all the available positions and have to go begging for people to fill officer positions, so you'll very often see a slate of officers proposed all at once. But in the nationwide LWVUS? In the entire US, in the (hundreds of thousands? I can't seem to find any membership figures, though I found a history document that says there were 157,000 members in the 1960s) of LWV members nationwide, there are not enough people interested in being a national officer that there couldn't be a competitive election? Really?

Though, admittedly ... after watching the sausage being made, I'm not sure I'd want to be part of that.

Not Recommended Items

Of course, the slate of officers was approved. Then we moved on to "Not Recommended Items". How that works: in the run-up to the convention, local Leagues propose areas the National board should focus on during the upcoming two years. The National board decides what they care about, and marks the rest as as "Not recommended". During the Friday plenary session, delegates can vote to reconsider these items.

I knew that because I'd gone to the Abolish the Electoral College caucus the previous evening, and that was the first of the not-recommended items proposed for consideration.

It turned out there were two similar motions: the "Abolish the Electoral College" proposal and the "Support the National Popular Vote Compact" proposal, two different approaches to eliminating the electoral college. The NPV is achievable -- quite a few states have already signed, totalling 172 electoral votes of the 270 that would be needed to bring the compact into effect. The "Abolish" side, on the other hand, would require a Constitutional amendment which would have to be ratified even by states that currently have a big advantage due to the electoral college. Not going to happen.)

Both proposals got enough votes to move on to consideration at Saturday's plenary, though. Someone proposed that the two groups merged their proposals, and met with the groups after the session, but alas, we found out on Saturday that they never came to agreement.

One more proposal that won consideration was one to advocate for implementation of the Equal Rights Amendment should it be ratified. A nice sentiment that everyone agreed with, and harmless since it's not likely to happen.

Friday morning "Transformation Journey" Presentation and Budget Discussion

I didn't take many notes on this, except during the presentation of the new IT manager, who made noise about reduced administrative burden for local Leagues and improving access to data for Leagues at all levels. These are laudable goals and badly needed, though he didn't go into any detail about how any of was going to work. Since it was all vague high-level hand waving I won't bother to write up my notes (ask me if you want to see them).

The only reason I have this section here is for the sharp-eyed person who asked during the budget discussion, "What's this line item about 'mailing list rental?'"

Carson dismissed that worry -- Oh, don't worry, there are no members on that list. That's just a list of donors who aren't members.

Say what? People who donate to the LWVUS, if they aren't members, get their names on a mailing list that the League then sells? Way to treat your donors with respect.

I wish nonprofits would get a clue. There are so many charities that I'd like to donate to if I could do so without resigning myself to a flood of paper in my mailbox every day for the rest of my life. If nonprofits had half a lick of sense, they would declare "We will never give your contact info to anyone else", and offer "check this box to be excluded even from our own pleas for money more than once or twice a year." I'd be so much more willing to donate.

Saturday Plenary

The credentials committee reported: delegates present represented 762 Leagues, with 867 voting delegates from 49 states plus the District of Columbia. That's out of 1709 eligible voting delegates -- about half. Not surprising given the expense of the convention. I'm told there have been proposals in past years to change the rules to make it possible to vote without attending convention, but no luck so far.

Consideration of not-recommended items: the abolition of the electoral college failed. Advocacy for the National Popular Vote Compact passed. So the delegates agreed with me on which of the two is achievable. Too bad the Electoral Abolition people weren't willing to compromise and merge their proposal with the NPV one.

The ERA proposal passed overwhelmingly.

Rosie Rios, 43rd Treasurer of the US, gave a terrific talk on, among other things, the visibility of women on currency, in public art and in other public places, and what that means for girls growing up. I say a little more about her talk in my Caucus Summary.

We had been scheduled to go over the bylaws before Rios' talk, but that plan had been revised because there was an immigration protest (regarding the separation of children from parents) scheduled some distance north of the venue, and a lot of delegates wanted to go. So the revised plan, we'd been told Friday, was to have Rios' talk and then adjourn and discuss the bylaws on Sunday.

Machinations

What actually happened: Carson asked for a show of hands of people who wanted to go to the protest, which looked like maybe 60% of the room. She dismissed those people with well wishes.

Then she looked over the people still in the room and said, "It looks like we might still have a quorum. Let's count."

I have no idea what method they used to count the people sitting in the room, or what count they arrived at: we weren't told, and none of this is mentioned in the daily summary linked at the top of this article. But somehow she decided we still had a quorum, and announced that we would begin discussion of the bylaws.

The room erupted in angry murmurs -- she had clearly stated before dismissing the other delegates that we were done for the day and would not be discussing the bylaws until Sunday.

"It's appalling", one of our delegation, a first-timer, murmured. Indeed.

But the plenary proceeded. We voted to pass the first bylaws proposal, an uncontroversial one that merely clarified some wording, and I'm sure the intent was to sneak the second proposal through as well -- a vague proposal making it easier to withdraw recognition from a state or local league -- but enough delegates remained who had actually read the proposals and weren't willing to let it by without discussion.

On the other hand, the discussion didn't come to anything. A rewording amendment that I'm told had been universally agreed to at the Bylaws caucus the previous evening failed to go through because too many of the people who understood the issue were away at the protest. The amendment failed, so even though we ran out of time and had to stop before voting on the proposal, the amended wording had already failed and couldn't be reconsidered on Sunday when the discussion was resumed.

(In case you're curious, this strategy is also how Pluto got demoted from being a planet. The IAU did almost exactly the same thing as the LWVUS, waiting until most of the voting members were out of the room before presenting the proposal to a small minority of delegates. Astronomers who were at the meeting but out of the room for the Pluto vote have spoken out, saying the decision was a bad one and makes little sense scientifically.)

Sunday Plenary

There's not much to say about Sunday. The bylaws proposal was still controversial, especially since half the delegation never had the chance to vote on the rewording proposal; the vote required a "card vote", meaning rather than counting hands or voices, delegates passed colored cards to the aisles to be counted. This was the only card vote of the convention.

Accessibility note: I was surprised to note that the voting cards were differentiated only by color; they didn't have anything like "yes" or "no" printed on them. I wonder how many colorblind delegates there were in that huge roomful of people who couldn't tell the cards apart.

The rest of Sunday's voting was on relatively unimportant, uncontroversial measures, ending with a bunch of proclamations that don't actually change anything. Those easily passed, rah, rah. We're against gun violence, for the ERA, against the electoral college, for pricing carbon emissions, for reproductive rights and privacy, and for climate change assessments that align with scientific principles. Nobody proposed anything about apple pie but I'm sure we would have been for that too.

And thus ended the conference and we all headed off to lunch or the airport. Feeling frustrated, a bit dirtied and not exactly fired up about Democracy.


Up: LWV National Convention, June-July 2018, Chicago

Tags: ,
[ 18:09 Jul 15, 2018    More politics | permalink to this entry | ]

Thu, 12 Oct 2017

Letter to the New Mexico Public Education Department on Science Standards

For those who haven't already read about the issue in the national press, New Mexico's Public Education Department (a body appointed by the governor) has a proposal regarding new science standards for all state schools. The proposal starts with the national Next Generation Science Standards but then makes modifications, omitting points like references to evolution and embryological development or the age of the Earth and adding a slew of NM-specific standards that are mostly sociological rather than scientific.

You can read more background in the Mother Jones article, New Mexico Doesn’t Want Your Kids to Know How Old the Earth Is. Or why it’s getting warmer, including links to the proposed standards. Ars Technica also covered it: Proposed New Mexico science standards edit out basic facts.

New Mexico residents have until 5.p.m. next Monday, October 16, to speak out about the proposal. Email comments to rule.feedback@state.nm.us or send snail mail (it must arrive by Monday) to Jamie Gonzales, Policy Division, New Mexico Public Education Department, Room 101, 300 Don Gaspar Avenue, Santa Fe, New Mexico 87501.

A few excellent letters people have already written:

I'm sure they said it better than I can. But every voice counts -- they'll be counting letters! So here's my letter. If you live in New Mexico, please send your own. It doesn't have to be long: the important thing is that you begin by stating your position on the proposed standards.


Members of the PED:

Please reconsider the proposed New Mexico STEM-Ready Science Standards, and instead, adopt the nationwide Next Generation Science Standards (NGSS) for New Mexico.

With New Mexico schools ranking at the bottom in every national education comparison, and with New Mexico hurting for jobs and having trouble attracting technology companies to our state, we need our students learning rigorous, established science.

The NGSS represents the work of people in 26 states, and is being used without change in 18 states already. It's been well vetted, and there are many lesson plans, textbooks, tests and other educational materials available for it.

The New Mexico Legislature supports NGSS: they passed House Bill 211 in 2017 (vetoed by Governor Martinez) requiring adoption of the NGSS. The PED's own Math and Science Advisory Council (MSAC) supports NGSS: they recommended in 2015 that it be adopted. Why has the PED ignored the legislature and its own advisory council?

Using the NGSS without New Mexico changes will save New Mexico money. The NGSS is freely available. Open source textbooks and lesson plans are already available for the NGSS, and more are coming. In contrast, the New Mexico Stem-Ready standards would be unique to New Mexico: not only would we be left out of free nationwide educational materials, but we'd have to pay to develop New Mexico-specific curricula and textbooks that couldn't be used anywhere else, and the resulting textbooks would cost far more than standard texts. Most of this money would go to publishers in other states.

New Mexico consistently ranks at the bottom in educational comparisons. Yet nearly 15% of the PED's proposed stem-ready standards are New Mexico specific standards, taught nowhere else, and will take time away from teaching core science concepts. Where is the evidence that our state standards would be better than what is taught in other states? Who are we to think we can write better standards than a nationwide coalition?

In addition, some of the changes in the proposed NM STEM-Ready Science Standards seem to be motivated by political ideology, not science. Science standards used in our schools should be based on widely accepted scientific principles. Not to mention that the national coverage on this issue is making our state a laughingstock.

Finally, the lack of transparency in the NMSRSS proposal is alarming. Who came up with the proposed NMSRSS standards? Are there any experts in science education that support them? Is there any data to indicate they'd be more effective than the NGSS? Why wasn't the development of the NMSRSS discussed in open PED meetings as required by the Open Meetings Act?

The NGSS are an established, well regarded national standard. Don't shortchange New Mexico students by teaching them watered-down science. Please discard the New Mexico Stem-Ready proposal and adopt the Next Generation Science Standards, without New Mexico-specific changes.

Tags: , , ,
[ 10:16 Oct 12, 2017    More politics | permalink to this entry | ]

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)
    ax.add_patch(poly)

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 | ]

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 fillstates.py 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,
                projection='tmerc')

    # 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',
                               'counties',
                               drawbounds=True)

if __name__ == "__main__":
    draw_us_map()
    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)
    plt.show()
[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.

    MAXSTATEFP = 73
    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"]
        try:
            statename = states[int(county["STATEFP"])]
        except IndexError:
            print countyname, "has out-of-index statefp of", county["STATEFP"]
            continue

        countystate = "%s, %s" % (countyname, statename)
        try:
            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
            else:
                print "No match for", countystate
                continue

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

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)
    ax.add_patch(poly)
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 | ]

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 Data.gov would be the place to go for official election results, but no: searching for 2016 election on Data.gov 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. Archives.gov 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 USA.county.data (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 | ]

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 | ]

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
LIVE EXPONENTIALLY

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 | ]

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 | ]

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 | ]

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?

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

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 www.sos.ca.gov/elections/ 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.

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

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?"

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

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 Senate.gov 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 pressec.com story gave a link to the bill on Thomas.loc.gov, which links to an official House.gov vote count.

In the absence of pressec.com'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?

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

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 | ]

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 | ]

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 | ]

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 | ]

Sat, 20 Nov 2004

Blackbox Voting Exposes Poll Tape Fraud

Installment one of Bev Harris and BlackBoxVoting.org'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 | ]

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 | ]

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 | ]

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 | ]

Wed, 03 Nov 2004

WIMPS!

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: BlackBoxVoting.com and its sister site BlackBoxVoting.org.

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 | ]

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 | ]

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 | ]

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 | ]

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 | ]

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 voteproblem.org. The EFF suggests using the Election Incident Reporting System.

Stay tuned.

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

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 PaperOrPlastic2004.org 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 | ]

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 | ]

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 | ]

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, MyVoteCounts.org, 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 MyVoteCounts.org. 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 | ]

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.

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

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 | ]

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?)

Sources

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 | ]

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 | ]

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 | ]

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 | ]