Mozlando Diaries

Travelling to Orlando

I was randomly selected for diminished security. They funnelled me to the Nexus line. I get to keep my shoes on? “Put anything with metal in the bin, sir. No, not your wallet.” What?

“Take out your laptop, put it separately in the bin. But not any tablets, ereaders, raspberry pi… Sir, we only want the computers.”

Shoes off, but only if you’re older than 13. Or was that 18. You yes, you no. Oh, not you, sir, you are in the Nexus line.

Apparently those X-ray machines can distinguish between full and empty water bottles. Whoops.

MCO – Orlando International Airport

Coming from Pearson T3, land of construction, the three-story Christmas tree was a shock. It was also an annoyance as it blocked the signs directing me to the main terminal tramway.

No signs indicating which baggage carousel you need to visit… or maybe there was a display, but it was hidden by a 100-foot-long garland?

No worries, manners get you answers (“Are you Canadian?” ..Yes. “Ah, that’s why you’re so polite.” …you don’t have to be Canadian to be polite, I thought…) and then there are lots of people with purple shirts and mozlando signage to point the way.

Mozlando Hotel Bus

“Machine Gun America” reads the billboard on the highway. I hope that’s a wordmark and not a suggestion.

A blimp in the sky! Advertising the Peanuts Movie. I wonder why we don’t see blimps further north. You wouldn’t have to heat the lifting gas nearly as much.

Two registered guests in the shuttle, not Mozillians though they talk a good game using the words “bug” “wiki” “yammer (ugh)”, trying to figure out how to get to Universal Studios. I take a wild stab “Wizarding World?” “Well, yeah!”

Excitement on the hotel shuttle is high, fueled by jet lag, jet fuel, Disney, Harry Potter, and more sunshine than December ought to have in the northern hemisphere. “So, you must be eleven now. When do you turn twelve?” “Ha. ha.”

The Walt Disney Dolphin Hotel


The hotel is a behemoth of striking architecture. Well-maintained, though it is starting to show its age. Also, the lobby level is a rabbit warren. It does give a thrill of discovery to find a new shortcut to breakfast, though.


…and I thought the airport liked Christmas. I don’t even know how tall that Christmas tree is. And the garlands by the escalator to the fountain are neon-green. Mrs. Claus lights the tree at 6pm, and you can visit with the big man himself from 6:15-8 (there is a whole schedule of happenings. And this is just the hotel.)

And of course the palm trees are lit. And of course the lights change based on the music. And of course the music is Wizards of Winter.

At least the hotel Wi-Fi reaches the hammocks on the beach. (whut.)

Opening Reception

The opening welcome reception has live music, food stations, open bars… and Donald, Goofy, and Lilo and Stitch? Why yes, I would like you to take my picture with them. No, of course, I’ll make sure my beer is set down out of view. I understand.

It seems as though the purpose of these receptions is for everyone to catch up with people they haven’t seen since the last one. I’m stuck in an induction proof’s base case. How do I bootstrap my way into knowing people, when I can’t say “I haven’t seen you since…”

Simple: introduce yourself. What would be unthinkable to me mere years ago only requires a little mental effort to smile and make eye contact and say “Hi, I’m chutten”.

Plus I eventually found Kats, whom I haven’t seen since I was blaming him for ecmascript failures in BB5. Though I’ve talked to him since, as evidenced by him referring me to this position.

Day 1 – All Hands

Fresh Florida orange juice served at breakfast. How could they afford the expense of importing it all the way from… oh.

The all-hands started with multipart vocal harmony and beatboxing. I now have a high standard for future all-hands meetings.

Firefox plushies adorned every seat. And they’re so soft! I grabbed a few extra just in time for them to announce that there’s going to be an Adoption Centre. Because of course there will be.

Finally met up with the Toronto contingent. Apparently they were all on a later flight on Monday. Stood in the sun complaining about the unseasonably-warm December we’ve been having in Southern Ontario. Canadiana at its best.

Three free t-shirts! But they’re all the same design. But you can get different sizes so you can give them away! But I don’t know anyone who wears graphic t-shirts anymore… or their t-shirt sizes, off-hand. Ah well, wear one out, sub in a new one.

The Firefox All-hands is in a smaller room and opens with a choice: want us to go through the Planning slides, or want us to just take questions? The consensus was: go through the slides, but don’t take forever about it, I mean, geez.

This company, people. This company.


A High Score List You Don’t Want to Top


Firefox is a large and complicated software project. As such, it has a large and complicated build system and a large and complicated suite of tests. These builds and tests are run each time code is pushed to the mozilla-central repository to ensure that nothing obviously wrong makes it into the tree.

