This is a list of some of the tools that I use on a regular basis that have come to be an essential part of my workflow.
I use LaTeX for typesetting, and MacVim for typing (here is my .vimrc). References are managed using Bibtex. I also use Bibdesk, which is a simple GUI frontend for Bibtex files.
Most papers are kept in private repositories on Bitbucket. My coauthors and I use Git to allow us to work remotely on a paper and merge our changes. If a coauthor is not comfortable with Git, papers are kept on Dropbox.
I keep abreast of the literature using Inoreader (an RSS feed reader) with subscriptions to about a dozen arXiv and journal feeds. I have a few alerts set up on Google Scholar, which I also use for finding specific papers. See my post on Searching the Scientific Literature.
Lately, I write most presentations in Keynote. I use Latexit to typeset equations and paste the resulting (vector) graphics onto slides. For drawn diagrams, I use Omnigraffle.
Most of my coding is done with MacVim, in Python or Fortran. I also use the following:
- IPython. For interactive running and debugging.
- The Jupyter notebook (formerly IPython notebook). For organizing, recording, and sharing code with animations and mathematics.
- Github. For collaborative code development.
Matplotlib and VisClaw.
- The Jupyter notebook (formerly IPython notebook).
Notes and productivity
- NValt. For managing plain-text notes, which I use for everything.
- Omnifocus. For managing all the non-research stuff I do.
- Gitit. Wiki software that runs the KAUST Mathwiki, for internal collaboration within my group.
- Jekyll. For building this website.
- Coda. For the Numerical Mathematics Group site