Home

Bike routes vs where I ride

November 28, 2018

I spoke at a recent meeting of our town’s selectmen about a proposed bike path, and mentioned how planners often have a blind spot about what people on bikes actually want. And to be clear, this is not “what they should settle for” or “what they deserve” or “their fair share” — this is what they want, or at least what I appear to want — and if I don’t get what I want, then I’ll ride somewhere else, or not ride.

These examples are routes that I ride from time to time where I have a choice, and what I chose, and why I made that choice.

The first example compares two routes across the edge of Harvard Square, one using alleged bike routes on Garden, Cambridge, and Broadway, versus the one I take, that uses a stub of Concord Ave, cuts across Cambridge Common, then in front of the Littauer Center, across the Science Plaza, then onto Broadway. The route I take has no cars, but does have plenty of people, sometimes children, and at times I have had to ride for a minute or two at a walking pace (I have video) or do a sharp stop for a child (I have video). If I had to spend two minutes at a walking pace every day I might find another route, but that is not usual.

Why do I prefer this often-slower route? (I’ve measured, it is, by maybe 30 seconds, i.e., the delay of not quite making a green light in Cambridge).

The other route has two problematic sections. On one section, marked in yellow, the lanes are extremely narrow and there is also a line of parked cars. It is not very comfortable, and it seems like I might eventually have some small collision there; not a bad one because everything is slow, but something to avoid. It’s 100% uncomfortable for a new rider, they don’t know what to do (do they squeeze through the tiny gap? Do they just sit in the middle of a lane in a line with the cars, or wait at the edge of a lane?)

In the next section, marked in red, bikes and cars go into an underpass together. In theory the bikes have their own lane, but in practice cars frequently swerve into that lane (video), sometimes when it also has bikes in it. The grooved pavement makes it very noisy, too. Sometimes cars are changing lanes there or swerving around stopped traffic, and that is also unsettling and probably dangerous. If Cambridge were willing to reinforce the painted lane separator with Jersey barriers I’d be more interested in taking it, but for some reason that doesn’t happen (I think that drivers and I both fear that they might drive into the bike lane, and have different feelings about the function of Jersey barriers should that happen — i.e., not only does it feel dangerous, but the use of mere paint in such a scary place makes it clear where bicyclists fit in the safety hierarchy).

The return route is marked in orange, it has the same problems as the red.

In Belmont, there’s a marked bike path on Blanchard that gives the impression that this would be a good place to ride a bike. However, I prefer a different route if I am riding past Concord, especially if my destination is the bike path to Alewife or the businesses near the intersection of Blanchard/Brighton and Hittinger Street. (The arrow marks drawn on the road indicate a grade).

Blanchard is somewhat narrow, yet drivers get the impression that they can move relatively quickly on it. The curbs are sharp-edged granite, which could cause serious injuries in a crash. It feels unwelcoming and unsafe. Bright Road, in contrast, is wide, and traffic is a little slower. It does include a small hill (Blanchard dips, and then rises, so about the same). Across Concord, Blanchard continues to be narrow and trafficky, where Baker is residential and has slower and less traffic. Continuing across Concord, it’s also instructive to notice how drivers cut the chicane so close that the have scrubbed all the paint off the edge of the road. Is that a safe place to ride a bicycle? So I prefer to ride elsewhere.

To ride from Belmont Center to Arlington Heights, the fastest way (saving a few minutes) goes up Belmont Hill and then up Park Avenue into Arlington. This is a steep climb that not too many people do. One sometimes-recommended route is to go up Clifton, to Prospect, to Park. Most of the car traffic, however, also goes up Prospect, and it is narrow and also has sharp-edged granite curbs. A slightly longer route is to continue on Clifton and then up Rutledge. This has several advantages. First, the climb up Belmont Hill is hard, but the section of Clifton after the rotary is flat and gives you a bit of a breather. That route also has much lower traffic (hardly any at all) and no curbs, not that you feel much risk of a crash anyway.

