Tuesday, November 4, 2008

Mozilla in Cahoots with Ghostbusters?

Along my journeys across Mozilla code, I couldn't help but notice this line:
var t = document.createElementNS
("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "tab");
The thing that stood out most was the strange, but almost deliberate, folder structure of the XUL include file.

The keymaster and gatekeeper were key characters (no pun intended) of a niche movie called "Ghostbusters" which appeared in the early 80's. The gatekeeper of that story also happens to go by the name of Zuul (pronounced XUL).

On top of that, Mozilla's JavaScript debugger (or de-ghoster?) shares its name with Peter Venkman, one of the lead Ghostbusters.

One must wonder if there's a connection...

Sunday, October 19, 2008

Released into the wild

Open source development has been a roller coaster ride in the most extreme sense.

It's been like trying to climb a vertical wall, and facing a challenge that just doesn't seem possible. Moments of "EUREKA!! I'VE GOT IT!!!!" are proceeded almost immediately with "Wait, that's not what I'm supposed to do at all...", and followed soon by "Yet another dragon to slay. *sigh*".

It's not like other courses, where intuition nets me a B+ and can finish assignments in a midnight rush. Here, my intuition leads me into confusion and circular mazes. I used to be able to think up contingency plans effortlessly until the problems get solved; with Open Source, none of these plans work out in the end... ever. It's like being Superman, but without the power of the yellow sun.

Here's how yesterday started:

I thought I had achieved a peak of pure genius when I changed MyBrowser's application.ini file to recognize Gecko 1.9 (which C3d needs). Sadly, it refused to install the extension through addons.mozilla.org. So, I default to using a Minefield build, which installed C3d just fine, but it didn't carry the extension when rar'd and sent to another computer.

At the brink of despair, I plodded back into #seneca, where I was greeted with welcome arms and a new strategy. Instead of hacking Firefox to store everything locally, I could just run "make profile" to do almost the same thing. Extensions became simple to include, too. I suppose I had wandered alone long enough to earn the one answer I needed to finally achieve the goal.

Then, mfinkle pops in and tells me I can still do what I need to do, but through MyBrowser instead. After several loops through editing rdf's and ini's, I am now back to coercing MyBrowser to use the C3d extension...

Here's the details on the mixed adventure, rephrased so I sound like I almost know what I'm doing.

Thursday, October 16, 2008

XULRunner progress

I look at the clock and groan.

Tweaking application.ini for MyBrowser lets me run it for Gecko 1.9 (the same platform that Canvas 3d is limited to), but it still won't let me install the C3D extension for it.

I decided that it'd be easier to start with Firefox and remove unnecessary features, than try to improve on Smedberg's MyBrowser. For one, Firefox has documentation...

I now have a Minefield build that can render a 3d context. Yay! But, as Jesse has pointed out, I can't just zip the bin folder and send it to someone; the homepage settings and installed extensions for it seem to be buried somewhere else in my computer. It's like ripping a heart out and expecting it to work without the veins.

I am now delving through source code, looking for places where FF stores data in "Documents and Settings" so that I can tell it to store data in the same location as the executable. Finding these places is one nightmare, figuring out how to change it is salt in the wound. Despite that, I plod onwards; there are people awaiting the results.