Saturday, 24 January 2009

Songbird 1.0 Review - An Awesome Release!

Not long ago I reviewed Songbird 0.7.0, and in the meantime version 1.0.0 was released. What are the new features Songbird comes with and what improvements over the previous releases features 1.0? Well, to begin with, I was extremely impressed in a pleasant way with this Songbird release, so let me tell you why.

Songbird is an audio player and music collection manager built using XUL, the same language used by Firefox. Songbird is available on all the three major platforms: Linux, Mac and Windows.

To start with, I must say I was very impressed to see how many improvements and how much work was put into this player in the last couple of months only, since my last review of version 0.7.0.

When Songbird starts, it will prompt you with the license agreement, and then it will let you choose your media directory so it can scan your music collection. Scanning is pretty fast, and it took around 1:30 minutes on a collection of aproximately 5000 Ogg Vorbis and FLAC files, using my Core 2 Duo 1.8 GHz.

Scanning the music collection for the first time

Next, you will be able to choose what plugins you want to enable by default. Songbird comes with an iTunes plugin, Last.fm support and song submission, Shoutcast support, and a plugin which I strongly recommend, mashTape. mashTape is a configurable add-on which will fetch detailed information about the currently playing song from various websites. For example, it will show the artist's biography using the Last.fm wiki, album reviews from Amazon.com, artist news from Google News, photos, and the most wonderful thing, it will even embed YouTube videos related to the artist. It's just great, isn't it? And all these features are possible due to the fact that Songbird is practically not only an audio player, but a web browser too. It embeds most of the Firefox browser into it, so you will be able to search for lyrics or read artist info (other than that provided by mashTape) directly from it just by opening a new tab inside Songbird.

The Preferences window is similar to the one of the Mozilla browser

The interface is clean and intuitive, and the playlist allows you to sort it by any information possible: from title, artist, album or year, up to bands' tour dates, genre or file location. And these are just a few. You will be able to search the playlist using the Ctrl+F shortcut.

I also love the tabbed approach, which lets you open more than one playlist in each tab, and eventually browsing the artist info in another one. Also, this release includes several new keyboard shortcuts to improve Songbird's functionality, and you can see them from the Help -> Keyboard Shortcuts menu. You can install new add-ons directly from Songbird, or from the official add-ons website, in which case you will have to install them manually in ~/.songbird2/RANDOM.default/extensions (they are ZIP archives). There are plenty add-ons to choose from, which allow you to change the appearance, customise the web browser, get further information about your music and even more.

Another thing to mention: Songbird will automatically detect album covers inside the song's directory, and will display in the lower-left corner (I tried it for cover.png and cover.jpg). You will be able to right-click on a cover and save it under a different name if you like.

Songbird in action - notice how useful the mashTape add-on is

The official page provides a package which contains the binaries, so you won't have to compile anything yourself. Just copy the directory Songbird in a location of your choice (I use ~/apps for example), then make a launcher to the songbird binary. The configuration files are kept inside the ~/.songbird2 directory.

One of the few minuses is that Songbird does not start very fast and the interface is a little bit too slow, but this should not be such a big deal. Once in action, Songbird is beautiful!

Regarding stability, for the couple of hours I tested it Songbird never crashed and I could not catch any bug at first sight. It seems pretty solid.

Conclusion
Well, Songbird definitely became a major player with this release. With plenty of features and a wonderful approach, I can say I warmly recommend Songbird as the primary audio player to anyone, and at least a try if you haven't used it yet. It's powerful and it practically acts like a music centre for an audiophile.

More screenshots

Tick and untick the add-ons you want Songbird to use - I strongly recommend Last.fm and mashTape

Importing media when Songbird is started for the first time

Artist information from Last.fm

About

Official website

Friday, 23 January 2009

3 Popular Tips for Konqueror 3.5.9

KDE 3.5.x comes with Konqueror as the default file manager and it is still used in distributions like Debian (the upcoming Lenny release) or older Kubuntu releases, like the LTS 8.04 version. In this article I will show three tips (which I consider popular) for tweaking or working with this older version of Konqueror.

Create an Open as Root menu option
In order to open a directory as root with Konqueror, all you have to do is to create a text file with the .desktop extension with the following content:

[Desktop Entry]
ServiceTypes=inode/directory
Actions=open_as_root

[Desktop Action open_as_root]
Name=Open Directory as Root
Icon=konqueror
Exec=kdesu konqueror %F

Save the file under any name you like with the .desktop extension, say open_as_root.desktop and put it in the ~/.kde/share/apps/konqueror/servicemenus directory, where ~ is your home directory.

