What is in my toolbox

21 Mar 2024

Laptop

Tools are a means by which humans extend their capabilities and should not be taken for granted by those who use them. At the core of my workspace is the Lenovo ThinkPad T460s laptop running Ubuntu Linux with full disk encryption enabled. Attached to the laptop are a TKL mechanical keyboard and the UMC202HD audio interface. I don’t use a mouse or additional monitors, and because of the limited screen space, I also don’t use tiling window managers either. Instead, I switch windows using a set of easy-to-press key strokes.

Namely, I use Super + KEY to switch windows or launch applications if they’re not already running. In the past, this was done using wmctrl, but the command no longer works in Wayland, so I switched to the run-or-raise gnome extension, which is a reasonable alternative to managing windows from the keyboard and most useful with a limited set of windows. Alternatively, I use a custom script to find desktop applications using the window-calls extension and rofi’s dmenu command as the front-end.

Most often, I use Emacs, Firefox and XTerm running zsh in addition to a number of scripts and Unix commands. Most notably, I use z for keeping track of frecent directories, pass with the pass-otp extension for managing passwords securely, and Borg for doing encrypted backups reliably. Also worth mentioning is the mighty fzf, a fast command-line fuzzy finder running fd underneath, and now with sixel support for previewing images from the terminal.

In general, all programs I use are free software, customizable, keyboard-driven and powered by Emacs or the command line. Currently, I’m running Ubuntu 22.04.4 with a lightly customized version of the Juno theme. In Emacs, I use the Tron Legacy theme with some additional colors from the Gotham theme among various other tweaks. I also disable beeps, animation, popup notifications, and everything else I don’t need or find distracting.

Typically, most of my needs on the Lenovo are met with Emacs, which I use for note-taking, accounting, email, file browsing and a lot more. Org mode is probably what I use the most, especially for authoring documents and embedding interactive code. I also use Surfraw for searching the web and the SurfShark VPN for additional privacy (referral link).

Audio and video

Occasionally, I use Ardour and Shotcut for editing audio and video content, as well as an old Nikon DSLR camera repurposed as a webcam using a combination of gphoto2, ffmpeg and v4l2loopback. It works well for online teaching and the image quality is a lot better than what I get with the laptop’s built-in camera.

To capture audio, I use Behringer’s UMC202HD interface with a pair of small-diaphragm condenser mics by Samson. I also use Odery drums with a set of K Zildjian cymbals, including a beautiful 22” Constantinople, a small collection of gongs and various other musical instruments, including a growing collection of bird whistles by Maurílio Coelho.

Smartphone

I currently use the Samsung Galaxy A01, and the cheapest phone I could find, running Android. I use it with the KISS launcher among others applications, including the decent K-9 email client. To minimize storage usage on the phone, the client is synced with the server and set to fetch new messages on demand, all of which are kept on the server until they are synced with the Lenovo.

Messaging apps include WhatsApp and Telegram. For browsing the web I use Firefox Focus with DuckDuck Go as the search engine. And lastly, I use OsmAnd for navigation and mpv-android for video playback.

The phone works well for basic use, but let’s face it, one really bad feature of smartphones is the keyboard. I tried a few and none of them really work reliably in terms of balance between speed and accuracy, at least not without using auto-correction extensively. To be honest, I haven’t trained my fingers on the Thumb-Key or other non-QWERTY keyboards well enough, and I’m still grappling to find a decent layout. Either way, I like the idea of swiping keys towards the corners, especially for accented characters, which I think is far easier than selecting them from a popup menu.

Final remarks

Ultimately, the perfect workspace is one that adapts to the user’s needs. In my case, one step forward as I get older is an adjustable sit/stand desk, but for now, I’m using a not-so-pretty stack of nightstands when I have to. I’m also wanting to move beyond chatGPT and try out other AI coding assistants like gptel and tabby for a more streamlined workflow.

Finally, for a long time I’ve used Caps Lock as the Ctrl key, which is easier to reach, but requires too much work from the pinky. Perhaps a better alternative is to use a split space bar keyboard instead, similar to the Launch Keyboard, and use the left Space as an additional modifier. Last but not least, I would like to extend my gratitude for everyone whose work and generosity have made my toolbox a source of ongoing inspiration. Thank you for reading and I look forward to your comments.

Further reading