Archive for the ‘General’ Category

Back from Hiatus !

As many of you noticed, this blog has been very silent for the past 3 months – This was partly due to one of my research papers and few other minor reasons. Now that I know the drill, hopefully, the future papers should not result in full silence in the blog 🙂 Lets see how it goes….

I learned lot of very fascinating this in data mining, machine learning etc Expect few good blog posts. I will try to add a page discussion the next few topics to be blogged. If you want me to discuss about any topic feel free to post it in the comments !

During the past 3 months, my blog readership has almost doubled .. Hi to all my new readers ! Hope you enjoy my new posts too !

Read Full Post »

Blog Reboot – Ctrl+Alt+Del

The blog has been very quiet for the past few months as I have been busy finishing my Masters and sorting trying to figure out what I want to do in PhD. It has been an exhilarating ride so far and hope the fun ride continues. In all the hustle, I dropped the ball on blogging. I have been spending some time last few weeks trying to work out a blogging routine that will allow me to post periodically all the while focusing on my primary responsibility – research.

I "think" I have a silver bullet and I plan to test if it works. The broadest outline are as follows :

1. Try to post one good post every week. Usually my posts are very long and it causes a long preparation time. If the time exceeds my weekly quota, spun it as a series 🙂

2. Skip posting "Biweekly Links". The rationale behind Biweekly Links was to distill few of my favorite blog posts or articles I read in Web. Thinking about it, most of the time I took the list from my Google Reader shared list. I do read a lot of blogs and share them regularly. If you miss Biweekly Links you can either follow me in Google Reader or subscribe to my Google Reader shared items RSS at http://www.google.com/reader/shared/saravanan.thirumuruganathan . If you are a Google Buzz person, you can follow my profile at http://www.google.com/profiles/saravanan.thirumuruganathan .

3. Previously , the majority of my long articles were on topics in Linux. One of the main reasons I started to blog was to expound the really really cool ideas in data mining, machine learning and artificial intelligence. In hindsight , I did not do as good a job as I wanted to. One of the reasons was the topics I wanted to blog were orthogonal to the current courses I am taking – So this means I was spending more time to prepare some old topic – One potential solution I intend to try is this : I usually take or audit some awesome courses in my University. So I will try to blog about some of the topics in the course. For eg I have a series of posts on EigenValues and SVD lined up.

4. I also plan to relax the criteria I use to post blogs – Anything technical that is cool is worth blogging !

I do not know how the blog is going to evolve but I am willing to experiment and learn. Hopefully, you the reader enjoy the V2.0 🙂

Read Full Post »

Hello All,

Wanted to write a short post to say that I will be staying away from blog posts for the next three weeks – till I finish my Master’s graduation. I am defending my Thesis soon and I am focusing all my efforts into it.

I have lot of articles in the topic Q and I hope I will have lot more time to write them after my graduation !

Cya in three weeks !!

Read Full Post »

[Update Oct 12 2018] : Thank you  for using Chrome Nanny. It is not available in the app store. It uses an old version of the Chrome extension API/manifest. Unfortunately, I do not have time to update it. Please consider other alternative extensions. Thanks!

[Update Nov 15 2011] : Chrome Nanny is now Nanny for Google Chrome. It also has a new home. The link to Google Chrome extension gallery ishttps://chrome.google.com/webstore/detail/cljcgchbnolheggdgaeclffeagnnmhno . Please spread the word !

Leech Block is one of my favorite Firefox extensions. When I made the switch to Google Chrome, the lack of Leech Block like Chrome extension was annoying. In one of my old blog post Two Chrome Extensions I wish Chrome had !! , I had mentioned that the two extensions I miss were Leech Block and one which can track my browsing habits.

I waited for quite some time for some one to make a Chrome extension and then decided to write it myself. Google has a good API documentation and tutorial – so coding was not that hard. In the process, I learned lot of interesting stuff – and my admiration for Chrome has only increased.

What Is Chrome Nanny

Chrome Nanny is a Leech Block like extension for Chrome. It allows you to say don’t allow me to go to a particular site during the time you specify. You can also limit the maximum time that you spend on a site. This means, that you can say you do not want to be allowed to go to facebook.com from 9-5. Even better, you can say don’t allow me to spend more than 1 hour during the time facebook is not blocked (12 AM -9AM, 5 PM – 12 AM). This is probably , the most common way Chrome Nanny will be used. Also you will also not be allowed to edit or delete a blocked URL during the time it is blocked.

