Monday, October 31, 2011

Low-Key Hillclimbs: over the hump


The 2011 Low-Key Hillclimbs
are over the hump, with 5 of the 9 scheduled events in the bag. Each one has had near-perfect weather, with warm sunshine without being hot. It's been supernatural, almost.

Week 1 is always stressful: after a long "off-seson", Low-Key returns to Montebello Road. I traditionally coordinate this one, more to take responsibility for the outcome rather than due to being qualified. Honestly, organization is not my strong point, and every year something gets overlooked. But I've had excellent assistance from Howard Kveck these past few years, and he helps keep things in shape when I stumble. Sometimes there's a bit of next-day revision needed on the results based on email feedback, but in the end we typically get them fairly good. This year things went even smoother than normal.

Week 2: a late swap with Barry Burr for week 6 (more on that) had me coordinating Sierra Road, as well. Biggest trick on Sierra Road is the start, which is in the suburbs. But nobody objected to our presence, and it was a great day on this road now made classic by the Tour of California stage race.

Week 3 and I was nervous again, not only for pulling off the climb of Page Mill Road in Palo Alto, but also because it was my first one I'd ride. I sort of recruited Janet LaFleur for this one after nobody volunteered from the Low-Key mailing list. And oh, my, did Janet come through! All the organizational skills I lack she has plenty. Everything came off with precision. It helped that we started riders in groups of around 15 rather than all together: the lower portion of Page Mill is too narrow, really, to send well over 100 riders at it in one pack. To top it off the day I really surprised myself with how well I rode. I knew my running had been going well: I was putting out good training runs after recovering from my August half-marathon. But would that translate to cycling fitness? For hillclimbing, apparently it did.

Week 4 and we tackled the first of the two brutally steep climbs in the series: Bohlman Road in Saratoga. Well, not really Bohlman, more precisely Bohlman-Nortan-Kittridge-Quickert-On Orbit-Bohlman. Again, we had a wonderful coordinator in James Porter, who like all excellent coordinators never gets flustered and never lets things get out of control. I was worried about the record turnout for this road: typically numbers fall off on the super-steep stuff. This time, that wasn't the case, and we maxed out our rider limit. Yet it turned out to be no problem, as residential density on these roads is low, and all of the drivers we encountered were amazingly patient. I think living on such steep roads they accept that high speeds aren't in their plan. So having to go around some cyclists isn't a big deal. Of course initially we filled the entire uphill lane, but soon after starting we turned onto the steep slopes of Norton Road and that strung things out very quickly. It was a great climb: I prefer it to alternate approaches up the mountain due to the steepness of the lower portion, the excellent pavement, and the very low car traffic. For now, at least, I think we'll stick with this version for future rides here.

Week 5 was a recovery week of sorts. This one had been Howard's suggestion: Palomares Road near Fremont and Union City. I had been sceptical: the climb wasn't steep enough long enough to break up groups, I feared, and so results would be challenging. But Howard is the results coordinator and it had his call to do this one, so that was his problem! To help, we used small groups (15 or so) of riders as we had at Page Mill. Unlike Page Mill, though, here the first group, of the self-assessed fastest riders, failed to break up. Pretty amazing: it's been too long since I've done a road race, and this had that feeling. Too afraid to pull, I was trapped in the vortex, at the mercy of the pace of those in the front: Tracy Colwell, a renewed and stronger Tim Clark, Nils Tikkanen, Jacob Berkman. Then I was freed from my trance by the 200 "paces" sign: the finish was near. Then it exploded, Tracy and Keith Szolusha off the front, the others scrambling for minor placings. I was fourth.

Amazingly the finish line crew managed to get most of us, and I went to Pat Parseghian's excellent finish video for the rest.

The other groups were less well matched, and the biggest sprint after ours was probably four riders. A few riders looked puzzled when we asked their numbers as they crossed the line (we avoid jersey numbers) until I realized we forgot to mention at the start that people shout their numbers at the finish, and people tend to be fairly brain dead at the end of a hard climb, even short ones.

It was another gorgeous day, and I was super-happy the series was going well. Three more weeks to go, then Thanksgiving @ Mount Hamilton, which is special.

But it's hard to look past this weekend: Mix Canyon Road. It stands to be by all accounts the hardest climb Low-Key has ever done. It's simply inhumane. But I'm the one who put it on the schedule, so no whining allowed from me...

I love it how this series magically comes together and works. Most people would say you couldn't do this sort of thing, but every year we do, and every week people have a good time.

Wednesday, October 26, 2011

Instant Runoff Election Simulation: Exhausted Ballots versus vote count in the 2011 San Francisco Mayor's race

The 8 November election in San Francisco will have 16 candidates contesting the mayor's position. The city will, for the first time, use instant runoff voting for the city-wide mayor's election, avoiding the need for people to cast multiple ballots in the likely scenario that no candidate would get at least 50% of the votes.

Instant runoff works by creating virtual "rounds" of voting. Voters get a number of votes on their ballot. They list their first choice, then their second, then their third for the mayor's position. In principle there could be enough votes to rank all candidates (one less than the number of candidates), or more if you want room for write-in candidates. First, all candidates receiving at least one first-place vote are ranked, and the one (or multiple) candidates receiving the least number of votes are eliminated (assuming there's at least one candidate left). Ballots which had an eliminated candidate as a first choice have lower-ranked choices promoted until either the first-place vote is still in the race or the ballot contains no more candidates within the race. A ballot with no more candidates who have not yet been eliminated is considered "exhausted". The election continues until a single candidate has a majority of the votes from unexhausted ballots.

People have argued that exhausted ballots are a sign of the failure of the system. They claim that voters who submit exhausted ballots haven't had their voice heard. Of course this is false: the voters have had their voice heard but the candidates they supported failed to garner enough support. However, what an exhausted ballot implies is that among the final candidates in the race, that voter failed to have his preference counted. Not counting write-in candidates, for a voter to be guaranteed that his ballot will not become exhausted, he needs a number of votes equal to the number of candidates minus one. This allows specification of a preference between every pair of candidates, covering the every possible final round.

But San Francisco doesn't provide this many votes: not even close. Due, it is claimed, to limitations of the ballots used in city elections, only three votes are offered. I view this as a bit of a farce: of course it is possible to provide space for more than three choices, and there are plenty of examples of other nations which do so. Three is a long, long way from the fifteen choices which would be necessary to avoid ballot exhaustion.

I'll assume voters pick their honest top choices, no matter the perception of candidate viability. Of course this is an incorrect assumption, voters may prefer their ballot not get exhausted early, and so may want to pick at least one candidate considered likely to get a large number of votes. This "safety net" pick would likely be in the final spot on the ballot, since picking it earlier would likely render "long-shot" choices ranking below the pick irrelevant. But I'll assume here that there's no safety net strategy, and voters pick their preference every choice. I also assume voters vote for the full number of slots on their ballot: if they have six choices, for example, they don't vote for three and leave the final three slots blank.

