July 27, 2008

IRC Clients for Linux - A Review

Since I'm an IRC addict and I always liked to spend time learning new stuff on IRC, here is a review of several IRC clients for Linux. Some of them are well-known and popular, like XChat, Konversation or Irssi, and others are not so widely used or known, but nevertheless, they deserve mentioning.

KVirc is a powerful client for KDE focusing on an apealing interface, providing its own scripting language called KVS (KVirc scripting language), with lots of options for configurating it, and much more. Among all the clients I tested, KVirc was the most bloated, trying always to include as many options as possible and be user-friendly in the same time, but sometimes it felt like not all of those were needed. For example, the Ignore As... menu includes all the possible combinations for ignoring a person. I think it would have been wiser to include only 2 or 3 and eventually provide a dialog window so the user can enter it manually, with a brief explanation for how it works.

KVirc 3.4.0 'Virgo'

I also found the CTCP option not useful when on a channel, since if you CTCP VERSION or PING, all the users on that channel will get the CTCP request. On a large channel that can lead to a ban, or lag, and it's just not useful.

Anyway, back to the good stuff that KVirc provides. Each release has a nice codename, like the one in the last version, 'Virgo', with a suggestive picture to emphasise it.

Although I didn't test the scripting language much, it looks pretty much the same as the one mIRC has, so for those who are switching from Windows, KVirc should be a good choice. KVS is accompanied by complete documentation which can be accessed from the Help -> Help Browser menus (you can open it in two different ways, as a separate tab or as a panel). It also supports themes, addons, or the possibility to save different configuration profiles.

KVirc help browser
KVirc scripting menu - the system is somewhat similar with the one of mIRC

Overall, although this particular version (3.4.0) was a little slow for me, KVirc is complete, powerful and it looks very good.
Official website

Configuring KVirc

XChat is a very popular graphical client for Linux, including powerful scripting support in Perl, Python, Tcl, C plugins, powerful configurability using /SET variables and many other. XChat is built in GTK, and a version using GNOME libraries, called xchat-gnome, is also available.

XChat usual look

Some of the features I love about XChat besides the powerful scripting support: logging system allowing to name your path and files using date specifiers (like %b for month or %d for day and so on), the interface is simple and clean, yet all the options I need are available using /SET, including the conference mode. The Linux version doesn't receive as much attention like the Windows one (probably because the Windows one is paid), but XChat is already complete.

XChat preferences

Online documentation is very abundant, and tutorials on how to write scripts and plugins are very helpful and useful.
Official website

Default look for xchat-gnome

Irssi is a command line client which includes a simple yet very effective way of navigating through channels/queries. You'll have to read the manual if you use it for the first time, but once you get used to shortcuts (most of them being Emacs-like), Irssi gets pretty easy to use, and shortcuts can be customised too. It supports Perl scripting and the official website contains hundreds of them, can be customised in each and every way using commands explained in detail in the documentation. For me, Irssi wins at all the chapters if it is to compare it with Weechat, Epic4 or TinyIRC.
Official website

Irssi running inside Konsole

I noticed Konversation received more and more attention over the last years, since it's a client aimed towards persons new to IRC, and strives to be user-friendly. And it succeeds, having all the necessary options in the configuration window. As default though, the interface lacks a toolbar menu, which can be enabled using the Settings -> Show Toolbar menu, and shortcut icons can be added there. As every decent KDE application, Konversation allows editing shortcuts, it can be embedded in the system tray, it includes configurable notifications, it has a basic logging system and an option to load logs in a new tab and perform searches. When joining a new channel or opening a new query, a backlog will be displayed with the last lines of the previous discussion (if any).

Konversation 1.0.1 - 1.1RC1 has been released too

Konversation only lacks event-based scripting, and that's a must-have for a scripting language in my opinion. Otherwise, it comes as default with several powerful scripts, like the now playing script (supporting the major audio and video players for KDE), or a weather script, or system info. The first release candidate for version 1.1 is now available.

Konversation configuration

I warmly recommend Konversation to users who want to try IRC for the first time, but XChat or KVirc would be good choices too.
Official website

