<?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>I am the blog of Hal Fire, and I bring you... &#187; Mozilla</title>
	<atom:link href="http://blog.mozilla.com/halfire/category/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.com/halfire</link>
	<description>... interesting tidbits of release engineering.</description>
	<lastBuildDate>Wed, 22 Feb 2012 04:13:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Wowza! That&#8217;s a Feature!</title>
		<link>http://blog.mozilla.com/halfire/2012/02/21/wowza_prepending_history/</link>
		<comments>http://blog.mozilla.com/halfire/2012/02/21/wowza_prepending_history/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 04:13:32 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[DVCS]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=91</guid>
		<description><![CDATA[&#160; tl;dr Wowza! I found the killer feature in git &#8211; you can have your cake and eat it, too! Every time I&#8217;ve had to move to a new VCS, there&#8217;s never been enough time available to move the complete &#8230; <a href="http://blog.mozilla.com/halfire/2012/02/21/wowza_prepending_history/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<h3 class="title">tl;dr</h3>
<p>Wowza! I found the killer feature in git &#8211; you can have your cake and eat it, too!</p>
<p>Every time I&#8217;ve had to move to a new VCS, there&#8217;s never been enough time available to move the complete history correctly. Linux had this problem in spades when they moved off BitKeeper onto git in a very-short-time.</p>
<p>The solution? Take your time to convert the history correctly (or not, you can correct later), then allow developers who want it to prepend it on their machines, without making their repo &#8220;different&#8221; from the latest one.</p>
<p>I only found a reference to this feature last Friday &#8211; it used to require breaking the warranty, but is not supported as a first class command. More later, but to see how (and create you&#8217;re own prepended history), see: <a class="reference external" href="https://github.com/hwine/git_playground/tree/master/prepend_history">https://github.com/hwine/git_playground/tree/master/prepend_history</a></p>
<p>Much thanks to Scott Chacon and his writeup on &#8220;git replace&#8221; at <a class="reference external" href="http://progit.org/2010/03/17/replace.html">http://progit.org/2010/03/17/replace.html</a></p>
<p>As my README shows, I have some more details to learn, but for now, just WOWZA!!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/02/21/wowza_prepending_history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release &#8220;As-Is&#8221; at high level</title>
		<link>http://blog.mozilla.com/halfire/2012/02/01/releng_as-is_snapshot/</link>
		<comments>http://blog.mozilla.com/halfire/2012/02/01/releng_as-is_snapshot/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 23:50:44 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[DVCS]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=75</guid>
		<description><![CDATA[[Refer to the main page for additional context.] Where we are in January 2012 The purpose of this post is to present a very high level picture of the current Firefox build &#38; release process as a set of requirements. &#8230; <a href="http://blog.mozilla.com/halfire/2012/02/01/releng_as-is_snapshot/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>[Refer to the <a class="reference external" href="../../../releng_and_git_project/">main page</a> for additional context.]</p>
<div class="section" id="where-we-are-in-january-2012">
<h1>Where we are in January 2012</h1>
<p>The purpose of this post is to present a very high level picture of the current Firefox build &amp; release process as a set of requirements.  Some of these services are provided or supported by groups outside of releng (particularly it &amp; webdev). This diagram will be useful in understanding the impact of changes.</p>
</p></div>
<div class="section" id="system-scope">
<h1>System Scope</h1>
<p>Here is how I&#8217;m defining the boundaries of the current system:</p>
<ul class="simple">
<li>Applies to anything &amp; everything involved in producing artifacts that are directly installed on an end user&#8217;s device.
<ul>
<li>In: Firefox, Thunderbird, Seamonkey</li>
<li>Not in: services such as browser id, sync, the addons.m.o., apps, and other code that executes on Mozilla&#8217;s servers.</li>
<li>Not in: extensions themselves (they are installed into FF/TB, not directly onto the end user&#8217;s device). Yes, that is a hair I want to split. <a class="footnote-reference" href="#f01" id="id1">[1]</a></li>
</ul>
</li>
<li>But only if the entire process happens &quot;inside the Mozilla firewall&quot;. (For example, the download mirrors are not in scope.)</li>
</ul>
<table class="docutils footnote" frame="void" id="f01" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label"><a class="fn-backref" href="#id1">[1]</a></td>
<td>There may be some extensions, such as the Thunderbird Lightening, that cross this line. For now, I&#8217;ll ignore those.</td>
</tr>
</tbody>
</table></div>
<div class="section" id="the-developer-services">
<h1>The Developer Services</h1>
<p><em>N.B. these are only repository related services that a devloper commonly accesses.</em></p>
<p>With this setup, there is official support for:</p>
<ul class="simple">
<li>pulling from Mercurial repositories hosted at mozilla.org (hg.m.o)</li>
<li>commit access from developer&#8217;s own clone of the Mercurial repository (with committer policy enforcement)</li>
<li>&quot;try server&quot; access from developer&#8217;s own clone of the Mercurial repository</li>
<li>continuous integration based on commits to hg.m.o</li>
<li>tracking of results of commit compilation &amp; testing, via tbpl.m.o.</li>
<li>web viewing of repositories</li>
<li>web cross reference of many repositories on mxr.m.o</li>
</ul></div>
<div class="section" id="the-picture">
<h1>The Picture</h1>
<p> <img alt="Block diagram" class="aligncenter size-full wp-image-80" src="/halfire/files/2012/02/DVCSAs-Is2.png" swidth="1243" height="651" /> </div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/02/01/releng_as-is_snapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Ideal DVCS Goal</title>
		<link>http://blog.mozilla.com/halfire/2012/01/26/dvcs_end_result/</link>
		<comments>http://blog.mozilla.com/halfire/2012/01/26/dvcs_end_result/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 02:45:10 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[DVCS]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=67</guid>
		<description><![CDATA[[Refer to the main page for additional context.] Based on discussions to date, everyone seems to have similar ideas about what &#34;supporting git for releng&#34; means. Later posts will highlight the work needed to ensure the ideal can be achieved, &#8230; <a href="http://blog.mozilla.com/halfire/2012/01/26/dvcs_end_result/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>[Refer to the <a class="reference external" href="./releng_and_git_project/">main page</a> for additional context.]</p>
<p>Based on discussions to date, everyone seems to have similar ideas about what &quot;supporting git for releng&quot; means. Later posts will highlight the work needed to ensure the ideal can be achieved, and how to arrive there.</p>
<p>For this post, I intend to limit the viewpoint and scope to that of the developer impact. Release notions (such as &quot;system of record&quot;) and scaling issues won&#8217;t be mentioned here. (N.B. Those concerns will be a key part of the path to verifying feasibility, but do not change the goal.)</p>
<p>As a reminder, I&#8217;m just talking about repositories that are used to produce products. <a class="footnote-reference" href="#f1" id="id1">[1]</a></p>
<div class="section" id="the-ideal-future">
<h1>The Ideal Future</h1>
<p>The Ideal: In the future, each contributor will be as free to choose their DVCS of choice as they currently are to choose a text editor.</p>
<p>Since that&#8217;s a pretty general statement, let me limit it a bit with some caveats that I expect will apply.</p>
<ul class="simple">
<li>This may only be true at a technical level, as various teams might have social conventions or alternate tooling that will limit DVCS choices.</li>
<li>Initial planning will be for products <a class="footnote-reference" href="#f1" id="id2">[1]</a> that are released via the Release Engineering team. <a class="footnote-reference" href="#f2" id="id3">[2]</a></li>
<li>The current set of supported DVCS would be <cite>hg</cite> and <cite>git</cite>. By supported, I think folks roughly mean:
<ul>
<li>an officially supported way get the latest revision of any official branch/repository, without any extra work on the part of the developer.</li>
<li>an officially supported way to interact with existing Mozilla hosted tools, such as the try server, tbpl, etc.</li>
<li>an officially supported way to commit from the DVCS, that supports the current commit workflow (and policy).</li>
</ul>
</li>
<li>There will be support of social coding sites. I think support means providing an officially supported mechanism to keep &quot;current&quot; instances of each official branch in the social coding sites. The goal would be to allow developers to utilize the enhanced services offered by those sites to view, clone, and share work prior to doing an official commit.</li>
</ul></div>
<div class="section" id="next-steps">
<h1>Next Steps</h1>
<ol class="arabic simple">
<li>This post will help validate that the above vision has a wider consensus. Please pass this link along and add your comments below.</li>
<li>Keep an eye on the <a class="reference external" href="./releng_and_git_project.html">main page</a> for more material.</li>
</ol>
<hr class="docutils" />
<table class="docutils footnote" frame="void" id="f1" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label">[1]</td>
<td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>)</em> I&#8217;m using &quot;products&quot; to distinquish binaries Mozilla provides to the end users to install on their computers from &quot;services&quot; Mozilla hosts. Product examples include Firefox and Thunderbird. Service examples include Sync and BrowserID.</td>
</tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="f2" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label"><a class="fn-backref" href="#id3">[2]</a></td>
<td>The rationale for starting with existing products is that is where the majority of our developers work. Additionally, the existing continuous build &amp; test infrastructure will place some constraints on DVCS workflows. Once those constraints are documented, other projects can make informed decisions on their usage.</td>
</tr>
</tbody>
</table></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/01/26/dvcs_end_result/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Releng &amp; Git Project Overview</title>
		<link>http://blog.mozilla.com/halfire/2012/01/26/releng_and_git_project/</link>
		<comments>http://blog.mozilla.com/halfire/2012/01/26/releng_and_git_project/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:05:04 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[DVCS]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=63</guid>
		<description><![CDATA[Contents Posts in the Series Glossary Related &#38; Reference Material This is the first in a series of posts about the &#34;support git in releng&#34; project. The goal of this project, as stated in bug 713782, is: &#8230; The idea &#8230; <a href="http://blog.mozilla.com/halfire/2012/01/26/releng_and_git_project/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#posts-in-the-series" id="id1">Posts in the Series</a></li>
<li><a class="reference internal" href="#glossary" id="id2">Glossary</a></li>
<li><a class="reference internal" href="#related-reference-material" id="id3">Related &amp; Reference Material</a></li>
</ul></div>
<p>This is the first in a series of posts about the &quot;support git in releng&quot; project. The goal of this project, as stated in <a class="reference external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=713782">bug 713782</a>, is:</p>
<blockquote><p> &#8230; The idea here is to see if we can support git in Mozilla&#8217;s RelEng infrastructure, to at least the same standard (or better) as we already currently support hg.</p></blockquote>
<p>My hope is that blog posts will be a better forum for discussion than the tracking <a class="reference external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=713782">bug 713782</a>, or a wiki page, at this stage.</p>
<p>These posts will highlight the various issues, so that the vague definitions above become clear, as do the intermediate steps needed to achieve completion.</p>
<div class="section" id="posts-in-the-series">
<h1><a class="toc-backref" href="#id1">Posts in the Series</a></h1>
<p>Overview &amp; context:</p>
<blockquote><ul class="simple">
<li><a class="reference external" href="../dvcs_end_result/">Where we want to end up</a></li>
<li><a class="reference external" href="../../../releng_as-is_snapshot/">Where we are today</a></li>
</ul>
</blockquote></div>
<div class="section" id="glossary">
<h1><a class="toc-backref" href="#id2">Glossary</a></h1>
<p><em>The project goal (above) has a few terms that need defining, so they mean the same thing to all of us. And the discussion will introduce some terms as well. As these come up, they will be added here.</em></p>
<blockquote><dl class="docutils">
<dt><em>Mozilla Products</em></dt>
<dd>Software delivered to the end user for installation directly on their computer.</dd>
<dt><em>Releng Infrastructure</em></dt>
<dd>The processes &amp; machines that are used to produce Mozilla Products, from the source code repository through continuous integration and testing to the product binaries ready for the end user.</dd>
</dl>
</blockquote></div>
<div class="section" id="related-reference-material">
<h1><a class="toc-backref" href="#id3">Related &amp; Reference Material</a></h1>
<ul class="simple">
<li>Master tracking is occurring in <a class="reference external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=713782">bug 713782</a></li>
<li>John O&#8217;Duinn&#8217;s post &quot;<a class="reference external" href="http://oduinn.com/blog/2011/12/29/is-it-git-or-is-it-github/">is it git or is it github</a>&quot;</li>
</ul>
<p>What folks have already done:</p>
<blockquote><ul class="simple">
<li>doublec&#8217;s mozilla-central on github <a class="reference external" href="https://github.com/doublec/mozilla-central">https://github.com/doublec/mozilla-central</a></li>
<li>bholley &amp; jlebar&#8217;s tools to easy committing to hg from git <a class="reference external" href="https://github.com/jlebar/moz-git-tools">https://github.com/jlebar/moz-git-tools</a></li>
</ul>
</blockquote></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/01/26/releng_and_git_project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8230; a view from Outside</title>
		<link>http://blog.mozilla.com/halfire/2012/01/22/a-view-from-outside-2/</link>
		<comments>http://blog.mozilla.com/halfire/2012/01/22/a-view-from-outside-2/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 00:30:35 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=37</guid>
		<description><![CDATA[tl;dr One of the things that excited me about the opportunity to work at Mozilla was the chance to change perspectives. After working in many closed environments, I knew the open source world of Mozilla would be different. And that &#8230; <a href="http://blog.mozilla.com/halfire/2012/01/22/a-view-from-outside-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="tl-dr" class="section">
<h2>tl;dr</h2>
<p>One of the things that excited me about the opportunity to work at Mozilla was the chance to change perspectives. After working in many closed environments, I knew the open source world of Mozilla would be different. And that would lead to a re-examination of basic questions, such as:</p>
<blockquote>
<div>
<p><strong>Q:</strong> Are there any significant differences in the role a VCS plays at Mozilla than at j-random-private-enterprise?</p>
<p><strong>A:</strong> At the scale of Mozilla Products <a id="id1" class="footnote-reference" href="#f3">[1]</a>, I don’t believe there are.</p>
</div>
</blockquote>
<p>But the question is important to ask! (And I hope to ask more of them.)</p>
</div>
<div id="summary" class="section">
<h2>Summary</h2>
<p>So things are different at Mozilla, but isn’t that always the case when changing jobs? Well, yes, but Mozilla appears to be <em>more</em> different:</p>
<blockquote>
<div>
<ul class="simple">
<li>We’re guided by our <a class="reference external" href="http://www.mozilla.org/about/mission.html">Mission Statement</a>.</li>
<li>We produce open source products.</li>
<li>We’re owned by a not for profit foundation.</li>
<li>Much that most companies would consider “trade secrets” or “proprietary information” about process or plans, we discuss in public.</li>
</ul>
</div>
</blockquote>
<p>But, how different does this make the inner workings of Mozilla? As a release engineer, how would my day-to-day work change? How much of what-I-thought-I-knew need to be thrown out? Would I be putting myself into an “everything you know is wrong” situation? <a id="id2" class="footnote-reference" href="#f1">[2]</a></p>
<p>I’m sure I’ll be dealing with this cultural shift for at least my first year. I’m looking forward to this, as it will be a wonderful opportunity to examine a number of assumptions I’ve mad for years, that may no longer be useful. (And, even if one assumption is discarded, I don’t know if it will be replaced by one that contradicts the original, or subsumes the original with a more general understanding of the process.)</p>
<p>For example, one such question I’m currently pondering is: what is the role of the VCS (version control system) in an environment like Mozilla? Does it differ from private enterprise? If so, how? This question is one I’m keenly interested in, both philosophically, and practically. As is often the case, writing about it clarified some things for me. I hope folks who comment will help polish it further.</p>
</div>
<div id="what-services-are-provided-by-a-vcs" class="section">
<h2>What Services are provided by a VCS</h2>
<p>One might (and I suspect many readers will) think this is a silly question. A VCS exists to support developers. Period. Historically, that’s a very valid point. If one is just looking at software development, we can put the development team in the center of everything:<br />
<img src="/halfire/files/2012/01/chart1.png" alt="Figure 1" /><br />
Most development operations now have a number of automated systems which interact with the VCS, including:</p>
<blockquote>
<div>
<ul class="simple">
<li>defect tracking</li>
<li>continuous integration</li>
<li>metrics (code churn, bug density analysis, etc)</li>
</ul>
</div>
</blockquote>
<p><img src="/halfire/files/2012/01/chart2.png" alt="Figure 2" /><br />
Toughest of all to spot are the non-automated policies that rely on certain behavior being stable over a long period of time. These implicit contracts impact operations such as:</p>
<blockquote>
<div>
<ul class="simple">
<li>legal audit trails <a id="id3" class="footnote-reference" href="#f2">[3]</a></li>
<li>disaster recovery plans</li>
<li>the <em>big</em> boss’s custom metrics script that assumes things don’t change.</li>
</ul>
</div>
</blockquote>
<p><img src="/halfire/files/2012/01/chart3.png" alt="Figure 3" /><br />
I won’t attempt to draw it, but now imagine that every data store and automated process in those diagrams need to be replicated or clustered for scaling and HA. All of a sudden, our nice neat little VCS system has gotten out of hand. Any change has to meet the needs of the entire user community, not just the developers.</p>
<hr class="docutils" />
<table id="f3" class="docutils footnote" frame="void" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label"><a class="fn-backref" href="#id1">[1]</a></td>
<td>Here I’m using “product” to mean something that is produced my Mozilla and installed on end user devices. (Firefox, Thunderbird, Seamonkey are all examples.) Mozilla also provides services, which may have different needs.</td>
</tr>
</tbody>
</table>
<table id="f1" class="docutils footnote" frame="void" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label"><a class="fn-backref" href="#id2">[2]</a></td>
<td>This is what programmers were told when they started to program the first Macintosh, as it required a change from procedural flow to event driven flow. Of course, that was a huge lie, as many programming fields already used event driven programming. (Even <a class="reference external" href="http://en.wikipedia.org/wiki/IBM_RPG">RPG II</a>, but that’s another story.)</td>
</tr>
</tbody>
</table>
<table id="f2" class="docutils footnote" frame="void" rules="none">
<colgroup>
<col class="label" />
<col /></colgroup>
<tbody valign="top">
<tr>
<td class="label"><a class="fn-backref" href="#id3">[3]</a></td>
<td>Mozilla has these &#8211; the <a class="reference external" href="http://www.mozilla.org/hacking/notification/">commiter’s agreement</a> combined with <a class="reference external" href="http://www.mozilla.org/hacking/commit-access-policy/">commit level authorization</a></td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/01/22/a-view-from-outside-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8230; irssi-&gt;growl on Lion</title>
		<link>http://blog.mozilla.com/halfire/2012/01/04/irssi-growl-on-lion/</link>
		<comments>http://blog.mozilla.com/halfire/2012/01/04/irssi-growl-on-lion/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 05:34:49 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[irssi]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=21</guid>
		<description><![CDATA[Okay, it&#8217;s a lie &#8211; I&#8217;m only bring you a link. Lukas pointed me to this neat hack to hook a remote irssi instance into local growl. My only tweak was I had to find where growlnotify is kept for &#8230; <a href="http://blog.mozilla.com/halfire/2012/01/04/irssi-growl-on-lion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okay, it&#8217;s a lie &#8211; I&#8217;m only bring you a link. <a href="http://crashopensource.blogspot.com/">Lukas</a> pointed me to <a href="http://justindow.com/2010/03/26/irssi-screen-and-growl-oh-my/">this neat hack</a> to hook a remote irssi instance into local growl.</p>
<p>My only tweak was I had to find where <code>growlnotify</code> is kept for the (paid) version 1.3. It&#8217;s <a href="http://growl.info/downloads">here</a>.</p>
<p>Just got a growl message that my boss mentioned me in the team channel, so I know it works!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/01/04/irssi-growl-on-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survey Surprise</title>
		<link>http://blog.mozilla.com/halfire/2012/01/04/survey-surprise/</link>
		<comments>http://blog.mozilla.com/halfire/2012/01/04/survey-surprise/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 21:26:28 +0000</pubDate>
		<dc:creator>Hal Wine</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[DVCS]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/halfire/?p=16</guid>
		<description><![CDATA[[Just a quick note, because I love being surprised. More details on the survey after I scrub it some more.] As some of you know, I put out a survey to learn a bit about how Mozillians are using hg &#8230; <a href="http://blog.mozilla.com/halfire/2012/01/04/survey-surprise/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>[Just a quick note, because I love being surprised. More details on the survey after I scrub it some more.]</em></p>
<p>As some of you know, I put out a survey to learn a bit about how Mozillians are using hg &amp; git &amp; github. (Don&#8217;t worry if you missed it, as further incarnations of it are likely to be coming as I work through the support-git project.) First, a disclaimer: this survey was not rigorous (I&#8217;m not a <a href="http://en.wikipedia.org/wiki/Psychometrics">psychometrician</a>) and the sample size was quite small (42 respondents), from a skewed selection of the community (mostly employees).</p>
<p>I expected to find quite a few folks answering <a href="http://oduinn.com/blog/2011/12/29/is-it-git-or-is-it-github/">John&#8217;s question</a> with &quot;it&#8217;s not git, it&#8217;s github&quot;, and I did. But what did surprise me is <em>why</em> they liked github. It had little to do with defect tracking, code review mechanisms, or other proprietary workflow enhancements. (These were cited by some, and will be in further analysis.)</p>
<p><strong>It had everything to do with &quot;social coding&quot;, and the positive impact it has on <em>Community</em>!</strong></p>
<p>Two thirds of respondents who expressed an opinion on github cited &quot;social coding&quot; as a major reason. WOW! Some of the more exciting answers to &quot;What I like best about github is&quot; included:</p>
<blockquote>
<p><em>How you can easily see what people are doing with forks of your project.</em></p>
<p><em>Discoverability. Put your [stuff] on GitHub and people will not only find it but also fix it. Simple as that.</em></p>
<p><em>incredibly low barrier to hosting code in a highly visible way, and collaborating with other projects.</em></p>
<p><em>Ease of collaboration, I get pull requests from people I don&#8217;t even know.</em></p>
</blockquote>
<p>I had previously heard from project leaders that they perceived that social coding sites (like github &amp; bitbucket) increased community involvement. Some of these comments suggest we may be able to collect data on the effect.</p>
<p>I do enjoy surprises like this &#8211; they help clear away the cobwebs of <a href="http://www.brainyquote.com/quotes/quotes/w/willrogers385286.html">&quot;stuff that ain&#8217;t so&quot;</a> from my brain. This point may well help me focus the abstract &quot;bring git to parity&quot; into &quot;remove impediments to using social coding sites&quot;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/halfire/2012/01/04/survey-surprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