Here are two routes where I have a mild preference, but less experienced riders would probably have a stronger preference. The apparently straight route is Concord, however the higher traffic makes it much less pleasant. Concord is narrow, in the first part (climbing from left to right up to the intersection with Huron), but generally I can squeeze through. There’s also an additional light, compared to Garden.

Garden has much less traffic, which is good and bad. It’s good because it’s not usually necessary to squeeze into tight spots, it is bad because sometimes drivers have an expectation that they should be able to zoom! up or down the road, and will sometimes honk at you for no reason other than you are “in the way”. The fewer lights on Garden are also somewhat more “hackable”, if you happen to be in an inbound hurry. At the intersection with Huron, if you miss your light (easy, it is run by a sensor and cycles quickly if you are not traveling with cars) you can veer left across the fire station parking lot and cross with the last of the traffic from Sherman. At the Linnaean light, the road on the right is very lightly traveled and you can either safely run the light after stopping and looking, or dismount and jaywalk (the socially acceptable way to run a red light). Where Garden and Concord join, the plan is to bear left across the sidewalk onto the stub end of Concord. This is not easy to do if arriving from Concord, but if you arrive on Garden, the light makes it easy, and you also have the option of crossing over to the sidewalk early if you can pass through a gap in traffic.

Traveling westthrough Harvard Square on official bicycle routes requires a bit of a detour, shown in yellow. A shortcut that is possible if the lights are favorably timed is shown in red — take a U turn immediately after the north point of the pedestrian plaza and join the auto traffic there. I decided that was not safe enough and now tend to use the route shown in green, walking where it is dotted. This probably saves time over the official route, and is probably also safer.

Laziness and convenience

September 8, 2018

I’ve long felt that I am basically lazy, and have only learned to do anything in a timely fashion because I’m going to end up doing it anyway, might as well feel virtuous for finishing before the absolute last minute. But I’ve also learned that another way to look at “laziness” is “preferring convenience” — if you want something to happen, make it “convenient”, so that “lazy” people will do it. We’re sometimes reluctant to increase convenience because it looks like “rewarding laziness”, and we all know that laziness is bad, right?

I mention this because failing to realize the importance of convenience is keeping people in cars, and out of mass transit, off their feet, and off of bicycles. This would be no big deal if cars didn’t kill thousands of pedestrians in crashes, cause tens of thousands of early deaths with their particulate pollution, contribute to global warming, and clog city streets with traffic — but they do. And since most of these problems are problems for other people and not so much us when we are driving, we still find cars to be pretty convenient, and thus use them to excess, even to the point where it affects our health and shortens our lives — we’ve made it really easy to be lazy. If we want to change this, either we have to find a way to make cars less convenient (that’ll be really popular, there’s nothing people love more than inconvenience for their own good) or to make everything else more convenient.

Consider transit. One big reason for driving a car is because it keeps the weather off. Standing by the side of the road waiting for a bus does NOT keep the weather off; if we expect people to wait for buses, there should be something to block the wind, rain, and sun. People driving get to sit; there should be a bench. It shouldn’t be optional, and it shouldn’t be regarded as “extra spending”. One problem with buses is that they’re not always reliable because they get stuck in other traffic; that can be fixed (making buses more convenient, from the point-of-view of scheduling) by giving them a reserved lane, and allowing them to trigger green lights so they don’t wait at intersections.

Or consider bicycling. There are many reasons people give for not riding a bicycle, but even someone who really wants to will be put off if it is too inconvenient. Bicycle parking should be convenient — in particular, it should be more convenient than car parking, because it’s cheaper and more compact. That means there should be so much that it almost never runs out. And because it is so compact, whenever possible it should be located close to the ultimate destination, and not in some remote corner. Ideally it’s also covered to keep the weather off, because a wet butt is Not Convenient. Yes, people can carry little seat shower caps with them and put them on every time they park their bike, but adding extra steps for people is less convenient.

