planet.igalia.com

February 09, 2010

Alberto Garcia

Tomeu Vizoso (Sugar Labs) na Corunha

O próximo dia 11 de Fevereiro, e como parte do Master em Software Livre, Tomeu Vizoso estará no local de Igalia na Corunha das 16 às 19 horas para falar do projecto Sugar.

Sugar

A entrada é aberta a todo o mundo, só limitada pola capacidade do local.

Mais info no blogue de Tomeu (em inglês) e no blogue do master (em espanhol).

by berto at February 09, 2010 01:04 PM

Joaquim Rocha

FOSDEM follow-up

FOSDEM was really nice this year. Still too many interesting presentations to attend than our physical condition allows but that’s life.

Like I announced on my last post, I gave two presentations there and I am glad with both of them. People seemed really interested in OCRFeeder and I hope they try it out, send me feedback and spread the word about it.
I could personally meet P. Christeas, who had send me a patch for it, and listen to the questions and suggestions of people about how OCRFeeder works.

I must say the most impressive presentation I attended was by  Professor Andrew Tanenbaum himself, about MINIX 3, what a beautiful piece of software it seems.
If you have not attended it, maybe you can watch the video recording once it is available.
Later on I had a nice chat with him regarding web browsers on MINIX and the real portability of applications that are said to be multi-platform.

Here are the slides for the presentations I gave:

Looking forward for FOSDEM 2011!

by Joaquim Rocha at February 09, 2010 10:53 AM

Sergio Villar

Dear GMail IMAP server developers…

Some people have already complained about the way GMail IMAP works. With great power comes a great responsibility. Google guys, you have one of the largest email services in the world, so this means that you have to care a lot about users and clients. Dape recently reported and error in how GMail creates the body structure of some particular messages and still got no answer.

Now I found that it does not return the full bodystructure of a multipart/mixed with two refc822 messages in it. If this sounds strange to you, it’s basically how Mozilla Thunderbird creates an email with two other emails as attachments. GMail simply will not tell you about the structure of the two attached emails.

Bodystruct support in Modest is working in most cases although these problems with GMail will most likely mean that it won’t be shipped with the next software update for the N900.

by svillar at February 09, 2010 09:01 AM

February 08, 2010

Víctor Jáquez

Slides of my talk at FOSDEM 2010

I still don’t know how to submit my slides into the FOSDEM website, so I’m linking them here by now:

DSPBridge on OMAP3 - fosdem 2010

by vjaquez at February 08, 2010 08:00 PM

February 07, 2010

Enrique Ocaña

Meiga 0.3.2 released

This new release doesn’t use GtkBuilder anymore, so the GUI problems caused by incompatibilities between GtkBuilder versions shouldn’t be noticed now.

Files are now iterated instead of being mapped into memory. This makes Meiga a little bit slower but allows execution on low memory machines, as suggested by Steven.

Meiga now also works in Karmic. Just use the Jaunty packages and they will work fine. You can get it from http://meiga.igalia.com.

by eocanha at February 07, 2010 08:30 PM

February 05, 2010

Alejandro Piñeiro

And finally Cally talks

Cally was somewhat stuck during December due Christmas and parallel projects, but January was a productive month.

A ClutterText bug was committed, and this allowed to push several cally bugs solutions and other blocked local commits, and going forward to do a real test of Cally with ORCA. The idea was being able to run the toy-cally examples with ORCA before move to bigger things. So bug 1946 was created with several comparative cally-gail test cases. I want to give thanks to Joanmarie for all her help as ORCA expert, testing and bug detection.

As I said, this bug leads to detect some extra bugs (on clutter and on cally). Finally these bugs were solved, so now you can use ORCA with the cally text examples.

During this task, I personally discovered that the manipulation of keyboard codes is something near to hell, and that currently Gdk and Clutter has a slightly different behaviour. This would lead to problems using the ATK interfaces, as AtkKeyEventStruct was defined really tied to GDK (at that moment the use case to contemplate). I tried to minimize that on Cally as far as possible.

Next steps? While I was working in this bug MX team announce the 0.5 release. This announce include the addition of MxFocusable and MxFocusManager, used to improve the keyboard focus management. I would like to check if it will be useful for keyboard navigation bugs in gnome-shell, as Owen Taylor suggested in the mailing list.

BTW, I have added a Cally page on live gnome, http://live.gnome.org/Cally

by API at February 05, 2010 02:43 PM

Andrés Maneiro

Máster en Sw Libre: los estudiantes van al FOSDEM 2010

Como acabamos de anunciar en el blog del máster, los alumnos de la III edición del Máster en Software Libre participarán en el FOSDEM 2010, que tendrá lugar durante este fin de semana en Bruselas.

Si los alumnos de la primera edición fueron al FOSDEM y los de la segunda a la GUADEC, en esta tercera repetimos con el FOSDEM, que es uno de los mejores lugares para respirar el ambiente de la comunidad y conocer el estado y novedades de los grandes proyectos.

Continuamos así con la política de participación en los eventos de comunidad, que siempre es motivante para participar más y mejor en los proyectos de software libre.

by amaneiro at February 05, 2010 12:35 PM

February 04, 2010

Xan López

Unless the enemy has studied his Agrippa, which I have

In a few days we’ll release Epiphany 2.29.90, so this is a good time as any to show a few of the new cool things it will bring.

The big one is, without doubt, good enough support for HTML5 video tag for the Youtube HTML5 beta to work. Pretty much all of the credit goes to the dynamic duo of Sebastian Dröge and Philippe Normand, which have been working tirelessly to improve our media support all across the board. As you probably know we use GStreamer for all our media needs, so if you happen to have the right codecs installed stuff will just work out of the box, like it should. Here you can see it in action, playing one scene everybody should know and love:

Screenshot-YouTube - The Chatty Duel---The Princess Bride

Another recently fixed bug is support for windowless NPAPI plugins, contributed by Brian Tarricone. For those of you still enslaved to plugins it should fix a few annoyances, not to mention that it allows for the plugin content to be manipulated alongside the rest of the web content, since it’s rendered directly in the browser window.

The world-famous Diego Escalante, who is doing an internship in our company with the mission of fixing as many Epiphany bugs as he possibly can, reimplemented EphyEmbedPersist on top of WebKitDownload , which will have the visible effect of making those mysteriously broken save-related context menu items work again.

On the same “kill all regressions” mood I spent some time implementing acceptance policies for cookies in libsoup and hooking the new APIs here and there. The result? This pesky items in the preferences dialog should do something again:

Screenshot-Preferences

When I was not doing that or losing my youth in the depths of WebKit chasing some nasty bugs I’ve also been spending some time on the GObject DOM bindings for WebKit. I’m happy to say that a couple of preliminary patches have been already committed, and the first big-step patch of the process is under active review and hopefully will be accepted shortly, so you should begin to get some exciting new APIs to manipulate web content in a not-so-distant release!

There are just a few of the latest things we have been working on. I’ll, as usual, keep you more or less up to date here, but if you want the gory details of the day to day business, or even get your hands dirty on the stuff yourself, don’t hesitate to join our IRC channels (#epiphany on GimpNet and #webkit-gtk on FreeNode) or mailing lists. Happy hacking!

by xan at February 04, 2010 11:14 PM

Alberto Garcia

Updates on Hildon and Vagalume

It’s been almost two months since my last blog post so here’s a quick update on the things I’ve been doing lately.

Vagalume 0.8.3

The first thing that I’d like to mention is the upcoming release of Vagalume 0.8.3 (which will probably happen during this weekend). The only changes in this version are that menus and dialogs have been fremantlized using the Hildon 2.2 style. It’s not an enourmous change, but it was about time :)

Here’s a screenshot of the new preferences dialog (click to enlarge):

Vagalume preferences dialog

Note that this release is only interesting for N900 users. There are no significant changes in v0.8.3 compared to v0.8.2 for other platforms.

Hildon development

There’s been quite a few changes in Hildon during the last weeks. The maemo.org Bugzilla has been working reasonably well and I’m glad to say that some important bugs that have been fixed lately were reported directly by end users.

Apart from tons of bug fixes and speed improvements, perhaps the most easily noticeable change in Hildon that you’ll see in the upcoming Maemo update is the new “live search” feature for tree views.

Hildon Live Search

You’ve seen it in the “Contacts” application and Claudio talked about it some weeks ago. There’s been a lot of tuning since then (including the support for icon views) and now it’s essentially ready. I hope it’ll make the overall user experience of the N900 a bit better.

FOSDEM 2010

Last, but not least, tomorrow I’m flying to Brussels to attend FOSDEM 2010.

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

Some fellow Igalians are giving talks there (Joaquim about OCRFeeder and SeriesFinale, Victor about the dspbridge for OMAP3 and Philippe about multimedia in WebKitGTK+ with GStreamer).

We’ll arrive soon so we’ll be at the beer event on Friday night.

See you there!

by berto at February 04, 2010 02:01 PM

February 03, 2010

Mario Sánchez

Trying latest epiphany/WebKit in Ubuntu

Even though I’ll be stating the obvious for so many ubuntu users/developers reading this post, I’d like to post a quick recipe for those who don’t know how to easily install the latest version of epiphany with the WebKit backend, as well as all the needed dependencies, without having to mess with compiling the source code (which is not always an easy nor a quick task, by the way).

So here we go

  1. First of all, this only works for Ubuntu Jaunty or Karmic, since there are no PPAs available for previous distros to install Epiphany (WebKit PPAs provided since Hardy).
  2. Add the PPA’s from the WebKit Team both for installing latest version of WebKit and Epiphany. So, that is, add the following lines to your /etc/apt/sources.list file (replace ‘karmic’ with ‘jaunty’ if needed):
    deb http://ppa.launchpad.net/webkit-team/ppa/ubuntu karmic main
    deb-src http://ppa.launchpad.net/webkit-team/ppa/ubuntu karmic main 
    
    deb http://ppa.launchpad.net/webkit-team/epiphany/ubuntu karmic main
    deb-src http://ppa.launchpad.net/webkit-team/epiphany/ubuntu karmic main
  3. Import the GPG key of the repo in APT:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2D9A3C5B
  4. Update APT packages cache:
    sudo apt-get update
  5. Install the needed packages:
    sudo apt-get install epiphany-browser epiphany-browser-dataepiphany-extensions
  6. Just wait and let APT to do its magic :-)

