A week ago I re-started my diet and exercise plan. Since I am grossly overweight, the exercise plan is basically "walk around 5km every day, fat guy". Since I am a nerd, I wanted data so I could stop lying to myself about how much I was walking.
I had seen Endomondo mentioned in my tweeter timeline a bunch of times and the featureset looked pretty much exactly as I needed:
Track my walking
Show it in google maps (because it's nice)
It even did things like tracking calories burnt and so on.
The only problem was... it really sucks at figuring out how much you walked. It consistently overestimates by around 50% the distances, and since it calculates the average speed based on time and distance (and the time measurement is correct) it overestimates speed by 50%, which then means it overestimates calories burnt by (I am guessing) 125%.
How did I verify that Endomondo is wrong, and avoid the obvious explanation of "your GPS is broken"?
I tracked myself using Endomondo and Google Trails at the same time.
I counted steps roman-mile style (count every "left-right", multiply by 1.6)
I measured the path I walked in Google Maps and Bing Maps
All those measurements tell me a walk of 1100m +/- 150m is measured by Endomondo as 1.68 km
Ver mapa más grande
Why does this happen? I could assume Endomondo is just crap, and probably be right, but trying to come up with a "interesting" explanation, I am leaning towards noisy measurements. For example, if Endomondo saw my position shifting randomly 10 or 15 meters left or right it would probably add enough noise to make the path 50% longer (for a much more fun example of this, read this paper (by no other than Benoit Mandelbrot!) but this doesn't explain why Google Trails works so much better (unless Trails does something smart with antialiasing and interpolation).
If you use Endomondo, care to share your experience? I am reluctant to 1-star it in Google Play without independent confirmation.
So, I got this phone on my trip to the US. It's a Galaxy SII variant called the S959G. It's not a very common variant, and of course it was locked to a network that's unavailable here, and comes with Android 2.3 which is ancient, so it needed some fixing.
And man, the Android community is a mess about documenting stuff. So here's my shot at it.
This only applies to THIS PHONE if you go blind doing this, or your dog catches fire, not my problem.
Done using Ubuntu (because I prefer it)
The process is a bit lengthy, but simple.
- Install heimdall
It's in the repos, just use apt, piece of cake
Go to the XDA page for this phone because that seems to be the canonical information source.
Get (from where it says "The best way to root") the CWM RECOVERY v6.0.27 file. It's called CWM-Recovery.tar.md5 because version names are for the weak.
Get the recovery.bin that's inside it using
tar xvf CWM-Recovery.tar.md5
Put your phone into download mode. For this model that's done like this:
Plug into USB
Press Volume Up and Volume Down (keep pressed)
Press power (keep pressed)
When Samsung appears on screen, let go of power button
When you see a warning sign, let go of volume buttons
Click Volume Up
Flash the recovery.bin using heimdall:
heimdall flash --recovery recovery.bin
Now you have to go into recovery to make backups:
Press Volume up and down and hold
Let go of power when Samsung flashes
There you are
In this mode, volume up/down move the cursor up/down and the power button chooses the selected option. Do the obvious thing to do a backup.
Turn on the phone and make sure it works.
Now copy the CyanogenMod zip file from XDA (or any i777 image) into the phone's SD Card somehow (drag and drop in Nautilus works ;-)
Go back into recovery mode as above.
Clean up the phone: Clean data, cache, and in advanced, clean dalvik cache.
Install by using "Install zip from sdcard" and choosing the right one, and doing the obvious thing.
Boot the phone, it should now be in CyanogenMod (yay).
Try to make a phone call. If you can't and/or the phone asks for a SIM PIN, it's still locked. To unlock I used this APK which was untested on this model, but hey, it worked.
You may also need to install one of the "modem" files from XDA. Just put them in the SD card, go to recovery, and install one, try, if it doesn't work then try another one.
Get gapps-jb-20130301-signed.zip from the XDA page.
Copy that into the SD card, then install from recovery mode.
And that's it. If it fails, you can probably go back to something reasonable using the stock firmware that's in the same page, but I have not done it so I don't offer intructions.