Skip to main content

OsmAnd: Navigating With OpenStreetMap

Chances are you using Google Maps for all your navigation needs. Why shouldn't you?

Once upon a time I had to provide my modem to a Comcast representative so that they could disconnect it from my account. I looked up the nearest Comcast location and embarked on a journey. The Google Maps pin was pointing to a non-residential building, so I blindly trusted Google to guide me to the correct location. Upon arriving at the building under a light rain, I was surprised to find out it was actually a public pool/Department of Conservation and Recreation (DCR) office. I wasn't the first one to get there by mistake, so I was redirected to the end of the road, just a couple blocks away.

Please note that I did not own a car, and no buses were going that route, so a couple of blocks away (half a mile, 800m) turned into a 20 minute walk under what turned to be an umbrella-bending thunderstorm.

Having returned home, I decided to notify Google of the wrong marker location. I sent a request explaining the issue. A few days later I received the notification that my case was closed and no action taken since not enough proof was provided. I tried the second time, but something did not work quite right then either.

Since I started driving, I've missed a number of turns because the map did not match what was on the ground, Google Maps would announce "Arrived" when my destination entrance was concealed by the trees and there was a whole parking lot between us, we've been guided through that Casey Overpass WIP site where left turn is a suicide because you don't see oncoming traffic. I started to care deeply about those things, but I can't influence a corporation to care about a small misplaced road.

So now I fix things myself. And when a number of navigation applications pick these changes up, I can benefit from having an accurate map at my disposal.

So the first application I downloaded related to OpenStreetMap was OsmAnd.



Name OsmAnd (free), OsmAnd+ (paid, $6.49)
Version 2.3.5
Map update May 1st, 2016 (monthly)
Platforms Android, iOS
Supports offline: car, foot, bicycle; online: OSRM, YOURS
License GPLv3, CC-BY-ND-NC, various third-party licenses
Permissions Camera, Location, Microphone, and Storage
Outstanding Features Live(-ish) map update, generate/export GPX, display/follow GPX route, block roads, add OSM POIs and notes.


  • Open Source (mostly GPLv3).
  • Adding POIs and Notes from Android device.
  • Creating georeferenced photos and audio commentary.
  • Writes GPS Tracks.
  • Car parking plugin.
  • Different detail level for car, foot, and bicycle.
  • Frequent map updates, provides tools to generate maps by end-user.


  • Extremely visible map redraws and jumpy panning.
  • Map rendering is crowded with details.
  • You can get lost in configuration menus.
  • OSRM (online) turn-by-turn navigation lacks street names.
  • Live Map updates (beta) do not change routing patterns.

Read more…

In the beginning there was a node

OpenStreetMap is highly addictive. You think you start with fixing the data for your neighborhood and a couple of days later you are modifying routing configuration on a major highway. You've been warned.

I've gone crazy. For almost two months I did not read any of my RSS feeds, I stopped posting much to diaspora/twitter, I bought a rangefinder, began to look suspicious, and talked to a lot of people.

I got hooked on OpenStreetMap.


Read more…

Boston – Farmington Hills: The Road Trip

In the end of April 2016, we moved from Boston (MA) to Farmington Hills (MI) for work reasons. I wanted to take my potted flowers with me, so flying was not a suitable option, and that's when a crazy idea came to mind: what if we drive? The distance between the cities is around 840 miles (we could only go through US), so covering it in two days seemed reasonable.

We had broken the route down into 7 parts (3 on the first day and 4 on the second), added some buffer (although not a lot) and hoped for the best. Unfortunately, when packing our things into the moving container, we faced a problem: two large pieces of furniture – the wardrobe and the dresser – did not fit, so we had to find ways to get rid of them. This took several hours away from our packing time, and as a result, we were not rested enough on the morning of departure (especially Roman). Eventually, we were lucky to get a huge car that fit the dresser (yay!), but we left Boston two hours later than we had planned.


The huge car (Toyota Sienna)


The last cup of coffee in Boston (Simpli Bar & Bites)

Our planned intermediate stops were cafes and gas stations.

First leg: Boston MA – Albany NY (173 miles)

Planned time: 10AM - ~1PM

Actual time: 12PM – 3:10PM


Biker parade (?) when leaving Boston

Second leg: Albany NY – Syracuse NY (120 miles)