And that’s all. After those simple steps you should be enjoying the last version of  this great and amazingly fast browser (2.29.6 at the time of writing this post), which is nowadays under heavy development, continuously getting better, better and even better on its roadmap towards GNOME 2.30.

So, what are you waiting for? Just go ahead and give it a try if you haven’t done it yet and make it your default browser ;-) . Now you don’t have to manually compile all the needed stuff you just don’t have any good excuse not to do it.

And don’t forget to report any issue you find in the bugzilla. Remember feedback (and patches, of course) is the best way to help with improving it even more!

Ah! by the way, almost forgot to say that…

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

…as another member of the Igalia gang hanging around there this weekend.

See you there guys!

[Update 2010/01/04] As commented by zerwas, there’s an even easier way from Karmic on:

  1. Add the PPA’s from the WebKit Team both for installing latest version of WebKit and Epiphany:
    sudo add-apt-repository ppa:webkit-team/ppa
    sudo add-apt-repository ppa:webkit-team/epiphany
  2. Update APT packages cache:
    sudo apt-get update
  3. Install the needed packages:
    sudo apt-get install epiphany-browser epiphany-browser-dataepiphany-extensions

by msanchez at February 03, 2010 09:53 PM

January 29, 2010

Philippe Normand

Guess what

http://base-art.net/static/fosdem-2010.png

Arriving friday morning and leaving monday evening! I will do a quick presentation about WebKitGTK+ and a talk with my friend Frank about Mirabeau and personal media networks in the XMPP room.

We will be a whole Igalia gang hanging out there at Fosdem, looking forward socializing around beers :) Oh and don't miss Joaquim and Victor's talks!

by Philippe Normand at January 29, 2010 10:59 AM

Víctor Jáquez

gstjpegparser

Back in August 2009 I was chatting with my old peers in Mexico, and they told me that they needed a JPEG parser element in GStreamer for their DSP accelerated JPEG decoder. So, I went to bugzilla and found a bug report about the issue and a proposed patch. But the published patch still missed some features so I took it and worked on it.

After attaching my first try, Arnout, the first author of the patch, came with some comments to improve the element. Several weeks after I retook the element and almost rewrote it again. So I was waiting for the OK from a GStreamer developer.

Finally, this week, Stefan review it and pushed it. Sadly for me, I didn’t notice, when I rebased my local commits, squashing my change set into one single commit, that this commit had as author Arnout, not me :(

Now the commit is under the Arnout’s credit.

Yeah, sometimes I’m so absentminded.

by vjaquez at January 29, 2010 10:37 AM

January 28, 2010

Joaquim Rocha

Going to FOSDEM!

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

… and also, this year I giving two presentations there.

I’m presenting OCRFeeder in the GNOME DevRoom and SeriesFinale in the Embedded/Mobile DevRoom!

I just love FOSDEM, the spirit of it, the number of important Open Source projects in there and the city of Brussels!

If you wanna have a chat about OCRFeeder, SeriesFinale, Hildon Input Methods, Rancho (for Django folks), Igalia or other important Open Source projects, while drinking a nice Belgian beer, let me know!

by Joaquim Rocha at January 28, 2010 09:05 PM

January 27, 2010

Joaquim Rocha

HIM (re)opened

I have been working for the past months in Hildon Input Methods (HIM) and many things have changed in it (and many will) with only a target in mind: make the experience of typing in N900, physically or virtually, a great experience.
Still, one thing I dislike in HIM is the fact that it is semi-closed source. Now what’s this semi-closed source thingy? It means that some modules are open, others are closed (HIM is a complex project).

(this is not the project logo)
(this is not the project logo)

For the open ones, and have you failed noticing it, the sad truth was that they were updated from time to time. No open development was done… but this has changed!
Since last week, HIM’s open source modules are now developed “in the open”, using Gitorious (thanks to Kimmo)!
The modules are hildon-input-method and hildon-input-method-framework.

This constitutes another step of freedom inside Fremantle and I hope you enjoy it as much as I do!

by Joaquim Rocha at January 27, 2010 08:19 PM

Alejandro García Castro

WebkitGTK+ and Epiphany these days

Some threads

After the hackfest and the Christmas holidays we continued working in the GNOME browser, it is hard but someone has to do it :-P . I wanted to do a small summary because in this time without blogging a lot of things happened and I think sharing the report could be interesting for other people.

The roadmap for 2.30 is waiting just for the soup on-disk cache (Dan is working in this one), so currently we are doing some cleaning work in Epiphany, addressing the current regressions, Diego has joined the group to help with it. Xan did an awesome work finishing the DOM bindings, this patch should be the beginning of the work in this topic in order to have complete bindings. Of course Philippe has been working in the multimedia support adding nice features like the on-disk buffering. Millan is helping also us with the a11y support and on this regard I’m still waiting for a review of the bug 25676 which is required for the caret browsing.

Trying to solve some a11y issues I’ve changed the WebKitGTK+ tooltips support to get rid of some of the work-arounds that it had, now it uses the GtkTooltip API. Regarding the a11y requirements we still have some limitations to position the tooltip that it is not clear how we could solve.

I’ve been also trying to finish some refactoring of the load states inside Epiphany, hopefully now it would be easier to deal with that code.

I wrote this summary initially as a personal report of our work and felt it was nice to share it, this way I can create more interesting posts than using just my work ;) . It is also nice to check the interest of other people and companies using WebKitGTK+ in their desktop and in their products.

My interests these weeks are Cody’s GtkOffscreenWindow widget and the DOM bindings, I was wondering also about the visual result of the scrolling in Epiphany, it has some tearing and I think we could do it better. Really interesting things to check :) .

by alex at January 27, 2010 01:08 PM

January 26, 2010

Sergio Villar

Another One Bites the Dust

After some months of really hard work, I managed to take a look at one of the most annoying bugs people have found while using Modest. There was some problem in Tinymail with IMAP servers that do not support NAMESPACE. Basically users were not able to open their INBOXes, just the children mailboxes.

This morning I committed this long awaited fix. This bug was affecting among others people fetching mail from Oracle Beehive, Runbox, O2Online, and probably the most important one, GMX.de (German’s biggest provider of free email). Note that if you select GMX in your N900 it currently works fine because it uses the POP access as it is free of charge. IMAP access, the one that was not working, needs a paid account.

PS: as I mentioned in the bugzilla, you will get the fix with the next release of Maemo5 software.

by svillar at January 26, 2010 05:04 PM

January 24, 2010

Víctor Jáquez

Ping DSP task node

DSP task nodes, under the TI Omap3 domain, are a separate execution threads running on the DSP that implement control or signal processing algorithms.

I’ve just pushed a rewrite for the ping dsp task node to my dsp-samples repository. It works with the dsp-ping program included in dps-tools.

An interesting thing is that it’s nearly 5 times smaller than the dll provided by TI:

-rw-r--r--    1 1001     1001         3920 Jan 19 15:01 pingdyn_3430.dll64P
-rw-r--r--    1 root     root        19816 Jan 19 14:44 pingdyn_3430.dll64P.bak

And I'm going to FOSDEM 2010 too!

And maybe I’ll talk about this in the embedded devroom… maybe…

by vjaquez at January 24, 2010 04:36 PM

José Dapena

Launchpad PPA for Modest 3.90 series (Gnome&Moblin port)

Gnome/Moblin Modest

As I told in previous post, we’re developing actively a port of Modest for Gnome and Moblin, trying to keep the user experience we created in Maemo Fremantle releases.

While the goal is having something working for Moblin, Modest way of handling mails (kept simple, and fast to browse) is something you may definitely want to try in y our desktop.

Launchpad PPA for Modest

So, last weeks we’ve started to create packages of Modest for Ubuntu Karmic using the unstable development for Gnome&Moblin. For this we’re using Launchpad PPA. You can get packages for Karmic here:

https://launchpad.net/~jdapena/+archive/modest/

Of course, we would be glad to prepare releases for other distributions. Just ask.

Modest 3.90.x vs 3.2.x

If you check the Modest git repository you’ll see that we’re actively developing in two branches: master and modest-3-2:

  • modest-3-2 branch is targetted for Fremantle releases, and is also the stable release path. If you want to install new releases of Modest in your N900 this is the branch you should use. The releases are happening often, and are numbered in 3.2.x series.
  • master branch is the unstable work. The main change happening here is the creation of a Gnome&Moblin version of Modest, without hildon/maemo dependencies. This is the branch used for Launchpad PPA releases.

So, Modest release 3.90.4

Today I’ve prepared release 3.90.4 of Modest. The main new feature is that it includes support for handling calendar invitation requests in plugins. So a protocol plugin would be able to handle the calendar invitations and add accept/tentative/decline buttons. Also some bugfixes.

In next hours this should be available in Modest PPA.

by jdapena at January 24, 2010 12:27 PM

January 23, 2010

Joaquim Rocha

OCRFeeder 0.6 released and the move to GNOME

I’ve just released OCRFeeder 0.6.

This new version introduces the following changes:

* Hide import pdf and unpaper menus if the respective commands are not available
* Several code improvements
* Removed Studio from the application name
* Removed unneeded engines folder
* Lowered the package name font case
* Updated copyright notice on the about dialog
* Swedish translation (thanks to Daniel Nylander)

Another very important change is that I moved the development of OCRFeeder to the GNOME infrastructure.
This means I’m using GNOME’s git server and will soon use GNOME Bugzilla to track bugs.
I always thought of OCRFeeder as a unique Free Software application (in the way that there isn’t anyone similar to it) and that it would be great to get it more involved with our favorite desktop environment.

I’d like to thank Claudio for supporting me on this move.

You can get the latest source from GNOME FTP.

by Joaquim Rocha at January 23, 2010 06:32 PM

