<?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>Umisiri</title>
	<atom:link href="http://umisiri.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://umisiri.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 18 Aug 2009 21:42:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='umisiri.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Umisiri</title>
		<link>http://umisiri.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://umisiri.wordpress.com/osd.xml" title="Umisiri" />
	<atom:link rel='hub' href='http://umisiri.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Deployment is the Goal</title>
		<link>http://umisiri.wordpress.com/2009/08/18/deployment-is-the-goal/</link>
		<comments>http://umisiri.wordpress.com/2009/08/18/deployment-is-the-goal/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 21:42:48 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Build]]></category>
		<category><![CDATA[Build Pipeline]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=56</guid>
		<description><![CDATA[Julian Simpson has just published an article on InfoQ which is well worth checking out. Deployment is the Goal<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=56&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.build-doctor.com/">Julian Simpson</a> has just published an article on <a href="http://www.infoq.com">InfoQ</a> which is well worth checking out.<br />
<a href="http://www.infoq.com/articles/deployment-is-the-goal">Deployment is the Goal</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=56&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/08/18/deployment-is-the-goal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>GIT and Subversion</title>
		<link>http://umisiri.wordpress.com/2009/07/14/git-and-subversion/</link>
		<comments>http://umisiri.wordpress.com/2009/07/14/git-and-subversion/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 22:31:23 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[offline working]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/2009/07/14/git-and-subversion/</guid>
		<description><![CDATA[For a month or so I have been using Git on top of a client Subversion repository. I was motivated to try out GIT because with all the meetings and travel I had infrequent access to the repository. This meant that I often ended up with several variants of the code base on my laptop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=52&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For a month or so I have been using <a href="http://www.git-scm.org">Git</a> on top of a client <a href="http://subversion.tigris.org">Subversion</a> repository. I was<br />
motivated to try out GIT because with all the meetings and travel I had<br />
infrequent access to the repository. This meant that I often ended up<br />
with several variants of the code base on my laptop waiting for a chance<br />
to checkin. It was often days before I could find time to commit my<br />
changes and I would then be in a world of merge pain. Git promised<br />
better merge support and easy local branching to help manage my offline<br />
work.</p>
<p>I started with a simple Git clone of the trunk branch. This was where I<br />
was doing most of my work and since I was just starting out seemed like<br />
a simple option.</p>
<p>The</p>
<pre>git svn clone http://repostiory/path/trunk</pre>
<p>operation took quite<br />
a while. The project had been active for about 6 months and a lot of<br />
developer effort had gone into refining the code. Git checks out every<br />
revision from the repository for the branches that have been requested<br />
(trunk in this case). The initial checkout turned out to be unreliable<br />
but I don&#8217;t this that this was git. Fortunately it is simple case of<br />
either</p>
<pre>git pull</pre>
<p>or</p>
<pre>git rebase</pre>
<p>to restart the<br />
initial clone.</p>
<p>Once I had all the code and revisions on my laptop it took a while to<br />
get used to the huge number of commands available with git. For a lot of<br />
the time my development cycle was fairly simple</p>
<pre>git rebase
...write a test...
...make it pass...
git commit -a -m "comment"
git svn dcommit</pre>
<p>Which was one more command than my usual subversion development<br />
cycle. The key advantange for me was being able to do most things<br />
offline without access to the repository. Then when I had access to the<br />
repository I could rebase and merge my changes with those of my<br />
colleagues.</p>
<p>Recently we have been working off two branches: a release branch for<br />
production changes and the main development trunk branch.</p>
<p>For simplicity I initially created a new clean git clone of the release<br />
branch and this worked fine for a while as long as most of my work was<br />
on one branch or the other (at this stage mostly keeping up with the<br />
code changes made by the team).</p>
<p>The need to keep merging changes from one branch to the other lead me to<br />
believe that I had outgrown this simple cloneing model. After a little<br />
research I realised I could create a single close with all the branches<br />
I needed with:</p>
<pre>git svn clone http://repository/project -T trunk -b branches -t tags</pre>
<p>This took just a little longer than the original process but left me<br />
with a complete set of branches and tags in my local repository.</p>
<pre>git branch -a</pre>
<p>lists the available branches.</p>
<p>It is worth noting that although these are listed as branches and tags<br />
they refer to the remote repository and it is not possible to switch to<br />
a branch with a native git command.</p>
<p>Switching between these remote branches requires a checkout:</p>
<pre>git checkout branch-name</pre>
<p>Next: Voyages in local git branches&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=52&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/14/git-and-subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Tell don&#8217;t Ask</title>
		<link>http://umisiri.wordpress.com/2009/07/14/tell-dont-ask/</link>
		<comments>http://umisiri.wordpress.com/2009/07/14/tell-dont-ask/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 21:45:29 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/2009/07/14/tell-dont-ask/</guid>
		<description><![CDATA[About 5 years ago I was first introduced to the &#8216;Tell don&#8217;t ask principle&#8217;. Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp At first glance this priciple this seems straightforward but it is amazing how much code &#8211; including libraries which find it difficult to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=50&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>About 5 years ago I was first introduced to the &#8216;Tell don&#8217;t ask<br />
principle&#8217;.</p>
<p>Procedural code gets information then makes decisions. Object-oriented code tells objects to do things.<br />
— <a href="#SHARP">Alec Sharp</a></p>
<p>At first glance this priciple this seems straightforward but it is<br />
amazing how much code &#8211; including libraries which find it difficult to<br />
be true to this principle.</p>
<p>Lets consider simple iteration over a collection. In java and C# the<br />
convention is to implement and iteration class for a collection that<br />
maintains the state of where the calling is in iterating the items in<br />
the collection.</p>
<p>Using this iterater either explicity or implicity requires access to the<br />
internal state of the iterator typically through getters.</p>
<pre>
while (iterater.hasNext())
      item = iterator.next();
</pre>
<p>This knowledge of the internal state within the calling code couples<br />
both the calling and called code together.</p>
<p>This is one of the reasons I like <a href="http://www.ruby-lang.org">Ruby</a> as a programming language. It<br />
makes writing this style of code straighforward</p>
<pre>
collection.each do |item|
       puts item
end
</pre>
<p>The iteration state is nicely encapsulated in the each method and the<br />
ony thing the calling code knows is that the each method calls the<br />
supplied block for each item in the collection.</p>
<p>It is possible to write this in Java and C# but these implementations<br />
are more complex and verbose than the Ruby implementation.</p>
<p>If you have not tried ruby yet its worth checking out.</p>
<p><a name="SHARP">[SHARP]</a>Sharp, A. <em>&#8220;Smalltalk By Example&#8221;</em>McGraw-Hill, 1997.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=50&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/14/tell-dont-ask/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming in the Small</title>
		<link>http://umisiri.wordpress.com/2009/07/14/programming-in-the-small/</link>
		<comments>http://umisiri.wordpress.com/2009/07/14/programming-in-the-small/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 20:59:41 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/2009/07/14/programming-in-the-small/</guid>
		<description><![CDATA[If you have not read this searies recently I strongly recommend them Programming in the Small<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=49&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you have not read this searies recently I strongly recommend them <a href="http://ivan.truemesh.com/archives/cat_programming_in_the_small.html">Programming<br />
in the Small</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=49&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/14/programming-in-the-small/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Immersion</title>
		<link>http://umisiri.wordpress.com/2009/07/14/project-immersion/</link>
		<comments>http://umisiri.wordpress.com/2009/07/14/project-immersion/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 20:49:07 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/2009/07/14/project-immersion/</guid>
		<description><![CDATA[When this blog first started it was with the intention of blogging regularly on software craftsmanship and related topics. It was a good intention but I have the most annoying habit of becomming completely absorbed in the &#8216;current project&#8217;. For the project this is no bad thing. I am typically asked to take on a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=46&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When this blog first started it was with the intention of blogging<br />
regularly on software craftsmanship and related topics.</p>
<p>It was a good intention but I have the most annoying habit of becomming<br />
completely absorbed in the &#8216;current project&#8217;. For the project this is no<br />
bad thing. I am typically asked to take on a technical leadership role<br />
and there is always more that needs doing to improve things. So the<br />
&#8216;current project&#8217; takes over my life.</p>
<p>I have struggled with this over the years but not found an effective<br />
remedy to create a more work life balance. I am still struggling to<br />
create that balance. I am beginning to think that perhaps it is just the<br />
way that I am but that does not mean I should not continue to find that<br />
balance.</p>
<p>I guess one of the problems is that I <strong>love</strong> what I do<br />
for a living.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=46&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/14/project-immersion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Why do I do what I do</title>
		<link>http://umisiri.wordpress.com/2009/07/14/why-do-i-do-what-i-do/</link>
		<comments>http://umisiri.wordpress.com/2009/07/14/why-do-i-do-what-i-do/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 20:33:02 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=44</guid>
		<description><![CDATA[For almost 5 years I have been working for an agile software consultancy. For almost 20 years prior to that I worked for a product company. During those 20 years I sometimes wondered what life was like outside my safe environment but then the next project would come along and I would forget about the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=44&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For almost 5 years I have been working for an agile software<br />
consultancy. For almost 20 years prior to that I worked for a product<br />
company.</p>
<p>During those 20 years I sometimes wondered what life was like outside my<br />
safe environment but then the next project would come along and I would<br />
forget about the possible alternative futures and become engrossed in the<br />
latest challenge. The cycle happened a few times but there were not<br />
strong motivators for change. In 2004 economic pressures took their tole<br />
and I was forced to make a change. Interestingly it was probably the<br />
best thing that could have happened. After 20 years honing my skills I<br />
was let loose on the consulting world &#8211; and somehow everything just<br />
clicked.</p>
<p>If you are in a similar situation &#8211; I understand how scary it feels but<br />
sometimes it really does work out for the best.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=44&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/14/why-do-i-do-what-i-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Premature optimisation</title>
		<link>http://umisiri.wordpress.com/2009/07/12/premature-optimisation/</link>
		<comments>http://umisiri.wordpress.com/2009/07/12/premature-optimisation/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 17:52:37 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=42</guid>
		<description><![CDATA[I have the unfortunate habit of spending quite a lot of time on each of the projects I undertake. Now in some ways this is good but it does mean that some of the things I see on the projects I am part of may just be isolated incidents. One of the sayings I hear [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=42&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have the unfortunate habit of spending quite a lot of time on each of the projects I undertake. Now in some ways this is good but it does mean that some of the things I see on the projects I am part of may just be isolated incidents.</p>
<p>One of the sayings I hear quite often is &#8216;don&#8217;t prematurely optimise&#8217;. Whilst I agree with this in general like everything taken to an extreme it can lead to some unwanted effects.</p>
<p>Taking the prematurely optimise but measure and and then optimise can mean that people stop writing efficient code and worse almost deliberately write inefficient code &#8211; it is easier to do several string manipulations one at a time than scan a string once. Sometimes this is fine but within the context of a text heavy high request rate web site these things can be a real bottleneck.</p>
<p>So during your next refactoring cycle &#8211; think about the performance of the code you are changing as well as how well it reads and fits in with the architecture. Not a lot of time but just stop and say is this code reasonably efficient.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=42&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/07/12/premature-optimisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>Caring for your disk</title>
		<link>http://umisiri.wordpress.com/2009/04/17/caring-for-your-disk/</link>
		<comments>http://umisiri.wordpress.com/2009/04/17/caring-for-your-disk/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 07:01:10 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Care]]></category>
		<category><![CDATA[defrag]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=40</guid>
		<description><![CDATA[Since moving to a mac I have not looked at defragging my disk to improve performance. When I was a regular windows user I would regularly run a defrag to keep my disk performance as high as possible. A lot of people including myself tend to ignore the hard disk performance and look for processes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=40&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since moving to a mac I have not looked at defragging my disk to improve performance. When I was a regular windows user I would regularly run a defrag to keep my disk performance as high as possible.</p>
<p>A lot of people including myself tend to ignore the hard disk performance and look for processes eating up CPU or applications that are too hungry for memory when we feel that our computers are not running as quickly as we remember. These are valuable checks but once you have failed to find that memory eating clock cycle hungry application we tend to stop and think that all is well; but just about every application running on the computer requires the disk and performs disk operations. The faster your disk the faster your computer can do the work you want it to do.</p>
<p>So after 3 years of daily use a colleague recommeded I try iDefrag from <a href="http://www.coriolis-systems.com/">Coriolis systems</a>. Running the online defrag (online being that the disk is is use) did not yield a noticable difference.</p>
<p>Fortunately the software also comes with a tool to burn a bootable disk to enable offline disk defragmentation. Once the DVD was burnt I rebooted to the DVD and first ran a consolidation to maximise the amount of contiguous free disk space.</p>
<p>I left the machine to its own devices and returned in the morning to see what a difference it had made. The responsiveness to loading application &#8211; even simple ones was immediate and obvious. My whole machine felt more responsive and any operations involving disk IO felt nice and fast.</p>
<p>Last night I ran an &#8216;Optimise&#8217; defrag which resulted in nice solid blocks of non-fragmeted files at the start of the disk and a nice clean block of free space ready for me to use. I have not noticed a further improvement in performance &#8211; but the first improvement was well worth it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=40&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/04/17/caring-for-your-disk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
		<item>
		<title>TDD, Refactoring and Craftsmanship</title>
		<link>http://umisiri.wordpress.com/2009/04/03/tdd-refactoring-and-craftsmanship/</link>
		<comments>http://umisiri.wordpress.com/2009/04/03/tdd-refactoring-and-craftsmanship/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 14:05:34 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[TTD]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=34</guid>
		<description><![CDATA[Test driven development (leaving out the source control bits) has three steps: Write a failing test Make it pass Refactor That final &#8216;Refactoring&#8217; step is where the craft is applied and is often the first thing to come under pressure when the deadline of delivery looms This reaction to pressure is completely understandable and I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=34&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://umisiri.files.wordpress.com/2008/10/istock-000005684165xsmall.jpg?w=200&#038;h=150" alt="iStock_000005684165XSmall.jpg" border="0" width="200" height="150" align="right" /></p>
<p>Test driven development (leaving out the source control bits) has three steps:</p>
<ul>
<li>Write a failing test</li>
<li>Make it pass</li>
<li>Refactor</li>
</ul>
<p>That final &#8216;Refactoring&#8217; step is where the craft is applied and is often the first thing to come under pressure when the deadline of delivery looms</p>
<p>This reaction to pressure is completely understandable and I know I tend to empathise with the client/customer and push that little bit harder and longer to deliver the asked for functionality.</p>
<p>The temptation to move on to the next feature when the test passes can be very strong. After all the software now behaves correctly and could be made available to the end user where it can be making money.</p>
<p><img src="http://umisiri.files.wordpress.com/2009/04/tdd-dev-cycle.png?w=188&#038;h=186" alt="tdd_dev_cycle.png" border="0" width="188" height="186" align="left"></p>
<p>The fact that the developed code may not fit with the overall architecture, project coding styles etc. or may not perform well enough is not a functional consideration.</p>
<p>Refactoring is also difficult to quantify. Software developers have this need to &#8216;tinker&#8217; with the code. This tinkering can be see to be very similar to refactoring. After all the code still behaves the same way to the outside observer.</p>
<p>A key ingredient in all of this is spending time gaining trust in the team that the work is required. Not focusing in on the refactoring task during development has and I am sure continue to be a significant factor in why projects do not perform as effectively as people had hoped.</p>
<p>There are no hard and fast rules around how much time to spend refactoring the codebase. Is it 10% of the time taken to implement a new feature? 20%? 30%? We all try to come up with formulaes to help guide our decision making but I have not managed to come up with a good one for refactoring</p>
<p>For me there is an internal barometer for technical debt. When the pressure gets too high I start to feel very uncomfortable and the need to sit down and &#8216;sort it out&#8217; plays on my mind. This inner barometer is something born of experience, from tough projects and late night working. Keep an eye on your own internal barometer &#8211; quite often it is telling you something very important.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=34&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/04/03/tdd-refactoring-and-craftsmanship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>

		<media:content url="http://umisiri.files.wordpress.com/2008/10/istock-000005684165xsmall.jpg" medium="image">
			<media:title type="html">iStock_000005684165XSmall.jpg</media:title>
		</media:content>

		<media:content url="http://umisiri.files.wordpress.com/2009/04/tdd-dev-cycle.png" medium="image">
			<media:title type="html">tdd_dev_cycle.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Craftsmanship Manifesto</title>
		<link>http://umisiri.wordpress.com/2009/04/03/software-craftsmanship-manifesto/</link>
		<comments>http://umisiri.wordpress.com/2009/04/03/software-craftsmanship-manifesto/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 12:06:44 +0000</pubDate>
		<dc:creator>umisiri</dc:creator>
				<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[Manifesto]]></category>

		<guid isPermaLink="false">http://umisiri.wordpress.com/?p=25</guid>
		<description><![CDATA[For those of us in the Agile Software development community the agile manifesto is something we have taken to heart and perhaps taken for granted. And then I came across the Software Craftsmanship Manifesto. A well thought out set of principles in the Agile Manifesto style. If like me you care about your craft why [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=25&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For those of us in the Agile Software development community the agile manifesto is something we have taken to heart and perhaps taken for granted.</p>
<p>And then I came across the <a href="http://manifesto.softwarecraftsmanship.org/main">Software Craftsmanship Manifesto</a>. A well thought out set of principles in the <a href="http://agilemanifesto.org/">Agile Manifesto</a> style. If like me you care about your craft why not add your name to the list?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/umisiri.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/umisiri.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/umisiri.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=umisiri.wordpress.com&amp;blog=5229073&amp;post=25&amp;subd=umisiri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://umisiri.wordpress.com/2009/04/03/software-craftsmanship-manifesto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aa98e8aef471dc396fcec1e9162cecb2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">umisiri</media:title>
		</media:content>
	</item>
	</channel>
</rss>
