A good part of the reason I started blogging was because I went to a history conference at a UT branch up between Dallas and Fort Worth and found that, contrary to belief, many well known academic historians have found community history projects to be invaluable because of their focus and details. Photos rated high. Photos with details rate high. Interviews with participants in events rated high. Interviews with older people rated high if you cover their experience and perspective.
- Prairie Weather

“Protest works. Just look at the proof”

Free MP3 sites

Be your own program director. Venture off the beaten path. Live a little.

2dopeboyz: Hip hop. (RSS)

3hive: Sharing the sharing. Free and legal MP3s from over 600 underground and undiscovered artists — new ones added daily. (RSS)

Amazon MP3 Download - Frequency: Weekly. Get the latest on Amazon MP3 music downloads - new releases, freshly ripped hits, and special deals.

Audio Drums - A blog for rare, possibly overlooked, maybe forgotten gems of music with a slight emphasis on electronic and indie genres. (RSS)

Common Folk Music - A blog about music, not just folk music, but all music ranging from indie to alt-country to bluegrass, because music is for the “Common Folk”. (RSS)

Discobelle.net (RSS)

Fiddlefreak Folk Music Blog - Folk, bluegrass, Celtic, and other music of the people. (RSS)

Fingertips Music - Free and legal music. (RSS)

Gorilla Vs Bear (RSS)

Hillydilly: Simply Good Music. (RSS)

I Rock Cleveland: Indie Rock, College Rock, Alt Rock, Modern Rock, Cleveland Rock, and Rock. (RSS)

KEXP Song of the Day: KEXP 90.3 FM - where the music matters (RSS)

Kick Kick Snare (RSS)

Line Of Best Fit - TLOBF.COM | Music Reviews, News, Interviews & Downloads (RSS)

Lipstick Disco - Deep House & Disco music blog fronted by Females (RSS)

Minnesota Public Radio Song of the Day: Music lovers from 89.3 The Current share songs with you each weekday. (RSS)

Muruch (RSS)

Music Like Dirt: Music in all its many forms, mp3’s, live reviews and photography. (RSS)

My Old Kentucky Blog - a music blog that parties with unicorns. (RSS)

Nah Right. (RSS)

ninebullets.net. (RSS)

Rollo & Grady: Los Angeles Music Blog, LA Music Blog (RSS)

Said the Gramophone: a music weblog (RSS)

She Makes Music: She Makes Music focuses on the most exciting and impressive new music created by brilliant and talented female musicians. (RSS)


Sounds Better With Reverb (RSS)

Stereogum: All the MP3s on Stereogum.com (RSS)

their bated breath (RSS)

Women of Hip Hop (RSS)

YouKnowIGotSoul (RSS)

Mourn ya till I join ya

The Wheel’s Still In Spin: Focusing on new music releases and reviews of individual albums as original, fictional short stories (RSS)

A Fifty Cent Lighter & A Whiskey Buzz - This site is just a way for me to have a little fun and share a little music. I’ll highlight some of my favorite artists that I play on the radio and try to expound upon their music in ways I can’t always do on the air. (RSS)

Aminal Sound

Audiofile: Music Blog, Music Articles - Salon.com

Crossfade: The CNET music blog

Direct Current New Music - Adult pop, rock, singer/songwriters, folk, Americana, alt-country, adult alternative, soul, world music, crossover jazz and simply those artists that make us go “hmmm.”(RSS)

GarageBand.com Folk top tracks (RSS)

GarageBand.com Hip Hop top tracks (RSS)

Flawless Hustle: Urban culture blog featuring artist interviews, music reviews, legal music downloads, street art, graffiti and more! (RSS)



The Jon Swift principle: “I will add anyone to my blogroll who adds me to theirs.” Email or leave a comment to let me know.


The Hunting of the Snark

Sites participating in blogroll amnesty day

Jon Swift aka Al Weisel, may he rest in peace. Co-originator of Blogroll Amnesty Day

skippy the bush kangaroo (Co-originator of Blogroll Amnesty Day) (2012)

Vagabond Scholar (2012)
Occasional blogging, mostly of the long-form variety. Keeper of the Jon Swift Memorial Roundup (The Best Posts of the Year, Chosen by the Bloggers Themselves)