January 22, 2010

Philippe Normand

GStreamer and on-disk videos buffering

A really nice feature every video player using GStreamer and playbin2 should have is media on-disk buffering. Even though it is supported only for Quicktime and Flash videos currently it remains one good improvement of the user experience if you are an avid consumer of Apple trailers and flv :)

Under the hood the magic is in queue2 and uridecodebin but you mostly interface with playbin2. Here is the action plan:

  1. Add the "download" flag to the playbin2 flags property
  2. Upon reception of GST_MESSAGE_BUFFERING messages on the bus, add an idle source to the main loop (for instance)
  3. In that source create a gst_query_new_buffering() query with GST_PERCENT_FORMAT format perform the query to playbin2
  4. Use gst_query_parse_buffering_range() to get the stop value and compute the fill_status value
  5. Notify your UI of the fill level

Additionally you can allow the user to save the buffered media for later off-line consumption :) The media is buffered by queue2 in the tmp folder, the exact file location, temp-location queue2 property, can be retrieved by connecting to the "deep-notify::temp-location" signal of playbin2. You also need to make sure that the temporary file is removed when the user exits from your application, GStreamer doesn't automatically take care of that, as far as I could see.

This is what Totem does, as far as I could understand its code. This is also how I implemented (yet to merge) it in WebKitGTK+:

/static/iron2_buffering-thumb.png

And to provide a simple example I added this feature to the gst-python play.py example, available in a gist after the break!

by Philippe Normand at January 22, 2010 07:51 AM

January 20, 2010

Claudio Saavedra

Wed 2010/Jan/20

  • After spending the first week of February in A Coruña, for Igalia's 1st Assembly Meeting of the year, I'll bounce to Brussels to attend FOSDEM. Igalia was kind enough to sponsor me this year even when I plan to just attend the talks and catch up with the people.

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

    On a related note, I noticed a bit too late that Pat Metheny will be playing in Brussels one day after I leave the city. It's a pity I didn't notice earlier, since he is touring Europe but won't visit Helsinki.

  • During the weekend, I finally met Xan after his trip to A Coruña for the WebkitGTK+ hackfest. This means that I finally received my christmas gift from Igalia: a shinny N900.

    The nicest part of this present is that it doesn't come in a top-down manner as in most companies, but from the Assembly members. Meaning, we all decided if we wanted to give ourselves a present and what.

  • mafw-lastfm is doing quite well. Even when the project is still in extras-devel only, the userbase seems to be growing. I received some patches and ideas from Felipe Contreras, and I think that a simple gobject based library for scrobbling will come out of this.

    It's also nice to see that some of the users went ahead and created a last.fm group.

January 20, 2010 05:31 PM

January 18, 2010

Andrés Maneiro

Curso Administracion de sistemas con SL: ampliación plazo de matrícula

Se acaba de anunciar en la web del máster la ampliación hasta el 22 de enero del plazo de matrícula para el curso de especialización de Administración e Integración de sistemas con Software Libre. Esperamos que podáis participar!

Más información sobre el curso:

by amaneiro at January 18, 2010 10:23 AM

January 14, 2010

Víctor Jáquez

Minimal CD Ripper

Back in London I bought a couple CDs. Obviously I don’t use CD players anymore, I mostly stream all the music I hear (jamendo, spotify, last.fm). Though, if I want to hear music using my n900 without any network connection, I ought drop in there the music files. So, the solution is rip out the music from the CDs,
encode them et voilà.

The obvious solution to rip music is SoundJuicer, and I started to compile it within my jhbuild environment, but I found a huge list of dependencies which I didn’t want to install, such as brasero. As everybody knows the next logical think then is “let’s code a simple cd ripper”.

Vala was my choosen language (and don’t ask why). What I wanted was have metadata in the files (life without metadata is not feasible anymore), also I want to encode the files in AAC/MPEG4, and finally I didn’t want any user interaction: just run the program and have my directory with my music.

The first problem I found was that Vala hasn’t bindings for libmusizbrainz, so I started to cook one for libmusicbranz v2.x, which I found terrible bad to port to Vala and also it is already deprecated. Then I cooked another for libmusicbrainz3.

After that, I also found that GstTagSetter wasn’t bind to Vala either, so I made the patches for it and another for the GstIterator.

Solved all those issues, finally I came with my mcdripper!

http://gitorious.org/vjaquez-misc/mcdripper

Ah, by the way, it uses async methods, so you’ll need a recent Vala (I use the git’s version).

And finally I’ve been ripping my new CDs and storing the files in my N900.

by vjaquez at January 14, 2010 12:35 PM

January 13, 2010

Mario Sánchez

Porting Frogr 0.2 to Maemo 5

During the last days (well, actually during the last nights [*]), I’ve been spending some time in adapting frogr 0.2 to also compile and work on my brand new N900 (thanks Igalia!), and this is the humble result up to date:

Frogr 0.2 for Fremantle

Perhaps you’re thinking why the hell I needed frogr to upload pictures when the N900 already comes with a nice and handy sharing application to upload pictures directly from the camera app or the image viewer, so here you have some use cases where I found the  sharing app not enough for my needs:

  • To upload several pictures in a row to flickr, instead of having to do it one by one (tipical use case after taking several pictures that I’d like to share/backup in flickr).
  • To set same name, description and/or tags to a bunch of pictures instead of doing it one by one (related to previous use case).
  • To be able to upload pictures as “private” instead of “public”.

Update: I’m correcting this post here since it seems the sharing application already was capable of doing some of those things I mentioned above (ups!). Anyway, as I commented there, this does not discourage me even a little bit of keeping porting my little frogr to Fremantle, but just encourage me to try to make a difference and because… why not to tell it? I’d just love to bring frogr with me wherever I go :-) . Thanks Daniel for your comment!

Current status of this port to Fremantle is still work in progress so don’t expect to find anything working out-of-the-box if you download the source code at this moment, but the idea is to get it into a stable state soon to upload it to maemo-extras, along with a packaged version for Fremantle of the great flickcurl library, which is a requirement for frogr to work (and at this moment I’m jsut packaging and using it on my own for development purposes).

[*] I think the screenshot explains pretty well the main reason why I work so slowly and at late hours in frogr :-)

by msanchez at January 13, 2010 08:06 AM

January 12, 2010

Andrés Maneiro

Curso Administración de Sistemas: últimos días de matrícula

El próximo viernes 15 de enero se cierra el plazo de inscripción en el primero de los cursos de especialización que ofrecemos: Administración e Integración de Sistemas con Software Libre. A lo largo de las 80 horas de docencia se tratarán contenidos como los siguientes:

  1. Prestación de servicios con software libre. Tareas administrativas básicas. NFS. SMB/CIFS. DNS. Servicios de terminal. Servidor impresión. DHCP. LDAP.

  2. Servidores web, correo electrónico y comunicaciones. Protocolos y servicios de correo electrónico: SMTP+TLS, POP3, IMAP. Listas de correo. Antispam. Servidor web. Webmail. Listas de correo web. Proxy web y filtrado. Antivirus.

  3. Scripting y administración de sistemas. Comandos básicos de administración. Programación shell (bash). Comandos avanzados de administración. Programación Perl.

  4. Seguridad. Seguridad a nivel físico. Seguridad a nivel de usuario: backup, quotas, autenticación PAM, permisos y ACLS, utilidades de seguridad a nivel usuario. Seguridad a nivel de red: acceso a servicios, shell remoto, certificados, web con SSL, GPG, VPN, IpSEC, Firewall.

  5. Estudios técnicos detallados de proyectos: eBox, Debian, Fedora, Kernel de Linux.

Si te gusta conocer a fondo el sistema y los servicios de tu computadora, éste es tu lugar! :D

Más información:

by amaneiro at January 12, 2010 11:47 AM

Víctor Jáquez

Moving out apt metadata

As some of you may know, in the N900, the root file system is stored in a OneNAND chip with 256M of space. Meanwhile /home and /home/user/MyDocs are in a eMMC in two different partitions: ~2GB (ext2) for /home and ~29GB (vfat) for /home/user/MyDocs.

The OneNAND is faster than the eMMC, and it’s intended to host only the Maemo main system, moving out the third party applications to the eMMC. Though, this new layout has brought new limitations, the more visible one is the /opt problem [2].

One of the debates about what left and what not in the OneNAND is the apt’s database and metadata. Moving out the apt’s database out from the OneNAND to the eMMC, in my personal opinion, is very risky: It will slow down the database processing (which is already slow given the size of the Fremantle repositories), and if the eMMC gets corrupted, the base system wouldn’t be upgreadable either, because apt couldn’t read its database. And that’s why I’m against the proposal.

Nevertheless I’m aware that the apt’s metadata and database could be huge, consuming much of the precious OpenNAND storing space. Just to mention it,  I’ve found myself, in my development cycles, moving out those files.

That’s why I cooked this script: move-apt-dirs.sh

WARNING: this script is not official. You’re at your own if you run it: no promises, no guaranties.

by vjaquez at January 12, 2010 10:19 AM

January 07, 2010

Adrián Pérez

Spanish and Galician dictionaries for Vim 7

If you write long, literary text (like end-user documentation) in Spanish and/or Galician, and Vim 7 is your editor of choice, you may want to download the spell checker dictionaries for those languages. To use them, drop the files under ~/.vim/spell. (By the way, you may need to create the directory if needed).

To use the dictionaries, just type in the needed Ex command, e.g. for Galician that would be:

  :set spell spelllang=gl

If you use modelines in your text files, you may want to add those settings there as well. That makes an easy way to choose a different language for each file. Also, do not forget to take a look at the spell checker documentation to learn more about it (tip: some keybindings are really useful).

Note that you will only be able of editing UTF-8 texts. I have not crafted ISO-8859-1 versions of the dictionary tables because no single person should be using an encoding different from UTF-8 nowadays (for a number of good reasons). If someone has a strong need for ISO-encoded tables, please let me know.

