Archive for the ‘lang-en’ Category

Fedora 19.

Wednesday, July 24th, 2013

Two weeks ago I erased the harddisk on my Fedora machine and installed Fedora 19 from scratch. I was tempted to give Mageia a try instead, but as it’s my main machine which I also use for work I tried to minimize disruption by not trying out new stuff.

My work (bug management) can be described as constant switching between browser (Firefox) with some custom Greasemonkey scripts for triaging bug reports, email application (Evolution) with many filters sorting mail into folders and tagging it, IRC (xchat), text files (gedit) and some gnome-terminal windows. Hence that’s my main focus of interest.

All in all GNOME 3.8 is really fast (considering this laptop is more than five years old) and looks great even in its details. Compared to the “classic” GNOME2/Windows95 user interface and workflow I don’t face any big differences that would require much relearning (but I’ve ran gnome-shell on my other machines before).
With gnome-panel I had application launchers in the top panel that I clicked with a mouse, now I have them in the dock in gnome-shell and start them once at the beginning of the session. For the rest I prefer using the keyboard: For applications that I don’t have running all of the time it’s faster now to start them, by pressing the Super key to get to the overview, typing the first letters, and pressing the Enter key (in gnome-panel this required cumbersome pressing of Alt+F2 plus additional pressing of Tab for autocompletion). I like gedit’s “Quick Open” a lot which allows typing a filename to open that file, without the need to know its location.

The rest of this blogpost only lists those small problems I encountered.

Evolution‘s connection to GMail is way more stable than it was in 3.2, and local filtering works more reliably and does not accidentially sometimes reset mail status to read anymore. Unfortunately importing my large Evolution backup file repeatedly ignored my account settings so I had to set them up manually.
Evolution’s constant freezing when filtering mail triggering gnome-shell’s “not responsive” dialog was quickly worked around by the developers for upcoming version 3.8.4, together with an ical invitation rendering crash fixed. However, even after setting physical folders for Junk and Trash for my GMail account (and filing a ticket to cover this recommendation in the Evolution user documentation), the IMAP+ account implementation sometimes manages to completely reindex a mail folder from scratch which can take a few minutes when you have 85000 messages in that folder. It also seems like I have lost the ability to close Evolution’s error messages by keyboard. WebKit now renders mail instead of ancient GtkHtml which makes everything feel way faster.

gnome-shell freezing and some graphical artefacts (which implies that it’s not gnome-shell itself to blame) have gone after cleaning my fan, now this only happens after a few days due to high memory usage which means I should identify which gnome-shell extension(s) to blame, and uninstall them.

Still no idea how to stop the computer from suspending when the lid is closed nowadays – user documentation needs an update and probably requires some logind magic.

The idea to have modal password dialogs feels pretty stupid when you might have that password saved in some textfile that you now cannot access (terminals to the rescue!) but some developers disagree. Same for missing IRC notifications in the message tray as nothing is blinking anywhere anymore – I’m forced to press Super+M from time to time to realize that colleagues wanted to chat with me a while ago, on the other hand I get less distracted which is very nice when you actually want to get work done.

Furthermore, something in latexmk seems to be broken so I fall back to compiling bibtex and latex documents a few times by hand to link against each other. And Rhythmbox seems to not play my manually added streams for some reason, but it does not crash anymore when starting it for the first time like in Fedora 16.

All in all pretty happy with GNOME 3.8. From past experience of installing a Linux distribution I expected bigger problems – I guess I need to accept how good and nearly flawless everything has become through all those years.

Same procedure as lastevery year, this time even in the center of Europe:


See you there?

Bugzilla Tips (VI): Creating reports and tables

Friday, July 19th, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

Quite often I want to quickly check how things are going for specific projects, teams and individuals. Bugzilla’s reporting functionality provides some basic functionality for that. Go to Reports (a link in the sidebar on Wikimedia Bugzilla, and in the footer at the bottom of other standard Bugzillas):


Click on Tabular Reports:


You will get the usual advanced query interface, with additional settings at the top:


One common usecase for me are tables displaying the severity × priority numbers for bug reports of a specific product or component. For this, I set the “Vertical Axis” field to “Priority” and the “Horizontal Axis” field to “Severity”, and in the interface below I choose one Product (in this example: “Datasets”) and set the Resolution field to “—” as I am only interested in unresolved reports. After clicking the “Generate Report” button I get this table:


Of course you can also select several products by setting “Multiple Tables” to “Product”.

Another usecase is to check which individuals are set as assignees for how many bug reports whenever I wonder if things scale. For this I set “Vertical Axis” to “Assignee”, leave “Horizontal Axis” blank, leave “Product” blank (so the results are global) and set “Resolution” again to “—” (as I am only interested in unresolved, open reports):