Notes From Underground (2012)

Redeye’s Front Page (2012)

Wisdom of the West (2012)

Zen Comix (2012)

pygalgia (2012)

Mikeb302000 (2012)

The Agonist (2012)

Brilliant At Breakfast (2012)

Bacon and Eggs (2012)

« Weekend wrapup | Main | Weekend wrapup »

Microsoft Access imports and Kathy Nickolaus

(Click on all images to enlarge.)

UPDATED at end.

Waukesha County Clerk Kathy Nickolaus (emph. added):

On election night, all the people that were to bring in spreadsheets, they were given a spreadsheet template. They were asked not to change that template. When the city of Brookfield results came in on election night, extra columns were put into that spreadsheet, which would have been a problem if I had tried to import that in. I saved them, but when I imported them into the Access database, I thought that they were saved at that time, and didn’t have any real reason to believe they weren’t.
Here is a spreadsheet with a column heading and 29 fictional votes. The columns are vote number, who the ballot was cast for, and an alternate way of recording the vote: a simple “Yes/No” field for Prosser. Note that rows 23, 24 and 25 all have bad data (“oops”) in what should be a Yes/No column:

Let’s take Nickolaus’ second point first: that when she imported the records she had no reason to think it failed. What happens in Microsoft Access when importing data that has some bad data? How does Access respond when there’s a problem? I created a database with a table called “VoteTable” and tried to import the data I just created in Excel:

Here is what it says about the bad data:

So it throws up a big warning that explicitly says not all the data was brought in! It also specifies the number of rows that were affected, asks if the user wants to continue, and defaults to No, as in “No - do not import the data.” Nickolaus should have seen a very similar prompt if there was a problem importing her data. (I suspect Microsoft would also have a word or two to say about the allegation that its database product allows imports to silently fail.)

Now what about the template that got messed with? What happens if extra columns are put into the spreadsheet, and the import is run again? Here are some bad columns added to the spreadsheet:

And let’s assume there was a Macro (a GUI-based Visual Basic for Applications programming tool) to automate the import:

What happens when the macro runs? The very same thing:

Access doesn’t choke on the extra columns, it just doesn’t bring them in. If it’s got bad data, it will pop up a big error message saying as much. What kind of template was Nickolaus using that caused the entire import to fail, and how did she not get some kind of error?

Note also: There is no “Save” in any part of this process. Either the import succeeds or fails; if it fails it will pop up a message saying how many records were affected. There is no saving of anything though. ALSO: The underlying data (in the original spreadsheet) is not modified by this process, so it should be possible to go back to it and have a second look. That is, unless it was deleted or modified for some other reason.

Nickolaus could just be giving a non-technical explanation for a process she doesn’t completely understand. Fair enough. But what she said yesterday raises some questions that might deserve a little scrutiny.

UPDATE: Charles notes a layout that could produce the kind of failure Nickolaus claims. That said, the table in question would have had to allow null values in the “vote count” column (or - God help us - defaulted to 0, which is how Access usually sets numeric fields). It would’ve been easy to set it up to not allow that, but assume nothing right?

Also, it would have required no summary reports being reviewed before the totals were sent out; zero sums would have stood out pretty clearly. She would have had to just run the macros and blindly sent out the results without even looking at them. That would be not stupid, but negligent. It would also be consistent with the modern GOP’s utter contempt for governance.

It wouldn’t do anything about the “save” issue, though. The originating spreadsheets would still have been unmodified, but at least we have a scenario that could partially explain what might have happened.

Thanks very much to Charles for passing along the example.

Reader Comments (11)

Would this also apply if the "inserted" columns were completely blank? And - do we know if this was just a homegrown hodgepodge that Ms. Nickolaus cooked up on her own? Frightening, as that would cast doubt upon every election in every precinct.

April 8, 2011 | Unregistered CommenterNancy Ames

Nancy, I haven't seen enough detail to know exactly what they were doing, so I made a best guess based on what she seemed to be saying.

If the template was just a regular Excel file with instructions attached ("do not add columns!") then it wouldn't prevent an import even if there were blank columns. The import process would just run for the fields it's defined for and ignore the rest.

