Nexus 6P Flashing Charge Icon

Recently the USB-C quick charger that came with my Huawei Nexus 6P appeared to stop working. I normally leave the phone charging over night, but one morning I found its battery charge was low and it hadn’t been charging. When I disconnected and reconnected it to the cable (which is reversible with USB-C connectors on both ends), the lightning bolt inside the battery charge indicator kept blinking (flashing on and off), rather than being solid on as it normally would while the device is charging.

Disconnecting and reconnecting the device or unplugging and reconnecting the charger to the wall socket made no difference whatsoever. Reversing the cable direction did not help either.

My only way to still charge the phone was to use a USB-A to USB-C cable that draws power from a PC USB socket, which is a much slower way to charge the phone. So I decided that the charger must have failed after less than a year of use. I already started looking for USB-C quick chargers on Amazon (they exist but are much more pricey than USB-A chargers), but didn’t order one yet.

Today I decided to Google for the problem and found others who had the exact same issue. It turned out that simply powering down the phone and powering it up again will fix the problem: Yepp, it will charge again!

I’m not sure what the fundamental issue is, but it seems I won’t have to rush out and buy a new charger (which wouldn’t have helped anyway!), as the issue is on the phone side.

If a simple phone reboot fixes it and it doesn’t happen too often, I guess I can live with that. The Nexus 6P has worked great for me so far.

Google Maps Engine brings back custom routes

Last year I stopped updating Google Maps on my Android phone because Google had dropped important functionality with Google Maps 7.x. Google Maps 6.x for Android was a great tool for following mapped routes on long bicycle rides, especially randonnes of 200 km and more. After an update I had to revert to Google Maps 6.x to get it back. This also meant I could no longer allow Android to install all available updates in one go. I always had to manually confirm all updates except Maps to not lose 6.x again.

Finally Google has brought this functionality back. There are still missing bits, but at least the product seems usable again for my purposes.

On Android there is an app called Google Maps Engine, which supports loading custom maps. Select “Open a map” in the menu. You’ll get a list of maps created by you or shared with you.

This menu can be populated from a desktop machine. There you can import existing maps created for Maps 6.x. Go to https://mapsengine.google.com/map/ and select “Open a map” (you need to be logged in to your Google account). Select “Classic My Maps”. You’ll be able to select one of your existing maps and import it in to Maps Engine. After that it will become available to the Google Maps Engine app on your Android and you can use it for navigation. The route will show as a blue line and special locations, such as my brevet PCs (“points de controle”, route check points) will show marked with a pin.

One drawback of Maps Engine on the Android compared to the old Google Maps 6.x is that it doesn’t seem to support displaying a ruler on a map yet. Thus when you zoom in or out you won’t be able to tell how far you are from any point you see on the map, whether one cm on the screen corresponds to 100 m or 10 km on the map. This is the same problem that Google Maps 7.x had when it was launched last year. Hopefully it will be fixed soon. Still, it is disconcerting that Google misses out such basic functionality when launching products. Are all their eyes on monetization these days?

Google does an “Apple Maps” to its own Maps

Last night Google proved to me that you don’t have to be Apple to shoot yourself in the foot with a major Maps application release.

Naturally, online maps are a big feature on mobile devices, which is why it’s important to get them right.

Not too long ago Apple ended up with egg on their faces when they introduced their own Maps application to replace Google Maps. Google has just done the same. They rolled out a completely new Maps app starting from the middle of July and yesterday it landed on my Android phone. I was just preparing for a 280 km bicycle trip and had mapped out the route to follow, which I usually use Google Maps for. Imagine my surprise when I found that following an externally mapped route file was no longer supported on the latest Google Maps app: It doesn’t support the “My Maps” feature any more. With “My Maps” you can map a route using a number of third party products and highlight key locations, such as restaurants or shops on the map and assign a name to this. Google Maps then marks these points of interest with asterisks and highlights the route with a coloured line that you can follow easily. Simple but powerful. Well, that’s how it used to be before the “upgrade”.

This is what they say on their official blog:

Finally, My Maps functionality is not supported in this release but will return to future versions of the app.

Sounds to me like they were keen to release a new version of the product, even thought it wasn’t ready yet — just like Apple. Interestingly enough, the iOS version of Google Maps didn’t have the “My Maps” feature either. So what Google has done is to dumb down its flagship product to the level of the inferior version it ships on its competitor’s operating system!

