You are currently viewing all posts tagged with bicycle.

I use BRouter for offline bicycle navigation.

BRouter is open source navigation software built on OpenStreetMap, intended primarily for bicycle routing. It offers both web and Android versions. The Android version calculates routes as GPX tracks, which are then fed into a mapping application. My preferred OpenStreetMap application, OsmAnd, supports BRouter as its navigation back-end. OsmAnd allows me to configure the frequency, repetition and units of instructions. I use Ivona TTS with the UK voice, which I think sounds more natural than either the Ivona US voice or Google’s TTS offerings. In sum, this gives me accurate, offline navigation, tuned to my method of travel, anywhere on the planet, with superior maps to traditional commercial offerings.

OsmAnd / BRouter

Carry a towel and don’t panic.

Antisocial Activity Tracking

A GPS track provides useful a useful log of physical activities. Beyond simply recording a route, the series of coordinate and time mappings allow statistics like distance, speed, elevation, and time to be calculated. I recently decided that I wanted to start recording this information, but I was not interested in any of the plethora of social, cloud-based services that are hip these days. A simple GPX track gives me all the information I care about, and I don’t have a strong desire to share them with a third party provider or a social network.

Recording Tracks

The discovery of GPSLogger is what made me excited to start this project. A simple but powerful Android application, GPSLogger will log to a number of different formats and, when a track is complete, automatically distribute it. This can be done by uploading the file to a storage provider, emailing it, or posting it to a custom URL. It always logs in metric units but optionally displays in Imperial.

What makes GPSLogger really stand out are its performance features. It allows very fine-grained control over GPS use, which allows tracks to be recorded for extended periods of times (such as days) with a negligible impact on battery usage.

For activities like running, shorter hikes and bicycle rides I tend to err on the side of accuracy. I set GPSLogger to log a coordinate every 10 seconds, with a minimum distance of 5 meters between points and a minimum accuracy of 10 meters. It will try to get a fix for 120 seconds before timing out, and attempt to meet the accuracy requirement for 60 seconds before giving up.

For a longer day-hike, the time between points could be increased to something in the neighborhood of 60 seconds. For a multi-day backpacking trip, a setting of 10 minutes or more would still provide great enough accuracy to make for a useful record of the route. I’ve found that being able to control these settings really opens up a lot of tracking possibilities that I would otherwise not consider for fear of battery drain.


Storing Tracks

After a track has been recorded, I transfer it to my computer and store it with git-annex.

Everything in my home directory that is not a temporary file is stored either in git or git-annex. By keeping my tracks in an annex rather than directly in git, I can take advantage of git-annex’s powerful metadata support. GPSLogger automatically names tracks with a time stamp, but the annex for my tracks is also configured to automatically set the year and month when adding files.

$ cd ~/tracks
$ git config annex.genmetadata true

After moving a track into the annex, I’ll tag it with a custom activity field, with values like run, hike, or bike.

$ git annex metadata --set activity=bike 20150725110839.gpx

I also find it useful to tag tracks with a gross location value so that I can get an idea of where they were recorded without loading them on a map. Counties tend to work well for this.

$ git annex metadata --set county=sanfrancisco 20150725110839.gpx

Of course, a track may span multiple counties. This is easily handled by git-annex.

$ git annex metadata --set county+=marin 20150725110839.gpx

One could also use fields to store location values such as National Park, National Forest or Wilderness Area.

Metadata Views

The reason for storing metadata is the ability to use metadata driven views. This allows me to alter the directory structure of the annex based on the metadata. For instance, I can tell git-annex to show me all tracks grouped by year followed by activity.

$ git annex view "year=*" "activity=*"
$ tree -d
└── 2015
    ├── bike
    ├── hike
    └── run

Or, I could ask to see all the runs I went on this July.

$ git annex view year=2015 month=07 activity=run

I’ve found this to be a super powerful tool. It gives me the simplicity and flexibility of storing the tracks as plain-text on the filesystem, with some of the querying possibilities of a database. Its usefulness is only limited by the metadata stored.

Viewing Tracks

For simple statistics, I’ll use the gpxinfo command provided by gpxpy. This gives me the basics of time, distance and speed, which is generally all I care about for something like a weekly run.

$ gpxinfo 20150725110839.gpx
File: 20150725110839.gpx
    Length 2D: 6.081km
    Length 3D: 6.123km
    Moving time: 00:35:05
    Stopped time: n/a
    Max speed: 3.54m/s = 12.74km/h
    Total uphill: 96.50m
    Total downhill: 130.50m
    Started: 2015-07-25 18:08:45
    Ended: 2015-07-25 18:43:50
    Points: 188
    Avg distance between points: 32.35m

    Track #0, Segment #0
        Length 2D: 6.081km
        Length 3D: 6.123km
        Moving time: 00:35:05
        Stopped time: n/a
        Max speed: 3.54m/s = 12.74km/h
        Total uphill: 96.50m
        Total downhill: 130.50m
        Started: 2015-07-25 18:08:45
        Ended: 2015-07-25 18:43:50
        Points: 188
        Avg distance between points: 32.35m

