LegNeato! Christian Legnitto's blog about Mozilla, Apple, technology, and random stuff

16Jan/12Off

Revolver – Leave me alone

Learned this song on the guitar today, sort of has an old-time feel. Good for a lazy holiday:

13Jan/12Off

Moving on from Mozilla

Today is my last day as a Mozilla employee, though I will always stay a Mozillian. Mozilla is the premier open source project and touching a small part of it has been both inspiring and humbling. Meeting all the smart and talented people I "knew" from reading Planet still blows my mind.

Leaving is very bittersweet for me. We accomplished so much in 2011 and 2012 looks to have even more on tap. Hunkering down and shipping Firefox 4, going through a transition like the new release process, shipping a mobile product, and questioning years of assumptions while figuring it out as we went along was exhilarating. No one (including many Mozillians) thought we could ship Firefox 5 a quarter after Firefox 4. Well guess what, we did. And then we shipped Firefox 6, 7, 8, and 9--all on time. Sure, there were hiccups. Transitions are hard. We laid the foundation for the future and 2012 is the year we take it to the next level.

During my interview, Mike Beltzner (@beltzner) asked me if I identified as a community member. I told him that I lurked around on Planet and Bugzilla, so not really. He looked me in the eye and told me he viewed lurkers as a valuable part of the community, making me feel like a member of the Mozilla family from day one. If you are a lurker, please take note. Of course, now that I know where I can effectively contribute I don't intend to stop...so look for me in bugs and participating in email threads about the correct shade of orange for the Firefox button (kidding!).

I want to publicly thank Johnathan Nightingale (@johnath), Senior Director of Firefox Engineering, for his guidance and advice. He has been both an amazing manager and mentor from day one. His analytical ability, managerial prowess, and technical chops have been inspiring and I hope you get a chance to experience them as I have.

Any release management work / questions should be directed towards Alex Keybl (@alexkeybl). Alex joined us this year from Apple (where he drove features for Mac OS X Lion) and has already made a large impact at Mozilla. I'm sorry that I am leaving but I know Firefox releases will go smoothly in his capable hands.

They say you are supposed to end posts like this with a quote for added effect. I think this quote accurately captures my feelings about moving on from Mozilla:

I'm so excited. I'm so excited. I'm so...scared. - Jessie Spano

Keep up the amazing work and thank you for the past couple of years.

Christian Legnitto - soon to be ex-Firefox Release Manager

4Nov/11Off

Firefox release candidate builds available

In case you missed it, late yesterday we declared a release candidate for the next version of Firefox. Please test it!

Tagged as: , No Comments
31Oct/11Off

New tool to generate CSVs from input.mozilla.org data

Our feedback tool (input.mozilla.org) has great data but I found some of the analysis tools lacking. I wrote a new (ugly) python script to generate CSVs from input data. I then feed the CSVs into a spreadsheet program to visualize:

 

This has already become pretty valuable to me for looking at overall feedback, positive/negative for a particular version or query, etc.

It's a bit rough / hacky, there may be bugs, but you can find it here:

http://hg.mozilla.org/users/clegnitto_mozilla.com/release_tools/file/default/scrape_input.py

The tool requires:

  • Python (v2.6+, which is used on Mac 10.6+)
  • The module "requests". Install it with 'sudo easy_install requests' or 'sudo pip install requests'
  • The module "argparse" (should be in python 2.6+). Install it with 'sudo easy_install argparse' or 'sudo pip install argparse'

The tool currently dumps the CSV to stdout, so you'll most likely want to redirect output to a file.

Input now supports OR queries

When writing the tool I realized I needed to support searching for multiple terms. For example, when trying to get feedback on hangs just searching for "hang" wouldn't give me the complete picture. I needed to search for something more like "hang OR freeze OR responding". I supported this in my tool with queries for each search term and aggregating the results.  I quickly realized there were duplicates in the aggregated counts (input doesn't give me unique ids to de-dupe) so I would only get an upper bound.

I hopped into #input on irc.mozilla.org and asked about OR queries. Dave Dash said it'd probably be easy to support, disappeared for a bit, and then BAM, input supported OR queries (using '|' in the web UI, ',' in my tool)! Thanks Dave!

