4 December, 2013 § 2 Comments
I’ve been pretty quiet this semester about the work that a team of students have been focused on. However, don’t let my quietness be a representation of how hard they have worked.
We’re now reaching the end of the semester and the students have put together a video of their work throughout the semester. The students were tasked with creating three add-ons for the upcoming Australis version of Firefox.
The goal of the project was to get feedback on the new Australis add-on APIs before it became too late to make significant changes. Through the process some bugs were filed, but none that caused us to have to go back and rethink our initial direction.
The three add-ons that the students were asked to create were a weather add-on, music add-on, and Bugzilla add-on. Please watch the video below to get an overview of their capabilities.
I’ll be posting links to the source code repositories and download links for the add-ons sometime later this week.
4 December, 2013 § 1 Comment
Holly is the version of Nightly that doesn’t include the Australis changes. We are running this special “backout” branch of Nightly because Australis won’t be ready to make the move to Firefox Aurora by the December 9th merge date.
We will continue to work on Australis in the Nightly 29 train, with the goal of Australis merging to Firefox Aurora 29. In the meantime, the Holly branch is what will be merged to Firefox Aurora 28.
It is very important that we have nightly testers who use Holly to help the Firefox community make sure that we have good code coverage over the changes that will be making their way to our Aurora population.
If you’d like to help test out the Holly branch, you can now download an auto-updating nightly build of Holly (Windows, OS X, Linux). Again, these will be very similar to the official Firefox Nightly builds with the exception that they don’t include the Australis user interface changes.
3 December, 2013 § Leave a Comment
Recently I got a shout-out from Tricia Broderick in her blog post, “The value of Ignite“. The post was a great reminder of what someone can accomplish when they step out of their comfort zone and try something they’ve never done before.
We held multiple of these “Ignite” events at TechSmith. At each event we had about eight presenters who covered various work and non-work related topics. The twist to the presentations is that each slide can only be on-screen for 15 seconds (auto-advancing) and you only get 20 slides.
These turned out to be great activities for people to learn more about their coworkers as well as get practice presenting. See Tricia’s blog post for her take on the event.
21 November, 2013 § 3 Comments
As mentioned in an earlier post, we are running a special branch of Firefox that is made of the Nightly (
mozilla-central) trunk minus the Australis changes. This branch will be the source of our Aurora (
mozilla-aurora) builds in a few weeks.
As we were planning this work, we found that there weren’t many resources on the internet that described how to do what we wanted.
Basically, we have our trunk that will have a large and invasive feature being built on it. However, we also want to have a branch that doesn’t include this work.
To get started, we created a separate repository (
holly) that was cloned from
mozilla-central prior to the feature branch being merged in to
mozilla-central. When the feature branch was merged in to
mozilla-central, we merged over
holly again. At this point we ran a reverse diff of this merge (which only consisted of the feature branch changes). This reverse diff was then applied and committed to essentially back out all of the feature branch on this new
Getting started was the easy part. Of course, software is never finished and we needed to figure out how to handle future changes to the feature.
We kicked around many ideas as we were trying to figure out how we wanted to run the backout branch, and I feel that we have settled on a pretty simple route that so far has worked smoothly.
Each time that we want to merge from
holly we do the following:
hg pull -u
hg pull -u
hg pull /mozilla-central -r mozillaCentralChangeset
- if the set of changes between
hollytip and mozillaCentralChangeset include changes that need to be backed out:
- just to be clear that you need to be in the branch repo
hg up -r mozillaCentralChangeset
- to switch heads to the mozilla-central-based head
hg qbackout -r rev1+rev2+rev3
- from oldest to newest, where rev* are the revisions that need to be backed out)
hg qfin -a
hg up -r hollyTipChangeset
- to switch heads back to the holly-based head
hg commit -m "merge mozilla-central to holly"
qbackout is a Mercurial extension written by some Mozillians to make backing changesets out much easier. It uses Mercurial Queues and generates reverse diffs instead of creating a full backout branch like hg backout does. I highly recommend it.
I hope this post will help others who want to do something similar.
13 November, 2013 § 1 Comment
This Friday I’ll be giving a talk to 250 primarily first-year students majoring in Computer Science at Michigan State University. This presentation is part of their CSE 100: Computer Science as a Profession course that students are required to take.
I’m planning on starting with an overview of Mozilla and some of the unique technical challenges that I’ve had to solve. One of the really cool things about working at Mozilla is getting to see and experience up front the wide spectrum of computing problems that are being tackled.
Within the Mozilla community, there are people working on the forefront of research by implementing a new memory-safe and concurrent programming language (Rust) and parallel browser engine (Servo) to finding innovative ways to get people more involved with producing web content (Webmaker).
I will try to record the presentation, but I can’t make any guarantees.
I feel very honored to receive an invitation to give this talk, and I’m greatly looking forward to it. If you have some helpful tips for college freshman, please do share in the comments below.