<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments for chris clarke</title>
	<link>http://squadlimber.com/chris</link>
	<description>software development that works...or something</description>
	<pubDate>Thu, 28 Aug 2008 10:37:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>

	<item>
		<title>Comment on Ignoring Common Coding Practice (why you should be too) by Brian Marick</title>
		<link>http://squadlimber.com/chris/2008/04/04/ignoring-common-coding-practice-why-you-should-be-too/#comment-6347</link>
		<pubDate>Sun, 06 Apr 2008 15:12:16 +0000</pubDate>
		<guid>http://squadlimber.com/chris/2008/04/04/ignoring-common-coding-practice-why-you-should-be-too/#comment-6347</guid>
					<description>Looking forward to the day when those are common practices people start to question...</description>
		<content:encoded><![CDATA[<p>Looking forward to the day when those are common practices people start to question&#8230;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Comment on Continuous Deployment by chris clarke &#187; Continuous Deployment As A Practice</title>
		<link>http://squadlimber.com/chris/2006/12/16/continuous-deployment/#comment-378</link>
		<pubDate>Sat, 26 May 2007 12:51:21 +0000</pubDate>
		<guid>http://squadlimber.com/chris/2006/12/16/continuous-deployment/#comment-378</guid>
					<description>[...] A lot of people do Continuous Integration these days (even if that just means source control and CruiseControl). But very few teams seem to do any form of Continuous Deployment. The point of Continuous Integration is to detect integration problems as quickly as possible and to reduce the risks involved in a deferred integration. A deferred integration is something that will delay the release and may take an unknown amount of time and involve an unknown amount of problems. As Martin Fowler says in his article: &#8220;you are putting yourself into a complete blind spot right at one of tensest parts of a project&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] A lot of people do Continuous Integration these days (even if that just means source control and CruiseControl). But very few teams seem to do any form of Continuous Deployment. The point of Continuous Integration is to detect integration problems as quickly as possible and to reduce the risks involved in a deferred integration. A deferred integration is something that will delay the release and may take an unknown amount of time and involve an unknown amount of problems. As Martin Fowler says in his article: &#8220;you are putting yourself into a complete blind spot right at one of tensest parts of a project&#8221; [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Comment on Annoying Patterns: The Hidden &#8216;On&#8217; Switch by Duncan Pierce</title>
		<link>http://squadlimber.com/chris/2007/03/15/anti-patterns-the-hidden-on-switch/#comment-6</link>
		<pubDate>Fri, 06 Apr 2007 13:42:24 +0000</pubDate>
		<guid>http://squadlimber.com/chris/2007/03/15/anti-patterns-the-hidden-on-switch/#comment-6</guid>
					<description>Yep, this kind of thing is really irritating. Sometimes you feel like there's a whole hidden state machine in there.

&lt;code&gt;
api.doStuff(1);
api.doStuff(2);

Exception: doStuff(1) called without init()

api.init();
api.doStuff(1);
api.doStuff(2);

Exception: doStuff(2) called without finish()

api.init();
api.doStuff(1);
api.finish();
api.doStuff(2);
// aargh - should there be a finish() here?
}
&lt;/code&gt;

If the code is able to validate its own state it ought to be able to manage it for you too. The fact that it can't is usually down to poor API design: they often carry too much state.</description>
		<content:encoded><![CDATA[<p>Yep, this kind of thing is really irritating. Sometimes you feel like there&#8217;s a whole hidden state machine in there.</p>
<p><code><br />
api.doStuff(1);<br />
api.doStuff(2);</p>
<p>Exception: doStuff(1) called without init()</p>
<p>api.init();<br />
api.doStuff(1);<br />
api.doStuff(2);</p>
<p>Exception: doStuff(2) called without finish()</p>
<p>api.init();<br />
api.doStuff(1);<br />
api.finish();<br />
api.doStuff(2);<br />
// aargh - should there be a finish() here?<br />
}<br />
</code></p>
<p>If the code is able to validate its own state it ought to be able to manage it for you too. The fact that it can&#8217;t is usually down to poor API design: they often carry too much state.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Comment on Retrospective: Storyboard by chris clarke &#187; Unit Tests In Javascript</title>
		<link>http://squadlimber.com/chris/2007/01/11/retrospective-storyboard/#comment-5</link>
		<pubDate>Fri, 02 Feb 2007 01:34:43 +0000</pubDate>
		<guid>http://squadlimber.com/chris/2007/01/11/retrospective-storyboard/#comment-5</guid>
					<description>[...] Looking around for AJAX libraries to use for storyboard following a retrospective around the initial development, I stumbled across scriptaculous, one of the benefits being that it has it&#8217;s own unit test library. An alternative may be to use jsUnit which has syntax much more familiar to anyone who&#8217;s ever used JUnit. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Looking around for AJAX libraries to use for storyboard following a retrospective around the initial development, I stumbled across scriptaculous, one of the benefits being that it has it&#8217;s own unit test library. An alternative may be to use jsUnit which has syntax much more familiar to anyone who&#8217;s ever used JUnit. [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Comment on Continuous Deployment by chris.probably</title>
		<link>http://squadlimber.com/chris/2006/12/16/continuous-deployment/#comment-2</link>
		<pubDate>Sat, 16 Dec 2006 08:51:50 +0000</pubDate>
		<guid>http://squadlimber.com/chris/2006/12/16/continuous-deployment/#comment-2</guid>
					<description>I re-read this and realized that I missed a trick, surely a Continuous Deployment server should continually take the last successful build and deploy it to a ready-to-go live system.  It should then be possible to switch from old to new with no downtime.  Build, deploy and release at the flick of a switch.</description>
		<content:encoded><![CDATA[<p>I re-read this and realized that I missed a trick, surely a Continuous Deployment server should continually take the last successful build and deploy it to a ready-to-go live system.  It should then be possible to switch from old to new with no downtime.  Build, deploy and release at the flick of a switch.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
