Doxygen
Doxygen is a documentation generator, a tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D. The documentation is written within code, and is thus relatively easy to keep up to date. Doxygen can cross reference documentation and code so that the reader of a document can easily refer to the actual code.
Doxygen is developed under Mac OS X and Linux but is set-up to be highly portable. As a result, it runs on most other Unix flavors as well. Furthermore, executables for Windows are available.
Git
Stop tracking a remote branch in Git
git branch -d -r origin/<remote branch name>
git branch --unset-upstream <branch>
Push a new local branch to a remote Git repository and track it too
git push -u origin <branch>
Push to a remote repo
git push origin master
Create a new git repo on my own server
http://git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server
Vim
To run vim within bash script
vi input_files/Solver.yaml < /dev/tty > /dev/tty
vimdiff shortcut keys
ctrl+w ctrl+w - switch windows
do - diff obtain
dp - diff put
[c - previous difference
]c - next difference
:diffupdate - diff update ;)
:syntax off - syntax off
zo - open folded text\
zc - close folded text