Facebook places with Google Maps

Facebook places is a social networking social check-in feature which would broadcast the user’s latest check-in on the wall, readily accessible to the friends. This kinda creates an illusion amongst your friends that you’ve got a social life and you’re boasting about it. Well, I like it and hope Google has its own too and if you’re in a country where its not launched yet, here’s a tip on how to use Facebook places outside the US.


Me and a couple of friends have started using Facebook places. One thing which annoys me is the Facebook places web version uses the “Bing Maps”. I totally get it that Microsoft must be pushing “Bing services” through Facebook as it owns a part of the share.

But you know what, Bing Maps suck big time – Particularly in terms of having less details available. Sometimes you can’t even find why did some one check-in in the middle of no where.

Like this (If you can see, the place makes no sense on Bing Maps, but is represented well on Google maps with road information available)

CG-Bing CG-GMaps

Now that you get the picture.

Download – Facebook Places with Google Maps – Greasemonkey script

Some more screen shots of this are

TCS-Bing TCS-GoogleMaps

The source code is hosted at Google Code. If you have any suggestions/queries – Feel free to ask them here.

Update 26/01/2011 – There were some changes in FB’s places HTML generation and I found that script was broken. I just fixed it in Rev#6 of the check-in. And you can now use this on Firefox and Google Chrome or any other browser with UserScript support.

Update 23/04/2011 – FB changed the HTML again, it took me sometime to fix it (couldn’t take out time). It’s now fixed in FF4.0 and Chrome 10.x+

Update 19/05/2012 – Sorry for the delay guys, I know FB has changed over time.. I’ve just uploaded another version which works on some of the pages. Added https detection too. I’ve got 2 major feature requests that are
* Interactive Google Maps
* Timeline support (particularly the ones with places merged with FB pages).

Android Device and Desktop Clipboard Sync Utility

While developing for Android these days – Felt a lack of a utility which could be installed by developers to keep the Android device and the Desktop’s clipboards in sync.

There must be a gazillion ones on the Market, but here I am talking about a non-Google plain Vanilla Android emulator/phone which won’t have market and you’d have to cook up something like this to keep ur desktop and mobile clipboards in sync.

Sheesh, even Windows mobile 6.1 has a utility to do that (MyMobiler – a 3rd party utility because Microsoft didn’t care enough for the Windows mobile developers before!!!)

So announcing the Android Desktop Clipboard Sync utility – to never turn back and worry about clipboard (Well, its not all that huge, just made the line up!)

Android Desktop Sync

So I had to write my own. The current utility would have a “Desktop component” which acts as a server and the “Android side” client component which keeps sending data to the server.

I am maintaining the source code on Google Code and will try to keep release versions to maintain stable release.

The current code is an 0.1Alpha’s with source code is ready and would update the desktop clipboard with any changing mobile clipboard always.

