I never think about where Unix commands come from. They’re just there. But, obviously, people make them. I recently learned about Daniel Stenberg, the creator and maintainer of cURL, via reddit (Daniel codes live on Twitch)!. Daniel has a great workflow, that, in essence, is about making things as easy as possible for himself. It’s a great lesson. It’s not about what’s the best tool, but what’s the best tool that lets you do what you need to do. Because while there are always better tools, we don’t always need our own tools to be better.

You can find more of The Linux Setup here.

You can follow me on Mastodon here and follow me on Twitter here.

Who are you, and what do you do? Hello. I’m Daniel Stenberg. I’m probably most known to most people as the founder and lead developer of the cURL project. I’ve been working on open source since the mid 90s and I’ve been writing code since the mid 80s. I write code most of my work days and during a lot of my spare time as well. I’m employed by wolfSSL and I work on cURL. I work from home. During an average year, I do about 8 million keypresses on my keyboard.

Why do you use Linux? I’ve been using Linux primarily since the 90s. I prefer Linux to other platforms because it makes me the most productive; it provides me with all the knobs and tweaks I like to customize my working environment and make it act and behave exactly the way I want it to, with the least problems. I’m a developer. I develop code on my computers as the primary use case. I need my terminals, text editors, debuggers and related developer tools. My programming language of choice is usually C and the editor of my choice is usually Emacs. I run plain old bash.

What distribution do you run on your main desktop/laptop? My main machines always run Debian sid/unstable. I’m familiar with Debian and I like Debian technically, as well as the policies and ideas behind it. I like using “unstable” so that I always have recent versions of the dependencies I develop with, and I like never having to install new versions (unless I upgrade to a new machine). I just gradually upgrade the machines every so often.

What desktop environment do you use and why do you use it? I’m a KDE Plasma user. I’ve just casually tried through a few different environments and I finally ended up on this, as I found it to have the least number of obstacles and the highest degree of satisfaction. I don’t consider myself a very picky user when it comes to my desktop environment. This just happens to work very well for me and I rarely try out other things now, as I’m content and I save time by not chasing a dream of a perfect DE that possibly could do a few minor things even better.

What one piece of Linux software do you depend upon? Why is it so important? I think I would pick Emacs. Out of all the software I run today, only Emacs has been with me since the early 90s. It’s a tool I’ve grown used to and learned all the quirks of. It’s customized to work the way I like it, while providing all of the necessary features someone like me needs. Being a productive developer is largely about being familiar with and master of your tools. I prefer to stick to the Emacs I know, rather than the possibly-also-decent editor alternatives that exist. I’d rather spend that potential research time on development. Perhaps one day I learn about some grand and fancy feature Emacs lacks, that something else offers, that makes me consider it worth trying something else. That day has not happened in the last few decades.

What kind of hardware do you run this setup on? My two primary machines both run Linux. The primary desktop machine is a 32GB RAM Core-i7 3770K (3.5GHz) machine featuring two screens (24″ and 27″). Not the latest and greatest CPU wise, but still speedy enough to do most jobs I need it to do quickly enough. The primary laptop is a 24GB RAM, 1TB SSD Lenovo T470S. It’s 14″. Perfect to carry around with me to conferences and speaking opportunities.