If you want to check out the extension, please try it out at Chrome Nanny‘s Google extension gallery. If you want to read the instructions and its features, check out Instructions at Chrome Nanny – A Leech Block like extension for Chrome.

If you try to access a site during the time when it is blocked or after your daily quota is over, you will not be allowed to visit it. By default, Chrome Nanny will close the tab. If you like, you can also redirect the tab to  go to some motivational site. For eg, I make my Chrome Nanny redirect to ocw.mit.edu. Whenever I see that ocean of knowledge, I get a guilty feeling and start to work again 😉

I also added a feature to track the time I spend on some sites I commonly visit – digg, nytimes, hacker news etc. These are the sites, which I do not want to block , but I want to know how much time I spend on them. In Chrome Nanny, these sites are called White Listed Sites. You can add a site and the system will silently start tracking the time you spent on those sites.

Tags are another of my favorite feature. You can create tags to group URLs. For eg facebook and myspace may be in social networks, google reader and technorati in blogs etc. A tag contain multiple URLs and a URL can have multiple tags. Tags are most useful when you chart the time spent on each broad activity (like blogs, news, work etc ).

Chrome Nanny also has a basic charting system. It can provide three charts : Blocked Urls, White Listed Urls and Tags. Each of these can be drawn as a bar or pie chart.

Chrome does not have any easy way to determine if the Chrome tab/window is minimized. This means that it is hard to know that the user is not at the desk. For that, I have an maximum inactive time in General Options. For eg , if it is set to 5 minutes , and there is no activity in Chrome for 5 minutes, then Chrome Nanny stops tracking. In fact , it even gives back the 5 minutes !

If you want to know how much time left in your quota , you can always click on the Chrome Nanny’s icon to see the URLs blocked and allowed now. If an URL is allowed , then it also shows how much time left today too !

Comparison with Stay Focusd and Rescue Time

I noticed that there are two extensions that have functionality similar to Chrome Nanny. One is Stay Focusd and other is Rescue Time. Both are fine extensions. You may want to select the most appropriate extension based on your needs.

Stay Focusd has a single block time for a whole day and all the blocked URLs share this limit. In Chrome Nanny , each blocked URL has individual block time and max limits. In Leech Block parlance, all the Stay Focusd URLs form a single block set while in Chrome Nanny each URL is its own block set.

Chrome Nanny can do the job of Rescue Time partly too ! If you add the urls you want to track in White Listed URLs, then Chrome Nanny will count how much time you spent on each of them. Rescue Time on the other hand tries to track and analyze any url that you visit.


I had used jqplot  for charting. It is an excellent charting system and was very flexible. The icon for Chrome Nanny is obtained from the icon set of Smashing Magazine .

Also a special shout out to Suresh, Lokesh, Ashok (who also suggested the name !), Kripa, Divya and Arvi who helped me to test the extension and gave useful suggestions. Thanks a lot guys !

Do check out Chrome Nanny and tell me your opinion !

Add to DeliciousAdd to DiggAdd to FaceBookAdd to Google BookmarkAdd to RedditAdd to StumbleUponAdd to TechnoratiAdd to Twitter

If you liked this post , please subscribe to the RSS feed.

Read Full Post »

In this post, I talk about one of my favorite utilities I use regularly – AutoKey. AutoKey is a real life saver and a great productivity boost for me. There are not much articles about AutoKey and even those few cover very few of its features. I intend to talk about some of my favorite features which I use regularly. I use AutoKey’s GTK version in Ubuntu but most of the points in the post will be applicable to other Linux variants and KDE.

What is AutoKey

AutoKey’s homepage describes it concisely as : "AutoKey is a desktop automation utility for Linux and X11. It allows the automation of virtually any task by responding to typed abbreviations and hotkeys. It offers a full-featured GUI that makes it highly accessible for novices, as well as a scripting interface offering the full flexibility and power of the Python language.".

If you have used AutoHotKey in Windows, then you will be immediately comfortable in AutoKey. (If not, you should check it out !) .  AutoKey uses Python as the scripting language instead of AutoHotKey’s custom scripting language. But the potential and functionality are very similar.