Last but not least, let me stress that the dictionaries were converted from the ones used by OpenOffice.org plus some small patches I took from the Vim SVN repository. Big thanks go to the all the people working in both projects. I am not an expert with legal stuff, but as the source files are under the LGPL I think it is safe to assume that the Spanish and Galician dictionaries generated from them are LGPL’d, too.

Remember: it is always good to deliver well-written documents. Happy 2010 ;-)

by aperez at January 07, 2010 04:05 PM

January 02, 2010

Claudio Saavedra

Sat 2010/Jan/02

January 02, 2010 10:38 AM

December 29, 2009

Claudio Saavedra

Tue 2009/Dec/29

  • Last night, around 3am, while I was still awake, the fire alarm in the building got activated. I was already thinking it had to be a false positive (it happened once at least since I live here), but anyway quickly grabbed my jacket and phone, in order to evacuate the place. When I was reaching the third floor, the smoke made evident that it was not a false positive: something was on fire, and it was downstairs.

    The feeling of knowing that you are in an upper floor of the place where something (that you can't really see) is on fire, is a bit scary, so to say. Anyway, when I was reaching the first floor I noticed that the fire was coming from inside the store located in a big portion of the floor (Tarjoustalo, for the finns reading this). Something was on fire inside, and luckily at a good distance of the gate I was using, so I had no problem to leave the place, call 112, and wait for the firemen and police to appear.

    A few hours later, the fire was controlled. I read this morning in Helsingin Sanomat that the fire was extinguished by the fire sprinklers in the store, and most of the damage was caused by the smoke and water accumulated. For me, only a good fright, a bit of smoke inside the flat, and a couple of hours waiting outside in the cold. Next time, I will grab the scarf and gloves, even if I think it's a false positive.

    Fire in Tarjoustalo

December 29, 2009 09:32 PM

December 24, 2009

Joaquim Rocha

Happy Holidays

I don’t normally post on subjects that everybody post but this year I’m writing a post about Christmas.

Not being a religious person, for me Christmas represents a time where people try to be nicer and where I can calmly be with my family enjoying the holidays. Because of this, I love Christmas!
You see, being Portuguese, Christmas also means we all get together today, on Christmas eve, and enjoy a big dinner where turkey (hmmmm turkey!), lamb (haaaa lammmb!) and codfish (ohhhhh codfiiiishhh!), all are present. Of course, we also abuse sweet desserts and later open presents.

tux-christmas

Note: My father tells me that many years ago, presents were given at the Epiphany (January 6) but eventually we adopted the American(?) tradition of giving presents on the midnight of December 24 (and I prefer it this way :) ). Curiously Spanish people still give presents on January 6 but my fellow Igalians told me things are also changing in there.

So, I wish you feel as fortunate as I feel this night to be able to spend it with the people I love most.
Merry Christmas, and if you don’t celebrate it, happy holidays!

by Joaquim Rocha at December 24, 2009 03:59 PM

OCRFeeder version 0.5

What’s up folks!? I hope everybody is enjoying some good holidays or getting prepared to do so soon.

As for me, I am currently in Portugal to spend Christmas with my family and I have just released a new version of OCRFeeder, its 0.5 version. This will be the last version released in 2009.

So, what’s new in version 0.5?

Hongde Liu (刘洪德), a Chinese user, was kind enough to provide me with the Simplified Chinese translation of OCRFeeder.
This will hopefully allow more GNOME users from China to use what is the most complete Open Source OCR application for GNOME.

The engines Tesseract, Ocrad and GOCR are now automatically detected from the system when no engines are configured.
Regarding the OCR engines, some verifications were also introduced to prevent errors when no engines are used.

The bounding boxes are now restricted to be dragged inside the image’s limits, that is, it will no longer allow a box to be dragged beyond the image’s borders.

For users interested in the development, the Makefile now features the generatepot and compilemessages commands which generate the application’s pot file and compile a po file given its language code, respectively.
I plan to replace all minidom code by ElementTree, so, since this version, the feeder module is uses ElementTree.

As usual, get OCRFeeder’s source from Gitorious or download a Debian package.

by Joaquim Rocha at December 24, 2009 01:02 AM

December 22, 2009

Alejandro García Castro

The WebKitGTK+ hackfest is over

webkit_hackers

After the last hours hacking, it is a good moment to comment a little bit about the week spent in the hackfest. I’m quite happy with the result of the organization done by Igalia, although I’m not the best one to give an unbiased opinion about it. Regarding the development and after checking the list of things we wrote the first day in the agenda it looks like we were able to work in a lot of the points and fix some of them. It was a good week for the projects WebKitGTK+ and Epiphany, thanks to the veeery long days of hacking,

Xan posted a good summary of the work we have done this week, I would like to add we worked in the a11y, we have uploaded a patch to fix the caret browsing and we have proposed the change in the tooltips implementation, trying to solve a problem. I have also finished the cache API patches and added a workaround to the test of the middle click paste so we could upload the patch, and other misc patches. A very interesting week indeed, we have to repeat it. In the TODO list I would like to point out some topics for the next months:

  • DOM bindings
  • Gecko regressions in Epiphany
  • libsoup disk cache
  • multimedia stuff
  • a11y

In Igalia we would like to work in these points in the next months, if you are interested in other topics and you want to propose something to us (Igalia), just contact us, any support or suggestions are welcome.

Kudos to all the people that help in this awesome project.

by alex at December 22, 2009 11:16 PM

Claudio Saavedra