Default Konversation scripts

I must say, I rarely use Pidgin or Kopete for connecting to an IRC network, but you can find it useful if you don't care much about having a powerful, dedicated client especially for IRC. Pidgin is widely known for being the GNOME IM (Instant Messaging) client first, but it can also be used as a basic IRC client if you are looking to only get on IRC, without all the options advanced clients provide.
Official website

Adding a new IRC account with Pidgin

Pidgin on IRC

Just like Pidgin, Kopete is the KDE IM client and provides a basic IRC client too. The advantage both Pidgin and Kopete provide is that if you use IM a lot (for example you have both Yahoo and MSN accounts) and want to get on IRC, you can use a single application for it, without the need of opening a new application just to chat on IRC.
Official website

Kopete IRC account

#debian @ Freenode on Kopete

As mentioned above, there are many more clients available, like the popular BitchX, the lightweight Weechat, the classic Epic4 or TinyIRC (official website?) to give a few.

July 25, 2008

Listen 0.5 - Yet Another Good GTK Audio Player

Listen is a not so widely known audio player written in Python and using the GTK toolkit, with an interface similar to the one of Rhythmbox, and including features like a music library, podcasts support, lyrics fetching, Wikipedia integration, and Last.fm song submission.

Playing Metallica and visualisation

The interface is divided into several sections for the currently selected action. For example, if you select Current from the actions list, Listen will display all the albums by the currently playing artist, favourite songs and recently played songs by the same artist.

Context tab

I really missed the option to sort the playlist by song location, but otherwise, it includes mostly all other criterias. You can sort by artist, title, album, bitrate, play count, date, year, genre, track number and so on. I'm not sure what the 'Feeds' sorting option does, since it has no visible column in the playlist.

I liked the Wikipedia integration, the browser offers several basic functionality options, like searching for album, artist or song, opening in an external web browser, but it doesn't include an option to specify what browser you want to use. It also has back and forward buttons.

Wikipedia information

The Context tab will show favourite albums, songs and last played songs. Listen automatically detects cover images in the currently playing song directory and shows them whenever possible: in the context tab, in the library at the albums section or in the now playing area. It also allows you to search for default or specific names on Amazon.com and Google Images, but the Amazon search currently doesn't work. It works fine for Google Images though. Allowing you to enter a custom search term is useful in case you don't find what you want but you want to put any other cover or image instead of it.

Cover fetching from Google Images

Listen can be customised different ways using the Preferences window. To mention a few settings you can change: splash screen, start minimized, visualisations, OSD (on-screen display).


Last.fm integration

Populating playlists doesn't seem to be very intuitive. For example, after creating a new playlist and going to Music -> Import Folder, the playlist remains empty. However I could do it by selecting all the songs from the Media Library with CTRL+A and dragging them over the playlist name.

Overall, I found Listen to be pretty nice and rich enough in features, but I missed statistics and the option to sort the playlist by location. Otherwise, it's very nice, with a clean layout, and offers a very good audio experience.


Official website

July 24, 2008

How-To: Compile and Install Code::Blocks from Source in Debian Lenny

Code::Blocks is an IDE (Integrated Development Environment) for C and C++, built using the wxWidgets kit.

The latest version is 8.02, available for download from the official downloads page. To install the dependencies, use:

apt-get install build-essential
apt-get install libwxgtk2.8-dev wx-common libgtk2.0-dev

Next, uncompress the source and issue the usual:

make install

Last one as root. You can launch Code::Blocks by running codeblocks in a shell or typing ALT+F2 and type codeblocks in the run dialogue.

Codeblocks 6.02

July 16, 2008

12 Web Browsers for Linux - Review

The GUI browsers

