<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Graeme&#039;s Place &#187; Mozilla</title>
	<atom:link href="http://www.graememcc.co.uk/category/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.graememcc.co.uk</link>
	<description>Graeme McCutcheon&#039;s home on the web</description>
	<lastBuildDate>Mon, 10 Dec 2012 23:48:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>5 years</title>
		<link>http://www.graememcc.co.uk/2012/12/10/5-years/</link>
		<comments>http://www.graememcc.co.uk/2012/12/10/5-years/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 23:48:50 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=184</guid>
		<description><![CDATA[December 10th 2007. Bug 399612, comment 1. Graeme McCutcheon appeared in bugzilla.mozilla.org with a modest bit of triage. And so it began. In truth, it began before that. It began in 2004 with a new laptop, and a download of this new-fangled Firebird browser that I&#8217;d been hearing about. It began with faux conviction &#8211; [...]]]></description>
				<content:encoded><![CDATA[<p>December 10th 2007. <a title="Bug 399612" href="https://bugzilla.mozilla.org/show_bug.cgi?id=399612#c1" target="_blank">Bug 399612, comment 1</a>. Graeme McCutcheon appeared in bugzilla.mozilla.org with a modest bit of triage. And so it began.</p>
<p>In truth, it began before that. It began in 2004 with a new laptop, and a download of this new-fangled Firebird browser that I&#8217;d been hearing about. It began with faux conviction &#8211; &#8220;Oh, it&#8217;s not from big, evil Microsoft&#8221; -  but I was young and naïve.  I used the browser, updated the browser, but filed no bugs, tested no nightlies, waxed lyrical about web standards to no-one. Besides, what could little old me contribute to a big, famous project like Firefox?</p>
<p><span id="more-184"></span></p>
<p>Nevertheless, I gradually began to feel I should give something back. I hit the docs. Bug triage, huh? Hmm, maybe I <em>could</em> do that. I floated around Bugzilla, watching, waiting, trying to understand the processes. That December 10th, I took the plunge. And so it began.</p>
<p>As I wandered around Bugzilla over the following days, a crazy notion took hold: could I contribute <em>more?</em> There sure seemed to be a lot of bugs looking for owners. I&#8217;d programmed in C in 3rd year of university, though never C++, but at least it was a base to build from. There was more to learn too: getting the source, CVS, just building this thing., pestering Ted with the sort of autoconf question he must have answered a thousand times yet still patiently answered. And what then? What to work on, and how to find my way around this huge codebase?  Eventually I discovered &#8220;Good First Bugs&#8221;.  <a title="Bug 393922" href="https://bugzilla.mozilla.org/show_bug.cgi?id=393922" target="_blank">Bug 393922</a> looked easy &#8211; real easy! I arrogantly rushed through a quick patch, identified a reviewer &#8211; the legendary <a href="http://profile.ak.fbcdn.net/hprofile-ak-snc4/276493_206396276091339_1855269778_n.jpg" target="_blank">sdwilsh</a> -  seemingly managing to r- the patch myself before I figured out how to correctly ask for review. Just over an hour later, some bugmail appeared. My patch was reviewed! Review-. Chastened, embarrassed, angry (only at myself) I wasn&#8217;t going to let that happen again.</p>
<p>There was no turning back now. I was hooked.</p>
<p>More bugs fell. Editbugs privileges were attained. I watched bugs I didn&#8217;t know how to fix, to watch those who did at work. (Likewise, I watched a fellow new contributor who was accomplishing great things; they call him <a href="http://www.ehsanakhgari.org" target="_blank">Ehsan</a>). After positive reviews, I waited breathlessly for someone to sweep through the checkin-needed queue and land my patch, for which I was eternally grateful. I watched in horror as one patch turned the tree extremely orange, when 99% of Mozilla was in Whistler without power, leaving me to shamefully stare for hours at an orange Tinderbox and an empty #developers channel.  (Incidentally, the further disaster that befell that summit produced my favourite <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=448604" target="_blank">bug</a>).  Coupled with the switch to Mercurial, it felt like it was time to get commit access. I started paying attention to the world of sheriffs, random orange and landing. I learned how to decipher the crazy page of coloured rectangles and cryptic messages called <a href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey" target="_blank">Tinderbox</a>, silently booing whenever a developer was called out on IRC when they checked in on orange. I filed for commit access, posted my committer agreement to Mountain View. My chest puffed with pride as assorted Mozilla luminaries wandered by to vouch for my approval. Typing &#8216;hg push&#8217; into my own terminal, and watch firebot announce my checkin was quite the moment. It was, however, somewhat ruined &#8211; I was called out on IRC &#8211; gah, I&#8217;d lost the moral high ground, having not noticed a Moth run had just went orange before my push.</p>
<p>My Mozilla education continued. I explored new areas of the codebase. I devoured <a href="http://planet.mozilla.org" target="_blank">Planet Mozilla.</a> I discovered the Mozilla <a href="http://quotes.burntelectrons.org/" target="_blank">QDB</a> &#8211; and understood the in-jokes! I bantered and raced with philor  and gavin to star those pesky oranges (and for you youngsters, this was before TBPL suggested bugs!) . I started to eagerly follow Mozilla as the mission focused organisation, rather than thinking of it simply as the source code I worked on. I stared in disbelief when I  witnessed the demo of <em></em>Flight Of the Navigator &#8211; <em>this is all in-browser? This is the web?</em> And the adventures continued&#8230;</p>
<h2>Reflections</h2>
<p>So, what have I accomplished? Lots, but <a href="https://developer.mozilla.org/en-US/docs/User:Graememcc" target="_blank">not enough</a>. Apparently, Find Toolbar is still my favourite component (although favourite is surely not the right word), with 22.64% of my Bugzilla contributions. (Incidentally, I thought others may be equally curious to check that data for themselves &#8211; you can check <a href="http://www.graememcc.co.uk/myfavouritecomponent/" target="_blank">your own favourite component</a>). I&#8217;m glad I&#8217;ve challenged myself when it comes to where I work in the codebase.  I knew early on that I&#8217;d steer clear of layout &#8211; there was an area that scared the hell out of me. Though apparently not enough to stop me from later writing some small layout patches. I curiously read Boris Zbarsky&#8217;s <a href="http://weblogs.mozillazine.org/bz/archives/2008/10/fixing_scroll_restoration_on_n.html" target="_blank">appeal</a> for someone to fix bug 215405, but knew I certainly wouldn&#8217;t be me. Except <a title="Google Search in New Tab Page" href="https://bugzilla.mozilla.org/show_bug.cgi?id=215405">it was</a>. It burrowed into my brain, and wouldn&#8217;t let go. (Pro-tip: if you&#8217;re work has bz vocally celebrating in IRC, you&#8217;re doing something very, very right).</p>
<p>I moved beyond Firefox. <a href="http://www.graememcc.co.uk/tag/m-cmerge/" target="_blank">m-cMerge</a> took far, far too long to finish, occupying an unhealthy chunk of the year. However, it&#8217;s now the go-to tool for inbound sheriffs when merging, successful far beyond what I&#8217;d hoped. It also makes me feel an affinity with the <a href="https://wiki.mozilla.org/Auto-tools/The_Ateam">A-team</a>, who surely have the coolest group name in Mozilla!</p>
<p>However, I&#8217;m still fairly anonymous and unknown within the community. The 2010 summit is my biggest regret. It was awesome &#8211; scratch that, it was a mind-blowing, crazy, spectacular cavalcade of awesomeness. It was truly great to put names to faces, and witness the fierce burning passion for Mozilla in every attendee. However, I was too quiet, too shy; I know I didn&#8217;t make the most of such an amazing opportunity. And I still owe roc a game of Settlers.</p>
<p>The future&#8217;s bright though &#8211; joining Vidyo for the <a title="Google Search in New Tab Page" href="https://wiki.mozilla.org/Contribute/Coding" target="_blank">coding contribute group</a> meeting was a big step. (Incidentally, I&#8217;ve completed 9-11 of the <a href="https://wiki.mozilla.org/Contribute/Conversion_points" target="_blank">conversion points</a> &#8211; why a range? For two of them it depends how they&#8217;re measured <img src='http://www.graememcc.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . This will be my first significant non-code venture. Also worth noting, I simply showed up, unannounced, and was immediately welcomed. &#8220;Open&#8221; is an adjective that applies to more than just Mozilla code. The opportunities and possibilites for involvement are truly endless!</p>
<p>Involvement is as rewarding, as intoxicating, as fulfilling today as it was in 2007. There&#8217;s plenty more to come! (And if you know anyone looking to hire someone with 5 years Mozilla hacking experience, please send them my way!)</p>
<p>I didn&#8217;t get here on my own: I truly stand on the shoulders of giants. Reviewers, bug commenters offering advice, those engaging in random #developers chat&#8230; I&#8217;m fortunate to have been helped along the way by so many Mozillians. I should call out Gavin Sharp, the inimitable gavinbot, who seems to have the misfortune of dealing with me the most. Thanks you, everyone!</p>
<p>Anyway, enough chat. Let the next 5 years begin&#8230;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/12/10/5-years/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Badges for contributions to specific Firefox releases</title>
		<link>http://www.graememcc.co.uk/2012/11/28/open-badges-for-contributions-to-specific-firefox-releases/</link>
		<comments>http://www.graememcc.co.uk/2012/11/28/open-badges-for-contributions-to-specific-firefox-releases/#comments</comments>
		<pubDate>Wed, 28 Nov 2012 20:13:28 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=157</guid>
		<description><![CDATA[Although I&#8217;m primarily interested in Firefox development, Mozilla is more than just Firefox and Firefox OS. There&#8217;s a crazy amount of stuff happening! One interesting project is Open Badges. I&#8217;m certain this is a right idea/right time moment, given the meteoric rise of sites like Khan Academy, edX, and Coursera (not forgetting Mozilla&#8217;s very own [...]]]></description>
				<content:encoded><![CDATA[<p>Although I&#8217;m primarily interested in Firefox development, Mozilla is more than just Firefox and Firefox OS. There&#8217;s a crazy amount of stuff happening! One interesting project is <a title="Open Badges" href="http://www.openbadges.org" target="_blank">Open Badges</a>. I&#8217;m certain this is a right idea/right time moment, given the meteoric rise of sites like <a title="Khan Academy" href="http://www.khanacademy.org/" target="_blank">Khan Academy</a>, <a title="edX" href="https://www.edx.org/" target="_blank">edX</a>, and <a title="Coursera" href="https://www.coursera.org/" target="_blank">Coursera</a> (not forgetting Mozilla&#8217;s very own <a title="Webmaker" href="https://webmaker.org/" target="_blank">Webmaker</a> project), all offering the opportunity for learners to acquire new skills. Indeed, I participated in <a title="Udacity" href="http://www.udacity.com/" target="_blank">Udacity</a>&#8216;s first offering of CS101, to observe the mechanics of online learning. (Fortunately I obtained highest distinction &#8211; anything else may have triggered a mini-existential crisis!). In fact, I went on to take CS212 Design of Computer Programs (because Peter Norvig!) and CS262 Programming Languages (featuring several Mozillians). Course awards take the form of a downloadable PDF certificate &#8211; useful in the offline world for emails and CVs perhaps, but what about online? The ability to showcase your skills online via evidence-based badges is a powerful one.</p>
<p>Separately there is an ongoing focus within Mozilla to <a title="Grow Mozilla" href="https://wiki.mozilla.org/Grow" target="_blank">grow</a> the Mozilla community and increase the number of contributors to all areas of the project. As a volunteer contributor, this is close to my heart. It may be one of the most important efforts underway within Mozilla. The <a title="Coding Contribute group" href="https://wiki.mozilla.org/Contribute/Coding" target="_blank">coding contribute group</a> are wrestling with how to attract, retain and reward coders to the various Mozilla software products. One area of focus is tracking contributors as they reach important milestones in their Mozilla career, and issuing rewards for certain milestones. Open badges have been raised in that context, as a potential reward for certain milestones.</p>
<h2>Badges for releases</h2>
<p>Aside from individual accomplishments, we hit an important milestone every 6 weeks: a new version of Firefox is released to the world, containing hundreds of patches submitted by contributors in the previous 18 weeks. When your code reaches millions of Firefox users&#8230;well, that&#8217;s an achievement. That is surely something worth celebrating. Why not issue a badge to anyone who contributed new code to a particular release? By waiting until the release is out the door, we can capture all relevant contributions, rather than trying to measure a moving target like Aurora and Beta. Such a badge could have real value, particularly if backed by evidence &#8211; currently if a third-party wants proof that someone contributed, the unattractive options available to them are grepping &#8220;hg log&#8221; or learning to query Bugzilla. A per-release badge might even be a subtle tool for contributor retention &#8211; contributors might aim to earn a badge for every release. Gotta catch &#8216;em all!</p>
<p>Assessing whether someone has earned a badge for a particular release should be trivial. It&#8217;s simply a Bugzilla query &#8211; though we need to make sure it&#8217;s the <em>right</em> query. This made me curious about the badge issuing process; I was pleased to find it fairly straightforward. In fact, I was quickly able to put together a simple proof of concept, a simple site that will issue a badge to anyone who contributed new code to Firefox 17, with the caveat that the earner will be mightly disappointed when faced with my terrible badge-drawing skills!</p>
<h2>Proof of concept</h2>
<p>To receive a badge for Firefox 17 contributions, visit <a title="Badger" href="http://www.graememcc.co.uk/badger/" target="_blank">graememcc.co.uk/badger</a> and enter your bugmail.</p>
<div id="attachment_158" class="wp-caption aligncenter" style="width: 981px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger1.png"><img class="size-full wp-image-158" title="badger1" src="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger1.png" alt="Screenshot of the bugmail entry form" width="971" height="230" /></a><p class="wp-caption-text">Enter the email address used on bugzilla.mozilla.org</p></div>
<p>The site then queries Bugzilla, querying if you landed code within the relevant timeframe. The specific criteria are:</p>
<ul>
<li>Assignee == supplied bugmail</li>
<li>Resolution == FIXED</li>
<li>One of:
<ul>
<li>Target Milestone == Firefox 17</li>
<li>Target Milestone == mozilla17</li>
<li>status-firefox17 == fixed</li>
</ul>
</li>
</ul>
<p>If this search finds qualifying bugs, you will be sent to the badge page, complete with awful badge artwork (patches welcome!):</p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 816px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger2.png"><img class="size-full wp-image-161" title="badger2" src="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger2.png" alt="An example badge" width="806" height="451" /></a><p class="wp-caption-text">A badge is issued &#8211; if you earned it! (Note, the badge issued now is actually for Firefox 17 contributions)</p></div>
<p>The button below the badge allows you to add it to your <a title="Mozilla Open Badge backpack" href="http://beta.openbadges.org" target="_blank">Open Badge backpack</a>, by signing in to their backpack via Persona, and creating a backpack if necessary. The Open Badges <a title="Issuer API" href="https://github.com/mozilla/openbadges/wiki/Issuer-API" target="_blank">Issuer API</a> takes care of these steps. If you view the badge in your backpack, you can see the associated metadata:</p>
<div id="attachment_163" class="wp-caption aligncenter" style="width: 1002px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger3.png"><img class="size-full wp-image-163" title="badger3" src="http://www.graememcc.co.uk/wp-content/uploads/2012/11/badger3.png" alt="Screenshot of the badge viewed on beta.openbadges.org" width="992" height="647" /></a><p class="wp-caption-text">Viewing the badge on beta.openbadges.org. Note the evidence field.</p></div>
<p>An Open Badge assertion contains various pieces of metadata associated with the badge. The most interesting field, the one which gives badges real practical value, is &#8220;evidence&#8221;. This allows the badge issuer to attach proof that the badge earner has acquired the knowledge or participated in a way that merits a particular badge. Given access to this badge is judged on Bugzilla data, it makes sense to present this data as the evidence. The assertion for your badge is a URL for a Bugzilla query to list all your code contributions to Firefox 17.</p>
<p>Again, note this is just a proof of concept; the badge will expire 28 days after it is issued.</p>
<p>Users that didn&#8217;t earn a badge, are directed to a page suggesting they visit <a title="What can I do for Mozilla?" href="http://www.whatcanidoformozilla.org" target="_blank">whatcanidoformozilla.org</a> to get started!</p>
<h2>Feedback</h2>
<p>I hope you&#8217;ll give <a title="Badger" href="http://www.graememcc.co.uk/badger/" target="_blank">Badger</a> a quick spin &#8211; and I hope you earned a badge! Remember, this isn&#8217;t an official Mozilla badge &#8211; such a badge would be far, far prettier for starters &#8211; however, the evidence in your badge backpack will speak for itself. I&#8217;m particularly interested to here from anyone who did contribute code to Firefox 17 yet doesn&#8217;t receive a badge. The search criteria above should be sufficient, however I definitely want to know if they need refining. I would love to hear people&#8217;s opinions as to whether this is something worth exploring further.</p>
<p>The code is on github: <a title="Badger on github" href="https://github.com/graememcc/badger" target="_blank">https://github.com/graememcc/badger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/11/28/open-badges-for-contributions-to-specific-firefox-releases/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Search in New Tab Page</title>
		<link>http://www.graememcc.co.uk/2012/10/09/google-search-in-new-tab-page/</link>
		<comments>http://www.graememcc.co.uk/2012/10/09/google-search-in-new-tab-page/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 12:05:49 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=150</guid>
		<description><![CDATA[When using Firefox, I realised I am forever performing the sequence Ctrl-T followed by Ctrl-K to start a Google search in a new tab. However, I find the standard new tab page useful, so I didn&#8217;t necessarily want to change my new tab page setting (you can change the page by tweaking browser.newtab.url in about:config). [...]]]></description>
				<content:encoded><![CDATA[<p>When using Firefox, I realised I am forever performing the sequence Ctrl-T followed by Ctrl-K to start a Google search in a new tab. However, I find the standard new tab page useful, so I didn&#8217;t necessarily want to change my new tab page setting (you can change the page by tweaking browser.newtab.url in about:config).</p>
<p>This sounds like a job for an add-on.</p>
<div id="attachment_151" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/10/addon.png"><img class="size-large wp-image-151" title="Google search in the new tab page" src="http://www.graememcc.co.uk/wp-content/uploads/2012/10/addon-1024x436.png" alt="" width="580" height="246" /></a><p class="wp-caption-text">My add-on in action</p></div>
<p>And so I built one. The input is conveniently autofocused, so one can just Ctrl-T and start the search. I guess I&#8217;ll eventually want to make things like the search engine configurable, and it&#8217;s not particularly pretty, but for now, it&#8217;s a great help!</p>
<p>&nbsp;</p>
<p>Edit: the add-on is now up on <a title="My add-on!" href="https://addons.mozilla.org/en-US/firefox/addon/add-google-search-to-new-ta/" target="_blank">addons.mozilla.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/10/09/google-search-in-new-tab-page/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>More m-cMerge updates</title>
		<link>http://www.graememcc.co.uk/2012/09/21/more-m-cmerge-updates/</link>
		<comments>http://www.graememcc.co.uk/2012/09/21/more-m-cmerge-updates/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 18:05:17 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[m-cmerge]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=142</guid>
		<description><![CDATA[A couple more m-cMerge improvements have now landed. Bug Assignees m-cMerge will now attempt to set the bug assignee in certain circumstances. Specifically, the following must hold: The current assignee for the bug is nobody@mozilla.org If there is more than one changeset for a particular bug, the changeset author must be the same for each [...]]]></description>
				<content:encoded><![CDATA[<p>A couple more <a title="m-cMerge" href="http://www.graememcc.co.uk/m-cmerge/">m-cMerge</a> improvements have now landed.</p>
<h3>Bug Assignees</h3>
<p>m-cMerge will now attempt to set the bug assignee in certain circumstances. Specifically, the following must hold:</p>
<ul>
<li>The current assignee for the bug is nobody@mozilla.org</li>
<li>If there is more than one changeset for a particular bug, the changeset author must be the same for each of the bug&#8217;s changesets</li>
<li>The changeset author email must be a valid Bugzilla user email</li>
</ul>
<p>The summary page will highlight any bugs where the assignee was set:</p>
<div id="attachment_143" class="wp-caption aligncenter" style="width: 1013px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/09/email.png"><img class="size-full wp-image-143" title="email" src="http://www.graememcc.co.uk/wp-content/uploads/2012/09/email.png" alt="m-cMerge summary page with email" width="1003" height="170" /></a><p class="wp-caption-text">When m-cMerge has set the assignee, it will highlight this</p></div>
<p><span id="more-142"></span></p>
<h3>In-Testsuite Flag</h3>
<p>m-cMerge has been updated to allow you to set the in-testsuite flag. Note m-cMerge doesn&#8217;t make any predictions, or in any way try to automatically set the flag: this is completely manual.</p>
<div id="attachment_144" class="wp-caption aligncenter" style="width: 992px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/09/testsuite_flag.png"><img class="size-full wp-image-144" title="testsuite_flag" src="http://www.graememcc.co.uk/wp-content/uploads/2012/09/testsuite_flag.png" alt="The testsuite flag in the m-cMerge bug UI" width="982" height="341" /></a><p class="wp-caption-text">The flag has been added below the &#8220;Comment/Resolve&#8221; checkboxes</p></div>
<p>The flag appears next to the checkboxes for commenting/resolving a bug &#8211; provided the bug belongs to a component that supports the flag. Initially, it will show the current value of the flag.</p>
<p>To allow you to judge whether the flag should be set, you can now view the files for a particular changeset.</p>
<div id="attachment_145" class="wp-caption aligncenter" style="width: 1005px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/09/testsuite_files.png"><img class="size-full wp-image-145" title="testsuite_files" src="http://www.graememcc.co.uk/wp-content/uploads/2012/09/testsuite_files.png" alt="Files affected by an individual changeset" width="995" height="275" /></a><p class="wp-caption-text">You can view the files affected by a particular changeset</p></div>
<p>Simply click View/hide files to list the affected files. You can of course also click on the changeset ID to open the changeset diff on hg.mozilla.org in a new tab/window.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/09/21/more-m-cmerge-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>m-cMerge and status flags</title>
		<link>http://www.graememcc.co.uk/2012/09/14/m-cmerge-and-status-flags/</link>
		<comments>http://www.graememcc.co.uk/2012/09/14/m-cmerge-and-status-flags/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 09:46:56 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[m-cmerge]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=127</guid>
		<description><![CDATA[For a while, m-cMerge has been blundering along, ignorant of the various flags our hard-working release drivers use to track fixes across the various trains. It wasn&#8217;t alone &#8211; a recent thread on dev-planning showed that many developers &#8211; myself included &#8211; weren&#8217;t fully aware of what was required. Well, now the rules are clear, [...]]]></description>
				<content:encoded><![CDATA[<p>For a while, <a title="m-cMerge" href="http://www.graememcc.co.uk/m-cmerge/" target="_blank">m-cMerge</a> has been blundering along, ignorant of the various flags our hard-working release drivers use to track fixes across the various trains. It wasn&#8217;t alone &#8211; a recent thread on <a title="dev-planning" href="https://groups.google.com/forum/?fromgroups=#!topic/mozilla.dev.planning/93ARD6nh3VU" target="_blank">dev-planning</a> showed that many developers &#8211; myself included &#8211; weren&#8217;t fully aware of what was required.</p>
<p>Well, now the rules are clear, so m-cMerge has been brought in to line.</p>
<p><span id="more-127"></span></p>
<p>As has been previously reported, m-cMerge can now handle pretty much any tree one would care to throw at it. Most of these trees are unaffected, but m-cMerge now has some more work to do for mozilla-central, -aurora, -beta, -release, and -esrN (and the equivalent comm- trees). When you give it a changeset for one of those trees, m-cMerge will calculate the correct tracking and status flags for that tree and changeset &#8211; for example, <strong>tracking-firefox18</strong> or <strong>status-thunderbird-esr10</strong>. Later, if it finds the relevant tracking flag set, then it will set the status flag when posting to the bug, where appropriate.</p>
<p>Note this means m-cMerge is no longer purely client-side JS: there&#8217;s now some server-side logic to crawl the relevant repo to find the version.</p>
<p>So, when does m-cMerge think it appropriate? I took the view that there should be some sort of assertion of a bug fix being sent to the bug. For -aurora, -beta, -release, and -esr, this means there should be at least one comment being sent to the tracked bug. For mozilla-central and comm-central, I added the additional constraint that you must have selected to resolve the bug. (We can&#8217;t rely on that constraint for the other trees, as the patches might be backports, and thus already resolved). Additionally, the status flag must be either unset or set to &#8216;affected&#8217; &#8211; m-cMerge will refuse to change the status flag if it is set to any other value.</p>
<p>The help text at the top of the page will be dynamically updated as you select/deselect &#8220;resolve&#8221; and &#8220;comment&#8221; checkboxes, allowing you to keep track of which bugs will have their status flag set on submission.</p>
<div id="attachment_132" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/09/tracking.png"><img class="size-large wp-image-132" title="tracking" src="http://www.graememcc.co.uk/wp-content/uploads/2012/09/tracking-1024x386.png" alt="" width="580" height="218" /></a><p class="wp-caption-text">The help text highlights relevant bugs</p></div>
<p>As always, I hope this is a useful change. Feel free to <a title="Report a m-cMerge bug" href="https://bitbucket.org/graememcc/m-cmerge/issues/new" target="_blank">report</a> any issues you find &#8211; thanks to edmorley for reporting this bug!  You can read about previous m-cMerge updates <a title="m-cMerge posts" href="http://www.graememcc.co.uk/2012/08/07/handling-large-backouts-with-m-cmerge/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/09/14/m-cmerge-and-status-flags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handling large backouts with m-cMerge</title>
		<link>http://www.graememcc.co.uk/2012/08/07/handling-large-backouts-with-m-cmerge/</link>
		<comments>http://www.graememcc.co.uk/2012/08/07/handling-large-backouts-with-m-cmerge/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 20:12:06 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[m-cmerge]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=114</guid>
		<description><![CDATA[m-cMerge has been updated regularly since it was unveiled. One recent update added the ability to handle pushes from trees other than mozilla-central. There are plenty of times where large patch series land on integration repositories such as mozilla-inbound, and marking them is as much of a chore as marking merges. I&#8217;ve now taken this [...]]]></description>
				<content:encoded><![CDATA[<p><a title="m-cMerge" href="http://www.graememcc.co.uk/m-cmerge/" target="_blank">m-cMerge</a> has been updated regularly since it was <a title="Introducing m-cMerge" href="http://www.graememcc.co.uk/2012/06/12/introducing-m-cmerge/" target="_blank">unveiled</a>. One recent update added the ability to handle pushes from trees other than mozilla-central. There are plenty of times where large patch series land on integration repositories such as mozilla-inbound, and marking them is as much of a chore as marking merges.</p>
<p>I&#8217;ve now taken this to its logical conclusion, and added the ability for m-cMerge to handle backouts as well. You often see sweeping backouts on mozilla-inbound, trying to get the tree back to a green state. Most of the time each of those bugs will be getting commented with the same information &#8211; a reason for the backout, and the rev URLs of the backout changesets. That sounds perfect for automation!</p>
<p>m-cMerge will now handle backouts in certain circumstances. Specifically, there can be no fixes landing in the same push, or a fix and its backout landing in the same push. I don&#8217;t think we lose anything with these restrictions &#8211; you&#8217;re unlikely to be landing new code as well as trying to clean up the tree. Equally, you&#8217;re unlikely to land a fix and back it out again in the same push &#8211; the only scenario where that could happen is a merge, and the backout commenting should already have been done when the backout hit the integration repo.</p>
<p>When given a backout revision, m-cMerge will attempt to attach the relevant bugs to pushes, as normal.</p>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 991px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/08/Backout2.png"><img class="size-full wp-image-115" title="Backout2" src="http://www.graememcc.co.uk/wp-content/uploads/2012/08/Backout2.png" alt="" width="981" height="312" /></a><p class="wp-caption-text">m-cMerge will detect the bugs affected by the backout</p></div>
<p>As always, the &#8220;Add&#8221;, &#8220;Remove&#8221; and &#8220;Change&#8221; buttons allow for manual review, and correction of anything that has been misdetected.</p>
<p>If you are dealing with a mozilla-central backout, you will be offered the opportunity to reopen the bug.</p>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 1027px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/08/backout1.png"><img class="size-full wp-image-116" title="backout1" src="http://www.graememcc.co.uk/wp-content/uploads/2012/08/backout1.png" alt="" width="1017" height="315" /></a><p class="wp-caption-text">RESOLVED FIXED? Let me reopen that for you.</p></div>
<p>Note in this case the &#8220;comment&#8221; and &#8220;reopen&#8221; options are linked &#8211; you wouldn&#8217;t want to reopen a bug without explanation, nor would you post the backout revisions without making the patch author aware he/she was backed out.</p>
<p>You can manually edit the comments if you wish. However, if you need to add the same backout explanation to every bug, there is another solution. When you hit submit, m-cMerge will look at all the bugs whose comment still starts with the changeset URL, and for those, it will present you with the following dialog:</p>
<div id="attachment_117" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/08/Backout3.png"><img class="size-large wp-image-117" title="Backout3" src="http://www.graememcc.co.uk/wp-content/uploads/2012/08/Backout3-1024x242.png" alt="" width="580" height="137" /></a><p class="wp-caption-text">Adding the same explanation to multiple bugs is easy</p></div>
<p>This will allow you to add some explanatory text prior to the changeset URL. Checking the checkbox will add the same text to any unedited bug comments that have not yet been submitted, and won&#8217;t prompt you again. Leaving it unchecked will prompt you to enter text for the next bug when it is ready to be submitted. Hitting ESC or Cancel will transmit the change for this bug without any additional comment text. Leave the textarea empty and check the box to send all comments as they are.</p>
<p>As always, report any bugs in the <a title="BitBucket bug tracker" href="https://bitbucket.org/graememcc/m-cmerge/issues" target="_blank">BitBucket bug tracker</a>. I hope this proves useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/08/07/handling-large-backouts-with-m-cmerge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pushlog URLs now printed when pushing to mozilla-central</title>
		<link>http://www.graememcc.co.uk/2012/08/05/pushlog-urls-now-printed-when-pushing-to-mozilla-central/</link>
		<comments>http://www.graememcc.co.uk/2012/08/05/pushlog-urls-now-printed-when-pushing-to-mozilla-central/#comments</comments>
		<pubDate>Sun, 05 Aug 2012 17:46:01 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[m-cmerge]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=102</guid>
		<description><![CDATA[When pushing to mozilla-central or mozilla-inbound, one of the first things you are likely to do post-push is copy and paste the changeset URL into the relevant bug. To help, I fixed bug 663585, which has now been enabled on some of our main repositories. When pushing, you should now see something like this: graememcc@Vitalstatistix:~/moz/hghooks/fakes/mcclone$ [...]]]></description>
				<content:encoded><![CDATA[<p>When pushing to mozilla-central or mozilla-inbound, one of the first things you are likely to do post-push is copy and paste the changeset URL into the relevant bug. To help, I fixed <a title="Bug 663585" href="https://bugzilla.mozilla.org/show_bug.cgi?id=663585" target="_blank">bug 663585</a>, which has now been enabled on some of our main repositories.</p>
<p>When pushing, you should now see something like this:</p>
<pre>graememcc@Vitalstatistix:~/moz/hghooks/fakes/mcclone$ hg push
pushing to /home/graememcc/moz/hghooks/fakes/mozilla-central
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
You can view your change at the following URL:

https://hg.mozilla.org/mozilla-central/rev/b945bf7017be</pre>
<p>&nbsp;</p>
<p>If you&#8217;re pushing a large number of changes, the individual URLs cease to be useful. Instead, you will see:</p>
<pre>You can view the pushlog for your changes at the following URL:

https://hg.mozilla.org/mozilla-central/pushloghtml?changeset=4464ac64628a</pre>
<p>Admittedly this won&#8217;t directly, help you with marking bugs, but it&#8217;s perfect for pasting into <a title="m-cMerge" href="http://www.graememcc.co.uk/m-cmerge/" target="_blank">m-cMerge</a> for automating the bug commenting (m-cMerge can now handle general commits to <em>any</em> tree not just mozilla-central).</p>
<p>&nbsp;</p>
<p>Finally, when pushing to Try, the results of your builds are more relevant. Hence:</p>
<pre>You can view the progress of your build at the following URL:

https://tbpl.mozilla.org/?tree=Try&#038;rev=15ecf264d328</pre>
<p>&nbsp;</p>
<p>I hope you find these changes useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/08/05/pushlog-urls-now-printed-when-pushing-to-mozilla-central/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing m-cMerge</title>
		<link>http://www.graememcc.co.uk/2012/06/12/introducing-m-cmerge/</link>
		<comments>http://www.graememcc.co.uk/2012/06/12/introducing-m-cmerge/#comments</comments>
		<pubDate>Tue, 12 Jun 2012 16:16:24 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[m-cmerge]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=71</guid>
		<description><![CDATA[In the summer of 2011, the integration branch mozilla-inbound was created, to allow Mozilla contributors to land patches without having to wait multiple hours afterwards waiting for your builds to complete. A team of inbound-sheriffs monitor the tree, dealing with failures and backing out where appropriate. About once a day, one of the sheriffs would [...]]]></description>
				<content:encoded><![CDATA[<p>In the summer of 2011, the integration branch mozilla-inbound was created, to allow Mozilla contributors to land patches without having to wait multiple hours afterwards waiting for your builds to complete. A team of inbound-sheriffs monitor the tree, dealing with failures and backing out where appropriate. About once a day, one of the sheriffs would merge the changes to mozilla-central, and after the merge spend the next 90 minutes marking the bugs as resolved and pasting the pushlog URLs into each bug&#8217;s comments. And thus your patch made it to mozilla-central!</p>
<p>Wait a minute, after the merge the sheriffs did what?!?</p>
<p>We have some smart people acting as inbound sheriffs. This does not seem like the best use of their time. It always bugged me, even though I&#8217;ve never merged myself. I wanted to do something about it. However, I felt it would be difficult to fully automate &#8211; even with our current restrictions, a wide variety of commit messages is possible. Accurately parsing them 100% of the time would be&#8230;hard. Throw in security bugs, and inbound&#8217;s propensity to get so hosed that it has to be closed for a bit of &#8220;BACK OUT ALL THE THINGS!&#8221;&#8230;</p>
<p>That said, I didn&#8217;t think all was lost. As Kernighan and Plauger said, most users will be willing to meet you halfway, and be ecstatic if you manage 90% of the work.  I decided to see if we could get 90% of the way there.</p>
<p><span id="more-71"></span></p>
<h2>m-cMerge</h2>
<p>m-cMerge is the fruit of that labour. It lives at <a title="http://www.graememcc.co.uk/m-cmerge/" href="http://www.graememcc.co.uk/m-cmerge/" target="_blank">http://www.graememcc.co.uk/m-cmerge/</a>, with the source available at <a title="https://bitbucket.org/graememcc/m-cmerge" href="https://bitbucket.org/graememcc/m-cmerge" target="_blank">https://bitbucket.org/graememcc/m-cmerge</a>. Designed to be used immediately following a merge to mozilla-central, it will load the specified pushlog, and attempt to work out what fixes made it, what got backed out, and separate out merge changesets, no-bug changesets and other noise. One can then manually review, correct any misdetections, and hit submit to have the relevant changes made to Bugzilla.</p>
<p>To begin, enter the changeset hash of the merge:</p>
<div id="attachment_72" class="wp-caption aligncenter" style="width: 471px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-10.png"><img class=" wp-image-72 " title="Screenshot-10" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-10.png" alt="" width="461" height="141" /></a><p class="wp-caption-text">First, enter the relevant changeset</p></div>
<p>&nbsp;</p>
<p>m-cMerge gets busy, loading the pushlog, categorising the changesets, and loading the relevant bug data. The results will be split into 5 categories:</p>
<ul>
<li>Fixes (pushes that stuck!)</li>
<li>Pushes backed out</li>
<li>Backouts of things not in this merge</li>
<li>Merge changesets</li>
<li>Other changesets</li>
</ul>
<p>If a particular merge does not contain any pushes of a particular type, it will be omitted.</p>
<div id="attachment_87" class="wp-caption aligncenter" style="width: 178px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge1.png"><img class=" wp-image-87   " title="mcMerge1" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge1-300x198.png" alt="" width="168" height="111" /></a><p class="wp-caption-text">Pushes are categorised into one of five categories</p></div>
<p>The text at the top calls out various special cases, for example bugs with &#8220;leave open&#8221; in the whiteboard (which default to comment without resolving), and security bugs. Note that you cannot resolve or comment in security bugs in m-cMerge &#8211; I feel those are best altered by human hands. Underneath, you will find the relevant pushes, ordered from newest first, to mirror the pushlog, with any bugs that m-cMerge believes should be commented immediately below.</p>
<p>Most of the controls should hopefully be self-explanatory. If the &#8220;Comment:&#8221; checkbox is checked, a comment will be posted in the bug. If the &#8220;Resolve:&#8221;  flag is checked, the bug will be marked as RESOLVED FIXED. Additionally, when resolving, one can change the target milestone, by selecting from the drop-down menu. Where possible, m-cMerge will suggest a sensible value for the target milestone. You cannot set the target milestone when only commenting; if the bug is not being resolved at this point, I do not believe you can make any claims about the milestone.</p>
<h2>Comments</h2>
<p>Click &#8220;View/hide comment&#8221; to view the suggested comment for a particular changeset, and verify it is correct. You can amend the comment as necessary.</p>
<div id="attachment_89" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-15.png"><img class="size-medium wp-image-89" title="Screenshot from 2012-08-02 17:03:39" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-from-2012-08-02-170339-300x51.png" alt="" width="300" height="51" /></a><p class="wp-caption-text">Clicking view/hide shows a textarea which allows you to edit the comment</p></div>
<p>If there are a series of changesets all associated with the same bug, i.e. you have pushes of the form &#8220;Bug XXX &#8211; Part 1: fix something&#8221;, &#8221;Bug XXX &#8211; Part 2: fix something else&#8221; and so on, the comments will be merged into a single comment on submission, with the comment for the oldest changeset first.</p>
<p>The comment checkbox works on a per changeset basis: if you have 3 changesets associated with one bug, and deselect the comment option on one changeset, the other two will still be commented unless you instruct otherwise. In contrast, the resolve checkbox works on a per-bug basis, affecting all instances of that bug.</p>
<h2>Mis-detected bugs</h2>
<p>Only 90% of the way, remember? Due to the wide variety of commit messages, m-cMerge will sometimes get it wrong, particularly when a commit message references multiple bugs. Next to each bug are &#8220;remove&#8221; and &#8220;change&#8221; buttons, to allow you to disassociate a bug, or correct which bug will be resolved.</p>
<div id="attachment_90" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge3.png"><img class="size-medium wp-image-90" title="mcMerge3" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge3-300x114.png" alt="" width="300" height="114" /></a><p class="wp-caption-text">Not m-cMerge&#8217;s fault (for once!). Should have been 763238. Hit the &#8220;change&#8221; button!</p></div>
<p>Additionally, the &#8220;add bug&#8221; button, does the obvious thing, allowing you to send a comment about a particular changeset to multiple bugs.</p>
<h2>Submitting</h2>
<p>When you&#8217;ve reviewed all the changes, scroll to the bottom to find your friendly neighbourhood &#8220;submit&#8221; button. You will then be asked to supply your Bugzilla credentials, which will then be used to communicate with the Bugzilla REST API over https, and make the specified changes.</p>
<div id="attachment_91" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge_submit.png"><img class="size-medium wp-image-91" title="mcMerge_submit" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/mcMerge_submit-300x19.png" alt="" width="300" height="19" /></a><p class="wp-caption-text">The submit button reverts the tree to Firefox 3.5. Or something.</p></div>
<h2>Backouts</h2>
<p>The creativity in commit messages reaches whole new levels when it gets to backouts (pro-tip: flick to the pushes backed out section to check for any misdetections before submitting any fixes). Where possible, m-cMerge will associate the pushes backed out with the thing that backed them out.</p>
<div id="attachment_79" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-1.png"><img class="size-medium wp-image-79" title="Screenshot-1" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-1-300x160.png" alt="" width="300" height="160" /></a><p class="wp-caption-text">Pushes backed out are associated with the thing that backed them out.</p></div>
<p>Both backouts and the pushes backed out default to neither commenting or resolving, but that can of course be changed via the controls provided. As seen in the picture above, m-cMerge can cope with a push that backs out multiple other pushes. Indeed, it should cope with ranged backouts e.g. &#8216;backout aaabbbcccddd-111222333444&#8242; or &#8217;backout aaabbbcccddd through 111222333444&#8242; , and &#8217;backout aaabbbcccddd : 111222333444&#8242;. When you messy pups really hose the tree, it can deal with &#8216;revert tree to changeset aaabbbcccddd&#8217;. For normal backouts, it understands &#8216;revert&#8217; is a synonym for &#8216;backout&#8217;.</p>
<p>m-cMerge&#8217;s backout detection really is only as good as the commit messages. I would encourage the use of changeset hashes in the backout commit message to specify exactly what was removed.</p>
<h2>Summary</h2>
<p>After all the individual sections, m-cMerge provides a handy summary of the damage unleashed on Bugzilla.</p>
<div id="attachment_80" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-3.png"><img class="size-medium wp-image-80" title="Screenshot-3" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-3-300x143.png" alt="" width="300" height="143" /></a><p class="wp-caption-text">The summary shows what changes were submitted</p></div>
<p>If it looks like you forgot to submit, m-cMerge will issue a warning.</p>
<div id="attachment_81" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-13.png"><img class="size-medium wp-image-81" title="Screenshot-13" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-13-300x108.png" alt="" width="300" height="108" /></a><p class="wp-caption-text">Red text! Looks like we have some kind of warning.</p></div>
<p>It will also nag you about your part of the deal: resolving security bugs.</p>
<div id="attachment_82" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-14.png"><img class="size-medium wp-image-82" title="Screenshot-14" src="http://www.graememcc.co.uk/wp-content/uploads/2012/06/Screenshot-14-300x54.png" alt="" width="300" height="54" /></a><p class="wp-caption-text">Don&#8217;t forget the security bugs</p></div>
<h2>Patches welcome</h2>
<p>I hope this is enough to be useful to inbound sheriffs. It could be prettier though. I&#8217;m not entirely sure how best to present the information in the summary; the dialogs use an off-the-shelf jQuery theme, and don&#8217;t tie in with the rest of the site. The &#8220;loading&#8221; message should stay centered on the screen when you scroll, and I thought I should just have been able to set &#8220;position: fixed;&#8221; on it &#8211; instead it defeated me until the bitter end. And of course, with all your prodding and poking, you&#8217;ll likely find other bugs: on the other hand, you&#8217;ll now have lots of free time to fix them, now that you&#8217;re not resolving bugs all day!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/06/12/introducing-m-cmerge/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Trust in Mozilla</title>
		<link>http://www.graememcc.co.uk/2012/05/17/trust-in-mozilla/</link>
		<comments>http://www.graememcc.co.uk/2012/05/17/trust-in-mozilla/#comments</comments>
		<pubDate>Thu, 17 May 2012 15:20:17 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=65</guid>
		<description><![CDATA[I&#8217;m still working on something to assist those merging to mozilla-central.  I&#8217;m almost ready to start talking to Bugzilla.  Obviously, one can&#8217;t test on b.m.o, so off to the test server &#8211; Landfill &#8211; we go. Now, I&#8217;ll need to handle security bugs, and users who may or may not be able to modify them. [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m still working on something to assist those merging to mozilla-central.  I&#8217;m almost ready to start talking to Bugzilla.  Obviously, one can&#8217;t test on <a title="b.m.o" href="https://bugzilla.mozilla.org" target="_blank">b.m.o</a>, so off to the test server &#8211; Landfill &#8211; we go. Now, I&#8217;ll need to handle security bugs, and users who may or may not be able to modify them. I emailed <a title="Gerv" href="http://blog.gerv.net/">Gerv</a>, to see if it would be possible to emulate the b.m.o. security bug configuration in the bzapi sandbox. His reply? Sure you can, and have some admin privileges so you can set things up as you wish.</p>
<p><span id="more-65"></span></p>
<p>He could have said &#8220;yes, I&#8217;ve set up an appropriate configuration for you&#8221;. Or even &#8220;it&#8217;s possible, but it&#8217;s not something I have time to deal with&#8221;. Instead he effectively said &#8220;<strong>I&#8217;m just going to trust you to do the right thing</strong>&#8220;.   Ignoring the specifics of the request, I feel that is quite something. Gerv and I don&#8217;t intersect much within the project, and I&#8217;m still not particularly visible within Mozilla &#8211; I&#8217;m not a module owner, or a peer, or a MoCo employee. Those facts alone would be enough to inspire caution. And yet he defaulted to &#8220;you&#8217;re a fellow Mozillian; I can trust you&#8221;. That is rewarding on a pretty deep level, to receive an unexpected affirmation that not only are you fixing bugs, you&#8217;re quietly earning the trust and respect of your peers.</p>
<p>Just another reason why being a member of the Mozilla community is so great.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/05/17/trust-in-mozilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Current status</title>
		<link>http://www.graememcc.co.uk/2012/05/03/current-status/</link>
		<comments>http://www.graememcc.co.uk/2012/05/03/current-status/#comments</comments>
		<pubDate>Thu, 03 May 2012 12:45:44 +0000</pubDate>
		<dc:creator>Graeme McCutcheon</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://www.graememcc.co.uk/?p=53</guid>
		<description><![CDATA[I&#8217;ve been reminded that I&#8217;ve not been poor at updating the blog. Mea culpa. Anyway, some recent fixes of note: Bug 686203 &#8211; Focused contenteditable can prevent other elements from getting focused on right-click, which also fixed bug 578771 and possibly more! Bug 740784 &#8211; Undo (Ctrl+z) in textarea adding a newline (\n) to the [...]]]></description>
				<content:encoded><![CDATA[<p>
I&#8217;ve been reminded that I&#8217;ve not been poor at updating the blog. Mea culpa. Anyway, some recent fixes of note:</p>
<ul>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=686203">686203</a> &#8211; Focused contenteditable can prevent other elements from getting focused on right-click, which also fixed bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=578771">578771</a> and possibly more!</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=740784">740784</a> &#8211; Undo (Ctrl+z) in textarea adding a newline (\n) to the text</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=747163">747163</a> &#8211; TelemetryHistogramType returns failure for HISTOGRAM_FLAG</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=747379">747379</a> &#8211; Cloning a flag histogram with Telemetry::HistogramFrom breaks the &#8220;only one count&#8221; invariant</li>
</ul>
<p><span id="more-53"></span>
</p>
<p>
Currently awaiting reviews for:</p>
<ul>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=663585">663585</a> &#8211; push hooks should print out hg url for the changeset</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=724513">724513</a> &#8211; Startupcache can load invalid cache if unable to delete startupCache file</li>
</ul>
<p>
I&#8217;m also still hard at work on my as yet undisclosed web app. To be concluded and disclosed soon, I promise!
</p>
<p>As I find the model of education interesting, I&#8217;ve also been taking the courses over at <a href="http://www.udacity.com">Udacity</a>. As a computing science graduate, I&#8217;m relieved to report I got the highest possible award on CS101! I&#8217;m currently following their CS212 class &#8211; because Peter Norvig! &#8211; and CS262 &#8211; because, well these courses are slightly addictive. I do find myself wanting to fix up various annoyances and bugs on their site though!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.graememcc.co.uk/2012/05/03/current-status/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