The components explained

  1. Server side component – Usually runs on your desktop machine (I’ve tested this on Windows) – Written in Java
    This has a server socket and whenever receives an input data – updates the desktop clipboard.
  2. Mobile Side client – Runs on your Android Emulator or your device (should be connected to the PC through a network usually WiFi – Written in Java (using Android SDK) – Target set to 2.2 Froyo
This has a live thread checking if the device clipboard has been updated, If yes – It’ll establish a network connection to the server component to dump the latest clipboard.

I plan to modify this to include bidirectional sync (The code’s there but commented out – causing some problems).
To start using this android sync utility – Ensure

Steps to install and configure

  1. Check out the source from Google code SVN repository and mark as writable if required (If you need to change – See Step#2)

    svn checkout http://android-desktop-sync.googlecode.com/svn/trunk/ android-desktop-sync-read-only

  2. There are 2 projects in it – Import them into your Eclipse (already configured with Android SDK and has Java)
  3. AndroidClient – Is the Android project (modify it to your need in case you’re working below <2.2)
    Change the source code file ClipboardSharerApplicationActivity.java to connect to your machine’s IP address.
    I will probably later make this as a text field on the page so that the user can input the server (desktop’s) IP address and port number instead of hardcoding it.
  4. DesktopServer – Is the Desktop Java project which won’t require modifying unless you wish to change the server socket’s listening port.
    In case you wish to – you would be changing JavaDesktopClipboardAccessServer.java
  5. That’s the configuration – First launch the DesktopServer and then launch the Android Client.
  6. Voila! After this is done, you should see that anything you copy into the clipboard on the Android Device would be available on the desktop clipboard.

Happy Copy pasting! If you face any issues in setting up this – Let me know

[Icons Courtesy – Google Developers & Computer Icon + Me, cooking up both together with a weird bidirectional arrows]

GMail Address Swapper – Greasemonkey script

The original idea’s from Tamar from her post to Google Support. You will need Greasemonkey Firefox plugin to use this. This works as a Google Chrome extension too.

Install the GMail Address Swapper GreaseMonkey Script.


The script would swap the email addresses values between ‘TO” and the “CC” in your GMail compose page. This will work for any compose page (New email or replying to existing conversation).

A new icon (see screen shot below – the new image below the “TO” text) will be auto-inserted when you install the GMail Address Swapper GreaseMonkey Script.





That’s it, The source code is available in the script itself and the SVN Repository is maintained on Google Code. If you need any modification to this, let me know on Twitter @Swaroop.

Update 1

I have just tested that this works on Google Chrome too (Without GreaseMonkey) – Just install the script from UserScripts.org. Let me know if you face any problems in Firefox or Chrome (Doesn’t need GreaseMonkey or GreaseMetal)

Update 2 (Oct 24, 2010)
Chrome 7.0 stable broke this extension. I found a typo in my code which was causing all the icons to appear. I have now fixed it and released the next update for GMail Address Swapper. Let me know if you’re still facing any problems.

To Get it right !

I am in the process of learning the secret(s) of many companies who claim to keep their employees happy !. How is that possible ? Was what I wondered all the time .. I spent at my previous organization !.

Some people say its the money.. the perks that the company provides !.. Is that correct.. ? Not sure. ! But one thing I observed today is

If every one works their part of work well!.. It can surely make a better working place !.

As in Bee movie – Barry the bee says that bee’s do a lot of small work so perfectly that, its almost impossible for humans to tell how the work was even achieved !.

barcamp #5 at Google Campus, Hyderabad

Just came back after attending barcamp #5 at Hyderabad.

The whole thing was very nicely managed by the Volunteers and the people at Google.

The sessions given by people across the industry can give us an idea on what else is there in the IT Industry other than just corporate business software which happens to be most of the work we do in IT Services industry.

It was one good experience having met one of my favorites of the online blogging world – Amit Agarwal. Asked him some of the questions on my mind for quite a while.. Had a picture snapped with him.. Will post it here soon..

Also a good initiative by HydBlogs.in. If you are a blogger from Hyderabad. Add your blog to the blog roll. Pass the word on.

The Time machine.. !

This one of those non-geeky posts i always like to put in :-) . I dont know why. But I just like ‘em.

Today I was wearing my watch after months, the battery died out.

Its a Fossil Blue model watch gifted by a cousin who stays in the US.

I was wearing this battery dead watch so that I can remember to get it loaded up with a battery and get it working.

The only thing i was wondering all the time was if some one noticed I am wearing a watch which ain’t working what would be my reply without making a fool of myself :p. So I’d finally figured out what I’d say :)

“My watch is working. I just happen to follow different timezones at different times of the day”

The watch in the picture is of my first digital watch bought by my parents. The watch’s battery ran for an amazing 7 years.. What wonder time machines these clocks are. !

Delete an un-deletable file !

I was pestered by this stupid windows error that it cannot delete a file because it was being used ! I made sure that none of the applications.. are accessing it. But there must be some code written by M$ guys which made sure that the file was locked.

Cannot delete Filename. Access is denied. The source file may be in use.

I resolved it after a peek >>Here<< .

This file was a normal video file, and the only reason windows would access it is to create a thumbnail. But this video file additionally is corrupt which adds to the problem. So there definitely is a bug in Windows thumbnail creation software, which “keeps-on-trying” to create a thumbnail thereby keeping a lock on this file.. And hence the problem.

If any M$ guy has access to the source.. Let me know if i cornered the bug !..