<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Iocane powder &#187; General</title>
	<atom:link href="http://blogs.gnome.org/xan/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/xan</link>
	<description>Just another GNOME Blogs weblog</description>
	<lastBuildDate>Mon, 19 Oct 2009 19:32:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WebKitGTK+ Hackfest 2009</title>
		<link>http://blogs.gnome.org/xan/2009/10/19/webkitgtk-hackfest-2009/</link>
		<comments>http://blogs.gnome.org/xan/2009/10/19/webkitgtk-hackfest-2009/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:32:50 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=106</guid>
		<description><![CDATA[You might have heard the rumors, and it&#8217;s true: we&#8217;ll be holding a WebKitGTK+ hackfest right before Christmas, from the 15th to the 21st of December, 2009.
A group of core WebKitGTK+ hackers and contributors will meet at the Igalia offices in A Coruña, and we&#8217;ll hack for a week on things like GObject DOM bindings, [...]]]></description>
			<content:encoded><![CDATA[<p>You might have heard the <a href="http://www.stormyscorner.com/2009/10/how-to-plan-a-hackfest.html">rumors</a>, and it&#8217;s true: we&#8217;ll be holding a WebKitGTK+ hackfest right before Christmas, from the 15th to the 21st of December, 2009.</p>
<p>A group of core WebKitGTK+ hackers and contributors will meet at the <a href="http://www.igalia.com">Igalia</a> offices in <a href="http://en.wikipedia.org/wiki/A_Coruña">A Coruña</a>, and we&#8217;ll hack for a week on things like GObject DOM bindings, libsoup, a harfbuzz backend, native theming through offscreen widgets, HTML5 video/audio support and many more things.</p>
<p>I&#8217;ve put up a <a href="http://live.gnome.org/WebKitGtk/Hackfest2009">wiki page</a> with all the information we have so far, so keep an eye on it if you are interested. Also, we have two sponsors so far, <a href="http://www.collabora.co.uk">Collabora</a> and <a href="http://www.igalia.com">Igalia</a> (thanks!), but we can always use a few more of them. If you feel like you could contribute to advance the state of the Web support in our platform, please drop me a line at my email address, xan <at> gnome <dot> org, or contact the GNOME foundation directly.</p>
<p>Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/10/19/webkitgtk-hackfest-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Together we can rule the Galaxy &#8211; Epiphany 2.28 and WebKitGTK+ 1.1.15.x</title>
		<link>http://blogs.gnome.org/xan/2009/09/25/together-we-can-rule-the-galaxy-epiphany-2-28-and-webkitgtk-1-1-15-x/</link>
		<comments>http://blogs.gnome.org/xan/2009/09/25/together-we-can-rule-the-galaxy-epiphany-2-28-and-webkitgtk-1-1-15-x/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 11:27:23 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=99</guid>
		<description><![CDATA[
So, we made it in time for the release. After months of hard work 2.28 is out, and hopefully it will hit a repository near you (in case you are not so much into hunting projects in their natural habitat). Some reviews think Ephy/WebKit is not too bad and appreciate the effort we are putting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://library.gnome.org/misc/release-notes/2.28/"><img class="aligncenter size-full wp-image-100" title="made-to-share-274x140" src="http://blogs.gnome.org/xan/files/2009/09/made-to-share-274x140.png" alt="made-to-share-274x140" width="275" height="140" /></a></p>
<p>So, we made it in time for the release. After months of hard work 2.28 is out, and hopefully it will hit a repository near you (in case you are not so much into hunting projects in their <a href="http://git.gnome.org/cgit/epiphany">natural habitat</a>). <a href="http://arstechnica.com/open-source/news/2009/09/linux-garden-gets-a-new-gnome-with-version-228.ars">Some reviews</a> think Ephy/WebKit is not too bad and appreciate the effort we are putting into bringing WebKit into the platform, so I guess we can be happy of our progress so far.</p>
<p>Speaking of WebKit, we branched for our semi-stable <a href="https://lists.webkit.org/pipermail/webkit-gtk/2009-September/000022.html">1.1.15 release</a>. After some talks we decided to not declare our APIs stable yet, since the development is still advancing very fast and we could use a full cycle of testing to see what works and what doesn&#8217;t, but nevertheless we will support 1.1.15.x as a stable release in every other aspect: no new features, only bugfixes and patches for security issues, supported until the next stable release is out. It&#8217;s the recommended companion for GNOME 2.28, so distro guys you know what to do! And, just to see if anyone was paying attention, we quickly rolled a <a href="https://lists.webkit.org/pipermail/webkit-gtk/2009-September/000024.html">1.1.15.1</a> with a couple of important bugfixes; you can get it at the <a href="http://www.webkitgtk.org/?page=download">usual place</a>.</p>
<h2>2.30 &#8211; The Future</h2>
<p>But enough talk about the past, what will the future bring?  These are some of the things that we plan to do, or at least get started, for 2.30.</p>
<h3>GObject DOM bindings</h3>
<p>WebKitGTK+ already provides APIs to do most of the things applications need to do when dealing with Web widgets, with one very big exception: access to the DOM. DOM manipulation has to be done, as of today, through sad APIs like <a href="http://webkitgtk.org/reference/webkitgtk-WebKitWebView.html#webkit-web-view-execute-script">webkit_web_view_execute_script</a>, which make doing anything other than trivial things pretty cumbersome and difficult to debug. Wouldn&#8217;t it be nice to be able to access the page contents through nice GObject APIs, with bindings for all languages through gobject-introspection? Yes, it would, and it clearly is what we are missing to be able to create a new kind of GNOME applications. Other ports, like Mac or Qt, already provide something like this, so clearly we have to step up to this challenge <img src='http://blogs.gnome.org/xan/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' />  Expect to see, at least, basic GObject DOM bindings for WebKitGTK+ in time for GNOME 2.30.</p>
<h3>GNOME shell integration</h3>
<p>An idea that has been floating in my head since GCDS is to try to integrate Epiphany more closely in the coming brave new world of <a href="http://live.gnome.org/GnomeShell">GNOME Shell</a>. I think our UI can be kept simple and usable and at the same time updated to use all that crap the chip manufacturers have been putting into your computer for the past 10 years, so we should give that a shot. I&#8217;ll be attending the <a href="http://live.gnome.org/Boston2009">Boston Summit</a> to see what I can do about this being among all the Shell gang, and rumour has it <a href="http://kov.eti.br">Gustavo</a> is already doing some crazy experiments with Clutter and Epiphany.</p>
<h3>Accessibility</h3>
<p>When WebKitGTK+ was <a href="http://www.mail-archive.com/devel-announce-list@gnome.org/msg00407.html">accepted for 2.28</a> the Release Team expressed their trust in that we&#8217;d continue our work improving the a11y support in the engine. Me and <a href="http://www.igalia.com">Igalia</a> will keep our commitment to see this happen, and with 2.28 behind us I&#8217;m already looking into it again. Also, I&#8217;ll finally meet Joanmarie during the <a href="http://live.gnome.org/Boston2009">Boston Summit</a>, which I&#8217;m sure will be serve to make things move faster and better.</p>
<h3>HarfBuzz font backend</h3>
<p><a href="http://behdad.org/text/">Behdad speaks</a>, and we listen. In his own words the Pango backends in WebKitGTK+ and Gecko are either hacks or have to reimplement lots of things that they shouldn&#8217;t have, and the right thing to do is to go down one step in the stack and use HarfBuzz directly. This is also a good opportunity to get rid of our multiplicity of font backends, so expect some HarfBuzz love in WebKitGTK+ in the coming months.</p>
<h3>Improved HTML5 media support</h3>
<p>The final assault on the Flash empire is about to start, and we want to be ready. We already have support for it, but the WebKitGTK+ team (with a new Igalian, <a href="http://base-art.net/Articles/111/">Philippe</a>), is already busy fixing all the bugs and implementing all the missing features.</p>
<h3>turbocharged libsoup</h3>
<p>A lot is on the pipeline for the tasty library. As I mentioned in previous entries, during the 2.27 development cycle <a href="http://mysterion.org/~danw/blog/">Dan</a> realized some of the things we were trying to bolt on on the library would be much easier if some of its internals were revamped, so he put in motion a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=591739">bold plan</a> to address this. With that in place, a couple of our biggest regressions (<a href="https://bugzilla.gnome.org/show_bug.cgi?id=523100">HTTP cache</a> and <a href="https://bugzilla.gnome.org/show_bug.cgi?id=522772">Content-Encoding</a> support) should be easier to kill.</p>
<h3>The bugs! The regressions!</h3>
<p>Yes, yes, that too! Be sure to <a href="http://bugzilla.gnome.org">report</a> all of them.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/09/25/together-we-can-rule-the-galaxy-epiphany-2-28-and-webkitgtk-1-1-15-x/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>A GDB public service announcement</title>
		<link>http://blogs.gnome.org/xan/2009/09/09/a-gdb-public-service-announcement/</link>
		<comments>http://blogs.gnome.org/xan/2009/09/09/a-gdb-public-service-announcement/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 09:24:55 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=94</guid>
		<description><![CDATA[Possibly I&#8217;m about to make a fool of myself saying this, but since I wasted some time a few days ago I might help someone doing it.
Say you are debugging some feature in your program that is enabled with some command line paramater (&#8221;random&#8221; example: the &#8211;private option in Epiphany for private profiles). One way [...]]]></description>
			<content:encoded><![CDATA[<p>Possibly I&#8217;m about to make a fool of myself saying this, but since I wasted some time a few days ago I might help someone doing it.</p>
<p>Say you are debugging some feature in your program that is enabled with some command line paramater (&#8221;random&#8221; example: the &#8211;private option in Epiphany for private profiles). One way of passing this to gdb is the &#8211;args flag, but another one is to pass them to run/r in the prompt, like:</p>
<p>(gdb) r &#8211;private</p>
<p>You do your stuff, and then you decide you need to see what happens without the option. One &#8220;obvious&#8221; way to do it would be to write, after the previous line:</p>
<p>(gdb) r</p>
<p>Right? Wrong. From the <a href="http://sources.redhat.com/gdb/current/onlinedocs/gdb_5.html#SEC21">GDB manual</a>:</p>
<blockquote><p>run with no arguments uses the same arguments used by the previous run, or those set by the set args command.</p></blockquote>
<p>So you&#8217;d be basically running your program with &#8211;private again. The right way to do it, as the manual says, is to reset the arguments with &#8217;set args&#8217;.</p>
<p>I wonder how many silly things I have done through the years without noticing because I didn&#8217;t know this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/09/09/a-gdb-public-service-announcement/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ 1.1.14 new features</title>
		<link>http://blogs.gnome.org/xan/2009/09/09/webkitgtk-1-1-14-new-features/</link>
		<comments>http://blogs.gnome.org/xan/2009/09/09/webkitgtk-1-1-14-new-features/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 09:06:31 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=92</guid>
		<description><![CDATA[Gustavo has written a nice sumary of all the new APIs in 1.1.14 (yes, all that stuff was only for 1.1.14!), so go and check it out if you are interested.
]]></description>
			<content:encoded><![CDATA[<p>Gustavo has written a <a href="http://blog.kov.eti.br/?p=88">nice sumary of all the new APIs in 1.1.14</a> (yes, all that stuff was only for 1.1.14!), so go and check it out if you are interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/09/09/webkitgtk-1-1-14-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The show so far</title>
		<link>http://blogs.gnome.org/xan/2009/09/08/the-show-so-far/</link>
		<comments>http://blogs.gnome.org/xan/2009/09/08/the-show-so-far/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 12:52:10 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=74</guid>
		<description><![CDATA[Yesterday we released WebKitGTK+ 1.1.14, Epiphany 2.27.92 and Epiphany-Extensions 2.27.92. I haven&#8217;t blogged about releases in a while (sorry!), and as the good people at Ars Technica mention development is moving at a &#8220;swift rate&#8221; (btw Ryan, you can remove the ugly hack to get the contents of the page from your app and use [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday we released <a href="http://webkitgtk.org/?page=download">WebKitGTK+ 1.1.14</a>, <a href="http://git.gnome.org/cgit/epiphany">Epiphany 2.27.92</a> and <a href="http://git.gnome.org/cgit/epiphany-extensions">Epiphany-Extensions 2.27.92</a>. I haven&#8217;t blogged about releases in a while (sorry!), and as the good people at Ars Technica <a href="http://arstechnica.com/open-source/guides/2009/07/how-to-build-a-desktop-wysiwyg-editor-with-webkit-and-html-5.ars/2">mention</a> development is moving at a &#8220;swift rate&#8221; (btw Ryan, you can remove the ugly hack to get the contents of the page from your app and use the new and shiny <a href="http://webkitgtk.org/reference/webkitgtk-WebKitWebDataSource.html">WebKitDataSource</a> APIs) , so there&#8217;s a lot of ground to cover. I won&#8217;t go through all the APIs and fixes we have done in the last months though, you can always check the <a href="http://svn.webkit.org/repository/webkit/trunk/WebKit/gtk/NEWS">NEWS</a> file for a brief summary, or check our <a href="http://webkitgtk.org/reference/index.html">documentation page</a> to see what new APIs landed on each release.</p>
<p>To begin with, one of the most visible things that were done in this release is the <a href="http://git.gnome.org/cgit/epiphany/commit/?id=3d4053a5f71175970712897a298a7ce95d3dfaef">resurrection of the AdBlock extension</a>, which was the last lonely point to address in our <a href="http://live.gnome.org/Epiphany/WebKit228">TODO list for 2.28</a>:</p>
<p style="text-align: center; "><a href="http://blogs.gnome.org/xan/files/2009/09/shot12.png"><img class="aligncenter size-medium wp-image-81" title="shot1" src="http://blogs.gnome.org/xan/files/2009/09/shot12-300x109.png" alt="shot1" width="300" height="109" /></a></p>
<p>Also in 2.27.92, we <a href="http://git.gnome.org/cgit/epiphany/commit/?id=eea4e5155ed3102ee21c57958a29603ed0f5166f">added support to import all your passwords from the old gecko</a> profile. This requires an optional compile-time dependency with <a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a>, but I encourage all distributions to enable it to avoid a pretty serious data loss scenario. Together with the cookie import (which <a href="http://git.gnome.org/cgit/epiphany/commit/?id=2eccee1a93b59ef10709100c83d7dfcc26b87706">landed</a> a long time ago) this should safely bring all your data to the new WebKit world, but I encourage everyone to test this as much as possible before release, since losing data is one the worst kind of bugs there can be.</p>
<p>Another little thing that <a href="http://git.gnome.org/cgit/epiphany-extensions/commit/?id=0cde8f4711996a50d91ca097e52799f3dab17c9d">landed a while ago</a> is a small epiphany extension called &#8216;Soup Fly&#8217;. With it you can see the status of the <a href="http://library.gnome.org/devel/libsoup/stable/SoupSession.html">SoupSession</a> Epiphany is using, with all the messages in it and their state:</p>
<p><a href="http://blogs.gnome.org/xan/files/2009/09/soupfly.png"><img class="aligncenter size-medium wp-image-83" title="soupfly" src="http://blogs.gnome.org/xan/files/2009/09/soupfly-300x226.png" alt="soupfly" width="300" height="226" /></a></p>
<p>It&#8217;s already pretty useful to figure out some things (like, &#8220;does libsoup think it has loaded all resources in this page?&#8221; or &#8220;is this resource not loading because the server is not answering or because libsoup hasn&#8217;t requested it?&#8221;), but we have plans to improve it more in the future, extending its introspection superpowers. (Note to GNOME artists: an icon with a cute fly would be awesome for this! nudge nudge, wink wink).</p>
<p>Speaking of libsoup: one of the things that I think have worked out better in this whole story is the relationship between WebKitGTK+ and libsoup. Since we dropped the CURL HTTP backend and went libsoup-only, things have improved a lot, and very fast: missing features landed, like SoupCookieJar, SoupContentSniffer or SoupProxyResolverGNOME (and others in the backburner for 2.30, like <a href="http://git.gnome.org/cgit/libsoup/log/?h=cache">SoupCache</a>, <a href="http://bugzilla.gnome.org/show_bug.cgi?id=522772">content encoding</a> support and the &#8220;<a href="http://bugzilla.gnome.org/show_bug.cgi?id=591739">big IO rewrite</a>&#8220;), a <strong>lot</strong> of bugs were fixed and in general our networking code improved by leaps and bounds. Most of the credit goes to the libsoup maintainer, <a href="http://mysterion.org/~danw/blog/">Dan Winship</a>, so buy him a truckload of his favorite beverage the next time you see him around. And of course, all this benefits everyone else in the platform using libsoup, which makes it even better; more succintly:</p>
<p><a href="http://blogs.gnome.org/xan/files/2009/09/128968842326568397.jpg"><img class="aligncenter size-full wp-image-84" title="128968842326568397" src="http://blogs.gnome.org/xan/files/2009/09/128968842326568397.jpg" alt="128968842326568397" width="500" height="333" /></a></p>
<p>Another area that saw a lot of improvements was accessibility. With the help of great minds like <a href="http://blog.grain-of-salt.com/">Joanmarie Diggs</a> each release saw a constant stream of improvements, which hopefully moved our a11y status from &#8220;OMGWTF&#8221; to simply &#8220;hum&#8230;&#8221;. Our tracker bug for this topic is <a href="https://bugs.webkit.org/show_bug.cgi?id=25531">this</a>, and this is an area I&#8217;ll definitely visit again during the 2.30 cycle, since one of my goals in life is to be able to fix bugs faster than Joanmarie is able to open them. Yeah, I know, impossible.</p>
<p>One interesting thing (interesting in the <a href="http://en.wikipedia.org/wiki/May_you_live_in_interesting_times">Chinese sense</a>, that is) about working with WebKitGTK+ is that it has so damn big in some senses that you keep hitting obscure corner cases in several tools. Not so long ago, for example, make dist stopped working completely for me, spouting some nonsense about an argument exceeding some maximum length limit. After some investigation and the help of the autotools folks it turned out that between our non-recursive setup and our file count we had hit a <a href="http://thread.gmane.org/gmane.comp.gnu.make.bugs/4219">limit in GNU make itself</a>. Or that other time when I wasted a couple of days chasing phantom crashes in WebKitGTK+, only to find out it was a bug in GNU ld to begin with. This was already fixed in CVS HEAD though, so that was doubly frustrating.</p>
<p>In short, 2.27.92 is out, we have fixed many dozens of bugs since I last blogged, and the browser is definitely getting there step by step. Go and test it, and reports all those pesky bugs in our tracker. In my next post I&#8217;ll talk a bit about our plans for 2.30, which include buzzwords like &#8220;GNOME Shell&#8221;, &#8220;HarfBuzz&#8221;, &#8220;DOM bindings&#8221; and &#8220;have you fixed all those regressions yet?&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/09/08/the-show-so-far/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>I love this plan. I&#8217;m excited to be a part of it. Let&#8217;s do it!</title>
		<link>http://blogs.gnome.org/xan/2009/07/07/i-love-this-plan-im-excited-to-be-a-part-of-it-lets-do-it/</link>
		<comments>http://blogs.gnome.org/xan/2009/07/07/i-love-this-plan-im-excited-to-be-a-part-of-it-lets-do-it/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 14:51:21 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=68</guid>
		<description><![CDATA[Hi from GCDS! Now that both my normal talk and my crazy talk are done I guess I can break the radio silence and say what&#8217;s going on like everyone else is doing. I spent a couple of crazy days with Fer preparing our GNOME 1,2.3 talk, although to be honest it was great fun [...]]]></description>
			<content:encoded><![CDATA[<p>Hi from <a href="http://www.grancanariadesktopsummit.org">GCDS</a>! Now that both my <a href="http://www.grancanariadesktopsummit.org/node/187">normal talk</a> and my <a href="http://www.grancanariadesktopsummit.org/node/198">crazy talk</a> are done I guess I can break the radio silence and say what&#8217;s going on like everyone else is doing. I spent a couple of crazy days with <a href="http://www.gnome.org/~fherrera/">Fer</a> preparing our GNOME 1,2.3 talk, although to be honest it was great fun to make up all those jokes and find those videos. For those who asked, he&#8217;s preparing a technical &#8216;Making of&#8217; of the talk, so stay tuned. Because of that I missed some talks and parties, but now that that&#8217;s over I&#8217;ll try to attend to as much stuff as possible! For starters, yesterday&#8217;s Igalia Party was great.</p>
<p>One thing I&#8217;ll try to do before I leave is to spend some time with the WebKit guys and try to get some serious hacking going (in my case, I&#8217;ll try to finally kill my a11y nemesis bug, which shall remain linkless), so if you want to join us or want to ask anything about WebKit just grab me and ask if you see me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/07/07/i-love-this-plan-im-excited-to-be-a-part-of-it-lets-do-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ECMAScript 5</title>
		<link>http://blogs.gnome.org/xan/2009/05/23/ecmascript-5/</link>
		<comments>http://blogs.gnome.org/xan/2009/05/23/ecmascript-5/#comments</comments>
		<pubDate>Sat, 23 May 2009 17:03:34 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=65</guid>
		<description><![CDATA[After the discussion on the Seed proposal thread about what flavor of JavaScript should GNOME as a project use, I made a point of figuring out what&#8217;s the current status on the ECMAScript standarization saga.
This is old news by now, but some of you might not know that the ECMA committe responsible for JavaScript decided [...]]]></description>
			<content:encoded><![CDATA[<p>After the <a href="http://mail.gnome.org/archives/desktop-devel-list/2009-May/msg00199.html">discussion</a> on the Seed proposal thread about what flavor of JavaScript should GNOME as a project use, I made a point of figuring out what&#8217;s the current status on the ECMAScript standarization saga.</p>
<p>This is old news by now, but some of you might not know that the ECMA committe responsible for JavaScript <a href="https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html">decided last year</a> to pretty much do a full reset and try to move forward step by step instead of doing everything and the kitchen sink in one go; that is, instead of the ES4 revolution we would have the ES3.1 spring cleanup. Well, 9 months later and, ironies of life, the next standard will be called ES5 instead of ES3.1 (although it&#8217;s still an incremental improvement), and the final draft is already <a href="http://www.ecma-international.org/publications/files/drafts/tc39-2009-025.pdf">available</a> (PDF).</p>
<p>So, what&#8217;s in it? These <a href="http://google-caja.googlecode.com/svn/trunk/doc/html/es5-talk/es5-talk.html">google slides</a> do a pretty good job at introducing the changes, but I&#8217;ll try to do a warp-speed summary here:</p>
<ul>
<li>A new &#8217;strict mode&#8217; to ease robust and defensive programming. You can look up the details in the slides, but a single feature would have been worth it for me back in my <a href="http://www.litl.com">litl</a> days: failed assignments throw an exception in strict mode.</li>
<li>Function.prototype.bind to fix one of the first WTF moments one has when learning JavaScript: <a href="http://google-caja.googlecode.com/svn/trunk/doc/html/es5-talk/img52.html">closures do not capture &#8216;this&#8217;</a>.</li>
<li>Higher order array methods: map, every, some, filter, reduce&#8230; all are there.</li>
<li>Built-in JSON implementation.</li>
<li>getter/setter properties, plus syntax for fine <a href="http://google-caja.googlecode.com/svn/trunk/doc/html/es5-talk/img9.html">grained control of properties access</a>.</li>
</ul>
<p>From my limited experience with JavaScript I think this fixes some obvious issues in the language, while others are in the backburner for future revisions (<a href="http://wiki.ecmascript.org/doku.php?id=strawman:lexical_scope">lexical scope</a>, <a href="http://wiki.ecmascript.org/doku.php?id=strawman:const">const</a>, <a href="http://wiki.ecmascript.org/doku.php?id=harmony:destructuring">destructuring assignment</a>, &#8230;), so I&#8217;d say things are looking pretty good.</p>
<p>Of course, the bigger issue is: should we require the JavaScript in GNOME to follow ECMA standards (ES3 now, ES5 and following in the future) in order to be able to use any compliant implementation, or should module owners be allowed to use vendor-specific extensions if they think it&#8217;s in their benefit to do so? I guess that&#8217;s up for debate, but it seems to me that we live in <a href="http://www.lassus.eu/2009/05/v8-and-javascriptcore-are-really-really.html">too interesting</a> times to paint ourselves in a corner with a given implementation at this point.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/05/23/ecmascript-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Two releases for the price of one</title>
		<link>http://blogs.gnome.org/xan/2009/04/29/two-releases-for-the-price-of-one/</link>
		<comments>http://blogs.gnome.org/xan/2009/04/29/two-releases-for-the-price-of-one/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 12:34:31 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=62</guid>
		<description><![CDATA[I didn&#8217;t blog about the 1.1.5 release (although Gustavo did, much better than I do as usual), so now that 1.1.6 is out I&#8217;ll make a 2&#215;1 post with the highlights.

gtk-doc support was integrated into the build system. There&#8217;s still a few rough edges, but hopefully it won&#8217;t be too long now before the full [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t blog about the 1.1.5 release (although Gustavo <a href="http://blog.kov.eti.br/?p=68">did</a>, much better than I do as usual), so now that 1.1.6 <a href="http://webkitgtk.org/?page=download">is out</a> I&#8217;ll make a 2&#215;1 post with the highlights.</p>
<ul>
<li>gtk-doc support was integrated into the build system. There&#8217;s still a few rough edges, but hopefully it won&#8217;t be too long now before the full API documentation is available at, say, <a href="http://library.gnome.org">library.gnome.org</a>.</li>
<li>l10n support. All text in warnings, dialogs and GObject properties is marked for translation using gettext, and everybody is welcome to contribute new translations!</li>
<li>A full-fledged printing API using GTK+&#8217;s <a href="http://library.gnome.org/devel/gtk/unstable/gtk-High-level-Printing-API.html">GtkPrintOperation</a>.</li>
<li>Spellchecking support through Enchant.</li>
<li>Error reporting. A new signal, WebKitWebView::load-error will be emitted when there&#8217;s an error during the page load. You can do nothing, and a default error page will be shown, or handle the signal yourself and show some customized error UI.</li>
<li>Caret browsing mode has been added. It still has some bugs and missing features (notably, interaction with forms is kind of shaky), but I think it&#8217;s quite on par with the support in Gecko at this point and not bad for the first stepping stone.</li>
<li>After the a11y hackfest and the great help from <a href="http://twitter.com/wwalker">Willie</a> and <a href="http://blog.grain-of-salt.com/">Joanmarie</a>, a lot of improvements to the ATK support have landed. There&#8217;s a lot to cover here, but same as with caret mode we&#8217;ll keep improving with each release.</li>
<li>And as usual, lots of small bugfixes all over the place.</li>
</ul>
<p>That&#8217;s quite a lot of stuff don&#8217;t you think? I think we are making great progress, with contributions from the whole team, so let&#8217;s keep rocking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/04/29/two-releases-for-the-price-of-one/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ a11y (virtual) hackfest</title>
		<link>http://blogs.gnome.org/xan/2009/04/07/webkitgtk-a11y-virtual-hackfest/</link>
		<comments>http://blogs.gnome.org/xan/2009/04/07/webkitgtk-a11y-virtual-hackfest/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:01:42 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=58</guid>
		<description><![CDATA[Interested in WebKitGTK+, a11y or both? This Thursday (April 9th 2009), from 14:00 UTC onwards, we&#8217;ll hold a virtual a11y hackfest on #webkit-gtk at irc.freenode.net. Willie Walker from Sun will join us, and we&#8217;ll try to move forward and set up a plan to fix this last blocker in the WebKitGTK+ integration into GNOME saga. [...]]]></description>
			<content:encoded><![CDATA[<p>Interested in WebKitGTK+, a11y or both? This Thursday (April 9th 2009), from 14:00 UTC onwards, we&#8217;ll hold a virtual a11y hackfest on #webkit-gtk at irc.freenode.net. Willie Walker from Sun will join us, and we&#8217;ll try to move forward and set up a plan to fix this last blocker in the WebKitGTK+ integration into GNOME saga. See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/04/07/webkitgtk-a11y-virtual-hackfest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ 1.1.4</title>
		<link>http://blogs.gnome.org/xan/2009/03/30/webkitgtk-114/</link>
		<comments>http://blogs.gnome.org/xan/2009/03/30/webkitgtk-114/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 21:07:56 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=56</guid>
		<description><![CDATA[So, another two weeks, another release. I suppose nobody would have noticed, but we are releasing on Mondays instead of Sundays because we figured it was better to have reviewers around for the inevitable last minute commits. This time we helped Darin to fix a nasty regression on IRC which would have been a shame [...]]]></description>
			<content:encoded><![CDATA[<p>So, another two weeks, another release. I suppose nobody would have noticed, but we are releasing on Mondays instead of Sundays because we figured it was better to have reviewers around for the inevitable last minute commits. This time we helped Darin to fix a <a href="https://bugs.webkit.org/show_bug.cgi?id=24916">nasty regression</a> on IRC which would have been a shame to ship with, so yeah, it happened again.</p>
<p>The big visible things on this release are preliminary support for the HTML5 media tags (it works, I saw the Transformers trailer with it!), and a new signal, <a href="https://bugs.webkit.org/show_bug.cgi?id=24916">WebKitWebView::new-window-policy-decision-requested</a>, which gives us the means to properly handle, at last, links with target=_blank (already available in Epiphany trunk). As usual there&#8217;s a bunch of bugfixes and other improvements, the complete NEWS file is:</p>
<p>================<br />
WebKitGTK+ 1.1.4<br />
================</p>
<p>What&#8217;s new in WebKitGTK+ 1.1.4?</p>
<p>- WebKitWebView gained uri and title properties, deprecating the<br />
usage of the title-changed signal.<br />
- Basic functionality for HTML5 media tags has been achieved; there<br />
are many unimplented methods, and rough edges still, though.<br />
- Font rendering received quite some love, with layouting, and<br />
memory handling fixes, and at least one less crash.<br />
- A new signal, new-window-policy-decision-requested, has been added<br />
to WebKitWebView, that makes it possible for the application to<br />
correctly decide what to do when new windows are requested.<br />
- A bug that made tooltips for consecutive links not update their<br />
location was fixed.<br />
- Several improvements were made to the HTTP backend, including<br />
making it more robust when talking to servers which send bad<br />
Content-Type headers.<br />
- WebKitWebView now uses the GtkBinding system to handle key events,<br />
which means that the user is now able to customize the keys used<br />
for various operations, and that many subtle bugs have been fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2009/03/30/webkitgtk-114/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