Click on the table headers to sort the columns.

Or if you have Voting enabled in your Bugzilla, you can get a list how many reports have which number of votes by following the steps above by setting “Vertical Axis” to “Votes” instead of “Assignee”.

Note: Saved reports, similar to saved searches, are available from Bugzilla 4.4 on.

Bugzilla Tips (V): Saved and shared searches

Friday, July 12th, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

If you find yourself running the same (or very similar) searches in Bugzilla from time to time, you might want Bugzilla to remember your search at the bottom of the list of search results:


Enter a descriptive name in the text field behind “Remember search as” and click the “Remember search” button:


Bugzilla will confirm the successful creation:


Your search will now be available as a link in the sidebar of Wikimedia Bugzilla, or in footer at the bottom of other (standard) Bugzillas:


If your query could also be useful for other Bugzilla users (e.g. members of your development team), you can share your saved search. Go to your preferences (a link in the sidebar on Wikimedia Bugzilla, and in the footer at the bottom of other standard Bugzillas):


Click “Saved Searches”:


Here you can share your search by enabling the “Share With a Group” checkbox, or also display saved searches that other users have shared:


Bugzilla Tips (IV): Searching for empty fields

Friday, July 5th, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

Sometimes you want to search for a specific field being empty, e.g. bug reports without anybody on the CC list.
If you go to Bugzilla’s advanced search and scroll down to the “Custom Search” (called “Boolean Search” in older Bugzilla versions), you can use “matches regular expression” and respectively “does not match regular expression”. Regular expressions (regexes) are powerful patterns to match a certain string (the corresponding Wikipedia article provides more information).

To find all bug reports that have no keywords, enter this:

Keywords | matches regular expression | ^$

^$ is the regular expression for an empty string.

As written before, regexes are very powerful. For example, you could also search for comments in Bugzilla that contain inline Git-formatted patches by using Comment | matches regular expression | —[[:space:]].+[[:space:]]\+\+\+[[:space:]].+[[:space:]]@@[[:space:]].+@@[[:space:]]

Comment | matches regular expression | ---[[:space:]].+[[:space:]]\+\+\+[[:space:]].+[[:space:]]@@[[:space:]].+@@[[:space:]]

As can be seen, the MySQL database requires using [[:space:]] instead of \s for a whitespace character, see its documentation.

Bugzilla Tips (III): Getting copies of another user’s bugmail

Friday, June 28th, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

Sometimes you are interested in the stuff that a certain person is doing in Bugzilla. Bugzilla allows receiving the bugmail that a certain other user would also receive⁑. This is called “User Watching”. To enable it, go to your preferences (a link in the sidebar on Wikimedia Bugzilla, and in the footer at the bottom of other standard Bugzillas):


Click “Email Preferences”:


Scroll to the bottom where the “User Watching” section is. Add the user whose bugmail you would like to receive (and of course this field supports autocompletion.)


After submitting your changes, the user that you watch will be listed, and you will receive her/his bugmail⁑.


⁑Note: You will only receive bugmail for bug reports that you have permissions to access. So watching a user who has access to restricted security bug reports will not make you receive bugmail for these security bugs.


Tuesday, June 25th, 2013

It’s worth to watch the interview with Edward Snowden to understand his intentions and the irony that he needs questionable governments to protect him against “democracies” who are all allies of the government that persecutes him. Spin doctors manage well to move the debate towards Snowden himself (“Is he a traitor?”) instead of discussing the scope of the surveillance programs of the USA and the United Kingdom.

Technology and Society. Where we failed.

It’s too complicated to use encrypted communication when Skype, WhatsApp and Facebook are so convenient (and insecure and centralized) to use. The tech avantgarde failed to push for default encryption integration into standard mail clients via GPG/PGP. Do you know of non-geeks who use Tor or CryptoCat? I don’t. Pushing for free services and decentralized services is hard because there is no big marketing department behind them, and we all know that the most advanced technology often does not win for many reasons.