AutoKey can be used in multiple scenarios :
a) Text Substitution : Replace a short abbreviation with a long expansion. Eg adr with your full address.
b) Hotkeys : If you are a keyboard person like me, use it open various program. For eg I use windows+c for opening chrome, windows+g to open  gedit etc. Alternatively, you can make AutoKey "send" hotkeys to the applications. (Eg make it press ctrl+s automatically).
c) Automation : AutoKey supports Python scripts and has a very useful API’s to control windows, clipboard and mouse. So you can use it to automate any thing you can imagine !

The biggest advantage of AutoKey is that it works across all applications. So I can add a keyword which expands to a code snippet and use it in multiple applications – say in vim and also in gedit without any extra work.


You can read all about the utility at AutoKey’s homepage. The Google code page is the recent (and active) one even though most links in net points to a sourceforge page.

There are many ways to install AutoKey and it depends on your OS. For Ubuntu, the easiest way is to install using the update manager. I would suggest using the update manager as it will install the dependencies automatically. If you want to be in the latest code then the best solution is to add AutoKey PPA to your system. Instructions for adding the PPA is in the linked page. I would recommend getting the latest version (0.70) as it has lot of new features and some important bug fixes. Of course, if you use any other Linux variant, you can always install from AutoKey’s source at the download page.

Starting AutoKey

You can start AutoKey in Ubuntu by Applications -> Accessories -> AutoKey. Or in command line (for GTK) as /usr/bin/autokey-gtk. Once it is started , you will see an blue icon with "A" in the tray.

Once you start using AutoKey , you will prefer to start it when the system starts. For Ubuntu (GTK) AutoKey, System -> Preferences -> Startup Applications , enter "/usr/bin/autokey-gtk" as an additional startup entry. Note : AutoKey also has an option in its preference to start automatically but it did not work for me.

Some Basics

AutoKey appears in the tray as a blue colored icon with "A" in it. Most of the time, it runs passively , reading your keystrokes. Right click on the icon and make sure that the checkbox "Enable Expansions" is checked. Only then AutoKey will perform the expansions.  To make any changes, you need to access its configuration dialog box. To get it , right click on the AutoKey icon and select "Configure".

The configure window will look like this.

AutoKey Usage  : Phrases

Phrases are the easiest way to start with AutoKey. You can consider this feature as a powerful text expansion. For eg you can enter the string "adr" and get it expanded to your whole address.

Phrases : Example 1
Lets take a simple example. Whenever I type the string "akr" , I want it to expand to "Auto key rocks !" . To get this , open the AutoKey config editor. Create a new phrase by File -> Create -> New Phrase (Or Ctrl + N) . Give the phrase a valid name. (Eg AutoKey). In the phrase box (the large text box – which is actually an editor !) , type "Auto Key Rocks !". In the "Phrase Settings" section, click on the "Set" button near "Abbreviation". Type the abbreviation as "akr" . Your screen will look like the image at the bottom. Click "OK" and click on "Save" button. Congrats , you have created your first phrase.

Lets now test it out. Open gedit (or kate or some editor) and type akr. Watch it expand to "Auto key rocks !". Now try it in vim. Try it in Firefox. Try it in Open Office. Watch it work at all the places.

Phrases : Example 2
Now let us make it slightly more complex. Lets say we want a tab in between each word. (Auto    Key    Rocks    ! ). To do that, select the phrase you just created. In the editor box, type the following. "Auto<tab>Key<tab>Rocks<tab>!" . Thats right. When AutoKey sees <tab> it expands it to the actual tab character. Now save the phrase again and try it .

Tab is not the only hotkey that AutoKey supports. It supports virtually all the special keys in the keyboard. You can get all of them at AutoKey’s Hotkey’s page .

Phrases : Example 3
Another of my favorite feature is "Match phrase case to typed abbreviation" . To try it out, give "Auto Key Rocks !" (ie remove those tabs) in the editor box. Click on "Set" button of "Abbreviation" . Select the checkbox “Match phrase case to typed abbreviation". The next checkbox "Ignore case of typed abbreviation" should be automatically become checked. If not check it. Save the phrase. The dialog must look like the image below.

Now experiment with various ways of typing the abbreviation.
"akr" auto key rocks !
"Akr" Auto key rocks !
"AKr" Auto Key Rocks !

