2014-11-06

How not to concede an election loss

So the Berkeley campaigns season is finally behind us. Unfortunately not everyone is accepting defeat gracefully. For instance, Berkelyside reports this news on District 1.
[Alejandro] Soto-Vigil, who is also an aide to Kriss Worthington and a member of the Rent Stabilization Board, took an aggressive tone when he conceded defeat Tuesday night.
“I gotta say I am actually sad for the District 1 residents,” he said. “Looking for the last five and a half years at the City Council composition, looking at the platform of what’s been on the agenda, the voting record, it’s a travesty really.”
Maio said she was “sorry” to hear Soto-Vigil’s remarks.
“It is not usually what we do in a campaign,” she said. “We try to be gracious in a campaign. You honor the democratic process.”
But things got a little nastier in District 8. On his campaign web site, candidate Mike Alvarez Cohen published a concession article (ironically entitled "Perspective") which included this jab at opponent Lori Droste.
A material percentage of D8 voters want more women and/or LGBT elected officials (even if they’re not necessarily the most qualified candidates). I couldn’t appeal to them, but another candidate did.
It's odd that Cohen singles out Droste. Of the two other candidates in the race, Jacquelyn McCormick is a woman, and George Beier is gay.

It's unfortunate that Mike resorts to reducing Droste down to her gender and sexual orientation. Berkeley is a small pond where even the losers in these contests have plenty of opportunity to influence policy, whether by joining our robust commission system, or speaking directly with city council members. I hope that Soto-Vigil and Cohen will remember that, and work to promote their ideas in a productive way. Let's respect the democratic process, as Linda Maio says, and be gracious for the opportunity to run for office in a city with such a fair and functional democracy.

2014-10-17

How not to be wrong on voting methods

On page 419, Jordan Ellenberg in his 2014 book  How Not To Be Wrong, the power of mathematical thinking,  writes:
One voting system to which Arrow's Theorem doesn't apply is "approval voting," in which you don't have to declare all your preferences, you just vote for as many of the people on the ballot as you want, and the candidate who gets the most votes wins.  Most mathematicians I know consider approval voting or its variant to be superior to both plurality voting and IRV;  it has been used to elect popes, secretaries-generals of the United Nation, and the officials of the American Mathematical Society, but never yet government officials in the United States.

2014-09-06

Misinformation on Instant Runoff Voting by The League of Women Voters of Oakland

I just came across this flier from their Oakland branch, which contains numerous common falsehoods about Instant Runoff Voting.
IMPORTANT FACT TO REMEMBER: The person in office can be either good or bad after being elected by either the Primary or Ranked-Choice Voting system; don’t blame the voting system for the actions of the person in office.
But the voting system has a tremendous impact on the quality of election outcomes. According to Bayesian Regret figures from a Princeton math PhD named Warren D. Smith, who has been studying voting systems for at least 14 years and was a prominent figure in William Poundstone's book Gaming the Vote, the choice of voting system appears to be the biggest single factor affecting the quality of leaders.

As far as we can tell, the authors of this flier have no particular expertise in voting theory, and likely could not even describe or define Bayesian Regret, or numerous other core election theory concepts.
HOW TO VOTE STRATEGICALLY: Vote your favorite as your first choice, regardless of his or her likelihood to win, then choose from the front runners for your second and third choices. If your first choice is eliminated early, your second and third choices of the front runners still have you in a strong position to help choose the winner.
This is simply false. Here's a short layman-friendly video explanation by Andy Jennings, a co-founder of The Center for Election Science, whose PhD thesis was on the mathematics of voting.


This scenario happened in Burlington, Vermont, in their 2009 mayoral race. A group of Republicans, who unsurprisingly favored the Democrat over the Progressive, got their least favorite of those three when the Progressive won. But if just a handful of them had insincerely ranked the Democrat in first place, then the Democrat would have won instead. I.e. voting for their favorite candidate hurt them. Sincerity was not their best strategy. Here's a deeper explanation for the mathematically inclined, describing why strategy is always advisable, even if you don't know whether it's going to help in a particular election.

