P2P network down-/uploader

mldonkey is a multi-platform, multi-protocol client application.
It includes support for eDonkey2000, Overnet, BitTorrent, Gnutella and Fasttrack.

It can also be used as file downloader, like wget, FlashGet, GetRight.
So if you have a big file for download, just add it and mldonkey takes care of downloading, taking in account your download-limit.

mldonkey installs as a background daemon and does everything without your interaction.
Of course, you'll have to add something to download.
Therefore, we need to access mldonkey somehow, as it acts like a service without GUI.

There are several possibilities, sorted by the easiest to the more complex one:
  1. Install and use a GUI client application. In Ubuntu there comes one called mldonkey-gui. There are others out there which can be found on the web page.
    They communicate with mldonkey-server on the socket 4001 by default.
  2. Use the web interface provided by mldonkey-server.
    Just open your favourite webbrowser on http://localhost:4080.
  3. On the web interface you can do almost everything, but if you need something special just open a shell and issue
    telnet localhost 4000.
    Here you can manage mldonkey-server with a huge set of commands (use longhelp to see all of them).
Okay, doesn't seem to be the most easiest usage.
That's right, but this application is really powerful and gives you access to all download schemas at once.

Some setup notes

  • The Ubuntu package doesn't enable BitTorrent by default, so in the web interface just tick it in Options...Net...enable_bittorrent(true)
  • Where are my downloaded files?
    On Ubuntu they are downloaded to /var/lib/mldonkey/incoming.
    You should change the settings of the shares to your own folders or just stick with it:
    • Create symbolic links in both incoming folders:
      sudo ln -s /home/yourname/incoming /var/lib/mldonkey/incoming/files/yourname
      sudo chown mldonkey.mldonkey /var/lib/mldonkey/incoming/files/yourname
      The same for incoming/directories.
    • In mldonkey enter yourself as new user:
      useradd yourname  mldonkey yourname
    From now on, when you enter mldonkey with your username, mldonkey will copy all your downloaded files to your ~/incoming folder.