Phrases : Example 4
Another thing to try is to give hotkey to the phrase. Of course, it does not make much sense for this small phrase. If you have a large paragraph and want it copied in a single command , then hotkey is the way to go. Again , hotkeys are very useful when using Scripts. (Which I will discuss shortly)

Before setting a hotkey, the usual caveats apply – make sure it does not clash with other applications’ functionality (Eg ctrl+s for expanding phrases is a bad idea !) . Also if you are using Hotkeys make sure it is memorable.

As a simple example, lets make "Auto key rocks" when we press ctrl+alt+q. To do that , click "Set" near "Hotkey". You will get a dialog. Click on "ctrl" , "alt". Now to set "Q" , click on "Press to set" and type "Q". Press "Ok" and save the phrase. Your screen will look the image below  . Now type "ctrl+alt+q" in any application and watch it become "Auto key rocks !".

Phrases : Example 5
Let us suppose you want your abbreviation to work only in one application. This can be achieved using "Window Filter". Let us take an example. You want akr to be expanded in Gedit only. Notice that any document (new or existing) opened in Gedit ends with the word gedit. We will use that as our filter. To achieve that , select the phrase and click on "Set" near "Window Filter".  Enter ".*gedit" as the filter. There are two things to note here .
a) The filter is actually a regular expression which has lot of expressive power.
b) The regular expression must match the whole window name. Just having "gedit" will not match a gedit window.

Phrases : Example 6
One of the common ways I use Phrase is to expand code snippets. For eg when I type cppincs , then I automatically the following snippet. It works whether in vim or in gedit. (If you use primarily vim, then checkout vim plugins like snippetsEmu or snipMate ).

#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <algorithm>

using namespace std;

int main()
return 0;

Phrases : Example 7
You can use AutoKey to enter username and password automatically. A simple example is to have a phrase like “username<tab>password<enter>”.

Misc Phrases Features

There are some other options in Phrases menu. These features are applicable to scripts also.

a) "Always Prompt before pasting this phrase" – If checked, when you type the abbreviation , you will see a confirm from AutoKey. Only when you confirm it will be expanded. I doubt , you will ever select it.
b) Show in Tray menu : If you select this option, your phrase will be visible when you right click on the AutoKey icon. I guess , this will be useful when you dont assign an abbreviation or hotkey for a phrase.  But again, why will you ever do that ?

Misc Abbreviation Features

When you click on "Set" near "Abbreviation" you will see lot of options. Again, the same description applies to scripts also.

a) Remove typed abbreviation : It is usually checked. This means you are actually asking for a text substitution. ie "akr" becomes "Auto key rocks !" . If you uncheck it, then "akr" becomes "akrAuto Key Rocks !".
b) Omit trigger character : Typically the phrase is expanded when you type a space or press enter. If you select this option, they will be ignored.
c) We already discussed "Match phrase case to typed abbreviation"  and "Ignore case of typed abbreviation" in Example 3.
d) "Trigger when typed as part of word" and "Trigger immediately"  : These two work in conjunction. If both are checked, the abbreviation is expanded immediately without waiting for space or enter.

AutoKey Usage  : Scripts

Scripts are the coolest feature in AutoKey. AutoKey uses Python as the scripting language for automation. If you don’t know Python, you should really learn it ! AutoKey has an excellent set of API to make your code a breeze. Scripts come into play when you want to do more complex things than simple substitution. Examples include : bringing the current time in the document automatically, adding selected word automatically to Google calendar etc. In fact you can even show some rudimentary GUI to user. Most of the features in scripts are similar to phrase features.

Scripts : Example 1
This example is from AutoKey’s sample scripts page. Lets say you want to bring the current date and time whenever you typed the word "date" in any     application. File -> Create -> New Script (or Ctrl + Shift + n) . You will be see a editor with full Python code highlighting. Enter the following script

output = system.exec_command("date")

The screen should look like this :

Note that in this case, system was already imported. If you want to use some other package, you might want to import it first. Give "date" as the abbreviation. Save the script and type "date" in any application and watch it magically become current time (Eg Wed Apr 14 21:14:27 CDT 2010 ) . Of course, you can have a hotkey assigned for the script too !

