programming setup
I like to keep my setup simple. This means using established and essential tools. Check inventory for an item list.
All of my configs/scripts are in my dotfiles or utils. They are managed in such a way that makes setting up a new machine easy.
- i have no desk
- one screen (usually my laptop one)
- happy hacking keyboard (only at home)
- a good pair of wired open ear headphones
- mostly 2 apps open (browser, terminal)
- tiling window manager
- vim in terminal
- notes are plain text files in git
- notebook and pen for ephemeral notes
desk
I use a wooden crate that i also store my laptop in. During the day i move around a lot, sometimes standing, but mostly sitting on the floor. I sit on a meditation stool, or a cushion.
workflow
I use tmux to manage sessions. Each project gets its own session. These are managed with a script. I edit text in vim on one tab, and run commands in another. Sometimes i use a third tab for a server. If i need to run formatters or linters i use the terminal and a file system watcher. Vim reloads the file when it changes.
When i need to debug, my first step is to read the code and think about what might be causing the issue. Once i have an idea, i use tests or print statements to verify my assumptions.
For new tasks i like to start by trying to get something working as soon as i can. When i get stuck, i try a reference manual for the tool i am using first. If i am still stuck, i will try to find similar examples for inspiration. I “design” my code when i have a working solution.
I assign shortcuts to spaces so i can flick between the terminal and browser quickly.