Tue 2009/Dec/22

  • If you've had the chance to play already with a N900, you've probably noticed that you can typeahead your contacts' names in the Phone application, in order to filter them and find the person you're looking for quickly. Similarly, the media player will allow you to filter the list of artists/albums/songs/etc. by simply typing the first letters of the media you're looking for. This is probably one of the most praised features of these two applications, specially in times when contact lists grow up to several hundreds of people and dumping your media collection inside the phone takes no effort.

    This feature, known as live search, used to live inside these two applications, each with a different implementation. Third party maemo developers wanting to have a similar feature would have needed to cook it themselves inside their applications. Clearly, a waste of effort.

    But luckily, that's not the case anymore. I spent a big part of the last two months (when not in holidays nor flying from and to A Coruña) working in a consolidation of the live search widget originally written by the good old Jörgen and later rewritten by Xavier, part of the osso-abook library. With the blessing of Nokia, I took it and removed all the osso-abook dependant bits and made it as generic as possible, in order to allow its usage in any application using a GtkTreeView and a GtkTreeModelFilter. This widget, now LGPL and named HildonLiveSearch, landed in hildon's master around a month ago. Better yet, I also took HildonLiveSearch and made it a feature of HildonTouchSelector, the hildon widget for pannable lists that you can see in most of the N900 applications. This already landed in the stable branch of hildon and I'm confident that Nokia will release it at some point with an update of the phone's software (don't ask me when, though). Rumor has it, this is already a feature in one of the latest releases of Hildon Application Manager.

    HildonLiveSearch in a HildonTouchSelector

    For developers interested: if you use a HildonTouchSelector, don't worry, you'll have live search for free in your application. If you just use GtkTreeView, have a look at the HildonLiveSearch widget implementation and its simple example, as well as the HildonTouchSelector implementation for a more complete example. Of course, you can imagine that the changes to make it work inside HildonTouchSelector are quite invasive, so I'd please ask you to grab hildon's code from the repository, build packages, smoke test it in your application, and file bugs if you find any. This way, we minimize the possibility for regressions by the time this hits the public. Shall you have any concern or question, don't hesitate to contact us in the hildon-devel mailing list.

    Let this be my christmas present to the world for this year. Special thanks to Xavier, who was of great help during the push of the live search into hildon.

December 22, 2009 04:15 PM

December 21, 2009

Xan López

WebKitGTK+ Hackfest – Day G_MAXINT

Haven’t blogged about the hackfest since the day zero (although others have done a great job), but I guess I have a good excuse since we have been working all day every day, no time for blogging!
inmocoruna-torre

A lot of progress was made in many areas, but I can try to give a brief summary:

  • Gustavo and myself focused on fixing the form password saving regression during the first days. We wrote the basic code to hook into the webviews using JSC, store the auth data in the keyring, and refactored the Epiphany codebase a bit to be able to show infobars with the available options when submitting a form, like most browsers do. I know this was one of the most painful shortcomings of the browser for a lot of people, so I’m happy to put it behind us.
  • Dan, Benjamin and others spent a lot of time hacking on libsoup. The Content-Encoding support landed in both 2.28.2 and master, which should make us render correctly some pages instead of showing gzip compressed garbage. Other things of interest were the GIO Socket support, a requisite for better SSL support (including certificate management) and the so-called URI Loader, which was redesigned and advanced enough for Dan to be able to write basic about: support for Epiphany/WebKit and that is a blocker feature for mail clients that need to support CID URIs (like Modest or Evolution).
  • I spent some time finishing my refactoring of the work previously done in the DOM bindings bug. We are not there yet, but I have a quite smaller patch with a reduced scope (supporting a subset of the Node API) which already works and that I’ll try to upload when I’m back in Finland and that should be easier for the reviewers to accept as a first step.
  • We enabled the page cache support in WebKitGTK+, which uncovered a series of interesting issues that we spent some time fixing up. On top of that Álex also landed the first step of better cache management APIs, a widely requested feature. Both will be important in providing faster and more responsive web content for our users.
  • Oh my God, have to catch a train to Vigo soon and this list is endless!
  • Evan and Behdad teamed up to work on a Harfbuzz font backend for WebKit. They were able to make it show some fancy text by the last day, and the current plan is to land this at some point in the first half of the next year, with WebKitGTK+ and Chromium/Linux sharing most of the implementation.
  • Cody worked on using the new offscreen rendering support in GTK+ for our theming code. He made great progress, identifying some new features we need on GTK+, and hacking up a GtkOffscreenContainer that might end up going into GTK+ upstream and that was enough to make his proof of concept implementation actually show properly themed widgets in a page.
  • Philippe kept rocking on the media side of things, as usual. He finished the HTML5 media control patch which Zan started, and made other nice fixes to our increasingly awesome media support.
  • Martin Robinson worked on various cool things when he managed to find some free time in between his eternal quest to find his missing luggage (which AFAIK he only managed to get back on his way back to Barcelona!), including transparency support for WebViews and his improved DnD code.
  • What else! We worked on accessibility bugs and random epiphany issues (custom User Agent support by Vincent Untz, send the proper Accept-Language HTTP headers on requests by Mario, respecting web context menus including a way to override them to show the epiphany menu…), making our regression list shorter and shorter, and other invisible but important things like making our binaries both smaller and faster to build.
  • We reached some important conclusions on the gaming side of things, like Smash Brothers for the Wii being an insane game, proving that my Ryu totally owns Gustavo’s Ken or finding out about Benjamin’s past life as a Starcraft quasi-progamer. Speaking of games, don’t forget to enter the Konami Code in Epiphany 2.30 :D .

00016324

I’m probably forgetting things, but that’s about it. I think we all had a great time, great progress was made, and I want to thank Igalia, Collabora and the Foundation for their sponsoring and support for the event. Let’s do it again next year!

by xan at December 21, 2009 06:45 PM

Enrique Ocaña

Connecting a laptop to the internet with Yoigo trough N900 using bluetooth

Some simple steps to do tethering over bluetooth to connect to Yoigo Spanish carrier:

  1. Enable the Maemo Extras-devel catalog (URL: http://repository.maemo.org/extras-devel, Distribution: fremantle, Components: free non-free) and install “Bluetooth Dial-up Networking”.
  2. In your computer, edit /etc/bluetooth/rfcomm.conf to look like this, but using your own bluetooth device address (use hcitool scan from your laptop to get it):
    rfcomm1 {
            # Automatically bind the device at startup
            bind yes;                                 
    
            # Bluetooth address of the device
            device 00:11:22:33:44:55         
    
            # RFCOMM channel for the connection
            channel 2;                         
    
            # Description of the connection
            comment "N900";
    }
    

    Channels 1 and 3 are also available and can be defined as rfcomm0 and rfcomm2, but the scope of that is out of this post.

  3. Now edit the file /home/youruser/.wvdialrc in your laptop (using your own username) to look like this:
    [Dialer YoigoBT]
    init1 = AT+CGDCONT=1,"IP","internet"
    Username = ''
    Password = ''
    Modem = /dev/rfcomm1
    Phone = *99#
    

To connect to the internet, simply open a terminal and type:

sudo wvdial YoigoBT

To disconnect, just press CTRL+c and it’s done.

Thanks to this post, which was used as a reference on how to connect using Nokia devices.

by eocanha at December 21, 2009 02:52 PM

December 20, 2009

Mario Sánchez

WebKitGTK+ Hackfest is over

I’m writing this post from the Igalia office on Sunday at 23:00 pm and no… I’m not crazy nor I was expulsed from home or something like that. It’s just that today is the last day of the WebKitGTK+ hackfest and, although  was not officially an attendant to the hackfest (see http://live.gnome.org/WebKitGtk/Hackfest2009), I don’t regret to have joined yesterday, since it was a quite productive and interesting experience, and hopefully quite productive as well for the projects that most of the people here were working on during the whole week.

To be honest, in my case there’s not much stuff to to talk about but just a couple of patches for libsoup, epiphany and WebKit that I was working on (some of them already got in), but I can assure you guys that the rest of the people (I mean, the “official” attendants) didn’t stop working even for a second during these days, getting awesome results, if you ask me (although of course they also found some time for relaxing going out for a walk, or even playing the Wii here in the office):

Martin and Xan

Martin and Xan, with the blackboard behind (and some results already visible)

And that’s all folks, now I’d better go home to have a (deserved) rest since tomorrow I’ll still have to wake up early in the morning and to make the most of my first day of holidays (yes!!!).

See you guys and hope next year we can repeat this experience (and I hope next time I’ll be able to join full time, also). Just a last picture to finish this post…

WebKitGTK+ Hackfest 2009

WebKitGTK+ Hackfest 2009

by msanchez at December 20, 2009 10:24 PM

Philippe Normand

WebKitGTK+ Hackfest!

This was a nice week in A Coruña, Spain. The WebKitGTK+ Hackfest went well I think :) The Igalia office is great for such an event, the organization/infrastructure was well done, the hotel near the office was awesome, what else? We managed to get things done code-wise! Even though the list is big some items were proudly erased from the TODO like:

  • Dan started a rewrite of some parts of libsoup with gio and worked on the soup URI loader
  • Xan and Gustavo worked on form authentication saving in WebKitGTK+/Epiphany
  • Xan did some good progress on DOM bindings
  • User-Agent support in Epiphany
  • Page cache control support in WebKitGTK+ was merged by Alex
  • Alex did some work on a11y support for WebKitGTK+
  • Bedhad and Evan worked on Harfbuzz integration (instead of Pango)
  • Reinout built a list of Epiphany regressions to fix
  • Evan and Benjamin worked on improving the build process (size and time)
  • Martin and Cody worked on ARGB windows support for WebKitGTK+
  • Benjamin went on war against crashers
  • and I worked on merging HTML5 video controls and the media tests
  • probably a lot more I didn't catch during all the discussions ;)

Still some work to do though, like for HTML5 audio/video support:

  • on-disk buffering
  • fullscreen view
  • closed captions (this seems very specific to SMIL)
  • pitch control (when scrubbing)
  • enhanced controls UI
  • and still some media tests to fix :)

So thank you to Igalia, Collabora and the GNOME foundation for sponsoring this event!

by Philippe Normand at December 20, 2009 09:43 AM

December 17, 2009

Alberto Garcia

Remapping the N900 arrow keys

Here’s a tip for those of you using an N900 with an English keyboard.

For those who don’t know it, this is how arrow keys are arranged in (some) non-English layouts:

N900 keyboard

Compare to the English layout:

N900 keyboard

My N900 has an English keyboard, and I like it because I use the X terminal a lot so having separate keys for the arrows is good.

However I miss the accents (in particular ‘ and ~) as I usually write in Portuguese and Spanish, and using the additional on-screen keyboard is not that convenient for a Jabber conversation.

Fortunately, arrow keys can be re-mapped to add extra symbols by editing this file:

/usr/share/X11/xkb/symbols/nokia_vndr/rx-51

Just go to the end of the file and replace the ‘arrows_4btns‘ entry with this:


xkb_symbols "arrows_4btns" {
key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up, dead_circumflex ] };
key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, dead_acute ] };
key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down, dead_tilde ] };
key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, dead_grave ] };
};

With this, Fn+Up/Down/Left/Right will produce a dead circumflex/tilde/acute accent/grave accent.

If you want these changes to take effect immediately just type ‘setxkbmap us‘.

Hope you find it useful.

Update 19 Dec 2009. Since some people have asked: of course even if you only write in English or another language that doesn’t need accents, you can still add useful symbols to the arrow keys such as ‘|‘, ‘<‘ or ‘>‘. You can use any of these keyboard layouts as an example. See also this thread and this other one.

Update 10 Jan 2010. The information on this post is now (in expanded form) in the Maemo wiki.

by berto at December 17, 2009 01:28 PM

December 16, 2009

Sergio Villar

Modest with BODYSTRUCTURE support

These last weeks Dape and me have been working really hard fixing bugs in Modest and Tinymail here and there. Best Modest ever is coming.

But today, I don’t want to talk about fixes but features. I want to talk about BODYSTRUCTURE. This is one of the coolest features we could have added to Modest. Tinymail had some initial support, but due to the many bugs it had and the fact that some use cases were not supported forced us not to use it so far. But thanks to the time Igalia gives us for hacking we managed to get it working.

Oh wait! I didn’t tell you what BODYSTRUCTURE is about. Email messages are made of a group of MIME parts. One of them could be the subject, another one some footer and some others could be attachments. Without BODYSTRUCTURE support we were forced to download all those MIME parts when you wanted to see a message. This meant that if the message had some heavy attachments and you only wanted to see a small body with just a couple of words, you had to wait until the full message was downloaded,

With this new feature, we can download every MIME part one by one, and thus saving you time, disk space and specially if you’re using a mobile device like N900, money in your GPRS connections. Do you want to read only the body? No problem we’ll show you that you have some attachments but we won’t download them until you request us to do so. Do you want to forward the full message? No problem, we properly detect that and include the full original message whether or not it was completely downloaded before.

This will most likely be included in the next N900 software update that will be eventually delivered by Nokia. In the meantime, if you don’t want to wait just download packages and build it by yourself. Remember that you can find us in #modest channel @ Freenode.

by svillar at December 16, 2009 05:20 PM

Andrés Maneiro

Módulos del Máster en Software Libre: inscripción abierta

Se acaba de anunciar públicamente algo en lo que Igalia lleva bastantes semanas trabajando: la posibilidad de cursar por separado algunos módulos del Máster en Software Libre. En concreto, se han preparado 3 módulos:

Todas las clases se celebrarán en Coruña en sesiones de viernes tarde y sábado por la mañana. Aunque el plazo de inscripción está abierto para todos ellos, el primero que se cierra será el de sistemas: el 15 de enero es la fecha límite. Se puede obtener más información sobre precios e inscripción a través del anuncio oficial.

Más allá de la nota oficial, la experiencia nos dice que se obtienen muy buenos resultados reuniendo en un mismo lugar a:

  • profesorado de lujo
  • con personas altamente motivadas por aprender (vosotros!)
  • y una metodología de trabajo participativa.

Si estás buscando un lugar donde ejercitar tus habilidades para liderar y/o participar en proyectos de software libre o si deseas mejorar tu conocimiento de las tecnologías libres en tu entorno de trabajo (sistemas, web, desktop/mobile) ésta es una buena oportunidad.

by amaneiro at December 16, 2009 04:43 PM

December 15, 2009

Joaquim Rocha

SeriesFinale 0.2.1 version on Extras Devel

SeriesFinale seems to have had a good reception by the community. I didn’t imagine that such a simple app could please to so many people, or more particularly, that so many people would have issues with keeping up with TV series’ episodes. I’m happy for having written it.

