Gustavo Noronha Silva: WebKitGTK+ HackFest!
The WebKit hackfest is now over, and I think it was a very productive week. Thank you very much to all who attended, to Igalia for organizing the hackfest, and hosting us so well, to Collabora for having sponsored the event, and allowed me to spend the week working on it, and to the GNOME foundation for having payed all of my costs!
Xan blogged about day 0, and also a summary of all that was done, so I ll focus on the stuff he forgot to mention ;D. The hackfest, for me, started on day -1 with me not allowing Xan to go sleep before he had reviewed a couple patches of mine to fix DOM context menu handling. It always bothered me that Epiphany failed to open right-click menus in some pages, or let pages handle the right click. Well, this is fixed now, and Zimbra users can now have their right click menus, and WoW players can remove talent points from their calculators =P. It turns out that many of the attendees don t like pages messing with their context menus, though, and they had some good points to back up their positions (like pages making it hard to save images, for instance), so I implemented a way to force openning the custom menu: Ctrl-rightclick. We wanted to use a GtkInfoBar to display questions regarding the form saving - our initial implementation always saved all credentials, but that didn t sound good enough. Xan and I thought it would be very complicated to make this work, because there were assumptions in the code regarding which widget contains which, but it turned out to be quite trivial - making EphyEmbed a descendant of GtkVBox instead of GtkScrolledWindow, fixing a small number of assumptions, and that was it.
The passwords are saved in the GNOME Keyring. It s interesting to point out that GNOME Keyring seems to be unhappy with the number of passwords a browser stores - Xan s daemon was hanging, crashing, and spawning a large number of threads. My daemon decided to take up some 300MB of RAM at one point. It s somewhat funny to see how much a browser pushes the limits of our platform. We are hoping this will improve with the new keyring APIs, and the rewrite that is ongoing. It s nice to see my browser form passwords in seahorse, though, and be able to manage them like any other.
One more thing worth of notice, although this post is already a bit too big: one of the main concerns people had during the Hackfest was on making build time smaller. Touching a single file in WebCore causes a debug build of 10 minutes on my laptop. Evan Martin and Benjamin Otte made a push at removing unnecessary includes from WebCore, and WebKitGTK+ files, which brough the build time down a bit. They end up inspiring Aroben, from Apple, to go even further into this, and remove many includes from files all over WebKit.
Evan was also able to bring linking time down by making it possible to link libwebkit without having to build all the intermediate libraries, which brought build time down to 1 minute, when touching a single file in WebCore. Behdad and I also started looking into breaking WebCore up into lots of shared libraries for Debug builds, since we don t care too much about speed penalties in those. None of these experiments got committed yet, but I am hoping we will be having a better time hacking on WebKitGTK+ in the near future.
It was awesome meeting everyone, by the way! See you around =).
A few years ago, the 

This coming Sunday, Germany is voting its parliament for the
next four years. I wanted to participate remotely, but they didn t
let me. The letter, inviting me to order the voting forms, was sent
too late. Instead of ordering and waiting for the voting forms,
hoping for them to arrive back in Germany before the municipal
agency stops all their work at 16:59 on Friday afternoon, I filled
in the fields in a way to give my mother full authority to submit
my vote. On the document, it only said that she would need a notary
procuration, which she has.
When my mother tried to vote in my name, they refused her: the
vote has to be confidential, and proxies may only vote for disabled
people, or those who cannot read. I can understand half of the
motivation behind this it guards against abuse but the bottom
line is that I am now unable to cast a vote. Democracy stabbed by
bureaucracy.
Well, democracy to the limited degree that we have it in
Germany. I do not mean to criticise at this time that voting in
Germany means to place trust into people you d rather not trust,
but once they get majority, they can do whatever they want for four
years. The specific shortcoming in our democracy on which I would
like to focus is the five percent clause , which states that a
party needs to reach 5% of votes before they can enter the
parliament; if those 5% are not reached, all votes for the party
are basically lost.
I suspect that this clause is what s keeping back a lot of
people from electing Germany s