Tuesday, June 12, 2007

The definitive bittorrent client for Linux

So yeah, I've tried almost every bittorrent client out there for Linux. After many months of waiting for it to improve I gave Transmission another go, and surprisingly it worked quite good, although it's still banned on some trackers. I even built some packages for Ubuntu Edgy and Feisty, you can find those here.

So the experience with Transmission was a good one, but it didn't go without its bumps. The first point against it is that it's still banned from many private trackers and I'm a member of quite a few, so that's a no no for me. The other thing that happened is that after a while it refused to build on my machine (I was using the svn version). I haven't tried to build it again, but oh well, I've found a better alternative anyway.

The next candidate was Deluge. This is a very nice client, but it is way too unstable to be my main client. Another thing that I didn't like was the inability to disable DHT, something that is mandatory on most private trackers. That and the low speeds that I always got persuaded me to try another client.

Enter KTorrent, one of the best clients on this roundup. It has a lot of useful features like DHT, a built-in search engine among other things. This one worked almost perfectly, although the speeds weren't the best. That and it was banned from one of my favorite trackers and due to this I moved on.

I needed a nice looking client with a clean interface that showed just the necessary. I didn't need a bloated interface with 55 columns showing me everything it can. I don't want to know what bit the thing is downloading right now. I don't need a percentage calculator and a progress bar, one is enough. I also wanted control. Not so much that I get lost in menus that show me things that I don't know the meaning of, but enough to get the best performa

So, if you have read this blog before then you might remember my "An even better bittorrent client for Linux" article in which I reviewed qBittorrent. Well, I too remembered it and went ahead and downloaded the latest version. Good news people, they now provide a repository for us Ubuntu users, so we have it easy with the updates and quick bug-fix releases.

Well, for me this is the definitive bittorrent client for Linux. Why? Well, for onc, its interface is very clean and it presents you the information you need to know, simple and to the point. It also allows you to control the most important things, like which port it should listen too, maximum and minimum speeds of torrents, the maximum connection number, etc. Another thing I like is that it allows you to set a fixed share ratio for all torrents, so when your torrents reach that share ratio they will automatically stop seeding.

qBittorrent also allows you to enable or disable DHT and PeX (Peer Exchange). This is a really great feature every bittorrent client that wants to take itself seriously should have. Another cool thing is that you can tell qBittorrent to check a certain directory in your computer to fetch new torrents automatically so you don't have to add them by hand. All this and the fact that its constantly developed and updated with new features make it my client of choice on any Linux distribution. Even if there isn't a package available for it it is not difficult to build from source. Pardus users just have to install QT4 and export some environment variables, its all in the readme. All in all, this is a very solid and very good bittorrent client, try it out!

Sunday, June 10, 2007

Ubuntu Light correction

Well, this is not a correction, its more like an add-on if you will. After installing the base system, do sudo nano /etc/apt/sources.list and make sure the universe and multiverse repositores are enabled and then do sudo aptitude update && sudo aptitude dist-upgrade just to make sure that you get the latest packages on your system.

Tuesday, June 05, 2007

Ubuntu Light

I wanted a new distribution that sported a nice Gnome desktop, but without the many additional programs that come installed by default in a standard Ubuntu installation. I thought about giving Debian unstable a go, but I never really got to do it. I spent quite a few days scouting distrowatch for a nice distro. I tried Pardus, a nice Turkish distribution, and it was everything I wanted, except that it used KDE, which was not bad, but I couldn't get acquainted with it.

So, the distro had to be debian based, I'm really fond of apt and the whole package management system, it was a must. What did I do in the end? I re-installed Ubuntu, but I didn't go the usual way. I got a minimal install CD. The main difference between this install disc and the standard one is that it gives you a little bit more control, and it downloads all the packages it needs instead of pulling them from the disc. The image is just 34 MB large, so its a nice alternative for us who like the latest packages from the get go and have a broadband internet connection.

So, I did a "server" install with this minimal CD. This doesn't install LAMP applications as you might think, it justs installs a base system that you can build upon. This, of course, means no fancy graphics or anything, just the necessary to boot and drop you to a terminal screen.

But, I did want a nice Gnome desktop with just the applications that I wanted. So, after getting the base system installed I installed the following packages with aptitude:

sudo aptitude install x-window-system-core gnome-core gdm gnome-media gnome-system-monitor gnome-system-tools gnome-volume-manager gnome-utils gnome-app-install gnome-screensaver synaptic firefox usplash usplash-theme-ubuntu ubuntu-artwork

That got me a very nice and lightweight Gnome desktop with just the essentials that used about 1GB of hard drive space. I installed usplash and usplash-theme-ubuntu to prevent some rather nasty GDM errors from happening. ubuntu-artwork is entirely optional.

As you can see, creating your own flavor of Ubuntu is very simple and has many advantages. You have only the programs that you want, it boots faster and its less bloated. And what's more, you don't depend on those nasty metapackages like ubuntu-desktop. The steps mentioned here is all you have to do to get a lightweight and functional system. I hope this is useful to you or someone out there, cheers!

Update script updated!

So yeah, after many months I updated my trivial update script to use aptitude instead of apt-get. Why? Well, because for one, aptitude manages dependencies better than apt-get does. Suppose you installed some KDE library that you needed to compile something, and by doing that you installed half of KDE itself. If you remove that library with apt-get it will leave behind all of the other crap it installed along with it, but if you use aptitude it will remove the rest of the crap too, making it very useful indeed.

Here it is:

# Author: Arturo José Monterroso García
# Release Date: December 04, 2006
# Last Updated: June 05, 2007

