Latest Publications

Confession

My dear Ubuntu,

I think the time has come that I make a confession. You may be wondering why I haven’t spent much time with you those last months, and you have the right to know. The case is, I have another one. She’s called Debian.

No, it’s not because of you. It’s also not because of your parents; while they aren’t perfect, they are great in many ways and I certainly don’t want to run away from then. Just wait and let me explain this. You surely remember that I spent a week with her some time ago? Well, now that I want to join Debian’s family, I decided that after all that wasn’t much time to get to know here, so I gave her another chance, and with this second experience I fell in love with her unstable character. Ubuntu, you are really extraordinary, and I’m still telling anyone who wants to listen about your wonders, but you just can’t appease my desire for trying out new things as well as Debian does.

Now, this doesn’t mean we won’t see each other anymore. I’ll still take you with me whenever I travel, and I’ll continue helping you with the household. In fact, all this wouldn’t signify a big change at all, if it wasn’t that at the same time I also decided to refocus most of my efforts on raising children, which is what really reduced the time I spent helping you.

So, while currently I’m not seeing you as much as before, I hope you all the best, and I’ll still try to help you advance, be it indirectly (1, 2) or, while probably to a lesser degree, continuing with direct contributions.

By the way, hello Planet Debian!

FOSDEM 2010

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

By the way, if you’re coming too and are interested in Zeitgeist, don’t forget to poke me (or Seif)!

GNOME Activity Journal, and installing it on Ubuntu

GNOME Activity Journal, 0.3.2As already announced by Seif, the first development release of the GNOME Activity Journal (what was formerly known as GNOME Zeitgeist) is finally out!

While several sources have already propagated the good news, what doesn’t seem to be so widely known is how easy it is to get the Activity Journal running on Ubuntu. Because it is!

Installation on Ubuntu Karmic or Lucid

sudo add-apt-repository ppa:zeitgeist/ppa
sudo aptitude update
sudo aptitude install gnome-activity-journal

Now go to Applications -> Utility -> Activity Journal and enjoy the sweetness!

Installation on other systems

Our Personal Package Archive also has packages for Ubuntu Jaunty which you can add the usual way (by adding it to System -> Administration -> Software Sources or editing your sources.list), and the same packages as for Ubuntu work for Debian Sid (to which Zeitgeist 0.3.2 and the GNOME Activity Journal will be uploaded shortly).

There may be packages for other distributions available; if you can’t find any for yours, you can do the installation by hand:

[For Zeitgeist] – Build dependencies: intltool

$ wget http://launchpad.net/zeitgeist/0.3/0.3.2/+download/zeitgeist-0.3.2.tar.gz
$ tar -xzvf zeitgeist-0.3.2.tar.gz
$ cd zeitgeist-0.3.2
$ ./configure
$ make
# make install

[For the GNOME Activity Journal] – Build dependencies: Python (2.5+), Python-DistUtils-Extra, intltool

$ wget http://launchpad.net/gnome-activity-journal/0.3/0.3.2/+download/gnome-activity-journal-0.3.2.tar.gz
$ tar -xzvf gnome-activity-journal-0.3.2.tar.gz
$ cd gnome-activity-journal-0.3.2
$ python setup.py build
# python setup.py install

But, what is the GNOME Activity Journal?

The GNOME Activity Journal is a tool for easily browsing and finding files, contacts and other resources on your computer. Using Zeitgeist, it keeps a chronological journal of your activity and supports tagging and bookmarking (using the new Tracker 0.7) and establishing relationships between resources.

While this first release only supports basic browsing of file activities, the underlying infrastructure can do much more and you can expect the missing functionality to become available in future releases.

espeak-gui 0.2

Yesterday I did a first release of espeak-gui, so while I’m still in practice I’ve decided to get out a second one!

The main changes are fixing a crash bug and… internationalization support. So, if you like this project but you’re not a coder, now you’ve got a way to contribute: translating it into your language (come on, it only has a few strings! :)).

The new version is already in my PPA: espeak-gui_0.2-0ubuntu1~ppa1_all.deb. A tarball is also available, and the installation instructions are the following:

$ wget -c http://launchpad.net/espeak-gui/trunk/0.2/+download/espeak-gui-0.2.tar.gz
$ tar -xzvf espeak-gui-0.2.tar.gz; cd espeak-gui-0.2
$ python setup.py build
$ sudo python setup.py install

In case you didn’t already have the previous version, you’ll also need to install the python-espeak module, for which there are also .deb’s (i386, amd64) or the manual installation option like explained in my previous post:

$ bzr get lp:python-espeak
$ cd python-espeak
$ python setup.py build
$ sudo python setup.py install

Here are the contents of the NEWS file:

2010-01-02: Version 0.2
-----------------------

 - Fixed a crash happening when there was no voice language set in
   gconf (LP: 502253). [Reported by Rugby471]
 - Added a "Plain text" filter to the Open/Save dialogues.
 - Added internationalization support.
 - Added a manpage and a gconf schemas file.
 - A couple little user interface improvements.

Translations: Catalan.

Introducing espeak-gui

I’m joining the hype of presenting little new projects there seems to be those days, unleashing the first version of espeak-gui, a graphical interface to let the computer read out text.

Why, when, who?

The project started almost a year ago when, out of curiosity on what writing Python bindings for C/C++ libraries is like, I started python-espeak, bindings for the espeak speech synthesizer (which, by the way, comes installed by default on Ubuntu and many other distributions).

It turned out that writing bindings isn’t as funny as I thought so they haven’t advanced much since then, but the basic functionality was there and I felt the need for some application using those bindings, so that’s how I started espeak-gui.

Some months later, in true Free Software spirit, someone else -interested in an application like this for personal usage- found my code on Launchpad and got in touch with me, providing me with quite some nice patches. Thank you, Joe Burmeister! However, I didn’t do any more work on it, as I’ve been busy with other projects (eg. Zeitgeist), and development stalled there.

Now, another half a year later, I’ve finally got back to this and decided it’s time I push it out into the wild. So, after cleaning it up a bit more and implementing some new feature, here you have espeak-gui!

(The bindings aren’t really encouraged for widespread usage at this point and I’ll probably end up rewriting them using SWIG or something else; however, if you’re interested in using them please get in touch with me).

Where do I get it?

If you’re using Ubuntu or Debian, you can find a packages for python-espeak and espeak-gui in my PPA.

For users of other distributions, you can install them manually after installing the needed dependencies (most importantly, libespeak-dev).

For the Python bindings for espeak:

$ bzr get lp:python-espeak
$ cd python-espeak
$ python setup.py build
# python setup.py install

And for the GUI:

$ wget -c http://launchpad.net/espeak-gui/trunk/0.1/+download/espeak-gui-0.1.tar.gz
$ tar -xzvf espeak-gui-0.1.tar.gz
$ cd espeak-gui-0.1
# python setup.py install

[Update: A new version is out, see espeak-gui 0.2 for details.]

I have several ideas on how to continue improving it and I think I’ll slowly continue doing so (or maybe not so slowly if I get positive feedback on this :)). Also, patches are always welcome!

Using it

Once installed, you’ll find espeak-gui under Applications -> Sound and Video (maybe Accessibility would be a better place?), or you can run it from the command line like this:

espeak [ <file 1> <file 2> ... ]