Lex and Yacc
Lex and yacc (now flex and bison) can be used to write a lexer and parser for such things as configuration files, trees in newick format, and so on. A basic tutorial is available here. There are also detailed manuals for flex and bison.
This is a gnu standard library that is incredibly useful for parsing command line options. It is best used with the gcc/c++ compiler. A brief description is found here.
Git (git) is a great tool for maintaining prior versions of your source code (or manuscripts) in an organized hierarchy. A free book on git is here. A quick reference is here. Open source projects can be hosted for free on github and private repositories for academic research (with some limitations) can be hosted on bitbucket. I use both. Projects on github can have web pages (gitpages) hosted as well. This website is hosted on github
This program (derived from Don Knuth’s TeX program) is ideal for writing manuscripts that use a lot of equations. I wrote my PhD in LaTeX and so have most of my graduate students. A tutorial, list of symbols, etc, can be found here.
Getting that ugly DOS ^M newline character out of your text files
I collaborate with quite a few people who use Windows and seem to be unaware that their Windows text editor is littering our shared text files with ^M DOS style carriage returns. Here is a useful emacs command to strip all the ^M characters out replacing them with a unix newline:
M-x replace-string RET C-q C-m RET C-q C-j RET
These are my favorite terminal fonts. Available here.
NGS data file formats
The FASTQ format appears to be emerging as a standard for next-generation sequencing data (particularly Illumina GAII reads). The Wikipedia description of the format is here.