It’s also possible to make walking more convenient. For cars, we have traffic sensors to ensure that green lights are triggered when someone needs to cross — nobody expects drivers to push a button for a signal. If we could have signals for pedestrians, we should, it usually happens automatically, and traffic flow is even studied to so that lights can be synchronized. Or, have you ever noticed that every traffic light everywhere always defaults to green for cars traveling in one direction or another? No matter how low the automobile traffic, the default is never for pedestrians. Such a light would be all-ways red, changing to green for cars only after one is detected.

This extends to safety devices. For whatever reason, we’ve somehow made bicycle “safety” in this country inconvenient. You’re probably already thinking, “bicycle safety, that means helmets, surely those aren’t inconvenient?” Yes, they are. Every time I go to ride my bike, I find the helmet, untangle the straps, put it on, make a vague attempt to adjust it. It almost always makes my head a little sweatier than it needs to be. When I get off the bike, I have to store it somewhere; it’s an extra step. And every summer, I sweat enough that I need to wash the helmet pads, because they get nasty otherwise. Have you noticed that car seatbelts don’t even require adjustment, that they automatically tension themselves? That’s because it was too inconvenient for people to adjust their seatbelts properly, and thus they didn’t and it was less safe than otherwise (I learned to drive in a car with aircraft seatbelts, the first time I flew in an airplane it was amusing to me that people needed instruction in how to adjust and fasten their seatbelts, I’d been adjusting seatbelts like that for years). People in cars could wear helmets — despite five-point harnesses and roll cages, race drivers wear helmets, and despite airbags and seatbelts, head injuries are a major cause of car crash death, and car crashes are a major cause of traumatic brain injury in this country — but they don’t. Helmets aren’t convenient. (Note that taking the time to answer questions about why you’re wearing a car helmet is also not convenient).

Or, “always wear hi-viz”. That’s not convenient either — it’s another piece of clothing to keep track of, it doesn’t always fit well, it can get dirty and need washing. It might not be appropriate for where you’re going, you’ll need to put it somewhere.

The safety devices I like, that I always and happily use because they are convenient, are built in to the bicycle. When I started commuting regularly, I knew myself well enough (and batteries then were needy enough) that I knew that I wouldn’t keep battery-powered lights charged, and besides, what a pain to attach your lights before every ride and then remove them at every stop, either because of theft worries, or because they needed charging. So instead I went for sidewall generators, and eventually generator hubs. If the bike rolls, the light is on, it’s a safety device that always works despite my laziness. The relatively fat tires on my bicycle are another no-effort always-present safety device. In this country we bizarrely associate skinny tires with “serious” cycling, but fat tires are better in several ways. They don’t require frequent reinflation, which is a delight to a lazy person. They don’t rely on my constant vigilance to protect the bicycle rims from potholes; within reason, they can handle whatever our town (a Boston suburb locally famous for its terrible road conditions) can dish out. Lazy people like me are not constantly vigilant. Fat enough tires don’t even fit in sewer grates or cracks in the road; again, with constant vigilance, I can be sure to hit those at an angle so they don’t grab my skinny tires, or I can just use fat tires and lazily dispense with the mandatory vigilance. (Fat tires also have lower rolling resistance, if their tread is designed for that, and since I am so lazy, that’s what I use).

My bicycle is designed for laziness convenience in other ways, too. I don’t usually use pants clips; instead I have a chain guard. Pants clips are inconvenient. Besides the lights, I tend to excess on the reflectors, because I’d rather not carry around a special piece of clothing just to be more visible. I used to use special shoes that clipped in to special pedals, but no more, it’s much more convenient to just ride in regular shoes, instead of either changing shoes at my destination, or walking around in unfashionable shoes that go click-click on hard surfaces and aren’t really that comfortable to wear all day anyhow.

I do in fact own two pairs of the funny pants, both because I raced when I was a kid, and because every year or so I ride dozens of miles in some sort of recreational event and for that distance they’re nicer than cotton underwear and pants. But I practically never wear them otherwise, because changing clothes just to ride a bicycle is not convenient.

