Uses This

A collection of nerdy interviews asking people from all walks of life what they use to get the job done.

A picture of Paul Khuong

Paul Khuong

Principal engineer (Backtrace)

Posted in developer

Who are you, and what do you do?

My name is Paul Khuong and I'm a principal engineer at Backtrace.io, and an occasional blogger at pvk.ca. I work and blog from home, with my girlfriend and our daughter.

What hardware do you use?

After keyboard-gate, I stopped using Macs. My main computers are now two Chromebooks: a 2018 Pixelbook for personal stuff, and a Pixelbook Go for work. I find Crostini is more than sufficient to run emacs (and Steam, even!), plus wifi always works (: For serious work, I plug the Chromebooks into a 38" Dell UltraSharp, and type on a Kinesis Advantage2; that's the price of middle age.

I also go through a lot of paper. I always have a couple Triplus Fineliner pens on me, and usually a plain Moleskine notebook: they're easy to replace, and I find the combination gives me just the right level of friction. I used to scan my doodles with a Doxie Flip, but I can never find the thing anymore, so I've been playing with various phone apps to rectify pictures (the current contender is MS Office Lens).

Finally, I rely on two baremetal machines for my computational experiments. My go-to machine is still the 4-way E5-4617 I built in 2013 for my PhD work. When I'd rather have a lot of slow cores, I turn to a desktop Xeon Phi. Its watercooling system is so quiet, I may just have to stick to watercooled towers in the future.

And what software?

On Chromebooks, I use Chrome and G Suite, a lot :) Otherwise, I live in graphical mode emacs (Wayland) on Crostini. Over the years, my dot emacs has gotten simpler: I change the default font, enable some Solarized light theme, start emacsserver, load ParEdit, SLIME (however Quicklisp sets it up), and Magit... and that's it! Depending on my needs and the lunar phase, I'll switch to Calc mode, SBCL + SLIME, or IPython for quick computations.

When navigating code at work, I find Sourcetrail works well on our reasonably sized C and C++ applications.

My blog is a clumsily hacked up version of Octopress + Koenigspress, recently rebased on top of Jekyll 4.x. I'm pretty sure it only works by accident, but also don't really have time to spend on maintenance, so I should probably freeze whatever mess I currently have in a container.

Chat has been irssi and SILC for more than 15 years, except that I have to use Slack's web client since they shut down the IRC gateway.

What would be your dream setup?

When I close my eyes to visualise complex issues, I tend to move things between 5-6 zones in my field of view. I don't think it would be practical to replicate that workflow with multiple monitors. However, I hope that light VR headsets will eventually support a high enough resolution for text-oriented work; having the focus follow my eyes across independent virtual desktops certainly sounds like a good fit :)

I'm still looking for a good alternative to C and (inline) assembly... I'm told Rust might be it, but I haven't found a good excuse to try it out; in the meantime, I just invest in more and more test- and compile- time tools.

Finally, I have yet to find a reference manager I can really operate. I'll usually remember useful tidbits of information as I work on a problem, but no useful search term to pinpoint a reference: I'm more likely to roughly remember where or when I read the relevant paragraph than anything else. One of my long term projects is an application that records everything I read or watch on my personal devices, and lets me query that list by approximate geolocation and time.