sudo aptitude clean && sudo aptitude autoclean && sudo aptitude update && sudo aptitude upgrade && sudo updatedb

Monday, April 23, 2007

New aria2 packages!

I know its kinda late, but someone had asked for another aria2 package, so here it is! Again, its not professionally built, but it will work most probably. Check it out!

aria2 package!

Sunday, April 22, 2007

New Transmission stable and svn Ubuntu Edgy packages!

Hello all, I just built two new Ubuntu Edgy packages of Transmission. Take in account that this are not professionally built packages as they were built with checkinstall. Nevertheless they should work properly on most systems as their dependencies are not weird or anything.


Stable 0.7 package!
SVN 1773 package!

Tuesday, February 13, 2007

Why my IM client is web based

I have given up on Gaim. I just got fed up with its constant switchboard errors, telling me the message couldn't be sent, when it fact it was, or the other way around. Its interface is clunky, its not nice at all. I wanted an alternative, a client that wouldn't fail when sending simple text messages, that wouldn't disconnect or close whenever he decided to.

I thought of trying Kopete, but I have never fancied its looks and ugly interface. The other, less-know clients are just one, or both of two things: worse functionality-wise than Gaim or Kopete, or just plain ugly.

I want a nice interface people, one I can look at without wishing for Microsoft's Live MSN Messenger. Yes, you hard me. Microsoft's product is free, it doesn't have as much bugs or an ugly interface. Yes, it has ads, but if you're smart enough you should have figured by now that a simple patch will remove them and allow you to customize it to your liking. You can even play a game of sudoku or minesweeper with your mates while you chat.

So, back to the IM client question: what to use? Well, at school I used a web messenger that could connect to various protocols (GTalk, Yahoo Messenger, MSN, etc.) called Meebo. So I thought I'd give it a chance because, well, no other client seemed to satisfy my needs.

I created an account so my settings and preferences wouldn't be lost every time I logged off. The moment you visit Meebo's website you just know its a quality product. Everything feels so polished, and it works as expected. Meebo allows you to connect to various instant messaging networks: Google Talk, Yahoo Messenger, AIM, and MSN. I just use MSN, mind you.

What's the advantage of using Meebo over, say, Gaim? Well, first of all I know all my settings and preferences will be the same no matter where I use it, bet a Windows computer, a Mac, or a Sun workstation. It will always look the same, and behave the same. It is consistent, that's something I appreciate. Also, it saves space on my desktop. Because everything goes on on one of my browser's tab it doesn't fill my desktop with a lot of windows, so its nice. If you want to have it on your desktop but you want to minimize your browser, you can. Just click on the "Pop out" button that every window has and it will spawn on your desktop as an independent window, you can even do that to your buddy list.

You want to use a custom display picture? Sure, just look at the left side of the Meebo page, click on that image, and select one of the preset pictures or select one from your computer. Easy as pie! Same goes for setting your nickname. Oh, and talking about nicknames, you can add nicknames to your contacts. In fact, the only critical feature Meebo lacks is file transfer, but you can always use gmail or yousendit. All in all, Meebo is a great web messenger and it looks good to boot! Meebo is good enough that I use it daily now, instead of the clunky Gaim client.

Tuesday, February 06, 2007

Calling all (Linux) gamers!

People, please read this article and digg it! Maybe Valve will come to their senses and actually do something about it!

Valve and Linux and Wine... Oh my!

How to manage source packages on Ubuntu

Sometimes you want the latest version of a particular application, but you find out that it isn't available from the Ubuntu repositories just yet, and most probably it won't be included until the next version of Ubuntu is released. So what to do? You can use the older version that is included in the repositories or build the latest version from source.

But source packages are inconvenient because you don't really know what's installed, or where it is installed. And, most of the time, you can't uninstall them unless you delete every file that was installed by hand. So, you'll have to stick with the repository version, right? Well, no because there exists a solution to the problems I just mentioned.

You can use a source package manager to track the installation of source packages. Some of these package managers will let you uninstall all the packages you have added to your system, among other useful features. One source package manager I like and that I've found to be the one that works best is called Paco, a short name for Package Organizer.

Paco was originally written to help manage the installation of software in Linux From Scratch, where everything is built from source and there is no package management built in.

How does Paco work? Here's a description from its homepage:
When installing a package from sources, paco wraps the "make install" command (or whatever is needed to install the files into the system), and generates a log containing the list of all installed files.

Technically, this is done by preloading a shared library before installation using the environment variable LD_PRELOAD. During installation this library catches the system calls that cause filesystem alterations, logging the created files.

Paco is able to show information about the applications you have installed, and it also lets you uninstall them in a very easy way. It also provides a basic graphical interface called GPaco.

"Okay, that's all cool and all, but where do I get it and how do I use it?" you may ask. Well, you can get Paco from its homepage. I'll give a brief description on how to use it in the following lines. To install it please read the README file that's inside the tarball.

To install a source package with Paco simply begin as you usually do:
  1. Open a terminal.
  2. Decompress the tarball.
  3. Change into the source directory of the application you want to install, usually the directory extracted from the tarball.
  4. Do the usual ./configure and make steps.
  5. After make has finished type sudo paco -lD "make install" to install the application. Paco will log it into its database to provide information about it and to allow its removal at a later time.
The -lD switch will make Paco log the application with the name of the current directory you're in. Say, if you're in the foo-0.1 directory Paco will log this application as foo-0.1.

To remove a package you can type sudo paco -rx --batch package-name - the package name must be the one Paco has logged in its database. To see the packages you have installed in your system you can issue the following command in a terminal: paco -av or paco -av --one-column.

And that's all folks! Be sure to read the MAN page for further and more complete instructions!