Firefox Download Button

Pages

Testing my thumb colour

I’ve started a little vegetable patch in the backyard this year. I heard some folks at work talking about square foot gardening, so I thought I would give it a shot.

So far I’ve had mixed success.

Plants started directly in the garden have done great so far. These include red and white onions, garlic, carrots and radishes. I think 100% of the garlic, radishes and carrots I planted have sprouted, and about 85% of the onions have sprouted.

Garlic and onions

Germinating seeds has also gone fairly well. Almost all the seeds I’ve started indoors have germinated and gotten to the point where I want to transplant them either outside or into a larger container…and it’s this transplanting thing that’s the hardest part so far.

None of my broccoli, cauliflower, lettuce, swiss chard, cantaloupe or eggplant have survived transplanting. Four (out of four) tomato plants survived going from seedlings into bigger pots, and I just put them in the ground yesterday. This evening 3 of them were still upright, so I’m hopeful there. One of two basil plants is still alive…the other one looks like somebody came along and cut it off at the stem, which is a bit strange.

It’s not the end of the world, I’m planning on getting some already started plants at our local farmer’s market in June to make up for any of the plants that I couldn’t get started. I just had no idea that transplanting was so tricky!

Anybody else noticed how computer “hackers” also tend to be interested in hacking other parts of their lives? Gardening or cooking or photography – all allow you to have really fine control over parts of complicated processes, and let you play with how changing one piece affects the whole.

Parallelizing Unit Tests

Last week we flipped the switch and turned on running unit tests on packaged builds for our mozilla-1.9.1, mozilla-central, and tracemonkey branches.

What this means is that our current unit test builds are uploaded to a web server along with all their unit tests. Another machine will then download the build and tests, and run various test suites on them.

Splitting up the tests this way allows us to run the test suites in parallel, so the mochitest suite will run on one machine, and all the other suites will be run on another machine (this group of tests is creatively named ‘everythingelse’ on Tinderbox).

paralleltests

Splitting up the tests is a critical step towards reducing our end-to-end time, which is the total time elapsed between when a change is pushed into one of the source repositories, and when all of the results from that build are available. Up until now, you had to wait for all the test suites to be completed in sequence, which could take over an hour in total. Now that we can split the tests up, the wait time is determined by the longest test suite. The mochitest suite is currently the biggest chunk here, taking somewhere around 35 minutes to complete, and all of the other tests combined take around 20 minutes. One of the next steps for us to do is to look at splitting up the mochitests into smaller pieces.

For the time being, we will continue to run the existing unit tests on the same machine that is creating the build. This is so that we can make sure that running tests on the packaged builds is giving us the same results (there are already some known differences: bug 491675, bug 475383)

Parallelizing the unit tests, and the infrastructure required to run them, is the first step towards achieving a few important goals.

- Reducing end-to-end time.

- Running unit tests on debug, as well as on optimized builds. Once we’ve got both of these going, we can turn off the builds that are currently done solely to be able to run tests on them.

- Running unit tests on the same build multiple times, to help isolate intermittent test failures.

All of the gory details can be found in bug 383136.

Upcoming Identity Management with Weave

I was really excited to read a recent post about upcoming identity support with Weave on Mozilla Labs’ blog.

Why is this so cool?

Weave lets you securely synchronize parts of your browser profile between different machines. All your bookmarks, AwesomeBar history, saved passwords can be synchronized between your laptop, desktop and mobile phone. Your data is always encrypted with a private key that only you have access to.

Combine this with intelligent form-filling, automatic detection of OpenID-enabled sites, and you’ve got what is essentially single sign-on onto all your websites from all your browsers.

Now you’ll be able to sign into Firefox, and Firefox will know how to sign into all your websites.

Keep up the great work Labs!