Later in the flier, the authors hammer home this falsehood even further:
Strategic voting: a voter can vote for the candidate they really like best. Near election
time it becomes clear who the front-runners are. But voters can still give their first vote
to the candidate they really like, even if they think he/she won’t win. Then they can
decide which of the front runners to give their second and third votes to. Each choice
empowers the voter. There are no games here. We each have one vote, but we can
indicate backup choices according to our sincere preferences. That’s the best way to
make sure our votes count, and Oakland gets the mayor, city council members, and
school board leaders we deserve.
As we've now seen, virtually everything in this paragraph is incorrect.
[IRV] makes it possible to elect local officials by majority vote without the need
for a separate run-off election.
IRV does not guarantee the election of a "majority winner". It is possible for Bad to win even though a huge majority of voters preferred Good to Bad—even if Good got many more first-place votes. Here's an example, with the other two candidates arbitrarily named X and Y.
35%                   X > Good > Y > Bad
17%                   Bad > Good > Y > X
32%                   Good > Y > Bad > X
16%                   Y > Bad > Good > X
That is, 35% of the voters prefer X over Good over Y over Bad, and so on. Note that Good has almost twice as many first-place votes as Bad (32% vs. 17%). And Good is preferred to Bad by a huge 67% of the voters. But Bad wins. Don't take our word for it—count it for yourself.
Why Ranked-Choice Voting is a good thing
• More people vote in November than in a June primary so decisions are made by a larger proportion of citizens. RCV provides instant runoff.
• More people of color, less-well off, younger, with lower-level jobs vote in November; in June the majority of voters are white, older, well-off, well-educated. 
This has nothing to do with IRV. This is about the date that the elections are held.
Candidates outside the mainstream have a chance—third party candidates in partisan elections;
Actually, IRV has produced two-party domination everywhere it has seen long-term widespread use. E.g. in Australia. By contrast, in most of the 27 or so countries that use a traditional top-two runoff (like Oakland and other Bay Area cities used to have) there are three or more successful parties. So one could argue that IRV explicitly hurts minor parties.
• Saves money.
o Eliminates the $800,000 cost of a June primary. 
From Warren Smith:
Yes, one round is cheaper and easier than two, but with IRV, that one round is more complicated and it cannot be done on ordinary "dumb totalizing" voting machines, whereas both rounds in delayed runoff can be done with such machines; and IRV is non-additive (no such thing as "precinct subtotals") and non-monotonic; and the second round in delayed runoff often does not happen. (Top-two runoff also is non-monotonic, but each of its two rounds, in isolation, of course is monotonic.) In view of those facts, it is not at all clear to us that IRV actually saves money. And in any event, the money spent on elections is negligible compared to other government expenditures, so it is more important to get quality in elections, than to save money. Thus "saving" money would be a false economy that surely would actually cost more in bad government than it saved in election expenditures. For example (2006), a pro-IRV group was recently arguing that Oakland California should switch to IRV because each runoff election under the old delayed-runoff scheme cost Oakland "hundreds of thousands of dollars," which was their way of saying $200,000. However, they did not mention that Oakland's annual budget is over $1 billion so that the "cost savings" they were lobbying for was of order 0.02% fractionally. Surely there are superior ways to save Oakland's money! Also they did not mention that it cost (neighboring, comparable size) San Francisco $1,600,000 to upgrade its voting machines to run IRV two years before. So the payback time required to justify this cost "savings," as you can see, would be very large, perhaps 30-40 years assuming elections every 2 years and runoffs required half the time. Quite probably Oakland would be re-replacing its machines before that time, in which case the costs never would be repaid.
The LWV's next argument:
o Candidates raise money for only one campaign, not two. 
This has nothing to do with IRV per se. You could just eliminate runoffs altogether, and not adopt IRV, and you'd still have this savings.
Who opposes RCV?
• Voters who are unhappy about the candidate who won. The problem is the candidate, not the election system. A two-candidate runoff can also result in a winner many voters do not like in office.
I repeat, the voting system has a major impact on average voter satisfaction with election results. It is completely reasonable to put some probabilistic blame on IRV. However, one saving grace in this instance is the fact that the traditional top-two runoff system is also among the most terrible voting systems ever devised, and so one cannot confidently say whether things would have been much better with the old system. We can, however, say that things would have likely turned out much better with any of the other alternative voting systems: Score Voting, Approval Voting, Borda, or Condorcet voting.