Planned time: ~2PM - ~5PM

Actual time: 4:39PM – 7:35PM

This part we decided to cover by smaller roads so that the drive is less monotonous and more scenic.


When we got to Syracuse area, Roman was already very sleepy and tired from the sun shining into his face, so we decided it's safer and wiser to spend the night there and deal with the lost time the next day. So we canceled our motel in Buffalo and headed to a Hilton in East Syracuse.


A Red Robin special burger with buns made of ramen – tasty but quite messy

The second day was much more productive.

Third leg: Syracuse NY – Buffalo NY (146 miles)

Planned time: ~6PM previous day - ~9PM previous day

Actual time: 10:15AM – 12:50PM


Fourth leg: Buffalo NY – Erie PA (105 miles)

Planned time: ~10AM - ~1PM

Actual time: 1:40PM – 4:35PM


Turns out there are a lot of vineyards in New York and Pennsylvania

When we arrived in Erie, we had to decide whether we are going to stop in a hotel once more or make an effort and arrive in Farmington Hills the same day. Roman was in an optimistic mood, so we decided to make the last stop at a toll road service plaza instead of a cafe to save time. Our original plan included stops in Cleveland and Toledo instead, so there was no planned time for this modified leg.

Fifth leg: Erie PA – Amherst OH (132 miles)

Actual time: 6PM – 8:14PM


Sixth leg: Amherst OH – Farmington Hills MI (146 miles)

Actual time: 8:55PM – 11:25PM


Total distance: 822 miles

Total time driving: 10 hours 20 minutes

Our original planned arrival time was ~9PM, so we did pretty well in general, there was very little traffic even with all the road work. We did learn several things though:

  1. Buffer for stops should be bigger, especially if they are not counter-serve cafes.
  2. Not getting enough sleep and being dressed too warmly has a big impact on the driver's endurance.
  3. Stops every 2-3 hours make the trip far more pleasant than with longer intervals.
  4. Not all the gas stations that are on a map actually exist :-)
  5. Fuel in Massachusetts is cheaper than in other states that we passed. Or was cheaper, anyway.

DRM: Jumping through the hoops to please Adobe gods

When you buy a physical book, you don't sign an agreement dictating the conditions which you must satisfy to read it. That would be crazy, right? You expect to be able to read it anywhere you like. You can read it on the bus, you can read it in the park. Heck, you can even take it to the shower and read it, damaging the pages, but it is your book, you paid money for it and you can do whatever you want.

If you buy an ebook from a major store (Amazon, Kobo), chances are you are getting something extra with your book.

Screenshot from showing the list of supported devices: Desktop, eReaders, Tablets, iOS, Android, Blackberry, Windows

Looks like it covers everything, right?

If you have a supported platform, everything magically works, and you don't think about buying the next book much. If you, like me, have GNU/Linux as your only OS, then your purchased book basically turns into a digital paperweight. Instead of owning the book, you merely own a license to read the book and only a set of approved readers will allow you to actually read it. The class of systems that impose these restrictions is called DRM, after Digital Rights Management. And you have very little rights there.

Read more…

Private Tunnel and NetworkManager

Private Tunnel is an OpenVPN-based VPN service provided by OpenVPN Technologies Inc. At some point I signed up for their service and found that while my phone used their Android app without any issues, NetworkManager part on my laptop was not really cooperating.

Eventually I've figured a workaround.

Update: The workaround can be found in Private Tunnel Knowledgebase.

Repeat the steps for the <extra-certs>..</extra-certs> section, and put this content at the end of the file usr.crt you have just saved previously.

How do I Connect to PrivateTunnel Using Ubuntu Linux


OpenVPN connected via NetworkManager on Fedora 23

Read more…

Yay! Fedora 23 on BeagleBone Black

Before you run dnf update, make sure you have vm.min_free_kbytes = 8192 in your /etc/sysctl.d/30-smsc.conf

Otherwise you will get:

[ 1977.215963] mmcqd/0: page allocation failure: order:4, mode:0xc020

And if you plow through, eventually you'll get

[rye@bb ~]$ dmesg
Segmentation fault (core dumped)

And then the system will not boot. Well, based on my experience the system will not boot anyway after upgrade, so the post will be continuously updated until I get the system to boot after full update.

Read more…