Once my harddisk got full and somehow mldonkey got stuck in a very unstable state. It shut down, 'cause of missing download space, but thereafter it didn't wanted to start again. There were no explication in the log files, why it inmediately died after launched, even that I had cleaned up space again for downloads. At the end I had to remove some temporary files with this command and everything worked fine again:
sudo rm /var/lib/mldonkey/*.tmp

Other applications

I used lots of applications in the past from BitComet, Azureus, uTorrent and Lphant.
Especially, I liked lphant, because it is able to download from eDonkey and BitTorrent at once, but I wasn't able to get it run on Linux (it's based on .NET 2.0, so even with Mono and Wine it isn't possible).
In the P2P community, the most used application for BitTorrent is uTorrent, a very light-weight and easy to use program.

Switching to mldonkey

When switching from another eDonkey/eMule client in most of the cases you can import the partial downloaded files to mldonkey.
I successfully imported the data from lphant to mldonkey with the import_temp command.
But be careful, the partial downloaded data will be erased from the imported folder, so just in case make a backup first.
In the Wiki there are guides about importing data from BitTorrent clients, but this seems to be quite complicated. So maybe the easiest way is to copy your .torrent files into /var/lib/mldonkey/torrent/incoming and after a while they'll show up in the download list, but starting from 0%.

Cracking Wireless Networks

Normally, you shouldn't go ahead and connect to your neighbours wireless connection, preventing him from using the full bandwidth he contracted and which he is paying.

My tutorial for Ubuntu Gutsy which uses aircrack-ng will give you full instructions for quickly obtaining a wireless network key, but I highly discourage you to abuse this knowledge.
  • You should only use it if for some reason you couldn't connect to your own DSL connection and quickly need to lookup some help on the net.
  • Or you're in nowhere, far away from your own network connection and quickly need some information or need to send an important email.
  • There will be no harm, if you use someone's network connection for a few minutes, without using a high amount of bandwidth.
  • You shouldn't start to use P2P downloading for example.
You also should be aware that the cracked wireless connections router maybe isn't well protected and leaves your system open to external attacks.

Of course, you could use it also to check your own wireless connection setup to see how quickly someone could crack yours.

Visual Diff and Merge tools

Working with source controls systems implies to view differences between versions, merge changes.
Or you just want to see quickly a difference between two files or folders.

On Linux you could stick to good and old tool diff, but it's a command line tool and it gets very confusing when viewing differences between big files.

It's much better to use visual tools for these task, moreover they integrate well with source control tools like explained in one of my previous topics.

For Ubuntu there is meld.

For Windows I recommend WinMerge.

GUI for subversion

First of all, I recommend all programmers to hold their sources, even personal stuff, in a source control system.
It makes things much easier if you have to perform some roll-back of parts of your code, or even have to find out bug regressions.

With subversion its so easy to have your own subversion repository and one day I'll talk about this.

To handle subversion from command line isn't very simple, especially if you want to compare what changed, if you have to resolve merge conflicts or you just want to investigate which projects are located inside a repository.

There are several implementations of GUIs out there for subversion.

Update: My latest recommendation is subcommander!

On KUbuntu the one I recommend is kdesvn that can be installed directly from the applications menu.
It permits to browse existing repositories and perform all possible operations like checkin/outs, merges, diffs, change properties, etc.
A very nice feature is its integration with the dot utility for painting Revision Graphs. You'll have to install the GraphViz package: sudo apt-get install graphviz

eSvn integrates better into Ubuntu than kdesvn, is almost equal, but has some limitations when browsing repositories (you can't see the log for a certain tag, for example). I still recommend it when you use Ubuntu. Another advantage: It's multi-platform, and is available for Windows also.

On Windows there is a very powerful tool called TortoiseSVN. Unfortunately, it hasn't been ported to Linux yet.
Tortoise has some special features for integration with issue tracking systems like Jira, integration into VisualStudio, aso.

Other applications

Previously, I recommended RapidSVN, but it doesn't support repository administration, nor it doesn't support double-clicking a file to see its content (you first have to checkout to a working folder).
On Ubuntu you find also SVN Workbench, but this tool doesn't support browsing existing repositories.

Create ISO dump from CD/DVD

Visually with K3b

K3b is a CD/DVD creator for Linux (optimized for KDE). It is the best disc burn tool, also for Ubuntu.

You can get the ISO dump with these steps:
  1. Insert CD/DVD and select Copy CD...

  2. Select Only create image in the Options tab.

  3. Write the image name in the Image tab.

These steps will just read the CD into the specified ISO image.

From the Command Line

On Linux systems you don't need any additional software for creating an .iso file from your CD or DVD.

# cat /dev/cdrom1 > mydisc.iso # if you know your cdrom device
cat /dev/`ls -l /dev | grep "^b.*cdrom.*" | awk '{print $9}'` > mydisc.iso
# You'll get an Input/output error, just ignore it.

You can use this .iso file in virtual machines or for burning copies.


Only the first session of a multi-session disc will be stored. So this solution doesn't work with this kind of discs.

Therefore, you should use AcetoneISO, which can extract multi-sessions discs, and mount any kind of disc images. Read more about this tool in this separate post.

Have a look at this post to see how you can mount such .iso files as regular folder on your system.


innotek (now SUN)s VirtualBox is a general-purpose full virtualizer for x86 hardware (including Linux and Windows).
There exists an Open Source edition, but it is less powerful.

See my full article about this software, solutions for problems on Ubuntu systems etc.

Ubuntu .:. Sound Preferences

What to do when Ubuntu doesn't seem to work with your laptops sound buttons, nor doesn't seem to store your settings.

The Problem:

So we installed Ubuntu and our headphones or speakers seem to explode when the desktops entering sound is played for the first time.

We change the volume with the sound buttons to a lower value, but when we shutdown the system the next start our speakers explode again.

Read my solution here.

Combined Community Codec Pack

Combined Community Codec Pack is a DirectShow filter pack for Windows systems.

It covers a huge amount of video codecs and filters, and as far as I know the only one that officially is supporting the Matroska format (I like this one especially).

It is also unofficially endorsed by On2, the makers of the VP series of codecs (VP3, VP6, VP7) as a reliable codec pack to use for decoding video.

Also recommended by a large number of anime fansubbing groups, this filter pack is a must to install into a fresh Windows copy.

Avant Window Navigator

Avant Window Navigator is a dock-like navigation bar for the Ubuntu desktop that positions itself at the bottom of the screen.

It can be used to keep track of open windows and behaves like a normal window list.

Have a look here for a video to see it in action and for instructions about its installation.


Mozillas Thunderbird

Useful extensions:
There are lots of extensions available, but only some should be installed, 'cause a huge amount of extensions installed, will slow down the overall performance.
This is the list of extensions, I really recommend to have:
  • Addressbooks Synchronizer
    Synchronizes selected addressbooks
    • with local files (resp. files on network shares)
    • with files via FTP or WebDAV (http or https)
    • with files stored in an IMAP folder
  • Lightning
    An integrated calendar for Thunderbird.
  • MoreColsForAddressBook
    Adds to the address book more features, like the possibility to edit some properties in multiple contacts with just one action, adds an extra tab with the birthday date, the spouse name etc.
    It can be used in conjunction with ThunderBirthDay (see below).
  • MR Tech Local Install
    The primary goal of this extension is to provide the tools needed to install and manage extensions and themes locally.
    (Note: This extension can be used also in Firefox.)
  • NotTo
    Enables you to avoid sending mail to specific recipients when you use mailing list containing a lot of recipients and you wish to avoid sending the mail to specific individuals.
  • Quote Colors
    Configure text and background colours for different quote levels in mail/news messages.
  • Signature Switch
    Switch the signature on/off or choose a new one from your predefined set.
    Additional features include the support of fortune-cookie-files and automatic switching based on recipients.
  • ThunderBirthDay
    Display birthdays from the Thunderbird address books as events in Lightning.
    Needs the MoreColsForAddressBook extension as well.
  • WebMail
    This extension integrates web site based email accounts (like Hotmail, Yahoo, AOL, ...), which allows Thunderbird to download and to send emails using the web site.
Note: On Ubuntu you shouldn't install any extension directly from your applications menu, but from the .xpi, otherwise Thunderbird can't update them automatically anymore.

Related software:
You might like to use Mail Notification for receiving advises about new mail arrivals in your mail accounts.