Category Archives: Igalia

Guademy and new Last.fm update

This has been a busy weekend.

Guademy 2007

Guademy, the meeting between people from both Gnome and KDE projects has just finished. We had people from all parts of Spain, with the notable exception of Aaron Seigo from KDE who was there too.

It was a pleasure to meet people like Carlos Garnacho (and his interesting talk about system tools backends), Álvaro del Castillo (who spoke about F-Spot), Albert Astals Cid (who gave talks about Okular and Valgrind), Álvaro López Ortega (author of Cherokee web server and former Fidonet member like me!) and many more. I hope to see you again soon!

Among other things, we even managed to compare Gnome and KDE using a scientific method impossible to refute. And here’s the result: no matter how you look at it, Gnome wins!

Of course Igalia was very interested in this event (we were one of the sponsors, the other one being Trolltech) and some of my colleagues gave talks about some (IMHO) interesting topics such as the Gnome Build Brigade (by Iago) or the Maemo introduction (by Andrés) among others.

For the interested, there’s a blog with more info about Guademy (including slides of the talks) and people are uploading pictures to Flickr.

Meanwhile, thousands of kilometers away from Coruña, John had been working hard and created some new patches for the Last.fm client. I’ve just compiled and tested the new version this afternoon and finally the new pakages are available: Last.fm 1.1.3.0-msk5 is out!

Besides some minor changes and bugfixes, the most important thing about this release is that John has managed to compile Last.fm 1.1.3.0 on Qt 4.1. Well, I had compiled it too some time ago but the difference is that John has got it working 😉

What does this mean? It means that users of Debian sarge and Ubuntu dapper need no longer stick with version 1.0.7. So welcome to Last.fm 1.1.3.0!

You can get the compiled packages here and the source code, Debian diff and detailed information here.

As usual, if you find any problem with this new version just let us know.

And now I should go to sleep (or, at least, rest a bit).

The 3.60 Happiness Movement Redux

Always looking for better ways to increase our happiness and being a devoted follower of the great 3.60 happiness movement (proposed by the even greater Sergio), I found a program that enhances the typing break utility included in Gnome.

I’m talking about Workrave, a little tool that will help you taking rest breaks and thus preventing Repetitive Strain Injury.

Major features:

  • Take micro pauses (i.e., rest 30 seconds each 5 minutes or so).
  • Take rest breaks (3 minutes each hour in the original 3.60 proposal).
  • Set a daily limit. Use this if you don’t want to work more than 12 hours a day 😎
  • Workrave tells you how to do some exercises (take a look at the the screenshot below!).
  • Statistics. This way you’ll be able to know if you have taken more breaks than you should 😉
  • Network support. Working in two or more computers at the same time? No problem! Workrave shares the timing information if you want to.

In case all this wasn’t enough, it is translated into several languages. So there’s no excuse! It’s not a matter of laziness(*): it’s a matter of health. Join the 3.60 movement now!

Workrave exercices. Move your shoulders!

(*) No, we Galicians are not lazy. Read paragraph 5.

Pizza Party!

Here’s a useful program!

Pizza Party lets you order pizzas from the command line. It has lots of benefits, including:

  • Batch usage (for ordering many pizzas).
  • Runs on most Unix-like operating systems.
  • Background operation (you can order a pizza from a cron script).
  • Lots of options to customize your pizza (--extra-cheese, --pepperoni, etc.). Check the manual page for details.
  • It’s free software!

The only drawback is that it currently only supports Domino’s pizza. We’ll have to port it to Telepizza or whatever.

Yum!

Last.fm in your language: 1.1.3.0 is out!

Just a couple of days after we published an update for Last.fm 1.0.9.6, a new version was released: Last.fm 1.1.3.0.

Besides some bugfixes, the UI has been translated into several languages, so you can run this program in english, italian, german, french, spanish, portuguese, polish, russian, japanese and korean.

Moreover, this time the Last.fm team has released a Debian package (for Debian etch), available from the Last.fm downloads page.

However you still might find our packages interesting because:

  • We’re including some enhancements not available in the official version.
  • We have packages for several distros: Debian sarge and etch, Ubuntu dapper and edgy.

As usual, you can get the source code and diff at John’s page for original source code, Debian diff and a description of our changes. The compiled packages are available here.

And as usual, feedback is appreciated. Enjoy!

Last.fm 1.0.9.6 updated

John has been working in the Last.fm client code and prepared some nice patches, so here’s a new minor release for Debian etch (1.0.9.6-0etch3) and Ubuntu edgy (1.0.9.6-0edgy3).

Changes include:

  • Some leaks were fixed, so now the client wastes less memory 😉
  • A new ALSA plugin has been introduced.
  • Users can select the web browser from the options dialog.

Get the full changelog and source code at John’s page.

As usual, compiled packages are available from my webpage. Comments and suggestions are welcome.

Enjoy!

My first programming book

I don’t remember exactly what my first programming book was, as it was many years ago (when I was about 12) and I keep a number of programming books from that time, but it was probably this one:

Novas aventuras no seu ZX Spectrum

It was a Portuguese translation of “Creating Adventure Programs on the ZX Spectrum“, originally by Peter Shaw and James Mortleman.