For a more detailed inspection of the tracks, I opt for Viking. This allows me to load the tracks and view the route on a OpenStreetMap map (or any number of other map layers, such as USGS quads or Bing aerial photography). It includes all the detailed statistics you could care about extracting from a GPX track, including pretty charts of elevation, distance, time and speed.

If I want to view the track on my phone before I’ve transferred it to my computer, I’ll load it in either BackCountry Navigator or OsmAnd, depending on what kind of map layers I am interested in seeing. For simply viewing the statistics of a track on the phone, I go with GPS Visualizer (by the same author as GPSLogger).

Lighting the Overtake

I recently purchased a Smith Overtake helmet. While most bicycle helmets on the market are made from styrofoam, the Overtake includes Koroyd, a new material that is supposed to revolutionize helmet safety. It also features MIPS, which reduces rotational forces on the brain by allowing the helmet to slide relative to the head during an angled impact.

So the Overtake offers exceptional protection, is comfortable and notable lighter than previous helmets, and it looks pretty good1. Unfortunately, it was not immediately compatible with my light system.


I’ve been using a Light & Motion Vis 360+ for a couple years. Its a great light, offering 360 degree visibility and a nice beam wherever I happen to be looking. And its always with me, so I don’t have to worry about removing it from my bike whenever I lock up.

The rear light easily zip-ties to the back of the Overtake. The front light, however, mounts by running a rubber strap through the vents present on normal bicycle helmets. The overtake lacks these pass-through vents due to the Koroyd. I didn’t want to glue the light to the helmet, so I thought I’d try Velcro. I picked up some industrial strength 2” wide tape and stuck the loop to the helmet and the hook to the back of the light. I wasn’t sure if it would hold, but so far it seems to have worked out great. It hasn’t fallen off and I have not noticed the light being wobbly while in use.

While I was it, I put a piece of loop on the back of the helmet and stuck a ranger eye on it.

Ranger Eye


  1. Everything looks good in matte black.

This post was published on . It was tagged with gear, edc, bicycle.


I’ve been carrying around an old OnGuard Bulldog Mini U-lock for at least five years. It has served well, but I recently replaced it with an ABUS GRANIT Plus 640. What appealed to me most about the 640 was the weight. Although my scale claims that the 6” ABUS at only 2 ounces lighter than the OnGuard (27 oz vs 29 oz), it feels significantly lighter. I can notice the difference between the two locks when attached to my pack, which is noteworthy for an item that I carry every day.

Other than weight it is hard to judge the relevant merits of the locks. Both are roughly the same dimensions, with about the same shackle diameter. OnGuard rates the Bulldog Mini at 63/100 on their security scale. ABUS puts the GRANIT Plus 640 at 12/15 on their scale. About the only other significant difference between the two that is immediately evident is that the 640 shackle double bolts two the body of the lock. (This, of course, is no help against someone with a hacksaw or blowtorch, which is probably a much more realistic threat than any attack related to the lock mechanism itself.)



This post was published on . It was tagged with gear, edc, bicycle.

Across Asia on a Bicycle

In 1891, Thomas Gaskell Allen and William Lewis Sachtleben set out from St. Louis, Missouri to ride their bicycles around the world. Across Asia on a Bicycle is the account of the Asian leg of their 15,044 mile journey — from Constantinople to Peking. It is an excellent read and, along with Journey to the Centre of the Earth, sits as my favorite cycling book.

Illustration from Across Asia on a Bicycle: Evening halt in a village

Despite their journey having taken place over 100 years ago, when the safety bicycle was little more than a decade old, their luggage is recognizable as a modern bikepacking setup: a framebag, small seatpost bag, and a bedroll strapped to the handlebars. In preparation for their ride through the Gobi into China, they stripped their load down further.

Our work of preparation was principally a process of elimination. We now had to prepare for a forced march in case of necessity. Handle-bars and seat-posts were shortened to save weight, and even the leather baggage-carriers, fitting in the frames of the machines, which we wourselves had patented before leaving England, were replaced by a couple of sleeping-bags made for us out of woolen shawls and Chinese oiled-canvas. The cutting off of buttons and extra parts of our clothing, as well as the shaving of our heads and faces, was also included by our friends in the list of curtailments. For the same reason one of our cameras, which we always carried on our backs, and refilled at night under the bedclothes, we sold to a Chinese photographer at Suidun, to make room for an extra provision-bag.

This book was another recommendation by Joe Cruz, who also has some photos of Allen and Sachtleben on his blog.

This post was published on . It was tagged with books, bicycle.