They also forgot to mention the majority of election theory experts with math and/or political science credentials. IRV is widely considered to be the worst of the five commonly discussed alternative voting systems.

Clay Shentrup
Berkeley
Co-founder, The Center for Election Science

2014-07-05

Mock 2014 Maine Gubernatorial election, using Approval Voting

A recent article informs us that, "Maine voters are looking at the three-way 2014 governor race strategically." This is because there are three major candidates, and independent Eliot Cutler is considered by many to be a potential "spoiler".

But there's a simple solution to this problem. Rather than urge Cutler to drop out of the race, Maine voters could push for a switch to Approval Voting. This simple alternative system is identical to the present system, except that it allows voters to select as many candidates as they wish. The candidate with the most votes still wins. You never have to fear a vote for your favorite candidate, because you can still support a more electable "lesser evil" compromise candidate if you wish.

Try it out for yourself, by voting below in a mock version of the election, using Approval Voting.

Vote for one OR MORE - the candidate with the most votes wins
  
pollcode.com free polls 

2014-06-28

Approval Voting is better than Plurality Voting, even in multi-winner races

There have been some cases where Approval Voting, which is ideally intended as a single-winner voting system, has been criticized when used in multi-winner "at-large" elections. The gist of it is, suppose you have the following scenario:

Voters are roughly split into three groups: left, right, and center. There are three candidates from each of those factions (i.e. nine total candidates), and we're electing three winners.

The critics will argue that a reasonable outcome would be one that is proportional, such that you get one winner from each faction.

Approval Voting will tend to elect all three centrists, which is less representative. Although note that this still gives a body with the same ideological center as the electorate, which is crucial.

While this is true, and is a fine argument for favoring Proportional Approval Voting over ordinary Approval Voting, it certainly doesn't favor at-Large Plurality Voting. That system could easily give you two leftists and a centrist, or two rightists and a centrist—a result which creates a body whose ideological center is significantly divergent from that of the electorate.

Incidentally, here's a video demonstration on how to tabulate Proportional Approval Voting in a spreadsheet, with a few simple formulas.

2013-12-30

Testing strong parameters

Pivot Robbie Clutton describes strong parameters as follows:
Strong parameters are a way of white listing HTTP query parameters and moves the burden of whitelisting from the ActiveModel/ActiveRecord classes and into the controllers.
Source
My view is that this testing strategy is far too complex, and here I outline a simpler approach.

First, let's understand the API. It was a bit tricky for me at first, partly because the documentation is vague.

We can whitelist attributes via the permit method, and we can require them via the require method.

Example

params.fetch(:project).require(:name)
params.fetch(:project).permit(:description)

Regarding the handling of missing or unpermitted keys, here's what the docs say:
By default parameter keys that are not explicitly permitted will be logged in the development and test environment. In other environments these parameters will simply be filtered out and ignored.
Additionally, this behaviour can be changed by changing the config.action_controller.action_on_unpermitted_parameters property in your environment files. If set to :log the unpermitted attributes will be logged, if set to :raise an exception will be raised.
The unpermitted key behavior happens instantly. That is, if you require a parameter that's missing, you get an ActionController::ParameterMissing exception. If you permit some parameters, any unpermitted parameters will instantly be indicated via an ActionController::UnpermittedParameters exception or a log line, depending on your action_on_unpermitted_parameters setting.