SeriesFinale in N900 desktop

(SeriesFinale together with some of the community apps I use)

So, in the middle of last week I uploaded the version 0.1 to extras devel repository after solving the Debian package generation within the Scratchbox (Lizardo, from PyMaemo, helped me on this and wrote a helpful FAQ entry to the PyMaemo website). Still, the repository builder kept using Python 2.3 to build the package just like the problem I had on Scratchbox… tried again to push some changes and build it and still: fail! In the end I just gave up using CDBS for the package generation and edited the template of dh_make directly. Luckily, having a working Python setup script cuts part of the work (I like writing software, not packaging it!) and about the failed attempts, that’s what extras devel are for anyway…

Now version 0.2.1 is the one you can install and not call me ugly names afterwards :)
This version should have been available since last week but apparently there was some kind of problem in the Extras Devel repository and some apps weren’t made available until yesterday.

SeriesFinale in App Manager

What does version 0.2.1 brings apart from working out of the Application Manager?

* Added mark all/none menus to the episode list view (suggested by Paco Zafra on the comments to my last post)
* The configurations folder is now stored under /home/user/.osso . My co-worker Calvaris suggested this to me since it will include the folder when you backup the device. And don’t worry with the current configurations you have now because I added a script to move the old folder automatically to the new location after this package is installed.
* Code improvements, among them, corrected local paths inclusion in sys path (for developing and running)

Episodes List Menu

For the next version I plan to enhance the visual of things a bit (how or what lies in my brain currently) and to introduce translation files.

Add your suggestions as comments to this post or sent them by email to me.

Have a nice weekend!

by Joaquim Rocha at December 15, 2009 08:12 AM

Xan López

WebKitGTK+ Hackfest – Day Zero

Arrived yesterday night to Coruña for the WebKitGTK+ hackfest, a couple of hours before Gustavo did. Today he and I kicked off the day zero of the hackfest, before everybody arrives starting tomorrow.

We spent the whole day hacking on form login/password saving, and despite some issues with GNOME keyring being unhappy and dying on us, I can say we made good progress for one day of work:

Screenshot-Twitter

This is epiphany/webkit master auto-filling my twitter.com login/password after launch, which as some people know is one of our last nasty regressions. There’s still a few things to do, but I’m confident about landing this before we leave Spain. Also, for those of you not following our development closely, the screenshot also shows the twitter favicon, since Gustavo recently fixed our favicon support in master.

Later today, Álex and Philippe joined us. Álex continued working in a tough accessibility bug in WebKitGTK+ he’s been fighting with, and Philippe arrived just in time for a nice dinner downtown. Not bad for one day, considering we were even not supposed to be here today!

by xan at December 15, 2009 12:32 AM

December 14, 2009

Alberto Garcia

Vagalume 0.8 released, now with support for Libre.fm

Vagalume 0.8 has just been released. This is the first version to come with support for Libre.fm and the Nokia N900.

Here’s how it looks (click to enlarge):

Vagalume on a Nokia N900

We also have a new logo designed by Otto Krüja:

Vagalume logo

Many things have changed since the previous version. These are some of the highlights (read the full list here):

  • Implemented the Last.fm Web Services API v2.0
  • Support for Libre.fm and other Last.fm-compatible services
  • Support for Maemo 5 (Nokia N900)
  • New logo and other UI changes
  • Sleep timer (i.e. stop playback after X minutes)
  • New configuration setting to download free tracks automatically

If you are interested in Libre.fm or the support for multiple servers you should read the Vagalume FAQ.

Very important for N900 users: as you may already know, Last.fm does not allow streaming music to mobile phones. If you are Last.fm user and you have a Nokia N900 then you should really read the FAQ (and also this post).

N900 users will also notice that the UI hasn’t been completely adapted to the Maemo 5 style. That is going to happen soon, but since I didn’t want to delay this release even more, this version uses the classic UI.

A Moblin version is also in the works. Expect a release soon.

Updated 15 Dec 2009: Some users are experiencing connection problems after upgrading to Vagalume 0.8. This problem has already been fixed, so expect a new version soon.

Updated 16 Dec 2009: I’ve just released Vagalume 0.8.1 with the aforementioned fix (see changes here).

Updated 21 Dec 2009: And Vagalume 0.8.2 is out, with one more fix for another connection problem (see changes here).

by berto at December 14, 2009 02:48 PM

Víctor Jáquez

shinning new HAM

A new version HAM will hit the streets soon, and we, the HAM team, are very proud of all the effort done.

There have been 178 commits since the first public release in the HAM repository, all of them affording user experience and trying to cover several corner cases on the SSU realm, specially dealing with reduced disk space in the OneNAND.

New section view in HAM

New section view in HAM

There are several new features and some eye candy:

  1. The section view has been improved greatly GtkIconView instead of the old buttons grid.
  2. Several user interaction (work flows and dialogs appearance) optimizations.
  3. Keep the cursor position in the package lists among operations.
  4. Add live search support, dropping the old search dialog.
  5. Avoid the update icon blink when the screen is blank, saving power
  6. maemo-confirm-text can show the package name who launched it.
  7. Minor fixes in logic strings and text display.
  8. Speed up the HAM launching loading the back-end using a lazy strategy.
  9. Speed up the package list processing in the back-end, so the package list are shown more quickly in the UI.

For the packagers there are also some bits:

  1. Adapt the .install files in order to interact with the packaged catalogs.
  2. Initial support for OVI store packages.
  3. Add a dbus function to search packages so other applications can interact with HAM.

And for the SSU, specially handling the reduced space disk in the root file system:

  1. Use always the eMMC for downloaded packages, avoiding the rootfs even as fallback.
  2. Stop as much process as possible when going into the SSU (stop prestarted apps, camera-ui, browser, rtcom-messaging-ui, alarmd, etc.) in order to reduce the double mappings of large files.
  3. Go into rescue mode if the SSU fails and change its looks to a less scary one.
  4. Sync the disk before fetching it status, moving the operation to the back-end.
  5. Because the documentation use a lot of disk space, we hack a way to get rid of it during the SSU.
  6. Use the higher disk compression during the SSU

Special thanks to Lokesh, David Kedves, Mario, Marius, Gabriel,  and all whom patient had helped us to make HAM a better piece of software to Fremantle users.

by vjaquez at December 14, 2009 11:07 AM

December 13, 2009

Joaquim Rocha

Presenting N900 to non-Maemo friends

Last weekend was a long weekend in Spain with two holidays and I took the chance to go south to Portugal with my girlfriend and meet my family and friends who I was missing.

Now if you’re a Maemo user/developer, why should you care about this? Because during the days there, I had the chance to show the N900 to two of my best friends and to my girlfriend’s family and it was interesting to see their reactions.

The two friends I mentioned have different profiles: one is Luís Seco, a high-school English teacher (and the best I had) who can be considered an advanced internaut who also runs a very good website about traveling; the other is Luís Rodrigues, a genius programmer and my pal in several projects. Note that as you see by me, not everybody in Portugal is called Luís… :) but for the sake of clarification, let’s call them “The Teacher” and “The Programmer”, respectively.

The Teacher:

He wanted a device where he could access WIFI, do calls, play simple games and have a reasonable camera. In fact, he had already pre-ordered an N900 from a store and was waiting for it. I should also add that he has a Winmo smartphone but is not really satisfied, like most Windows’ users are not.
After I gave him an introduction to the device, his questions were, among others, about the battery autonomy, the quality of the photos, how messaging looked like and the keyboard felt like. He also liked the fact that he can play mp3 in his car, without having to connect any cables, by using the FM transmitter. The one thing he complains about is the lack of MMS support. The key question he asked, for me, was if he could take a photo and send it right away to Facebook.

The Programmer:

He is a GNOME user and is always looking for the perfect device, owns a Winmo powered HTC which, apart from the phone, he uses mainly for its agenda and notes.
He really seemed to like how the contacts, email and Skype were integrated seamlessly. He explored how to choose a list of contacts to send a message to and how contacts were organized and didn’t like that he could not create custom groups of contacts. Since he deals with groups of students normally, this would come handy for him. Plus, he thought it was really  weird that the device doesn’t have a general portrait mode support.
He also asked about text editors and I mentioned the notes application, Conboy and even KOffice that have been shown on video some time ago.
(Okay, he asked also a few technical questions not relevant for this post)

Both of them were interested also in the GPS and were not really happy when I told them about the lack of efficiency when it is not connected to the web.

The Family:

My girlfriend’s family didn’t really try the device (instead I showed them its main features) apart from her little brother (9 years old). He played a bit with Sketch (”look this is you!” he said pointing to some stick-man that resembled me when it came to the beard… black), Xournal (”look, I even got an eraser!”) and with the media player (”don’t you have any music apart from the TSHUN! TSHUN! TSHUN! ??”, Lamb of God was on).

As you can see, N900 can please to please that are not familiar with the “old” tablets. Of course, an internet literate and a programmer are not the usual “mainstream” but I think N900 targets a new mainstream, people that have been using the internet since a while now and like to share their photos, read their email and browse their social networks anywhere.
If you’re part of this new mainstream, the N900 will please you.

by Joaquim Rocha at December 13, 2009 04:41 PM

December 12, 2009

Alejandro García Castro

WebKitGTK+ hackfest next week

WebKit

Next week we will try to push WebKitGTK+ project even more with a hackfest in Coruna, Juanjo and Xan have worked hard to organize a very nice event. I’ll be there trying to help the organization and pushing some of the WebKitGTK+ development we have done lately in Igalia and any other interesting points of course. It would be nice to check tests stability and reduce the Skipped tests file, finish cache API, push a11y a little bit more and check Epiphany status/plans; I’m also interested in the performance analysis to define where we should work in the future.

If you are interested in this technology, you want to use it , you want to add a new feature or you want to support the work of the people involved in the project you can contact us, this is a good moment for that. The technology used and and the people involved in the project makes this port a good choice for anyone trying to integrate WebKit in a platform.

by alex at December 12, 2009 02:15 PM

Adrián Pérez