Perhaps you think I’m crazy to be so picky about convenience, why would anyone worry about that, let along spend money on it? After all, you don’t see car manufacturers dressing up automobiles with silly gee-gaws like automatic chokes, automatic transmission, power brakes, power windows, power locks, power mirrors, power antenna, keyless entry, keyless start, remote start, air conditioning, cruise control, seat warmers, and backup cameras, do you? What sort of lazy person would want all that?

Bike-related articles

January 12, 2018

An internet bikey friend is a new-ish assistant professor of transportation, has a pile-o-books to read. I figured, why not skim off the best/most-interesting of everything I collected in Evernote over the last few years, and make a dump of it, perhaps some will be useful, perhaps it won’t.

An amazing summary of stuff

Cycling, Health and Safety (OECD)

Health

English bike commuter health/mortality study (striking results, I think there is some selection effect)

Danish mortality study

Cycling for Freezing Gait in Parkinson’s Disease (video)

Physical activity, self-report vs reality (picture of poster)

Road capacity

THE FUNDAMENTAL LAW OF ROAD CONGESTION:
EVIDENCE FROM US CITIES (NBER)

45 bikes in 23 seconds (video)

27 bikes in 18 seconds (video)

25 bikes in 25 seconds (video)

24 bikes in 16 seconds (video)

22 (?) bikes in 9 seconds (video)

Videos illustrating road capacity different ways (article and videos)

Estimating Capacity of Bicycle Path on Urban Roads in Hangzhou, China

Operational Analysis of Uninterrupted Bicycle Facilities (Level of Service for bike paths?)

Safety

Bicycling injury hospitalisation rates in Canadian jurisdictions (Teschke et al, helmet laws)

Vancouver drivers at fault in 93% of collisions with bicycles: city report (news article)

Bicycle Use and Cyclist Safety Following Boston’s Bicycle Infrastructure Expansion, 2009–2012

Cyclist’s video of annoying crash, shows how a driver can “not see” what is right in front of them. (video)

Cycling safer than driving for young people, new study suggests

Study blames drivers for bike crashes (study not perfect…)

30x higher hospitalization rate for helmeted Dutch cyclists (blog, great illustration of selection effect)

Risk compensation and bicycle helmets

Florida bike crashes: 7 things that may shock you (news study)

Wearing a Bicycle Helmet Can Increase Risk Taking and Sensation Seeking in Adults

The influence of a bicycle commuter’s appearance on drivers’ overtaking proximities

Drivers overtaking bicyclists: Objective data on the effects of riding position, helmet use, vehicle type and apparent gender.

Florida bike distance passing study, somewhat replicates Ian Walker’s study

Cambridge, MA bike crash data

Comparison of bike+earbud and car+windows/stereo hearing

Rail

How many people use commuter rail? (in Boston — blog, generally interesting)

Social/general

Crash injury/mortality rates by mode of travel (US).

Crash injury/mortality rates by mode of travel (England).

Crash injury/mortality rates by mode of travel (Canada).

The cost-effectiveness of bike lanes in New York City.

How driving a car into Manhattan costs $160

CYCLISTS FURIOUS AS COUNCIL PAINT EVERYTHING ELSE LUMINOUS GREEN (joke)

94% of bike riders wait at red lights

Why people jaywalk (looooong video)

People assume biker breaks law despute contrary video evidence

Comparison of cyclist and driving ability to hear

Understanding congested travel in urban areas

Transport transitions in Copenhagen: Comparing the cost of cars and bicycles (paywalled)

What is the optimal speed limit on freeways? (paywalled)

Auto air pollution

MIT air pollution deaths study

Air Pollution and Criminal Activity: Evidence from Chicago Microdata

The list of diseases linked to air pollution is growing

Auto safety

International road safety comparisons

Pounds that kill (Anderson & Auffhammer SUV unsafety article)

Car helmets

Car headband

SUVs’ risk to others admitted by industry

CDC: TBI Death causes

CDC: TBI Hospitalization causes

Literature Review on Vehicle Travel Speeds and Pedestrian Injuries

Effects of Speed on Pedestrian Fatalities