Users do not like making decisions when a question pops up in their web browsers. You want to get rid of that dialog instead. So most browsers have weak default settings in order to not confront us with confusing questions (some browsers recently push for enabling browser settings like “Do not track” or disabling third-party cookies by default soon, at least).
Hence cookies and third-party cookies are enabled for all pages, and though we log out (if there is still a “Logout” button, mobile versions seem to drop this unnecessary widget) of Facebook, Google+, Twitter, Foursquare, etc (services that are for free), all those embedded “Share!” buttons on other websites still tell the companies track which pages we visit, until we set up ad blockers and configure them properly. And HTTP referers expose which other website we visited before. And Flash cookies are a completely separate issue not covered by our browser’s cookie settings. We could do a few things, but it requires efforts and I don’t want to understand the interwebs if I just want to do my email!!!! Even if we care, the information exposed by our browser (size of screen, operating system, prefered languages, installed browser plugins, timezone, installed fonts) might still make us completely unique and recognizable.
So we use the same internet search engine every day as it’s convenient and provides the best results, soon even to be personalized instead of objective! We signed up for services without reading their terms of services. We happily automatically tag our images with GPS coordinates and upload them to central places (Facebook, Google Picasa, Yahoo Flickr) because it’s so convenient to share them with friends and to automatically show where the photo was taken. Social networks might hand out our user data to the police if we take drugs on photos, but who would ever take drugs (automatic face recognition for the win), or be on a photo of a protest demonstration against a government.
Applications on our phones access our address books and take all the contact data of all of our friends without letting us know, as we conveniently sync all our contact data between our devices. Thanks to central application stores, our phone provider knows exactly which applications we have installed and are interested in. Thanks to online music stores, companies like Amazon or Apple know exactly which music we like and can recommend other artists to us – convenient as we don’t need to find them ourselves anymore. Getting kicked out of our social network, or having our Amazon account disabled, losing all the books that we thought we had “bought” for our reading device without any compensation is so much easier with centralized services.
We all have microphones in our phones that can be activated by software, our phones log into a cell site which covers only a small area in bigger city, so it is pretty clear where exactly we are located, always. Who we communicate the most with is clear anyway.
We use digital non-anonymous discount cards to save a few lousy pennies in the supermarket so companies know what we buy, but it’s convenient to only get offers we are interested in! And companies selling ratings of our credit worthiness do not need to guess our income anymore by the area we live in – we tell them our buying power and habits for free.
We have public and private CCTV cameras in our cities, on pavements, on streets, in public transportation which make us feel safe (though they do not prevent any crime, just like the threat of death penalty). The police has a map of all (legal) cameras to quickly access them to solve crime, to make our world a safer place, though this did not help with the burglary at my neighbor’s as nothing was taped – looks like the thief just did not take the main entrance to our house, probably we just need more cameras in more spots. But never film the police – never jeopardize their safety, they are here to protect us!
Our passports, our plastic cards to enter the office building or to pay food or borrow books at university have personalized RFID chips, often strong enough to be read even from a few meters distance without letting us know that we have just identified ourselves. Combining all these separate cards in one is more convenient and as a side effect my university knows that as an aircraft construction student I do not eat any meat and read religious books. And that hidden RFID reader in the door frame can detect if we really attended that mandatory lecture at university or if we are just lazy students who should get exmatriculated.
The anonymous (and transferable) yearly paper ticket for local public transportation costs more than the personalized chipcard one, and booking a ticket on the internet with our personalized account and our credit card data is more convenient than going to a selling point and paying in cash. Why hide the fact that we travel very often from A to B (if it’s work, friends, partner, or lover might be guessed from the time of the day and if you return on the same day), if we could miss special offers for travelling from A to B?. Our computers have integrated webcams that can also be activated by software.

I could probably continue for hours.

No matter which government is elected next, it is going to do the same, because we do not care. (This implies that governments actually know what their secret services are doing and that secret services they would never do things in their own interest.)

Today’s technology has made life convenient. It’s easy to accept answers like “This is just a temporary measurement” and “This just happens for your own safety” and to not question why the shop attendant asks us for our postal code or nationality.
Elders, stop sending paper letters in envelopes, send postcards instead! Because we have nothing to hide in our times.

Bugzilla Tips (II): Changing the columns in search results

Friday, June 21st, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

Sometimes you run a search in Bugzilla and you would like to see specific metadata displayed for the resulting list of bug reports, e.g. the Assignees, when the Latest Change took place for each report, or how many votes each report has received (if Voting is enabled in your Bugzilla). At the bottom of your search results, click “Change Columns”:


In the following dialog, the displayed columns are in the list on the right, and the available columns are on the left. You can add and remove columns or changing the order of the columns by selecting a list item and using the arrow buttons:


After clicking the “Change Columns” button, the changes will be applied to the previous search results (and future search results).

Bugzilla Tips (I): Autocompletion

Friday, June 14th, 2013

This posting is part of a series on small and sometimes not-so-easy-to-discover functionality in Bugzilla that makes developers’ and users’ lifes more comfortable. It’s based on conversations with users and developers in the last months.

People can be impatient, so not everybody is aware that Bugzilla provides autocompletion for those fields that are about people (like the CC, assignee, and QA contact fields).
The autocompletion kicks in only after waiting a short moment but is extremely helpful in order to set the correct person in a Bugzilla field, or to even check if the person has an account in Bugzilla.