In this case, exhausted ballots only make a potential difference if the winner, after all other candidates but one have been eliminated, fails to receive at least half of the total ballots submitted (not half of the remaining unexhausted ballots). If the winning candidate receives over 50% of all ballots, then even if all exhausted ballots would have had their next vote go to the second-place candidate, that second-place candidate still would have received fewer votes than the winner. And that's an extreme case: it would be virtually impossible that every one of those voters with exhausted ballots would have preferred the loser over the winner. So unless the number of exhausted ballots is sufficiently larger than the difference in votes received in the final round by two surviving candidates, it is very unlikely those exhausted ballots would have switched the result if the voters had had more picks.

So how many exhausted ballots is acceptable? I'll toss out a proposal that 1% is okay, assuming there is a "cost" associated with putting more choices on the ballot. But more than 1% and I think it's fair to say the reduced number of votes per ballot is seriously in danger of affecting the outcome.

If I want to estimate how many votes I need per ballot, with 16 mayoral candidates, to avoid at least a 1% exhaustion rate I need to make further assumptions. With 16 candidates, if one candidate is vastly more popular than the rest, then he'll get most of the first-place votes, and no ballot will be exhausted, since the election end on the first virtual round.

In the other extreme, if each candidate is equally popular, such that a voter chosen at random will have ranked candidates in essentially a random order (assuming candidate preferences are uncorrelated, which is clearly unrealistic), then the fraction of ballots which will be exhausted can be calculated fairly easily: suppose there are C candidates and V votes per ballot. Then the number of ways to vote or the C candidates with V votes = C! / (C ‒ V)! ("!" is the "factorial" operator), while the number of ways to vote without including the final two candidates = (C ‒ 2)! / (C ‒ V ‒ 2)!, assuming C ‒ V > 1. Therefore the probability a random ballot will exhauste among many random ballots =

[ (C ‒ 2)! (C ‒ V)! ]/ [ C! (C ‒ V ‒ 2)! ].

This can be simplified to the following, eliminating the factorials:

(C ‒ V) (C ‒ V ‒ 1) / [ C (C ‒ 1) ]

But this case is unrealistic. Some candidates are more popular than others: the difference in votes isn't just due to randomness. So I'll make an assumption somewhere between the two cases of one super-popular candidate and all candidates equally popular. I'll assume the most popular candidate gets 20% of the first place votes. Then the second candidate gets 20% of the remaining votes. Then the third candidate gets 20% of the votes remaining after votes have been assigned to the first and second candidates. Etc. So the most popular candidate gets 20% of the first-place votes. The second-place candidate then gets 16% of the votes. Third place then gets 12.8% of the votes. This goes on to the least popular candidate, who gets 20% of the votes which haven't been assigned yet to that point, which is 0.7% of the total. If a voter has given his vote to none of the candidates after this round (2.8% of them), I try again starting with the most popular candidate. For second-preference votes and beyond, I do the same game, except a voter can only vote or each candidate once. So less popular candidates have a better chance of getting lower-ranked votes than they have of getting first-place votes.

This vote distristribution is simplistic, obviously. In a real election there will be pairs of candidates who will be close to each other: the gaps between canddidates won't be so uniform as they are in this model. But that's not so important. What's important is that the votes tend to be clumped toward the head of the field, rather than distributed uniformly over all candidates.

So I ran 100 thousand randomized votes using this approach, and I compared it to the "worst-case" where each of the 16 candidates is equally popular. Here's a plot of the percentage of exhausted votes versus the number of votes per ballot.

simulation results

The result is for the equally popular candidates you need 14 votes per ballot to keep the exhaustion rate down to 1%. This is only one away from the 15 needed to fully rank the 16 candidates. For the candidates with different popularity, you need 9 votes to get the exhaustion rate down to close to 1%. In each case allowing only 3 votes per ballot will result in high exhaustion rates: 65% and 25%. With only 3 votes per ballot, the number of votes is affecting the outcome: either a lot of ballots get exhausted or voters, to avoid ballot exhaustion, will deviate from their true preferences by engaging in the self-fulfilling prophecy of voting for whom they think are "viable" candidates.

And since everyone agrees interim Mayor Ed Lee is a viable candidate, I don't like where this leads.

So in summary: I really like ranked choice voting, but surely we can do better than this. With 16 candidates, I want at least 9 slots to rank candidates, and would prefer 15, but would even live with as small a number as 6. 3 is obviously way too few, however.

Thursday, October 20, 2011

San Francisco Mayor's election votes

I've been following the mayor's campaign as I've been able, and these look to be the candidates who will get my three votes:

First is David Chiu. I wrote about him yesterday, about his ride on SF2G. David's been on my virtual ballot all along, either first or second. I don't think we agree on much on the proposition ballot, to be honest. I take a fairly hard line on bonds, while he was a principal supporter behind Prop B (street maintenance bond). So I asked him about this directly at the Potrero Hill street festival, noting that my "undergraduate-level economics" tells me funding ongoing maintenance with debt is a bad idea. He agreed, but claimed our present situation is an exceptional emergency, and the bond is needed to avoid much higher costs down-stream. I still question the city's discipline to remedy the revenue imbalance when bonds are provided as a cop-out, but I respect his response. We clearly disagree on Prop D, public employees funding pensions. To me it's clearly superior to C, which Chiu supports. But as I noted I'll vote for both, because I don't want vote splitting to leave us with neither. But we agree the size of city government is a serious liability for San Francisco, especially given the city's virtual inability to prune out unproductive employees. What seals the deal with Chiu is our shared perspective on the critical role non-automotive transport plays in quality of life, that the best cities in the world are those that provide the best environment for pedestrians and cyclists as opposed to car drivers: New York, Boston, the great cities of Europe. To the contrary, cities which dedicate the most resources to cars (wide roads and large parking lots) are among the most unattractive: think Los Angeles, Atlanta, or Phoenix Arizona. And he was a serious proponent of bringing the 2013 America's Cup to San Francisco, despite the NIMBY forces who prefer that San Francisco be a bedroom community from where they can live their private lives as unencumbered by other people as possible.

Next is Herrera. Initially there was no way I was going to support him. As public attorney I felt he'd dragged his heels when the city's bike program was blocked by Bob Anderson's lawsuit claiming that the city should have filed an environmental impact report (EIR). I felt, as did at least one member of the Board of Supervisors, that a "safety case" could be presented for many if not all of the projects which would have exempted them from the EIR. But Herrera's view was that the EIR should have been filed from the beginning, that he'd advised one be filed, and since the bicycle program had neglected to do so there was no reason for his office to scramble to argue for projects one-by-one. Okay, so that's water under the bridge. I think Herrera clearly supports the bike program as it moves forward from here, the EIR done and approved. More importantly he seems an organized, businesslike guy who has what it takes to keep the city's business plan moving in the right direction. And he gets points for haven ridden with SF2G, which I unfortunately missed. Herrera is also endorsed by the Potrero Hill Boosters Club and the Potrero View newspapers, both representing my neighborhood.

And my #3 is Jeff Adachi. Like Herrera, Jeff also seems intelligent and business-like. He's the one behind Prop D, and has been a long-time proponent of getting the public employee pensions under control. I really admire his stand here, not out of some Republican-like vitriol against public workers, but because the public pensions are so clearly disproportionate to private sector and because they are so clearly unsustainable economically. Politicians are all too ready to push off liabilities onto the next generation and the public pensions are a clear example of this. Jeff also seems to take a reasonable stance on other issues and has handled himself very competently in the debates I've seen.