Another annoying omission was the ability to display a scale bar (ruler) illustrating distances on the map, at whatever zoom level. This option has gone. It was quite useful to be able to estimate distances on the map. Without it, I simply don’t have a clue about distances unless I’m totally familiar with the area, in which case I presumably wouldn’t be using Google Maps in the first place.

My temporary fix was to uninstall Google Maps, reverting back to the factory installed version of Google Maps. This gets Google Maps working again, but it’s not sticky. After uninstalling it, the “upgrade” (i.e. downgrade) was back again the following day. Therefore it is important to disable automatic updates in the Google Play settings. Once you do that you will have to manually confirm all updates for apps other than Maps (and you need to avoid confirming Maps updates, which will still be offered).

Other problems that caused user complaints:

  • No more offline maps – the new version only supports map viewing with a mobile data or WiFi connection
  • Removal of +/- (zoom buttons) – zooming in and out now takes two fingers
  • Fewer and less relevant local search results
  • No more green/red/yellow lines along roads to indicate congestion levels
  • Removal of Google Latitude (which I never used)

UPDATE (2013-08-16): Version 7.1.0 appears to have brought back the scale bar. However, I won’t be installing it until My Maps also comes back.

Garcinia Cambogia weight loss spam from hacked Yahoo accounts

I’m seeing another round of weight loss spam that abuses third party Yahoo accounts for sending. It is similar to the earlier “Raspberry Ultra Drops” weight loss spam that also used compromised Yahoo accounts.

Here is one of the advertised domains, which is hosted on many different servers:

biggsetfatburningsecret.com. 1439 IN A 91.207.7.134
biggsetfatburningsecret.com. 1439 IN A 94.75.193.33
biggsetfatburningsecret.com. 1439 IN A 94.75.193.38
biggsetfatburningsecret.com. 1439 IN A 142.0.79.134
biggsetfatburningsecret.com. 1439 IN A 142.0.79.140
biggsetfatburningsecret.com. 1439 IN A 176.53.119.24
biggsetfatburningsecret.com. 1439 IN A 176.53.119.27
biggsetfatburningsecret.com. 1439 IN A 176.53.119.68
biggsetfatburningsecret.com. 1439 IN A 176.53.119.69
biggsetfatburningsecret.com. 1439 IN A 198.144.156.42
biggsetfatburningsecret.com. 1439 IN A 199.116.117.166
biggsetfatburningsecret.com. 1439 IN A 199.127.98.117

The domain is registered through Ukrainian registrar ukrnames.com using forged WHOIS contact details.

The buy link on that site redirects to authenticgreencoffee.com, a domain registered last July, with the owner hidden behind a WHOIS proxy.

Other domains hosted on the same servers, some of which are part of the “Work from home mom” scam series:

bestfoodsforburningfat1.com
biggsetfatburningsecret.com
biggsetweightlosssecret.com
bigjim-foods.com
blogprogramflatstomach.com
blogquickprogramdiet.com
burnfatinfewdays.com
dietsforburningfat.com
eatingplansforweightloss.com
getflatstomachtoday.com
getweightlossandburnfat.com
icbs-news.com
icm-news.com
ircnn-news.com
losingweightrapidly.com
mnc-news.com
myscecretweightlosssolution.com
neverseeweightlossagain.com
plantipsflatstomach.com
plantodayflatstomach.com
rapidweightloss-blog.com
realmenshealthblog.com
revolutionarydiet2013.com
revolutionarydietformula.com
revolutionarydietloss2013.com
revolutionarydietsolution2013.com
revolutionarydietsolutions.com
revolutionarydietweightloss.com
revolutionarydietweightloss2013.com
revolutionarydietweightlosssolution.com
revolutionarydietweightlosssolution2013.com
revolutionaryfatburning.com
revolutionaryfatburningformula.com
revolutionaryfatburningmethod.com
revolutionaryflatstomachsystem.com
revolutionarynaturaldiet.com
revolutionarynaturalweightlosssystem.com
revolutionaryweightloss1.com
revolutionaryweightloss2013.com
revolutionaryweightlossdietplan.com
revolutionaryweightlossdietsolution.com
revolutionaryweightlossdietsolutions.com
revolutionaryweightlossplan.com
revolutionaryweightlosssolution.com
secretultrafastdiet.com
solutionflatstomachsecretsnow.com
solutionflatstomachtoday.com
solutionwithweightonline.com
thebigjim.com
tipsflatstomachquick.com
tipsflatstomachsystem.com
tipsprogramflatstomach.com
todayblogflatstomach.com
todayflatstomachblog.com
todayflatstomachquick.com
todayquickflatstomach.com
ultrafastsecretsdiet.com
weightlossgreatnews.com
weightlossthatworkisnotmagicpill.com