If you want to add somebody to the CC field for example, you first click on “edit”:


If you now start typing three letters of a name or an email address, Bugzilla will show a list of proposals that match the letters you have entered:


After you have selected the person that you have in mind, the person is added to the CC field of the report.

Understanding Bugzilla groups and admin rights

Tuesday, May 28th, 2013

As part of my work for the Wikimedia Foundation I recently tried to understand Bugzilla groups a bit better, specifically which tasks can only be done by Bugzilla administrators. In general, permissions to do stuff in Bugzilla (e.g. editing keywords, components, etc.) are defined by groups in Bugzilla, and Bugzilla users get membership in certain groups, manually or automatically.

Bugzilla logo by Dave Shea

Bugzilla logo by
Dave Shea

Membership in the Bugzilla admin group is always required for the following general tasks:

  • viewing the generated SQL query by using the &debug=1 URL parameter
  • deleting attachments (instead of just marking them as private)
  • editing Bugzilla field values (editvalues.cgi) and editing custom fields (editfields.cgi)
  • editing the bug status workflow (editworkflow.cgi)
  • editing (or banning/blocking) Bugzilla accounts, e.g. in case of violations against the Code of Conduct of your project. This is inherited from the editusers group membership: editusers group membership de facto means admin group membership, as an account with editusers group membership can edit his/her account and set admin group membership.

The list above is not necessarily complete. (Thanks to Byran Jones for input.)

Then there are tasks that might require membership in the Bugzilla admin group, depending on the configuration of your Bugzilla instance:

  • Marking comments and attachments as private and accessing comments and attachments marked as private requires membership in the insidergroup. Manual membership of individuals is not possible, the group can only be set to be another existing group. The insidergroup group might be set to the admin group in your configuration.
  • Inherited group membership: Bugzilla allows defining automatic group membership in group X if an account is member of the group Y or if the account’s email address matches a specific regex defined for a group. The default automatic group membership inclusions of the admin group are tweakparams, editusers, creategroups, editcomponents, editkeywords. It is worth to check your configuration if certain groups automatically inherit membership for either the admin or the editusers group.
  • Creating charts requires membership in the chartgroup (chart.cgi). Manual membership of individuals is not possible, the group can only be set to be another existing group. It is by default set to the admin group in Bugzilla.

I hope this is helpful for other Bugzilla admins out there, as I could not find much documentation. One day I might turn this into a patch for Bugzilla upstream documentation.

Wikimedia Bug Management and the Outreach Program for Women

Sunday, March 31st, 2013

For the last three months I had the pleasure to have an intern for my bugmaster job at Wikimedia, as part of the Outreach Program for Women (OPW) for Free and Open Source Software. It is organized by GNOME and the Wikimedia Foundation participated with six positions.


Valerie’s proposal was to create a proposal for a better feedback workflow, to organize public bug days which we now run every other week as part of the QA weekly goals, and to do bug report triaging. Valerie succeeded in all of them and blogged about her experience and progress, but I’d like to summarize and highlight some of her achievements here.

Valerie analyzed which important Wikimedia feedback channels link to each other and Bugzilla and created a diagram of the current situation, and also a bug life cycle flowchart describing the life of a bug report by its status changes over time. That diagram is now also embedded in our wiki documentation making it easier to understand for Bugzilla newcomers “how things work”.

Wikimedia Foundation Logo

She also wrote and published two blogposts in the Wikimedia Blog explaining how to create a good first bug report and how to help Wikimedia squash software bugs. And apart from co-organizing a number of bugdays, Valerie also participated in Mobile QA by testing the Commons Upload app, helped me with Bugzilla administration (creating new products and components), and taught me about Bugzilla functionality that I had never used before, yay. :)

As this was the first time that I intensively mentored somebody I must say that it went surprisingly well, realizing the presence of all those skills which are helpful for bug triaging: Good analytic skills (what a bug report is about and what not), finding your way to gather information via the query interface, spotting things in the Bugzilla interface and being curious enough to investigate yourself, and a structured approach to testing by using different browsers, coming up with quick testcases yourself, and being aware of MediaWiki’s deployment schedule (basically: which software version is deployed on which server).

So I think we’ve learned a lot from each other, and I’m very happy that Valerie is going to stay involved in our community and bug management.

In general, I’d like to thank Marina Zhurakhinskaya (for GNOME) and Quim Gil (for Wikimedia) for organizing OPW and I am delighted to see more projects planning to join the next round (like KDE, Perl, and more).
The application period for the next round of OPW has already started and its deadline is May 1st. Check out the central wikipage if you’re interested!