This is important. Nothing slows development to a crawl or causes volunteer contributors to leave in droves quite like a codebase that is too broken to develop in.

But wouldn’t it be better to run these builds and tests before the code makes it to mozilla-central and has potentially-disastrous consequences?

That’s where Try come into play.

Try will run any or all of the builds and tests that code getting into mozilla-central would go through, without having to wait until it is pushed to mozilla-central to do it. All you need to access Try is commit level 1.

Sounds great! Why don’t we run every code change through the whole battery of builds and tests to be sure nothing gets missed?

Well, if you’ve ever built Firefox (it’s really easy) you’ll have noticed that it takes some time. Not a lot of time, but some. During that time, your computer is going full tilt trying to get it all done.

Multiply this by 39 build configurations, and you start to see where I’m heading with this.

Running the builds takes a lot of computers a lot of time. Running the tests on top of it only increases the resource requirement.

And this brings me back to the High Scores. Give a bunch of nerds (Mozillians) something countable and we can turn it into points. Give them points and identifiers, and you get a High Scores List.

The more you use Try, the more computer hours you use. The more computer hours you use, the higher your email address rises on the list. Get within sight of the top, and you might just get an email from a Release Engineer asking you why you think you need to build every platform for the documentation typo you fixed.

Faced with the staggering variety of different build platforms and test suites, how do you learn which ones you need to run and which ones you don’t?

Mozillians are friendly, so you ask. And ask. And keep asking until you gain confidence. Then you make a mistake and start asking again.

And every time you ask, you get an answer. Or at least that’s been my experience of working with Mozillians.


Welcome to 3 Years Ago

I bus to work. I recently moved houses.

Combined this means I have dead time where I’d like to escape into fiction (rather than be faced with how poorly my bus is maintaining its schedule in this city of detours), but can’t find any of my books.

So I devoured the quite-excellent design podcast 99% Invisible on the recommendation of my ex-coworker Ron.

But then I ran out.

In a podcast frame of mind, and having a weather eye turned to the Internet for quite some years, I decided to see what all that Night Vale hootenanny had been about.

Oh man. Oh man oh man. It is good.

Well, I’m only four episodes in. And it’s a little uneven. I mean, Glow Cloud was cute and all, but Station Management was a bit overplayed.

But when it’s on, like the Pilot, it is Really On. Dog Park, Perfect Carlos, Hooded Figures, Angels… oh geez. So nice.

And now Episode 2’s Weather is my jam:

I only have about 70 episodes left, and then I’ll be subject to that specific and keen frustration (that I more commonly associate with book series and webcomics) where you’ve binged your way up-to-date on something and then have to actually wait for the creators to create more of it for you.

What a world.

To-Order Telemetry Dashboards: dashboard-generator

Say you’ve been glued to my posts about Firefox Telemetry. You became intrigued by the questions you could answer and ask using actual data from actual users, and considered writing your own website using the single-API telemetry-wrapper.

However, you aren’t a web developer. You don’t like JavaScript. Or you’re busy. Or you don’t like reading READMEs on GitHub.

This is where dashboard-generator can step in to help out. Simply visit the website and build-your-own dash to your exacting specifications:


Choose your channel, version, and metric. “-Latest-” will ensure that the generated dashboard will always use the latest version in the selected channel when you reload that page. Otherwise, you might find yourself always looking at GC_MS values from beta 39.

If you are only interested in clients reporting from a particular application, operating system, or with a certain E10s setting then make your choices in Filters.

If you want a histogram like’s “Histogram Dashboard” then make sure you select Histogram and then choose if you want the ends of the histogram trimmed, whether (and how sensibly) you want to compare clients across particular settings, and whether to sanitize the results so you only use data that is valid and has a lot of samples.

If you want an evolution plot like’s “Evolution Dashboard” then select Evolution. From there, choose whether to use the build date or submission date of samples, how many versions back from the selected one you would like to graph the values over, and whether to sanitize the results so you only use data that is valid and has a lot of samples.

Your choices made, click “Add to Dashboard”. Then choose again! And again!

Make a mistake? Don’t worry, you can remove rows using the ‘-‘ buttons.

Not sure what it’ll look like when you’re done? Hit ‘Generate Dashboard’ and you’ll get a preview in CodePen showing what it will look like and giving you an opportunity to fiddle with the HTML, CSS, and JS.


When you see something you like in the CodePen, hit ‘Save’ and it’ll give you a URL you can use to collaborate with others, and an option to ‘Export’ the whole site for when you want to self-host.

If you find any bugs or have any requests, please file an issue ticket here. I’ll be using it to write an E10s dashboard in the near term, and hope you’ll use it, too!