October 31, 2005
Gumbel "Steal this Vote" at Seattle Townhall
I've been reading Andrew Gumbel's book Steal This Vote: Dirty Elections and the Rotten History of Democracy in America. Yikes. Happily, Gumbel's speaking in Seattle tomorrow night at Townhall, Tues Nov 1st.
A bunch of us from the newly forming grassroots election reform group will be there. Look for the Orange Revolution ribbons.
Here's the blurb:
Tuesday, November 1, 7:30 PM
An award-winning correspondent for the Independent
of London, Andrew Gumbel talks about the colorful, disturbing history
of votes bought, stolen, lost, and litigated in America, right up to
the recent elections in Washington state. The author lays the blame for
continuing disarray in our elections on a corrupted political
environment created by both parties and shockingly lax behavior by
election officials. Gumbel is a veteran international correspondent,
now based in Los Angeles and a leading expert on the pitfalls of
computer voting. The Town Hall Center for Civic Life and Elliott Bay
Book Company presents this timely evening, one week before election
day. Downstairs at Town Hall, enter on Seneca Street.
$5 at the door only.
Townhall calendar.
October 24, 2005
Designing Visual Interfaces
It's been awhile, so I looked at both TableLayout and JGoodies FormsLayout again. See how I felt about them at this time.
Sadly, I'm not real fond of either. I like the idea of FormsLayout. But it doesn't go far enough. I want the LookAndFeel to specify the margins, gutters, and spacing between components, not me. That alone would simplify constuction.
For a while, I've been very interested in constraints-based specification of user interface layouts. Like SVG with Constraints.
SpringLayout is a step towards using purpose constraints. However, it's API doesn't embody how people contruct user interfaces. For us English speakers, we build layouts left-to-right, top-to-bottom. The last time I tried it out, I created some utility methods, like leftToRight( Component left, Component right ). It helped a bit. The next step was to make enhance the layout manager to automatically add gaps and margins between components. (But I switched jobs.)
Dissatisfied with the available solutions, I reviewed all my user interface design books again. To look for some wisdom.
Happily, Mullet and Sano's Designing Visual Interfaces: Communication Oriented Techniques has just the thing. They show and explain the use of canonical grids for layout. (My graphic artist friends confirm the use of grids is 101 level material.) This online book reproduces the canonical grid (figure #27, scroll up). Here's some class notes which reproduce the layout figures from the book (scroll to end of document).
I'm daydreaming about how to implement such a layout manager. Gods, I hate Swing's architectural separation of layout managers and components. The need for BoxLayout and Box instances pretty much proves my point.
Alas, I'm not currently working this new super duper layout manager. It turns out that fitting my current design problem into a forms based user interface isn't workable. There's just too much hierarchy. So I've reverted to that old standby, the tree control. The more things change...
But wait, there's more. I have an even crazier idea.
I've played around a bit with graph drawing and layout libraries. Here's a gallery of automatically drawn layouts.
Why not an algorithm for user interface layout? You'd link up your components, nodes and edges, just like with SpringLayout. Then identify the upper most, leftist most component. Then tell the layout manager to do it's magic. Add add invisible spacer boxes and such to tweak things.
That would be bitchin'.
October 20, 2005
David Irons Jr's Dirty Laundry
I totally spaced that Irons is the guy who shanked incumbent Brian Derdowski back in 2000. I loved Derdowski. Like many people who grew up here and have seen firsthand what was lost to the sprawl, I supported Derdowski's (rather modest) views on growth management.
So. I dimly recalled that Irons' own family supported long-time family friend Derdowski. Goldy over at HorsesAss.org has the expanded version of this story. Briefly: Irons is a liar, mother beater, and prone to angry outbursts.
Amazing.
October 19, 2005
Bob Williams (EFF) on Election Reform
Having a keen interest in election reform, I thought I'd hear what Williams had to say. Inspired by Bernie Ellis, a small bunch of us are searching for election reform allies. Certainly, strangers things have happened...
The outspoken Sharkansky has tenaciously investigated problems with the 2004 election in King County. I applaud Sharkansky's efforts. Every election should be similiarly scrutinized, just as a matter of course.
The problems uncovered by various parties include insufficient ballot security, more ballots than voters, incorrectly counting some ballots as well as incorrectly not counting others, persons voting twice, dead people voting, and military personal not receiving their ballots in time. I had heard additional horror stories from poll workers.
Williams and EFF offer plenty of advice. The election was the result of criminal negligence. The politicians, many of them Republicans, aren't doing their jobs prosecuting fraudsters. One bit, stating that we have all the laws we need, they just need to be enforced, reminded me of all the environmental activism meetings I've attended.
Some of the suggestions are pretty good. Like having election observers on-hand from all parties to witness the count. Other suggestions, not so much.
Williams wants every voter to re-register. All 9 million of them. Apparently, that'd ensure the voter database was scrubbed clean. Until someone died. Or moved. It'd also have the fortunate side-effect of immediately giving the Republicans an electorial advantage. (Republicans are historically better at marshalling their voters.)
Failing that, Williams wants the entire voter database audited. Ancedotes abound of dead people still receiving absentee ballots, legal and illegal immigrants being registered to vote, and other irregularities.
Well. I have experience maintaining membership and customer databases, mailing lists, and the like. I've even been researching how to uniquely identify people across multiple databases, a problem called "record linkage". There's lots of commercial solutions. (And a few open source ones, like Febrl.) In fact, I was absolutely blown away by one such demo. But the service isn't cheap.
Scrubbing databases of persons is not a trivial problem and there are no trivial solutions. States do a pretty good, cost effective job of maintaining voter databases. Vendors, like Accenture, seem to make a mess of it.
Data quality, like all quality efforts, must be clear upfront about the goals. Perfection is never attainable. There's always a point of diminishing returns, where further quality improvements are cost prohibitive. The key is to state one's goals, test to see if those goals were achieved, and then adjust as necessary.
Another Williams proposal is to require proof of citizenship, in the form of photo ID, to vote. Not just register, mind you, but to actually vote. That's called a poll tax. I'd take such proposals more seriously if the required photo id was freely available to everyone. Also, there seems to be broad opposition to national identification cards.
Williams made the disturbing offhand suggestion that, as an experienced professional accountant, he'd hire someone who knows how to count to actually conduct the vote count. Chase Manhattan was mentioned. Williams will be pleased to learn that we have already outsourced the vote count. In King County, that responsibility has been given to Diebold. However, Williams may be surprised by the suggestion that oursourcing the vote count (aka "secret vote count") is unconstitutional. Indeed, divesting our democracy to corporations is abhorrant to some pretty smart people (e.g. Thom Hartmann).
Williams' thoughts on voter responsibility, repeated ad nauseum in testimony given at the Governor's Election Reform public hearings, surprised me again. (Williams's own writeup.) Apparently, the logic is that if the voter can't be troubled to correctly color in the circle, then too bad.
My experiences designing user interfaces informs my view on this. In brief, humans are error-prone, get over it. If a designer ignores this simple reality, then the designer is at fault, not the user. That's why we do usability testing. (Ideally.) Donald Norman's "The Design of Everyday Things" is a pretty good start on this topic.
There's also a legal argument I've heard Paul Lehto say. It goes something like "I do not forfeit my right to vote if I make a mistake." I'm sure the people who got suckered by the butterfly ballot, or didn't notice their hanging chads, would emphatically agree.
I keep chewing on all that I heard Monday night. It's important to follow the rules. Except when the rules don't favor us. It seems a bit, well, incongruent.
It's also troubles me that elections are seen as contests. Like a baseball playoff series. Versus a means to assess the will of the people.
The election problems of Florida 2000 and Ohio 2004 were mentioned. Without judgement, of course. Not mentioned were the irregularities of Snohomish County 2004. I wonder why?
It's easy to criticize. Harder to make suggestions. So here's mine.
I'm not original is stating the problem with the Washington State 2004 Governor's race is a weakness in the current "first past the post" election system. When the margin of victory is less than the margin of error, then victories are not completely convincing. There are a variety of voting systems. Many areas have runoff elections. Others have instant runoff voting.
If the voter registration database is a huge source of errors, an easy fix would be to eliminate the registration database. If you're 18 years of age, a citizen, and not had your voter rights revoked (e.g. felony), then you get to vote. Right? I don't see the benefit of requiring an additional registration step. Think of all the cost savings. Unless, of course, the actual goal is to deny persons their voting rights.
October 18, 2005
Project Matisse, NetBeans' GUI Form Designer
Time to download Netbeans, yet again, to give it a whirl, yet again. So I snagged a copy of 5.0 beta. (Really, Sun, when are you guys going to get on the bittorrent bandwagon? This is just sad.)
Right off, I drew some components and looked over the generated code. I'm happy to report, underneath the hood, construction and layout is done using a Builder design pattern. That's a positive step. It's possible because Matisse relies on GroupLayout (part of Swing Layout). Alas, the code isn't quite roundtrip ready (the GUI builder can work with human modified code). Some day...
Then I banged out some forms inspired by my current project. Nothing as difficult as the preferences dialog box shown in the Flash demo. Eventually, with no apparent cause or recourse, the Matisse Form Designer threw some exceptions and seized up. Whoops.
Being helpful, Matisse will infer and show guidelines, indicating how your components are lining up. Matisse will also auto-arrange components. Not just the one you're placing. As you can see in the Flash demo, Matisse will move placed components out of the way for you. Alas, once a certain level of complexity is achieved, Matisse's efforts become really bad guesses, with components dancing all over the place.
I've seen this kind of "too clever by half" behavior before. Most computer aided design (CAD) packages have the notion "snapping", where the program uses a variety of heurististics to infer where you actually want to place stuff. Before I dropped out of that scene, MicroStation's AccuDraw had the most sophisticated approach. With all sorts of smarts, modes, and overrides.
The thing is, the heuristics can only be so smart. As Matisse shows, this approach will eventually wedge the user (GUI designer) into a corner. To become useful, Matisse will also need to provide modes and overrides.
Of course, the ultimate override would be allowing the user to hand edit the code. A good analog here are all those web design tools; the tool can only take you so far and then you have to write code.
For my money, I'm still bullish on the strategy taken by JGoodies' FormLayout. It's not the omega point, but it's a good step in the right direction.
--
Bill Beebe shared his Matisse experiences:
NetBeans Matisse - Needs considerably more work (July 22, 2005)
NetBeans Dev 4.2 - Going from bad to worse? (July 26, 2005)
October 15, 2005
Fatally Flawed
To: editor@thestranger.com
Date: Oct 15, 2005
Subject: Fatally Flawed
The Stranger-
I'm thrilled that Stephan Sharkansky has taken such a keen interest in each and every vote. Such an examination is only possible with paper ballots. As a fellow computer geek, I'm confident that Sharkansky shares my concern with electronic voting and counting. Otherwise known as secret vote counting. Like the weirdness that happened in Snohomish County's 2004 election, where no recount is technically possible.
Cheers, Jason Aaron Osgood / Seattle WA
October 13, 2005
African Food for Africa's Starving Is Roadblocked in Congress
Name: Jason Aaron Osgood
To: US Representative Jim McDermott (D)
Rep. McDermott-
Our domestic agricultural policies are killing Africans. I'm sick of it.
Here's just the latest twist:
African Food for Africa's Starving Is Roadblocked in Congress
Subsidizing agribusiness, both directly and via "externalized costs" like pollution, is bad for Americans, tax-payers, Africans, our economy, our industries, and the planet. Our policies must be changed.
As a tax-payer, based on the belief that what is good for Africans is good for Americans, I'd much rather give direct aid to individual Africans, help build their irrigation systems, teach them sustainable farming techniques, and otherwise help by teaching them how to help themselves.
Thanks for listening.
Cheers, Jason Aaron Osgood / Seattle WA
Nervous Nellie's Espresso Company
I'm pleased that Sarah DeWeerdt reviewed Nervous Nellie's (map), my preferred caffeine refilling station. What DeWeerdt doesn't mention is that Jeanette Meade, the owner, is a just a bit obsessive about espresso. That's a good trait for a barista. Accordingly, Nervous Nellie's serves Lighthouse coffee.
I don't claim to have a great palette. Just more of a snob, really. Very picky about who pulls my shots of espresso. It takes a fine touch and lots of experience to do really well. Factors weighing in are quality of the beans, the roast, the grind, the tamping, the water pressure, and the length of the shot. I don't like watery pulls. Nor the bitter. And especially not the burnt plastic taste.
What I like is the espresso that fills your tongue, left to right, from about the middle on back. Which is exactly the type of espresso Nervous Nellie's serves. As a gifted baker once told me, "Never trust someone under 30 to pull your shots. They couldn't possibly know what it's supposed to taste like." Word.
Every now and then, when I feel like ignoring my weight, I pop for a latte. But not just any latte. A bad latte is simply not worth drinking. Getting the foam exactly right is just as hard pulling a good shot. You have to start with good milk (e.g. Smith Brothers), kept chilled. You have to control how fast you heat the milk, the amount of air infused, and how long you steam. If you listen real close, and you use a tin pitcher, you can hear the tone of the steaming change, allowing you "hear" when the milk is ready.
Pouring the milk requires additional technique and skill. Start by banging the pitcher against the counter a few times, to get the denser stuff to settle towards the bottom. Spoon of the light foam into the waiting espresso first. Then you moderate the slope and rate of the pour, so that everything mixes correctly.
In this barista ballet, timing is everything. Natch.
Jeanette's lattes are as good as any I've ever had. Always worthwhile. Like the best, Jeanette adds an artistic flare, as you can see below.
About the toast. DeWeerdt is exactly right: it's pure comfort food. Hmmmm, yum, good.
Nervous Nellie's, highly recommended.
![]() Here's the view from Market Street. | ![]() If you look real hard, you can Jeanette in the mirror. |
![]() The perfect latte. | ![]() Cozy. |
![]() Breakfast! | ![]() Cell phones are the new cigarettes. |
October 09, 2005
TactaPad & TactaDraw
[via Futurismic blog]
Google Mail + Google Map
Please add a link from the addresses stored in my contacts to Google Maps. That'd be bitchin'.
The maps URL can't have any context or history embedded within it, so that I can cut and paste it (e.g. for sending out party invites).
Thanks for listening!
Cheers, Jason
October 08, 2005
Report: Natl Summit To Save Our Elections
The goals are to take our democracy back from the corporations who are privatizing the electorial process. To ensure that our elections are fair, open, and verifiable. To make sure that every vote is counted properly.
The truth is I haven't known how to start. It's like trying to take a tiny sip from a fire hose. There are so many ideas, angles, tidbits, anecdotes, and so forth. Organizing my thoughts has been a challenge.
So this first entry begins with a high level summary...
I couldn't get off work early Friday, so we missed the first day. Walking up Saturday, we crossed paths with Judy Alter (Citizen's Audit Parallel Elections), one of the presenters. We asked "How was it yesterday?" She replied "It's always the same. These functions are too small, we're not enough people. But we have to do something." I admit that was a bit of a downer.
After the summit, I think Judy Alter is too pessimistic. The summit itself is a shining beacon of democracy. The width and breadth of the topics, sessions, panels, and workshops was amazing. What we geeks would call a "very high signal to noise ratio". And what people are accomplishing is remarkable.
The lineup of speakers was top notch. Thom Hartman is very well spoken and a walking encyclopdia. Jefferson Smith (The Bus Project) was one of the most inspiring speakers I've ever heard, I really like how his mind works. In another life, David Cobb (Green Party Presidential Candidate) could have been an evangelical minister -- wow, that guy can fire up a crowd. Brad Friedman (The Brad Blog) was funny, ironic, and a bit mischievious. Nancy Price (On The Commons) is earnest, intuitive, and very engaging, her presentation on the commons just makes sense. Paul Lehto thinks the big thoughts, sees the connections, takes the necessary actions, explains weighty issues to laypersons, and serves as a catalyst for others. Bev Harris and Kathleen Wynne (Black Box Voting) have amazing gumption, tenacity, and courage. (There were many other speakers, all of which I hope to cover soon.)
I have added two new heros to my roster: Bernie Ellis and John Washburn.
Bernie Ellis is an organizer for Tennessee Save Our Democracy. His workshop covered their growth and the lessons they learned. Their accomplishments in just under one year's time is just phenomenal. Bernie has a humble, calming manner, with a deep reserve of strength. Even when he disagrees with you, you feel grateful for the feedback.
John Washburn is a geek like me. As a QA/Test professional, Washburn wrote the electronic voting machine testing guidelines for Wisconsin, also used by others. As a result of his inspired efforts, all electronic voting machines in Wisconsin have been decertified as of January 2006. That's just amazing.
I came away from the summit with some important takeway points.
First off, we can fix this. We can take our democracy back. We can even improve our democracy. This struggle is a modern day David and Goliath epic. Never underestimate the impact that individuals can make. By speaking truth to power, the election reform activists are winning against huge corporations, entrenched interests, apathy, and indifference.
There's the cliche that when times are tough, if you didn't laugh, you'd cry. There's definitely a bit of that. But more so, the people at the summit are filled with hope. The humor and joy of the event surprised me. Yes, we could just be witty and droll, impressing ourselves with our cleverness. This summit wasn't like that. The people involved were able to laugh at themselves and with each other. I have to believe that form of humility will serve us well in all of our battles ahead.
I relearned that all social progress starts with community. We're in this pickle because we're not talking to each other. People check out when they're isolated. We need to engage each other -- talk, educate, work. We can't rely on media. This effort must be done face to face.
I was heartened to discover that the people in the know all agree that electronic voting and counting is bad news and that we must insist on paper ballots. It was nice to spared the effort of having this debate, yet again.
The folks over at Black Box Voting are clever indeed. Another marvel is Votoscope, which I hope to monkey with soonest. It's a free utility to count scanned ballots yourself, on your own computer. Defeat the enemy with their own weapons! I love it.
A word about the summit organizers.
I've been to a lot of conferences, seminars, and so forth. This event was nearly flawless. It came off like they'd been doing this type of thing for years.
Some words were said at the final event about how the entire event was collaborative, distributed (with some people meeting for the first time at the event itself!), and democratic.
That jives with my own experiences. We're smarter in groups, when we work together, all pulling our weight, and trust each others to do the same.
Last item (for now)...
A bunch of us from Seattle had lunch together. We all want to do our part, even if it's not yet clear what those parts are. Every battle is local and the needs are different. I have the impression that most of us want to emulate Bernie Ellis' Save Our Democracy. Maybe we'll throw our own summit. I'm pretty excited about the possibilities.
Some of us are attending the SeattleKos meetup tonight. Otherwise, we'll kick things off later this month. Stay tuned, or contact me, if you want to be included.
I'll be following up with more detailed posts about the summit. Compiling links, more in depth on individual sessions, my own ideas, followups, etc. Please stay tuned for that as well.
October 06, 2005
Poll Worker
Everyone gets 3 hours of poll worker "judge" training beforehand. That was really well done. The new provisional ballots received a lot of attention. There's lots of rules about handling the ballots and how to resolve issues. Very comprehensive.
Our day at the polling station began at 6:00am and ended at 10:00pm. We all got to take a lunch break.
This primary was mostly uneventful. Certainly everything at our polling station went well. Our inspector, Bob, was great, very professional. He clearly enjoys his job.
Our location received almost 300 votes. About 1/3rd were absentee ballots. I'd guessimate that we only used 1/4th of the printed ballots.
We had 12 poll workers and 1 inspector covering 10 precincts. Both the provisional ballots and the AccuVote machine get a judge. It was great hanging out and visiting. Where ever I go, I always bring a book, just in case. I didn't read more than a few pages.
About 1/2 of the poll workers had done it before. Some for years. The horror stories from last year were very interesting. Like picking a scab. For the problems at our location (last year), the concensus opinion was the incompetence of the inspector was to blame. Once again proving that it's hard to find good people.
I want to reiterate that our inspector, Bob, was really good. He delegated tasks effectively. He included everyone in the discussions and decision making processes. He was very open. He related very well to the voters.
For the moment, King County is still using the AccuVote optical scanners. At the end of the day, we judges tally our numbers and then check the tallys against the machines. I can't guess how old these machines are, but obviously the low-bidder won the contract. You could almost discern the impact of each individual pin in the printhead of the built-in dot matrix printer. My Epson printer back in the 80's was faster. It easily took 40 minutes for the AccuVote to print the tally. Which has to be done twice. What a waste.
And god help you if there's even the slightest problem with the AccuVote. We had one ballot jam to deal with. The whole apparatus is a block box sitting on top of another (literal) black box. Incredible.
It was fun to see all the neighbors coming to vote. One guy brought us cookies. Yum! Many parents brought their kids. It's great to see the cute little kids running around. It makes me wish the whole voting business was a bigger ritual. Like a way for members of the community to make themselves known to each other. A shared purpose. Ahh... That'd be nice.
We all definitely need a lot more community.
Now some observations.
Washington State has a new primary system. I'd say 1/4th of the voters in my precinct expressed a negative opinion about the change. No one voice supported. Not surprising, since party affinity has been declining for years. One woman, originally from the midwest, said the primary was just like back home. I guess Washington State had been pretty unique.
I can't believe the effort and expense of administrating the elections. I fancy myself a systems guy. I try to think of things in terms of "one piece flow", eliminating waste, and so forth (aka the Toyota Production System). We had 4 different types of ballots: polling station, absentee, provisional, and challenge. Each is handled differently. I couldn't believe it.
King County is also now bilingual, with ballots and signs and whatnot in both English and Chinese. In the future, it's certain things will go multilingual.
I heard just this last weekend that Diebold (the vendor for King County) charges 75 cents per ballot. That's some serious cash money. Like I said above, most of our ballots we unused. Pure waste.
During my idle moments, I was daydreaming how I'd design the election system. First, I'd change our ballots. We currently have a combinatorial problem, with all sorts of ballots for all the combinations. I'll give an example. You and I live in slightly different areas. I'm voting on a water district issue and you're not. So, even though all the other issues and races you and I are voting on are the same, we still get different ballots. Ballots are pre-printed. And there has to be enough ballots, just in case every single voter votes, plus a few extra for spoilage. So, in the current system, it's inevitable that there will always be too many ballots.
I can think of two different, more efficient, solutions.
First idea is to print the ballots on demand right at the polling station. Voters already have to sign in to get a ballot. And each polling station has judges from different parties. So there's little risk of fraud (at that level). If needed, each ballot could be preprinted (like a form) with a "proof of work" (easy to verify, very hard to forge) barcode mark, or one of the other schemes concocted for digital cash and digital signatures.
Second idea is to partition the ballots by level. So if I'm voting on national, state, county, city, and district races and issues, I'd get 5 different ballots. They could be index-sized cards. One advantage is that each ballot would be easier and cheaper to create, validate (no more combinatorial headaches), and produce. Another is that individual races could be counted (and recounted) separately, with ease.
Of course, I'm completely against electronic voting and counting, in any form. I like the Canadian approach: paper ballots with manual counting done by representatives of every participating party. It's faster, cheaper, and there are no recounts.
After seeing firsthand just some of the effort and expense of our current system, I'm now even more certain that we're wasting the money, time, and goodwill of the voters (like myself).