The fatal injuries of car drivers (head injuries sole cause 23%, co-cause 18%)

Stuff I wrote

These tend to include links to spreadsheets and source documents, should anyone care to check my work.

Hypothesized mechanisms for US safety-in-numbers.

Bike share does not need helmets. Per-trip, it’s a lot safer than driving. There are caveats and quid-pro-quos — but the Cs and QPQs have larger effect than helmets.

We subsidize driving, yes we do.

Videos of not-quite right hooks, in case anyone wants to know what they look like.

A graph, by zipcodes, of the cumulative US population density.

Distributions for trip distances, for commutes and trips and general, and also a cumulative graph of the distance traveled. TLDR=”Lots of trips are short, but long trips matter because they are long. Commutes are 26% of trips but 35% of miles.”

Various ways of looking at road damage. It’s not presented as well as I would like unless you’re comfortable with log scales.

E bikes in China (back in 2011 the boom was well under way)

Videos I made

Tortoise and hare. Biking is that much faster, zooming ahead is useless and unsafe (video)

Why run reds (video)

Ticketing bikes and reducing safety (video) (catch the ped pass at 1:27, oh well)

A 10 minute chunk of my morning commute, with various events and commentary

Most of my 6.1-mile commute, 28 minutes.

A playlist of biking in the snow and cold, yes it is entirely possible, do be careful on the glass-smooth ice (there is another video where I fall on that ice; well-used road commuting snow tires are not good enough for ice).

Bell Curves

January 12, 2018

No, not the racist bullshit artist’s book.

One thing I realized a few years ago is that for human attributes, bell curves are everywhere. The standard examples are things like height and weight, but why not, say, strength, or patience, or organizational skills, or empathy? Some people have more, some people have less, and there’s no particular reason to treat them as much different from (say) physical strength; something that we possess in different quantities, and something that we can improve within bounds, but that improvement itself takes work, and the bounds are real.

“Work” generalizes similarly. We can get tired of walking, of lifting, of thinking, of maintaining a pleasant attitude, and so on.

Another corollary is not knowing which parts of my own personal experience are typical and which are not.  If I’m in the middle of the curve for some particular relevant thing, typical, if I am off to one end or the other, not so typical.

More twitter tomfoolery

December 16, 2017

I wrote a Go program to install blocks from a file of Twitter IDs. It’s not on github yet because my development sandbox looks more like a development catbox, and I can’t clean it up too much because the program’s running right now and Twitter’s rate limited so it’ll be a while (at 5 blocks per second, about 10 days). Recall that my goal is to completely remove fascists and griefers from my Twitter feed, and from any conversation that I happen to be in — they shouldn’t even notice the opportunity to respond, never mind wasting anyone’s time with their crap.

At least as important as the program is the list of IDs to block.
It’s 4 million lines long, sorted from most-to-least-desirable-to-block order, so this is the only way to share it. I did some by-hand sampling, and the first 10% really are notably more obnoxious than the last 10%, so I may not run this all the way to completion.

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/url"
	"os"
	"regexp"
	"strconv"
	"strings"
	"time"

	"github.com/BurntSushi/toml"
	"github.com/ChimeraCoder/anaconda"
)

var digits = regexp.MustCompile("[0-9]+")
var runtime = time.Now().Format(time.RFC3339)

type ConsumerAndAppKeysAndSecrets struct {
	ConKey, ConSecret, AppToken, AppSecret string
}

var caksFile = ".twitter/ids"

/* The .twitter/ids file contains four lines with string values
   obtained from the twitter developer api.

ConKey = "..."
ConSecret = "..."
AppToken = "..."
AppSecret = "..."

   For an App token and secret, you need to create an app here: https://apps.twitter.com/app/new
   This will then give you the option to create a consumer key and secret.
   (This useful information cribbed from
   https://stackoverflow.com/questions/1808855/getting-new-twitter-api-consumer-and-secret-keys )

*/

