Axel Hecht Mozilla in Your Language

May 29, 2009

The folks we know

Filed under: L10n,Mozilla — Tags: , — Axel Hecht @ 2:13 pm

Seth has blogged his response to Walt Mossberg’s interview with Mitchell and John, on top of the already great answer the two provided in the interview on

Why wouldn’t it just be better for the consumer to go with the company that’s hired experts to do its translations?

and here’s my take.

The essential point to me is that we do get experts. We get experts in localizing Firefox. And we get experts we know. The people that spend their free time and passion to create Firefox in their language don’t do it because they can lip sync Shakespeare into Portuguese, but because they share the values and mission that make Firefox Firefox. They care about the experience that people have with the web in their language.

The reason why our localizations rock is that our localizers know us, and we know them, and that we actually speak the same language.

May 11, 2009

Riding the Duck

Filed under: Uncategorized — Tags: — Axel Hecht @ 8:28 am

The DuckI heard that quite a few folks wondered what it is like to take one of those amphibian truck tours in San Francisco. I took the one offered by San Francisco Ducks, there’s another provider called Bay Quackers.

The tour was a mixed experience. The actual ride is fun, and there are some parts that are really entertaining, like going through the Stockton tunnel with a movie theme with the grand finale at the exit. The stuff the guy said while being on the tour was OK, too. The downside is that they try too hard to be funny. You’re wearing a whistle thingie and you’re supposed to try to make funny duck sounds. In particular at fellow tourists outside, so you’re basically doing even more recruiting than sitting in that funny piece of hardware to begin with. The water piece is fun in particular, at least the ducks let the passengers actually drive the duck in the water. I got lucky and turned out to be the last volunteer, so I got a pretty large stint. Going at odd times improves your chances to extra embarrassment with the fun stuff, and extra fun with the driving stuff.

The tour is roughly sketched on this map, and I don’t think it differs a lot between the two offers. I have uploaded a few pictures, too.

The trucks are based on WWII landing vehicles, and are slow as molasses. Which is why they’re called ducks, as you’re sitting there like a duck waiting to get shot. The one I was in was actually a newly built one and just a year old, though.

If you took the Bay Crackers, I’d love to hear what you have to say (or on the ducks, too).

May 10, 2009

Thoughts on killing tinderbox, foundations

Filed under: Mozilla — Tags: , — Axel Hecht @ 9:45 pm

I figured it’d be a good idea to just dump my thinkings on killing tinderbox (as in the the web interface to mozilla’s builds). As just the background information grows to a lengthy post, I’ll cut them into pieces.

To point you where I’m heading, the executive summary of my thinking is:

Killing tinderbox is a webdev problem for the most part, with some chunks in IT and build/releng. The latter two should be fine to mostly do what webdev needs to get the job done.

I won’t give my complete rationale for killing tinderbox, for the most part because I’ve been thinking about that too long and have come up with too many reasons to write them down. But the most important fragments would be in …

The Rationale:

Tinderbox knows relatively little about our builds, and displays even less. The front end is hard to hack, and the back end is tied to a build model that doesn’t match that of buildbot. In particular in our move to hg, things have changed considerably in the back.

Listening in to previous discussions, there seems to be a gap between how people talk about our builds, and what our builds really are. Thus I’ll bore the few people that actually hack on our build automation for a few, and dive into …

What buildbot knows:

Buildbot, aka the software we’re using to control and run our builds, knows plenty about our builds. I’ll give a list of things that come up to my mind, with a focus on things that tinderbox wouldn’t.

  • Why a build is running.
    • Which changes went into this build, or if it was a periodic or forced build
  • The steps of each build, with separate description, results, logs
    • Logs have separate stdout and stderr chunks in order
  • A set of build properties, holding slave name, build number, revision
    • The set of build properties can be amended, to hold more data. The data can be basically anything that can be pickled in python, and could be constrained to json values, or just natives thereof.
  • Start and end times for both the individual steps and the complete build

There are some shortages in particular when it comes down to our build setup, mostly …

What even buildbot doesn’t know:
  • Dependencies between builds. Buildbot has two builtin methods to run builds that depend on prior builds, but it doesn’t keep track of that relationship.

For those into schema, one possible version of that is depicted in this graph.

Then, there are things we keep …

On tinderbox, but not on buildbot:
  • Tree rules
    • open/closed (used to be on despot for cvs/bonsai)
    • sheriff
  • Build comments
  • log parsers

So much for the read-only side of life. On top of this, there are a few important things that buildbot enables us to do, which we don’t empower our community to use (at least not without a releng-sheriff around).

Buildbot can:
  • Trigger builds on arbitrary builders, possibly with particular properties set (the latter requires hackery).
  • Stop most builds while running.

Exposing these should provide a powerful tool to investigate and clear bustages.

You can get a slightly better idea of how things are looking on buildbot itself if you browse around on Chromium’s waterfall. IMHO, they share the problem of not being able to present the data they have, even though they have less platforms and trees to handle than we do. You can also see the problem of dependent test builds hanging somewhere in the air. You can also nicely see the output per step with the details they have, unconditionally though. Most of the time, you likely don’t care.

Going forward, I’ll try to wrap my head around which problems our web frontend to our builds actually needs to solve, and which routes I see to getting there.

Powered by WordPress