Tools of the Trade

Juan Villela

I came across an episode of The Pen Addict, where Brad and Myke were discussing an article from the Financial Times going over Jony Ive’s “tools of [the] trade”. Of course, there were some obscenely priced items on the list. But anyone would agree that no job can be done well without the right tools, regardless of profession. They benefit productivity and can even affect job satisfaction. In web development, the proper tooling can make or break a product.

I want to list some of the more crucial tools I use daily as a web dev and why I picked them. If you’d like a long and dirty list of everything I use, visit my Uses page.

Hardware

Most of these items work in collaboration; they require additional gear. But I want to focus on the primary tool that delivers the benefit: speak.

HHKB Pro 2

It all starts here. 90% of my work is done with a keyboard. The experience needs to be comfortable and seamless. I want to think about something other than my keyboard, feel fatigued, or deal with compatibility. My employers change my machine often enough that it needs to be plug-and-play. And the HHKB fits all these needs perfectly. The built quality is phenomenal and made to last. The keys feel smooth and cause no fatigue on the hands. And this thing will work with anything. I’ve plugged it into any OS, tablet, phone, or gaming console. It just works.

Logitech MX Ergo

Like the keyboard, this needs to disappear and do its job well. But also to not cause any strain on the wrist. While plenty of ergonomic mice exist, this one has been the most reliable. Logitech has a good enough track record that I don’t have to worry about it dying any time soon. It’s been running strong for a few years now.

Electro-Voice RE320

Although I do everything possible to minimize the time spent in meetings, I still want to sound my best. Video calls are less common now with the introduction of Slack Huddles. I like to ensure my voice is heard clearly when getting my message across. The RE320 is the right balance of quality and affordability.

beyerdynamic DT 990 Pro

I love these headphones. You need a decent DAC + AMP to get the most out of them, but they’re affordable enough and don’t require that much juice to power them. They sound clean, but not too much. So, listening to podcasts or music for hours is smooth and enjoyable.

Software

These are mostly centered around VSCode, where I spend almost all my time. These tools are meant to extend and enhance my productivity without having to leave the editor if completely necessary.

Alacritty

Terminal emulators are a dime a dozen. But I want something robust and stable. It’s a simple and customizable app. It’s just a terminal where I can tweak how it looks, and that’s it. This is just that. You can install it via several package managers and customize it with a single YAML file. And it just never fails.

Raycast

Launchers are less overpopulated than terminals, but there are a few options besides macOS’ Spotlight. I’ve tried them all. Raycast has the best user experience. It’s less customizable than Alfred, but you can easily make it your own and write custom scripts that plug into the app’s API. It also provides a fantastic clipboard and snippets manager. As well as window manager. I replaced three other apps with just this one.

SoundSource

This is a simple one. It gives you granular control over your Mac’s audio. Down to the app and the output source. Everyone should install this app. It’s just a nice quality of life improvement.

GitHub Copilot

Say what you will about letting AI write your code. We all know these things are one billionaire throwing a tantrum away from being run into the ground. AI will not replace developers. It can spit out some decent algorithms. But can it debug a Redux bug on a legacy React app under years and countless devs’ worth of code? No. It cannot. We barely can. So, until then, I’ll use it to help me write useable snippets. And Copilot those that job well enough.

GitLense

It’s steroids for VSCode Git. A ton of little quality-of-life improvements are added throughout your default git experience.

Git History

This magnificent plugin has saved my ass so much time. Sure, you can use git blame and traverse the commit tree. But this? This makes all that effort human-readable. I wish it had line numbers.

GitHub Pull Request

VSCode integrates quite well with GitHub, but this plugin adds full PR functionality into the editor. If you’re in the flow and want to avoid venturing out, you can make that PR right where you are and move on to the next issue.

Better Comments

Everyone writes code comments. Or at least they should. This makes them pop more and, thus, more readable.

delta

I’ll go ahead and say that you need this git plug-in. It integrates into git and makes most of the outputs much more accessible to parse with beautiful syntax highlighting and helpful info. And it works with diffs, too.

starship

There’s a plethora of good terminal prompts to choose from. But I opted for this because it’s built with Rust, can be fully configured from a YAML file, and it’s pretty nice. There’s no complicated installation process. It’s just a single binary.

atuin

This app is fantastic. It integrates into your terminal and takes over as your shell history manager. And it works so well. You can quickly jump between what’s immediately available or search your history. And the search is just phenomenal.

See Also

Spreadsheets Reloaded

In this second installment of Spreadsheets, I want to detail my attempt at making a database for all my lists. I don't recommend this approach; there are plenty of more user-friendly solutions to this problem. But that's no fun.

Spreadsheets

I like lists. I make them all the time to help me keep track of just about anything I need to know. After some time, these became spreadsheets. And now, it's a sizable amount of Airtables.

On Procrastinating

For many of us, procrastinating is the norm, and getting some work done is the day's accomplishment. I have no idea how to solve that problem. And that's not what this post is about. But let's talk about it anyway.