The “work at home mom” scam series also used hacked Yahoo accounts for advertising websites that are made to look like network TV news sites, so these scams are probably related.

The spam senders are often abusing mail interfaces meant for mobile phones. The Yahoo message IDs of the spams contain some of these strings:

.androidMobile@web
.BPMail_high_noncarrier@web
.BPMail_high_carrier@web
.BPMail_low_noncarrier@web
.BPMail_low_carrier@web

Probably “.androidMobile” is for use by the Yahoo Mail for Android app, though the spam is not necessarily sent from Android phones. More likely it is just using the servers provided for Android, but accessing from a PC.

The “BPMail” IDs are an interesting one. I suspect the “_noncarrier” variants involve IP addresses not connected to one of the phone carriers that bundle Yahoo mail with their service, while the “_carrier” variants mean the IP address is part of the provider’s address pool, though it could be used by a PC accessing via a wireless broadband modem.

“High” and “low” could be an internally assigned spam rating, though that is mere speculation. However, “.BPMail_high_noncarrier” is the most common Google hit of these 4 that comes up when searching for information about this type of spam. When investigating a pool of spam samples, this was the order of declining frequency: “.BPMail_high_noncarrier” was by far the most frequent, followed by “.BPMail_high_carrier” and finally relatively small numbers of “.BPMail_low_noncarrier” and “.BPMail_low_carrier”.

The spam recipients (common numbers: 1, 3, 9 or 10) tend to include the last addresses the legitimate owner of the Yahoo account has emailed. So perhaps the spammers are harvesting email addresses from the “Sent” folder of the Yahoo account after gaining access to it.

I find it amazing that Yahoo has yet to find a away to close the vulnerability that allows this spam and fraud to continue, despite the months and years since it was first observed.

Garmin Edge 500 with Heart Rate and Cadence

I’ve had my first week with my new Garmin Edge 500 with cadence sensor and premium heart rate monitor strap, so it’s time for a review. I bought it on Wiggle for about JPY 24,500 ($274).

Around the time I bought the Garmin Edge 500, the new Edge 510 came out. It adds a touch screen, wireless connectivity to a smartphone and various nifty new features, but is also more expensive, so I went for the existing 500.