Scripts : Example 2
One of my favorite way of using AutoKey is to use it as a way to invoke applications. I am more of a keyboard person and like to do everything without touching the mouse. For eg , when I press "super+c" , Chrome gets started. Lets try it now.

In a new script , press the following code and assign "super+c" as the hotkey. Super is nothing but the windows key on the keyboard. After saving it , when you press "windows(super) + c" , Chrome starts !

import subprocess

You can note that there are two ways of invoking commands. "system" is the old way of invoking it. It works well when you want to wait for the output of the command. "subprocess" is much more flexible. I have used "Popen" which is typically used to start a program and you want to wait for it to end.

Scripts : Example 3
Alternatively, you might want to use AutoKey to open some folders or files based on a hotkey. Eg open your "Ubuntu One" folder with a hotkey or open some excel sheet. A generic way (Obtained from the discussion here ) is given below. xdg-open intelligently, opens the file/folder using the appropriate viewer/program.

import subprocess
subprocess.call([‘xdg-open’, ‘PATH_TO_FILE_OR_DIR’])

Scripts : Example 4
There are lot of interesting ways to use the full power of Python. Some clever usage can be seen at Favorite scripts 1 ,  and Favorite scripts 2 .

Scripts : Example 5
AutoKey has a powerful API to control windows, clipboard, mouse etc. For eg, you make a particular window come to foreground (see window.activate) , get the selected text, get contents of clipboard, add a text to clipboard etc. You can check the AutoKey API reference.  You can also check out some sample scripts .

Another neat feature is to provide a lib folder and AutoKey will import all files in that folder. I have not tried this feature, but I think it should work. To get that Edit -> Preferences -> Script Engine.


AutoKey uses folders to organize the phrases and scripts. You can either create a new top level folder or some nested folders. This concept is quite easy to use. I group the phrases and scripts based on their functionality and intent. You can use any organization that works for you.


The concept of tray is another useful feature – Although, I rarely use it. There are two ways to add a phrase or script to the tray. First is to add the phrase/script within the "Tray Phrases" folder. Other way is to check the checkbox "Show in tray menu" (for both phrase and script). In both the scenarios, when you right click on the AutoKey icon, you will see them. My guess is that this will be useful if you did not set a hotkey or abbreviation.


AutoKey has a intuitive preferences menu. Common things to do are :
a) Enable "Prompt for unsaved changes" checkbox in "General" tab. If unchecked, the phrase/script changes are automatically saved.
b) Also check "Enable undo by pressing backspace". This means when you want to type a text which is a abbreviation (eg akr) without getting expanded, then you type the string,let it expand and press the backspace immediately. It will give the abbreviation without the expansion.
c) Another thing to change is default hotkey to get AutoKey’s config window. It is usually ctrl+k which interferes with Firefox’s search button.
d) Check out other options and enable as you feel fit.

Miscellaneous Stuff

1. Autokey works by catching you keystrokes and doing the expansion or script execution. This has many implications which you will notice when you use AutoKey a lot. For eg when you copy paste a text with an abbreviation , it will not expand as you did not "type" it. Similarly you can cause a abbreviation to be not expanded if you use your left/right keys. Of course, using backspace within an abbreviation still results in proper expansion.
2. Previous versions of AutoKey had a nifty hotkey called cursor which will place the cursor at that position. It is not supported. For  a workaround , see this Ubuntu forums thread. To give it here ,

firstPart = "First part of the text. Cursor ->"
secondPart = "<- second part"
keyboard.send_keys(firstPart + secondPart)
keyboard.send_key("<left>", len(secondPart))

3. If you want to see all the AutoKey topics and responses , check out their mailing list topics.
4. AutoKey now uses a json file for configuration. It is located at ~/.config/AutoKey/AutoKey.json. Enjoy playing with it ! This also means that if you want to use the same settings across users , just create a symlink to the same file. If you want to share across multiple machines use Dropbox or Ubuntu One. For more details, check this AutoKey thread.
5. If you face any issues when using it, follow the instructions at the Troubleshooting page before shooting a mail. That said, I have to say that AutoKey mailing list is very active and helpful !
6. This is a post from LifeHacker on snippits , another tool similar to AutoKey. I would not recommend it (as I had  a hard time even installing it). But the point is , you should be able to use most of the things done in the video and more using AutoKey. Use that video as an exercise for testing your AutoKey skills 🙂
7. There is another project called IronAHK that is going on which brings AHK to Linux. It is not yet ready for prime time. If you are a AutoHotKey user , may be you will find it useful.