Pivoting on Firefox version (--version)

Details:

  • Show input types and ratios
  • Allows you to see general "quality"...(praise/issues) is essentially a quality index
  • You can restrict the analysis to a particular search if you want by using '--search'
  • Beta and alpha versions are folded into the main version number

Example usage:

  • python scrape_input.py --version 8.0
  • python scrape_input.py --product mobile --version 8.0
  • python scrape_input.py --version 7.0 --search memory
  • python scrape_input.py --version 6.0 --search hang,freeze,responding

Pivoting on input type (--type)

Details:

  • Track input over the life of a product
  • Breaks down input by version and overall
  • You can restrict the analysis to a particular search if you want by using '--search'
  • Beta and alpha versions are folded into the main version number

Example usage:

  • python scrape_input.py --product mobile --type issues
  • python scrape_input.py --type all
  • python scrape_input.py  --type issues --search hang,responding,freeze

Manually graphing in Numbers

  1. Open the CSV file
  2. Select the first row and make it a header row
  3. Select the date column and other columns to graph
  4. Choose "Share X values" after selecting the data in the gear menu
  5. Click the chart button then scatter chart button
  6. Open the inspector (View > Show Inspector)
  7. Click the chart tab
  8. Click the series subtab
  9. Data symbol -> None
  10. Connect points -> Straight

Have fun!

Tagged as: , , , No Comments
30Oct/11Off

Sufjan Stevens – The Dress Looks Nice On You

This may be hipster, but it's amazing:

24Oct/11Off

A modest Bugzilla keyword format proposal

I just sent an email to dev-planning proposing a new keyword format. Nothing earth-shattering, but I think the upside is huge. I'll reproduce it here, but feel free to comment in the dev-planning thread.

Proposal

#(namespace)/..../(leafnode keyword)

That's it, pretty simple. Examples:

#relman/triage/needs-info
#relman/triage/defer-to-group
#ux/papercuts/user-control
#ux/papercuts/useful-error-messages
#crashkill/watching
#crashkill/blocklist-candidate
#crashkill/3rd-party/adobe
#crashkill/3rd-party/adobe/contacted
#gfx/bugkill/too-old
#gfx/bugkill/bitrot

...etc

