Aug 042006

It’s pretty cool doing docs for Mozilla projects. There’s always new and interesting documentation to write (even though sometimes the documentation is actually about relatively old code). I’ve got a variety of things that I’m either working on or am planning to tackle soon — although if anyone feels like doing it for me, I sure as heck won’t complain.

Unfortunately, I’m still recovering from having to reinstall all my stuff after my iMac got hacked into. I still don’t think anything was compromised, but better safe than sorry. At this point, the big problem is that some of the code I’m fiddling with in order to get a proper grasp on how various concepts work was being done by actually playing around with the Firefox code.

This would be fine, except that now, when I use the same steps I always used to pull and build the 1.8 branch version of Firefox (ie, Bon Echo), I get errors about missing libraries, such as freetype, which never happened to me before.

So I figured I’d pull my backup of the source tree from my Backup archive. Of course, if you’ve seen my recent messages, Backup has been crashing if I try to restore more than a handful of files at a time.

When was the last time you counted how many files are in the Mozilla tree?


So if anyone knows why I might be getting errors about how freetype isn’t installed, I’d love to hear it.

Anyway, back on to what I’m planning to write about in the near future.


Sometime in the next few weeks, I’m going to start writing articles that will actually take some of the best add-ons on AMO and pull them apart to find out how they work, demonstrating the techniques behind them. I’ll likely be dropping emails to the authors of extensions I pick. I’ll do one dissection every few weeks (the exact interval depends on how much other stuff I’ve got going on at any given time).

Dria and I think this’ll be an awesome educational tool for new developers, to see how the “old hands” get things done.

XPCOM Proxies & JavaScript Threading

I’ll be writing documentation on how to use XPCOM proxies for communication, as well as on threading in JavaScript. This may be a long-term project, since I’ve got some reading and experimenting to do, as well as a lot of people even geekier than I am to ask questions of before I get this thing seriously into gear. It should be all kinds of fun though.

Xcode and Mozilla

I’m also going to be updating, rewriting, and augmenting (as necessary) our documentation on how to do Mozilla builds on the Mac using Apple’s developer tools. This is on my plate for two reasons: first, it needs to be done. Second, I’m a Mac nut and will find it incredibly useful. And, well, there’s actually a third reason too: it’ll be all kinds of fun.

Assorted Other Stuff

I’ll be working on other stuff the next few months as well, I think, including reviewing any new articles folks ask me to look over, and doing some random spot-checking of existing articles. I’ll also likely be helping do work on the XUL reference, although I haven’t actually talked to Deb recently about it.

Of course, this list is just based on current plans, and can change at a moment’s notice, since it’s a combination of what I’ve been asked to work on and what I want to work on. Enjoy your grain of salt.

 Posted by at 1:14 AM

  6 Responses to “What’s Sheppy doing, anyway?”

  1. freetype: have you reinstalled it yet since you reinstalled the Mac? I would bet you previously had it installed either via Fink or DarwinPorts or something like that.

  2. I think that pulling apart existing extensions is a great and actually very insightful idea. Usually the first you do when developing an extension is finding out the way the application itself or other extension accomplishes stuff similar to what you want to do – and than you build on top of that. So understanding the techniques behind the highly acclaimed extensions is going to be really helpful.
    I am really looking forward to these articles.

  3. I was assuming that all the libs needed to build Mozilla stuff were bundled into the CVS, since there’s nothing mentioned in the docs on how to build it about “first, you need to download and install the following libraries.”

    Is that not the case?

  4. Have you seen It sure mentions quite a few requirements, though I don’t recall (and didn’t find glancing over it) freetype.

    Regarding the dissection part, be sure to pick extensions that don’t leak? I’m afraid that at least a few of the best are among the biggest toddlers. *cough*block.

  5. I’m a total dork. Yes, that’s it exactly. Right there on the OS X build prerequisites page in MDC, in fact, it says you need to install these libs first. I didn’t have to do it the first time I set up to do builds because I happened to already have them installed.

  6. Axel — the dissection thing — that’s a good point. The trick will be knowing which are the offenders up first. Of course, we can always learn from what the popular extensions are doing wrong, too. Although that might annoy some people. :)