“If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe.” – Abraham Lincoln.
Well, I don't have 45 minutes, Abe! What I have are ambitious plans and dogs who require (and deserve) more attention than I anticipated. That's why I created this effective, low-effort developer setup for myself. These tools save me hours of work and energy every week, and take almost no time to setup.
All promises must exist somewhere, or they will fail (verba volant, scripta manent as the vampires say). I live and die by my calendar: I always write down todos and reserve time in the future to deliver on the promises I make as my day goes by. Cron is a the place for them to exist and rightfully occupy my time, so I have to be straight with myself.
I was very late to discover the exponential power of having a centralized place for notes and references and I've found out Notion works very well for me. I mostly just have databases (e.g. Reading List, Startups, Meeting Notes, Blog Posts, Hiring). I create structure as I go. It's easy to write in. I use the web clipper to capture every tab into one of these lists and I close all my tabs 😮💨 plus, you can launch a website on top of it using the likes of https://super.so.
Nothing helps me sleep at night like knowing my data, my identity and my money is safe. 1Password is my choice of password manager, but whichever you use, I pray you use one! After you get used to it, you will never dread login screens again. I specially love how it integrates with 2 factor authentication and generates one-time access code for you, all in the app.
Workspaces allow you to focus on one task at a time. I have a main Dell screen in front of me, and a Macbook Pro 16 as a secondary screen, angled at me — for Spotify, or logs. I use three perennial workspaces in my main screen:
1) Plans & Comms: Calendar (Cron) + Email (Superhuman) + WhatsApp. (Least amount of time)
2) Writing: Notion + Whatever slide deck I'm currently editing.
3) Coding: Chrome + various VSCode windows.
I'm slowly starting to admire the grouped tabs feature in Safari. Sometimes it does eat tabs, which is absolutely catastrophic if the purpose of your product is to save the tabs. When syncing works, however, it's great to have pre-set tabs I always use for a given project, like open documents and sheets, etc.
Install anything with a command: brew install ...
— this is the cornerstone of further setup. Here, you can find the usual suspects like Spotify, Discord, Slack (my condolences), etc.
brew install iterm2 fig
I used to be a fish
man, but ever since macOS started shipping with zsh
by default, I happily switched over, and Oh-My-Zsh solves everything forever. And Fig... this comes straight from heaven: autocomplete for your terminal. Let that sink in. A beautifully done tool which should have existed a long time ago!
brew install visual-studio-code
Finally, the go-to editor these days. What I've taken to lately is to quickly ^+`` (Ctrl + tilde) to summon a
zsh` right in my project's path. Beats creating multiple iTerm2 tabs and having to find which one belongs to the project I want.
brew install deno nvm
If you've worked with me over the last year you already know I'm excited about Deno. So many good design and architectural choices, in such a lovely package. If you have experience with frontend or with NodeJS, you should try Deno now. And, of course, Node is still a necessary evil for tooling, so nvm
is a version manager that contains the damage and allows easy toggling of node versions.
Cmd+Shift+V
. No more back and forth copying multiple strings to forms.That's how I setup my environment for productivity right now. Thanks for reading, and I hope you found something that works for yourself in the above. If you think there's another tip that should be in this list, please email me at [email protected].
Cheers,
Gui
© Future Driven 2022 — Made in Rio with 💚