Claudio Saavedra

Back in time


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Abr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Abr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec


Sep, Oct, Nov, Dec

Random Friends

Free Software


My employer


Thu 2016/Dec/15

Igalia is hiring. We're currently interested in Multimedia and Chromium developers. Check the announcements for details on the positions and our company.

Mon 2016/Feb/08

About a year ago, Igalia was approached by the people working on printing-related technologies in HP to see whether we could give them a hand in their ongoing effort to improve the printing experience in the web. They had been working for a while in extensions for popular web browsers that would allow users, for example, to distill a web page from cruft and ads and format its relevant contents in a way that would be pleasant to read in print. While these extensions were working fine, they were interested in exploring the possibility of adding this feature to popular browsers, so that users wouldn't need to be bothered with installing extensions to have an improved printing experience.

That's how Alex, Martin, and me spent a few months exploring the Chromium project and its printing architecture. Soon enough we found out that the Chromium developers had been working already on a feature that would allow pages to be removed from cruft and presented in a sort of reader mode, at least in mobile versions of the browser. This is achieved through a module called dom distiller, which basically has the ability to traverse the DOM tree of a web page and return a clean DOM tree with only the important contents of the page. This module is based on the algorithms and heuristics in a project called boilerpipe with some of it also coming from the now popular Readability. Our goal, then, was to integrate the DOM distiller with the modules in Chromium that take care of generating the document that is then sent to both the print preview and the printing service, as well as making this feature available in the printing UI.

After a couple of months of work and thanks to the kind code reviews of the folks at Google, we got the feature landed in Chromium's repository. For a while, though, it remained hidden behind a runtime flag, as the Chromium team needed to make sure that things would work well enough in all fronts before making it available to all users. Fast-forward to last week, when I found out by chance that the runtime flag has been flipped and the Simplify page printing option has been available in Chromium and Chrome for a while now, and it has even reached the stable releases. The reader mode feature in Chromium seems to remain hidden behind a runtime flag, I think, which is interesting considering that this was the original motivation behind the dom distiller.

As a side note, it is worth mentioning that the collaboration with HP was pretty neat and it's a good example of the ways in which Igalia can help organizations to improve the web experience of users. From the standards that define the web to the browsers that people use in their everyday life, there are plenty of areas in which work needs to be done to make the web a more pleasant place, for web developers and users alike. If your organization relies on the web to reach its users, or to enable them to make use of your technologies, chances are that there are areas in which their experience can be improved and that's one of the things we love doing.

Thu 2016/Feb/04

We've opened a few positions for developers in the fields of multimedia, networking, and compilers. I could say a lot about why working in Igalia is way different to working on your average tech-company or start-up, but I think the way it's summarized in the announcements is pretty good. Have a look at them if you are curious and don't hesitate to apply!

Fri 2015/Jul/10

It's summer! That means that, if you are a student, you could be one of our summer interns in Igalia this season. We have two positions available: the first related to WebKit work and the second to web development. Both positions can be filled in either of our locations in Galicia or you can work remotely from wherever you prefer (plenty of us work remotely, so you'll have to communicate with some of us via jabber and email anyway).

Have a look at the announcement in our web page for more details, and don't hesitate to contact me if you have any doubt about the internships!

Tue 2015/Apr/28

A follow up to my last post. As I was writing it, someone was packaging Linux 4.0 for Debian. I fetched it from the experimental distribution today and all what was broken with the X1 Carbon now works (that is, the bluetooth keyboard, trackpad button events, and 3G/4G USB modem networking). The WEP128 authentication still doesn't work but you shouldn't be using it anyway because aircrack and so on and so on.

So there you have it, just upgrade your kernel and enjoy a functional laptop. I will still take the opportunity to public shame Lenovo for the annoying noise coming out of the speakers every once in a while. Bad Lenovo, very bad.

Tue 2015/Apr/21

Igalia got me a Lenovo X1 Carbon, third generation. I decided to install Debian on it without really considering that the imminent release of Debian Jessie would get in the way. After a few weeks of tinkering, these are a few notes on what works (with a little help) and what doesn't (yet).

What works (with a little help):

  • Graphics acceleration: Initially X was using llvmpipe and software rasterization. This laptop has Intel Broadwell graphics and the support for it has not been without issues recently. I installed libdrm-intel1, xserver-xorg-video-intel, and the 3.19 kernel from experimental, and that fixed it.

  • I also got a OneLink Pro Dock, which I use to connect to two external displays to the laptop. For whatever reason, these were not detected properly with Jessie's 3.16 kernel. Upgrading to 3.19 fixed this too. I should have used the preinstalled Windows to upgrade its firmware, by the way, but by the time I realized, the Windows partitions were long gone.

  • But upgrading to 3.19 broke both wireless and bluetooth, as with this kernel version newer binary firmware blobs are needed. These are not yet packaged in Debian, but until then you can fetch them from the web. The files needed are ibt-hw-37.8.10-fw- for bluetooth and iwlwifi-7265-12.ucode for the wireless. There is a bug about it in the Debian bugtracker somewhere.

  • Intel's Rapid Start Technology. Just follow Matthew Garrett's advice and create a large enough partition with the appropriate type.

