Lightweight Command Line Downloading with Aria2

terminal_icon

Sometimes you just want a quick and easy way of downloading  large files.  If you’re like me, you want this with as little of a memory footprint as possible.  Aria2 gives me this ability.  When downloading a torrent for a recent Linux release, I was able to do this with only 5MB of memory being used.  No other download programs can give me this.

What’s nice about aria2 is that you can download the same file from multiple sources (mirrors) and cut your download times with each source.  You can also open multiple pipes to the same download which shortens the time as well.  Let’s take a quick look at what aria2 can do for your downloads.

Downloading with Aria2

For this test I used KDE4 iso’s from OpenSuse.  First, I established a baseline using wget:

wget http://www.gtlib.gatech.edu/pub/opensuse/distribution/12.3-RC2/iso/openSUSE-12.3-KDE-Live-Build0094-x86_64.iso

This took 15 minutes 47 seconds to complete.  The file size is 941MB.  My Internet connection at home has a max download of 10MB and upload of 1MB.

Using aria2, the same file took 10 minutes 32 seconds to complete.  Here is the command I used for this:

aria2c -x2 http://www.gtlib.gatech.edu/pub/opensuse/distribution/12.3-RC2/iso/openSUSE-12.3-KDE-Live-Build0094-x86_64.iso

The -x2 in the above command pipelines the download of the ISO into 2 separate threads.  This speeds things up considerably.  Be wary of using too many threads though because many websites out there will throttle you down in speed should you open more than 3-4 threads.

Aria2 supports more protocols than you can shake a stick at including magnet links, bittorrent, metalink and even ftp.  There are many command line flags and options you can use and you can even call aria2 using JSON-RPC and XML-RPC through the web.  All together, aria2 is scalable, flexible and lightweight…there isn’t much it cannot do.  If you’re looking for a lightweight download utility, aria2 has you covered.

Thunderbird and Lightning .8

I saw that Lightning .8, a calendar extension for thunderbird, had been released and my heart jumped.  Had they fixed the memory leak that forced me to abandon it in version .7?

I used to use Lightning for my google calendar in versions before .7…

When .7 came out, it caused Thunderbird to rocket memory usage above 80% which brought my computer to a screeching halt.  I figured I’d not use it until next version (and submitted a bug report as well).

Today I downloaded .8 in hopes it would work better.  It doesn’t.  Memory usage still skyrockets when attempting use the google calendar (provider addon) and the remember mismatched domains add on with it (otherwise you’re unable to connect or get a popup every time you view).

Is it one of these plugins causing it?  Is it Lightning?  I’m leaning toward the latter…even when uninstalling the extensions, I still get memory usage skyrocketing.  Either way, syncing your google calendar with Lightning isn’t a very smooth thing to do if it causes your Linux desktop to screech to a halt.

I guess there is always evolution with built in google calendar support.  Anyone else getting these problems?

At work, we use Zimbra for emailing.  I use Thunderbird with IMAP as my desktop client.  I’ve also seen that as of Zimbra 5.0 RC2, they will have the ability to sync with Lightning.  Good news!  Now if Lightning would stop leaking!

Schedule Tasks in Linux with Ease – Kcron

When I first started using Linux, one of the most daunting tasks was creating crontabs to automate processes. For example, one might want to rotate apache logs (done automatically now by most distros) or perhaps pull info out of those logs, paste them to a file, and send said file to the webmaster. Now this wouldn’t be feasible to do by hand daily and that is where crontabs come in. Just like scheduled tasks in Windows, crontabs allow you to run a process at a given time. Unlike Windows though, you have ultimate control over the task. Nowadays, things are much easier by using a GUI such as Webmin, pycron, or Crontooie (if you’re a MAC user). The great thing is that KDE contains a handy tool to create and manage your Crontabs. You can disable or enable them straight from an easy to understand and control GUI. Today, we’re going to take a look at how to setup a simple crontab using Kcron.

Let’s start off by seeing if the cron daemon is even running on your system. Open up a Konsole or Shell and type the following:

ps aux | grep crond

If there is output similar to that in the screenshot, we’re in business because the cron daemon is running. If not, restart cron by typing: ./usr/sbin/crond (may vary by your distro…if you need help, let me know in comments section).

Read more

Go to File >> Save and now you're in business. Never forget to save AFTER you've altered the task, otherwise your changes will go right out the window.

Make Klipper Work FOR you

“Klipper is the KDE clipboard utility. It stores clipboard history, and allows you to link clipboard contents to application actions.” That’s the common explanation you get from most people and online manuals when seeking information about Klipper. But what else can Klipper do? Is that ALL it does? Can we empower it to be what cut and past is in Windows? (ducks the possible flames) Perhaps. Grab a pen and paper Klip…let’s see what this thing can do. Please note that this article is written with the assumption that you are using KDE 3.4 or higher.

In most KDE default KDE desktops on the major distros, you find this little icon:

That icon is Klipper, your clipboard tool. A clipboard is just what it sounds like…a place where you can clip text to be used at a later date. I wanted to take a look at where Klipper came from…so I went into the ‘about Klipper’ menu and emailed a couple of developers. A few actually responded quelling the myth that developers are unreachable by the general public. Carsten Pfeiffer, a previous developer, responded about the history of Klipper:

“It was started long time ago by Andrew Stanley-Jones, for storing a history of clipboard entries. I took over maintainership and added those annoying popups, that appeared, for example when you selected a URL in a terminal or somewhere else. The popup allowed you to do something with the URL, like opening it in Konqueror or Mozilla.

More generally speaking, the feature allowed you to configure custom “actions” to execute when something specific, described with a regular expression was put into the clipboard (see klipper’s Preferences dialog).

Later, I attempted to make klipper hide X11’s IMNSHO broken concept of “Selection” and “Clipboard”, but I didn’t really accomplish that.

Later, Lubos Lunak worked hard on fixing Qt’s clipboard implementation and making klipper play well with it and now I’m very happy that Esben is taking care of it.”

I contacted Esben in an attempt to get some inside information about where Klipper might go in the future (integration into KDE-core perhaps? or other such directions). He was able to provide a few possible directions Klipper may go:

“My vision of Klipper is mostly as a clipboard history application… the actions I merely maintain for those that uses them. Thus the features I have implemented so far has centered on the history: Expanding the history (really making the history scalable), support for images (this was sort of a test, I want to support abitrary mime types in history) and search-as-you type support.”

Read more