Why?

  • "#" denotes a keyword that doesn't widely apply across the project
    1. Humans and tools can skip over easily
    2. Trivial bugzilla patch to make it sort at the bottom / last (I'll attach it to the bug in a bit). We can even filter them out of the autocomplete entirely if desired
    3. Trivial to make a watchdog script that enforces states and makes sure only certain people are adding / removing certain groups of keywords (which can be eventually expanded to a bz extension)
    4. Easy to let anyone with editbugs create them with a bugzilla patch (if desired)
  • "#" denotes a keyword in this system
    1. Tools can rely on the format and process it, unlike current keywords (is '-' part of the keyword or a namespace/separator? Depends!)
  • Hierarchical structure of tags
    1. Tools can query for keywords lists at the proper depth easily
    2. Humans can easily group keywords at a glance
    3. Humans can query easily through the existing bugzilla interface (e.g "show me everything Release Management is triaging")
  • Keyword subsections can use whatever rules they like, only "#" in the 1st position and "/" anywhere is special (spaces obviously don't work)
  • (ab)using the current keyword system. This is essentially a small step to moving keywords into a tree model, rooted via component. I need something NOW and can't wait for bugzilla improvements (and already have enough of them assigned to me).

Why not use the whiteboard?

The whiteboard is junk! I can't do historical queries for when a whiteboard substring was removed. The bugmail isn't explicitly clear and I have to take time to scan the string, fun regex stuff in scripts, etc.

If bugzilla had a decent keyword or tag system the whiteboard would go away...it's a kludge.

Future plans?

  • Make anyone able to grab a "#" namespace and then create as many keywords as they want inside without having the current heavy-weight keyword access. This should actually be easy to do in bugzilla
  • Release Management may migrate this sort of stuff to our web system outside Bugzilla, but for now we're (ab)using current tools
  • We need to replace Bugzilla's keyword system. Yesterday.

Please let me know what you think and if you or your group would find such a change useful. The goal would be for it to be invisible to anyone who isn't using it and wildly useful to those who do.

7Oct/11Off

Mozillians.org is already useful, can’t wait for more

I was in Firefox Aurora bug triage and came across bug 692506. The bug is a SVG regression that shipped in Firefox 7. Even though we do our best, with the amount of code out there on the web some issues are bound to slip through. Luckily it's not serious enough or widely used enough to create a Firefox 7.0.2 release but of course we want to fix it as soon as possible. Updates should leave users no worse off.

There was a problem with the patch though. Boris Zbarsky had the following comment in the bug:

someone who knows this code better than I should evaluate risk...

When Boris defers to someone else, I get worried. He knows everything. If he doesn't feel confident commenting on the risk it is likely in an area that requires crazy black magic...and likely risky.

The very next comment was Robert Longson saying:

The fix is clearly right [...] Looks like pretty good value for a 1 line change to me.

Now, I had seen Robert's name previously but I wasn't as intimately familiar with his areas of expertise. I remembered Mozillians.org launched recently and decided to see if it could shed some light on Robert to give his signoff additional weighting.

So I searched. Luckily, I got a hit!

Not too bad for a website that launched recently. I checked out Robert's profile:

Looks like Robert is a SVG peer! If there was any doubt (don't know why there would be) I have Daniel vouching for the information. Because I know Daniel, this is about as solid a confirmation I could get.

So, now I have a heavy-hitter (Boris) writing the patch and a peer in the area of the patch (Robert) saying it is correct and safe. That makes taking the regression patch a no brainer.

Mozillians.org helped to turn a fuzzy product decision into a clear one, reducing risk and making us more confident in a Firefox change. I also can't wait for the tool to have timezone support so I know when community members I need patches from are available or not.

Please add yourself if you haven't already so we can make this resource even more valuable.

6Oct/11Off

Postponing the Firefox 3.6.x → 7.0 advertised update

The previously scheduled 3.6 → 7.0.1 advertised update is now postponed while we make sure our server capacity is sufficient for release. Once the investigation is complete I will communicate a new date well in advance so all stakeholders can plan accordingly.

I apologize for any churn this may have caused.

3Oct/11Off

Reminder: Firefox 3.6.23 → 7.0.1 advertised update scheduled for Thursday

Just a friendly reminder that we are planning to offer the Firefox 3.6.23 → 7.0.1 advertised update this Thursday, 2011-10-6.

What does the advertised update mean?

  • We will be offering an advertised update (also sometimes called a "major update") for Firefox 3.6.x -> Firefox 7.0 on 2011-10-06 (1 week and 2 days after Firefox 7's release)
  • The advertised update has no bearing on support levels. It does not mean Firefox 3.6 is end-of-life
  • The advertised update has no bearing on the Firefox ESR proposal
  • This is part of the old release process and is unchanged from what we have been doing for the past 3+ years
  • The prompt is opt-in...if users decline, they stay on 3.6.x and get security updates until the next time we decide to prompt
  • We did this for 3.0.x -> 3.5, 3.5.x -> 3.6, 3.6.x -> 4.0 and 3.6.x -> 5.0...nothing new
  • If enterprise deployments have advertised/"major" updates disabled in rollouts their users will not see the prompt but they will see Firefox 3.6.24 when it is released on 2011-11-08

This is mainly to move regular Firefox users who don't know there is an update up to a newer/better version if they are so inclined.

Based on previous advertised update offers we expect to see a significant percentage of users installing the new version. We are, of course, watching the data closely to see what happens and to make sure there are no unexpected issues.

As always, feel free to contact me with any questions or concerns.

16Aug/11Off

Firefox Beta users already have the version released today

Just a quick reminder:

If you are running Firefox Beta, you already have the version that was released today. One of the benefits of being on the cutting edge! Want an even earlier look at Firefox? Try Firefox Aurora.

Tagged as: No Comments