Academic Toolchain
TL;DR: A totally biased and incomplete selection of tools, services, and packages that I am using in day-to-day operations to boost efficiency and free up time for the things that really matter. List is expanding over time. Use at your own risk - happy to answer questions.
One of the biggest struggles that I have faced is to keep all the auxiliary tasks that rain down on one, often offering little value add, at bay. Good tools and hacks can make one’s life much easier and can lead to significant speedups and time savings. I purposefully want to take a utilitarian stance here and do not want to engage in any philosophical discussions: the goal is to operationalize and execute. This list will be extended over time and, yes, there are many setups that can work but:
These are my tools. There are many tools like these, but these ones are mine. My tools are my best friends. They are my life. I must master my tools as I must master my life. I will learn their weaknesses, their strength, their shortcuts, their add-ons, their packages, and their configurations. I will keep my tools up-to-date and ready, even as I am up-to-date and ready.
Software
-
Atom: https://atom.io/
Multi-purpose, highly-extensible text editor.
Learning curve: ⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 1] -
Docker: https://www.docker.com/
Deploy code in a self-contained mini-virtual machine.
Learning curve: ⭐️⭐️⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 1] -
PyCharm: https://www.jetbrains.com/pycharm/
Extremely powerful integrated development environment (IDE) for python.
Learning curve: ⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 2] -
Jupyter: http://jupyter.org/
Interactive python computing.
Learning curve: ⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 2] -
Jekyll: https://jekyllrb.com/
Static website and blog generator.
Learning curve: ⭐️⭐️⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 3] -
Markdown: https://en.wikipedia.org/wiki/Markdown
Versatile plain text format that can be converted into almost anything.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 3] -
pandoc: https://pandoc.org/
Universal document converter. Great together with Markdown.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 3] -
git: https://github.com/git/git
Decentralized version control for coding, latex documents, and much more.
Learning curve: ⭐️⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 4] -
Sourcetree: https://www.sourcetreeapp.com/
Great and freegit
gui for mac os x and windows.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 4] -
SmartGit: https://www.syntevo.com/smartgit/
Greatgit
gui for mac os x and windows.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 4] -
Signal: https://signal.org/
Secure open-source messenger.
Learning curve: ⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6] -
Threema: https://threema.ch/en
Secure messenger.
Learning curve: ⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6] -
Brave: https://www.brave.com/
Privacy-aware web browser based on chromium.
Learning curve: ⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6] -
Firefox: https://www.mozilla.org/en-US/firefox/
Browser with strong privacy features.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6] -
GnuPG: https://gnupg.org/
State-of-the-art open-source encryption suite.
Learning curve: ⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6]
Python libraries and distributions
-
TQDM: https://github.com/tqdm/tqdm
Progress bar for python with automatic timing, ETA, etc for loops and enumerations.
Learning curve: ⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 1] -
Anaconda: https://www.anaconda.com
Python distribution geared towards scientific computing and data science applications.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 2] -
CVXOPT: https://cvxopt.org
Low-levelPython
interface for convex optimization.
Learning curve: ⭐️⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️ [Toolchain Tuesday No. 5] -
Pyomo: http://www.pyomo.org/
Pyomo
is a python-based open-source optimization modeling language supporting a wide range of optimization paradigms and solvers.
Learning curve: ⭐️⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 5] -
MathProg: https://www.gnu.org/software/glpk/
MathProg
(akaGMPL
) is a modeling language for Mixed-Integer Linear Programs.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️ [Toolchain Tuesday No. 5]
Services
-
Trello: https://trello.com/
Manage lists (e.g., todo lists) online, across various platforms with various plugins.
Learning curve: ⭐️⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 1] -
DuckDuckGo: https://duckduckgo.com/
Search engine that respects your privacy.
Learning curve: ⭐️ Usefulness: ⭐️⭐️⭐️⭐️ [Toolchain Tuesday No. 6]