So that's it... on my top 3:

  1. David Chiu
  2. Dennis Herrera
  3. Jeff Adachi

Filling out my top ten are Dufty, Avalos, Alioto-Pier, Rees, Ting, Hall, and Yee, roughly in that order.

Of these candidates Hall is an interesting case, clearly the most conservative of the bunch. For example, while most candidates are against Adachi's Prop D as either unenforceable or going to far, Hall argued it doesn't go nearly far enough. It could be argued, given our fiscal issues, he's the candidate we need even if he's not the candidate we want. But I'm not quite ready to go there, not just yet.

Another interesting candidate is Baum. I like a lot of her views, for example her stance against Prop B, but she's essentially a full-blown socialist running as a Green. Since the American Green party was an off-shoot of the Socialist Party, this isn't atypical. I'm a big supporter of the Green Party's environmental agenda but it's socialist agenda is naive. For example, Baum wants a city-run bank and a massive increase in public housing. I simply don't trust this city to efficiently and effectively provide high-value services. I can't think of any examples, none, where a major government in this country has done so in the past. I'm not sure if I'd vote for Baum or Lee in a head-to-head. Maybe I'd write in Tony Kelly instead. Lee's proven to be allegedly corrupt, sure, but Baum's programs would be a magnet for future corruption.

Avalos gets big points for his strong support of cycling in the city, and rode with SF2G. He also gets points for supporting the right of the Occupy San Francisco protesters to hold their protest (under Lee there have been open police raids against the protesters). But he also has a socialist tendancy which I don't think is consistent with the realities of city government.

So what's the forecast? This election has turned into an Ed Lee versus the world contest. Lee seems like a nice guy to most voters. He hasn't totally screwed up anything obvious. And he was even endorsed by the San Francisco Examiner as their #1 pick while also making it into the Chronicle's second-tier behind David Chiu. But I don't trust him. Soon after announcing his entry into a race he'd previously promised to not enter to avoid conflict of interest (he was appointed interim mayor when previous mayor Gavin Newsom moved up to state lieutenant governor), he quickly raised more money than all of the other candidates had, combined. Many of these donations were suspect, at the donation limit coming from lower-middle-class donors. For example employees of a shuttle bus company which had benefited from a questionable decision on shuttle parking at SFO which clearly benefited the company were later reported to have been coerced by management, an unveiled money laundering scheme. Lee eventually returned the donations but only well after it was obvious something was amiss. Additionally, Lee's office has failed to disclose city contracts to the ethics commission within the 5 day window required by law. According to Dennis Herrera, Lee had missed this deadline 67 times as of 4 October. So Lee stinks of allegid corruption. Despite this, he is strongly supported, including by the same San Francisco Examiner which is reporting these stores. In elections, especially local elections, the inertia of incumbency is very, very strong. Voter ignorance and and laziness is rampant. And while most potential voters sit out local elections, too many vote without adequate preparation, rubber-stamping incumbents based on a lack of obvious reason to vote against. That inertia, especially with such a diverse field splitting the remaining vote, will be very hard to beat.

However, I really hope it is beaten. Any one of the other 11 candidates (those invited to the KQED/League of Women Voters debate) are preferable to Lee's proven record of corruption.

Wednesday, October 19, 2011

Riding with David Chiu

One or maybe two times per week I ride the 42 miles from home to work with SF2G, a group of long-distance bike commuters which began with Google employees but has branched out to employees of other high-tech companies on the San Francisco Bay peninsula. Really there's no way I would be able to tolerate my commute if I had to take the train back and forth five days per week (or drive even one day per week). And the nice thing about riding is after a good ride in I feel fantastic: full of energy and alert all day. It's great; if it wasn't that riding got me into work on the latish side, around 9:30 am, I'd do it more.

John Murphy's been an SF2G regular for longer than I have. This year he's had the audacity to ask three candidates for San Francisco mayor to join us at the start of the ride, typically 6:30 am in Ritual Roasters on Valencia Street. San Francisco is a city of around 800 thousand people; surely mayoral candidates have better things to do with their mornings than meet with 30 or so tech-heads. We're so lost in the noise it's a joke to even think they'd get up so early to show up in a Mission coffee house and ride their bikes directly opposite the direction to their work. John's obviously insane.

But the insane thing is that all three candidates he asked: John Avalos, Dennis Herrera, and finally David Chiu agreed. I unfortunately couldn't make Avalos and Herrera, but there was no way I was going to miss Chiu. And I didn't.

David Chiu is very cool because he doesn't own a car. He gets around the city by bus, by car share, and most of all by bike. That shared experience establishes a certain bond: a feeling of common perspective which gives the hope that things which are important to me will also be important to him. The car fosters a social view which is very self-obsessed, the "through the windshield" view where one is surrounded not by people but by machines, machines which are threatening your life, property, and mobility. They are machines which even hostile to you and should be feared, hated, and defeated. On the other hand when cyclists encounter each other there's no shell, no engine, There may still be competition but without hatred. There's still the threat from cars, but it's a shared threat, us against them, rather than us against each other. Cycling is a much, much more human mode of transport.

I got to Ritual right on time. As is customary with the ride, I brought my bike inside, greeted the early arrivals, and sat down. No David Chiu yet. Another David, a ride regular who works at Oracle near the half-way point of my commute, was commenting that there didn't seem to be any real issues in this campaign. No issues? I launched into a long speech about what I thought there were issues which were absolutely critical to the future of the city, namely the unsustainable increase in the size of city government (3% of those who live here work for the city, and once someone is hired it is very difficult to fire them), not to mention the transportation issues which affected each of us.

This rant was interrupted by the announcement that Mr. Chiu had arrived.

And there he was. He was clearly the best dressed one of those present, whose number had grown substantially since I'd sit down. The place was packed. There was some hesistation as Chiu wasn't sure what the plan was, but John told him there was no plan and David could just do what he wanted. So David presented a brief discussion of his philosophy, then invited questions.


Chiu addresses some of the crowd (more arrived later). Scott Crosby photo

Public transit was a popular target, in particular MUNI which runs the bus and intra-city rail service in San Francisco. MUNI is a mess, with a terrible on-time record, buses simply not going out when mechanical problems or driver absenteeism (around 15%, more or less) gets in the way, convoluted routes, and lumbering vehicles which are lucky to average faster than a moderate jogging pace across the city. San Francisco has clearly worse public transit than any city of its size or greater on the East coast, and probably worse than any city of its size or greater outside the United States. It's just terrible.

But Chiu understands that and while every candidate claims to put a priority on MUNI reform, Chiu seems to sincerely care about the matter. After all, he uses the bus himself. It's in his own self-interest.

At 7 sharp, a member of our crew announced it was time to leave. So we unstacked our bikes, headed outside, and rode off in the dim twilight.


Riding on his girlfriend's bike (his had been vandalized). Scott Crosby photo

John led the way. Normally SF2G takes one of two routes when riding along the flatter "Bayway" route. The traditional route is over Bernal Heights via the "Cortland Hurl", a short moderately steep climb typically taken at a caffeinated pace. The other route is the "express" route from Potrero Ave to Bayshore. This involves a wild ride through a pothole-strewn interchange with traffic merging from the right via a high-speed off-ramp. It's not for the timid.

