Archive for the 'Mozilla' Category

XULRunner at OSCON

Tuesday, July 11th, 2006

I’ll be giving a talk on XULRunner at the upcoming O’Reilly Open Source Convention (OSCON) on Thursday, July 27 from 4:30 to 5:15 p.m. The talk will include a demonstration of XULRunner‘s ability to run web applications and web widgets outside of the traditional browser framework, as well as demonstrate deployment techniques for rich-client applications. The talk is similar to the one I gave at XTech, but I have refined it a bit and XULRunner has continued to become more complete in the meantime, so some of the demonstrations will hopefully be more polished and complete.

If you’re still just thinking about coming to OSCON, Myk Melez will be giving a talk on Microsummaries in Firefox, Mitchell Baker will be on a panel discussing open source projects and money, and Mark Hammond will be presenting on Python in Mozilla. Mozillafolk will be attending; there will be a BOF, a booth, a Firefox Flicks screening, and other events. Come and meet Mozillians and learn more about the project!

WebRunner Demos

Wednesday, May 31st, 2006

At XTech, I demonstrated a prototype “webrunner” build on XULRunner. It’s messy code, because we don’t (yet) have a builtin way for a web application to say “this link is an external link that should be opened in the default browser”… so I hacked a greasemonkey-like script to do that. Somebody actually wanted to see my code, so I have posted it in my SVN repository:

GMail in its own process
georgenava.com outliner demo in its own process

Justdave Appreciation

Friday, May 19th, 2006

I would like to publicly thank Dave Miller (justdave on IRC) for the fabulous new CVS server. My checkouts fly (and so do the tinderboxen)! The IT guys doing the grunt work of maintaining and upgrading the machine infrastructure for Mozilla don’t get nearly enough thanks in general.

It’s not Bias, It’s Discrimination

Wednesday, May 10th, 2006

From techweb.com:

A trade association has blasted the Massachusetts Information and Technology Division (IDT) for requesting a plug-in for Microsoft’s Office Suite, seizing on the issue as evidence that the state’s policy of mandating the OpenDocument Format (ODF) is “a biased, open source-only preference policy.”

This is false: what the state of Massachusetts is doing is not bias, it is discrimination, and it is what citizens should expect from their government. Preferring open standards is a thoughtful, discriminatory policy.

Unfortunately, the word “discrimination” has grown tentacles over the past 30 years; it is high time for English speakers to reclaim the original sense of the word: to make wise choices between options. To say that someone is “discriminating” was at one time one of the highest of compliments; the civil rights movement has unfortunately (and unwittingly) done the English language a misservice by turning “discrimination” into an accursed word.

Good:

  • Discrimination in hiring based on the applicant’s level of education and ability to perform the job;
  • Discrimination in serving somebody drinks at a bar based on their apparent level of drunkenness;
  • Discrimination in issuing a loan based on credit history and income.

Bad:

  • Discrimination in hiring based on the applicant’s race;
  • Discrimination in serving somebody drinks at a bar based on their nationality;
  • Discrimination in issuing a loan based on gender.

It is perfectly reasonable for Microsoft to argue that discrimination against Microsoft Office because it doesn’t support the Open Document Format should fall under the category of “bad” discrimination: that’s a question of public policy. But it certainly isn’t bad simply because it is discriminatory.

Summer of Code Wants

Wednesday, May 3rd, 2006

I’ve signed up to be a mentor for the Google Summer of Code program for Mozilla-related projects. But what I really want is for an enterprising hacker to fix GCC bugs relating to hidden visibility. I’ve even got a few more bugs I could file if I thought somebody would fix them. Obviously I can’t mentor that kind of project because I don’t know GCC very well, but GCC is a mentoring organization itself.

Firefox-on-XULRunner

Thursday, April 27th, 2006

The Firefox-on-XULRunner build system is basically in place now: it can produce working builds on Windows and Linux with a couple special configure flags. I even have a set of changes that allow it to be built on tinderbox. Get your hot-off-the-press Windows build here! Note, this was built with MSVC7.1 and you’ll need to already have the runtime libs on your system.

I won’t post Linux builds because my Linux box is x86_64 and is totally hacked up anyway.

Reducing the libxul export list

Wednesday, March 29th, 2006

In a (very hacked up) local tree, I’ve got the export list from libxul reduced to something almost-reasonable: 619 exports on win32 and 793 exports on linux. Quite a few of those are XPTCStubBase and can be removed, and there’s also some zlib and NSS symbols which I haven’t figured out how to hide yet. But we’re getting closer!

GCC and visibility: one step forward, hit a brick wall

Tuesday, March 28th, 2006

A while back, I posted a workaround that lets Mozilla compile and link properly, working around a bug that is present in GCC 4. I am happy to report that the GCC bug has been fixed on the GCC trunk, 4.1 branch, and 4.0 branch (it should appear in GCC4.0.4 and 4.1.1). I was very excited and immediately went off to build my own GCC and try to build XULRunner with it. No dice! Linking failed in toolkit/library with a similar error as before:

relocation R_X86_64_PC32 against `nsINIParser::Init(nsILocalFile*)' can not be used when making a shared object; recompile with -fPIC

This might look at first glance like the same bug as before, but it’s not: the previous bug was about builtin functions like memcpy, while this bug is about class member functions. It is apparently some bad interaction between #pragma GCC visibility push(hidden) and a class-level attribute which is supposed to override that for default visibility. I managed after several hours of tedium to reduce the testcase to a 30-line .i file and have filed the bug with GCC.

For the moment, though, it appears that GCC4.0.4 and 4.1.1 will not be able to compile Mozilla without the same hacks as I suggested previously:
Configure with the following variable set:

ac_cv_visibility_pragma=no path/to/mozilla/configure –enable-options-here

or put this in your mozconfig:

ac_cv_visibility_pragma=no (Don’t prefix this with ac_add_options!)

Building the XULRunner SDK

Monday, March 27th, 2006

Part of the XULRunner planning is not only to release builds of the XULRunner runtime platform, but also to produce and release a set of developer tools, which for lack of a better name I have been calling the XULRunner SDK, or XDK for short.

Several characteristics distinguish the XULRunner SDK from the currently released Mozilla SDK packages: (more…)

Paternity Leave

Monday, March 6th, 2006

I’m expecting a new baby tomorrow (she will be induced if she doesn’t come out naturally), so starting today I will be taking a two-week paternity leave. I’m not going to disappear completely, but I don’t expect to be doing any serious coding or reviewing for the next few weeks. The following peers are around to do urgent reviews in my absence:

  • Build-config: Mark Mentovai or Bryan Ryner
  • Embedding: Boris Zbarsky or Darin Fisher
  • gtkmozembed: Crispin Persch (chpe@gnome.org)

I promise, I’ll post pictures of the new baby when she arrives!