Mozilla Firefox gained more and more popularity since its initial release in November 2004, and today is the browser of choice for the majority of Linux users. Although relatively new compared to other browsers which date for over 10 years, Firefox became a myth in the web browsers world, not only on Linux, but on Windows too. It uses the open-source Gecko rendering engine, it's well-known for being very secure, it manages passwords and cookies very well, it can be expanded by using various add-ons, it supports themes, and those are just a few of its features. The new release, 3.0, also brought several usability improvements, like a new location bar, which makes it easy and fast to find the address you are looking for. It's also highly configurable, and the options which are not available in the Preferences window can be set using the about:config command in the location bar. In my opinion, its only minus is that it takes a considerable amount of time to load, it occupies a lot of memory, and the interface is a little bit slow. Otherwise, probably the best browser available on the Linux platform.
Official website

Built using the Qt toolkit, Opera is closed-source, but it compensates introducing many features, like a BitTorrent and IRC clients, tabs for most of the actions available (like the transfer window), widgets, plenty configuration options, a cool default interface (the black one in Opera 9.50 and 9.51 really looks awesome if you ask me), system tray integration. And those are just some of the highlights. Opera probably offers the most usable graphical browser to date, and it's definitely a feature-complete browser.
Official website

Using the KHTML engine for displaying web pages, Konqueror is the well-known browser (and not only) for KDE. Although not as powerful at displaying pages as Firefox, Konqueror uses less resources, it has very good KDE integration, allows previewing of audio, video and image files, it integrates well with KGet, a powerful download manager, it supports plugins, it offers spell-checking, and it's highly configurable. For KDE users, Konqueror should be the right choice.
Official website

Epiphany Browser
Epiphany is the default web browser in GNOME, built in GTK and using the Gecko layout engine. Epiphany has a simple and clean interface, it doesn't look bloated, and it can take advantage of plugins. Some say it uses less resources than Firefox, although I wouldn't bet on it, the difference to me doesn't look significant. Nevertheless, Epiphany is a good alternative to Firefox, especially that it integrates very well with the GNOME environment.
Official website

The first time I bumped into Dillo was when I tested a version of Damn Small Linux from the 3.x series. I remember I didn't like it at the beginning because it just didn't look to provide the features I needed. But since it's so small, Dillo is actually a great little graphical browser which is worth a try.
Official website

Yet another GTK application, Galeon is pretty powerful and includes all the important features you would expect from a web browser.
Official website

An interesting browser, Kazehakase can use the Gecko engine, it supports mouse gestures, it allows three different levels for interface, Beginner, Medium and Expert (called UI Levels, depending on which one is selected the interface offers less or more options and menus). Kazehakase also supports tabs, and allows you to modify its interface by editing the /etc/kazehakase/kz-ui-UI_LEVEL.xml files, where UI_LEVEL is either beginner, medium or expert.
Official website

The CLI browsers

lynx is one of the well-known and full-featured web browsers for command line.
Official website

Another CLI web browser, links has mouse support.
Official website

w3m is another popular and powerful browser for command line with support for tables and frames.
Official website

elinks is a fork of the links web browser, running only in text mode, with mouse support.
Official website

Similar to lynx, this web browser supports background downloads, and can be run in graphical mode using the links2 -g command.
Official website

Updated: Jul 16, 2008 (Created: Jul 16, 2008)

Exaile Music Player Review - A Good Choice for the GTK Fans

Exaile is an audio player built in GTK, and although it's not as popular as Banshee, Rhythmbox or Audacious, it's feature-complete and offers a unique concept by using multiple tabs for showing several playlists, each one in its own tab, and other dozens of good features which an audiophile will definitely find useful.

Exaile 0.2.13 playing

The common interface is similar to the interfaces of other GTK players, with the tabs for collection, playlists, radio and file browser to the left, and the playlist itself occupying the space left. The thing I liked best about Exaile is the ability to open multiple playlists in the same time in different tabs (see screenshot below) and even song information will be displayed in a new tab instead of a new window secondary window. You can populate playlists directly by dragging and dropping files from the file browser or search for music using the common syntax.

Exaile opens several playlists and song information in separate tabs

I'll start with a minus here, not necessary related to the features, but usability. The big problem with Exaile is that it becomes extremely slow, unresponsive and practically unusable when used with large collections. For example, searching for a file in my over 3000 tracks collections makes Exaile unresponsive for several seconds, and that's with 1 GB DDRAM2 and Core 2 Duo 1.8 GHz. For this, I can't recommend Exaile to audiophiles who listen to a large quantity of music very often, since it just won't keep up, the speed being very low.