What doesn't work yet:

  • My Bluetooth keyboard. There are disconnects at random intervals that make it pretty much useless. This is reported in the Debian bugtracker but there have not been any responses yet. I packaged the latest BlueZ release and installed it locally, but that didn't really help, so I'm guessing that the issue is in the kernel. It is possible that my package is broken, though, as I had to rebase some Debian patches and remove others. As a side note, I had forgotten how nice quilt can be for this.

  • The trackpad buttons. Some people suggest switching the driver but then Synaptics won't work. So there's that. I think that the 4.0 kernel has the fixes needed, but last I checked there was no package yet and I don't feel like compiling a kernel. Compiling browsers the whole day is already enough for me, so I'll wait.

  • Using a Nokia N9 as a USB mobile broadband modem or the integrated Sierra 4G modem. The former works in my Fedora laptop, and in Debian both seem to be detected correctly, but journalctl reports some oddities, like:

    Apr 20 21:27:11 patanjali ModemManager[560]: <info>  ModemManager (version 1.4.4) starting in system bus...
    Apr 20 21:27:13 patanjali ModemManager[560]: <warn>  Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.1/3-3.1.3': not supported by any plugin
    Apr 20 21:27:13 patanjali ModemManager[560]: <warn>  Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
    Apr 20 21:27:13 patanjali ModemManager[560]: <warn>  Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:1c.1/0000:04:00.0': not supported by any plugin
    Apr 20 21:27:20 patanjali ModemManager[560]: <info>  Creating modem with plugin 'Generic' and '2' ports
    Apr 20 21:27:20 patanjali ModemManager[560]: <info>  Modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4' successfully created
    Apr 20 21:27:20 patanjali ModemManager[560]: <warn>  Modem couldn't be initialized: couldn't load current capabilities: Failed to determine modem capabilities.
    Apr 21 10:01:15 patanjali ModemManager[560]: <info>  (net/usb0): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb2/2-4
    Apr 21 10:01:15 patanjali ModemManager[560]: <info>  (tty/ttyACM0): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb2/2-4
    Apr 21 10:01:30 patanjali ModemManager[560]: <info>  Creating modem with plugin 'Generic' and '2' ports
    Apr 21 10:01:30 patanjali ModemManager[560]: <info>  Modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4' successfully created
    Apr 21 10:01:30 patanjali ModemManager[560]: <warn>  Modem couldn't be initialized: couldn't load current capabilities: Failed to determine modem capabilities.

    I upgraded to experimental's ModemManager, without any improvement. Haven't yet figured out what could this be, although I only used NetworkManager to try to connect.

  • The (terrible) WEP128 authentication in the Nokia N9 wireless hotspot application. As neither the USB modem nor the 4G one are working yet, using the wireless hotspot is the only alternative for the afternoons outside my home office. Not sure why it won't connect (again, only tested with NetworkManager), but at this point I'm starting to be more pragmatic about being able to use this laptop at all. Leaving the hotspot open was the only alternative. I know.

I know I should be a good citizen and add at least some of this information to ThinkWiki, but hey, at least I wrote it down somewhere.

Thu 2015/Jan/01

Some recap about my reading in 2014. I definitely read less this year although to some degree it was more exhausting. Let's see.

Books read to completion through the year: 23 (~7800 pages, according to Goodreads). Tolstoi's "War and Peace" and Marx's "Capital, vol. 1" were the ones that took most of the time, and for both I had to make long breaks with lighter reads in between.

In the case of "War and Peace", I read from both the English translation by Pevear & Volokhonsky (Vintage Classics) and the Spanish translation by Kúper (Editorial El Aleph). From these two, P&V became my favorite one as I was approaching the end of the book.