It explained how to design and code text adventures, one of the earliest genres of computer games that was about to disappear completely in the early 90s but fortunately is still alive thanks to the Internet (although it’s not a commercial genre anymore, obviously). There’s a number of free software programs for Unix-based systems to play classic and new games from that genre. Maybe one day I’ll post something about them 😉

With this book I learned some interesting things about algorithms, text parsing and data structures. All the programs included in the book were written in Sinclair BASIC, the first language that every Spectrum owner learned as the computer included an interpreter.

However, it wouldn’t be fair to say that I learned programming thanks to any book, because without any doubt almost all of my early programming experiences began with MicroHobby, a Spanish magazine dedicated to Sinclair computers. Thanks to the work of some enthusiastic fans who scanned all the issues, MicroHobby is available online in the MicroHobby Forever site.

A Christmas gift for you

I’m pleased to announce the availability of new Debian and Ubuntu packages of the the latest version of the Last.fm client for x86 systems.

New versions have been released by the Last.fm team, being 1.0.9.6 the current one. However the only official download for GNU/Linux is still several months old and lacks the newest features and bug fixes.

I have been combining efforts with John Stamp and we have prepared packages for Debian and Ubuntu. We’ll try to keep them updated with every new release from Last.fm (you can subscribe to this blog’s feed for announcements if you want to).

Go here for downloads and more information.

These packages are unofficial and they haven’t been tested thoroughly, so comments and suggestions are welcome.

Merry Christmas for you all!

P.S.: I’m sure that some of you know where I took this post’s title from. Highly recommended, of course, and not just for these dates 😉

Last.fm client for Debian and Ubuntu

I wrote about Last.fm some time ago in this blog, and mentioned some of the programs you can use to listen to this internet station.

However, the previous official player is deprecated and no longer supported (although it still works) as the Last.fm team has released a new client (in beta stage for GNU/Linux systems). This new client can be downloaded here, but there’s no Debian package, just a precompiled binary in a .tar.bz2 file. Moreover, this binary does not work in sarge, the current stable release of Debian.

As this new client is GPL too (congratulations!) I downloaded the source code and made a Debian package ready to run in sarge systems. You can get it from my webpage. I have been using it successfully for some time, but any comments regarding its packaging are welcome. Enjoy!

Updated 03-12-2006: I also built another package for Debian testing (etch). You can download it from the same page I mentioned above.

Updated 04-12-2006: Now a package for Ubuntu edgy is available too!

Disk encryption in Linux (IV): Encrypting a full partition with LUKS

LUKS is a hard disk encryption standard for Linux created by Clemens Fruhwirth. Althought the reference implementation is based on dm-crypt, it has several improvements over plain dm-crypt (as seen in the third post in this series), including support for multiple keys and passphrase revocation.

To use LUKS you’ll need a recent cryptsetup package (Debian sarge users can get it from backports.org). You will also need an empty partition to encrypt. You should fill it with random data before beginning:

$ shred -v /dev/hdaX

Now you have to initialize that partition with LUKS:

$ cryptsetup luksFormat /dev/hdaX

A random key will be generated and you will be asked a passphrase to encrypt it. Now you can decrypt your newly created LUKS partition and begin to use it:

$ cryptsetup luksOpen /dev/hdaX myname

Here, myname is the name of the device that will be created under /dev/mapper. Now it’s time to create a filesystem:

$ mke2fs /dev/mapper/myname

Now you can mount and use /dev/mapper/myname just like any other filesystem. When you’re done, unmount it and close the LUKS device so it won’t be accessible anymore until you open it again:

$ cryptsetup luksClose myname

So far so good, but how do you mount that partition automatically on boot? Just put this in your /etc/crypttab (and don’t forget to add /dev/mapper/myname to your /etc/fstab file!):

myname    /dev/hdaX    none    luks,check=ext2

myname is the encrypted device that will appear under /dev/mapper and /dev/hdaX is the original device.

The third field, none, means that the key to decrypt the filesystem is not stored anywhere, so cryptsetup will ask you during boot.

The fourth field lists misc options: luks means that the partition is encrypted with LUKS format (as opposed to plain dm-crypt format). check=ext2 will make cryptsetup look for an ext2/ext3 filesystem on the decrypted partition. That way, cryptsetup will notice whether you introduced the right passphrase and ask it again in case you typed it incorrectly. There are several partition checks (not just ext2), and you can write your own scripts. Just have a look at /lib/cryptsetup/checks/.

And that’s all for the basic usage, but there are some other nice things that you can do, such as adding more valid passphrases to a LUKS partition:

$ cryptsetup luksAddKey /dev/hdaX

You can see some information about the partition (including the number of valid passphrases available):

$ cryptsetup luksDump /dev/hdaX

And obviously you can remove any passphrase:

$ cryptsetup luksDelKey /dev/hdaX slot

Where slot is the number of the key slot you want to remove (you can see it with luksDump).

And that’s enough by now. As you can see, it’s not that hard to keep your data secure. Keep in mind, however, that encrypting a whole partition introduces some extra overhead, so your system will be slower. You don’t have to encrypt everything (i.e. under /usr you probably don’t have any confidential data). Choose wisely and enjoy!.