Tuesday, 29 April 2008

Visiting Hamilton

This afternoon Matthew Gregan and I are heading down to Hamilton to talk about Firefox at the Waikato Linux User Group meeting. Should be fun if we don't get lost in the fog.

Sunday, 27 April 2008

Te Henga

Yesterday was ANZAC day so our family went out with some friends to Bethell's Beach/Te Henga for some short walks and a picnic lunch. We did the "Auckland City Walk"; it was very nice but I'm unsure of the reason for the name, since there was nothing city-like about it. We actually walked up to the Waitakere Dam and then the others continued to Scenic Road while I went back to get the car and pick them up.

We had lunch near the beach and walked along the beach afterward. After that, we explored the remarkable sand feature up behind the beach. Basically sand has swept inland and formed a gigantic sand dune, damming a stream and forming a large freshwater lake, Lake Wainamu. The area is magnificently desolate ... if you ignore the trees and pastures all around it, and the lovely lake! It must be one of the best places near Auckland to shoot desert scenes (if you don't pan up too far) --- there was a group doing just that. Judging from the bad costumes it could have been a sequel to Blake's 7.

River seen from the top of the dune

The Ozymandias Ultimatum

I watched Enter The Dragon last night. I have to put it on the list of "classic moves that have not stood the test of time", with Citizen Kane and Star Wars.

Thursday, 24 April 2008

The Good Fight

Steve Jobs will never thank us, but it warms my heart to read stuff like this:

IT can embrace that Mac momentum, not just tolerate it, thanks to several shifts in computing that make the Mac a better enterprise fit than in the past -- first and foremost being a rising threat to Microsoft's other mainstay in the enterprise desktop environment, Internet Explorer.

Firefox, which has risen in popularity to account for 16.8 percent of browser use on the Web, according to Net Applications, as of December 2007, has broken IE's stranglehold on Internet app delivery, which it had maintained through ActiveX controls. Because Microsoft never released a version of IE for Mac OS X, Mac users were frozen out of ActiveX-based Web sites, making many SaaS (software as a service) offerings and enterprise-app Web clients off limits to the Mac.

But to ensure operability on Firefox, developers had to configure their wares to support Java instead of or in addition to ActiveX -- with Mac gaining compatibility as a client at the same time.

(via Gen Kanai)

Not everyone knows that for all these years we've actually had ActiveX hosting support in our source tree, but we deliberately turned it off. Turning it on probably would have helped our market share in the short term --- probably still would if we turned it on today --- but we didn't, because that would not have been the right thing to do for the Web, or for the Mac and other non-Microsoft platforms.

Even on a bad day, I'm proud to have been a part of all this.

Friday, 18 April 2008

Specification Superheroes

It's common knowledge that programming ability varies widely and that elite programmers are perhaps an order of magnitude more effective than run-of-the-mill programmers.

It's less widely known that the same is true of specification editors. I'm talking about people who write specifications for organizations like WHATWG and W3C, as well as people who write specifications internally as part of software development, particularly when they're writing specs for platform functionality --- APIs and formats that will be consumed by other software developers --- and particularly when compatibility constraints are important. Juggling the requirements of compatibility, ease of use, ease of implementation, evolvability, functionality, orthogonality, politics, performance, and so on is a delicate art that few people seem to be able to master.

Unfortunately, this work is usually seen as glorified QA and is thus grossly undervalued by organizations. Superstar developers are hard to find but at least their talent is recognised. Superstar spec editors are not well recognised and for that and other reasons they're far harder to find.

We don't know how to find these people, or train them. Like programming, a lot probably comes down to innate talent that cannot be taught. A computer science background is helpful, programming and QA skills are very helpful. Domain knowledge is very helpful too.

We have public organizations now --- WHATWG, and increasingly, the W3C --- where volunteers can try their hand at the task. The challenge is to get the right people to have a go, and to create visible career paths to encourage them to pursue it.

Tuesday, 15 April 2008

The Shadow Of The Moon

I sneaked off work today with my wife and we watched In The Shadow Of The Moon, being screened as part of a local film festival. It was brilliant! Amazing footage, very well put together, and the astronaut interviews are really good --- moving, funny, and insightful. I'm not a big fan of manned spaceflight but you can certainly see the appeal. Recommended.

Saturday, 12 April 2008

Additional Austral Peregrinations

On Friday April 4 I visited Australian National University in Canberra to give my Mozilla talk. My host there was Steve Blackburn, who does PL/VM research, so I caught up on the gossip in that field and we talked about GC issues in Web browsers and the potential for implementing a browser in managed code. I also visited IBM OzLabs where Andrew Tridgell, Paul Mackerras and other semi-famous Linux/Samba hackers hang out. I showed them Chronicle and they were more interested in that than Web stuff :-).