Last.fm song submission

That being said, Exaile has its strong points too. It's true, there is nothing unseen before, but it supports plugins, Last.fm song submission, it can sort the playlist by any information available (like bitrate, location, play count, year and so on), it fetches covers from Amazon (but doesn't offer close results when the exact album was not found). And the beautiful thing is that not only it looks for covers in the song's directory, but you can also specify the names for which to look (default ones are cover.jpg, folder.jpg, .folder.jpg, album.jpg, art.jpg) so I only had to add my cover.png format to the list and voila! It works very well, and you can also use wildcards (tested for * only), so if you put *.png it will fetch any PNG image that it finds first.

File browser - you can drag and drop files to playlist

Scanning 1500 Ogg Vorbis files took around 35 seconds on my Core 2 Duo 1.8 GHz, which is not bad at all. There are players who just hang in there forever even if you feed them with less than 1000 audio files, so Exaile performs OK at this chapter.

Preferences - you can add custom names for local covers

You can burn tracks to audio CDs with the possibility to choose which application to use, edit audio tags, set ratings. Exaile also includes visualizations and equalizer, with pre-defined sets.


Overall, Exaile is a very good alternative to the more popular Banshee or Rhythmbox players. Except for the search slowness, this player is full-featured, includes enough configuration options, has Last.fm song submission, equalizer, multiple playlists available in different tabs. Really nice and useful features which make Exaile definitely a good audio player, at least for the GTK fans.

Official website

Short guide for installing on Debian Lenny

How-To: Compile and Install Exaile 0.2.13 from Source in Debian Lenny

Exaile is an audio player built in GTK which aims to provide the same features as the popular Amarok for KDE. The last stable version is 0.2.13, released on April 2, 2008, which fixes cover art fetching from Amazon.

In order to compile Exaile on Debian Lenny, first make sure you have sources repositories enabled, that is, you have a line which starts with deb-src in your /etc/apt/sources.list file, like the one below:

deb-src ftp://ftp.ro.debian.org/debian/ lenny main contrib non-free

Next, install the necessary dependencies:

apt-get update
apt-get build-dep exaile

Download the source tarball from the official website here, uncompress it, change the current working directory to exaile-0.2.13 (or whatever your package is called) and issue:

make install

The last one as root. Exaile should be now installed in /usr/local/bin/exaile.

July 15, 2008

9 File Managers for Linux

Konqueror - Default file manager in KDE3, Konqueror was replaced by Dolphin in KDE4. Very powerful, Konqueror supports profiles, split windows, several view modes, plugins and much more features.
Official website

Krusader - Another powerful file manager for KDE, Krusader has an interface similar to Midnight Commander, starting by default with two panels (the so-called 'twin panel' mode).
Official website

Dolphin - The new file manager in KDE4, Dolphin aims to be easy to use and provides basic features for file management. Although the official homepage claims that Dolphin focuses on usability, I found it harder to use than Konqueror or Xfe, for example. But since I don't use it much, I guess that's just because I'm not used to it yet.
Official website

Nautilus - Default file manager in GNOME, praised by some and criticised by others, Nautilus has a simplistic interface, being powerful enough in the same time. Although currently it doesn't support tabs, Nautilus includes lots of other useful features and it can be extended through scripts.
Official website

Xfe - A nice little file manager rich enough in features, with an intuitive interface, the X File Explorer is built with the FOX graphical interface toolkit. Full review here.
Official website

Thunar - Default file manager in Xfce, in my opinion Thunar is just like Nautilus in every way.
Official website

ROX-Filer - Although ROX-Filer has a minimal interface, it provides many features and configuration options.
Official website

PCManFM - Built in Gtk, PCManFM is clean and features tabs, which makes some users prefer it over Nautilus. Full review here.
Official website

Midnight Commander - File manager using TUI (Text User Interface) which means it doesn't need X to run. I honestly never saw the point in using a file manager when in command line, but some prefer it over plain commands.
Official website