Python recipe: Functional config file parsing

Update: Added a note regarding how to do simple error handling.

Sometimes one has to parse programmatically some file containing key=value pairs. In the world of systems administration this means configuration files most of the time. Also, one thing I like is functional programming, but in the real world one ends up making almost all of the code in imperative style. Python allows some functional constructs, and sometimes I like to use them to make code most concise, because it express better what the code is trying to do or just because I wanted to melt my mind doing some functional tricks.

First, let me introduce the code:

from itertools import imap, ifilter
 
config_items = lambda iterable: \
    imap(lambda (k, v): (k.strip(), v.strip()),
        imap(lambda s: s.split("=", 1),
            ifilter(lambda s: s and not s.startswith("#"),
                imap(lambda s: s.strip(), iterable))))

Neat, huh? As promised in the title, this is functional. And yes, I am aware of ConfigParser, but I do not need its full power, and also I have found some problems with files containing Unicode strings.

I think this is one of the most beautiful snippets of code I have ever written in Python: it makes just one thing well, and it is terse and concise. Moreover, it is quite easy to explain.

How does it work

I have just written that it is easy to explain how this works. Okay, I will dissect this beast one line at a time, starting at the innermost. But first, a quick introduction to imap() and ifilter:

  • imap(): Works like map(), which returns a list whose contents are the results of applying a function (first argument) to each of the elements of another list (the second argument). The difference is that imap() uses generators instead.
  • ifilter(): This one works like filter() and will also return a list, whose contents are the items of another list (second argument) for which the result of calling the given function (first argument) is True. This one also works with generators.

Now, let us start with the first one:

imap(lambda s: s.strip(), iterable)

This picks each line, and removes whitespace sitting at the left and and the right of the string.

