Diebold is a software company crying out for process

A closer look at the smoking gun memos. I think that Bev Harris does a good job pointing out the issues from a business perspective—and Salon plays up the possibility of tampering probably more than is supported by the data, though it makes for a fun conspiracy theory.

But the real story is the state of the software development behind these more-than-mission-critical systems. No software testing policies, no release process, no documented support procedures… some really good firefighters fixing problems for clients on the ground… friction between the developer and the certification agency… trade-offs between design criteria and customer business process reality… major undocumented functional changes between minor point releases suggesting poor or nonexistent requirements management… bad architecture leaving gaping security holes…

Yeah. I’ve been there (present job excepted, of course). I think it’s safe to say that every software developer has been there. But it really points out how important process is.

Truth is stranger than fiction AND conspiracy theory

Why would a manufacturer of voting machines claim that the ability to easily tamper with votes recorded in them is no big deal? Oh, there are reasons, according to this Salon article about flaws in Diebold’s system, not least of which is the stated commitment of the CEO to deliver his state up to Bush next year. The flaw: anyone who has Microsoft Access can get at the database that stores the results and do anything with the data that they want. Including the audit logs. And in many cases the computers are connected to the Internet.

And the Diebold memos suggest that these back doors are not only known, but have been exploited, in Gaston County, NC—and in King County, Washington. Of course, I should note I’ve never seen these touch-panel systems in Kirkland, but I suppose it’s only a matter of time.

Other places that have used Diebold machines? The state of Georgia, where Max Cleland suffered an overnight 11 point shift, and Sonny Perdue was elected—the first Republican to be elected Governor in 134 years. Coincidence?

Wonder what Greg thinks about all this?

(For those without Salon day passes: The initial investigation by Bev Harris; the first Salon story from earlier this year; the smoking gun memos.)

Get your ears on

A ton of Library of Congress, Rounder Records, and Alan Lomax recordings have arrived in the iTunes Music Store, including Lomax’s Southern Journey series, the LOC recordings of LeadBelly and Jelly Roll Morton, Lomax’s recordings of world music from Italian peasant songs to Irish reels to Caribbean songs, Rounder collections of zydeco and Cajun and cowboy music… Oh man. Not enough hours in the day.

Happy Banned Books Week

Thanks to Jake and Jessamyn, I was reminded that this is Banned Books Week. During this week the American Library Association publishes its list of the books to receive the most “challenges” (attempts to remove or restrict access to books in a library) in the previous year. So go out and read a challenged book. There’s quite a list to work from, including The Adventures of Huckleberry Finn at #7 (if there is a Hall of Fame for challenged authors, Mark Twain is surely in it).

Fun with SQL and temporal data

I get to do random weird stuff in my job. Sometimes I’m working from really high level customer satisfaction data and making recommendations about how to improve the customer experience on Microsoft.com. Other times I have to roll up my sleeves and get into the rawest of raw data before I can get to the recommendations. I just got done wading through some pretty low level log data with SQL and thought I’d share how I was able to munge it to get usable information. If you’re not a SQL geek, feel free to skip.

I have a raw data set that consists of information about clusters and tests. There are one or more tests that run periodically against each of a set of clusters. Each time the test runs, a set of information is recorded: the server and test number, the date and time, and the status returned by the test (essentially a pass-fail), among other parameters.

Here’s a sample:

Server ID Test ID Date and Time Status
1 1 9/15/2003 00:01:23.456 Pass
1 1 9/15/2003 00:01:24.540 Fail
1 1 9/15/2003 00:01:25.006 Pass
1 1 9/15/2003 00:01:28.456 Pass

This is pretty useful, except what I really want to know is, if a test fails, how long does it take before the test starts passing again? And how many times does it happen a day? a week?

So I started trying to aggregate the data into something that would look like this:

Server ID Test ID Event Start Event End Duration
1 1 9/15/2003 00:01:24.540 9/15/2003 00:01:25.006 0.454

It turns out to be trickier than I thought. What I ended up having to do was to join the table to itself to get the beginning and end date (and therefore duration), then use a NOT EXISTS clause to screen out lots and lots of cases where one failure might have multiple rows afterward with normal statuses—because if you don’t, the table above would show two events, both starting at the same time but one ending at 00:01:25.006 and the other at 00:01:28.456.

Here’s the query I used to make it all work:

select eh1.server_id,
eh1.DateAndTime as DateStart1,
eh2.DateAndTime as DateEnd2,
DateDiff(ss,eh1.DateAndTime,eh2.DateAndTime) as Duration
from EventHeap eh1 INNER JOIN EventHeap eh2
ON ( eh1.server_id = eh2.server_id AND eh1.TestID = eh2.testid)
INNER JOIN EventHeap eh3
ON ( eh1.server_id = eh3.server_id AND eh1.TestID = eh3.TestID )
WHERE eh1.EventHeapID < eh2.EventHeapID AND
eh1.Status = 'Fail' AND eh2.Status = 'Pass'
( select * from EventHeap eh4 WHERE eh4.server_id = eh1.server_id AND
eh4.TestID = eh1.TestID
AND eh4.EventHeapID < eh2.EventHeapID AND
eh4.EventHeapID >= eh1.EventHeapID AND eh4.Status = 'Pass' )
GROUP BY eh1.server_id, eh1.TestID, eh1.DateAndTime,eh2.DateAndTime
ORDER BY eh1.server_id, eh1.TestID, DateStart1