But John wanted to take what should be the preferred route: Cesar Chavez to 3rd Street. It's also the most direct route to the 22nd Street Caltrain station. The sitting mayor, Ed Lee, had canned a community-agreed-upon plan to remove a vehicle lane from relatively uncongested Cesar Chaves to make room or bike lanes. Too much pressure from trucking companies seemed to be the reason, and given Lee's potentially shady record of alleged campaign contribution laundering, you can't help but wonder if there could have been something extra in the handshake which opened that meeting. Chavez is a mess. And John wanted to make sure Chiu saw that.

The ride was fun. Chiu rode well, and John and David Crosby, arguably the leader (if there's one) of the SF2G group, got in some quality discussion time. Most of the rest of us just hovered around, riding our bikes at the modest pace. David could have zipped along faster, I suspected. He seemed pretty comfortable.

Finally we reached 3rd Street, where our commute would take us south, while David's took him north. Everyone seemed in a good mood, as the ride had cracked our shells of cynicism about politicians, their motivations, and their sincerity. David certainly seemed like a good guy who wanted to do a good job for the city he lived in.

Tuesday, October 18, 2011

Position on San Francisco Ballot Propositions

Here's how I plan to vote on the San Francisco ballot propositions:

Proposition A

This is a bond to repair schools. Sorry, school repairs should not be paid for out of bond debt. They're an ongoing maintenance cost, and for those you need to raise revenue. I'm against any bond measure which isn't an obvious short-term expense for a long-term benefit. Repairs don't meet that standard. A bond would just rob the school system of future funding as more of the budget goes to paying the costs of this bond.

Proposition B

This proposition would borrow $260M to pave the streets, among other things. Sure: road maintenance is an important investment, but this is absolutely the wrong way to fund it. The city simply needs to find funds to pave streets from its annual $6.6B budget. If you fund maintenance this year with debt, you just make it that much harder to balance the books in future years as you pay the cost of that debt, and I don't foresee it getting any easier to balance budgets in the future. This bond would make it harder for the city to come up with funds to pave roads in the future, as more revenue would be directed towards paying off the bond. This measure is extremely poor economics. So I vote no.

Propositions C and D

These are competing pension reform measures for city workers. Every endorsement I've seen has been for one, against the other. The problem is there's over 27 thousand city employees and I think it's safe to say a good number of these are going to be voting against both measures: of course they want to keep their generous pensions as they are. So if the rest of the voters split with anything approaching equal weight between these two measures, neither passes, and we're still in the ridiculously unsustainable morass we are at present. The only way to prevent this from happening is for enough voters to vote for both. So that's what I'll do, even if I prefer D, which requires those earning more to pay more towards their pensions than those earning less. So yes on both C and D.

Proposition E

This allows the board to over-rule voter initiatives. This is an important check, and I fully support it. The typical voter does not take the time to carefully analyze every proposition: it's way too easy for mistakes to get made. Way too often proposed legislation is misleadingly represented, fooling voters into supporting something which is very much against the interest both of the city and of the cause for which the voters thought they were supporting. It's important for a mechanism to be in place to correct these mistakes. I vote yes.

Proposition F

This proposition changes rules for political consultants, for example requiring them to file monthly instead of quarterly reports. Really this sort of micro-management doesn't belong on the public ballot. I vote no; we have representative government for a reason.

Proposition G

This proposition would increase the sales tax collected by the city by 0.5%. In principle I'm fine with this, except the tax is directed to "public safety", and I don't believe in directed taxes. For one thing they're misleading: directing one revenue source to a particular budget item seems like it should increase funding for that item, but in reality it allows the city to reduce the allocation of funds from other sources. But even if the targeted funding isn't circumvented, it prevents the city from optimizing its resource allocation based on the present need. So I'll be all for a 0.5% sales tax increase if it doesn't come with the extra targeting baggage. So there's two possibilities: either the funds indirectly and misleadingly end up in the general fund, or they're tied up to a particular cause and the city is no longer able to budget efficiently. Either case is a lose. So I vote no on G.

Proposition H

This proposition is simple: it would make proximity a priority in allocating students to schools. Opponents say some schools suck, and it's unfair that local students get stuck with sucky schools. Well, the reality is some students, whether they be local or not, are going to get stuck with those sucky schools. The solution is to make the schools not suck, not sustain the illusion of "school choice" while essentially holding an annual Russian roulette of randomized school assignments. Given an allocation of students, I'd rather students go to school closer to home to reduce transportation costs. If students can walk or bike instead of get driven or take the bus, that's a substantial benefit. Opponents claim the proposition is "flawed", but I think this is just a tactic, as it's very simply written. I vote yes on H.

Most elections I have at least a few propositions where the decision seems tough, but this year I've not seen any compelling cases made to challenge what were my early preferences on any of these.

Sunday, October 16, 2011

2011 San Francisco's Mayor Election, Ranked Choice, and Exhausted Ballots

In the 2011 San Francisco Mayor's Election (election day is this November, but early voting has already begun), there are 12 "major" candidates... from the LOWV debate:

  1. Adachi
  2. Alioto-Pier
  3. Avalos
  4. Baum
  5. Chiu
  6. Dufty
  7. Hall
  8. Herrera
  9. Lee
  10. Rees
  11. Ting
  12. Yee

There are four others running: Ascarrunz, Currier, Lawrence, and Pang, but I think it's safe to say none of these four candidates is in the running, given their lack of representation in the debates so far.

San Francisco switched this mayor's election to Instant Runoff Voting. The way this works is each virtual "round" the candidate receiving the least non-zero number of first-place votes is eliminated, along implicitly with those receiving no first-place votes. Votes lower than first place on the ballots of those who voted for this eliminated candidate are then promoted until either there are no votes left on the ballot (the ballot is "exhausted") or the new first place vote on the ballot is still in the race. The idea is to allow voters to vote their preference, rather than to worry about which candidates are most viable. I really like this system, as long as the number of exhausted ballots remains relative small.

The problem is if a voter ends up with an exhausted ballot, then in the final "round" that voter's preference is no longer being heard. If the number of votes per voter is no more than one less than the number of "legitimate" candidates, then no ballot becomes exhausted. However, fewer votes, and on some ballots the final two candidates remaining may be the two candidates omitted from a ballot and that ballot will be exhausted before this final selection. These voters tend to feel bitter that their preference among these candidates is being ignored.

In the San Francisco election, with 16 candidates on the ballot, there are three slots available for voters to select their preference. The election commission argues this is due to a technological limitation of the voting process here. Errr.... I simply refuse to accept this, especially in the presence of many counter-examples throughout the world, for example Ireland, where voters get more selections.

The result is in the San Francisco election, voters are forced to engage, at least a little, in game theory. Since they don't want their ballots to become exhausted before the final round, they feel compelled to vote for at least one candidate who is likely to make the final round. I think pretty much everyone agrees that Lee will likely make it there, as Lee is the sitting mayor; he was appointed by the Board of Supervisors to take over when Gavin Newsom took the seat of the state Attorney General. So suppose a lot of voters wouldn't place Lee in their top three, but they prefer Lee to some other candidate who might have a long-shot chance to win, so they would be tempted to put Lee in their #3 vote as a safety net in case their first two choices don't make it.

So maybe every single voter has Lee as their mid-rank choice, say 6th or 7th (of the 12 candidates with "a chance"). But a majority of these voters put Lee in the #3 slot because doing so essentially blocks out the 6 or 7 candidates they really don't want to see in office. It's a good strategic move, they may feel.

The issue is now there's only two slots left for their true preferences. These two spots will get split between the 5 or so candidates they'd all prefer to see than Lee. Many of these voters will thus have their top two votes eliminated, in which case Lee gets their top vote. This gives Lee the election. Add in those voters who out of inertia and laziness will just vote for the person in office at the time and it becomes exceptionally challenging for anyone to beat Lee. This puts Lee in a very comfortable position.

There have been major questions about Lee, most recently with campaign contributions getting laundered through low-income voters to avoid campaign contribution limits, but also because he oversaw a police crack-down on cyclists in which cyclists were ticketed for trivial offenses (or non-offenses) like not "putting a foot down" at stops or riding during the day without reflectors, neither of which is illegal. Previously he canned an agreed-upon lane reduction on Cesar Chavez to improve cyclist safety after lobbying from the teamsters (although an alternate plan removing parking is moving forward). I really don't trust him to be the city's mayor at a time when hard decisions about city budgets, decisions which are going to cost people money, need to be made. We can't have the mayor's office going to the highest bidder.

So I really hope the city changes its ranked-choice voter scheme. The number of options should depend on the number of candidates. For example, during the District 10 Board of Supervisor's election, with 21 candidates and no incumbent, I proposed the following:

choices = floor[sqrt(N)] + 1

This formula would yield 1 choice for no candidates, two for up to 3 candidates, 3 for up to 8 candidates, 4 for up to 15 candidates, and 5 for up to 24 candidates. In the San Francisco Mayor's race, as with that Board of Supervisor's election, there would thus be 5 choices available. I feel this formula is the absolute lower-limit of what I'd want to see given Lee's presence in the race. For example, the following might be even better:

choices = floor[N2/3] + 1

This revised formula would yield one choice for no candidates, two for up to 2 candidates, three for up to 5 candidates, four for up to 8 candidates, five for up to 11 candidates. six for up to 14 candidates, seven for up to 18 candidates, and eight for up to 22 candidates. Thus we'd get seven votes for this election. I'd have no problem ranking seven candidates here.

The idea in these formulas is that all candidates aren't equally likely to get votes. In any election, some candidates are going to be more popular than others, so you don't need the number of spots on the ballot to be equal to the number of candidates or even one less, unless there is a very small number of candidates. In a 16-candidate field, the huge majority of voters will have one of the two final candidates among their seven top choices; the number of exhausted ballots need not be zero, just less than the number which could have swung the final result with reasonable probability. But fixing the number at three is clearly woefully inadequate to the democratic process. Voting should be about expressing real preferences, not engaging in game theory.

Wednesday, October 12, 2011

Climbing Haleakala

When Cara said she wanted to go on a vacation I asked her where she wanted to go. Hawaii, she suggested.

Hawaii. I'd only been there once: to Oahu for a conference in Waikiki. Nice riding on Oahu, but I knew we'd not be going to Oahu this time. There was only one island which could be on this agenda.

Maui.

Why? One word: Haleakala.

Ever since reading the description in John Summerson's book, I knew I had to go. In the rankings, only three climbs in the United States have a rating exceeding 6: Mount Washington Auto Road in New Hampshire (6.45), Mauna Kea on the epinonymous island of Hawaii (6.33), and Haleakala (6.13). Of these, two have bike races. Of these two, only Haleakala is open to general bike traffic. Mauna Kea (and nearby Mauna Loa, rated 5.26) aren't paved to their summits. So of the four, the clear choice is Haleakala.

There are several ways to approach Haleakala. After all, the entire eastern half of Maui sits on the mountain, which rises from deep in the Pacific. At its historical height, Haleakala rose to 13 thousand feet above sea level, but with erosion it now just barely pokes it's head above 10 thousand: 10020 is the official peak elevation. I've ridden over 10 thousand feet before: in Colorado, in the Eastern Sierra. But Haleakala is different than these other climbs in that the climbing is essentially continuous from the beach. Paia, where August's Race to the Sun begins, is a small town abutting the ocean. Like the primordial fish, you could virtually ride your bike straight out of the Pacific and climb straight up the mountain.

I didn't do this. I was starting at the Paia Inn, which is next to Maui Cyclery, the excellent bike shop where the Race to the Sun begins. Elevation was probably 20 feet above the actual ocean, so if the ocean was at sea level (which it typically isn't), then that would be an even 10 thousand feet of climbing. My previous record climb was probably Horseshoe Meadow in the Eastern Sierra, which gains 6200 feet. My longest climb so far this year was the north side of Mount Diablo, which gains 3600 feet. So this climb would be longer than the two, combined, without a rest in between.

