Sunday, 19 September 2010


I'm in the middle of my current US trip. Last week I was in Mountain View for a Mozilla work week (lots of excitement). Last night I arrived in Pittsburgh, where I am about to go to the wedding of some friends and then hang around until Tuesday, when I'll have a talk about browser development and my research wish list --- it'll be similar to my LFX talk. I'll be online on and off while in Pittsburgh, and back in the NZ office on Thursday (Wednesday for North Americans).

Being in Pittsburgh again is great, it brings back lots of good memories.

On the following Monday (September 27), I'm going on a holiday with my family. I will be out of the office until October 8. During that time I plan to be entirely offline. So I won't be on IRC, replying to email, doing reviews, or even checking AWFY. I'm looking forward to it :-).

Thursday, 16 September 2010

The Ten Commandments

I watched DeMille's "The Ten Commandments" the other day. Unfortunately I have to put it in the category of classic films which have not stood the test of time. I can overlook the stony acting, but it's even harder to overlook the special effects, which are unsurprisingly laughable by today's standards. The most disappointing aspect is that Moses is a far less interesting character in the movie than he is in the Bible. The movie adds a lot of extra-Biblical material, some from ancient sources but a lot that they just made up (like a romance with Pharoah's future wife), but that isn't very interesting. Yet after the encounter with the burning bush, Moses is portrayed as essentially a one-dimensional inerrant servant of God. We see nothing of his lack of self-confidence (even faith!) before God that led to God appointing Aaron as his mouthpiece. We don't see Moses pleading with God for mercy for the Israelites after the golden calf episode, or the conflicts he had with Aaron then and at other times. We don't see Moses' sin at Meribah, or the grief he must have had over God preventing him from entering the promised land. It's telling that the Bible gives us a more nuanced portrait of major characters than some modern storytellers can manage.

I think that DeMille's stated theme for the movie --- that people everywhere should be free from slavery and the despotism of kings, being subject only to (God's) law --- is misplaced. Worthy as it is, as far as I can tell it is not a significant theme anywhere in the Torah. God delivered the Israelites from oppression, explicitly not because of they deserved it, but rather because of his promises to Abraham and his desire to set apart a chosen people for his own glory. DeMille's theme would not have sat well if the movie had shown the non-democratic aspects of Moses' rule, or the Israelites continuing to take slaves; I think he was imposing his own priorities on the story. (The story of Samuel would be much better foundation for that theme --- when the Israelites demand a "king such as other nations have", with severe consequences.)

One part of the movie I thought was really good was the depiction of the night of the first Passover. It captured just a little of the horror and dread that must have been experienced by everyone, including the Israelites.

Sunday, 12 September 2010

"Full Hardware Acceleration"

Microsoft marketing is making noises about IE9 having a monopoly on "full hardware acceleration". They're wrong; Firefox 4 has all the three levels of acceleration they describe. It's surprising they got this wrong, since Paul Rouget published a great overview on a few days ago (and our plans, source code, and nightly builds have been public since we started working on this stuff many months ago).

One of the messages of their post (and other IE9 marketing materials) is that a browser that only works with D3D and D2D will be superior to one that works on more platforms (e.g. having the option to use GL or D3D for compositing), because they need less of an abstraction layer. They're probably thinking of Chrome, which is basing everything on GL and using ANGLE to map GL to D3D for Windows. We also have an abstraction layer --- which we call "Layers" --- with D3D9, GL and "non-accelerated" implementations, but it's a lot higher-level than GL/ANGLE. (And of course we already have cairo for the content-rendering phase.) It's certainly true that only having to target Vista and Windows 7 would mean less development effort, but an extra abstraction layer need not hurt performance --- if you do it right. I personally like our approach so far; we have to write similar code for GL and D3D often, but having a D3D-specific layers backend makes it easier to integrate D3D-specific features --- like D2D!

I'm pretty confident that our architecture will not cause us any performance disadvantages vs IE9. On the other hand, our architecture does let us deliver D3D acceleration for Windows XP users --- which is still a very large market. I'm surprised Microsoft has been prepared to just hand XP users over to Firefox and Chrome (all those not captive to IE6, at least). Our architecture also lets us deliver GL acceleration for Mac, X, and mobile devices, which is very important.

When we started pushing on Layers at the beginning of the year, I had no idea we'd end up going toe to toe with Microsoft like this. It's exciting!

BTW "full hardware acceleration" is a bogus phrase. All browser pick and choose how to use the GPU, and more use of the GPU isn't necessarily better. There are certainly things no browser is ever going to "hardware accelerate" ... e.g. CSS margin collapsing :-).

In Microsoft's favour, I want to point out that although GPU acceleration for Web graphics isn't going to be a coup for IE9, it is going to be a coup for Windows. As far as I know there simply isn't anything comparable to D2D for GL at this time. (If there was, we'd use it!) cairo-gl is the closest thing I know of that we'd want to use, and but it doesn't seem ready yet. Apple has Quartz 2D Extreme, but they don't enable it for their own apps so one has to assume it's not a clear win. So, kudos to Microsoft for creating D2D, backporting it to Vista, and making it awesome. The free software world really needs to get behind cairo-gl (or something comparable) in a big way. I'd love to have some Mozilla people on it, but we're pretty busy... I'm sure we'd consider funding someone else to work on that stuff, though!

Thursday, 2 September 2010

New Google Maps Imagery Of Auckland

At some point relatively recently, Google added much higher-resolution images of Auckland to Google Maps. These images appear to have been taken by aerial photography and they're quite amazing.