The volume 1 of Capital was fascinating but exhausting, as its style and long chapters on the working conditions in England up to the 19th century and the development of industry and machinery are, well, not condensed enough. Someone had to tell Marx to just write a separate book about these topics (had not Engels' "The Condition of the Working Class in England" been enough?). Anyway, I read it side by side with Harvey's "Companion to Marx's Capital" which was pretty good at avoiding one's getting lost in the interwined historical and logical arguments and the dialectic journey from commodities to class struggle. I'm looking forward to volume 2, although I'll need a bit of a rest before I get to it.

The language count: 17 in English, 5 in Spanish, 2 in German. That's frustratingly not enough books in Spanish for a Spanish speaker. But on the upside I got a bit more confident reading in German. I even tried to read a few short stories by Dürrenmatt but his German was way beyond mine ("Der Tunnel" is mindblowing, by the way). I'll try again at some point in the future with him.

Steinbeck deserves a special mention. I loved both "Grapes of Wrath" and "Of Mice and Men" not only for their style but also for their historical component (specially in the Grapes). "Zur falschen Zeit" by the swiss Alain Claude Sulzer is also a pretty good book (and that I can recommend to people with an intermediate German level). Fuguet's "Las Películas de mi Vida" touched a nerve with me, as its central topics: earthquakes, Chile, cinema, family, and being an expat are all topics that relate to my life. I read it in the plane that took me to Chile during these holidays and couldn't help but shed a tear or two with it, in anticipation to what would be an intensely emotional visit to the homeland after 4 years.

The worst book I read was a compilation of Marxist writings by C. Wright Mills called "The Marxists". If Mills was a relevant author in sociology (I still have to read "The Sociological Imagination), this is a pretty lazy work. I won't repeat what I said in my Goodreads review.

The author count! 20 distinct authors, and again, very few women among them -- two to be precise. Steinbeck, Marx, and Lenin were the most read authors, with two works of each.

The sources for the books: two from local libraries and two electronic books, 13 second-hand books, one loan, and the rest probably bought new.

Books acquired in 2014: 73 (down from 110 in 2013, so that's an improvement). Most of them are second-hand books and a few are presents from my loving friends. I also have a bigger bookshelf now but it's full already -- story of my life.

Of my goals for 2014, I only fulfilled: reading "War and Peace", buying less books, reading more German. I didn't read the Quixote, Ulysses, nor 2666 yet, and I read even less books in Spanish. For 2015, I'll be happy if I read vol. 2 of Capital, if I manage to read more books in Spanish, and if I get to read more German. Off we go, 2015.

I also took my hobby of curating quotes to what I've named Hel Literaria.

Mon 2014/Oct/20
  • Together with GNOME 3.14, we have released Web 3.14. Michael Catanzaro, who has been doing an internship at Igalia for the last few months, wrote an excellent blog post describing the features of this new release. Go and read his blog to find out what we've been doing while we wait for his new blog to be sindicated to Planet GNOME.

  • I've started doing two exciting things lately. The first one is Ashtanga yoga. I had been wanting to try yoga for a long time now, as swimming and running have been pretty good for me but at the same time have made my muscles pretty stiff. Yoga seemed like the obvious choice, so after much tought and hesitation I started visiting the local Ashtanga Yoga school. After a month I'm starting to get somewhere (i.e. my toes) and I'm pretty much addicted to it.

    The second thing is that I started playing the keyboards yesterday. I used to toy around with keyboards when I was a kid but I never really learned anything meaningful, so when I saw an ad for a second-hand WK-1200, I couldn't resist and got it. After an evening of practice I already got the feel of Cohen's Samson in New Orleans and the first 16 bars of Verdi's Va, pensiero, but I'm still horribly bad at playing with both hands.

Thu 2014/Oct/16

My first memories of Meritähti are from that first weekend, in late August 2008, when I had just arrived in Helsinki to spend what was supposed to be only a couple of months doing GTK+ and Hildon work for Nokia. Lucas, who was still in Finland at the time, had recommended that I check the program for the Night of the Arts, an evening that serves as the closing of the summer season in the Helsinki region and consists of several dozens of street stages set up all over with all kind of performances. It sounded interesting, and I was looking forward to check the evening vibe out.

I was at the Ruoholahti office that Friday, when Kimmo came over to my desk to invite me to join his mates for dinner. Having the Night of the Arts in mind, I suggested we grab some food downtown before finding an interesting act somewhere, to which he replied emphatically "No! We first go to Meritähti to eat, a place nearby — it's our Friday tradition here." Surprised at the tenacity of his objection and being the new kid in town, I obliged. I can't remember now who else joined us in that summer evening before we headed to the Night of the Arts, probably Jörgen, Marius, and others, but that would be the first of many more to come in the future.

I started taking part of that tradition and I always thought, somehow, that those Meritähti evenings would continue for a long time. Because even after the whole Hildon team was dismantled, even after many of the people in our gang left Nokia and others moved on to work on the now also defunct MeeGo, we still met in Meritähti once in a while for food, a couple of beers, and good laughs. Even after Nokia closed down the Ruoholahti NRC, even after everyone I knew had left the company, even after the company was sold out, and even after half the people we knew had left the country, we still met there for a good old super-special.

But those evenings were not bound to be eternal, and like most good things in life, they are coming to an end. Meritähti is closing in the next weeks, and the handful of renegades who stuck in Helsinki will have to find a new place where to spend our evenings together. László, the friendly Hungarian who ran the place with his family, is moving on to less stressful endeavors. Keeping a bar is too much work, he told us, and everyone has the right to one day say enough. One would want to do or say something to change his mind, but what right do we have? We should instead be glad that the place was there for us and that we had the chance to enjoy uncountable evenings under the starfish lamps that gave the place its name. If we're feeling melancholic, we will always have Kaurismäki's Lights in the dusk and that glorious scene involving a dog in the cold, to remember one of those many times when conflict would ensue whenever a careless dog-owner would stop for a pint in the winter.

Long live Meritähti, long live László, and köszönöm!

Sun 2014/Sep/14

You can try to disguise it in any way you want, but at the end of the day what we have is a boys' club that suddenly cannot invest all of its money into toys for the boys' amusement but now also needs to spend it leveling the field for the girls to be able to play too. Less money for the toys the boys like, surely that upsets them -- after all, boys were having so much fun so far and now that fun is being taken away.

The fact that the fun in this case happens to be of a socially necessary technological nature (a free desktop, a free software stack, whatever you want to call it) doesn't make this any different. If you are objecting to OPW and your argument is that it hinders the technological advance of the GNOME project, well, admit it -- isn't the fact that you enjoy technology at heart (ie, you are the one having fun) one of the main reasons you're saying this?

Male-chauvinism can take a thousand forms, and many of those forms are so well hidden and ingrained into our culture that they are terribly difficult to see, specially if you're a man and not the target of it. Once we are confronted with any of these forms, this might even give us a terrible headache -- we are in front of something we didn't even know it existed -- and it can take a tremendous effort to accept they're here. But, frankly, that effort is long due and many of us will refuse to be around those not wanting to make it.

Sat 2014/May/24

I am a GNOME developer and I do not share Philip Van Hoof's views. He doesn't represent me.

Fri 2014/Apr/11

Igalia has opened internship positions for students, to work in tasks around WebKitGTK+. This is a great opportunity for you to become acquaintance with the WebKit project, GNOME, their communities, and also to learn about our company.

Many Igalians started their journey in the company by doing an internship during their study years and eventually came back to join us full-time, so if you are interested to join us at some point but are still in the middle of your studies, this is a great opportunity to get us to know you and have a wonderful summer.

More details in the official announcement. Applications are due on May 8th. Do not hesitate to apply!

Tue 2014/Mar/25

Today I've released GNOME Web 3.12. This release is fantastic — the result of a collective effort of GNOME developers, designers, contributors, and of the excellence that WebKitGTK+ 2.4 provides. I've usually felt pretty excited with Web releases —result perhaps of Stockholm syndrome, you'd say— but, quite frankly, I believe that anyone who has tried Web during this development cycle will agree with me that we're reaching a milestone in user-experience and maturity of the project that is far beyond anything we've done in the past. That's why I feel particularly proud of our achievements and confident that you'll love Web, too. But enough with the preamble, let's see what's new in this release.

  • One process per tab, for improved stability and responsiveness: Ever since Web started using WebKit2, we've had an architecture that allowed us to split the application into different processes. One of these processes, the so-called Web process is the one in charge of handling the web content, and is split from the Epiphany process. The advantage of this model is that, shall the web content or bugs in the JavaScript engine cause a crash, the UI will not be affected. Unfortunately, up to Web 3.10, this one web process was shared among all tabs and windows, so that a crash caused by one page would lose you all the pages in the browser.

    But since Web 3.12, and thanks to the impressive effort of the WebKit team that Carlos has led, we've moved to a different process model. One process per tab means that every tab in the browser will have its own web process, so that no unresponsive or crashing tab will have an impact on the rest of the browser. This feature is configurable, for those who might want to opt out.

  • A new and modern location/title headerbar: With the last release we started leaning in a bold direction by displaying only the location entry and getting rid of the title bar. Not everyone was immediately pleased with this choice, as for some people being able to see the page title is also important. After several rounds of design discussion, and thanks to the tireless Yosef, we finally merged a major change to the UI, which now includes a headerbar that displays the page title and location, and turns into the location entry on click or whenever the page is loading. The result is beautiful, see it by yourself!

  • The overview has been turned into an HTML page: Loren did a great job transforming the existing GtkIconView/GtkListStore- based overview into a dynamic HTML page. The advantages of this, besides serving of a good test case for UI/Web process communication and letting us getting rid of thousands of lines of code, is that the overview becomes an easily themable and animatable HTML document. Thanks to this, in no time Jakub came up with a beautiful style:

  • Most dialogs have been cleaned up and revamped: This was a result of the work started by Jon during the WebKitGTK+ hackfest. History, passwords, cookies, and other dialogs have a new face, and they all look pretty much as you'd expect from a GNOME 3.12 application.

    New history dialog

  • The incognito mode has also received a facelift: Thanks to Jon, instead of using the dark theme variant, we now have proper theming for incognito windows.

    New incognito window theming

  • Now you can configure your search engine from the preferences: Despite the popularity that DuckDuckGo has among our users, there are still people who would rather use a different search engine. Michael Catanzaro has contributed with an addition to the preferences dialog that allows users to choose the search engine they prefer, without having to resort to change their gsettings manually.

  • Many other UI improvements: including several fixes to the Downloads bar, beautiful tabs, and improved style of our about: pages.

  • And more! the gnome-shell search provider now runs in its own process, HTTPS is used by default during searches from the location entry, the user manual has been updated, and many, many, many bugs fixes, code cleanups, and other minor improvements have been made all over the place!

As you can see, Web is shinning. But this wouldn't have been possible without the effort of all the people I have mentioned already and many more. Without your patience, contributions, and above all, love for GNOME and Web, this release wouldn't be half as good as it is. Thank you all!

And to our loyal users, all that is left to say is that you can rest assured that all of this will be soon knocking at your door, when the GNOME 3.12 release sees the day later this week. We hope you'll enjoy Web and GNOME as much as we enjoyed working on it!

Mon 2014/Mar/24

Saying that external contributions to GTK+ are not so welcome is drawing a slightly short-sighted conclusion out of more complex dynamics, as the ones that govern GTK+ development, or any complex free software project, for that matter. Nonetheless, it rises an interesting question.

The truth of the matter is that dozens of patches to GTK+ get submitted in a daily basis, the GTK+ team is rather small, and it's pretty easy for maintainers to overlook some of these contributions.

But why then is it so that GNOME developers have an easier time at getting their patches in, as Olivier points out? The simplest answer to this is that, unsurprisingly, GNOME developers are hanging around in the same communication channels as GTK+ developers, usually communicate with each other in a daily basis, even if they're not working exactly in the same codebase. This closeness makes any direct request for feedback to patches pretty straightforward. Sometimes just asking for a quick review in IRC gets your patch approved in a couple of minutes.

With this in mind, it is easy to see that anyone who considers themselves to external to GNOME will probably have a harder time getting their patches in. A humble suggestion? Hang around IRC, make yourself familiar with the people who might be able to review your patches, and don't hesitate to ask for feedback to them, specially if you think that your patches are simple to review (as the ones Olivier references). This might not work 100% of the time, but surely, not only your contributions will find an easier way in, but also you'll be helping to avoid filling bugzilla with unreviewed patches.

In a larger scale the conclusion that close communication, in the context of a software project, can improve the development process is a rather obvious one. I think one needs to keep this in mind when dealing with projects whose communication channels are open to everyone.

Thu 2014/Jan/02

Some interesting book statistics from the year 2013:

Books read to completion through the year: 40 (~11000 pages, according to Goodreads). From these, 4 books took at least a month to read (Dieter Hermann Schmitz's "Die Finnen, die Spinnen", Samuel Richardson's "Pamela, or Virtue Rewarded", George Eliot's "Middlemarch", and the Diaries of Franz Kafka). For the rest, that makes for an average of 4.5 books per month or one book per week (!).

The longest book I read was Eliot's "Middlemarch" (889 pages). The shortest were Nathaniel Hawthorne's "Wakefield" and V.I. Lenin's "The Teachings of Karl Marx" (48 pages each). The oldest book read was Homer's Oddysey (ca. 800 BC) and the most recently published "Die Finnen, Die Spinnen" (from 2011).

The language count: 25 books read in English, 14 in Spanish, one in German. I failed my goal to read at least one book in French (with Albert Camus' "L'etranger" half read with a lot of trouble).

The best books I read were definitely Juan Rulfo's "Pedro Páramo", José Donoso's "El Obsceno Pájaro de la Noche", F. Scott Fitzgerald's "The Great Gatsby", and the Diaries of Kafka. The list could be longer if you get me started. The worst ones were Milan Kundera's "Laughable Loves" and Donoso's "Coronación". It's interesting that Donoso has both a book that I consider a masterpiece and one that is just terrible.

The authors: a total of 32 distinct authors. Sadly, of these only 3 female authors. The most read one was Ernest Hemingway, with three books (two short-stories collections and his memories from Paris days).

Of all the books I read, 5 came from local libraries and only three were electronic editions.

About the books I acquired through the year: 110 (approximate, yes, I know, I know). Most of them are second-hand copies bought from second-hand shops, many others are gifts. I don't even want to know how much I spent in books last year, so I won't go there. Origin of the books includes: Finland, Germany, Spain, France, Chile, the U.K., and the U.S., with many friends having carried books from the most remote locations for me (thank you guys!).

Goals for 2014 include: buying less books (obviously); reading less English, more Spanish and German, and hopefully some French too; the Quixote, War and Peace, Ulysses, and 2666.

Sun 2013/Dec/08

And here we are, victims of our love and commitment with the web, GNOME, and WebKit, gathered in the most beautiful city of A Coruña, for what is the fifth edition of the always productive and joyful WebKitGTK+ hackfest.

This year the crowd has reached the unprecedent number of 30 people, which makes it for the largest hackfest to date. Not everyone has arrived yet, but day one has already seen some fruitful discussions on what should be tackled, and I hear that tortillas and tapas are on the way. Since I am a gossiper, I will advance you that it is very likely that we will see progress towards multiple web processes in WebKitGTK+/GNOME Web and even a network process; as well as pretty neat improvements to the UI of our cherished browser; and very possibly many more things of which I hope my dear hackmates will write about.

Hackers at the WebKitGTK+ hackfest 2013

Given that I don't intend to allow an extensive account of the happenings in northern Galicia to become a distraction to what should actually be an extensive and exhaustive patch review session, I will instead close this post by thanking the GNOME Foundation and Igalia for making, once again, this hackfest possible. For further updates, stay tuned to Planet GNOME and the @WebKitGTK twitter account.

Sat 2013/Oct/05

I have been putting off this post for long enough now and perhaps the internet has already written about this, nonetheless, I feel my duty to share with you my excitement about the latest release of GNOME Web, which, once again, we can proudly say it's the best release we've achieved so far. Let's see in detail why.

First of all, let's remember the evolution that Web, once Epiphany, has gone through since the second WebKitGTK+ hackfest in the Igalia offices, back in 2011. Back then, Jon, Bastien, Felipe, Xan and I sat together for an afternoon discussing the role that Epiphany would have in GNOME in the long-run, and how could we evolve, from what we had back then to what the design team had envisioned for the browser up to that point, in a way that would adjust to the six-month release cycle in GNOME, so that our users could already get, iteratively, the improvements we would be working on.

Discussing the evolution of Epiphany during the WebKitGTK+ hackfest 2011

Since then, every single release of Epiphany, now Web, has brought to you changes that have spurred a bit of controversy, but in the long run, have pleased our users and also brought about new ones, proving that the iterative nature of our work has been working out well. With the 3.10 release, however, we've settled a bit the pace of the work and we've focused mostly in polishing and ironing out the details that, for diverse reasons, we had left pending. Work, as usual, is never complete, but I am happy with what we've done for the current release.

Another aspect of this release that's worth mentioning is that many of the cool changes coming with it are the work from contributors to the project other than the usual suspects, and it's been with pleasure that I have probably spent more time reviewing patches for Web than writing my own. It is pretty cool to see other people as motivated with Web as we are.

But now to the juice. What's new in Web 3.10?

DuckDuckGo as new default search engine: I have already written about this in a previous entry, but slightly over a month into the news, I can say that the reaction so far has been mixed, though mostly positive. We still need to see Web hitting the release of major distributions in order to judge better the reception, and I am looking forward to it.

New titlebar for normal and application mode: Following the designs from Allan and the rest of the design team, Yosef Or Boczko took on the challenge to rewrite the titlebar to use a style close to that of the new GtkHeaderBar, both for normal windows and for the application mode. The result is pretty awesome.

Normal window

Application mode

While we're not yet using GtkHeaderBar, due to some limitations that make it unsuitable for Web, we will try to solve this during the 3.12 cycle.

New search provider for GNOME Shell: This is a really cool feature. Have you noticed that when typing in the shell overview, not only applications come up as suggestion, but also files in your Home directory and, perhaps, even some other results? Wouldn't it be awesome if also results from your Web search history would come up? Or if you had the chance to perform a internet search right from the shell? Well, this is no longer a dream. Thanks to Giovanni Campagna, Web now ships a search provider for the Shell, which will take care of providing results for you. Click on the Web icon, next to the search history results, and a Web window will come up with fresh search results.

Results from Web's history in the GNOME Shell

The way this works is that Web now can run in a headless mode, so that whenever the shell requests results from Web's provider, this will query results from a running instance of Web. If Web is not running, a headless instance can be spawned. Eventually, we might want to split this to a separate binary to avoid the need for a headless browser and have a minimal search daemon instead, but that's still under discussion.

Form authentication revamped: Gustavo took on the task of fighting the DOM bindings and the web extension in order to bring our users something that was long due: the possibility of not only storing but also accessing form credentials for multiple usernames in the same site. Now, every time you try to log in a webform for which you've stored more than one username/password pair, a nice popup with autocompletion will show up, to help you select the right credentials.

Multiple usernames in Twitter

Favicons in the overview thumbnails: This is a small change but one that improves considerably discoverability in the overview. Judge by yourself.

Overview thumbnails with favicons

An improved WebKit2 engine: I'll keep this short and won't go into details, but thanks to the latest version of WebKitGTK+, you'll have a new Web Inspector, accelerated video compositing support, and a much more stable and mature engine. Carlos has written extensively about the WebKitGTK+ 2.2 release. Please go and read his post if you haven't already.

A new user manual: Even before we started rewriting Web's user interface, the user manual shipped with it was already obsolete, so our decision had been to remove it entirely. Thanks to the fantastic work of the documentation team, Web 3.10 is the first version in a long while to ship a user manual updated to the latest features.

Of course, there are a good deal of other fixes and minor improvements that it would be pointless to list here in detail. Please give GNOME Web a try and see by yourself. If you have feedback, rest assured that we're eagerly waiting for it, and that we expect you'll enjoy browsing the web with us as much as we've enjoyed the last six months of work.

Tue 2013/Aug/27

Today, we have switched the default search engine in Web from Google to DuckDuckGo. This change might come up as a surprise, but there are a handful of reasons why this actually makes sense:

  • Privacy: the GNOME project has decided, since that enlightening keynote by Jacob Appelbaum in GUADEC 2012, to make an extra effort towards ensuring users' privacy, and we, the Web developers, believe we need to align with this goal. Using Google's search engine by default is counterproductive to this effect, unfortunately. I assume I don't need to go into details on the many ways in which Google tracks what their users do. DuckDuckGo, on the other hand, does not collect or share personal information.

  • Cooperation: It's been some time now since we were first contacted by DuckDuckGo regarding the possibility to partner with them in order to share a percentage of the revenue that they make from the traffic originated on their search engine links, should DuckDuckGo become Web's default search engine. We discussed this possibility extensively, among the Web maintainers, within Igalia, and with the GNOME Foundation Board. In the end we all agreed that Igalia was the most suitable partner for this cooperation due to its commitment not only to advancing WebKitGTK+ and Web, but also to enabling the community through events like its yearly WebKitGTK+ hackfest. We believe that whatever revenue that might result from this partnership with DuckDuckGo will surely be a contribution to these efforts. Then again, knowing the humble size of our userbase, we should let neither our expectations nor our imagination run wild on this front.

  • It works: as this is something that we've been debating for pretty long, I've spent this time using DuckDuckGo as the default search engine on my own machines, and I am happy with the results it gives. It even has pretty handy keywords that you can use to directly search in Wikipedia (!w), Amazon (!a), or even Google if you still need it (!g). I do believe the Spanish translation of the website could use some love, but their community platform is probably a good starting place for anyone interested in contributing with more and improved translations.

As is usually the case with noticeable changes, I expect that not everyone will be entirely happy with it. But that is no reason to panic:

  • This partnership is for a limited time, and we will evaluate whether its continuation makes sense, in the long-term. The feedback we receive from our users will naturally have an impact on whatever decision we make in this regard.

  • If you can't stand this, you can always customize the search engine used, choosing whatever suits you best. Simply follow the instructions as documented in the wiki.

  • If you have already customized your search engine, don't worry, this change won't affect you unless you go back to the default.

This change, already in master, will only affect Web from 3.10, to be released in September. Now I should go back to merge a few more changes and make a beta release. Enough said, happy browsing!

Sun 2013/Aug/04

A few random notes on GUADEC:

  • The slides for my Web talk, generated from the pinpoint sources, are available here.

  • I'm delighted with the relevance that students have gained inside the project and all the effort the community puts into integrating them. It is hard not to see GNOME and GUADEC nowadays as a platform to bring young people into free software, this being an effort that can only bring positive results in the long run. This, in itself, is motivation enough for me to be part of this wonderful community — I only wish more Chilean students would be encouraged to participate in GSoC and OPW.

  • Kat and other enthusiastic contributors have been working hard rewriting the documentation for Web. I have reviewed it and I'm very happy with it. We were badly needing documentation so I can only be grateful for their persistence and patience, specially when it comes down to chasing me around the venue despite my hiding.

  • Despite all the years past and how much effort we've put into making it clear who is who, people continue to confuse Garnacho and me. I am close to giving up on the subject and start impersonating him next time someone mixes us up. I need to work on my madrileño accent, though.

  • I can't believe Federico thought Condorito is Colombian. Something is really wrong with the world.

Fri 2013/Jul/26
  • I am also going to GUADEC this year. I think it's my eighth time already and I suspect there will be many more to come despite the constant and recurrent fatalism that surrounds a project that has been proclaimed dead once and again, ever since its inception and with each of its uncountable reawakenings.

    I will be talking about Web, our beloved browser, in a talk whose title is so vague and sensationalist as we often love to title things in order to get attention — Web: the future is now. Don't expect anything so juicy — as usual with sensationalism, the title is greater than the work itself.

    Last but definitely not least, I'm proud to say that Igalia is not only making my trip possible but also sponsoring the conference. Find us, Igalians, hanging around and don't hesitate to stop us to talk about anything — let it be technology, our organization, or your uncontainable desire to be one of us.

  • Since I'm back to the vice of my teens, literature, I've decided to give this brief visit to Brno a literary taste. Robert Musil, giant of modernism, was an engineer as yours truly and used to lecture at the Technical University of Brno. Word has it that there is a commemorative plaque to his memory hidden somewhere in one of the campi of the University and my plan is to find it. Any hints that could lead to this piece of nostalgia will be greatly appreciated.

    Afterwards I'll spend a couple of days hanging around in Prague where I plan to just wonder around, think about Kafka, and read his diaries, before jumping on a train to the good old Dresden where friends and Kästner's house await. I might even read his diaries as well.

Tue 2013/Jun/25
  • Ten years ago, on June, 25th 2003, 12 Latin-American writers gathered in the city of Seville to celebrate the first Encuentro de Escritores Latinoamericanos. Among them, one of the greatest writers of the late 20th century made his last public appearance.

    Roberto Bolaño's health by then was pretty deteriorated. He was second in the waiting list for a liver transplant that never happened. 2666, his final work, had already been dropped a few months earlier and its section La parte de los crímenes had been left unfinished, as he knew it required far more effort than what his health would allow.

    Despite this, reports from the gathering in Seville state that he nonetheless was pretty much central to the meeting, being the senior among the twelve writers present. His mood was as usual: joyful, warm, witty. While he had prepared a speech titled Sevilla me mata for the event, he ended up reading Los mitos de Cthulhu instead, for reasons that I haven't yet figured out. All of the present writers agreed (in a way that now might sound as a macabre prelude to what was yet to come but I believe it was pretty far from such an atrocious interpretation) that, while Borges was the Latin-American writer of the early 20th century, Bolaño was in his right way to leave a mark in the post-boom literary movement. They didn't know about 2666 yet. Half of Chile didn't know about him either. I didn't know about him, for that matter. But that's business as usual in literature. Unless you're Vargas Llosa or García Márquez, you need to die first to become someone.

    2003, Sevilla. Primer Congreso de Jóvenes Escritores.
    From left to right and top to bottom: Fernando Iwasaki, Rodrigo Fresán, Ignacio Padilla, Mario Mendoza, Santiago Gamboa, Jorge Franco, Iván Thays, Roberto Bolaño, Edmundo Paz Soldán, Gonzalo Garcés, Jorge Volpi, and Cristina Rivera Garza. Picture by Elena Ramírez.

    Bolaño died less than three weeks later, on July 15th, in the Vall d'Hebron Hospital in Barcelona, after ten days in a coma. Los mitos de Cthulhu was published by Anagrama in the same year in the posthumous short-story collection El gaucho insufrible. Sevilla me mata was later published in 2004 by the same publishing house in Entre paréntesis, a compilation of essays, columns, speeches, and interviews. There are English translations of both books, by Chris Andrews and Natasha Wimmer, respectively, published by New Directions, the first as The Insufferable Gaucho, in 2010, and the latter as Between Parentheses, in 2011.

Wed 2013/May/15
Fri 2013/Apr/26
  • Oh the WebKits! During the past few weeks, thanks to Igalia's collaboration with the good folks at Bloomberg, I have descended from the heights of Epiphany and WebKitGTK+ to the depths of WebCore, that obscure but cleverly assembled part of WebKit that magnificently takes care of the logic inherent to layouting, rendering, and the inner representation of HTML documents. A fascinating aspect of WebCore is that its architecture, completely decoupled from the actual implementation in the different WebKit ports, means that any change to its parts will affect all ports and browsers built upon this marvelous piece of engineering. Let me assure you, dear reader, the challenges this implies are comparable only to the joy it brings to this humble hacker, as the following will reveal!

    Among the many duties of WebCore lies controlling the logic behind user interaction with HTML documents — something that has changed considerably in recent years. While originally, most interactive editing in the web was limited to plain and boring web forms, in this brave new world of ours it is also possible to build complete HTML editors using nothing but HTML and JavaScript access to the DOM. Have you seen Wordpress' fantastic editor? Then you shall agree with me that this is an extremely powerful feature.

    But with great power comes great responsibility, as the old saying goes. And with great responsibility come bugs, says a more recent variation of the same maxim. And where bugs are to be found, relentless minds work tirelessly in order to ensure that your browsing experience never ceases to improve. This is one of the goals that Igalia, humbly but boldly, pursues with utmost seriousness. And so it has been that I, your humble servant, have spent countless hours mastering my way through the DOM and editing features of WebCore. Bugs have been fixed already — some affecting editing in Windows, others affecting editing in GNU/Linux, and others affecting all platforms equally. More will be fixed in the forthcoming weeks. I can only attempt to share my excitement through these words, for I am unable to express it in a way that would do it justice.

  • As a side note, I am a committer to the WebKit project for a little while now. This is pretty cool, as it means I get a direct chance to break your browser. Or unbreak it, shall it be the case. I try to lean towards the latter but trust me, it is not an easy task!

Tue 2012/Dec/11
  • The WebKitGTK+ hackfest has been ongoing for the last three days in the Igalia offices in the not-that-rainy city of A Coruña. We're over twenty people here and we've been hacking, discussing, and ranting over whatnot -- all to make sure that your browsing experience in the forthcoming years will be better than it has ever been. Here's a brief summary of what's been going on hitherto:


    There is, of course, much more going on and it's hard to keep track of the activity of these brave and energetic hackers. Yours truly has had a hard time distracting them from their relentless hacking in order to compile this report -- rest assured that there is probably much more happening between these four walls than what you have just read here. Nevertheless, we all want to thank the GNOME Foundation and all the sponsors who have made this gathering possible.

Mon 2012/Dec/03
  • Igalia is looking for a Free Software enthusiast living in the San Francisco Bay Area to work with us in the role of Sales Engineer. If you're reading this, chances are that I don't need to tell you who we are, what we do, how we do it, and what our core values are, nevertheless, if you want to know more, please read the job opening in our webpage.

    If you have specific inquiries don't hesitate to contact any of us through the usual channels!

Mon 2012/Sep/03
  • On Friday I landed into Epiphany master the first iteration of a new feature that us the Igalia webkit hackers and the GNOME design team have been collaborating on for a while. We codename this feature the overview but, in its first iteration, you can think more of it as a speed dial for new pages, that will allow you to quickly jump to the pages you frequent more often when opening a new tab or window.

    This will certainly be the most prominent new feature of Epiphany in GNOME 3.6, and we believe you'll love it. Personally, I think that this is a huge usability improvement, but I'm much more excited about the possibilities this brings from here on. For 3.8, our plans are more ambitious, but I guess that we will talk more about it when the time is due.

Sat 2012/May/26
  • Monte do Gozo, near Santiago de Compostela, back in November:


    Polbo á Feira in A Coruña after the WebKitGTK+ hackfest back in December:

    Polbo á Feira

    Alvar Aalto fascination at home:


    A boat by Töölönlahti in early Spring:

    töölönlahti and

Go backward in time to May 2012.

Thu 2016/Dec/15 19:15:49 +0200