func main() {
	caks := &ConsumerAndAppKeysAndSecrets{}
	blob, err := ioutil.ReadFile(caksFile)
	if err != nil {
		fmt.Printf("There was an error opening or reading file %s: %v\n", caksFile, err)
		os.Exit(1)
		return
	}

	err = toml.Unmarshal(blob, caks)
	if err != nil {
		fmt.Printf("There was an error unmarshalling contents of %s: %v\n", caksFile, err)
		os.Exit(1)
		return
	}

	anaconda.SetConsumerKey(caks.ConKey)
	anaconda.SetConsumerSecret(caks.ConSecret)
	api := anaconda.NewTwitterApi(caks.AppToken, caks.AppSecret)
	fmt.Println("Credentials = ", *api.Credentials)

	a := os.Args
	if len(a)  0 && i%1000 == 0 {
			flush(users, i)
			users = users[:0]
		}
		user, err := api.BlockUserId(int64(u), url.Values{})
		if err != nil {
			errst := err.Error()
			if !strings.Contains(errst, "User not found.") {
				fmt.Printf("i=%d, u=%d, err=%v\n", i, u, err)
				flush(users, i)
				os.Exit(1)
			}
			fmt.Print("X")
		} else {
			fmt.Print(".")
		}
		users = append(users, user)
	}

	flush(users, len(wlids))

}

type tomlWantsStruct struct {
	users []anaconda.User
}

func flush(users []anaconda.User, ending int) {
	buf := new(bytes.Buffer)
	if err := json.NewEncoder(buf).Encode(users); err != nil {
		fmt.Printf("There was an error encoding users: %v\n", err)
		os.Exit(1)
	}
	fname := fmt.Sprintf("Blocked-%s-%08d", runtime, ending)
	err := ioutil.WriteFile(fname, buf.Bytes(), 0666)
	if err != nil {
		fmt.Printf("There was an error writing %v: %v\n", fname, err)
		os.Exit(1)
	}
}

func readFileAsUint64s(filename string) (uids []uint64, err error) {
	var b []byte
	b, err = ioutil.ReadFile(filename)
	if err != nil {
		return
	}
	bids := bytes.Split(b, []byte("\n"))
	uids = make([]uint64, 0)
	for i, bid := range bids {
		s := digits.FindString(string(bid))
		if s == "" {
			continue
		}
		var uid uint64
		uid, err = strconv.ParseUint(s, 10, 64)
		if err != nil {
			fmt.Printf("Failure to parse line %d of %s\n", i, filename)
			return
		}
		uids = append(uids, uid)
	}
	return
}

Back in 1997 the New England Lily Society (then, the New England Regional Lily Group) hosted the annual meeting and show of the North American Lily Society in Burlington, Massachusetts. Among other things, “we” (not me, but other then-members) designed and built a huge number of stem holders, which we have used for years ever since in our own shows. We’re hosting the show again in 2019, and may need more stem holders. I have a few (because otherwise they would have been thrown out as excess), and I thought I shold record and publish their dimensions. It turns out that for some of the larger trumpet-oriental crosses a larger base is needed, and the largest stems also inhale so much water (for respiration and/or bud opening) that a larger reservoir is necessary. But for most lilies these work great.

The stem holder has a wooden base and a removable stoppered PVC insert. The PVC is thin-walled (2mm), outer diameter appears to be 1-and-5/16 inches, length 11-and-5/8 inches. The base is stepped, with a 5-and-half inch square by 1-and-half-inch high bottom part (clearly cut from US “2-by-6”) and a 3-and-a-half by three-quarters top part (clearly cut from US “1-by-4”). The base has a central hole for the PVC to wedge into (pretty tightly, too) that is 1-and-a-half inches deep by 1-and-5/16 inches diameter.

New England Lily Society stem holder.

New Twitter Algorithms

November 5, 2017

My Twitter block list got unmanageably large, and blocktogether.org was not even able to remove blocks at any sort of a reasonable rate to help me fix it. So, I used my employer’s mighty-fine search engine to look for any Go packages for the Twitter API, and found Anaconda.
Read the rest of this entry »