I switched to the Garmin after more than a year and over 8,000 km of GPS logging using Android phones, mostly my Google Nexus S. Here are my first impressions (the cadence sensor in the bundled set is installed on my son’s bike for use with his 500, so it’s not part of this review):

  1. I really love being able to use a heart rate strap and it’s nice to be able to see the HR figure without having to push a button (daylight permitting). I can ride at a consistent effort level, avoiding both effort too light to build stamina and extreme effort that would lead to premature exhaustion. If money were no object, a power meter would work best (which the Garmin supports). A heart rate monitor is an inexpensive alternative that works for most cyclists wanting to improve their performance.
  2. Because of its barometric altimeter the elevation totals are much more meaningful on the Garmin than on the GPS-only phone, where they may be exaggerated by a factor of 2 to 3. Current altitude data on the Android is OK, but small variations add up too much and grades on climbs and descents may be overestimated.
  3. I love the 90 degree turn quick attach / quick release of the Garmin. It feels both secure and convenient. It is more confidence inspiring than the Minoura iH-100-S phone holder for my Android, which is generally reliable, but not 100% bulletproof. Even after using a bumper for the phone, which has improved the grip of the holder, I’ve had a few instances where on bumpy roads only the USB cable attached to the phone saved my day. I would never entrust my $300 phone to the Minoura without some kind of backup method of attachment, while I feel safe about the Garmin’s mode of attachment.
  4. Importing the rides into Strava or Garmin Connect after the ride is really easy. I just connect the Garmin to the USB cable of the PC and click “upload” on the website in the browser and the browser plugin finds the fresh tracks and uploads them. Assigning a name is marginally easier with a real keyboard than a soft keyboard on the Android Strava app. With the smartphone I could also upload rides while I’m on the road, but why do that if I’ll still add more kilometres until I get back home? That would only be a benefit on a multi day tour without laptop.
  5. One drawback of the Garmin is lack of direct Linux support. My son runs Ubuntu on his laptop, while Garmin only officially supports Microsoft Windows and Mac OS X, so he asked me to upload his activities on one of my PCs. There’s a workable solution though. When you connect the Garmin to a USB port on an Ubuntu machine, it gets mounted as a removable volume named “GARMIN”. In there is a folder called Garmin, with another folder Activities inside which contains all logged rides as .fit files. Copy those to your hard disk and then upload them manually from a browser (Strava supports .gpx, .tcx, .json, and .fit files).
  6. When leaving the house, both the Garmin and the Android take a short while to lock onto the satellites and the Android seems to have something of an edge (excuse the pun) over the Garmin, which does seem to take its time. Maybe that’s because the Android pull pull satellite position data off the web, while the Garmin can only use whatever data it captured before. In one unscientific test, I took my Android and my Garmin outside in the morning. The Android had a satellite lock in 15 seconds while the Garmin took a more leisurely 44 seconds. This is a minor issue to me compared to the next one, GPS precision.
  7. While I have seen better GPS results on some rides from the Garmin than the Android, switching from the latter to the former has not been a dramatic improvement. I think their results are still in the same class, i.e. far from perfect, especially in built-up areas. Neither is like my car GPS, which is pretty solid. Both my son and I have been riding on Strava segments in Tokyo, expecting to be ranked but found the segment didn’t show up because the plotted route was slightly off to the side, so the segment start or end didn’t match up.
  8. Having temperature data on the Garmin is nice, but not really important to me. Unlike heart rate and cadence it’s not feedback that you can use instantly in how you cycle. Your body is a temperature sensor anyway and how you dress is at least as important as the absolute temperature.
  9. The Garmin 500 battery is supposed to last “up to 18 hours”, which would cover me on everything but 300 km and longer brevets, but on any significant rides I tend to take my Android phone, which I use for Google Maps, e-mail, SMS and yes, even the occasional phone call. Using an external 8,000 mAh battery for the Android, battery life has not really been an issue. The same battery will charge either device (one at a time), provided I take both a mini and micro USB cable with me.

Summary

If my Android had an ANT+ chip or supported BTLE (BT 4.0) for using a heart rate monitor as well as a barometric altimeter, then it would still be my first choice for logging bike rides. Given the limitations of my phone and the reasonable price of the Garmin Edge 500 I am very happy with my purchase.

Android Gallery pictures are blank

I am not sure when this started to happen, but for some time I have been unable to use the Gallery app on my Google Nexus S (Android 4.0.4) phone to view my Picasa albums. It shows all the album names and how many pictures each album contains, but the pictures themselves are invisible. Each shows as a dark grey rectangle only. Only the “Camera” and “sdcard” albums (i.e. local pictures on the device) display correctly.

I tried all the fixes I could find, including these steps:
– Manage Apps, Gallery, Force Stop, Clear data
– Manage Apps, Google+, Force Stop, Clear data
– Manage Apps, Camera, Force Stop, Clear data

This didn’t do anything for me. It re-synced and showed the same blank images again.

So far the best solution has been to install the free app “Just Pictures!”. Upon connecting it to my Google identity, it initially showed only my public albums, but an article in their knowledge base explained how to add login credentials to enable it to manage private albums, too and after that I could view them all.

If anybody else figures out a way to fix the original Android Gallery problem, do let me know!

Using Sanyo Eneloop Ni-MH AA batteries to power your mobile phone

About two years ago I started using Sanyo’s rechargeable eneloop batteries. These relatively inexpensive Nickel-Metal Hydride (Ni-MH) cells are available in both AA (単3形) and AAA (単4形) sizes. They are low self-discharge cells that keep their charge for months when not in use. I’ve bought boxes of 8 cells of either type, for use in flash lights, bike blinkies, helmet lights and Bluetooth keyboards.