ifilter(lambda s: s and not s.startswith("#"),

We want to keep interesting lines: empty lines and comment-lines starting with a hash mark (#) must be thrashed away. We check for lines which both are not empty and that do not start with a hash-mark.

imap(lambda s: s.split("=", 1),

That one picks each string and splits it at the first = character, thus separating the key from the value. This is what converts each string into a (key, value) tuple.

imap(lambda (k, v): (k.strip(), v.strip()),

This is the last remaining detail: Removes extra leading and trailing whitespace from the keys and values of the generated tuples. This is needed for removing the spaces around the = character.

How to use it

Fire in the interpreter, type in (or copy-and-paste) the above code and guess by yourself:

>>> text = """a = 1
... b = this is b"""
>>> tuple(config_items(text.splitlines()))
(('a', '1'), ('b', 'this is b'))
>>> dict(config_items(text.splitlines()))
{'a': '1', 'b': 'this is b'}
>>>

So you pass it a list an iterable which yields lines, and it will return another iterable, which yields (key, value) tuples. Thanks to how dict() is defined, we can directly pass the result to it and get a dictionary.

But it would be useful as well to use it on files, so here we go:

>>> file("test.conf", "w").write(text)
>>> dict(config_items(file("test.conf").readlines()))
{'a': '1', 'b': 'this is B'}
>>>

For your convenience, you may want to define a helper function if it makes you feel more comfortable:

>>> def config_file_items(path):
...    with file(path, "rU") as f:
...        return config_items(f.readlines())
...
>>> dict(config_file_items("test.conf"))
{'a': '1', 'b': 'this is B'}
>>>

Extra niceties

I have already mentioned that this code uses generators in its entirety. What is passed from one function to another in the chain of imap() and ifilter() calls are always generators. This means that if config_items() is used to read a big file (e.g. some hundreds of megabytes) only one line is in memory at a given time. This is why I did not use map() and filter() but their “incremental” counterparts from the itertools module. So the bottom line is that this may not be the most efficient implementation out there, but it is good and is capable of working over arbitrarily long sequences of data while the function remains small and understandable.

Error Handling

Whenever the input is not well formed, then this function will raise ValueError when a = character is not found in some line. This means that you can do something like this:

import sys
try:
    items = dict(config_items(sys.stdin.readlines()))
except ValueError:
    raise SystemExit("Malformed 'key=value' input in standard input")

Of course more elaborate error checking could be done i.e. to be able of showing to the user the exact offending line number, but the goal is to keep things as simple as possible. Also the syntax of those simple configuration files is so simple that it should be fairy simple for the user to spot typos.

Final words and advice

My advice is that if you have the possibility, make your Python code in such a way that it uses generators, unless you are sure that it will always handle reasonably small amounts of data.

I hope that things are explained well enough, and (who knows!) maybe this can help someone to better understand why generators are a good idea. I will also be happy if you came here looking for some code to parse simple configuration files and this did the trick for you :D

by aperez at December 12, 2009 02:17 AM

December 11, 2009

Juan José Sánchez Penas

Everything ready for the WebKitGTK+ Hackfest

During the past weeks, Xan and myself have been busy putting together everything for the WebKitGTK+ Hackfest, which will take place next week at Igalia’s offices in the beautiful city of Corunna.

The original idea for this event arose a few months ago. We have a team of Igalians working full-time, together with other members of the community, in completing and improving GNOME’s WebKit port, and we thought that it would be a good idea to propose ourselves to host a hackfest, which should turn out to be very productive for the project. After talking to the Foundation and all the core developers, we got such a positive feedback, that we decided to push it forward.

So we will have here all the most active WebKitGTK+ hackers, working together, in the same place, during 1 week (15th-21st of December), to make one of the (imho) most important components of our platform rock even more.

The hackfest is sponsored by Collabora and Igalia, and has the support of the GNOME Foundation, which covers about half of the total cost. Igalia will also take care of food&drinks for all the days, and will organize a nice dinner before the end of the event, so that people don’t leave the place without enjoying the famous local food. Of course, any last minute extra sponsor would be very welcome. So if your company cares about WebKit in GNOME, it is the right time to join and contribute.

Stay tunned, I will try to blog and tweet about the event as much as possible.

by jjsanchez at December 11, 2009 10:02 PM

José Dapena

What’s going on in Modest: new Gnome/Moblin port.

As many of you know, Modest is the mail client of Nokia n810 and n900 devices. As that, there is a huge effort on it, to make a really good mail experience in those devices. But for last years, the effort was completely concentrated on Maemo platform.

Last months, Sergio Villar and me have been working on bringing the Modest user experience to both Gnome and Moblin, using our community projects time here at Igalia. The work was based on a very interesting effort from Javier Jardon this summer.

The main goal was trying to make the behavior of Modest in Gnome as similar as possible to the counterpart in Fremantle/Maemo5. It’s still unstable, a work in progress, but it’s already showing how it will look like:

List of folders in Modest Gnome

You’ll see a really big difference with other mail clients available in desktop. It’s really oriented to keep things really simple and straightforward, so Modest is not only light, but its user experience is kept light too following a similar style to the one used in Fremantle Modest.

Most use cases are already functional. We’ll try to do a new release next week, and, if possible, also offer some packages for easy testing. Stay tuned.

by jdapena at December 11, 2009 06:25 PM

December 06, 2009

Joaquim Rocha

SeriesFinale

I’ve been neglecting this space but I hope this post will compensate.

So, I had a problem. My girlfriend and I really like to watch a few TV series but we never know what was the last episode we watched… The irregularity of the TV schedule and the fact that sometimes we stop watching a show and catch on with it after a while make us forget how far in a TV show are we at.

Hence, I imagined it would be really useful that every time we start watching an episode I grab my N900 and mark it as watched! Plus, it would be nice to read the episodes’ synopsis in case we need to know what happened at a certain episode before.

And that’s what my hackfest time at Igalia brought to life! Using the TheTVDB API, users can search for their favorite TV shows and it will pull the shows’ information with every season’s episode information as well and present them as a check list. Of course, all this can be inserted and edited manually, useful for example for TV shows that are not available on TheTVDB.

While I try to put it on Extras Devel, you can get its source from Gitorious, download the source package or download a Debian package directly.

Enjoy SeriesFinale:

SeriesFinale from Joaquim Rocha on Vimeo.

by Joaquim Rocha at December 06, 2009 07:10 PM

December 04, 2009

Alejandro Piñeiro

HAIL goes public

Although somewhat late, as Hildon were made public some months ago, I want to announce that HAIL was moved today to gitorious (better late than never).

HAIL stands for Hildon Accessibility Implementation Library. This is basically a GAIL extension, in the same way that Hildon is a widget extension to Gtk+. HAIL provides the a11y support for the Hildon widgets, included the new and fancy widgets created for Fremantle, the old libhildondesktop1 and the hildon file manager.

At last, just comment that Cally development is still in process, some bugs were resolved this months. Right now I’m working on the text changed, caret-moved and focus events management, and there is already a branch with a first solution.

by API at December 04, 2009 03:03 PM

December 02, 2009

Xavier Castaño

Production management project

Today I was talking in “Free Software World Conference” in Caceres about a project Igalia is developing for Xunta de Galicia and naval companies. We don’t have name for it, I think we will have one at the end of  December. However, we have some public resources:

  • Git temp repository: http://git.igalia.com/xestion-producion.git
  • Bugtracker https://naval.igalia.com/bugtracker
  • Last deployment: https://naval.igalia.com/navalplanner-webapp/. User: admin/admin.

This project is licensed as AGPL. You can test it and if you have any comments they will be welcome.

by xcastanho at December 02, 2009 08:25 PM

November 30, 2009

Claudio Saavedra

Mon 2009/Nov/30

  • El árbol que tú olvidaste
    siempre se acuerda de ti
    y le pregunta a la noche
    si serás o no feliz

    El arroyo me ha contado
    que el árbol suele decir:
    Quien se aleja junta quejas
    en vez de quedarse aquí

    Al que se va por el mundo
    suele sucederle así,
    que el corazón va con uno
    y uno tiene que sufrir
    Y el árbol que tú olvidaste
    siempre se acuerda de ti

    Arbolito de mi tierra
    yo te quisiera decir
    que lo que a muchos les pasa
    también me ha pasado a mí

    No quiero que me lo digan
    pero lo tengo que oír:
    Quien se aleja junta quejas
    en vez de quedarse aquí

    Atahualpa YupanquiEl Árbol Que tú Olvidaste

    One year and counting.

November 30, 2009 06:08 PM

Alberto Garcia

Amost ready for the next Vagalume release

Now that the N900 is (almost) here, many people ask me if I’m going to release a new version of Vagalume for Maemo 5.

Progress in Vagalume has been very slow this year, partly because of all the work we’ve been doing in Hildon Widgets.

Fortunately, the next Vagalume release will be out very soon. And yes, I know I had already said back in May that it would only take a few weeks, but this time it’s true ;-) This version is already working (you can grab the code from the GIT repository and compile it) and here’s a screenshot to prove it (click to enlarge):

Vagalume running on a Nokia N900

And, as I promised back in May, this time it comes with support for Libre.fm.

On another note, this weekend I’m flying to Barcelona for the Maemo-Barcelona Long Weekend.

Maemo-Barcelona Long Weekend

I’ll talk about GTK and the Maemo 5 UI, and my fellow Igalian Felipe will also be there, explaining how to port GNOME applications to Maemo.

In principle all training sessions are going to be in Spanish, but we’ll be around the whole weekend in case you want to talk to us.

You can see the agenda for the weekend here.

And that’s it for the moment. See you in Barcelona!

by berto at November 30, 2009 03:20 PM

November 16, 2009

Claudio Saavedra

Tue 2009/Nov/17

  • Maemo Summit '09 gave me the chance to visit Amsterdam for the second time. A city I love and can't get enough of it.

    near amsterdam centraal station

    All photos of Amsterdam, in its flickr set.

  • Also, Berto and I took a couple of days of holidays after the summit. We visited Den Haag (flickr set):

    Den Haag HS

    Delft (flickr set):

    delft

    and last but no least, Rotterdam (flickr set):

    Rotterdam Centraal

  • Of course, I also made some pictures during the summit. Not all of these are so great as this one, though:

    Maemo Summit Postcard

November 16, 2009 10:24 PM

Enrique Ocaña

Fedora official package for Meiga

Great! Due to Rajeesh K Nambiar effort and dedication, Meiga is now an official package for Fedora.

Thank you very much, Rajeesh!

by eocanha at November 16, 2009 01:18 PM

November 13, 2009

Juan A. Suárez

Resizing VirtualBox Images (VDI)

These days I’ve been playing for a while with VirtualBox 3.0. Though usually I use quite a lot KVM, I’ve found VirtualBox very interested too.

But as probably other users have suffered, I made a miscalculation when creating a machine, and after installing the whole operating system I realized that assigned disk size was not enough.

So how to resize a VirtualBox Disk Image (from now on, VDI)?. VirtualBox doesn’t come with appropriate tools, and after googling for a while, all solutions proposed to use a live CD to resize the partition.

Well, actually resizing can be done with VirtualBox tools, but using some workarounds. I don’t know if this is new in version 3.0, but really I don’t care :-) .

Steps to resize are described below. In thi example, current VDI has an ext3 partition with 4 Gb, and the aim is to extend it up to 6 Gb.

$ VBoxManage clonehd image.vdi image.raw --format RAW
$ rm image.vdi
$ dd if=/dev/zero of=extension.raw bs=1G count=2
$ cat extension.raw >> image.raw
$ rm extension.raw

Now we have a disk of 6 Gb, but internal partition is still of 4 Gb. We’ll use a KVM tool to mount the partition in order to resize it.

$ qemu-nbd image.raw &
$ sudo nbd-client localhost 1024 /dev/nbd0
$ sudo fdisk /dev/nbd0

At this point, we need to delete the current partition and create a new one that starts in the same cylinder and ends in the last one, keeping the same format. Don’t forget to mark it as bootable. Then, save and exit. This doesn’t destroy partition content, but re-creates it. Now we can extend it.

$ sudo resize2fs /dev/nbd0p1
$ sudo fsck.ext3 /dev/nbd0p1
$ sudo nbd-client -d /dev/nbd0

Finally, we’ll convert back the image.

$ VBoxManage convertfromraw image.raw image.vdi
$ rm image.raw

And that’s all. Requirements? Free space in disk and free time!

by jasuarez at November 13, 2009 12:00 AM

November 12, 2009

Lorenzo Tilve

Back from JSCONF.eu 2009

After a some of rest (we slept just too little during the conferences) and catching up with the mail, I was willing to devote some time to write about my notes and feelings these days in Berlin.

Just to sum up, the whole thing was just awesome! We knew a lot of great people there and learned so many things.  We are surprised with the maturity and possibilities around JavaScript community, and how they will have even more presence in the short term.

The speakers were all important people from the variety of JS related feet, just missed some speech about Gnome Shell. In some months time all GNOME 3 users around the world will be running JavaScript in their desktops. That’s millions of people! We talked a lot about this with many people and everybody was really interested about it. In fact, a BoF about was almost proposed. In future JSConf editions we should try to get something presented on Gjs.

I have plenty of annotations, tools to test and things to take a look at, but for the record, some interesting quotes :)

Saturday

We already knew some people from the welcome party the day before (Sergi and Irakli from Tom Tom, Tobie Langel and Peter Svensson who were talking on Sunday) and after the ‘expect bacon’ breakfast the conference started. Briefing:

And later on the Nokia party was also really good. The snacks were great, all the food we had at Berlin, in fact. We also had a little bit of time to go for a walk and see the Brandenburg Gate spectacularly lit for the 20th anniversary of the Fall of The Wall.

Sunday

  • Amy Hoy Hard Refresh – Not Just Another LightboxVery innovative ideas about concepts on web design and user interaction (Motion, Interaction, Graphics and Differentiation). I promised her that I would be sending her a copy of the t-shirt I have in mind with the great quote I borrowed from her blog “If you polish shit, all you get is shit that’s shiny“.
  • Ryan Dahl Node.js, Evented I/O for V8 Javascript We were really interested in this speech as it was giving hints on threading and handling of high concurrence environments, that apply to DBUS problematic in GNOME
  • Steve Souders Performance Really interesting his analysis on the emotional reaction that makes the user feel slowness, and the tools he introduced browserscope.org, webpagetest.org, spriteme and pagespeed. Progressive rendering and enhancement are needed, deliver HTML first and defer JS loading and decoration.
  • Tobie Langel Unittesting JavaScript with Evidence He explained his motivations to create a new unit testing suit, based on the necessity of making it framework agnostic
  • Faruk Ateş JavaScript in the age of HTML 5 and CSS 3 A great presentation on how to manage advanced CSS3 features from an agent independant point of view. It started in a shocking way: ‘All the webs don’t need to look the same in different browsers. Equal vs. similar‘. The idea is that some visual enhancements can be managed from each separate feature, and not in terms of user agent, and it will be the responsibility of the developer to implement the rest or not. It can be experienced what he ment in his site, accesing it with webkit based browsers, Gecko or others, and check the CSS transparencies, rounded corners and animated transitions. I had also an interesting discussion with him to ask for his opinion on the improvements planned for the webkit hackfest and he would be glad offering his point of view in the priorities from a designer point of view.
  • Jörn Zaefferer Developing web applications with jQuery UI Gave a quick overview on creating a shop from the scratch with jQuery. An interesting question was asket regarding to interaction in newer smartphones, to which the roadmap will have to manage interaction with multitouch events
  • Nicole Sullivan A little off topic: on OOCSS Useful set of hints and techniques to keep CSS under control and make the architecture of the presentation styles more coherent. I do agree with her ‘code is fragile’ quote, and that’s even more explicit in CSS, but it’s still difficult to avoid.
  • Fabian Jakobs Autopsy of a Widget An step-by-step implementation of a spinner component
  • John Resig Understanding JavaScript Testing Some more comparison on testing suites. As Tobie already covered that, he also included a part of profiling. It was funny to find out that IE benchmarking works better emulated, as getTime() function gives more accurate results than 0 and 16 ;p

Then another informal party in the Lounge of the Ïma Design Village, where all the conferences were done, a really cool place by the way.

This is as summarized as I could, an overview of what I saw at Berlin. For any other information I could have ask me, or see the rest of stuff is in their web, slideshare, Flickr, Twitter and so on ;p

by Loren at November 12, 2009 07:52 AM

November 11, 2009

Sergio Villar

Speed, speed, speed !!!

We have been working hard last months in order to increase the speed of Modest. Summing up

  • By default you will only see the last 250 emails on each folder. This dramatically speeds up the filtering and sorting of the emails. We can do this thanks to this great patch by my colleague Dape. Now we can do things like showing a “Show more messages” button, à la iphone.
  • Several fixes in tinymail drastically reduced the amount of requests to the server that we needed to have a fully updated list of mail folders for one account. You will notice that loading the folders of a particular account is now much faster.
  • Accounts window is now shown almost instantly (you will also see a cool transition effect that shows the last updated time). The trick? Just use hildon_gtk_window_take_screenshot()

And last but not least, replying to pure HTML emails no longer generates a distorted message.

Want more? Just get the code and contribute!

by svillar at November 11, 2009 06:28 PM

November 06, 2009

Joaquim Rocha

OCRFeeder version 0.4 released

I’ve just released the version 0.4 of OCRFeeder.

This version introduces, among other changes:

* Debian package generation
* Tesseract’s example configuration file
* Frame around the page view for a better visualization

Special kudos to P. Christeas that did some (good) changes to OCRFeeder that I integrated in this release.

The following new translations are now available:

* French by Philippe Normand
* Galician by Xabier Rodríguez Calvar
* Italian by Andrea Grandi
* Spanish by Andrés Gómez

It’s funny that all but Andrea’s translation were made by Igalians due to the growing multi-cultural nature of Igalia.

Get OCRFeeder’s:
* Debian package
* Source from repository
* Source tarball

I would also like to thank everyone for sending me feedback about the applications, that’s where the motivation I need comes from.

OCRFeeder 0.4

Enjoy the OCR on GNOME!

by Joaquim Rocha at November 06, 2009 12:16 PM