The biggest problem I have now is performance; running the aggregation on 57,000 rows takes a while. But the end result is much more usable data.

Mandatory disclaimer: This posting is provided “AS IS” with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm.

Oh, the joys of homeownership

I just got done fixing our second ever plumbing emergency. Lisa had called to me from our guest bathroom, where she was rinsing a sponge mop in the tub. “I can’t get the faucet to turn off,” she said. After some swearing from both of us, I went down into the crawlspace and turned off the water supply (to all the indoor faucets, as it turned out). We then disassembled the faucet handle, only to find a broken piece inside; the handle was no longer capable of shutting off the water.

We got a replacement faucet handle from Lowe’s, installed it, turned the water back on—and it worked. First time.

The next thing to do will be to call Moën, who built the darn thing, and chew them out. I think the handle has a lifetime warranty. Hopefully we can get some help…


A post on the WyethWire mocking Instapundit as an adherent of Newspeak made me think a little bit about some of what we’ve seen this week. After months of statements calculated to link Saddam Hussein’s regime in Iraq to the 9-11 attacks, President Bush stated that there was “no evidence that Saddam Hussein was involved with September the 11th.” Isn’t that just a little bit like “No, we’re not at war with Eurasia”?

Interesting that the confession, which has long been obvious to most people who paid attention to the fact that the 9/11 hijackers were Al Qaeda and not Saddam’s imperial guard—and led by Osama bin Laden (gee, whatever happened to him? Haven’t heard Bush say his name since, oh, last year some time), was made in response to a comment by the VP on Meet the Press that Iraq was the “geographic base” for the 9/11 terrorists. No, Dick, that would be Saudi Arabia…

Would it be too much to ask for an administration that would tell the truth?

Update: Ted Kennedy calls BS on the president. About time.

The annotated Paul’s Boutique

Seen on Boing-Boing: Paul’s Boutique samples and references list, a collaborative guide listing all samples and cultural references on the seminal 1989 Beastie Boys album. Kind of understated: for “Shadrach,” the commentators note that “Sly & the Family Stone’s ‘Loose Booty’ comprises most of the song.” Yeah, like just about all of the non-rapped contributions, including the “Shadrach, Meshach, Abednego” chant.

Max Cleland: Welcome to Vietnam, Mr. President

Former Senator Max Cleland, in the Atlanta Journal-Constitution, drops the V-bomb on the Bush administration with a stinging editorial that points out not only the damning parallels between the Vietnam War and our current extended occupation in Iraq, but the damning fact that “the people who drove the engine to get into the war in Iraq never served in Vietnam.” Former Senator Cleland should know on both counts, since he lost both legs and an arm in Vietnam.

Side note: his attack was remarkably factual and even-tempered from a man who was smeared with Republican 2002 campaign ads accusing him of being on the side of Saddam Hussein and Osama bin Laden because he voted against Homeland Security legislation that denied civil service protection to the employees of the new Homeland Security administration.

But does it julienne?

Cool article on Mobitopia about all the uses to which one can put the humble Nokia 3650 camera phone. I wonder when Apple will make iCal sync with the calendar on this phone??? Other capabilities: web browsing (I’ll have to check out the Doris Web Browser), integrated all-in-one chat client (which will probably break as Yahoo and other vendors close their IM networks to third-party clients); file viewers for plain text, PDF, Word, PowerPoint; mobile fax capability; and more.

Looks like the business opportunity here is for a carrier to actually install and configure all the software for you, so you don’t have to burn minutes and time doing the downloads.

Happy birthday Lisa

Today is my beautiful wife’s birthday; please spare a minute to wish her a happy day. Our big celebration will actually be a few weeks from now, coinciding with our anniversary, when we return to Boston for a little visit and mini-vacation.

Last night’s meetup

Good time last night at Uptown Espresso, despite the inability to access their WiFi (you had to have signed up for an account before you got there; as I said last night, you could buy, but they weren’t selling). As always, Jake has an attendee list. Some new attendees including Radical Congruency (a theological blog) and fellow Microsoftie JP Stewart (who I missed somehow at previous meetups). And Top Pot donuts are insidious little things.

PES’s “roof sex” furniture ad made quite an impression; as promised, here’s the link (since I last linked it in 2001, AdCritics has changed its business model and you can’t find it there anymore without paying). All I can say is, Wahoowa.

MBAs don’t do shipping…

Hysterical FedEx commercial reflecting how so many young MBAs enter the business world: snotty, arrogant, and with very little grasp of reality.


Woman: Hi, Tom, I know it’s your first day, but we could really use your help.
Tom: (with slightly smug smile, pulling on suit jacket) You got it.
Woman: (walking) We’re just in a bit of a jam.
Tom: (squirts breath spray)
Woman: (continues, gesturing to roomful of FedEx boxes) All this has to get out today…
Tom: (look of astonishment, smug smile returning) Yeah…uh…I don’t do shipping…
Woman: Oh, no no no, it’s very easy. We use FedEx.com (sitting him down at a computer open to the FedEx.com website). Anybody can do it.
Tom: (smug smile wider, he can’t believe she’s asking him to do this) Uh… no… you don’t understand: I have an MBA.
Woman: Oh, you have an MBA…
Tom: Yeah.
Woman: In that case I’ll have to show you how to do it.

Of course, no one from Sloan would ever be that arrogant. Right?