Now each time you right click a directory, the option Actions -> Open as Root will be available, and after you will enter the root password you will be able to open it with super user privileges. The screenshot below shows how this should look like:


Use profiles
Since Konqueror is not only a web browser or file manager, but also an image and document viewer (not to mention the ability to embed kaffeine-part and the amarok sidebar), it's normal to use it with profiles, so you can open a different instance of Konqueror for each task separately. This can be easily done by using profiles. For example, to create a profile for file management which will open three tabs in three different directories, you can do the following: first open Konqueror and the tabs you want to be automatically opened (also notice that you can configure previews, icon size or sorting methods - they will also be saved); next go to Settings -> Configure View Profiles... and enter a name for your new profile (FM in this example); now hit Save. You can open Konqueror using this profile with the following command (in Konsole or the Run dialogue - ALT+F2):

konqueror --profile "FM"

Also, see this article to know how to create a launcher for it.

Create web shortcuts
Although on Linux the most popular browser is Firefox, Konqueror still is a pretty good alternative (well, 3.5.9 has some trouble submitting certain forms). One of the features which comes with Konqueror by default are web shortcuts. Web shortcuts can be used to search for a specific term using a specific search engine. The default ones are very numerous, including Google or Wikipedia.


To add a new web shortcut, just go to Settings -> Configure Konqueror... -> Web Shortcuts.


Hit New and fill in the necessary fields. For example, for a search on Uncyclopedia, you would go to http://uncyclopedia.wikia.com/wiki/Main_Page, then search on it any term, like FOOBAR. Then copy the address name (which is http://uncyclopedia.wikia.com/wiki/FOOBAR) into the Search URI field in Konqueror, and replace FOOBAR with \{@}


Finally, give a name to the shortcut, say unc. You can now search on Uncyclopedia just by typing unc:search_term in Konqueror's address bar.

Tip of the Day: Google Is a Calculator

This is not new, but Google can also be used as a calculator. For example, try 5! or 5*5 or 1+1 for example. See this link.

Thursday, 22 January 2009

Top 10 Applications to Install After Installing Ubuntu

Amarok - in my opinion, this is the greatest music player and collection management for the Linux platform. I think it's also a killer application for Linux with all the features it has.

SMPlayer - one of the most powerful video players for Linux using the mplayer engine, and including support for DVDs, DVD ISO images, Matroska video files and much, much more. A must-have.

KTorrent - for me this is the BitTorrent client of choice. It has all the features I need, including the possibility to only download certain files in torrents, a feature which some other clients lack.

XChat - I think there is no other (graphical) client for IRC as powerful as XChat. Maybe KVirc, but regarding the scripting/plugins part, XChat wins over Konversation or KSirc easily. It supports scripting in Perl and Python by default, C plugins, and a Tcl scripting plugin is also available, but not by default. It can also be easily customisable via the /set variables.

BasKet - BasKet is a notes-taking application which I also reviewed in the past; it has a wonderful approach of letting you make full projects, not only simple notes, and it organises your data in baskets and sub-baskets. Except for the fact that the current version does not support printing (well, you can always export notes to an HTML file and print that one) it is definitely full-featured. I strongly recommend this application over other notes-taking applications.

Wesnoth - this is a turn-based strategy game, well-maintained, with a strong community and a beautiful gameplay, both in single-player mode and online. I must say, I love this game and I really appreciate all the work it has been put for creating and maintaining it.

K3b - definitely the most full-featured CD/DVD burning application, and it allows to create ISO images too. No KDE 4 port yet though, and it looks like development is currently stalled.

Emacs - I find Emacs to be an essential tool and one of the most powerful and popular IDEs out there.

Yakuake - a terminal application which acts just like consoles in FPS games (e.g. Quake, ET, UT). Yakuake can be hidden or shown using the F12 keyboard shortcut.

TVTime - this application is useful to those who own a TV card. In the past I also tried kdetv, but nothing compares with TVTime in my opinion.

Tuesday, 20 January 2009

Opera 10 Alpha - Preview

Introduction
Opera 10 is the next generation of the popular, closed-source web browser built in Qt, and available on UNIX (including both Linux and FreeBSD), Mac and Windows platforms.

In this review I used the Qt 4 version of Opera 10 alpha, build 4102 (the .tar.gz package), but Opera 10 will be available using both Qt 3 and Qt 4 toolkits, so you can choose which one you prefer. I ran Opera in Debian Lenny (KDE 3.5.10) with all the updates to date.