Note that this means you don't want to have a permit before a require if you're using the :raise option (which I strongly suggest you do, because that's confident coding), because the permit call would then raise an exception.

But what's this default behavior where keys that are not permitted are "filtered out and ignored"? This just means that the call to permit returns a hash in which the unpermitted keys are removed. The original params object is unaltered.

In any case, this brings us back to..

Testing

First off, recognize that it's easy to test that all the right parameters are permitted. We simply write a controller test using an update hash including all of the permitted parameters.

Now, to assert that any other params aren't permitted, we simply make a context in which we have a single unpermitted parameter, and assert that the unpermitted attribute isn't updated.

But now what about require? That's considerably more work to test, since you'd have to make nested contexts for every single required parameter. Therefore I advise simply not to use require at all. I'm not even sure why it was added. Feel free to tell me if you can think of a good reason.

This strategy is just radically simpler than the approach Robbie Clutton took.

2013-12-01

Score Voting vs. Approval Voting

A common criticism of Score Voting is that it is strategically identical to Approval Voting. For instance, one member of the German Pirate Party recently responded on Twitter to a Score Voting election using a -3 to +3 scale:
Best strategy for assessment choice by the way: Favorites to +3, all other -3. Otherwise, voting power is wasted.
The basic idea is that it's always strategically optimal to use the maximum and minimum scores (we often refer to this as "polarization"), which seems like an argument for using Approval Voting instead of Score Voting. There are a number of reasons why this argument is flawed.

First, it's not always true. There are some instances in which honesty is a better strategy than polarization. Having said that, I acknowledge that those are exceptions to the rule, which I point out purely to be thorough. So let's continue with the premise that polarization really is the best tactic, since it's approximately true. In that case, we must look at the pros and cons of using Score Voting instead of Approval Voting.

One major advantage of Score Voting is that it's more expressive, which many voters enjoy. For example, in the 2000 USA presidential election, polls show that about 10% of the people who preferred the Green Party voted for their nominee, Ralph Nader. They knew Nader had virtually no chance to win, and they could have made the tactical decision to vote for their favorite of the two major party candidates. But expressing their opinion was just so important to them, that they chose to "throw their votes away" on the Green Party.

This principle is actually at work within the very act of voting! Because in the vast majority of elections, a voter's odds of affecting the outcome are so incredibly small that it is economically irrational for him to waste his time voting. This is concept is actually called the Paradox of Voting. So if our Pirate friend from Twitter votes, that is proof that he actually agrees with us.

But there is more benefit here than mere self expression. It turns out that when voters are honest, they tend to "donate" more utility (aka welfare/satisfaction/happiness) to the other voters than they sacrifice, resulting in a net welfare increase. You can see this clearly in Bayesian regret figures. The more voters are honest, the greater the average satisfaction.

Critics will often respond that this only addresses those voters who consciously chose to be honest. What about those voters who simply didn't know any better, and were then unfortunately victimized by the tactical voters? There are a number of counter-arguments to this concern:

  • Those voters presumably are very few in number, meaning we should be skeptical about giving up the significant benefits of Score Voting simply to protect them.
  • One can make the argument that any voter so naive as to be unaware of strategy would actually be better off casting a sincere Score Voting ballot than an Approval Voting ballot. This is based on analysis of the effectiveness of these respective behaviors. I.e. observe that the values in column C tend to be greater than those in column D in the first table here.
  • It turns out that if there's enough sincere voting, then even the "naively honest fools" who vote sincerely do better with Score Voting than with Approval Voting. See table two from this page on the "Shentrup-Smith Experiment".

Summary

The bottom line is that if even one voter decides to sincerely use the intermediate scores, then Score Voting produces better average voter satisfaction that Approval Voting. And if you prevent sincere voters from using intermediate scores in order to protect the naive ones, you possibly hurt them, and you definitely hurt the voters who wanted to be expressive. Is it really worth it, just to make the voting procedure a little simpler? Score Voting is a little more complex than Approval Voting, but it is still much simpler than any ranked voting system. 

Approval Voting is a fantastic system, but a rational voter will want to take Score Voting instead, if he can get it.

2013-11-29

Intepersonal comparisons of utility

I occasionally run into someone expressing skepticism about the validity of Warren Smith's Bayesian regret calculations, due to the fact that they employ a Utilitarian or "Benthamite" social welfare function (i.e. the social welfare for is the sum of the utilities of the members of the group). The particular criticism I refer to is that individual utilities cannot be summed because they are not "interpersonally comparable".

Let's assume, for the sake of argument, that utilities are not interpersonally comparable. In that case, the uniquely best social welfare function is the one which maximizes the expected utility of a randomly chosen voter, in his own personal units of utility. That is, the best option is the one that maximizes the average of all voters' utilities. But note that this is mathematically identical to simply summing the utilities, for any given group of voters! And therefore the complaint about not being able to perform interpersonal comparisons of utility is academic, and doesn't invalidate the social choice function Smith employed for his BR calculations.

Regarding the aforementioned Twitter conversation, this also some bearing on the applicability of "labels" to the scores listed on a Score Voting ballot. That is, some folks would like to have something like:
0 - terrible, 1 - poor, 2 - mediocre, 3 - good, 4 - great
The most obvious problem, to anyone acquainted with basic economic theory, is that this introduces error. For instance, suppose that my subjective connotation with these words is such that
u(great) - u(good) = u(good) - u(terrible)
And suppose that my utilities for some set of options are such that
u(x) - u(y) = u(y) - u(z)
Without labels, I would vote (assuming I'm a sincere voter)
x = 4, y = 2, z = 0
But if I vote using the labels, that would be
x = 4, y = 3, z = 0
This would produce a lower expected utility for me, making me worse off. Of course, if I'm a tactical voter, then it doesn't matter anyway. But why add more text than is absolutely necessary to a ballot, if it reduces the expected utility of voters? Why make the voters worse off?

There is a potential counter to this. But it appears to require that you accept the validity of interpersonal utility comparisons. Here's how it works. Suppose that Bob and Alice have the following utilities, on a universal scale.
u(x) = 8, u(y) = 6, u(z) = 0
u(x) = 8, u(y) = 6, u(z) = 4
Their sincere votes (on a 0-4 scale) would look like
x = 4, y = 3, z = 0
x = 4, y = 2, z = 0
The scaling distortion makes it appear as though they have different opinions on y, but the same opinions on z—which is precisely backwards. But suppose those labels, like "great" and "mediocre", have highly similar mappings to actual utility values for both Bob and Alice. In that case, the labels could prevent more loss than they caused—by nullifying some component of the normalization loss.

The irony here is that our friend on Twitter supported the use of labels, but opposed the validity of interpersonal utility comparisons!

The caveat is, as I said at the beginning, that a welfare function that maximizes the sum of all individuals' utilities also maximizes the expected utility of any individual voter, even if we disallow interpersonal comparisons of utility. So my aforementioned defense of labels is still equally valid, even if we don't permit interpersonal utility comparisons.

@selylidne can thank me for offering at least some evidence in support of his own argument.

2013-10-14

Fun with Airbrake customer support

Exceptions going unreported

Clay Shentrup's Avatar

Clay Shentrup

Oct 01, 2013 @ 10:49 AM
We're experiencing exceptions on production leading to 500 errors, but nothing new is making it to the exception list in Airbrake, nor are we getting email notifications. The only notifications I see are for repeats of exceptions that already existed prior to the new site rollout.
  1. SUPPORT STAFF2 Posted by Morgan on Oct 05, 2013 @ 01:31 PM
    Morgan's Avatar
    Hello Clay,
    Thank you for bringing this to our attention.
    Can you please provide your account's subdomain and the name of the project(s)
    effected [sic]?
    Please get back to us when we can, when I have that I will do some troubleshooting on the account and make a bug ticket for the developers to take action on.
    From,
    Morgan
  2. 3 Posted by Clay Shentrup on Oct 07, 2013 @ 10:30 AM
    Clay Shentrup's Avatar
    I just want to make absolutely sure you got this, seeing as how multiple of
    my replies failed permanently. 
    [I had replied to their automated email, which is supposed to post the message to this thread, an Sat, Oct 5, 2013 at 1:38 PM. But it failed permanently. I sent that permanently failure message back to them two more times, and only received one more failure reply, so I assumed that the second email had gone through. I finally checked back in on the 7th, via email, resulting in this post.]
  3. 4 Posted by Clay Shentrup on Oct 08, 2013 @ 11:33 AM
    Clay Shentrup's Avatar
    Hello,
    Could I get an update on this? We haven't had exception notifications for 7 days now. This is a pretty big deal for us. It seems to have perfectly coincided with the roll out of the new site, although that could indeed be a coincidence for all I know.
    Thanks,
    Clay
  4. SUPPORT STAFF5 Posted by Matt on Oct 09, 2013 @ 12:51 PM
    Matt's Avatar
    Hello,
    This issue has been resolved by our dev team. They have deployed the code to fix this issue. Unfortunately you will have to remove the addon from heroku, then re-add it again, but you will no longer run into this 401 issue.
    Let us know if you have any questions or run into any other issues.
    Matt
  5. Matt closed this discussion on Oct 09, 2013 @ 12:51 PM.
  6. Clay Shentrup re-opened this discussion on Oct 09, 2013 @ 02:12 PM
  7. 6 Posted by Clay Shentrup on Oct 09, 2013 @ 02:12 PM
    Clay Shentrup's Avatar
    Matt,
    What does Heroku have to do with anything? We don't use Heroku.
    Thanks,
    Clay
  8. SUPPORT STAFF7 Posted by Ben Arent on Oct 09, 2013 @ 02:13 PM
    Ben Arent's Avatar
    Hi Clay, This looks like a bit of a mix up. I need to review this bug in more detail before I can tell you more.
  9. SUPPORT STAFF8 Posted by Ben Arent on Oct 09, 2013 @ 02:34 PM
    Ben Arent's Avatar
    Hi Clay,
    I looked at your app and it looks like it's reporting noticed just for NoMethodError: undefined methodto_sym' for nil:NilClas` Rake task, but may not be correctly setup for the rest of your app.
    Which version of the Gem are you using, and what's the output of config/initializers/airbrake.rb
    Ben
  10. 9 Posted by Clay Shentrup on Oct 09, 2013 @ 03:34 PM
    Clay Shentrup's Avatar
    We're using version 3.1.14.
    I ran "rails runner config/initializers/airbrake.rb" but it doesn't output anything. Which makes sense to me, considering that file is just:
    Airbrake.configure do |config|
    config.api_key = 'our API key' end
    I did a puts on it and got:
    #Airbrake::Sender:0x007ff0dbe81560
    Note that the Airbrake testing rake task succeeds.
    <URL REDACTED>
  11. 10 Posted by Clay Shentrup on Oct 10, 2013 @ 03:10 PM
    Clay Shentrup's Avatar
    Can I get an update? We're really suffering by not getting exception reporting.
  12. 11 Posted by Clay Shentrup on Oct 10, 2013 @ 03:31 PM
    Clay Shentrup's Avatar
    I just got a 422 that went unreported. The log says:
    Completed 422 Unprocessable Entity in 86ms
    ** [Airbrake] Failure: Net::HTTPRequestEntityTooLarge
  13. 12 Posted by Clay Shentrup on Oct 10, 2013 @ 05:24 PM
    Clay Shentrup's Avatar
    Now I'm getting a new exception, but it's not coming through in Pivotal Tracker.
    <URL REDACTED>
    I refresh and it just never shows up. Yet repeats of OLD exceptions still show up in Tracker.
  14. 13 Posted by Clay Shentrup on Oct 11, 2013 @ 05:12 PM
    Clay Shentrup's Avatar
    Hi guys. Any updates. Haven't had fully functional exception tracking for about a week and a half now.
    Thanks
    [Update: as of today, October 14, it seems like the Pivotal Tracker integration is be working again.]

2013-07-07

Revisiting my concerns over a Hillary Clinton presidency


On election day in 2012, I attended an event called "Election Night Gathering" at The Independent in San Francisco. There I got into a discussion with a woman who has been one of my wife's best friends for many years, during which she explained that she had been a strong advocate for Hillary Clinton in the 2008 election. I was a bit taken aback by this. I had come to view it as almost common knowledge (at least, among the net-enabled and highly educated) that Clinton had stooped to some appalling tactics during that campaign. I felt she had revealed aspects of her temperament, judgment, and honesty which were cause for legitimate concern if she were to become President. After a somewhat uncomfortable conversation about this, I pledged to put my thoughts into writing soon thereafter. What follows is the, admittedly off-the-cuff, email I sent to my friend.

I was thinking about our recent political talk at the Independent, and it prompted me to go back to old emails I exchanged with other political fanatics in the 2008 primary election. It was a slap to the face. I was powerfully reminded of how worried I was about the possibility of a Hillary Clinton presidency. I think of myself as someone who puts a tremendous, almost obsessive amount of thought into my political positions. I've spent much of the past six years promoting electoral reforms which I believe would improve human welfare more than anything since the invention of democracy in the first place. So I felt compelled to share some of the things that shaped my views at the time. This stuff really matters to me, and I hope you'll give this some serious consideration.

In no particular order:

Clinton voted for the authorization to use military force in Iraq (a move that gave Bush the power to, declare war, even though the Constitution says that only Congress can declare war). Meanwhile, Obama had been actively speaking out against it, saying that he does not oppose all wars but he does oppose "a dumb war". Note this speech he gave back in 2002:
http://www.youtube.com/watch?v=EhpKmQCCwB8

As Mike Gravel pointed out in the Democratic debates, Hillary supported the neocon saber-rattling, and drumming up the support for a possible "second Iraq", by also voting to declare Iran a terrorist state. See this video where he confronts her about this in the debates, and then she laughs at him.
https://www.youtube.com/watch?v=HLepLeJEWpE#t=72s

A little background on Mike Gravel is in order. He has been a tireless advocate for freedom and non-violence, for decades. He's known for divulging the lengthy texts of the leaked "Pentagon Papers" into the Congressional record for permanent posterity, in an effort to end the Vietnam war.
http://www.dailykos.com/story/2008/03/09/472987/--Video-The-moving-tenacity-of-Mike-Gravel-in-his-lone-fight-to-end-the-Vietnam-War

The prospect of killing hundreds of thousands more in a second Iraq was a deadly serious matter for Gravel, and whether or not Clinton's justification was valid, her belittling laughter in the face of such a grievance was tremendously disappointing to me. (And I have my doubts about the justification: an account at the time countered, "None of the other Democratic senators running for president supported the measure, arguing that it helps President Bush build a case for war with Iran.") And note that Gravel's no Obama lover—he dings Obama only a little less for not voting one way or the other.

On the general subject of character and temperament (which I understand is very subjective) there were a number of comments from Hillary Clinton in which the tone and content struck me as overly zealous, and lacking the kind of calm that I think is essential in a pragmatic and effective leader:

1) Here's a piece by noteworthy GOP activists Rachel Maddow and Keith Olbermann, addressing Clinton's claim that she and McCain would put forth a lifetime of experience, while Obama would run merely on a speech he made in 2002.
http://youtu.be/o1awkOMXO9U

Her original comments are here:
https://www.youtube.com/watch?v=E-fEmu7BlRs#t=45

2) Here was one of her responses to some negative ads from the Obama campaign:
http://www.youtube.com/watch?v=A9CRgFO2mnM

I think that in that clip, she truly seems unhinged. I don't doubt that the Obama campaign sent out some negative campaign literature. But I saw plenty of that from her campaign as well. Either way, responding calmly with objective facts would have instilled more confidence in me than a reaction in which she seemed to be letting her anger get the best of her, as if she was on the verge of exploding. By comparison, Obama operated as if he was on Xanax.

3) In this 60 Minutes interview, she says Obama's not a Muslim, "as far as I know".
https://www.youtube.com/watch?v=LHFREDHB-nQ

I think she should have said something more like, "Of course not, that's utterly ridiculous."

This all relates to the Rachel Maddow point that Clinton's rhetoric was more like what you'd say if you were running to be McCain's VP. Arianna Huffington actually responded with an article called "John McCain Should Go on Vacation, Hillary Clinton is Doing His Job for Him".

All of these character issues meant I didn't spend a great deal of time analyzing the details of their experience. Nevertheless, what I read in that area matched with my character-based perspective. Here's a piece I sent out to some of my friends in 2008, where one woman looked at what Obama and Clinton's legislative efforts and accomplishments said about them. They were very similar on policy, but Obama exhibited a tendency to get more co-sponsors on board, which may account for why he achieved more victories per session.
http://www.dailykos.com/story/2008/2/20/201332/807/36/458633

Lastly, an anecdote that you can take for what you will. At one point, Samantha Power (one of Obama's unpaid advisors) slipped up and called Clinton a "monster" to a reporter, who published the comment.
http://www.nydailynews.com/news/politics/barack-obama-forced-decry-adviser-monster-remarks-hillary-clinton-article-1.289708

She was rightfully dismissed from the campaign, and apologized for phrasing her views in such a simplistic way. But she elaborated in a subsequent statement:
"Obviously, I am deeply sorry for calling a career public servant like Senator Clinton a name. It was disrespectful and downright immature. But it wasn't untruthful. Listen, a lot of people including myself have devoted immense time and energy to the Obama campaign because we firmly believe that a different kind of politics is possible. And Obama's lead in victories, delegates and votes makes us hope that this time, this year, after all of the swiftboating, that the old negative tactics aren't going to win the day. So when Clinton runs fearmongering ads about sleeping children and when her husband dismisses Obama as a merely black candidate, when Senator Clinton herself says that John McCain is more qualified to be commander-in-chief than her Democratic opponent ... it just seems monstrous to me.

And that sort of behavior is monstrous, it's a sickness of our political system, one that we desperately hope to cure through our efforts in this election. Perhaps these despicable tactics will, once again, win the day, and perhaps I have contributed to their victory with my regrettable outburst. But that doesn't make them any less deplorable."
Wikipedia says Samantha Power..
runs the Office of Multilateral Affairs and Human Rights as Senior Director of Multilateral Affairs on the Staff of the National Security Council. She is also the Founding Executive Director and the Anna Lindh Professor of Practice of Global Leadership and Public Policy of the Carr Center for Human Rights Policy at Harvard University's Kennedy School of Government.
Power began her career by covering the Yugoslav Wars as a journalist, and was a winner of the Pulitzer Prize for her book A Problem from Hell, a study of the U.S. foreign policy response to genocide.
So at the very least, I hope you can see that I didn't choose my position in haste.

Sincerely,
Clay

Update:

Clinton also supported a bill to make flag-burning a crime.

She also introduced (with Joe Lieberman and Evan Bayh) a bill to criminalize those who "peddle" violent games to kids. This was later ruled unconstitutional by a 7-2 Supreme Court decision. I suggest you read this Rolling Stone article about it.