I was scared.

I asked for advice to Don, who runs the shop. "Keep pedaling," he said. That was it.

The locals typically do the climb with two bottles, refilling twice along the way. But I wasn't confident of my ability to quickly identify the water locations, and didn't want to have to negotiate with the sub-sized pockets on my Voler Team Roaring Mouse jersey over what precious few clothing items I'd bring for the potentially chilly descent. So I went conservative and in addition to my two bottles I brought my CamelBak Mule. This certainly wasn't the weight weenie's choice but it did eliminate any concerns over hydration or layering.

I really couldn't wrap my head around 10 thousand vertical feet, but I could handle the climb of Baldwin to Makewao. So after a protracted preparation of my Ritchey Breakaway, I set off. There was a block head wind up Baldwin, but I didn't care. This was all about settling in for the long haul. The grade barely touched 7% on this long, straight road, and was usually less.

starting the climb
Starting the climb (Cara Coburn)

Baldwin is somewhat spoiled by all the car traffic between Paia and Makewao. But there's no intersections, so no conflicts, and no hassles from the drivers. The miles passed one by one, and when seven of them did so, I reached the stop sign marking Makewao.

Car drivers would probably turn right here, but the preferred route for cyclists, and the route taken in the race, is to continue. I crossed this stop sign without issue. Here Baldwin turned into Olinda, and got steep, the steepest part of the whole climb. But with the climb barely 1/8th done, my thoughts were up the road. My Garmin grade indicator was hovering around 12%, but I just pedaled along.

Going the other direction I started seeing groups of riders descending the hill who were clearly part of the commercial operations which haul people up the hill in buses and let them ride back. Since they barely need to pedal the whole way, these riders were on comfy cruiser bikes. On their heads were full-face helmets. These groups used to descend from the summit, but after more than one fatality, the National Park Service put an end to all commercial bike operations in the park. The issue is the Park covers only the final 3 thousand feet of the climb, so instead these services take clients up to the summit, the clients take their quota of digital photos, then they get back into the buses and drive to just below the park boundary, descending from there.

There was a rest stop for the descenders at the one navigational challenge in the whole climb, the turn onto Hanamu Road. There's a sign mounted low on the street sign there which says "Haleakala", pointing the way to go, but since it's mounted so low it's easy to miss, and the road is relatively inconspicuous. But with the riders there, I had no problem identifying the road.