Presto 2.2 engine
Opera 10 alpha is powered by the Presto 2.2 rendering engine, which, according to the website, should provide 'significant improvements in speed, performance and security'. Presto 2.2 also comes with improved CSS performance, web font support, and a score of 100/100 at the Acid3 test, where Firefox 3.0.5 gets 71/100 and Konqueror fails. Acid3 is a test page for web browsers which shows how much a browser follows web standards like DOM or JavaScript.


Impressions
At this stage, the interface is Nice Graphics by Flott Altså, the same one used in Opera 9.6, with apparently no changes. Currently, the alpha version does not come with Flash Player included by default. A bug I could catch was that sometimes when you click a widget (like the web pages scrolling bar or clicking on tabs) does not always work the first time you use it, so you will have to click it again. This happens completely random for me.


Regarding stability, I was impressed to see that Opera 10 is pretty stable, even though it's still in alpha stage. No crashes occured while I used it for this review.

Currently Opera 10 does not include new features (except for the Presto engine), but these will be added pretty soon when it gets into beta phase.

Conclusion
There isn't much to say about Opera 10 alpha at this time, expect for the major change with the new version of the rendering engine. I truly hope for a stable release on Linux rather than lots of new features, since I already consider Opera full-featured, coming with an IRC client, BitTorrent client, widgets, great-looking, customisable themes, these being just a few.

Monday, 19 January 2009

Tip of the Day: Easily Close a Port in Linux

You can easily see what are the ports in use with the command:

nmap localhost

Or:

nmap <YOUR_IP>

The output can be something like:

$ nmap localhost

Starting Nmap 4.62 ( http://nmap.org ) at 2009-01-19 23:45 EET
Interesting ports on localhost (127.0.0.1):
Not shown: 1711 closed ports
PORT STATE SERVICE
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
113/tcp open auth

Nmap done: 1 IP address (1 host up) scanned in 0.066 seconds

To close a port, you can use the following command as root:

fuser -k 80/tcp

Which will close port 80 (used by the web server).

Wednesday, 14 January 2009

Tip of the Day: Use lm-sensors to Monitor Your Hardware

sensors is a tool which will output the temperatures read from all your chip sensors. To get this utility, you will have to install the lm-sensors package. In Debian Lenny, issue the following command as root:

apt-get install lm-sensors

This package contains the sensors tool, which if ran will output voltages and temperatures for your CPU, graphics card, and so on.

Next, we will make a simple script which will trigger sensors every five seconds, so you will be able to monitor your system in different load times:

#!/bin/bash

i=0
while [[ 1 -eq 1 ]]; do
clear
echo "Running sensors..."
echo -e "Elapsed time: $i seconds\n"
sensors
echo "Use ^C (CTRL+C) to stop"
sleep 5
i=$(( $i + 5 ))
done

This script will run the sensors utility every five seconds. You can save it under a suggestive name,
say cputemp.sh, make it executable (chmod 755 cputemp.sh) and put it in a directory in your path
(e.g. ~/bin/, where ~ is your home directory).

Round-up: Most Popular Posts in 2008

10 Essential Applications Included in Ubuntu 8.10
Review with screenshots of 10 essential applications included in Ubuntu 8.10 'Intrepid Ibex', the latest Ubuntu release.

Kubuntu 8.10 'Intrepid Ibex' Beta Screenshots Tour
This article briefly reviews Kubuntu 8.10 about a week before the release, including screenshots with KDE4.

3 Classic First-Person Shooter Games for Linux
Here's a review of 3 popular and classic first-person shooter games available for the Linux platform, which made history over time: Wolfenstein: Enemy Territory, Unreal Tournament 2004 and ioQuake 3.

Ubuntu 8.10 'Intrepid Ibex' Beta Screenshots Tour
Although the screenshots were took before the release to happen, it pretty much sums up the look of default Ubuntu, not the new DarkRoom theme.

Compiling C/C++ Code in Ubuntu and Available IDEs
This article is addressed to new users who want to study C/C++ and need basic guidance. I also included several brief reviews for most popular IDEs out there, like Kate, KDevelop, Code::Blocks or Emacs. It does not contain much technical information, so it's suited for beginners.

5 Simple APT Tricks for Debian and Ubuntu
As the title suggests, this article shows five tricks for one of the most powerful package management system among the Linux distributions: APT.

7 Reasons to Pick Ubuntu and When Not to Choose It
Somewhat of an essay on why and when to pick Ubuntu, and when it's probably a better idea to go with another distribution.

13 Terminal Emulators for Linux
Not really a review, this article lists and briefly describes 13 terminal emulators for Linux.

Tip of the Day: Install Adobe Flash Player 10 in Debian
Although the scope of these articles (tip of the day) is to reduce the quantity of information to a minimum and only present small tips, this is rather a tutorial for installing Flash Player 10 in Debian. Note: Only for 32-bit hardware.

Mount CD/DVD Images (ISO/BIN/NRG) Using AcetoneISO2 in Debian and Ubuntu
A short tutorial on how to install and use AcetoneISO2, a popular application for mounting CD/DVD images.

3 Best Video Players for Linux: SMPlayer, VLC and Kaffeine
A review of three of the most popular video players out there: the popular, cross-platform video player built in Qt4, the older version of VLC built in wxWidgets and the KDE3 version of Kaffeine.

Tuesday, 13 January 2009

A Collection of Tips and Tricks for XChat, Part 1

XChat is a GTK client for IRC, available on both Linux and Windows. It is one of the most popular and feature-rich IRC clients on the Linux platform, together with Konversation and KVirc. Of course, there are very good clients like Irssi too, but I'm talking only about graphical clients here.

Although by default XChat doesn't offer all the user-friendly options in its configuration dialogue, its true power stands in the possibility to configure it using /SET variables and Perl/Python scripts or even C plugins. You can practically make XChat behave in any way you want: from a powerful, personalised IRC client for daily use to an IRC help or trivia bot.

In my two recent articles I showed how to make simple Perl scripts for XChat which will change its default behaviour:

Make a Perl Script to Display Notices in Current Window
Make a Perl Script to PART/REJOIN a Channel Similar with mIRC's /HOP

In this article however I will list some of the tips and tricks I consider most popular and useful for the IRC user, leaving all that scripting behind.

Hide JOIN/PART messages using the conference mode
The conference mode can be turned on/off using the irc_conf_mode variable (which by default is 0 - disabled). By turning it on, the join/part and quit messages will not be displayed anymore, so you will be able to keep a log from an IRC meeting/tutorial/discussion without those annoying messages. Use it like this:

/SET irc_conf_mode 1

If you still want to see the messages on other channels, right-click on the channel button, go to Settings -> Hide Join/Part Messages. Tick (or un-tick, depending if you want to see them) this option.

Hide the backlog
Introduced in XChat 2.8.4, this feature will automatically display the last lines from a channel/private log when you open it again. If you want to turn this feature off use:

/SET text_replay 0

This will turn off the backlog.

Show the /WHOIS info in the current window
The /WHOIS information is shown in the status window by default. However if you are on a channel and you /WHOIS someone, you will probably want the information to be displayed in the same window, instead of having to switch on the status window to see it and then back on the channel. To do so, use:

/SET irc_whois_front 1

Change the way events are shown
You can do this using scripts, which provides a more flexible way of doing it, but I'll show here only how to use the Settings -> Advanced -> Text Events... dialogue.

For example, the Quit action looks like this by default:

%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)

