<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Agile Teams, Open Software, Passionate Users</title>
	<atom:link href="http://ianclatworthy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ianclatworthy.wordpress.com</link>
	<description>Life is too short for anything else ...</description>
	<lastBuildDate>Sun, 18 Dec 2011 18:23:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ianclatworthy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Agile Teams, Open Software, Passionate Users</title>
		<link>http://ianclatworthy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ianclatworthy.wordpress.com/osd.xml" title="Agile Teams, Open Software, Passionate Users" />
	<atom:link rel='hub' href='http://ianclatworthy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Tough times &#8230; Easy choices</title>
		<link>http://ianclatworthy.wordpress.com/2010/05/22/tough-times-easy-choices/</link>
		<comments>http://ianclatworthy.wordpress.com/2010/05/22/tough-times-easy-choices/#comments</comments>
		<pubDate>Sat, 22 May 2010 02:40:24 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/?p=77</guid>
		<description><![CDATA[It&#8217;s been a rough few weeks with news from my doctors about a new (rectal cancer) tumor that they are unable to remove. No-one can say with certainty how long I&#8217;ve got to live &#8211; cancer progression is a very individual thing &#8211; but my surgeon has indicated it could be as little as 3 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=77&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a rough few weeks with news from my doctors about a new (rectal cancer) tumor that they are unable to remove. No-one can say with certainty how long I&#8217;ve got to live &#8211; cancer progression is a very individual thing &#8211; but my surgeon has indicated it could be as little as 3 months. Furthermore, there&#8217;s nothing Western medicine can do to prolong my life, though it can &#8211; and has &#8211; got my terrible pain of the last few months under control.</p>
<p>News like that is really hard to process. I wanted a second opinion and ended up receiving 5 or 6 of them from numerous specialists. The consensus was unanimous &#8230;</p>
<p>&#8220;Go out and enjoy every minute of the time you have left&#8221;.</p>
<p>Paradoxically, the worse the news, the easier it turns out to decide what to do. While I&#8217;m truly blessed with the best job in the world, it&#8217;s time to spend less time in front of a computer and more time with my family and friends, particularly my 3 kids. From Monday, I&#8217;ll be working part-time (for the first time since 1988).</p>
<p>Time also for a really good holiday. There are places I&#8217;d like to see and, quite frankly, it&#8217;s now or never! Given the nature of travel insurance, I&#8217;m now unlikely to see many of those places overseas but that still leaves a huge list of amazing places in Australia to visit.</p>
<p>Some people would say I&#8217;m lucky to know in advance that my time is nearly up and that many others never get that forward notice. I&#8217;m in two minds about that. The down side is that thinking about one&#8217;s death becomes terribly paralyzing at times. I frequently get angry about dying so young. There is still so much I want to do and  so much I want to see. I strongly believe that we&#8217;re all responsible for making the world a better place. I&#8217;m proud of what I&#8217;ve achieved but, given another 43 years, it could be so much more.</p>
<p>Here&#8217;s hoping that I can prove the doctors wrong and live for many more years instead of just a few months. Miracles do happen. I plan to stay out of pain, focus on really good nutrition, rest a lot, enjoy every moment and hope the cancer spreads slowly (or disappears altogether!). In the meantime, here&#8217;s hoping someone has a mega-brainwave and cures cancer. How hard can it be?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=77&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2010/05/22/tough-times-easy-choices/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Two of the things on my mind</title>
		<link>http://ianclatworthy.wordpress.com/2009/11/07/two-of-the-things-on-my-mind/</link>
		<comments>http://ianclatworthy.wordpress.com/2009/11/07/two-of-the-things-on-my-mind/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 02:08:48 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/?p=71</guid>
		<description><![CDATA[Last week, my battle with colorectal cancer turned ugly again with confirmation that it had returned. After 15+ months of radiation treatment, major surgery x 2, hyperbaric oxygen treatment, chemotherapy and recovering from a stoma reversal, it was news I could have done without. The good news is that my liver looks OK. The bad [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=71&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week, my battle with colorectal cancer turned ugly again with confirmation that it had returned. After 15+ months of radiation treatment, major surgery x 2, hyperbaric oxygen treatment, chemotherapy and recovering from a stoma reversal, it was news I could have done without.<br />
The good news is that my liver looks OK. The bad news is that the cancer has reached my lungs and possibly the pelvis bone. Chemotherapy started again last Monday.</p>
<p>As you can imagine, I have a lot on my mind right now. Two things keep popping into my head though: bacteria under rocks in Antarctica and a quote by Steve Jobs. I keep thinking of the first thing because it reminds me that, no matter how harsh the circumstances, life finds a way to survive. The quote by Steve is essentially this: “We’re put on this Earth to make a dent&#8221;. My job in this lifetime is far from done so I plan being around for a long time yet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=71&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2009/11/07/two-of-the-things-on-my-mind/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Bazaar Explorer by Pictures</title>
		<link>http://ianclatworthy.wordpress.com/2009/07/03/bazaar-explorer-by-pictures/</link>
		<comments>http://ianclatworthy.wordpress.com/2009/07/03/bazaar-explorer-by-pictures/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 15:02:04 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/?p=59</guid>
		<description><![CDATA[While building a GUI application is pretty easy these days, designing a good one remains a difficult problem. It took many years before I found GUI emails clients more productive than pine and just as long before programming in an IDE was more productive than the best editors around. As a dedicated fan/developer of Bazaar, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=59&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While building a GUI application is pretty easy these days, designing a good one remains a difficult problem. It took many years before I found GUI emails clients more productive than pine and just as long before programming in an IDE was more productive than the best editors around. As a dedicated fan/developer of Bazaar, I&#8217;ve spent most of the last few years being a command-line junkie. In recent weeks though, I&#8217;ve started up a project that aims to change that: Bazaar Explorer.<span id="more-59"></span></p>
<p>Bazaar Explorer is a cross-platform desktop application that runs on Windows, GNOME, KDE and OS X. It doesn&#8217;t try to be a poor implementation of a file manager or a brain-dead IDE. Instead, it focuses on version control stuff: managing branches, managing changes and collaboration. While it&#8217;s not cooked enough yet for me to completely abandon the command line, it&#8217;s coming along nicely and is proving just as productive, if not more so, for some common version control tasks. Here&#8217;s a brief introduction by pictures.</p>
<p>On start-up, a Welcome page is presented if a location isn&#8217;t specified:</p>
<p><img class="alignnone size-full wp-image-53" title="Welcome - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/welcome-bazaar-explorer.png?w=460&#038;h=342" alt="Welcome - Bazaar Explorer" width="460" height="342" /></p>
<p>As shown above, I&#8217;ve created bookmarks to several of the repositories I have on my PC, one repository per project. I also have some bookmarks that navigate straight to commonly accessed branches. (&#8220;core&#8221; is the core Bazaar project btw.)</p>
<p>Double-clicking on a repository opens the repository view:</p>
<p><img class="alignnone size-full wp-image-54" title="core - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/core-bazaar-explorer.png?w=460&#038;h=342" alt="core - Bazaar Explorer" width="460" height="342" /></p>
<p>At the top are the branches (and other objects) nested inside the repository. Below that are details about the currently selected object. Double-clicking on a branch opens it:</p>
<p><img class="alignnone size-full wp-image-55" title="review [core] - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/review-core-bazaar-explorer.png?w=460&#038;h=342" alt="review [core] - Bazaar Explorer" width="460" height="342" /></p>
<p>This gives a status report on the current working tree: any conflicts found, what&#8217;s new, what&#8217;s changed, etc. From the report, you can click on a file to open it in your editor or see the per-file diff. The full diff, together with a heap of other branch operations, is available by clicking on the relevant toolbar button.</p>
<p>Easy access to Bazaar&#8217;s various configuration files is provided by the Settings menu:</p>
<p><img class="alignnone size-full wp-image-56" title="Settings - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/settings-bazaar-explorer.png?w=460&#038;h=342" alt="Settings - Bazaar Explorer" width="460" height="342" /></p>
<p>Furthermore, you can define your own tools and launch them from the Tools menu. In Explorer, a tool is either a special bzr command (like lp-open or pqm-submit), a local application (like KCacheGrind or Qt Designer) or a web site.</p>
<p><img class="alignnone size-full wp-image-57" title="Tools - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/tools-bazaar-explorer.png?w=460&#038;h=342" alt="Tools - Bazaar Explorer" width="460" height="342" /></p>
<p>Explorer recognises that many users have different needs at different times: one open source project vs another, work vs home, one client vs another, advanced user vs trainer, etc. As such, you can create, download and switch &#8220;hats&#8221; &#8211; collections of tools and bookmarks you want to use together.</p>
<p><img class="alignnone size-full wp-image-58" title="Switch Hat - Bazaar Explorer" src="http://ianclatworthy.files.wordpress.com/2009/07/switch-hat-bazaar-explorer.png?w=460&#038;h=342" alt="Switch Hat - Bazaar Explorer" width="460" height="342" /></p>
<p>Even better than defining your own tools is reusing a set of tools that someone else has already put together! If you&#8217;re a core developer or team leader on a project, you can define a hat for others to use and include links to all the important websites they&#8217;ll need: the issue tracker, wiki, build server, qa results, etc. That ought to mean less ramp up time for new contributors on open source projects or new staff on in-house projects. See <a href="http://bazaar-vcs.org/BzrExplorer/Hats">http://bazaar-vcs.org/BzrExplorer/Hats</a> for details.</p>
<p>In summary, I think Bazaar Explorer is pretty cool. For a weekend project that only started in June, I&#8217;m blown away by how quickly it&#8217;s come together. I can thank the combination of cool technology (Python, Qt, bzrlib, QBzr, bzr-gtk) and keen early adopters for that. A special thanks goes to Alexander Belchenko who has helped heaps, removing bugs almost as quickly as I&#8217;ve put them in. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  If you haven&#8217;t already, please give Bazaar Explorer a try. If you like it, please consider translating it to your native language and/or joining the Bazaar Explorer Developers team. We&#8217;d love to have more developers on board, particularly if you&#8217;re a KDE or OS X user.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=59&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2009/07/03/bazaar-explorer-by-pictures/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/welcome-bazaar-explorer.png" medium="image">
			<media:title type="html">Welcome - Bazaar Explorer</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/core-bazaar-explorer.png" medium="image">
			<media:title type="html">core - Bazaar Explorer</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/review-core-bazaar-explorer.png" medium="image">
			<media:title type="html">review [core] - Bazaar Explorer</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/settings-bazaar-explorer.png" medium="image">
			<media:title type="html">Settings - Bazaar Explorer</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/tools-bazaar-explorer.png" medium="image">
			<media:title type="html">Tools - Bazaar Explorer</media:title>
		</media:content>

		<media:content url="http://ianclatworthy.files.wordpress.com/2009/07/switch-hat-bazaar-explorer.png" medium="image">
			<media:title type="html">Switch Hat - Bazaar Explorer</media:title>
		</media:content>
	</item>
		<item>
		<title>Announcing the Community-Agile project</title>
		<link>http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/</link>
		<comments>http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 14:47:39 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/?p=42</guid>
		<description><![CDATA[I&#8217;m pleased to announce a new project that aims to extend Agile software development with successful practices used in the Open Source community. The goal is to create and support a process framework that teams and communities, both open source and commercial, can download and customize to meet their needs. To start the ball rolling, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=42&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce a new project that aims to extend Agile software development with successful practices used in the Open Source community. The goal is to create and support a process framework that teams and communities, both open source and commercial, can download and customize to meet their needs.</p>
<p>To start the ball rolling, I&#8217;m pleased to announce the <a href="http://ianclatworthy.wordpress.com/community-agile/">Manifesto for Community-Agile Software Guidance</a>. Anyone can sign this &#8211; simply go to the page and add a comment indicating that you agree! More importantly, a paper explaining the values, principles and practices is available in numerous formats including <a href="http://people.ubuntu.com/~ianc/papers/community-agile/community-agile.html">html</a> and <a href="http://people.ubuntu.com/~ianc/papers/community-agile/community-agile.pdf">pdf</a>. (I was planning to present this paper at <a href="http://en.oreilly.com/oscon2008/public/schedule/detail/3458">OSCON 2008</a> but unfortunately can&#8217;t travel at this time.)</p>
<p>To get involved, visit <a href="https://launchpad.net/~community-agile">https://launchpad.net/~community-agile</a> and join the team!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=42&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>How can I help?</title>
		<link>http://ianclatworthy.wordpress.com/2008/06/26/how-can-i-help/</link>
		<comments>http://ianclatworthy.wordpress.com/2008/06/26/how-can-i-help/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 13:27:07 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/?p=34</guid>
		<description><![CDATA[Exactly two weeks ago, I received some bad news which will undoubtedly change my life &#8211; I have bowel cancer. At 41, I&#8217;m much too young to die and I&#8217;m pleased to say that I&#8217;m not likely to in the near future. Even so, I&#8217;m in for several months of treatment, surgery and recovery. Nothing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=34&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Exactly two weeks ago, I received some bad news which will undoubtedly change my life &#8211; I have bowel cancer. At 41, I&#8217;m much too young to die and I&#8217;m pleased to say that I&#8217;m not likely to in the near future. Even so, I&#8217;m in for several months of treatment, surgery and recovery. Nothing like a wake-up call like that to trigger re-assessing one&#8217;s priorities in life!</p>
<p>When I started this blog in 2007, I explicitly made the decision to focus it on professional topics and avoid making it about life in general. I gave it the title <em>Agile Teams, Open Software, Passionate Users .. Life is too short for anything else</em>. You can tell it&#8217;s not about life in general because I left <em>Good Wine </em>out of the title. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  There are times like now though when separating professional from personal just doesn&#8217;t make any sense. We simply spend such a large percentage of our waking hours working that happiness at work is directly related to personal happiness for many of us, and good personal health directly impacts our productivity and relationships at work.</p>
<p>In my case, I&#8217;m extremely lucky to be doing the work I do at <a href="http://www.canonical.com/">Canonical</a>. It&#8217;s something I feel deeply passionate about: making it easier to produce great software more efficiently. I also have the privilege of working with a bunch of really smart people and I learn something new from them each and every week, if not every day.</p>
<p>My family and I have been overwhelmed by the amount of support everyone has offered. Almost every one we know has contacted us on hearing the news asking what they can do to help. I&#8217;m writing this article because I want to let people know, regardless of where they live, that they <em>can</em> help. Here&#8217;s how:</p>
<ol>
<li>Don&#8217;t take your health for granted like I did. Early detection of many diseases in the only real defence so <strong>go and get those tests done you&#8217;re been putting off</strong> because you feel fine.</li>
<li>Do something you enjoy and do it well. Life truly is too short to be working in a job you hate or to be wasting time using unproductive processes and tools. (If you use a computer, try <a href="http://www.ubuntu.com">Ubuntu</a>. If you develop software, try <a href="http://bazaar-vcs.org/">Bazaar</a>.)</li>
<li>Take care of the people close to you.</li>
</ol>
<p>We live in a society where talking about one&#8217;s butt simply isn&#8217;t done &#8211; no-one ever goes to the toilet in any novel I&#8217;ve ever read! It&#8217;s not easy telling people that I have <a href="http://www.cancer.gov/cancertopics/pdq/treatment/rectal/patient">rectal cancer</a>, but it&#8217;s <a href="http://en.wikipedia.org/wiki/Cancer#Adult_cancers">common and often fatal</a>. If sharing my story means other people catch it or another disease sooner, then I&#8217;m pleased to have done it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=34&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2008/06/26/how-can-i-help/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Why Distributed Version Control Matters</title>
		<link>http://ianclatworthy.wordpress.com/2007/10/11/why-distributed-version-control-matters/</link>
		<comments>http://ianclatworthy.wordpress.com/2007/10/11/why-distributed-version-control-matters/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 09:00:53 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/2007/10/11/why-distributed-version-control-matters/</guid>
		<description><![CDATA[I&#8217;m presenting a paper later this year at OSDC 2007 on why distributed version control matters and how to implement it effectively. A draft can be found online here: Distributed Version Control &#8211; Why and How. If anyone has any feedback, please let me know soon so I can improve the final version. Update: The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=26&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m presenting a paper later this year at <a href="http://www.osdc.com.au/">OSDC 2007</a> on why distributed version control matters and how to implement it effectively. A draft can be found online here: <a href="http://ianclatworthy.files.wordpress.com/2007/10/dvcs-why-and-how3.pdf" title="Distributed Version Control - Why and How">Distributed Version Control &#8211; Why and How.</a> If anyone has any feedback, please let me know soon so I can improve the final version.</p>
<p><strong>Update:</strong> The final version is now uploaded and linked above (and it&#8217;s really PDF, not PostScript, this time).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=26&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2007/10/11/why-distributed-version-control-matters/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Version Control: Design for Integration</title>
		<link>http://ianclatworthy.wordpress.com/2007/07/30/version-control-design-for-integration/</link>
		<comments>http://ianclatworthy.wordpress.com/2007/07/30/version-control-design-for-integration/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 09:53:42 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Architecture]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/2007/07/30/version-control-design-for-integration/</guid>
		<description><![CDATA[Can you name a single successful software product where more resources (time and money) were spend on developing it than integrating it with other products and systems? I don&#8217;t believe such software products exist. Is that likely to change? If not, what can we do about it as software developers? And what does that mean [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=24&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Can you name a single <em>successful</em> software product where more resources (time and money) were spend on developing it than integrating it with other products and systems? I don&#8217;t believe such software products exist. Is that likely to change? If not, what can we do about it as software developers? And what does that mean for those of us interested in streamlining how developers work in general and delivering better version control tools in particular?</p>
<p>#5 on <a href="http://ianclatworthy.wordpress.com/2007/06/21/version-control-the-future-is-adaptive/" target="_blank">my list of criteria</a> for evaluating version control tools is Integration. Software exists to get things done and it rarely, if ever, exists in isolation. The more successful software is, the more pressure there is to integrate it with other tools and systems. I believe lack of mature integration with other systems will be the #1 reason for many teams delaying their move from a central VCS tool (like CVS and SVN) to a distributed VCS tool (like Bazaar, Git or Mercurial) in the next 12 months. <strong>The good news is that the new breed of VCS tools all do a lot right in terms of enabling integration but we need to do much more. </strong>Firstly, we could and ought to be doing more at the core of the new products. Secondly, we need to get behind the really important integration add-ons and help them reach maturity faster.</p>
<p>At the core product level, Design for Integration comes down to four key things &#8230;<span id="more-24"></span></p>
<ol>
<li>The software must be open.</li>
<li>The software needs a layered architecture.</li>
<li>The total solution needs to be manageable.</li>
<li>A rich domain model is highly desirable.</li>
</ol>
<p>Closed systems are <em>extremely</em> difficult to integrate with. To (partially) quote my own blog title &#8230;</p>
<p align="center"><em>   Open Software &#8211; life is too short for anything else. </em></p>
<p>At a minimum, systems need to support open protocols or open APIs so other products can talk to the product in a stable way. Ideally, the system will be open source so integrators can access, understand and improve the integration points.</p>
<p>The benefits of a layered architecture where the UI is decoupled from back-end services is well understood these days. As well as multiple layers though, multiple communication models are needed &#8211; both synchronous and asynchronous. In other words, systems wanting to integrate cleanly with a product usually need some way of hearing about interesting events in the core product &#8211; even if that is just via email &#8211; in addition to the more common request-response communication model.</p>
<p>Once the various pieces exist and talk to each other as desired, application management issues become really important. The big issues here are things like security (e.g. sharing authentication credentials) and dependency management between the core product and add-ons. Do all the pieces have to be upgraded at exactly the same time or can the core be upgraded then the other pieces at another time?</p>
<p>Finally, it greatly helps if the core product has a rich semantic model at its core. This makes it easier for external products to communicate in a logical way and minimises the amount of data loss when interchanging data with the core product. Mark Shuttleworth captures this point nicely in <a href="http://www.markshuttleworth.com/archives/125" target="_blank">Choose lossless VCS tools if you have that luxury</a>. Truly caring about integration goes even deeper in my opinion: it means explicitly making it easier to carry/manage attributes from external systems that you may not have nor want in your core model. Round-tripping between systems, particularly central &lt;-&gt; distributed VCS tools, is and will remain a fact of life.</p>
<p>Once again, I think the leading distributed VCS systems are all off to a great start in terms on enabling integration. All are open source. All have a layered architecture. On the ease of management front, I think Bazaar and Mercurial are ahead of Git thanks to their <a href="http://ianclatworthy.wordpress.com/2007/07/18/version-control-plug-ins-vs-toolkits/" target="_blank">better plug-in architectures</a>. On the rich domain model front, Bazaar leads the pack. As Robert Collins commented in <a href="https://lists.ubuntu.com/archives/bazaar/2007q3/028591.html" target="_blank">a discussion on Bazaar vs Git</a>, <strong>facts plus heuristics is a better direction than just heuristics alone</strong>. As part of the Bazaar team, of course I think it&#8217;s best! But the things that are common across Bazaar, Mercurial and Git are arguably more important than their differences.  Can we share integration designs and code better across the various distributed VCS communities so all of us get to where we need to be faster?</p>
<p>So what are the really important integration projects we need to get behind? In the Bazaar community, I believe these are:</p>
<ul>
<li>GUI integration projects, particularly <a href="https://launchpad.net/bzr-eclipse" target="_blank">bzr-Eclipse</a> and <a href="https://launchpad.net/tortoisebzr" target="_blank">TortoiseBZR</a></li>
<li>VCS migration/round-tripping projects, particularly <a href="https://launchpad.net/bzr-svn" target="_blank">bzr-svn.</a></li>
</ul>
<p>To some people, projects like these are uninteresting sugar. If that&#8217;s you, please help with our performance and documentation drives! To me though, these projects are some of the most important things going on in the Bazaar community today. Many developers, let alone less technical project contributors, want version control to be largely transparent. After all, in <a href="http://www.jetbrains.com/idea/" target="_blank">great development tools</a> right now, the VCS interface is unified so whether the central repository is hosted in CVS, SVN, Perforce, etc. is largely irrelevant in day to day programming. Mass adoption of distributed VCS technology will need that same level of ubiquitous integration. <strong>If you&#8217;re looking to get more involved in Bazaar development, integration projects are a great place to help. </strong>In true open source tradition, a small number of passionate people can really make a <em>really</em> big difference.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=24&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2007/07/30/version-control-design-for-integration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Version Control: Plug-ins vs Toolkits</title>
		<link>http://ianclatworthy.wordpress.com/2007/07/18/version-control-plug-ins-vs-toolkits/</link>
		<comments>http://ianclatworthy.wordpress.com/2007/07/18/version-control-plug-ins-vs-toolkits/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 15:53:59 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Software Architecture]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/2007/07/18/version-control-plug-ins-vs-toolkits/</guid>
		<description><![CDATA[There&#8217;s no such thing as the perfect version control tool and there never will be. That&#8217;s why extensibility is #4 on my list of evaluation criteria for VCS tools. There will always be pressure on these tools to enable new ways of working, provide more information for decision making and provide smarter integration with other [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=23&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>There&#8217;s no such thing as the perfect version control tool and there never will be.</strong> That&#8217;s why extensibility is #4 on my <a href="http://ianclatworthy.wordpress.com/2007/06/21/version-control-the-future-is-adaptive/" target="_blank">list of evaluation criteria</a> for VCS tools. There will always be pressure on these tools to enable new ways of working, provide more information for decision making and provide smarter integration with other tools. Over and above that, extensibility is really important for both technical and social reasons.</p>
<p>Technically, trying to ship a tool which is all things to all people creates all sorts of problems particularly w.r.t. reliability, my #1 evaluation criteria. <em>Bloatware</em> takes longer to ship each time, quality typically drops regardless, and the extra features don&#8217;t necessarily hit the mark anyway. As Mozilla has shown with Firefox and Thunderbird in recent years, it is far better to produce a rock solid core product that supports plug-ins in a documented way. Done right, the result is higher quality, better performance, and extensions that better meet the needs of the user base anyway.</p>
<p>Socially, a plug-in architecture increases the engagement of the community that grows around successful products. Whether open source or commercial, <a href="http://ianclatworthy.wordpress.com/2007/07/02/it-takes-a-community-to-raise-great-software/">it takes a community to raise great software</a> and plug-ins let that community scratch their itches in a sanctioned way.</p>
<p>There are different ways of tackling the extensibility challenge but <strong>the best way in my experience is by explicitly supporting plug-ins</strong> as Bazaar and Mercurial do. Other tools like Git have gone down the <a href="http://lwn.net/Articles/165202/">well worn toolkit path</a>, and while that&#8217;s much better than having a monolithic application, I believe the plug-in path is a wiser one for a host of reasons.</p>
<p><span id="more-23"></span>Firstly, toolkit products tend to get extensions and enhancements developed as Unix shell scripts or Windows batch files, reducing their portability across platforms and hence usefulness to the user community. Secondly, scripting needs tend to put a negative pressure on the UI in that a large amount of options begin appearing just for scripts. That only gets scripts so far though, so then the raw files tend to be parsed, making it increasingly difficult over time for those formats to evolve. (Encapsulation isn&#8217;t just good theory &#8211; it&#8217;s good practice.) Thirdly, a plug-in architecture puts a positive pressure on the product designers to have a <strong>rich, clean API</strong> for plug-in developers. Tools without that pressure are more likely to have internal APIs that expose physical design details instead of logical design ones. Once again, that leads to a fragile product where few are prepared to make desirable changes after a while in case something breaks. Compatibility dominates as a consideration &#8211; innovation grinds to a halt.</p>
<p>Of the new breed of VCS tools around, I think Bazaar leads the pack w.r.t. its plug-in architecture. <a href="http://bazaar-vcs.org/BzrPlugins">http://bazaar-vcs.org/BzrPlugins</a> lists over 60 plug-ins! And it is easy to write your own as explained here: <a href="http://bazaar-vcs.org/WritingPlugins">http://bazaar-vcs.org/WritingPlugins</a>. Mercurial also has a good plug-in architecture with 30 plug-ins listed on  <a href="http://www.selenic.com/mercurial/wiki/index.cgi/UsingExtensions">http://www.selenic.com/mercurial/wiki/index.cgi/UsingExtensions</a>. Both Bazaar and Mercurial plug-ins can add new commands while Bazaar plug-ins also let you add options to existing commands. Useful stuff.</p>
<p>As well as plug-ins, pre and post command hooks are really useful for integrating VCS tools into your toolset. While Git is lacking in a plug-in architecture, its <a href="http://www.kernel.org/pub/software/scm/git/docs/hooks.html" target="_blank">hook capability</a> looks good and similar in scope to what <a href="http://www.selenic.com/mercurial/wiki/index.cgi/.hgrc" target="_blank">Mercurial is offering</a>. Bazaar also has a useful set of hooks both in the core and scattered across some commonly used plug-ins. The <a href="http://bazaar-vcs.org/BzrHooks" target="_blank">documentation on these</a> needs some work though, an area sure to receive lots of attention as we push hard towards Bazaar 1.0.</p>
<p>Bazaar 0.18 is now available. Please <a href="http://bazaar-vcs.org/Download" target="_blank">download it</a> and give the Bazaar team your feedback so we can make Bazaar 1.0 as good as we possibly can. Here is a sample of the Bazaar plug-ins you may wish to try with it:</p>
<ul>
<li> <a href="http://bazaar-vcs.org/BzrTools" target="_blank">BzrTools</a> -a collection of useful extensions</li>
<li><a href="http://bazaar-vcs.org/bzr-gtk" target="_blank">BzrGtk</a> &#8211; a set of GUI interfaces</li>
<li><a href="http://bazaar-vcs.org/BzrForeignBranches/Subversion" target="_blank">BzrSvn</a> &#8211; round-tripping to SVN repositories</li>
<li>difftools -display differences using the tool of your choice</li>
<li><a href="http://erik.bagfors.nu/bzr-plugins/extmerge/" target="_blank">extmerge</a> &#8211; resolve conflicts after a merge using a GUI tool</li>
<li>dbus &#8211; automatically notify team members on your LAN re branch changes.</li>
<li>and <a href="http://bazaar-vcs.org/BzrPlugins" target="_blank">many, many more</a>.</li>
</ul>
<p>Do you have a favorite Bazaar plug-in? If so, please add a comment below explaining why.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=23&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2007/07/18/version-control-plug-ins-vs-toolkits/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>Wanted: Rock Solid Version Control</title>
		<link>http://ianclatworthy.wordpress.com/2007/07/11/wanted-rock-solid-version-control/</link>
		<comments>http://ianclatworthy.wordpress.com/2007/07/11/wanted-rock-solid-version-control/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 01:54:11 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Collaboration]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/2007/07/11/wanted-rock-solid-version-control/</guid>
		<description><![CDATA[In earlier posts, I outlined the top 6 criteria that teams ought to consider when investigating and selecting a VCS tool: reliability, adaptability, usability, extensibility, integration and low administration. I&#8217;ve just announced the availability of Bazaar 0.18 Release Candidate 1 so now seems a great time to discuss my most important criteria &#8211; reliability. In [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=22&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In earlier posts, I outlined the top 6 criteria that teams ought to consider when investigating and selecting a VCS tool: reliability, adaptability, usability,  extensibility, integration and low administration. I&#8217;ve just <a href="https://lists.ubuntu.com/archives/bazaar/2007q3/027687.html" target="_blank">announced</a> the availability of Bazaar 0.18 Release Candidate 1 so now seems a great time to discuss my most important criteria &#8211; reliability.</p>
<p>In terms of impact on team success, tools are pretty low in the pecking order of things when compared to clear leadership, motivated people and just right processes. However, <strong>the new breed of version control tools are exciting precisely because they change the software development game</strong>: they enable new ways of communicating and that in turn enables new ways of thinking about software development. But outside the <a href="http://www.martinfowler.com/bliki/AlphaGeek.html" target="_blank">AlphaGeeks</a>, Distributed Version Control will only reach criteria mass as a technology across the open source world and in commercial software development shops if we can show the technology is ultra-reliable. To me, that means 3 things: Design for Reliability, extensive test suites and strong auditing, e.g. cryptographic signing of commits.</p>
<p><span id="more-22"></span>Design for Reliability is all about taking a conservative approach &#8211; valuing correctness above other things. As a young software engineer back in the early 90s, 10s of thousands of people woke up to cold showers in Sydney one morning because of a corner-case bug in my code controlling the off peak hot water system. That sort of event tends to have a life long impact on how one designs software! I found it really interesting watching Linus talking about Git&#8217;s design and how someone trying to corrupt the Linux code archives had a similar impact on how he designed Git. I really like how Linus made reliability such an important design consideration for Git yet it hardly got a mention in the <a href="http://developers.slashdot.org/article.pl?sid=07/06/03/004214" target="_blank">almost 400 slashdot comments</a> on the video. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  By offending so many central VCS users by assuming that what&#8217;s best for him must be best for everyone else &#8211; <a href="http://ianclatworthy.wordpress.com/2007/06/21/version-control-the-future-is-adaptive/" target="_blank">a point I&#8217;ve addressed elsewhere</a>, I fear a really important point of his has got lost in the follow-up noise.</p>
<p>As a member of the Bazaar community, I want to see the various DVCS communities working together and learning off each other so we can collectively move the IT industry to a better place. While it might generate more press, I really want to minimize my criticism of other DVCS tools, particularly Mercurial which is my preferred tool after Bazaar. But I do feel it is important to mention that some operations in Bazaar may never be as fast as they are in Mercurial because of reliability-driven design decisions we&#8217;ve explicitly made. For example, Mercurial uses hard links when branching locally making that operation pretty damn quick. In contrast, Bazaar not only copies content because of our <a href="https://bugs.launchpad.net/bzr/+bug/116094" target="_blank">concerns with hard links</a> but cleans up any junk in the archives as it goes. When you branch in Bazaar, you know your new branch is as clean as clean can be. If you don&#8217;t care about that, no problem &#8211; a simple cp -a will get you a new branch real quick instead (without the integrity checks). Robert has reported <a href="http://www.advogato.org/person/robertc/diary.html?start=71" target="_blank">other areas</a> where Bazaar is deliberately more conservative in the name of correctness. Bazaar undoubtedly has its own reliability quirks I&#8217;m not yet aware of. If you like another DVCS tool because it&#8217;s more reliable than Bazaar, please speak up so the Bazaar team can do something about it! Like I said, I think it is very important the various DVCS communities learn from each other and Design for Reliability is something all of us need to be putting at the top of our lists and actively addressing.</p>
<p>An extensive test suite ought to be a mandatory feature of every serious VCS tool released these days. VCS tools need to be reliable across umpteen different operating systems and every one of those has umpteen different versions. In a world where security updates for all major operating systems are released at a high frequency, exactly what an &#8216;operating system version&#8217; means can be very nebulous indeed. If you&#8217;ve never had an application mysteriously break after a Windows hot-fix, my guess is that you&#8217;re in the minority. The same thing will happen on OS X and every major Linux distro at some point &#8211; <em>it&#8217;s just a matter of time</em>. The only safety net you have for verifying that such an important tool is working correctly in your particular environment is an extensive test suite. Bazaar&#8217;s reliability and robustness is no accident: its built-in regression test suite for 0.18 currently has over 7000 tests!</p>
<p>While reliable technologies and algorithms are critical for ensuring repository robustness, completely trusting the integrity of a VCS repository is a far larger topic <a href="http://www.dwheeler.com/essays/scm-security.html" target="_blank">as explained by David Wheeler</a>. Cryptographic signing of commits really matters when it matters. All the leading distributed VCS tools have this while many of the central VCS tools don&#8217;t. In 5 years time, I suspect this feature will be available in all the popular central VCS tools as well, partly driven by the <a href="http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act" target="_blank">Sarbanes-Oxley</a> craze/disease sweeping the US. (Those Enron guys have a <strong>lot</strong> to answer for.) In the meantime, this is another great example of how DVCS technology is leading the way.</p>
<p>As I mentioned earlier, Bazaar 0.18rc1 is now available. Please help us test it by <a href="http://bazaar-vcs.org/Download">downloading it</a> and giving it a go. <em>Just right processes are an important part of delivering reliable software</em> and there is no better time than now to tell us what you think and how we can make it better!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=22&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2007/07/11/wanted-rock-solid-version-control/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
		<item>
		<title>I.T. Professional Development</title>
		<link>http://ianclatworthy.wordpress.com/2007/07/06/it-professional-development/</link>
		<comments>http://ianclatworthy.wordpress.com/2007/07/06/it-professional-development/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 00:54:29 +0000</pubDate>
		<dc:creator>Ian Clatworthy</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://ianclatworthy.wordpress.com/2007/07/06/it-professional-development/</guid>
		<description><![CDATA[So much to read, so little time. Software technologies &#8211; operating systems, applications, programming languages &#8211; rapidly evolve, so I find the Web a better choice than buying book after book on something with such a short half life. As Grady Booch says though in his interesting look 50 years into the future (warning: 12.6 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=16&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So much to read, so little time.</p>
<p>Software technologies &#8211; operating systems, applications, programming languages &#8211; rapidly evolve, so I find the Web a better choice than buying book after book on something with such a short half life. As Grady Booch says though in his <a href="http://www.booch.com/architecture/blog/artifacts/Anniversary.ppt" target="_blank">interesting look 50 years into the future</a> (warning: 12.6 MB), <strong>software engineering fundamentals never go out of style</strong>. The fundamentals are the values, principles and best practices of what we do: Requirements, Architecture, Design, Construction and so on. I keep a list of what I believe are <a href="http://ianclatworthy.wordpress.com/books/">the best books in each of these areas</a>. I hope you find it useful reading as much for what I&#8217;ve left out as included. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I welcome input on evolving this list as we learn more as a profession on the numerous challenges of software development, operations and support.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;blog=1207205&amp;post=16&amp;subd=ianclatworthy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ianclatworthy.wordpress.com/2007/07/06/it-professional-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4662a8ec53e0a17e6abb6909cbde8d67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ian Clatworthy</media:title>
		</media:content>
	</item>
	</channel>
</rss>