Good Discussions In AutoKey’s Mailing List

I notice that AutoKey’s mailing list occasionally bring up some creative way of using AutoKey. I hope to keep this section as a live one which catalogs the discussions that bring out a new facet of AutoKey. . 

1. Can I exclude windows in Window Filter?

Yes. See here .

2. How to get a script to invoke an abbreviation ?

See here .

3. Restrictions in using modules in AutoKey scripts :

See here and here.


I have liberally used resources from AutoKey’s wiki pages and its mailing list. I learned lot of very interesting points from AutoKey’s mailing list. I have linked to some of them and given the essential point of the thread in some places. If you are using AutoKey , then you must join the list. It is a very helpful and active list.

In conclusion , AutoKey is a very neat utility . Clever use of it will tremendously improve your productivity. I hope this post helped to use it better ! Have fun with AutoKey !

Update [04-15-2010]: Corrected a mistake  pointed out by Chris. If “Prompt for unsaved changes” checkbox is unchecked, changes are saved automatically. You don’t lose the changes as I wrote.

Add to DeliciousAdd to DiggAdd to FaceBookAdd to Google BookmarkAdd to RedditAdd to StumbleUponAdd to TechnoratiAdd to Twitter

If you liked this post , please subscribe to the RSS feed.

Read Full Post »

The first part of the Indie Blogs series was pretty popular. Here are some more blogs that I find interesting.

1. Coconut Chutney
Has a lot of nice posts. Probably the blogs most popular post (and also my favorite) is Deviance.

2. Confessions of a Magnificent Mind
A good to read blog with some nice observations.

3. Desikan
One of my favorite Tamil blogs. Mostly written in Tamil script. Has posts on variety of topics. I especially like his short stories with a subtle humor. Many of the posts are in Sujatha’s Katrathum Petrathum style which makes it even more enjoyable !

4. Idling In Top Gear
This is a nice blog although his most recent posts are on his MBA application process. Some of his old posts were quite striking. Hope he finds some time to blog in the future !

5. Maami’s Weblog
Another interesting blog . I like the occasional short stories in this blog.

6. The Vigil Idiot
A very funny blog. Most of the posts are about movies (Hindi/English) and his commentary on them. You will have a great time reading it.

7. Wake up and smell the masala
I found this blog while searching for recipes. Even though , I suck at cooking , that did not prevent me from reading posts on them . This blog has some nice posts on recipes. Best of all , the blog also has a YouTube channel showing some of the cooking.

8. தாளிக்கும் ஓசை
Another exceptional blog. It talks about a variety of topics ranging from cooking to tamil poems to some commentary. One thing that is notable is that the cooking items are mostly Tamil Naduish (or atleast south Indian). I like this blog’s About page which is well written with great humor.

Have fun with these blogs !

add to del.icio.us : Digg it : add to ma.gnolia : Stumble It! : :post to facebook

Read Full Post »

Google Reader Tutorial

Google Reader is my favorite Google product. I spend significant time every week using to read blogs. I have been intending to write a post on Google Reader but never got past initial drafts.

After Google introduced Google Reader play today, I thought let me complete my post and here it is ! If you want to read about Google Reader Play check here or if you want to check it out click here.


First Things First – What is Google Reader ?

Not Invented Here strip for 3/9/2010


Google Reader is a web based  newsreader / aggregator / rss reader etc . Consider this scenario : You read say 10 blogs. If your way of following blogs is visiting all of their sites every day, then you need Google Reader. Google Reader allows you to subscribe blogs and read the posts in one convenient location.

Getting Started

To use Google Reader you will need a Google Account. Note that I said Google Account and not GMail Account. You can have any email id as your Google Account. Jump to www.google.com/reader and login using your google account. If for some reason , you want to try Google Reader without much commitment then try Google Reader Play at http://www.google.com/reader/play/ .

Your Google Reader interface might look something like this.

Adding A Subscription

To add a blog to the Google Reader there are at least three ways.

Method 1 : Click on the ‘Add a Subscription’ button and type in the blog name. Eg New York Times.