If one of the fields was copied/pasted over it might not show up immediately - provided it was a compatible data type. In other words, text overwriting text or numbers overwriting numbers. But that would still show up when the totals were run, and in any event the original spreadsheets would still be unmodified.

And yes, it sounds like this was a little home brew cooked up locally. (More like bathtub gin.) Yet another reason for ballots to be cast on paper and counted manually by actual human beings. Efficiency is not necessarily a virtue in a democracy.

April 8, 2011 | Registered CommenterDan

I think Nancy's question is an interesting one. One way that people put extra columns into a spreadsheet is to create a blank space between columns. So, suppose-- and this is just supposition--there were a blank column between columns 2 and 3, such that the votes appear in column 4.

She claimed that zeroes were inserted for Brookfield. A blank column, unlike a column with entries, would almost certainly import. If Access ignores the extra columns, which I agree is what one would expect, then one could end up with the result she described.

Yes, it would take very stupid people to do this. Maybe very, very stupid people.

April 8, 2011 | Unregistered CommenterCharles

Charles, I think it would have to be a very strategically placed extra column. In the spreadsheet above, having it after the first column would shift the candidate column as well, which means the votes would show up as being cast for "" (null). Only if the Yes/No column was at the very end, and only if an empty value defaulted to a "Yes" for Prosser, would that kind of column padding behave as you describe.

And incidentally, even if it happened like that, the result would be 100% of the vote for Prosser. I don't think anyone's claimed that.

April 8, 2011 | Registered CommenterDan

Even if she believes the computer is a magical creature that can do things on its own and is inexplicable (I can't tell you how many women I've worked with over the years who treat their computers like combinations of space aliens and pets), she should at least have huddled with her in-house IT folks (or a cousin who understands the program) and come up with an explanation for her statement that made sense to those of us who didn't fall off the turnip truck yesterday.


April 8, 2011 | Unregistered CommenterAthenae

Dan, maybe I am missing something, but she claims that no votes at all were counted for either Prosser or Kloppenburg.

Now, I don't have the slightest idea what the layout used by Waukesha was. But an actual precinct sheet I have from another election looks like this (there are 8 columns), and it's different than you have envisioned it. It is a precinct tally sheet, not a voter-by-voter spreadsheet.


Precinct00_PCTID Percent ContestID G00PRE_V


Ignore the first and the last four columns. That gives us the columns:

PRECINCT Candidate Count

So, for example,

1A Prosser 300
1A Kloppenburg 100
1B Prosser 250
1B Kloppenburg 150

In this layout, a column inserted between the second and third columns produces all null values for count.

Have I misunderstood you? Or would this layout produce the effect that Nickolaus claimed?

April 8, 2011 | Unregistered CommenterCharles

Why is the world is someone not fully briefed in the methods of off-the-shelf, decades-stable software, for such an important function as this? How can she get away with ignorance? Have the GOPs degraded government service that much in the eyes of the public that such an excuse can be accepted?

April 8, 2011 | Unregistered Commentercgeye

I find it interesting that the amount of votes for Prosser is "just enough" to safely prevent an automatic recount (0.7% -- the threshold is 0.5%) , so the opposition will need to pay for any recount if this holds water. Doubtful that would be a problem though, just another curiosity in all this.

April 8, 2011 | Unregistered CommenterJR2011

Charles, see update at end of post.

April 8, 2011 | Registered CommenterDan

Thanks for looking it over, Dan.

Let me be clear: I have no idea what the layout Waukesha was using, and hence no idea whether this is even possible. I do agree that it would have taken complete negligence to achieve this result. Rachel Maddow had a review of Nickolaus's history. It would seem that Nicholaus may in fact be that negligent.

April 8, 2011 | Unregistered CommenterCharles

Adding: On Brad's radio show, different programmers differed over whether it is/is not possible to disable autosave in Access. A quick Google say it is possible to do with some simple programming.

However, this may be just more of Nickolaus's ineptness. She may mean that she forgot to edit the Excel sheet so that it conformed to input requirements.

I guess it's pointless speculation. An investigation will be done. My money is that nothing (other than incompetence) will be found, and that the Waukesha results will stand. I also suspect that if a serious look were taken at Milwaukee, it might uncover suppression of Democratic ballots.

April 9, 2011 | Unregistered CommenterCharles

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>