Yet another update from my internship at Mozilla, as part of the OPW.
A brief one, this time, sorry.
Bugs, Bugs, Bugs, Bacon and Bugs
I've continued with my triaging/verifying work and I feel now pretty confident when working on a bug.
On the other hand, I think I've learned more or less what was to be learned here, so I must think (and ask my mentor) where to go from now on.
Maybe focus on a specific Component?
Or steadily work on a specific channel for both triaging/poking and verifying?
Or try my hand at patches?
Not sure, yet.
Also, I'd like to point out that, while working on bug triaging, the developer's answers on the bug report are really important.
Comments like this help me as a triager to learn something new, and be a better triager for that component.
I do realize that developers cannot always take the time to put in comments basic information on how to better debug their component/product, but trust me: this will make you happy on the long run.
A wiki page with basic information on how debug problems for your component is also a good idea, as long as that page is easy to find ;).
So, big shout-out for MattN for a very useful comment!
After much delaying, we finally managed to pick a date for the Bug Triage Workshop: it will be on July 25th.
The workshop will be an online session focused on what is triaging, why is important, how to reproduce bugs and what information ask to the reporter to make a bug report the most complete and useful possible.
We will do it in two different time slots, to accomodate various timezones, and it will be held on #testday on irc.mozilla.org.
Take a look at the official announcement and subscribe on the event's etherpad!
See you on Friday! :)
Time for an update from my internship at Mozilla, as part of the OPW.
The last weeks have been a bit rough: I have my usual migraines to thank for that.
It's not easy to work with them: you are either stoned by the meds, or cannot look at a monitor. And while you're trying to sleep your headaches away, the world keeps rolling. Silly world.
As Liz, my mentor, suggested I tried to stick with the little things and to do a bit of something everyday.
"Waiting for the miracle", you know.
So, here's what I've been up to:
I probably failed my personal 5-bugs-a-day policy, in the last two weeks, but beside that I'm pretty satisfied of my progress:
- I learnt how to find regression windows
- I verified some more bugs (mostly Developer Tools or Theme related) on both Linux and Windows (yeah. Don't.Ask.)
- I triaged a lot of them. Also botched a couple, and felt an idiot for that.
All in all, I realized that I really love triaging/verifying bugs: being not a developer nor a simple user, but a bit of both, gives me the right mindset - I think - to mediate between these two worlds.
On the community front, I finally managed to meet - virtually - the Mozilla Italian community. The guys are great and beside running the forum to give user support, they do a whole lot of activities related to localization. They are also trying to encourage participation of Italian users and enthusiasts to Mozilla events: don't miss, for instance, the upcoming Marketplace Day when a couple of us will be available to help other Italian users with the day's activities. Read Daniele's post on the forum for more information in Italian.
On the documentation front, I finally managed to get out the Bugdays FAQ, draft a guide on how to run different versions of Firefox and multiple profiles for triaging purposes on Linux and Windows - still have to finish this one, though -, and participate to a very interesting discussion on the current state of QMO - the entry point for QA contributors in Mozilla.
The site, in my opinion, needs some love and I'd very much like to help in that sense.
Check out the discussion, and give us some feedback about the website on the dev-quality mailing list!
- when you're not feeling well, stick with the little things and don't feel guilty for that
- don't try to reproduce a bug when you're tired, you'll end up Doing It Wrong™
After two weeks working as OPW intern for Mozilla, it's time for a recap!
What exactly I've been doing in these two weeks?
100 bugs triaged: achievement unlocked!
Yes, this is the thing I'm most proud of.
I'm a bit cheating here, as strictly speaking, since the beginning of the internship I've triaged only
But I've decided to count from the beginning of my activity on bugzilla, at the end of March, since I've started work on that as part of the small contribution required for applying to OPW.
Therefore, it's all OPW related :)
Here's the grand total.
Right now, I've decided to work on an average of 5 bugs a day: it's mostly triage and/or verification, which is quite fun.
It consists in trying to have a more complete and detailed bug report for the developers: asking the right questions to the reporter, ensuring that the bug is filed against the right product or component and all the information about platforms and version are correct.
Or verifying that the bug isn't a duplicate, which involves doing some voodoo with Bugzilla quicksearch (I'm not so good with that yet, mostly because I'm not imaginative enough in the queries... but I'm getting better!)
Sometimes triaging means reading lots of documentation (to be sure that something is a bug and not a feature) and checking meta-bugs and release notes to be able to pinpoint the time when something was introduced and the reasoning behind it.
That takes a lot of time, but it makes you discover some funny things, like the Mighty Bouncing Unicorn.
And while I know it sounds a bit cruel, it's really good when you're verifying a fix and you find it's not totally ok, or that it triggered another bug.
I've been assured that feeling satisfied after that it's an essential part of the sadistic QA work.
Writing FAQs for new triager
This started as a personal project even before knowing I've been selected for OPW, and it's now part of my internship: I've been writing a first draft of FAQ for those who approach for the first time the Bug Triaging and Verifying work in Mozilla.
It meant taking a whole lot of IRC logs and scan them for the most asked questions during bugdays, and you can find here my first draft. I'll send a RFC today about it on dev-quality mailing list and link it to the main Bugdays page.
So, what I've learned in these two weeks?
That I'm pretty good at figuring things alone, but I like to have feedback on what I'm working on.
That testing things is an art, and perfectionism is a big plus.
That there are such things as stupid questions, but you have to ask them nonetheless.
That people in the Mozilla community are quite friendly and not scary at all. Not even in video! :)
I've been thinking about this a lot, and I think I'd like to have
a guide to all the technical terms in the UI (it took me a while to figure out what exactly was the hamburger menu, or understand the difference between awesomebar, search bar and new tab search). This is essential when triaging or verifying theme related bugs, or UI bugs in general.
a big jargon/acronym file: m-c? UX? nightlies? australis? WFM? STR? m-a? Mozilla's people speak another language, especially in bug reports. You get familiar with that after a while, but at first glance can be quite obscure.
They will probably become my next pet project.
Random thoughts of a new contributor
I've started to contribute to Mozilla - and particularly to the Firefox Desktop QA team -
at the end of March, in order to apply for the OPW
with Mozilla as Bug Wrangler.
While being already part of the Free Software world as contributor clearly helps, it's always difficult to find your way at first in such a big project, no matter how helpful the people you're working with are.
It's about trying to understand how the project is organized and who works on what, what is expected from you as contributor and the specific style of interaction and contribution accepted in the project.
So, here's a couple of thought about it: the necessary disclaimer is that I'm a long-time Debian contributor meaning that, inevitably, Debian is my reference model. Also, everything I'm writing here regards only the specific part of the project I've been working in: Desktop QA and Bugmastering.
The first thing that I noticed is the huge amount of documentation. Everything is very well documented and while this is definitely a plus in my book, it's sometimes difficult to keep track of all this resources.
AFAICT, there are basically three main sources of documentation:
Some of the documents on these three different places are sometimes similar, making them redundant and it's difficult
to remember where you read what. At least for me. My workaround has been to bookmark pages as a mad woman, and also to
make a list on my wikipage of the pages I found more useful.
My top five of useful pages? Here we go!
- a bug's life: lifecycle of bugs in BMO
- Tyler's BMO survival guide (parts 1, 2 and 3)
- Tyler's Triage Guidelines
- on reducing testcases
- bug verification walkthrough
And speaking of triage, special shout-out for the most useful addon ever for Mozilla triagers/testers: Nightly Tester Tools.
For someone coming from Debian, where everything is done via public mailing lists and/or IRC chans, Mozilla was a bit of a cultural shock. The mailing lists are not very much used, at least in the QA community (or I'm not subscribed to the right ones ;)). As for IRC, while there are many channels, they are not very active: meetings and important discussions are held using a proprietary videoconference software (Vidyo), and are mostly restricted to employees (but other people can join if they have a guest URL).
On the other hand, every time I asked for help - even the most stupid question - on IRC, I got a useful reply. And thanks to the folks on #testdays and #qa (especially petruta and Aleksej) I was able to speed up the learning process and understand how things work in the project. So, while I'd like to see more public meetings, it's also true that the community is working well on interaction among contributors.
This is where I think Debian could borrow a couple of ideas. Mozilla basically got me hooked thanks to their Bugdays: every Monday and Wednesday are - respectively - dedicated to Triage and Verification of bugs. The events are open to everyone, the wikipages for the events provide a good tutorial explaining the workflow in detail, and if you have any doubts there are always people willing to help you on the dedicated IRC chan. Every bug worked on during these events is also tagged: so that later it's possible to check how successful the day was in terms of participation.
Bugzilla and the triaging/verification workflow
About Bugzilla I can only say that I like it. I like how flexible is for search queries, I like the possibility to have custom tags on the whiteboard (as the [bugday-xxxxxx] one) and the smart way to interact among people in the bug without making the bug go stale (ie, mostly the needinfo feature). But beside the software used as BTS, I must admit that I really like the workflow and the whole concept of triaging in Mozilla. The granularity of rights (everyone, canconfirm, editbugs) and the clear procedure for a permission upgrade; the presence of a team constantly working on cleaning the incoming bugs, regardless of the product/component, to make easier for the developers the filtering and the resolution as well; the attention to details of the verification process: each bug marked as Resolved → Fixed need to be Verified, to be sure that it's been actually fixed... All these things are really impressive.
This, obviously, is something that can be done inside an upstream project where there are people doing paid work,
and where the products are not too many. I cannot see how this kind of QA process can be applied to bugs against an entire OS.
But there are some things we (as in Debian) could take inspiration from.
Organizing regular Bugdays, for instance. Creating a team of triagers to help both with incoming and with very old bugs. And this, again, is a kind of work that can be done by everyone, not only coding contributors: meaning that an additional effect would be to increase the diversity in the contributors pool.
As a side note: I'll start my OPW internship next Monday, and will spend three months playing with bugs and learning how to be a Bug Wrangler! \o/\o/
"Take, for example, the opening to Eleanor Catton's The Luminaries: 'The twelve men congragated in the smoking room of the Crown Hotel gave the impression of a party accidentally met.' This is emphatically not the same as starting a novel with 'So there they were: a dozen men in the Crown Hotel, all together in the smoking-lounge, looking like they'd only met there by chance.' Yes, the explicit narrative data conveyed in the two are the same, but just as you wouldn't be happy with your publisher simply producing a sort of casual paraphrase of your writing and publishing that under your name, so your foreign-language publishers are hiring people to write exactly the same book as the one you've written. (Except for all the words, obviously.) Sound difficult? The reality is harder still. Every language is different. There's no single word in one language that maps perfectly onto a word in another - not one. And every language has things it can do, and things it can't."
"Once the contract is signed, the translator takes a deep breath and dives in. Their job is two-fold, and simple: they read you, then they write you.
They read you with more care than anybody else will, more demandigly, more inquiringly. Yes, your editor might take a moment to consider your punctuation if it doesn't work and needs rethinking, but translators have to think hard about it even - or especially - if it does."
A beautiful piece on translators: "The curious condition of being a translator" by Daniel Hahn via Paula Góes on GV-Authors mailing list.
First of all, let me say this: Barcelona MiniDebconf was awesome.
So the most important part of this post is a very big thank you to the organizers, volunteers, speakers, sponsors and attendees.
Now, down to business.
Day 0 was a day of travelling, more or less: the Italian Cabal (me, Enrico, Elena and Diego) left in the early morning from Varese (where we had an epic Munchkin Apocalypse game the night before), and we travelled by car across Liguria and France and finally reached Barcelona in the evening.
(Boring! Even more if you don't drive. I hate long trips by car)
We reached Barcelona in time for the pre-registration event at Falstaff Bar, eat a great Falafel and hugged lots of people.
To me the highlight of Day 1 was to finally meet in person Laura Arjona, Spanish translator, publicity volunteer, pump.io and mediagoblin contributor. We had decided to have a workshop together about translations and we spent the morning more or less tweaking our presentation and chatting :). So, save for Elena's talk on 3d printing in Debian ("The Universal OS: now making tabletop games and cookie cutters!" -- which was great!) I missed all the talks in the morning.
But thanks to the always amazing videoteam, I'll be able to watch them later, when the recordings will be published :).
For me, the best talk of the day - well, no, actually of the conference! - was that afternoon: Ana Isabel Carvalho told us about the Libre Graphics Magazine project.
Libre Graphics Magazine is a well written and designed magazine at the crossroad between Free Software tools and ideals and graphic arts and design. A crossroad not very much frequented, I'd say. But then, maybe I'm wrong: it's not that graphic artists don't use Free Software tools, it's more like the one who do are invisible.
This is one purpose of a Libre Graphics Magazine: to serve as a catalyst for discussion, to build a home for the users of Libre Graphics software, standards and methods. In such a magazine, we may unite all our previously disparate successes, all the successes which have, until now, stood alone as small examples, disjointed from the larger community. We have the opportunity to elevate the discourse around Libre Graphics as a professionally viable option, to raise previously unmentioned issues and to push forward the conception of just what Libre Graphics can produce.
If you are even only vagued interested in typefaces, fonts, design and graphic art take a look at the magazine: it's CC-BY-SA licensed and you can download it for free, or buy a paper copy (which is amazing, really!). And it's not just about graphic arts: if you skim over the titles of the issues, you can find that they've talked about things like "Localisation/Internationalization", "Use Cases and Affordances" and, my favourite, "Gendering F/LOSS".
On a similar topic, Siri's talk about "Why aren't more designers using Debian or working for Debian?" tried to shed a light on the difficult relationship between Free Software tools and graphic artists.
These are the voices we need to listen to if we want to bring more graphic artists to Debian, and $deity knows that Debian needs them a lot :).
After Solveig's talk about bug triaging and Miriam's one on packaging, it was time for the l10n workshop. I think it went well: we tried to briefly explain the translation workflow in Debian, and to translate together with the audience a po-debconf message. It wasn't maybe enough to complete and submit a translation, but hopefully it gave the audience an idea about how to do it.
The day ended with a party for Debian Women 10th anniversary. And the cake wasn't a lie, beside being very good.
This, I'll remember as "the day I exited my comfort zone". Ok, I'm making a bit of fuss about it, but it was my first talk in English all alone. I spoke about the non-uploading DD process and how to keep your (and others') sanity in a big community project (slides here). I think it's very important to remind people that not all DDs are coding persons. And you don't need to be a developer to love Debian, contribute to it and become an official member of the project.
But writing this presentation was for me also the occasion to take stock of my experience in Debian so far: in that talk slipped many of my demons, as impostor syndrome or overcommitment. But all the things I said are more or less, common sense - nothing new! - and lesson learned on the road: it's been now 2 years as DD and 4 as contributor. I'm pretty sure it's thanks to the special conditions of this conference (only speakers identifying themselves as female, a safe and very friendly environment) that I had the courage to give a talk. So the conference was a complete success on that regard, too.
In the afternoon I was able to do one of the things I love: videoteam duty. Though I convinced Riccio to switch roles and to give me the camera: my experience in directing during last DebConf left me a bit scarred.
The Day(s) after: a Debian Contributors hackathon
In my experience a measure of a conference's success is the burst of activity in pet projects just afterwards.
In this, also, Barcelona MiniConf was a success: during the weekend, Enrico, Laura and I had the chance to talk together
about Debian Contributors and make some plans.
So, as soon as we got in Italy again, I took possession of Enrico's couch for a couple of days and we did a little bit of hacking on Contributors.
For my part, I mostly worked in trying to add more data sources to the site: my (not so) secret agenda is to map most of the non-coding contributions. That basically means: translators, publicity editors, event organizers and volunteers, etc.
Being in the same room as Enrico, gave me the chance to ask him how to add data sources and to test the existing code (we spot a little problem in the prototype for svn repository mining he made a while ago). At the end of the hackathon, I had managed to:
- add the debconfsubs project to the data sources
- add bits.debian.org to the data sources
- add publicity svn repo to the data sources
- clean up the wiki todo list
- ask penta debconf admins about adding debconf volunteers to contributors
Please note that if you have contributed to one of the repo above and you are not listed there, it means that the automatic recognition of your email address didn't work. We still need to implement a manual interface for the recognition of email addresses: patches are very much welcome!
- Implemented showing the log of all changes involving a person in the personal page
- Implemented visibility settings in the personal page
- Redone data aggregation, so that it can be computed after each setting change and after each data submission
- Implemented editing one's own display name
- Autofill people's display names from Debian and Alioth user full name information
- Read Debian and Alioth email forwarding fields to auto-associate more contributions to people
- Show activity of teams, not only of people
- Main contributors.debian.org page only shows the last year, with pagination for the previous ones
- Added some statistics to the Site status page
- New version of dc-tool, with fixed svn data source and quiet operation by default
- Auto-associate OpenPGP key fingerprints using Debian's LDAP
- Drafted about/privacy page
A quick roundup of things I made during the last months, following tutorials here and there.
1: a soft bunny more or less based on this one
2: skelly man! You can find pattern and instructions on Chez Beeper Bebe's blog
3: bibs: the embroidered one is based on this pattern by Charlotte Lyons on SouleMama's blog, the other re-uses the same pattern but add a bird applique instead.
1, 4: my first try with the beautiful Weekender Bag ended with
something else entirely: apparently, where euclidean geometry principles apply, cutting a piece of fabric 10 cm smaller
will result in a bag 10 cm smaller!
Go figure! Fhtang!
I'm happy anyway with the final result, but it resembles more a tote bag than a weekender one. I then made also a successful Weekender, but haven't taken a pic yet. If you try that pattern, you may find this blogpost helpful.
2: This is my try at copycatting this model without a pattern and didn't end very well.
However, a couple lessons learned:
- you don't improvise armholes and sleeves: you have to carefully plan them. I know this now, but at the time I was just a kid with a crazy dream ;)
- a-line dresses with straight necklines are definitely not meant for my body type. no matter how cute they look on someone else.
- I really should hack my mannequin, so to have it of my actual size. Or I will continue sew clothes fitting it, and not me.
3: Blouse with knit-stretchy stuff! (You love me when I speak technical, don't you?)
I did that without pattern, mostly using a similar top I have as inspiration/guide
With the help of Enrico and the Debian Listmaster Team
-and in particular Alexander Wirt: thank you very much! - the spam reviewers of the Debian mailing lists have been added to the list
of Debian Contributors.
While some statistics about the reviewing job already existed, adding these data to the Debian Contributors list is another little step to map all kind of Debian contributions.
Wondering what exactly is the job of the spam reviewers?
It consists in checking all the messages of the Debian mailing lists reported as spam: if a message reported as spam gets three reviews as spam (and none as ham) it is removed from the archive.
Only DDs can do this: if you are one check here how to do it.
But there's one - and probably more important job - that everyone can do: report spam. When a message is reported as spam by 5 or more persons, it will make to the reviewers' queue. There are some organized spam cleaning efforts you can join: here there's a list of them, while on this page you can find more information on the whole process.
Wondering what exactly is the Debian Contributors list?
I'm sorry, I couldn't resist: words so good need a pretty (fsvo pretty) framing.
The AO3 is an archive of fanfiction for multiple fandoms, founded and run by a non-profit organization, Organization for Transformative Works with the aim of "providing access to and preserving the history of fanworks and fan culture in its myriad forms."
And, well, there's also the fact that...
"[...] the Archive is one of a very small number of open-source projects founded and largely staffed by women, another contribution fans have made to the internet as a whole. Many women who were not previously involved in technology have learned new skills in the name of fannish activities, and the AO3 is proud to stand as a shining example of this growth."
So, congratulations AO3!