Inspired by Wes Bos, this page details the things I use to stay productive. Let's dive in.
Editor & Terminal
Time is a huge factor in staying productive. Your editor is the one tool you spend most of yours in and you should invest in optimizing your workflow skills. You'll benefit from them every day.
I am probably one of the last people to make the switch to VS Code. I'll probably do a write-up on why I switched, because it took a lot for me to leave Atom. For now, I'm really enjoying VS Code.
I wrote my own theme. It's a slightly more vibrant version of Atom's One Dark syntax theme that I've customized to my liking. I have spent way more time on this theme than I care to admit.
I have used a number of fonts over the years. MonoLisa is what I currently use in my editor and terminal. It's highly readable and looks excellent. If I have to stare at a font all day, it's worth paying for one I enjoy looking at.
Fish is my shell. Much better than bash in my opinion. I used zsh for years (both oh-my-zsh and prezto) and fish is a much more enjoyable experience. The intelligent autocomplete has changed my life. It's amazing. Also super easy to customize. It used to have a lot of incompatibilities with bash scripts which was annoying because you couldn't copy them and run them, but many of these things have been made compatible so it's much better than it used to be.
The theme is my Electron color scheme from Atom, ported to Hyper.
Here are a few of my favorite aliases I've set up:
afkstarts my screensaver
bitlyfollowed by a URL runs a Python script to get the shortened link and copies it to my clipboard. Mostly useful for Rickrolling people.
weathergets the current weather in your area - try it out! Run
curl wttr.inin your own terminal.
sudo. Stole this idea from Paul Irish, but I can't seem to find it in his dotfiles anymore.
resourcere-sources my shell if I've made changes
trash. I installed trash-cli, so setting
trashmeans instead of losing something forever when I run
rm, it dumps it into my trash so I can still recover it if I need to. I've been burned too many times.
git push -u origin $(git_current_branch). When you start a new branch in git, it's super annoying to have to set the upstream origin the first time you're pushing that branch. This alias makes it easy to publish a new branch.
I use a variety of other desktop applications to get things done. I'll elaborate a little on why I chose some of them, especially in lieu of other popular applications. If you can install the app via Homebrew Cask I will include the install command.
I am a big fan of the open web. Mozilla is one of the few companies that still seems like an advocate for that. Firefox is super fast, it looks great, and unlike Chrome, they're not tracking everything I do so they can sell personalized ads. It's got built-in ad and tracker blocking.
brew cask install firefox
Notion is where I organize notes on things I'm developing. I love that each project can have its own pages. It makes it super easy to organize things (and I'm notoriously not organized).
This might be the most underrated app ever. Rectangle gives you keyboard shortcuts for rearranging and resizing your windows, and also gives you "window snapping", where if you drag a window to a certain edge of the screen it will snap to fill part of the screen. I will never be able to use a Mac without this app again. [website]
brew cask install rectangle
A REST client, used for testing API calls. I previously used Postman for a REST client, but I came across Insomnia and it's really great. It also has excellent GraphQL support.
brew cask install insomnia
A really solid desktop GUI for interacting with Mongo.
I use 1Password for password management across all my devices, and at this point I think it's safe to say that I couldn't live without it. I use the Family Plan because it gives me shared folders so my wife and I can both use it for shared logins and also keep our own logins separate. [website]
HEY is a radically different approach to email, from the makers of Basecamp. It's definitely not for everyone, but I've been loving it. [website]
Note: This isn't really relevant anymore since our company is working remotely due to the coronavirus.
- I have two 23" monitors mounted on monitor arms to a sit/stand desk that I didn't pay for.
- My laptop (15" MBP) sits beneath the two monitors, centered on the desk.
- I use Apple AirPods and can't recommend them enough.
- When I'm not standing, I sit on a buoy stool. My company had a few of them sitting around our building and I snagged one instead of using a normal desk chair. I love it. I have bad posture and this helps a lot.
- I use an Apple Magic Keyboard and Apple Magic Trackpad. I love the gestures on the MacBook touchpad, so I opted for the Magic Trackpad instead of a Magic Mouse, but I do hear excellent things about the mouse.
This is also in the process of changing, since I'm working from home all the time.
- I have one 23" Acer monitor
- To the left of the monitor, my laptop (15" MBP) sits on top of an mStand by Rain Design. I love it. It also helps keep the laptop cool so it doesn't overheat.
- I have some Logitech speakers and subwoofer that I plug into my laptop most of the time when I want to listen to music.
- The desk itself is an IKEA table top mounted on a frame I built out of steel pipes that I spray painted black.