I visited Monash University in Melbourne on Monday and Wednesday. I spent Monday talking to Kim Marriott and his group of staff and students, who do research on automatic document layout. Their work is very interesting since it gives some insight into what might be possible in an ideal world where CSS was "done right", or at least if we spent energy on making documents look great instead of wrangling the other issues that bedevil us. I want to get a reading list from him of research papers that people involved in CSS specification and implementation could read to get some ideas. In some of those discussions we were also joined by Michael Day, who leads the development of the Prince Web-to-PDF tool. We had lots of fun comparing notes on our CSS layout implementations.

One of Kim's grad students is Cameron McCormack, who maintains the Batik SVG viewer on the side. He was really interesting to talk to --- we had a good discussion about SVG, CSS, HTML and other matters of mutual interest.

A couple of other grad students in the group --- Tim Dwyer and Michael Wybrow --- are doing amazing work on interactive graph layout. Basically they take standard force-directed layout and add constraints like "these 3 nodes must be horizontally aligned". They can also add interactivity so that the user can change the topology of the graph but the automatic layout cannot, it can only optimize within the selected topology. They can also do local layout and navigation of huge graphs. Not really Web related, but brilliant technology :-). I asked them what it would take to do that as a Web app and basically the problem there is JS performance limitations running numeric optimizers and solvers for big nonlinear constraint programs.

The actual Monash talk went OK although it was mostly people I had already talked to in groups or one-on-one.

On April 8 I visited the University of Melbourne. More than 50 people turned up for the talk. The best part of that visit was talking to Nick Nethercote, who works at a local research institute (NICTA) but is one of the core Valgrind people on the side. He was really interested in Chronicle of course and we talked quite a bit about Valgrind and related issues. We complained to each other about Apple not releasing their Valgrind port :-).

I tried to spread a general message that open source in general, and Mozilla in particular, is far more interesting, important, fun and rewarding than the enterprise IT options most students are faced with in this part of the world --- something that faculty can pass on to their brighter students. We'll see how effective that is. There was quite a lot of interest in Chronicle, which has stiffened my resolve to do another release with more convenient packaging and some UI improvements.

Thursday, 3 April 2008

Kindling Enthusiasm

The last two weeks have been lots of fun. The family time in Melbourne and Sydney was very refreshing and I still managed to get a few days work in.

On Monday I gave my pitch at the University of Queensland. Not a huge audience but not embarrassing. Today I had a pretty big crowd at the University of Sydney, 120-odd probably. They seemed pretty enthusiastic. Or maybe it's just me, because I get really enthusiastic when I get to talk about Mozilla to a lot of people. I wonder how it comes across...

I've been talking to my university hosts about student quality, enrollment numbers and curriculum. Like most places, UQ and Sydney saw a big drop in student numbers and quality after the dot-com boom ended, and only now are things turning around. And as I've complained before, supply and demand forces are driving students and schools away from fundamental computer science and low-on-the-stack software development, towards framework consumption and short-term "job skills". Today I met some sharp students though, so the well isn't completely dry!

I've heard complaints that partly due to the media, software development is viewed as deadly boring and students turn away to become lawyers and accountants instead (!). I understand that at some level, but at another level I don't. The basic rule of software is if you can dream it, you can build it. What can be more intoxicating than that? Is the problem that beautiful code doesn't look good on TV?

True, the "IT" jobs a lot of students are looking at probably are boring as dust. So in my talk I try to communicate a little bit of the excitement I feel. I talk about the importance of the open Web, I talk about security, about serving 150M users, about the challenge of low-in-the-stack programming, about making the rules and shaping the future. I talk about how open source participation can open doors and how the industry worldwide is starved of genuine talent for this kind of work. (Yesterday one of my friends pointed out that the multicore world is going to make our work even harder and put an even tighter squeeze on the market of people who can do it.)

The irony is that for a long time, the industry was desperate to achieve "software reuse". In a sense, our success at that has contributed to these problems I'm complaining about.