Answering questions by looking at code

A contributor recently asked a question in #introduction that I couldn’t answer immediately, but I suspected that I could find the answer without too much work. I also decided to write down the steps I took and the reasons I took them, with the intent of creating a worked example of finding answers in the […]

A Firefox regression hunter VM!

I am happy to announce the first public unveiling of my Fox in a Box project. The enthusiasm for my idea of putting together a dev VM was loud and clear in my last post, mainly from testers who expressed interest in hunting regressions at a more granular level. The README in the first link […]

A spoonful of sugar helps the .mozconfig go down

In my work with new Mozilla contributors, I’ve seen a number of people get hung up on the whole .mozconfig voodoo madness. Yes, we made it possible to download the source and build it without having to even think about creating one, but as soon as you want to use a debug build, or build […]

Making bugs more attractive for other people to fix

There are two takeaway points that I would like to state up front: when you find a bug that’s well-scoped and you have a fairly clear idea of how to fix it, add [mentor=yournickname] to the whiteboard. when stating that a bug is good for someone else to work on, please please add a comment […]

Two years he walks the earth

Two years ago today I sent an email to Benjamin Smedberg saying that I wanted to help out with Electrolysis. I regret nothing except how quickly the intervening time has passed. Bring on two more years!

The Fast and the Furious: bzexport

If you’re a bzexport user, you’ll want to pull the latest revision. It’s recently been getting slower due to the number of http requests that need to be made (the tradeoff here is that it’s also been getting more correct), but I’ve pushed three patches that have reversed that downward slide into the molasses. By […]

nsCOMPtr has never been so pretty

Jim Blandy announced his archer-mozilla pretty-printers for Spidermonkey late last year. I’ve used them a few times while working on some JS proxy bugs, and I’ve found them to be invaluable. So invaluable, in fact, that I’ve written a bunch of pretty-printers for some pain points outside of js/. If this prospect excites you so […]

Self-serve tools: now more likely to work

If you’ve given my self-serve tools a try (in particular, and had it claim that it couldn’t authorize you, it’s time to give it another shot. Steven Fink, being the wonderful person he is, dove in and found some weirdness going on with my usage of urllib and the self-serve API performing redirections. The […]

Build smarter, not harder

I spent the past six weeks roaming around Europe with a netbook, and used that time productively to get some work done on Firefox. Part of that involved building on Windows for the first time, and experiencing the joy of pymake. However, I found the extra characters required to fire off incremental builds with pymake […]

JS runnables: now with less boilerplate

Actually, this little trick has been possible for at least a year and a half since I fixed the enhancement request, but I don’t believe it’s common knowledge. When writing something like someEventTarget.dispatch({ run: function() { … }), you can simply use someEventTarget.dispatch(function() { … }) and skip the object goop. It looks cleaner to […]