They are initially more expensive to buy than regular alkaline (primary) cells, but you only need to re-use them about three times before they work out much cheaper than primary cells, while you can actually recharge them hundreds of times before they start losing significant capacity.

Here are some nice gadgets that will take them, which I found sold in convenience stores here Japan.

These little cases (by alicty.co.jp) take power from two or three regular alkaline AA or Ni-MH AA cells and provide a USB port for powering mobile phones and other small gadgets with a USB power cable. As you would expect, the three cell version is slightly more powerful, looking to my Google Samsung Nexus S as an AC charger (i.e. it provides more than 500 mA). For the two cell version, the phone shows “charging (USB)” as the status, i.e. it can draw up to 500 mA. The two cell version has a USB-A socket (female) for generic USB cables while the three cell version comes with an integrated micro USB (male) cable. A very similar concept has been around for a while as the MintyBoost.

The nice thing is, if you carry enough pre-charged eneloop cells with you, you can swap cells as needed and have virtually unlimited power. You could even buy primary cells to top up if desperate (one set came bundled with each device), but they would end up costing you more than re-usable eneloop cells in the long term. I’ll carry some Ni-MH cells as spares on long bike trips or hikes, which could come in handy with these little cases.

UPDATE 2012-04-04: I also tried using this adapter with alkaline (primary = non-rechargable) AA cells and it goes through them quite rapidly. Alkaline AA batteries have a notoriously poor performance in high drain applications because of their high internal resistance. You’re much better off sticking with Ni-MH batteries such as Sanyo Eneloop!

It says on the pack that a set of 3 AAs will boost the charge state of a smartphone battery by 30-40%, i.e. it would take you about 3 sets (9 cells) to fully recharge an empty battery. Or put another way, if the phone lasts 5 hours on one charge doing whatever you’re doing, you will consume a set of fresh AAs every 100 minutes to keep it topped up. To provide 500 mA at 5 V (2.5 W) on the USB connector at 80% efficiency would draw 3 W from the batteries, or 700 mA at 4.5 V (3 x 1.5 V). At that kind of load, an alkaline battery might only supply a quarter of its rated capacity, which is normally measured at a much smaller load (which is OK for alarm clocks, TV remote controls, etc. but not high powered electronics like digital cameras or smart phones).

GPS-logging my bike rides

Five weeks ago I started logging my road bike rides, runs and mountain hikes using the GPS in my Google Nexus S Android phone. I use the iMapMyRide app which requires Android 2.1 and later (of course there’s also an iPhone version).

Start the app, a few taps on the screen and it starts recording. You can pause the recording any time, say if you stop for food or rest. When you’re done you can easily upload the complete route with GPS coordinates and timing to the MapMyRIDE.com website. Besides bike rides you can also use the app for hiking, running or walking.

As it records it displays basic map information, so it can be used for simple navigation too, but most of the time I relied on Google Maps for that.

Afterwards you can view the workout on your PC. It will show altitudes along the route, including total gain. It shows average speeds for each km of progress. It calculates how many kcals you used based on the route, your weight and your age.

A calendar view shows all days on which you exercised, with distances for each workout, weekly totals and monthly totals. This can be a powerful tool to keep up a certain level of exercise on a regular basis.

Battery usage

As with many mobile applications, battery life is of concern to users. So far my longest recorded hike was 5 1/2 hours and my longest bike ride was 4 1/2 hours. I have not run out of power yet, but I’ve had the battery low warning pop up on occasion.

There are a few things you can do to optimize power usage. I make sure to disable WiFi and Bluetooth to minimize power usage. If I am in areas without mobile data coverage, such as high on a mountain I switch the phone into “airplane mode”, which will still let it receive GPS data but it won’t download map data (which it can’t anyway without a nearby cell phone tower). Disabling these wireless connections prevents the phone from wasting energy on trying to reconnect.

It makes a big difference how much you use the LCD screen. If you often turn it on to consult the map for a new or unknown route that will eat battery life.

In order not to have to worry too much about that and to be able to record longer and further rides and hikes, I got myself a cheap external Li-ion battery on Amazon Japan, into which I can plug the USB cable of my Android phone for extra power. I paid JPY 2,380 (about $30) including shipping. Its capacity is listed as 5000 mAh and it has two USB output ports, plus one mini-USB input port for recharging. It comes with a USB cable for charging, a short spiral USB output cable and 10 adapters to connect it to different phone models (including the iPhone and iPod). Because of the standard USB ports you can use any existing USB cable that works with your phone. It’s like running your smartphone off power from your computer.