However, you may also want to see the person's host, add the third parameter ($3 - host), as specified in the Number and Description fields:

%C23*%O$t%C23$1 ($3) has quit (%O%C23%B%B$2%O%C23)

See the screenshot below:



Change the location and format of logs
The default format for logs is %n-%c.log, which will log as network-channel/nick.log (e.g. FreeNode-#debian.log). The logs are kept by default in the ~/.xchat2/logs/ directory. However, you may change this and customise it to your likings:

~/logs_xchat/%n/%Y_%m_%d_%c.log

This will log all in the logs_xchat directory inside your home directory, creating a new folder for each network, and using several conversion specifiers for the filename. In the above example, I used:

%Y for full year digits (e.g. 2009)
%m for the number of the month (e.g. 01-12)
%d for the day number (e.g. 01-31)
%c for the channel/nickname


You can find all the conversion specifiers here.

Use shortcuts for last and previous commands
By default, the up and down arrows are used for these two actions. However I always prefered ^P (CTRL+P) for last command and ^N (CTRL+N) for next command. You can add these two in the Settings -> Advanced -> Keyboard Shortcuts... menu. The screenshot below shows how the ^P command should look like, after clicking Add New and filling the necessary fields. Don't forget to press Enter in the Data 1 field, otherwise the new shortcut will be lost after closing the window (I know, extremely annoying but that's the way XChat implements it).


That's it for today. In the next part I'll also include several simple scripts and more /SET tips. Also, I recommend to see this page (offsite), it has some great XChat resources, and eventually the XChat scripts and plugins page.

Tip of the Day: Make a Perl Script for XChat to Display Notices in Current Window

In my last Tip of the Day article I showed you how to create a simple part/join command in Perl. Today I'll continue with a script which will make XChat display notices in the current window.

