Below is a list of some of my favorite tools that I use in my work.
While my daily driver is a MacBook, I tend to do most of my development via remote machines running Linux.
- MacBook Pro
- Google Pixel
- reMarkable tablet (mostly for reading/annotating papers)
- Neovim (heavily customized)
I generally prefer tools written in Rust where I can find them. They’re easy to install since I always have a Rust environment set up and they’re generally fast.
- mosh instead of SSH since i tolerates loss of connection
- tmux to keep track of sets of processes for different projects
- pv - super useful for quick progress monitoring
- fd as a replacement for
- bat as a replacement for
- rg as a replacement for
- xsv for CSV processing
- jq and gron for JSON processing
- pipx for managing any Python utilities
- pipenv for Python package management
- pyenv to manage Python versions
- jabba to manage Java versions
- n to manage Node versions
- zsh for quick scripts
- Python for AI/ML and more complicated scripting
- Scala for anything that needs to run on the JVM or via Apache Spark
- Rust for things that really need to be fast