Git Visualisation with Git revision tree

There are many tools that help you visualise a git repo, like gitk, gitg, git log. But when recently I was looking in to a project that got very complex git branching stuctures, none of this could visually illustrate a branching graph. Something like revision tree in SVN or Clearcase. There are few attempts to better visualise a git branching like the GitRevisionTree project from crc8 .

GitRevisionTree is written in .Net, was not readily compiling on Linux (ubuntu). So I forked it and ported it to linux and added instructions to build it. Until the fork is pulled upstream , you can get the Linux ported version from

sudo apt-get install mono-devel graphviz
git clone
cd GitVersionTree
xbuild /p:Configuration=Release

Its Little tricky file browsing from a .net app on Linux. So Am adding a screenshot as well.

gitrevisiontree select repository
gitrevisiontree select repository

To See a sample visualisation go here

iftop with colours

Recently I was involved in a lot of trouble shooting a complex network flow. Close to 8 iftops keep running on my extended monitors and at time it becomes difficult to differentiate the download and upload bandwidth with one look. So I thought let me top this excellent bandwidth monitor tool from Paul Warren and Chris Lightfoot with colors. here is how it looks.

screenshot of iftop command with colour output
iftop command with colour output

The code is available in github. If you are using ubuntu, you can directly install iftop colour version from this PPA. Basically I have patched on the latest code avaialble for ubuntu 13.10 (Saucy). David Heidelberger has ported it to Gentoo

[Update: 24May2014] updated ppa for ubuntu 14.04 – Trusty Tahr . Git has the latest code.

Check airtel 3g balance on Huawei e303c from Ubuntu linux

To check Airtel 3G balance on huawei e303c ubuntu Linux perform the following steps

  1. Install Gsm-ussd. For ubuntu or debian Linux download the deb and for Redhat or RPM based Linux download the rpm binary.
  2. connect your Huawei E303c 3g modem to the computer. if this is the only modem connected , it will create three usb serial devices named ttyUSB0, ttyUSB1, ttyUSB2. You can verify that by running
    dmesg | grep ttyUSB
  3. Then run the following command from shell.
    sudo gsm-ussd '*123*11#' --no-cleartext -m /dev/ttyUSB2

The output will look like this

Your current 3G Mobile Internet balance for your airtel number are: 1Amt 1421.14 MB&VD Jun 27 2013 ;2Amt 0.00 MB&VD Jun 26 2013.

Issues you might face
For some reason the gsm-ussd tool is not consistent. Sometimes the above command will throw this error even though the Sim is not protected with pin.

ERROR: SIM card is locked, but no PIN to unlock given.
Use "-p "!

However waiting for few seconds and retrying the same command works. Looks like some device lock issue.

Sometimes running this command will disconnect you from internet. And any attempt to reconnect will fail. Sweat not, remove the dongle and connect back and try dialing. It will connect now.


Tools required for meaningful Human computer interaction in Indic Languages

Am trying to consolidate all the different type of language and interaction tools required to make computer better at understanding and interacting in human languages. I have captured it as a mind map in Xmind . This will be a living document and welcome any suggestions on tools / technologies that I have missed.

Interestingly most of the technologies like nlp, speech recognition and speech translation are still at very nascent stage. But sadly there is hardly any research being done for Indian / Indic languages like Hindi , Tamil etc. some technologies are relevant to only Indic languages for example Symbol translation. Languages like Tamil owing to its ancient nature, have different scripts at different stages of its evolution , namely Brahmi-tamil script, vateluthu (வட்டெழுத்து), modern script. Symbol translators convert a text from ancient script to modern script of the same language.



Universities wiping out trees in the name of project record.

Cut trees for project record
Cut trees for project record
Every year lakhs of student in India religiously perform a task , vital for the graduation, called Project submission, The evidence for project submission is the project record. Typically A hard bound notebook of bonded A4 paper with water mark of the student registration no.. Contents are printed typically on one side of the pages. Students of Computer science , who writes program solely to be executed on the computer, also has to print the program and submit the project record. Except for few premier institutions that have upgraded themselves to the digital age , most of the colleges are still stuck in the 90’s practice.

Couple of years back, Indian railways allowed its passenger to board train by showing digital copy of the ticket instead of printout. Reason, was every day 3 lakh sheets were printed for etickets. This number, has considerably come down by allowing digital copies.

I did a rough calculation, which I have shared below. Every year Indian universities and colleges wipe out 50000+ trees for a process which doesn’t have direct benefit to either Students or faculties. Did you ever touch your record note book after you submitted your project?

There are other serious side effects in using a project record

  • Projects cannot be searched. if a student wants to find out any earlier work on his/her current project, it is extremely difficult to do it now.
  • Universities cannot verify fake or duplicate projects, since it is not searchable.

Better alternative.

  • AICTE or University should mandate that all college projects should be submitted as digital copy in a prescribed template instead of paper records.
  • A central database where students can search and study previous projects.
  • The central database can be used by employers to verify the student’s work.



image courtesy: background image from