The script

Xchat::register ("CWN", "0.1.0", "Displays notices in current window");

Xchat::hook_print ("Notice", cw_notice, "");

sub cw_notice
{
Xchat::set_context Xchat::find_context
Xchat::command ("ECHO Received a notice from $_[0][0]: $_[0][1]");
return Xchat::EAT_ALL;
}

As you can see in the Xchat::hook_print command, the subroutine cw_notice will be executed when a notice is sent to you. You can find these events like Notice, Channel Message, Channel Action etc in the Settings -> Advanced -> Text Events... menu in XChat.

The cw_notice subroutine will set the context to your current window and will echo in it the nick and the notice received.

Monday, 12 January 2009

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

Code::Blocks is a complete, cross-platform integrated development environment for C and C++, built using the wxWidgets toolkit. Code::Blocks is available on Linux, Windows and OS X, so you may find it useful on Linux if you switched and are already used to it or an IDE like Dev-C++, for example.


The last stable version is 8.02, and was released almost an year ago. Since Code::Blocks is not included in the Debian repositories, I will show in this tutorial how to compile and install it from source in Lenny, the upcoming stable Debian release. Just follow the steps below:

1. Download the source and uncompress it
Download the source code from the official website, here, then make sure to switch the current directory to the one where you saved the source and uncompress it using the following command:

tar -xjf codeblocks-8.02-src.tar.bz2

2. Install the needed dependencies
This should be easy since only a few dependencies are needed. First, make sure you have the build-essential meta-package installed, which contains tools like make or g++, needed for compilation:

su
apt-get install build-essential

Next, install the development packages needed by Code::Blocks:

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

You will also need package zip to build it:

apt-get install zip

3. Update wx-config to point to wxWidgets 2.8
Issue the following command as root:

update-alternatives --config wx-config

What appears should look something like this:

# update-alternatives --config wx-config
There are 4 alternatives which provide `wx-config'.

Selection Alternative
-----------------------------------------------
1 /usr/lib/wx/config/base-unicode-release-2.6
+
2 /usr/lib/wx/config/gtk2-unicode-release-2.6

3 /usr/lib/wx/config/base-unicode-release-2.8

* 4 /usr/lib/wx/config/gtk2-unicode-release-2.8


Press enter to keep the default[*], or type selection number:
4
Using '/usr/lib/wx/config/gtk2-unicode-release-2.8' to provide 'wx-config'.

Select option 4 from the list, that is /usr/lib/wx/config/gtk2-unicode-release-2.8

4. Compile from source and install
Make sure the working directory is the uncompressed source of Code::Blocks (codeblocks-8.02) and issue the usual commands:

./configure
make
make install

The last one as root.

5. Run ldconfig as root
Finally, run the ldconfig utility as root to update the links to shared libraries:

su
ldconfig

Code::Blocks should be now properly installed in /usr/local/bin/ and you can run it using codeblocks from a terminal or from a run dialogue (ALT+F2 and type codeblocks in KDE and GNOME).


Related articles
Compiling C/C++ Code in Ubuntu and Available IDEs
Running Google Chrome Under Wine 1.1.6 in Debian
Create a Launcher in KDE3

Tip of the Day: Make a Perl Script for XChat to Part/Rejoin a Channel Similar with mIRC's /HOP

For those coming from the Windows OS which are probably used to mIRC, here is a short Perl script for XChat which will do the same thing as /HOP in mIRC, and that is, it will part and rejoin a channel immediately.

By default, XChat provides the /HOP command, which is used to give chanhalf-op to the provided nickname. We will not replace this command as it still may be useful on some networks, instead we will use a new command, say /PJ (or any other you like).

The script
Here's how the script looks like:

Xchat::register ("PJ", "0.1.0", "Part/Join");

Xchat::hook_command ("PJ", cmd_pj);

Xchat::command ("ECHO PART/JOIN script loaded. Use it typing /PJ.");

sub cmd_pj
{
$chan = Xchat::get_info ("channel");
Xchat::command ("PART $chan");
Xchat::command ("JOIN $chan");
return Xchat::EAT_ALL;
}
What does it do?
Basically, the first command will tell XChat the information about the script (name, version number, description). The second one will declare the command /PJ and the subroutine to use when it's triggered, cmd_pj. The body under sub cmd_pj contains what the command will actually do, and that's to get the name of the current channel, part it and rejoin.

Save the script under any name, say pj.pl, and put it under your ~/.xchat2/ directory, where ~ is your home directory. The script will be automatically loaded each time XChat starts.