I’m going to say it… This is by far the lamest, nerdiest thread in this forum I’ve seen yet.
And I still think it’s fascinating!
My setup is a hot mess because I really like playing around with different tech.
- MacBook pro 15" maxed out
- iterm2 + tmux + zsh (with ohmyzsh!) and caps lock remapped to Escape (not control, because I use control way less on Mac since Cmd key is more common)
- I use RStudio for all things R, but in a few different ways
- locally through the daily build on my own fork of the docker image (the 1.1.3xx versions are so good – full persistent terminal and fully dark theme!!! I <3 it)
- on a fairly fat remote server on Google cloud for ETL stuff
- on a modest remote server on Google cloud for Shiny apps (somehow running over two dozen Shiny apps on a single server with only 8gb of RAM)
- sublime text 3 (finally out of beta, 6 years later) for lots of random text editing – everything from note taking, to documentation, to python or bash scripts, to markdown and making sweet, sweet ASCII art
- VScode for Go
- Pycharm for larger python projects (rare these days)
- vim with awesome vimrc for quick text edits both local and remote
- jupyter notebooks for helping co-workers with their python projects
- sequelpro (queries and EDA) and MySQL workbench (tuning for performance) for MySQL stuff
- pgadmin for PostgreSQL stuff
- Google BigQuery through both web UI and CLI for data warehouse queries, but also for data processing where I just need to merge giant files or tons of database tables
- xubuntu 16.04 (Ubuntu with xfce desktop environment, so clean, so lightweight, so fast, no bugs)
- xfce terminal + tmux + zsh + vim
- RStudio from daily release docker image
- sublime text 3 for when I find working in vim to bothersome
- jupyter notebooks with kernels for python 2 and 3, Go, Ruby, and bash for all the random stuff I get into (fwiw, jupyter + bash is surprisingly good tool for sharing/recording how to do complex system updates/upgrades/installs)
Media station (i.e. old computer hooked up to my big screen TV):
- Dual booting Linux mint with kde and Peppermint OS (both are Ubuntu Linux derivatives, Linux mint is hugely popular and really bloated, Peppermint is a newer spin off of lubuntu and mixes elements from xfce and lxde Linux desktop environments, it’s pretty rad and really fast)
- xfce terminal + tmux + zsh + vim
- I shouldn’t be using this computer for analysis, but sometimes it’s hard to get off my couch and I can’t control when I find motivation/inspiration
I don’t think git/version control should count. It’s pretty much required at this point. If you use a special tool for it, I get that. I just use
git as it comes from the terminal (sometimes use the RStudio git integration, though it’s still lacking).
I didn’t list any themes because I change mine every couple of months. There are just too many out there! I like dark themes with modest contrast (material dark, for example). I like monospaced sans serif fonts (really like hack).
I’m very reliant on terminal. It’s an amazing tool once you dive in and learn. It’s not difficult once you start. The difficult part is coming to realize can and dealing with the new found fact that you have a billion (not literally) programs running and available on your computer that you don’t see because they don’t have a graphical interface. I use tmux a lot for managing my terminal sessions (panes are awesome).
I try to use vim as much as possible for text editing, but it’s hard for me to find a good setup that beats the specialized options that apps like RStudio provide or the huge plugin system of sublime text. I use RStudio daily. It’s my favorite IDE I’ve ever used in any language and I credit it a lot for my improvement as a developer and a data scientist.
If you’re running Windows, I highly recommend using both a virtual machine running Linux (headless, no need for visual interface) and the gitbash command line tool. The Linux vm gives you a ton of options and let’s you develop locally just like you would on a remote server (unless your company runs Windows server, then sigh). The gitbash tool gives you a thin wrapper and a program called mingwin, which is like a mini version of Linux you can run on Windows. It’s nice because you can have some of the nice tools Linux does better (e.g. ssh, cut, bash, git, less, awk, sed) without actually needing to run Linux or have the VM up and running.