Software I use, gadgets I love, and other things I recommend.

I get asked a lot about the things I use to build software, stay productive, or buy to fool myself into thinking I’m being productive when I’m really just procrastinating. Here’s a big list of all of my favorite stuff.

Workstation

  • 16” MacBook Pro, M1 Max, 64GB RAM (2021)

    I was using an Intel-based 16” MacBook Pro prior to this and the difference is night and day. I’ve never heard the fans turn on a single time, even under the incredibly heavy loads I put it through with our various launch simulations.

  • Dual Monitor one on its side

    I find that having two displays is of great advantage when developing software. And having one widescreen rotated by 90 degrees makes it possible to see all the code at a glance.

  • Apple Magic keyboard

    The magic keyboard is almost an exact replica of the keyboard on my laptop and provides continuity to working on my laptop.

  • Apple Magic Trackpad

    Something about all the gestures makes me feel like a wizard with special powers. I really like feeling like a wizard with special powers.

  • Herman Miller Aeron Chair

    If I’m going to slouch in the worst ergonomic position imaginable all day, I might as well do it in an expensive chair.

Development tools

  • Visual Studio Code

    I’ve started using vscode and I don’t think I can go back to a special purpose development environment. Vscode is easy to use and provide plugins for almost everything.

  • iTerm2

    I’m honestly not even sure what features I get with this that aren’t just part of the macOS Terminal but it’s what I use.

  • xcode

    Xcode has a relatively bad reputation but its pretty powerful once your know you way around it.

Website

  • React/Nextjs

    I’ve recently had to make a number of websites for my company and myself and had retool for frontend web development platforms. I was warned that React was &quotoverkill&quot for building websites so I tried my hand at old-school html and a static website tool- this was a fail as my sites looked like something that was created by a first year compsci student or something that a smart retired person would make.

  • Tailwindcss

    Tailwindcss is a god-send for website development. And this coupled with React/Nextjs make georgeous websites and its dead easy for developers who are not afraid to get their hands dirty and their noses bloodied at little.

  • Amazon Amplify

    Web hosting has always been a hastle since the beginning of the web. It’s always been an issue of where do I put my site now that I have it built? With amplify you can simply checkin you code and amplify will recompile your website and push it live. Nice’n easy.

Productivity

  • Google Workspace

    If you want and office product that is programmable with JavaScript and has libraries for many common functions then Google Workspace might be the way to go. It supports all the office document types including sheets, docs, presentations, forms etc. and it supplies secure sharing features. And its completely programmable.

Development

  • Java

    Java is a great language, so long as you’ve used it for 20 years.

  • Swift

    Swift is a greate compiled language. It is multiplaform and runs on linux and windows. But it is largely for developing iOS and MacOS apps.

  • JavaScript/TypeScript

    I used to think JavaScript was a toy language but there are so many things built with it now that it is impossible to ignore and necessary to learn. I don’t think of it as a toy language anymore. Now I am comfortable with Atwoods Law - “Any application that can be written in JavaScript, will eventually be written in JavaScript.”