The device is about the weight and size of my phone. It came charged to about 60%. It should take a couple of hours to fully recharge it from empty.

If fully charged it should theoretically provide three complete charges for my mobile phone, which has a 1500 mAh battery inside, thereby quadrupling the length of rides I can record. Most likely, I will run out of energy long before my battery does 🙂

My longest distances with MapMyRIDE so far:

  • Bike ride: 71 km, 560 m elevation gain
  • Mountain hike: 14 km, 1020 m elevation gain
  • Run: 10 km in Tokyo

A few rough edges

While the iMapMyRIDE+ app feels fairly solid, it will need fixes for a few problems.

The major issue for me is that the app and the website don’t see eye to eye on time zones. For example, if I record a ride at 17:00 (5pm) to 18:00 (6pm) on a Sunday, the recorded workout title will include the correct time. However, if I view that workout on the computer’s web browser, it is shown on the calendar as having been recorded on the following day (Monday). If I check the details, the start and end times are listed as 8am (08:00) and 9am (09:00): Wrong day and off by 9 hours.

Probably not by coincidence my time zone (Japan Standard Time) is 9 hours ahead of UTC. It’s like the app sends up the start and end time in UTC but the website thinks the data is local time. Yet for determining the date it seems to add those 9 hours again, which takes it beyond midnight and Sunday gets turned into Monday.

I can manually correct every single workout from the website, which also fixes that date on the calendar, but then the app displays the wrong time, which I am prepared to simply ignore.

When I enter my height on the website and then view my details on the app, I am 2 cm shorter than I entered, perhaps as the result of my height having been converted from metric to imperial and back to metric with numeric truncation.

I wish the site would support 24 hour clocks, not just AM/PM. I also wish the site would let the metric size to be entered as cm, not just m and cm separately (probably a hangover from code written for feet and inches).

Note to the app developers out there: The world is much bigger than the US and most of it is metric.

UPDATE 2011-12-13:

I have used the Li-ion battery on two weekend bike rides now. One was 93 km, the other 101 km in length. In both cases I first used the phone normally until the remaining charge level was heading towards 20% (after maybe 4 hours), then I hooked it up to the 5000 mAh battery and continued the ride. The longer of the two rides was about 8 hours, including lunch and other breaks. At the end of the 101 km ride the phone battery was back up to 75% charged, while the external battery was down to 1 of 5 LEDs, i.e. close to empty.

I wasn’t as careful to conserve power with the external battery hooked up. My phone is configured to not go into sleep mode while hooked up to a USB cable, unless I manually push the power button. That’s because I also use it for Android application development, where it’s controlled from a PC via the cable. I should really turn that developer mode off on rides to have the screen blank after a minute as usual even when getting external power. Total capacity with the external battery probably at least 10 or 11 hours, more if I put the phone into “airplane mode”, which disables map updates and hence navigation.

My headlight currently consists of a twin white LED light using a pair of CR2032 batteries that I need to replace every now and then. It’s not very bright, especially where there are no street lights. Probably next year I’ll upgrade the front wheel using a Shimano DH-3N72 dynamo hub,

which can provide up to 3W of power while adding very little drag. A 6V AC to USB adapter will allow me to power USB devices like my phone and the headlights from this without ever having to buy disposable batteries or connecting anything to a mains charger.

UPDATE 2012-01-02:

I have had the front wheel of my Bike Friday rebuilt with a Shimano DH-3N80 dynamo hub. The old 105 hub is now a spare while the rim with tube and tyre were reused. Here is the bike in our entrance hall:

Closeup view of the hub with AC power contacts:

I purchased a USB power adapter made by Kuhn Elektronik GmbH in Germany. It weighs 40 g and measures 8 cm by 2.5 cm. It provides a standard USB-A socket which fits standard USB cables such as the one that came with my Google Nexus S:

USB power adapter with Google Nexus S:

UPDATE 2012-03-14:

At the end of January I started using Strava for tracking rides, in addition to MapMyRides (MMR). I stopped using the MMR app because there is no way in MMR to export GPX files with time stamps, so you can not track your speed or performance on any sites besides MMR. They lock in your data. Instead I either record with Strava on my Android 4 Nexus S or with Endomondo on my Android 1.6 Google Ion. That way I can generate GPX files that will upload to Strava, Endomondo, MapMyRide or just about any other site. The automatic competition feature of Strava is superb. MMR’s best features are its calendar view with weekly and monthly statistics and its mapping feature for planning rides. If those were merged with what Strava can do, it would be a terrific GPS cycling app and site.

Minoura iH-100-S phone holder for Nexus S

In my blog post about my bike ride up Mt Fuji Subaru line I mentioned the Minoura iH-100-S phone holder that I use with my Google Nexus S Android smartphone, which I use for Google Maps and the iMapMyRide application to track my cycling routes.

In the local bike shop I was was considering either the Minoura or the Topeak Phone Drybag, which is designed specifically for the iPhone, but also is big enough to hold the Nexus S. It offers rain protection, while with the Minoura iH-100-S the phone is exposed.

I didn’t go for the Topeak because it looked too iPhone-specific: The transparent cover extends to the home button in the bottom centre, but my Nexus S has four buttons side by side (Back, Menu, Search, Home), which would have been obscured.

My solution for rain is simple: If it looks rainy, I’ll wrap the phone in cellophane (for kitchen use, the local leading brand in Japan is Saran Wrap), which does the job. I also keep a small transparent plastic in my backpack, for emergencies.

The Minoura works well and grips the phone firmly if used properly. Make sure the phone firmly touches all three support points: the clamps on the left and right and the corner hook. I have yet to lose it, but the fact that the two clamps at the left and right snap apart if the release lever is pulled did make me a bit nervous. I always visualized this happening unintentionally, say if the release mechanism wears out or becomes brittle with UV exposure and breaks one day.

My peace of mind solution for that is a small rubber band which I keep attached to the holder. I twist it around once to give it more tension and then wrap it around the two clamps, which keep it away from the touchscreen, but it provides enough friction and tension that even when I pull the release lever there’s no way the phone would fly away.

Auto Unlock application

Another issue with using the phone for navigation was the Android screen lock. When the screen blanks due to inactivity, I need to push the power button to turn the screen back on, which is fine, but then I also need to slide a dot across the screen to unlock the desktop. If find that too distracting, because I prefer to keep my eyes on the road as much as possible. I found an application in the Android market called “Auto Unlock”, which does away with the need for the sliding move – most of the time. The trial version can be used for 5 days for free. The paid version is $1.29.

The results with Auto Unlock were a bit uneven. The application needs to be manually restarted after the phone is powered down, a minor problem. When it’s active, sometimes I still needed the slide, other times I didn’t. I’m not sure what made the difference. It’s very helpful as long as it works.

UPDATE (2011-10-15:

After the trial edition of “Auto Unlock” expired I switched to another app called “No Lock”. I am happy to say that No Lock works more reliably, though it has one minor drawback: unlike Auto Unlock it does not use the proximity sensor to still require an unlock swipe if it’s in your pocket. If you accidentally push the power button while the mobile is in your pocket, that may unlock it already. “Pocket-dialling” of calls is a possibility. For my use with the bicycle holder that is not a problem and it’s easy to switch between “No Lock” and “Lock” mode in the app.

Good bye, Dennis Ritchie!

Back in the early 1980s I learnt programming in C by reading “Kernighan and Ritchie”, as everyone around me called this book then: “The C programming language” by Brian Kernighan and Dennis Ritchie.

It is no exaggeration to say that C and its derivatives are to computers what hydrogen is to the universe.

Dennis Ritchie, who passed away today at the age of 70, was a co-creator of both the C programming language and of the Unix operating system, after which open source Linux is modelled today. Mac OS X and iOS are direct descendants of Unix (NetBSD), while Android, which runs on millions of smart phones, is based on Linux. Virtually every operating system that matters these days (including all versions of Microsoft Windows) is written in C or C++ or another C-derived language.

Dennis Ritchie may not have become as much of a household name as Steve Jobs, but the software he created probably brought about much more fundamental changes than anything Steve Jobs did, and in fact most of what Jobs created would have been unthinkable without either C or Unix.

See also: