The Senate killed a bill to put their own voting records online. So I did it for them.

The Senate Rules Committee killed a bill today that would have put legislators’ voting records online. The House passed freshman Republican Jim LeMunyon’s HB778 overwhelmingly. But the Senate Rules Committee—overwhelmingly Democratic, incidentally—barely allowed it out of subcommittee, and then killed it on a 13-2 vote. Officially, they think it’d just be too darned hard to put that data on their website. Which, the Roanoke Times editorial board points out today, seems unlikely, given that I’ve provided that very data on Richmond Sunlight for several years now, in the form of spreadsheets downloadable from any legislator’s page on the site. Realistically, they likely killed this because they don’t want their voting records to be available for opposition research.

Anyhow, just to stick a thumb in the eye of Senate Democrats, this evening I put together an HTML version of the same data, making it easier for folks to access and for search engines to index. It took me—no kidding—about twenty minutes. (For example, here’s my senator’s 2009 voting record.) As always, every scrap of legislative data on Richmond Sunlight comes directly from the legislature’s website, so I don’t have access to any special fairy dust that the Senate doesn’t have. I’ve said it before, and I’ll say it again: I don’t care who’s in charge of the legislature, transparency is essential. Any Democrats who thinks I’m going to go easy on them had best think again.

Published by Waldo Jaquith

Waldo Jaquith (JAKE-with) is an open government technologist who lives near Char­lottes­­ville, VA, USA. more »

11 replies on “The Senate killed a bill to put their own voting records online. So I did it for them.”

  1. yes. thanks. Great JOB! Been going through and perusing my own elected voting records.

    I’ve pretty much stopped using the State’s site anyhow because it’s so clunky and lame compared to Richmond Sunlight.

    You’re pretty much showing what one guy can do to help keep an entire legislature more honest in their dealings.

    thanks, again.

    p.s. – now if we can only get the state to update the votes taken on a more timely basis. The vote that killed this is apparently not yet available to see who voted to kill this.

  2. now if we can only get the state to update the votes taken on a more timely basis. The vote that killed this is apparently not yet available to see who voted to kill this.

    To their credit, the state does update votes very quickly on their own website. But the data that they provide for syndication to other websites is only updated once every 24 hours. Ironically, this means that in order to get the most current voting data, you have to go to the legislature’s website…where you can’t see legislators’ voting records.

    what happens if someone doesn’t vote? I only see Y and N votes.

    There are actually two types of not voting. A vote can also be recorded as “X” or “A”. The former means that they simply didn’t vote, the latter means that they were not present for the vote. That’ll be the next change that I make to this vote-listing page, is changing those votes to something more descriptive. There’s no way that the average citizen would (or should) know about “X” and “A” votes.

  3. Congratulations and thank you for this resource, Waldo. But be careful: the attempt to shame the legislators into making it easier for citizens to keep on eye on them might backfire by providing them with an excuse to outsource such functions to private companies, who might then charge for the service. Not that I’m giving you a hint…

  4. Are you willing to tell how you were able to gather the data? Was it a completely manual operation or have you automated the process? Is the API for the LIS available? Could someone write an iPhone app?

  5. well.. he’s already noted that apparently some in the GA have decided to move their bill-killing behaviors down to the levels where recorded votes are not taken – I presume in an effort to evade being identified for their vote – which is really a scurious behavior for anyone but especially so a legislator. They don’t even deserve to be called elected representatives when they engage at this level of unethical behavior.

    Isn’t it interesting that someone who is intent to put some sunshine on the GA is “warned” to “be careful” or else they might do other equally unsavory stuff?

  6. Are you willing to tell how you were able to gather the data?

    Of course! The data is provided wholly by the legislature’s brilliant tech staff. A few years ago, in response to a FOIA request (the cost of which was borne by the Virginia Interfaith Center for Public Policy), they created a system that would update a CSV file (aka a spreadsheet) nightly, that lives on their server. Anybody with FTP access to their server (available upon request) can download the file and parse it to get full voting data.

    From there it’s a snap to pivot the data, grouping it by legislator, rather than by vote.

    Was it a completely manual operation or have you automated the process?

    It’s completely automated. I don’t do a thing. I mean, I wrote a bunch of code that parses that data, which is built up on the Richmond Sunlight code base that’s a result of thousands of hours of work, but yes, it is automated now.

    Is the API for the LIS available?

    It’s not an API, unfortunately, just a CSV file. That CSV file is really bare, and on its own would be useless, I’m afraid. However, Richmond Sunlight has an API, and while that doesn’t include voting data just yet, I could certainly extend it to encompass that data. You can also download legislators’ voting records in CSV format, available from any legislator voting record page on Richmond Sunlight. While it’s just CSV, the good news is that data is far easier to parse (and read) than the data that the legislature provides.

    Could someone write an iPhone app?

    I already have, and while it doesn’t include voting records, it would be only about an hour’s work to add that feature.

    One of the folks on the legislature’s tech staff testified before the committee that killed this bill, saying that it would be about a week’s work to add this feature. I don’t doubt that’s true. They’re running a legacy system, the same code base that they’ve used for something like fifteen years, and what’s really easy for me to do on a modern code base is going to be hard for them. (The good news is that, by using the same code base this whole time, they’ve surely saved a huge amount of money over redeveloping it periodically. The fact that it still works is a testament to how well planned it was in the first place.)

    A week’s work for one person is, I think, a pretty reasonable amount of time to put in for such a valuable resource for Virginians. Obviously this committee does not agree.

Comments are closed.