Back in the days of KDE 2 and 3, before Firefox was a mature project and before Chrome even existed, many of us browsed the web with KDE's own do-everything application, Konqueror. It's well known that Konqueror's web rendering engine, KHTML, was forked and used by Apple in Safari as WebKit, which was forked and became Blink, which became the dominant web rendering layer across the web.

But Konqueror had another brilliant feature – it could save an entire website as a single file, including its CSS and images. This is something you can't even do today, where the average browser restricts page saving to a single broken XHTML file that excludes all of the media assets and online context required to make it readable. Konqueror, by comparison, saved pages as a "web archive," a .war file, which was little more than a zipped up collection of everything necessary to view the page, but it worked.

Fast forward a decade or more, and there's been nothing to really compete with web archive files, other than perhaps In theory, HTML5 should make encapsulating an entire page and its assets into a single file easier, which is what monolith attempts to do. Rather than being a browser add-on, monolith needs to be run from the command line and takes the URL to archive as its only argument. There are options for removing images, excluding JavaScript, ignoring invalid certificates, and setting a custom User-Agent. Other than these options, the command is simple. The only slight quirk is that you need to pipe the output to a file if you don't want your web page to spill onto the terminal, but that's the handy flexibility of the command line rather than a missing feature. Most importantly, monolith works, pooling even complex sites into a single file you can then access offline or store for posterity.

In a world of pervasive data, it's still amazingly useful to be able to save a website as a single local file.

Project Website

Reddit interface


One of the best things about the command line is that you don't have the same distractions you have on the desktop. Outside of the task you want to accomplish, there's usually too little space to augment your terminal session with multiple tabs, streaming video, or various chat sessions, even with a multiplexer like tmux. Which is why we're reluctant to write about this little command-line gem – a command-line interface to Reddit, the ultimate online time sink. But as we're all going to waste too much time on Reddit anyway, we may as well make it as quick and as accessible as possible. reddio does this in a POSIX-compliant way, and offers a very streamlined, and not too distracting, experience. This is because it doesn't work as an interactive session, as you might expect. Instead, you run the command and the top stories are returned, complete with a story synopsis, comment count, and a link, like the contents of an RSS feed. This means it can be cut and modified on the command line to fit your preferences, using commands like print, grep, wc, and sed to make sure you only see what you want to see or search for.

Of course, there are additional arguments to add the usual interactions with Reddit that you'd expect. You can login to your account, follow and unfollow subreddits, vote and unvote, and you can even submit your own stories and comment on others. All of this can be accomplished with brief and efficiently constructed commands you run alongside your usual command-line magic. If you don't have the command-line skills to create your own commands, there's plenty of help in the documentation and many different command recipes you can simply copy and paste to make your own. One of the best will return the top five URLs of the month from r/linux, for example, while another recipe will return only new messages and comments for a specific sub.

If you're the kind of Reddit user who hates the new site design, you're going to love reddio.

Project Website

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More