Tools
Even though we don’t work in a laboratory, computationalists use many tools that make our lives easier and more convenient every day! I want to highlight some (especially those that exist thanks to the uncompensanted efforts of open-source developers) here, to provide some acknowledgement to those developers and also in case you’re looking for a tool to do something similar, or do it better!
I’m also always keen to learn new tools, so if you think you can improve my workflows, give me a shout!
Progamming Languages
My most fluent programming at the moment is Python, although I’m working on learning Julia!
I use a lot of different Python packages too. For data-wrangling, I couldn’t live without Pandas or the rest of the SciPy ecosystem, especially NumPy for mathy things and matplotlib for visualization. Seaborn is another great visualization package built on top of matplotlib. For simple parallelization tasks, Joblib makes life a lot easier. And for interacting with HDF5 files super simply, deepdish (sadly no longer maintained) is also pretty great.
Git is a great and near-ubiquitous version-control system. I’m at a pretty basic level of git competency, and like many people, I also use GitHub.
Maybe it hardly bears mentioning, but a big barrier for many new computationalists is getting familiar with a Unix environment. If this is something you are (or someone who know is) dealing with, I heartily recommend Unix for the Beginning Mage as a whimsical yet effective learning tool.
Programming Environments
For interactive testing of Julia and Python code with inline output, I’m an extensive user of Jupyter. Binder is a related useful tool that lets you spin up Jupyter kernels from git repos in the cloud!
I learned about iTerm2 from my amazing friend and mentor Prashun and never looked back. Just a super reliable, customizable terminal app. I particularly love their Minimal theme and status bar customization options in the latest release!
When I’m editing code on a cluster, I’m a very-much-not-power-user of Emacs, but when I’m able to edit locally, I love love love Atom. Super nice-looking out of the box but nearly infinitely customizable with extensions for every possible need! The extensions I use include
Academic Life
I manage my papers/bibliographies with Zotero.
I recently switched over to Spark as my email client. Once they fix some bugs with their calendaring, I will likely use it for that too, but for the moment I use Google Calendar for that.
I keep notes using Bear, which I do pay for, but it’s a quite modest fee for a totally gorgeous, functional app that syncs across all my devices.
I’ve moved to Overleaf almost exclusively as my LaTeX editor. I love not having to manage a TeX environment locally, and being able to easily collaborate with others, etc.