Power Programming with Tags

Source tagging is very powerful source code navigation system, it beats any state of the art IDE. If you are using Emacs, Vim and TextMate then you can use source tagging for navigation. Here are the few simple steps to do it.

Step 1. Install ctags in your system. For mac

$ sudo port install ctags

Step 2. Create A tag file

$ cd /Users/username/Workspace/rails-project
$ ctags -e -a --Ruby-kinds=+f -o TAGS -R app/ lib/ config/

It is best to add this in crontab for this around 11:30am

Step 3.1 emacs

M-. Follow a tag
M-* Jump back to source.

Step 3.2 vim
just add this in your ~/.vimrc

set tags=TAGS;/

Once this is done you can navigate to source of tag by using.

C-] - go to definition
C-T - Jump back from the definition.
C-W C-] - Open the definition in a horizontal split

Hope you will be able to use this awesome feature.
C is ctrl
M is Meta/Alt/Ecs

Prevent Googlebot following links in Gmail

How to prevent googlebot following links in gmail messages? Well bad news is “Googlebot is following links sent to subscribers of a mailing list by email and it is causing those subscribers to receive an unsubscribe meesage or a added download from the list or server”.

Bigger Bad news is that age old trick will NOT work here, we can not solve this simply by adding

<a href="signin.php" rel="nofollow">sign in</a>

Best way in my opinion is to reject download count based on the user agent. Which is Googlebot in case of Google Crawler.

find long answer here.


Clan War – Let it begin

slideshare is famous as a presentation and document sharing platform. But very few people around know about slideshare‘s love for first persone shooters. It’s a daily evening trend now. If slideshare is not down then there must be a UrT match going on in delhi office. It has reached to the extent that now we have two in-house clans, each consisting of five players. It has opened possibility of five verses five clan matches.

Jeba(graydot), Pranav(silent_horror), Jai(*thunder), Tushar(zombi), Kanav(Ka_boom) and I(cpt) are in one team and Prafulla(Element), Sahil(Engassa), Arpit(cctv), Shirsendu(Toy_da_virus) and Ankur(danger) are in the other one. Kapil(anachronox) will use auto join. 🙂

Suggest me names guys.


Searching in Buffers with Occur Mode – Emacs

I mostly work on Terminal or Emacs buffer.  I love emacs. Significant part of my work involves searching for a peace of code. Occur mode is similar to grep-find and find-grep. Just that I only search for the buffers which are open. For more info go here Searching in Buffers with Occur Mode | Mastering Emacs.

Net neutrality

I was shocked to find that DOT (Department of Technology, India) has blocked major file sharing websites. This clearly is a failure of democracy in india. This proves either india does not care about Internet neutrality or India does not have infra to take right action.

Thank god I live in India. These efforts are not very effective. But they are philosophically wrong. What is this? school! where they police what we will do on internet.

Some will say this is only way to counter piracy, but I feel this is primitive and caveman’s way of moderating a civilized society. What do you say.

Tmux – Gnu Screen alternative

I am a very old user of Gnu Screen, actually I am one of those who will suggest noobs to use these better tools for servers. Gnu Screen is awesome tool. It has helped me of good help always and it will. But It very hard to configure and explore for new possibilities. If a tool is unmaintained for a long time it gets outdated. Recently I found a replacement of my age old tool. The Tmux!

Tmux is really great and very easy to use. Best part is you can set all your old shortcuts here too. 🙂

To install it in mac do

$ brew install tmux

on ubuntu

$ sudo apt-get install tmux

You can put your setting in ~/.tmux.conf

# set -g default-terminal "xterm-color"
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

This should be enough to get you started. Google for Tmux cheat sheet to know popular shortcuts. Here is the one of them. http://cheat.errtheblog.com/s/tmux