April 4, 2015
Volvo thinks they’ve done great stuff because they’ve either invented or promoted a reflective spray to make cyclists and other stuff visible at night:
I figured out what hacks me off about this — it’s as if Altria (formerly, R. J. Reynolds) ran commercials that proclaimed how they had done such great work on lung cancer research, and had developed an inhaled spray that you could use before smoking that would cut the early death rate from smoking (by some unspecified amount because they didn’t really do a study — just like here, nobody did a study).
Look at how great they are, cutting lung cancer deaths, right? It would be churlish and unkind to point out that their own product caused the bulk of those deaths, right?
And that doesn’t mean that smokers would not consider using this product if it actually worked, that doesn’t mean that they might not consider other safety measures (just as people like me who use lights and reflective tape nonetheless don’t much like this campaign by Volvo). The problem is that the company contributing to the problem in a large way is trying to claim major credit for doing something to make that problem only a tiny bit better, in a way that displaces responsibility onto the victims (“what, you didn’t use our protective spray before smoking? You have only yourself to blame for that lung cancer, then.”)
Is this a reasonable analogy? Are cars in the same death ballpark as smoking? They’re not quite as risky on a per-user basis — the relative annual mortality risk from smoking is between 1.8x and 2.1x (“Smoking and Mortality: The Kaiser Permanente Experience”) while the relative risk from driving to work (versus commuting by bicycle) is between 1.27x and 1.5x (“OECD: Cycling, Health and Safety”, p. 42). But only 18% of the population smokes, while 86% of the population drives to work. Smaller risk per person, but almost 5x as many people exposed.
One big reason that people drive when they could walk, or bike, or some combination of biking, walking, and transit, is that other people drive (badly). Volvo doesn’t want you to think that your driving is a threat to other people’s safety, or that it might scare them into also driving — but what is that reflective spray for? What’s it supposed to protect people on bicycles from? Surely not Volvo drivers. And surely, Volvo would not create a video designed to give the impression that people on bikes are somehow careless, or did not properly understand risks of the road, thus they just need some help (from Volvo, naturally) to make themselves safer.
Note that people on bicycle spot other people ahead of them by the tiniest little reflective bits; they don’t need this absurd spray. A walked dog has eyeballs; they reflect light, and the dog will hear you coming and look at you from an absurd distance. Most athletic shoes have small bits of reflective trim; for a 3 watt headlight, that is enough. Pedal reflectors work great. Backpacks and windbreakers often have bits of reflective trim. Sometimes, people will be walking with their cell phone open or on, either because they want a little light, or because they are using it; that works too. That’s all you need, for someone who actually cares to look, who knows that inventing an excuse for why you hit someone in the dark will not undo the fact that you (on the bike) got the worse end of the crash.
March 21, 2015
Not too long ago, we had #BlackLivesMatter protests that blocked some of the roads in the Boston area. There was much handwringing about how ambulances and other emergency vehicles were (potentially) delayed, but in that one-time event only one ambulance was diverted, and I heard of no particular harm from this one event.
Meanwhile, almost every work day there are traffic jams that impede ambulances. On the days that I shop at Fresh Pond Mall, in the few minutes that I am outdoors I often notice an ambulance slowed or even stopped by traffic. I assume if I spent an hour watching during the rush that I would see one or more of these delays every single day. The delays at the protests were larger, but if you roll the dice with small delays again and again and again, eventually there will be losses. Oddly enough, nobody makes too much of a fuss about these delays.
February 7, 2015
TWBR = bit rate
TWINT interrupt flag
TWEA enable acknowledge
TWSTA set start
TWSTO set stop
TWWC collision detected
TWEN twi enable
TWIE interrupt enable
TWPS (1:0) prescaler
TWDR = data register
SCL freq = CPU clock / (16 + 2 * TWBR * 4TWPS).
TWBR must be at least 10 for master mode.
SCL freq must be 100Khz or less.
CPU clock is 8 Mhz.
Denominator must be larger than 80 = 16 + 64, TWBR * 4TWPS must be greater than or equal to 32.
TWBR=10-31, TWPS=1 (40-124)
TWBR=32-255, TWPS=0 (32-255)
At 100kHz, send data at about 10kB/s. 80 characters requires 8ms.
Master-side state changes for writing a data byte to a slave:
TWCR = _BV(TWSTA)|_BV(TWINT)|_BV(TWEN)|_BV(TWIE)
Receive interrupt, check TWSR for successful start.
TWDR = SLA+W (W=0, R=1: SLA = 0x50 for Newhaven serial display
TWCR = _BV(TWINT)|_BV(TWEN)|_BV(TWIE)
Receive interrupt, check TWSR for successful address.
TWDR = data
TWCR = _BV(TWINT)|_BV(TWEN)|_BV(TWIE)
Receive interrupt, check TWSR for successful data.
TWCR = _BV(TWSTO)|_BV(TWINT)|_BV(TWEN)|_BV(TWIE)
Receive interrupt, check TWSR for successful stop. Read the rest of this entry »
January 15, 2015
First, we start with someone who is doing something that requires two hands on the smartphone, surely not texting, that would be illegal:
Notice how the Prudent Cyclist is none too eager to pass this person after noticing their unpredictable and erratic driving.
Next, we have someone piloting their barge down the Broadway Ship Channel, and they have inadvertently strayed outside the marked boundaries. Remember boaters, “Red, Right, Return”.
January 14, 2015
With studded tires, there’s not much to it. If it’s flat, you go:
Not obvious in this video is that I was getting plenty of rear wheel spin after I passed the pedestrian. I was just in a mood to scratch the ice, so I did. It’s not at all clear that I needed the studs here, though the pedestrian seemed to think it was slippery.
If it’s a hill, sometimes you can’t go. The rear wheel just spins, so you stop. Careful putting your feet down, too. It’s important to put the better tire on the front, so that “can’t go” is what happens:
Apologies for the heavy breathing; I was in a hurry to get home in the first, and climbing a 10% grade in the second.
January 10, 2015
It’s a little thing, but sometimes people wonder whether electric cars are more of a hazard to bicycles because they are so quiet. At low speeds, yes they are quiet, but at any reasonable speed (i.e., what you might expect to encounter outside of a traffic jam) their tires are plenty noisy. Here’s a sample (taken on a windy day, too — on the other hand wet roads are a little noisier):
Yes, one of those cars is electric.
December 14, 2014
“Your recent Trac powered by Bitnami launch failed. Your requested instance type (m1.small) is not supported in your requested Availability Zone (us-east-1e). Please retry your request by not specifying an Availability Zone or choosing us-east-1b, us-east-1a, us-east-1c.”
And how, pray tell, is “retry my request” accomplished? I probed various links, none of them took me to the place where I launched from, do I need to delete this one first, or is it already dead? If I make the obvious mistake here, will it cost me money? (I don’t think it will, but there’s a gap between “don’t think it will” and “won’t”.)
And why did it let me make this request in the first place, if it was doomed to failure (I think this was all specified on an early page, why was this combo shown to me, never mind that it was chosen as the default)? And why isn’t there a help/feedback button on this page where I need help or want to give feedback?
Fortunately, I have a blog. Always remember, this is not just about public shaming of (other) bozos, this is doing them a favor by pointing out the upside potential in their products. People who care about improving their software will make it as easy as possible to file bugs, and will make it as easy as possible for the filed bugs to be informative to whoever has to deal with them.