Most people would consider me to be a nerd. I work in the tech industry, my laptop looks quite non-standard (a stickered Thinkpad), and I tend to travel with suitable amount of electronic kit. Within what I would call “the nerd community,” I sometimes get looks as if I’m especially nerdy. I use a tiling window manager on my Linux desktop, I have strong opinions on free and open source software, and above all else, I use a myriad of “super nerdy” console-only applications like mutt and irssi.
Presently I find myself delayed in a foreign airport with a “hostile wifi situation.” That is to say that while technically there is wifi, one must surrender their information to a captive portal which will no doubt result in a plethora of new spam, all for a meager allotment of usage time. Instead I am passing the time, with my Android phone acting as my wireless hotspot, over my “unlimited” 2G data.
You really haven’t experienced the bloat of the internet in 2017 until you have
attempted to be productive over a 2G link, with bonus latency between the
European and American continents. Even websites I would have assumed were
fairly simple, looking at you reddit.com
, download excessive amounts of data
between loading pages and client/server background-chatter.
As a console luddite however, things aren’t so bad! The benefit of
console-based applications is that they tend to be much lighter, not only in
CPU and memory consumption, but also in network utilization. The difference
between irssi
and IRC Cloud, for example, is staggering. With mutt
, my mail
client of course, I am only downloading the emails themselves rather than the
entire interface around the emails like with a web mail client. Even for
content which only lives at the other end of an HTTP connection, using the
console-based browser w3m
results in much lighter page loads and zero
on-going data consumption after the page has loaded.
I don’t advocate going to 100% console-based applications however. Chrome, with the Vimium extension, is one of my most heavily used applications. But there are certainly some benefits to maintaining familiarity with console-based applications today.
Recommendations
Below are some recommendations I can make for resource-thrifty console-based tools.
w3m
- For most basic browsing while on low-bandwidth connections. I also find the-dump
option to be very useful when inside oftmux
for dumping HTML-based test reports or other locally generated HTML files. For most websites, their mobile versions render quite nice inw3m
.mutt
- As my primary email client, mutt allows me to speedily navigate around email via its stellar key bindings, but perhaps most importantly, it allows me to usevim
for authoring my emails.irssi
- For IRC (and also Gitter) chat; very important for actively participating in most free and open source projects.newsbeuter
- I am apparently one of the few remaining humans who uses RSS/Atom feeds for consuming content. As a console-based news reader, I findnewsbeuter
to be very user-friendly.
All of these applications have the added benefit of being primarily
keyboard-driven, giving them a higher learning curve, but once the basics are
mastered it’s quite easy to rapidly context-switch within and between them. A
number of console-based tools are also easily incorporated into other scripts.
w3m
for example is referenced in a few task-specific scripts I keep floating
around in ~/bin
.
There are downsides to frequently using console-based applications. Other nerds will look down their nose at you whilst complaining about Slack, Firefox, or Chrome consuming heaps of heap. Strangers will come up to you and ask you silly questions like “how do you READ all that!?” And of course, the more comfortable you get with console-based tools, custom scripts, and all the other things you start to use because they make you work faster, the harder it will be for you to ever use a “normal desktop” again.
You may end up being a console luddite like me, but at least you’ll be efficient and productive regardless of the situation you find yourself in.