This is the one non-climbing portion of the route. Hanamu descends a bit, then rolls a bit to its end. I was a bit confused by the left at Kealaloa Ave, which I hadn't expected, before the second left shortly after onto Highway 377, which I had expected. But the way here was facilitated by the blue arrows painted on the opposite side of the road to help the descenders find their way.

377 is a wider, more heavily trafficked road which goes into the Maui Upcountry. Still, though, it's very nice riding, with a wide shoulder. Climbing steadily, I reached the 3000 foot elevation sign. Progress. But I'd decided I wasn't going to think too much about progress until I'd reached 4 thousand feet, which would mark the longest climb I'd done in 2011.

Soon after I passed paint on the road: "Feed Zone". This was clearly the first of likely two feed zones for Race to the Sun. It would be the perfect place for two fresh bottles did I not have the Camelbak.

The next and final turn of the route was the left onto Highway 378, Crater Road. As I expected, this was very well marked, with a sign identifying it as the route to the summit. There's no missing this left.

The next sign I saw was a bit sobering: "Mile 0". Crater Road is 22 miles of continuous climbing, and all 22 of those were ahead. This climb ranked up there in total climbing with anything I'd done, and I'd already been riding, and climbing, for well over an hour.

There's a few cattle grates on the road to the top. At the first, I saw some kids on skateboards hanging out at the side of the road. I wasn't sure what to make of that: were they hitch-hiking to the summit for a ride down the hill? That would be fairly extreme. Whatever they were doing there, they expressed approval at my crossing technique, which was to speed up a bit going into the cattle grate then move my weight back to get it off the front wheel, letting off the pedals just as my rear wheels were going to hit it. But these were fine grates, no issues.

I was looking forward to the 4000 foot sign because that would be confirmation this had been my longest climb this year. And soon enough there it was. Normally I'd feel better about having climbed 4000 vertical feet, but here it was just permission to begin thinking about how much I had left.

Next to the 8 mile sign I saw a man and a woman standing next to their tandem at the side of the road. "Only 14 miles to go!" I shouted enthusiastically and without irony. Close to 22 miles into the climb, I felt the end was near. "Only?!?" he responded.