You will get a page with the results and you can click on Subscribe to subscribe to the feed.

Method 2 : Same as above but instead of blog name provide the blog url.

Method 3 : If the blog has a feed , then in your browser you will see an Orange icon in the address bar. Clicking on it will take you to a subscribe feed page where you can subscribe using Google Reader. If you do not use an option to subscribe using Google Reader, then note the feed url and use method 2.


Other Easier Ways to Get Blogs To Subscribe : Blog Discovery Process

In the initial phases, it will be hard to find the blogs which you want to subscribe. I would say this is mostly a blog discovery process which is usually slow. Usually you start with some of your favorite blogs – then you slowly add more blogs which are suggested in yours posts or from your friends and so on.

If you are impatient you can follow one of the suggestions .

1. Shameless Plug : You can use my list of blogs a starting point .  I follow around 300 blogs covering a wide variety of topics. Feel free to throw away the blogs you don’t read. If you want my OPML feed is here. To use it , download the xml file.  Click on Settings at top right hand corner and select “Reader Settings”.  Select the “Import/Export” tab and import my list of blogs. Pros : You get a large list of neatly annotated blogs. Cons : Lot of blogs might not be what you want.

2. If you have some blogs in some specific areas like News or Politics then the easiest way to get blogs is from Google Reader Bundles. Click "Browse for Stuff” and it will give you some bundles of popular blogs in some topic. You can create your own bundles but that is something I have not done it.

3. If you have friends who already use Google Reader and who shared their items then the best way is to get stuff from them ! Click “Browse for Stuff” and select the “From Friends you follow” tab . This will list the blogs subscribed by your friends or people whom you follow.

4. If all else fails, you can search ! Click “Browse for Stuff” and select the “Search” tab. This allows you to search blogs in your topic of interest or you can even do a people search. There is also  a Recommendation tab which gets better as you use Google Reader. It might show some generic blogs at beginning but hey something is better than nothing. Another long shot is this : Google Reader has a power reader’s page which lists the blogs read by some celebrities from which you can pick. Check out the Power Reader’s page.

5. In case, if you already have some blogs and want similar blogs, go to that blog folder in Google Reader . Click on the “Folder Settings” button and select “More Like This” .


Reading And Sharing Blog Posts

One of the first things to do after setting up initial blogs in Read and then Share !. Reading a post is straight forward. Just click on a post and start reading ! If you want to read the post from the website, click on the “Title” or if you are a keyboard person type ‘v’ .

You would like to share the blogs you read with your friends. If they are also using Google Reader then it is easy !. Google has a very convenient process to share items.

I will first show you how to share items and then will discuss the various other mechanisms.

Whenever you read an article , you can do many operations  on it. If you like the item, then you can click on “Like” button.  If you want to Star it similar to starring in Gmail, you can do too ! Finally if you want to share it with your friends (or the world), you can share it. The various options are shown in the following image .


I usually do the following : If I want to share an item then I click on “Share” icon (I also like and star it) . If it is interesting but I don’t want to share (for eg NSFW items) then I usually Like it and Star it (but don’t share it) . This allows me to find items that I like easily and also share items.

As I said, you can share your shared items with friends or with the world. To do that you need to modify your sharing settings. Click “Sharing Settings” under “People you follow” tab.  Here you can allow all of your shared items to be visible to public or to some specific groups. Google Reader is really flexible is this aspect and you can manage the sharing as granularly as you want.

If you want finer control – for eg you want to share only cartoons and not political items you can kind of do that. For that you will put all cartoon blogs in one folder (i will explain about it soon) and politics blogs in another folder. Then go to Settings –> Reader Settings –> Folders and Tags.  Select the folders that you want to share (here Cartoons) and then in the “Change Sharing” drop down choose Public. Let Politics folder remain as private.

There are other ways to share too. I don’t use it much but you might prefer it. One of the simplest is to email a post. Click on the “Email” icon and you can send to your friends with your note ! Google also has a powerful “Send To” feature which allows you to send the article to various places like Digg/ Facebook/FriendFeed etc. This might need some setup. Check out A flurry of features for feed readers for details.

Also, I have setup so that all my shared items are sent to my Google Buzz. For details check Readers : Get your Buzz on.

Organizing Your Blogs

