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.
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.
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.
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.
It spend a lot of time in this chair. It's worth it.
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.
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. Or just record it as a macro. Actually, I still sometimes jump out of my main IDE into vim to set up a complex macro.
AI code editing has accelerated my programming significantly. I'm on Cursor for now, it's good, but the space is moving fast.
I ran zsh and powerlevel10k for a while but I never used any of the fancy features. Now I just run bash and starship. It's simpler.
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.
TensorFlow if needed for a client, otherwise PyTorch.
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.
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.
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 as well as my personal data.
Just switched from Pop_OS. Mint basically does everything I want. It's Debian based, has the nice just-works graphics and audio drivers, no snap packages, gets out of the way and lets me work. I'll look at Pop_OS again in a year or two when COSMIC is mature.
smooth, clear, not too fancy or expensive
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.
The paper has a nice bite, little bleed, and it's available where I live.
My favorite acoustic guitar. It has a wonderful tone, full and balanced.
DAW of choice. Really good for MIDI and virtual instruments, although all the DAWs are really good these days.