The miles ticked by and, every 500 vertical feet, an altitude sign marked my climbing progress. These were occasionally augmented by road paint presumably for the racers. A few times there was even a message to "Breath" in blue paint. At 6000 vertical feet, I knew I was approaching not only my longest climb of the year, but my longest ever.... and at 6500 vertical that sealed the deal (okay, there is Climb to Kaiser, but that's really multiple climbs covering its over 8000 foot elevation difference from start to the turn-around).

Soon after I saw one of the "Descend Haleakala on a Bike" vans parked by the side of the road. A group of motorcycle-helmeted riders was lined up, straddling their cruiser bikes. Someone, presumably working for the company, was checking to make sure they could coast a few meters down the hill before launching them on their descent of close to 7000 vertical feet. I knew I must be close to the park entrance.

And there it was. Three cars were lined up at a ranger kiosk ready to pay their fees. I figured maybe I could cruise by, look as if I didn't need to pay, maybe try some of that Obi Wan Kenobi "weak minds" mind control, and they'd let me through. No such luck... they called me over.

I got off my bike and walked in my cleats to the kiosk, rudely cutting in front of the lead car. I hoped to get this done quickly. However, perhaps I could have done so if I'd just tossed $5 at them and gone on my way, but since I'd be coming up here again the next day with Cara, and since we wanted to visit the park again later in the week, a pass made more sense. So I instead paid $25 for the annual pass. This took several minutes, during which I couldn't resist expressing my feelings about cyclists being asked to pay 3 times as much, per person, as an SUV with 6 people. It just seemed yet another example of the park services catering to car drivers.

Finally I had my pass and, after apologizing to the hidden occupants of the vehicles I'd cut off, I continued on the hill. The short rest coupled with little adrenalin boost from the conversation with the rangers really helped me here, and the accumulated fatigue from the long climb to this point seemed to have disappeared. Less than Mount Diablo remained, and I knew I could climb Mount Diablo.

7000 feet ticked by soon after. No paint on the road for this one: the parks don't allow road markings by event organizers, as I learned the hard way from having missed a turn at Climb to Kaiser my first time there.

As I climbed, I admired not only the incredible view of the distant shore, but also how the vegetation had so drastically changed. The trees had disappeared, replaced with bushes. And as I climbed further even these became more sparse.

I saw another altitude sign. Which was that? I thought maybe 8000, but looking at my time, surely I'd gone further.

And indeed I had: not long after the observation building came into view, and past that the observatory. It was a decent distance, but not 2000 vertical feet. I was in the end game.

I tried to ramp up the effort a bit here but at close to 10 thousand feet this is fairly futile. There's just not enough O2 available. So instead I continued on with my endurance mode.

The visitor's center appeared on the left, but the observation building was still ahead. Obviously the Strava climb didn't end at the visitor's center, so I continued. The road here became substantially steeper: I watched as my Garmin grade display went up to 12%... 13%... 14% before retreating again. It felt around 12%, but that wasn't a problem with my 36/26 low gear. But the clock was ticking.

As I hit the parking lot of the observation building I felt a brief wave of euphoria. I'd done it! But not quite yet, as a paved pedestrian path still went up to the building itself. I was going to take no chances with the Strava segment. I steered my way around the pedestrians and rode up the steep path. Now I was truly done. A glance at my lap timer showed I'd come in just under 4 hours: 3:53:11 by Strava's reckoning.

Not surprisingly, the tourists at the observation building were impressed with what I had done. A few even wanted to take my photo. I just passed on the advice I had been given: "keep pedaling". It works.

After admiring the view, and sending text messages to Cara, I began my descent. Not much to say about this, although the tailwind assist I got on Baldwin for the final miles into Paia and back to Maui Cyclery was fun.

Sunday, October 9, 2011

Jerry Brown's Broken Logic on SB910

I want to revisit Jerry Brown's pocket veto of SB910, Lowenthal's bill which would require a 3-foot passing margin when passing cyclists while driving more than 15 mph, and would further allow drivers to legally cross the double yellow line when doing so and when line-of-sight allowed:

Here's Brown's explanation:

On streets with a speed limit of 35 or 45 mph, slowing to 15 mph to pass a cyclist could cause rear-end collisions. On the other hand, a cyclist riding near 15 mph could cause a long line of vehicles behind the cyclist.

This conclusion is exactly correct if the bill required a 3-foot passing distance and that the driver go no more than 15 mph. For example, it was proposed cyclists on the Golden Gate Bridge be restricted to riding no more than 5 mph when passing pedestrians. It would then become illegal to pass a pedestrian going at or in excess of 5 mph.

But that's obviously not what the bill requires. In fact, nobody giving the bill more than the briefest reading, nobody who'd read the emails I sent on the matter, nobody who read any of the descriptions of this bill, nobody who'd seen any of the advocacy for this bill could be under such a mistaken conclusion. Here's the text:

(b) A driver of a motor vehicle shall not overtake or pass a bicycle proceeding in the same direction on a highway at a distance of less than three feet between any part of the motor vehicle and any part of the bicycle or its operator, except that the driver may pass the overtaken bicycle with due care at a distance of less than three feet at a speed not greater than 15 miles per hour,

Sorry, there's no way you get into Yale Law School, now or at any time in the distant pass, with such woefully poor reading comprehension. So I conclude if Brown misunderstood the bill he didn't read it. Nor did he speak with Senator Lowenthal. Nor did he speak with any representatives of the California Bicycle Coaltion. Nor did he speak with any educated advocate for the bill.

Perhaps he received all of his information of the bill from representatives of the CHP, an organization for which I have only contempt. The CHP represents the interest of local police on the matter and I have seen over and over and over again how police crack-downs of cyclists have misrepresented the law (I have had consecutive three tickets thrown out by the court), and how they almost always focus on the least reckless of offenders since they are easiest to catch (people slowly riding across T-intersections with stop signs, for example, or riding on short sections of sidewalk). The police willfully distort, misrepresent, and misapply the law every day. They can't be trusted to interpret either present law or proposed legislation. And we don't trust them: at least under the Constitutions of both the state and the nation there's all sorts of checks against police abuse of power.

Initially I concluded Brown must have meant something else. For example, that drivers who failed to have at least three feet of clearance would slow down to 15 mph in order to not require that three feet of clearance. But existing law already says:

21750. The driver of a vehicle overtaking another vehicle or a bicycle proceeding in the same direction shall pass to the left at a safe distance without interfering with the safe operation of the overtaken vehicle or bicycle, subject to the limitations and exceptions hereinafter stated.

Meanwhile the driver's handbook (big PDF) says:

When passing a bicyclist in the travel lane ensure enough width for the bicyclist, typically 3 feet.

This is pretty weak language in a lot of ways, but it at least establishes a precedent within state government that 3 feet is a threshold for a safe passing distance.

So consider a driver going 45 mph coming up on a cyclist. There's no room to pass with a 3-foot margin: either it's a one-lane road (rare) or it's a 2-lane road with narrow lanes and either oncoming traffic or poor line of sight which doesn't allow the driver to cross the center line. So he now has the following options:

  1. If the cyclist is going faster than 15 mph, slow and wait for an opportunity to pass with a three-foot margin.
  2. If the cyclist is going less than 15 mph, slow to 15 mph and pass the cyclist.
  3. Don't slow, instead passing the cyclist with less than a 3-foot margin

For Brown's argument to hold water, the final of these options must already be legal and acceptable. Yet recall the old definition of a yard, which is three feet: the length of the King's arm. Three feet means the cyclist could reach out and almost or barely touch the passing car. That's already close. Passing with less than this, as implied by the driver's handbook, can hardly be considered safe by a reasonable person.

So the scenario of a car being rear-ended, if true, already exists under the law as written and interpreted by reasonable people. There's no additional hazard presented by Lowenthal's bill. Indeed, since it allows drivers to cross a double yellow when passing cyclists (something essentially all drivers already practice) it makes it easier, not harder for drivers to pass. What if there were an obstruction in the road? What if there were a pedestrian in the street? What if there's a slow-moving farm vehicle? On any road so narrow there isn't a 3-foot margin to pass a cyclist, with insufficient line of sight to avoid a rear-end collision with a slowing vehicle, it should be a violation of the fundamental speed law to be driving at 45 mph. That's simply an unsafe speed.

The governor's "long line of vehicles" argument is flawed in another way: it is already required by CVC 21656 that a slow moving traffic if there are five or more vehicles waiting to pass. So there is already a mechanism in the law to prevent this from occurring.

So either Brown didn't understand the bill, or he doesn't understand existing law (and he was attorney general from 2007 through 2011), or he's lying about his reasons for opposing this bill. None of these options do anything but destroy my previously high regard for his competence to govern. So what next? Since it appears he hasn't read the bill, no reason to change any language. Repass it, send it back to his desk, and demand he either sign it or veto it. Don't let this passive-agressive pocket veto stand.

Friday, October 7, 2011

Jerry Brown vetoes SB223, pockets SB910

First Jerry Brown vetoed Sen. Mark Leno's SB 223, a bill which would have allowed cities to restore the vehicle license fee which Governor Schwarzenegger had eliminated during his administration. Whether or not you think cities tax too much or not, vehicle fees are fair and rational, because they help reimburse the city for infrastructure supporting motor vehicles. Further they have a negative impact on congestion, promote public safety by getting cars off the road, and promote demand for public transit which helps promote denser schedules. The bill didn't establish a fee, it merely gave cities the right to impose them.

But SB910, the Lowenthal's bill to mandate a 3-foot passing zone when a motor vehicle passes a cyclist while driving at least 15 mph, seemed different. There was no reasonable argument against the bill, which had early flaws but which was, after several iterations, pounded into excellent shape. Amazingly, despite the opposition of the Republican minority and even some Democrats, passed the legislature. Surely Brown, the popular Democratic governor, would pass it. But it sat on his desk. And sat. And sat.

And he didn't sign it. Instead of the bill, he signed a letter to the legislator explaining why he'd pocket the bill, allowing it to expire.

The letter is here.

I'm not going to waste any time transcribing the bitmapped letter here. The logic is so broken, so flawed, that it amazes me the man could have possibly gotten into Yale Law School. His letter follows twisted reasoning which ignores the evidence from over a dozen states already with such legislation, and of much of Europe (Germany, rural France, Spain) which doesn't have a 3-foot passing rule, but a 1.5 meter rule which is close to 5 feet. Despite receiving 1500 letters in support, including from Lance Armstrong who perhaps has some experience with riding a bike, he instead chose to follow the brilliant legislative analysis of the California Highway Patrol.

The Highway Patrol is paid to enforce the law, not create the law, not analyze the law. They're good at chasing down fugitives on the highway. That Brown, the attorney general of the state from 2007 until early this year, would follow the advice of the CHP leads me conclude one of the following:

  1. He's senile
  2. He's corrupt

In either case, while I was formerly a Jerry Brown opponent, I can no longer support his presence in political office. Seriously, could Meg Whitman have been much worse? Perhaps, but certainly not on the issue of cyclist rights.

The whole thing disgusts me. Maybe the bill can make a recovery next year, But it's unlikely. More likely we'll need to wait until a dozen or two dozen more states pass similar bills, by which point the tide will carry us in the right direction. But any notion of California being a national leader in cyclists rights is hopelessly lost at this point, despite the fact the state has the best conditions for cycling in the country, and the best roads to do it on.

Thursday, October 6, 2011

San Francisco Proposition B

The San Francisco Bike Coalition has been flooding Facebook and Twitter with posts supporting Proposaition B in San Francisco, a bill which would use a $260 million bond to pave roads. The population of San Franciso is 800 thousand, so that works out to a around $300 per person in the city.

Now if you got a bill in the mail for $300 so the city could upgrade its roads, on top of the city's rapidly growing budget presently at $6.6 billion (according to last night's mayor candidate debate at UCSF), you might be disturbed. It's extremely unlikely if there was a proposition asking each citizen of the city to pay $300 for roads that it would pass. You can even pro-rate it as you will, make those with higher income, more property, even bigger cars pay more and you'd rightly ask: "but I already pay taxes for a city spending money at an all-time record rate, even adjusting for inflation, why should I pay more for such a basic service?" The proposition would crumble and fail.

But bonds are different. People face them with glassy-eyed innumeracy, ignoring the number of digits, and instead evaluate them on a benefit-benefit basis. Paved roads? Sure! I'm for that!