Once you start having more blogs (lets say above 50) , then the Google Reader interface starts looking very crowded. Its time to organize ! There are two ways to organize – folders and tags.


Folders are the natural way to organize blogs. If you look at the snapshot of my Reader above , it will have many folders like Academia/AI Blogs/ Cartoons / Data Mining blogs etc. You can organize your blogs by topics in a similar fashion.

There are two ways to put a blog to a folder –

1. Go to the feed . Click on “Feed Settings” and assign it to some folder.  If the folder does not exist yet, select “New Folder” at the bottom. Note that a feed can belong to multiple folders. In this sense, it is more like GMail Label than an actual folder.

2. If you want to organize all the blogs in a single shot then Settings –> Reader Settings –> Subscriptions.  Here you can select blogs and assign to folders in a single shot. You can also rename or remove a feed here.


If you want to tag a post, you can see the Tags  option at the bottom of the post near Like/Share/Add Star. You can add any tags you want. Tags will behave like folders but with a different icon.

You can use both of them. I usually use Folders to classify blogs and use Tags to tag a post for some fine grained detail. (Eg Machine Learning blogs can be the folder name and Classification/Clustering can be tags for the posts which use Classification or Clustering.

You can do all things possible on folders on tags too. Eg you can share / delete specific tags.

Unsubscribing a Blog

Sometimes you will need to unsubscribe a blog – may be you did not like it. Or it has too many posts for you to read (hello Slashdot or Hackernews) .  There are two ways to do it too !

1. Go to the feed. Click on “Feed Settings”  and select “Unsubscribe”.

2. If you want to unsubscribe multiple blogs then Settings –> Reader Settings –> Subscriptions  . Select the blogs and click on “Unsubscribe” to do it in bulk or you can use the Trash icon for doing it individually.


Keyboard Shortcuts

I prefer using Keyboard to mouse anytime. Google Reader has a comprehensive set of keyboard shortcuts to do all operations. To see the entire list press “?” in the Google Reader.

My favorites are :

j/k – Next/Previous blog post.

<shift>+n/p – Next/Previous subscription.

s/l/<shift>+s – Star / Like / Share an item

v – view the post in the original context. (Some blogs might provide summary in feed and may require you to view the full post in their blog).

<shift> + a – Mark all posts as read (Trust me , you will need it !)

r – refresh

a – add a subscription

/ – Move cursor to Search textbox.



Trends are a neat feature in Google reader that provide neat statistics.  For eg, it provides statistics on your activity for past 30 days (I read 2906 posts !) .  The most useful is the Subscription trends. I use it to prune the blogs which don’t update much. (Hopefully, my blog will not suffer that fate !)

This also shows statistics about your friends so that you can have a competition among them !

Another of my favorite graph shows “Time Of Day” and “Day Of the Week” reading statistics. According to them , I read mostly between 2 PM – 10 PM CST  (Which I kind of know) and read heavily between Wednesday-Friday (which is a surprise !)

Shared Items Page

If you decide to share your shared items publicly (see ‘Reading and Sharing Blog Posts’ ) , then there are lot of additional things you can do.

1. I would suggest setting up a Google profile because it makes your shared items page url more readable : Eg http://www.google.com/reader/shared/saravanan.thirumuruganathan vs http://www.google.com/reader/shared/02438731866835478013 .

You friends can subscribe to your shared items as if it is a blog ! (Hint ! Hint !)

2. You can add a dynamic  item (say in your blog) to show the items that you are sharing. Go to “Sharing Settings” and then select “Add a clip” .  Add the resulting html snippet to your blog. This might not work in WordPress.com sites as it uses Javascript.

3. If you want to show your shared items in your WordPress.com blog, the easiest way to do is to add “RSS” widget to your page and give it the url of your shared items page.

Other Stuff

This has become a long post and so I will start wrapping up. I have not talked about some interesting stuff . If you are interested check them out – sort by magic , adding notes, commenting on your/your friend’s post , recommended posts,  using Google Reader on sites which don’t have RSS (check  here ) .  I also have not talked about RSS/Atom. You can get further details from the net.

Other Resources

1. I liked this Youtube video on Using Google Reader.

2. Of course, check out the Google Reader help page.

3. Do subscribe to Google Reader blog.


1. I have used images from Not Invented Here and Google Reader Help.

Read Full Post »

Older Posts »