Google Latitude and the Great Services Massacre (plus how to get your Latitude History out)


Warning: getimagesize(blog/wp-content/uploads/2013/07/google-latitude-logo-590x3303-300x250.png) [function.getimagesize]: failed to open stream: No such file or directory in /var/www/web30/web/blog/wp-content/plugins/BetterThumbs.php on line 150

Look, they're dropping like flies!Today (well, not really, I’ve been procrastinating this), Google announced surreptitiously that a long-beloved service, Latitude, was getting an axe to the head:

Earlier today, we announced that Google Latitude is no longer part of the Google Maps app, and we’re retiring Latitude on August 9, 2013.

We understand some of you still want to see your friends and family on a map, which is why we’ve added location sharing to Google+ for Android (coming soon to iOS).

GOOGLE.  SOME PEOPLE DO NOT WANT TO USE GOOGLE+.  EVER.  STOP FORCING THEM TO.  Honestly, it’s frustrating to see Google beheading so many great services, like Reader, Latitude, Anonymous Android App Reviews, etc, etc.

What gets me is that:

  1. I love Metadata
  2. Some of the people in my life are very unreliable about accurately describing their current location

First, I’ve been using Latitude to keep a rough record of my travels since 2011, as, perhaps, many others.  Aaaaand now it’s gone.   Second, I’ve got undisclosed people in my life who can’t be trusted to show up to things on time, and it’s been EXTREMELY useful to be able to pull up Latitude and decide it’s going to take them another hour to arrive rather than aimlessly waiting around.  Whatever.

I guess the sum total of this experience is to dissuade me from using new Google products, because I can’t reliably predict when they are going to randomly disappear.  Or maybe it’s an insidious plot by Google to make me so annoyed that I beg them to let me pay them a tiny monthly fee for services I find useful.  FINE GOOGLE, I’LL PAY!  JUST STOP RANDOMLY KILLING SERVICES!!!

I guess if you’re running a startup and Google takes aim at your niche, all you have to do is just hold out for couple of years, because eventually the Mighty Google will tire of playing your game and leave any poached users stranded and begging to come back to you.  In fact, that’s a great business plan.

Anyway, Google pretends like it’s a simple matter to just export your Location History out of Latitude before it’s shut down forever.  Great!  I would expect a wonderfully portable format from the Data Liberation Front, right?  Done.  Wow, what’s in this highly nested zip file?  KML?  GPX?  latitude.json.  OK.  Off to the old notepad.

{
"data" : {
"items" : [ {
"kind" : "latitude#location",
"timestampMs" : "1373232661783",
"latitude" : 40.249545 ,
"longitude" : -111.649396,
"accuracy" : 40
}, {
"kind" : "latitude#location",
"timestampMs" : "1373231686293",
"latitude" : 40.249545 ,
"longitude" : -111.649396,
"accuracy" : 36
},

Crap.   Google, you suck.

For you non-programmers out there, Good luck loading THAT into any mapping software.  Ever.

Luckily, in the Chronicles there’s an answer: http://productforums.google.com/forum/#!topic/maps/XVvc-SoiN3Y

Some of the suggestions there didn’t work:

No start or end time provided

But after a little url fiddling, this url will export the last 6 months of your Latitude history from 2012: https://maps.google.com/locationhistory/b/0/kml?startDay=07/01/2012&endDay=12/31/2012

Bingo.

From there, simply replace by 6 month increments until you have your entire history exported to convenient, portable (sort of), standard KML!  The downside is that you have to do it in 6-month increments, but, hey, it’s better than writing a parser for Google’s googly JSON format!

Leave a comment

How to fix “delete” and other keys (3~ 4~ 5~, etc) when using Emacs in a Putty session

This has literally been the bane of my existence for several years now. Remote SSH is great, but sometimes the way the interaction between your terminal, shell, and program can drive you mad.

When I log into my Ubuntu-based servers from Putty and fire up Emacs for editing, everything works flawlessly until I mistakenly hit the delete key. Whereupon I get a little gem like this:

Man, I need to delete the last word of this 3~3~3~3~3~3~sentancesersf

Which isn’t very great at all. Same result for Page Up, Page Down, Home, End, and ALL the F1-F12 keys.

After scouring the internets, I found lots of helpful but ultimately useless suggestions. The closest I got was to try and get either the terminal or emacs to tell me which key it thought I was pressing, and forcefully remap that key in my .emacs to what I wanted it to do:

http://www.emacswiki.org/emacs/PuTTY

;; PuTTY fix. Ugly. Bad. But it works. (Good) (it doesn't, actually. not good.) ;; (define-key global-map "M-[1~" 'beginning-of-line) ;; (define-key global-map [select] 'end-of-line)

Lots of variations on that theme brought me some interesting insights, such as

Ctrl-v

shows you which keycode the terminal thinks you pressed:

david@latitude:~$ ^[[3~

And emacs will helpfully tell you the same by using

Ctrl-h l

to tell you the last key you pressed:

-UU-:----F1 *scratch* All L5 (Lisp Interaction)----4:03PM 0.11------------ ESC [ > 0 ; 1 3 6 ; 0 c ESC [ 3 ~ C-h l -UU-:%%--F1 *Help* All L1 (Help View)----4:03PM 0.11----------------------- Type C-x 1 to delete the help window.

So, emacs and bash think I'm typing

ESC [ 3 ~

. Theoretically, I should be able to remap that somehow, right? Well...no.

Emacs seemed to choke on every variation I tried to get that in there, including:

;;(define-key global-map [M-[3~] 'forward-delete-char) ;;(define-key global-map [M-[3~] 'forward-delete-char) ;;(define-key global-map [?M-[3~] 'forward-delete-char) ;;(define-key global-map [e[3~] 'forward-delete-char) ;;(define-key global-map [ESC[3~] 'forward-delete-char) ;;(define-key global-map [^[[3~] 'forward-delete-char) error: Key sequence M-[ 1 ~ starts with non-prefix key M-[

Thanks emacs. Thanks internet.

WHY doesn't this work!?
http://www.cs.utah.edu/dept/old/texinfo/emacs18/emacs_32.html

Rebind the key C-x l to run the function make-symbolic-link. (global-set-key "C-xl" 'make-symbolic-link) or (define-key global-map "C-xl" 'make-symbolic-link)

http://www.linux-france.org/article/appli/emacs/manuel/html/key-bindings.html

You can mix function keys and characters in a key sequence. This example binds C-x NEXT to the command forward-page. (global-set-key [?C-x next] 'forward-page)

NO, YOU CAN’T!!!

This was incredibly frustrating, because http://www.emacswiki.org/emacs/PuTTY#toc10 seemed to have a gigantic table (“normal” column) that DIRECTLY addressed my problem!

Hey look, there are other people with this problem:
http://gnu.emacs.help.narkive.com/6dl5FQYb/function-keys-in-putty-and-emacs

BARGHHH!!!!!
https://skatgame.net/mburo/courses/350/emacs-file

(defvar cursor-map-2 (make-keymap) "for ESC-[") (fset 'Cursor-Map-2 cursor-map-2) (define-key esc-map "[" 'Cursor-Map-2)

!?

Fine. Whatever. That seemed to magically fix it somehow. *SIGH* I hate “magic” fixen.

Remote: emacs 23.1 bash 4.1 Ubuntu 10.10 Maverick Local: Windows 8 Putty .62

(Yes, I realize that my Ubuntu release is as old as the hills. I don’t care. I hate Unity and that release works just fine.)

Leave a comment

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

1 Comment