## Better git diff

git diff is very good and crisp to see quickly what changed, but if you are reviewing a big non-trivial change across many files it gets a bit tedious and irritating.

So I found this post –> http://jeetworks.org/node/90 which basically suggests using “git difftool” instead of just “git diff”. git difftool will have some default editor as the diffing agent.

Alternatively you can also set it yourself in the gitconfig to mayber soemthing like vimdiff.

## .gitignore not working

A very common problem with gitignore when you just setup is the memory it has of the files already being watched by it which you want to be ignored now on. So basically, you need to clean everything from git’s index and then add it back! Super.

Source: http://www.randallkent.com/development/gitignore-not-working

## Taskwarrior – task

After looking for many simple task managers around I have finally settled with Taskwarrior

It is simple, runs on the terminal, extremely lightweight as it is just a text data file which gets created. Also you can do some pretty complicated things with this. Along with simplicity of using it and having used it, it allows for a multitude of options. It has both simple and advanced features and a developers guide to create cool/useful plugins for linking it with something else you are comfortable using.

Also, I am using Git along with it to keep my task lists in sync. Also there are tons of features along with this. It’s simply elegant. I will be trying to sync some required tasks out of these with my google calendar in case I like to be buzzed. And with googlecl this is very easily possible.

Never have my todos looked so clean! Try it for yourself!

## googlecl

http://code.google.com/p/googlecl/

Googlecl is a command line way of accessing the common google services like blogger, calendar, docs, picasa, youtube and contacts(as of now I think). Personally I had always wanted this handle of changing things without all the GUI and waiting ofcourse.

For examples on what sort of things can be done through this, check out this —>

http://code.google.com/p/googlecl/wiki/ExampleScripts

Think of all the possibilities and ease of doing complex things like uploading photos and videos and editing docs along with all the command line power 🙂 I am practically waiting for opportunities to use this extensively.

## Sage: Open Source Mathematical Software

http://sagemath.org/

I attended Sage Days 25, India, held at IIT Bombay. Sage is an ambitious mathematical open source software written mainly in python very actively developed and has gone from just an algebraic geometry software to a giant mathematical piece of work ready to replace matlab and/or similar softwares.

Sage is growing, and growing very fast. Also with sage you can actually run maple, mathematica, etc. codes without any hiccups. The founder, developer and mathematician – William Stein has been instrumental in bringing sage to a stage where it is. Sage has basic to advanced implementations on almost all mathematical fields I have ever heard of and much more apart from that.

One thing worth mentioning is the sage web-based notebook feature. You have to try it to believe me. It’s is wonderfully easy and intuitive and just a great implementation of the so-called terminal based software into the browser itself. Anyone involved in mathematical computing, I would suggest you to try sage!

## Python data frequency code

This is a very simple script which can be used to get the frequency of any dataset. All you need is a list i.e. the data in a python list format.

So if you have a column of data with repetitions and want to know the frequency of occurrence, you want this. It’s very simple but i wrote it and published it help fasten our daily needs 😀

Here is the function.

def create_frequency_dict(a=[]):

a.sort()

b={}

value = 0

for i in range(len(a)):

if i==0:

value += 1

elif a[i] == a[i-1]:

value += 1

elif a[i]!=a[i-1]:

s = str(a[i-1])

b[a[i-1]] = value

value = 1

b[a[i]] = value

return b

## Google Chart Tools

An awesomely elegant simplistic tool

Also there seems to exist a python wrapper for this thing –> GChartWrapper 0.7

The options for the types of charts you can make are simply mind blowing. It ranges from the simple pi-bar charts to the weirdest looking compound charts. The entire gallery resides here, you can pretty much graph anything in the world with all the control in your hands.

And the possibilities become endless with the interactive charts aka the visualization API (javascript-based). Visit the playground. Google with one more great product api towards a better world. 🙂

Enjoy! ~