Overview of my tech stack and gadgets I use

I get asked a lot about the things I use in my work environment. Or maybe I just fool myself into thinking I'm being productive when I'm really just having fun learning about new tech. Here's a big list of all of my favorite stuff.

Workstation

Intel i7-4790, 16GB RAM, 1TB SSD, GTX970

I've been building my own workstations since grad school. It's fun to choose exactly what components I want, and I can convince myself that the money I save is worth the time I spend. This machine is enough for local development, and I move to a cloud GPU for heavy training.

Just one monitor

Before 4K I ran a multi-monitor setup with 3 27″ 1080 screens. It looked cool but now I have a nice 4K panel on my desk. A 4K display is 3840 × 2160 pixels and 1080 is 1920 × 1080 pixels, meaning 4K has as many pixels as 4 HD monitors. I don't need more.

Cherry MX browns

I like the feel of a mechanical keyboard and given how much time I spend touching it I want it to be just right. The brown switches give nice tactile feedback (which the reds don't), they're light under my fingers (unlike the greens), they're not too loud (like the blues), and they have the standard 4mm travel with actuation at 2mm.

Herman Miller Aeron Chair

It spend a lot of time in this chair. It's worth it.

Laptop

I have a Lenovo XYZ that I use on the road but given current trends in build quality, spyware, and price, I may switch to a Macbook for my next laptop.

Development Tools

vim

Still my go-to terminal text editor. I'm no vim wizard but I'm comfortable enough to edit code or config files on remote servers. My favorite part is that since commands are just keys pressed in normal mode, you can type a sequence of keys in input mode, save that to a register, then execute that register as a script.

VS Code

I begrudgingly switched to VS code a few years ago, but now I actually really like it.

zsh, tmux, powerlevel10k

It won't make you a great programmer, but it will make your terminal look cool and you'll feel like one.

hack font

When programming, I like a font with a large x-height and clear distinctions between all similar-looking characters such as uppercase I (as in India) and lower case l (as in lima). There are many such fonts designed for programming but my favorite is Hack. I see a lot of people using Fira Code but the j just looks ugly to me, like the g in Source Code Pro. Monoid is too thin and Iosevka is too bold. My other favorite is JetBrains Mono.

PyTorch

TensorFlow if needed for a client, otherwise PyTorch.

ray

I've spent a lot of time trying to use Python's multiprocessing library, but the actor model is just easier to reason about and has fewer gotchas. Ray is a great way to do parallelism in Python, plus it interacts really well with numpy.

Blender

I do a little 3D work, mostly for 3code videos. In this video, for example, I did all the 3D stuff myself. Mostly though, I use Blender as a simple video editor.

Syncthing

Great for keeping data synchronized between my various machines. No reliance on external services and I run the backups myself. All network communication encrypted so it's safe for low-priority client data.

Pop_OS!

My daily driver OS for the past few years. It's almost everything I want in a linux distro. It's stable, clean, mostly unmodified gnome 3, no snaps, just works and gets out of my way. There are some nice quality-of-life things like pre-installed nvidia drivers. The killer feature is the tiling window management.

Pen and Paper

Lamy Lx fountain pen

smooth, clear, not too fancy or expensive

Pilot G-Tec-C4

I used a G2 all throughout college and grad school but now I can only find the 0.7 mm versions. The G-Tec-C4 is a similar gel pen (it's the international version of the Hi-Tec-C sold in Japan) available in a range of thicknesses. I use 0.4 mm.

Leuchtturm1917 notebooks

The paper has a nice bite, little bleed, and it's available where I live.

Music

Martin HD35

My favorite acoustic guitar. It has a wonderful tone, full and balanced.

Cubase

DAW of choice. Really good for MIDI and virtual instruments, although all the DAWs are really good these days.