Proponants argue that even with the interest associated with bond debt, the "interest" on potholes is higher. Leave a pothole in place for unit time dt, and there will be a cost of K dt. However, if you need to borrow L at an interest rate r, they argue, the payment on the debt, r L dt, is still less than K dt. So it's a good investment.

But the problem with this logic is it assumes you're in a position to pay back the debt. The interest rate is only the immediate cost of a bond. Bonds also contribute to the debt load of the city, and if the debt load gets too high, the bond rating for the city will drop and there will be a huge cost increment. This second-order effect can have an enormous impact on the true cost of a bond.

It would be as if I took out a loan to brush my teeth each morning. Sure, not brushing my teeth will result in much higher dental treatment costs, but the choice isn't between borrowing and not brushing. The solution is to get a job and pay for toothpaste out of my salary. If I were to rely on debt for my daily dental care, eventually the collection agency would come and reclaim the gold from my mouth (perhaps my best financical investment lately, but I digress...)

San Francisco needs the discipline to pay its bills. It's exponentially increasing budget, even discounted but whatever reasonable inflation rate you choose, is clearly unsustainable. Bonds are clearly not the answer. San Francisco Bike Coalition is dreadfully off-base on this. This is especially true because cyclists cause so much less road damage than cars and trucks, yet with a bond cyclists are footing as much, or in the case of commercial truck operators, more of the bill to fix it.

Tuesday, October 4, 2011

Improving on Strava's Segment Timing for Low-Key Hillclimb?

Strava, as I've written many times, has been a real paradigm shift in cycling in the San Francisco Bay area. Riders compete for rankings on "segments", typically climbs, of various degrees of obscurity. As we've now entered the Low-Key Hillclimb season, I've gotten a striking metric of how much of a market share Strava is grabbing here. More than a third of the 121 riders in week one's Montebello Road climb uploaded their data to Strava.

This brings up the possibility of using Strava for timing. Well, as I've described before, Strava's timing is far less reliable than a good-old-fashioned stopwatch. However, I have been batting around the idea of doing something for the 2012 series.

The issue is some climbs require permits for events: in particular state parks and open space. "Event" is always clearly defined, and it's always a dance to have that definition include things like the Low-Key Hillclimbs but not include groups of friends riding a hill together. Permits aren't an issue if they are willingly issued. The problem is the state parks have a very low threshold for inconveniencing auto traffic, their primary constituency, while the open space just flat out denies permits to any event where riders are timed. Yet there's no restriction against informal groups of riders timing themselves. That's fine. Strava, for example, which reports times of riders who climb a hill is not an "event".

For the full history of the Low-Keys, it's been suggested we allow riders to self-time on these climbs and report their results. But self-timing is a burden. You need to have a watch, remember to start it at the precise time, then remember to stop it precisely at the finish. If riders are late to stop the timer, there's a tendency to overestimate how much time passed since the finish, and underreport actual time. We want Low-Key to be an accurate archive of times. So relying fully on self-reported times is something we've avoided.

But now GPS is becoming virtually ubiquitous. Using GPS to time riders is now becoming, for the first time, a feasible option for climbs for which organized timing is prohibited. Sure, we'd need to let riders without GPS self-time, but most riders can just mindlessly attack the hill and upload their data.

The problem is the timing: Strava's timing algorithm is far from optimal. The reason is Strava uses course points. There's a start point for a course, a finish point, and points along the way. How many actual races have a start point and finish point? None I know of. They all use lines for the start and finish.

Now a point of clarification: in geometry, lines are infinite, while "line segments" are generally finite. So when I say "line" here I actually mean "line segment". I avoid the term "segment" because with Strava, "segment" means something different: it's used to describe "courses". So I'll stick with "line".

So to improve Strava's timing, it's been proposed on the Strava support forums that Strava adapt a "start line" and "finish line" model for timing. A start line is defined by a center point and a vector to one of the end-points of the line. A finish point is similarly defined. The choice of the end-point for each implicitly defines the direction through which the line should be crossed (defined end point must be to the right). So timing is then the minimum time elapsed between an interpolated crossing of the start line in the correct direction and an interpolated crossing of the finish line in the correct direction. For example, suppose I have the following start line and finish line crossings, in the appropriate directions:

SSSFSFFFSSFSS

You can see there are three timing events here, three instances of a start crossing immediately followed by a finish crossing.

This may be all I need to define a course. Some routes, like Old La Honda Road, have no reasonable short-cuts and therefore if you cross the start line at the bridge and then the finish line at the stop sign, the best times will all be from riders who stayed on Old La Honda Road. But many potential climbs have potential short-cuts.

Here's where an option for a "gates" comes in. Gates can be defined by additional lines. So the ride must cross, in order, the start line, the first gate, the second gate, etc, until finally crossing the finish line. Each of these gate crossings would need to be in the appropriate direction.

It's possible a rider will cross a gate more than once, or even backtrack and repeat multiple gate crossings, but as long as the rider crosses the start line, the gates in order, then the finish the course can be considered to have been completed.

So if I am going to define a segment for a complex route like Lomas Cantadas via Alta Vista out of Orinda in the Berkeley Hills of California, I'd define multple gates to make sure the rider didn't take El Toyonal to bypass Alta Vista, for example. But for the purpose of writing timing code for Low-Keys, I'd use only enough gates to make sure no short-cuts were taken.

Fortunately Strava provides an API by which I can download raw rider data. So if I am provided a list or ride numbers for riders who wish to participate, I can download the data and do my course timing using a Perl script. Then I can use any timing algorithm I want rather than relying on Strava's native timing.

Sunday, October 2, 2011

Low-Key Hillclimb #1 in the bag: 8 more to go

Low-Key Hillclimb #1, Montebello Road, went exceptionally smoothly yesterday. It's always a huge relief to get #1 out of the way.

finish line
at the finish line with volunteers; Han Wen photo

Low-Key runs on a volunteer coordinator model. However, I always take the first climb. That's not because I'm the best coordinator (I'm not) but because I want to establish that I'm willing to do my share. This year I'm also coordinating week 2, Sierra Road. Week 3, Page Mill, is still open. I hope to get a volunteer for that so I can ride it myself, not losing too much fitness this month...

There's always a few issues. This time I tried a new, for me, timing method which is to use the Ultrachron app for the Android iPhone as our back-up timing. Primary is Howard Kveck on his manual stop-watch.

Problem is while in principle the Ultrachron app does what you need, the touch screen gets in the way, and too often I'd accidentally kick it into timer mode, losing lap times. But fortunately Howard was on top of his game, and we got a great set of results.

Another issue is not everyone crossing the finish line is in the Low-Key Hillclimb. The roads are open to anyone, cars or bikes, and Montebello Road is a popular target. So while the Low-Keyers all had stickers on their forks, when things got crowded, this still created confusion.

But still, results went relatively quickly, the weather was great, car traffic was very light, and everyone seemed to have a good time.

Next in the series in Sierra Road. Hopefully the rains forecast for this week blow through in time for clean and dry roads by next Saturday.

Then Page Mill.... as I noted, no volunteers yet for Page. Every other week has a very capable volunteer coordinator lined up. So if anyone's interested in Page Mill, please let me know!