<?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>Crouching Duck Hidden Egg</title>
	<atom:link href="http://rwstang.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rwstang.wordpress.com</link>
	<description>Find the egg</description>
	<lastBuildDate>Sun, 28 Jun 2009 13:40:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rwstang.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Crouching Duck Hidden Egg</title>
		<link>http://rwstang.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rwstang.wordpress.com/osd.xml" title="Crouching Duck Hidden Egg" />
	<atom:link rel='hub' href='http://rwstang.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Build Tools</title>
		<link>http://rwstang.wordpress.com/2009/06/28/build-tools/</link>
		<comments>http://rwstang.wordpress.com/2009/06/28/build-tools/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 13:40:39 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[automated build]]></category>
		<category><![CDATA[Bamboo]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[build scripts]]></category>
		<category><![CDATA[build tools]]></category>
		<category><![CDATA[CCNET]]></category>
		<category><![CDATA[Crucible]]></category>
		<category><![CDATA[CruiseControl.Net]]></category>
		<category><![CDATA[Jira]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://buildmaster.onlearners.com/?p=6</guid>
		<description><![CDATA[For .NET there is CruiseControl.NET (http://cruisecontrol.sourceforge.net/) and NAnt (http://nant.sourceforge.net/). For Java there is Bamboo (http://www.atlassian.com/software/bamboo/) and Maven (http://maven.apache.org/). Those are the ones that I&#8217;ve used before but there are many others out there that can do the job, especially for Java. There are plenty of  options for Java such as Hudson, Ant, CruiseControl, Continuum, etc. We&#8217;re [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=6&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For .NET there is CruiseControl.NET (<a href="http://cruisecontrol.sourceforge.net/">http://cruisecontrol.sourceforge.net/</a>) and NAnt (<a href="http://nant.sourceforge.net/">http://nant.sourceforge.net/</a>). For Java there is Bamboo<br />
(<a href="http://www.atlassian.com/software/bamboo/">http://www.atlassian.com/software/bamboo/</a>) and Maven (<a href="http://maven.apache.org/">http://maven.apache.org/</a>). Those are the ones that I&#8217;ve used before but there are many others out there that can do the job, especially for Java. There are plenty of  options for Java such as Hudson, Ant, CruiseControl, Continuum, etc. We&#8217;re using Bamboo because we use Jira (Issue Tracking) and Crucible (Code Review), which have integration options with Bamboo.</p>
<p>Automated build systems such as CruiseControl.NET and Bamboo are only part of the puzzle. NAnt scripts are responsible for project specific build and deployment actions. In the case of CruiseControl, it can detect changes to the source code and run NAnt scripts to perform whatever it is the build master wants, as long as NAnt is capable of it. NAnt is capable of executing other programs and tools as part of it&#8217;s task. The point I&#8217;m trying to make here is that your NAnt/Ant scripts would be where you will spend most of your time as the Continuous Integration system such as CruiseControl.NET is there for the same reason for every project. So if you want to get your head around the what and how of continuous integration, look into NAnt/Ant.</p>
<p>The above seems like I&#8217;ve just thrown around names of tools that you could have googled but it is really there to set the context for the upcoming posts. The next post will be about continuous integration in general. It will be theory with contextual examples based on the mentioned tools.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=6&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/28/build-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>Role and Challenges</title>
		<link>http://rwstang.wordpress.com/2009/06/28/role-and-challenges/</link>
		<comments>http://rwstang.wordpress.com/2009/06/28/role-and-challenges/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 16:23:51 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[automated build]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[build master]]></category>
		<category><![CDATA[build scripts]]></category>
		<category><![CDATA[CCNET]]></category>
		<category><![CDATA[CruiseControl.Net]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[sourcesafe]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://buildmaster.onlearners.com/?p=3</guid>
		<description><![CDATA[I&#8217;ve only had some short and broken experiences as the role of build master and only in the .NET world. Despite that, I&#8217;ve got some insight and understanding on the role of a build master and their responsibilities. The role and responsibilities of a build master varies from company to company and from team to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=3&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve only had some short and broken experiences as the role of build master and only in the .NET world. Despite that, I&#8217;ve got some insight and understanding on the role of a build master and their responsibilities. The role and responsibilities of a build master varies from company to company and from team to team because there are many challenges that build masters may face and these challenges are sometimes the responsibilities of others. For example, some build masters in a company who has an IT Infrastructure team won&#8217;t have to deal with setting up servers, networks and system environmental configurations.</p>
<p>My roles have varied from only having to setup CruiseControl.NET (http://confluence.public.thoughtworks.org/display/CCNET) and write project specific NAnt (<a href="http://nant.sourceforge.net/">http://nant.sourceforge.net/</a>) scripts to having to set up an operating system, configurate the OS, source control and databases required for a project. The experience over the last couple of years has given me enough .NET build skills to trudge through my tasks. This blog is for me to share my experiences as a build master who&#8217;s constantly running into issues, roadblocks and learning. Hopefully I&#8217;ll have the motivation to keep this blog rolling.</p>
<p>Back to the topic. The role of a build master is primarily to provide an automated environment for project work. There are some blatently obvious things that can be automated in the software development cycle, especially when it comes to projects involving more than one developer. In a TDD project, Compile, Test, Report and Deploy are some of the things that needs to happen all the time. Since these tasks are done frequently, it makes sense to automate them. When developers check-in  a piece of work into their source repository (I&#8217;ve used SourceSafe and SVN), it&#8217;s possible to automatically pick up the newest version of the code, compile it, run all tests available on the project, run all sorts of reports against the project and deploy the project to a server, where it can be further tested in a running environment. The role of the build master is to make the automation possible in a way such that developers don&#8217;t need to do anything beyond checking in their work to their source control. This could mean the build master needs to setup a build server, set up source control, build tools, understand the project and write build scripts for the project.</p>
<p>To me, a build master shouldn&#8217;t have to setup the network, routes and server permissions but I&#8217;ve had to do it before, just to get the job done. The challenges of setting up a network is unpredictable as servers can be distributed between onsite and in remote data centers. Router access is not always available, server root access is not always available, etc. Build scripts and server setups vary from project to project and different deployment strategies for the same project requires different build scripts yet again. In summary, there are many uncertainties when it comes to being a build master and your job becomes even harder when there are so many moving parts that can break the work that you&#8217;ve set up.</p>
<p>In summary, build master can be a fustrating, stressful and challenging role but if it&#8217;s done right, I&#8217;ve heard that you can sit back and read the news while your build scripts do the work day after day. I haven&#8217;t yet been able to sit back as a build master yet and I don&#8217;t see how I&#8217;ll ever be able to&#8230;</p>
<p>Upcoming posts will include tips, tutorials and my experiences with how to deal with specific issues.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=3&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/28/role-and-challenges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>Chrome RSS Support</title>
		<link>http://rwstang.wordpress.com/2009/06/24/chrome-rss-support/</link>
		<comments>http://rwstang.wordpress.com/2009/06/24/chrome-rss-support/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 15:04:11 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[RSS Support]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=25</guid>
		<description><![CDATA[I&#8217;ve been using Chrome for the past month and have turned it into my default browser for the 3 computers that I use for the last two weeks and only now have I noticed that there is no RSS support. It can render the xml and such forth but it doesn&#8217;t work like the one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=25&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Chrome for the past month and have turned it into my default browser for the 3 computers that I use for the last two weeks and only now have I noticed that there is no RSS support. It can render the xml and such forth but it doesn&#8217;t work like the one that I&#8217;m used to in Firefox, where the subscribed feeds will show up and auto-update.</p>
<p>Initially I thought I was just stupid and had to turn it on somewhere but after some quick googling, I found <a href="http://code.google.com/p/chromium/issues/detail?id=84#c83">http://code.google.com/p/chromium/issues/detail?id=84#c83</a> (Chrome issue). The functionality is in the works. So stay tuned to the logged issue for further progression with the much needed functionality.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=25&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/24/chrome-rss-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>Stressed?</title>
		<link>http://rwstang.wordpress.com/2009/06/19/stressed/</link>
		<comments>http://rwstang.wordpress.com/2009/06/19/stressed/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 14:06:14 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[destress]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[nonsense]]></category>
		<category><![CDATA[stress]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=22</guid>
		<description><![CDATA[I have confirmed a way to destress that works for me. I like driving and I like the songs that I like. I found reason to zoom around the highway in the last few nights and realised that the music and driving combo really works. Works especially well for me when I changed the cd [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=22&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have confirmed a way to destress that works for me. I like driving and I like the songs that I like. I found reason to zoom around the highway in the last few nights and realised that the music and driving combo really works. Works especially well for me when I changed the cd back to my older ones and sing to it. Brings back the good times. If driving and music is your thing, do it:)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=22&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/19/stressed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>I don&#039;t know what to call it&#8230;</title>
		<link>http://rwstang.wordpress.com/2009/06/18/i-dont-know-what-to-call-it/</link>
		<comments>http://rwstang.wordpress.com/2009/06/18/i-dont-know-what-to-call-it/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 12:47:52 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bitching]]></category>
		<category><![CDATA[nonsense]]></category>
		<category><![CDATA[old work]]></category>
		<category><![CDATA[whining]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=20</guid>
		<description><![CDATA[Ignorance? Lacking understanding? Not caring? or simply having a laugh? I don&#8217;t know. What I&#8217;m talking about is when a new team takes over the work of another team. Part of the new team whines, bitches and laughs at the work that has landed on their plate. The focus is always on the seemingly stupid [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=20&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ignorance? Lacking understanding? Not caring? or simply having a laugh? I don&#8217;t know. What I&#8217;m talking about is when a new team takes over the work of another team. Part of the new team whines, bitches and laughs at the work that has landed on their plate. The focus is always on the seemingly stupid and inefficient ways of how the work was done. Yes, in most of the cases, the work is poorly designed, poorly implemented to the point where the original intention of the author could not be deciphered by reading the code. The reactions are usually valid and it gets even funnier when the new team speculates the reasons for the poor work. Ever been there?</p>
<p>Fortunately/unfortunately, I am a member of this new team and a member of the previous team who did the &#8216;crap&#8217; work.</p>
<p>It&#8217;s so easy to be critical and harsh about old work, especially if you now have to fix the mess and the original author isn&#8217;t around to explain. But now that I have been on both sides of the equation, I know why certain things were done in such a way, I know the circumstances that the team worked under and I have context on alot of the code&#8217;s inefficiencies. I don&#8217;t whine and bitch about the poor quality because I know. The situation is very similar to the champion of sports tournament criticising the runner up from the previous year of the same comp. It&#8217;s poor sportsmenship to begin with and it&#8217;s just all trash talk from the current champions, both of which I don&#8217;t like.</p>
<p>I guess the point I&#8217;m trying to get across is if you&#8217;re ever passed over work before your time and you realise how poorly the work has been done, suck it in and do your job. Especially if it was a big piece of work, show some respect. You wouldn&#8217;t bitch and whine at your own work 3 years down the track when you revisit it and realise how much of an idiot you were back then right? You&#8217;d get your head down and fix it. Do it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=20&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/18/i-dont-know-what-to-call-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>Cater For The Ignorant &#8211; For All Our Sakes</title>
		<link>http://rwstang.wordpress.com/2009/06/07/cater-for-the-ignorant-for-all-our-sakes/</link>
		<comments>http://rwstang.wordpress.com/2009/06/07/cater-for-the-ignorant-for-all-our-sakes/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 13:33:53 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=16</guid>
		<description><![CDATA[The context of this post is that a design of a data transfer object (dto) was tied down in the form of a map and it was meant to handle generics. The assumption at the time of the design was that the dto would be small in size so the performance hit to cater for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=16&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The context of this post is that a design of a data transfer object (dto) was tied down in the form of a map and it was meant to handle generics. The assumption at the time of the design was that the dto would be small in size so the performance hit to cater for generics would be minimal. The code for managing the dto was written and tested correctly and the work was marked complete.</p>
<p>A year down the track the performance of the system is unacceptable to the point of breaking timeout thresholds. After some high level diagnosis with a profiler, it was observed that the dto has grown to a size enough to affect the performance of the system. The dto was also thrown through more &#8216;pipes&#8217; in the system, further amplifying the effects of the bloated dto.</p>
<p>I can&#8217;t think of many ways to address this problem to avoid it again in the future. Have constraints of the use of a design in writing? Have constraints programatically applied in the system for the design in question? Having performance threshold tests will only deal with the result, not the underlying problem, which is developers misusing/misunderstanding existing code implementations. Only designing for all cases all the time is also not always feasible and it&#8217;s even harder when generics are involved. All I can truly rely on is programatically constraining the use of designs&#8230; suggestions welcome.</p>
<p>The message here is that when designing an implementation of anything, we need to cater for the misuse of it. Document disclaimers, use programatic checks, etc to avoid the design being used in the wrong way. Otherwise you&#8217;ll be stuck with a situation where you have this shared resource used throughout a system, affecting many modules, that needs to be refactored, which could spawn more work&#8230;</p>
<p>Not catering for the ingorant is easy to say but it could be worthwhile dealing with the potential problem if you consider the poor buggers who may have to deal with the problem.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=16&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/06/07/cater-for-the-ignorant-for-all-our-sakes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>Team Leading with Unit Tests</title>
		<link>http://rwstang.wordpress.com/2009/05/20/team-leading-with-unit-tests/</link>
		<comments>http://rwstang.wordpress.com/2009/05/20/team-leading-with-unit-tests/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:51:27 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[prioritising]]></category>
		<category><![CDATA[team leading]]></category>
		<category><![CDATA[unit tests]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=9</guid>
		<description><![CDATA[Using unit tests is one of those things many developers would have come across as part of their QA or TDD approach to projects. Unit tests can contribute to specifying requirements for code and can be used for regression testing. The team that I am working with came up with a way to use unit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=9&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Using unit tests is one of those things many developers would have come across as part of their QA or TDD approach to projects. Unit tests can contribute to specifying requirements for code and can be used for regression testing.</p>
<p>The team that I am working with came up with a way to use unit tests that I&#8217;ve never contemplated before and that is to use unit tests for prioritising work for developers in your team. We had issues with developers not focusing their efforts on high priorities (or they&#8217;ve had the priorities wrong) so to counter this issue, a few of us thought about distributing unit tests in the order that we want the work done in. The unit tests (if written well) will communicate the requirements definitively and the units tests will fulfill there usual expected duties for QA.  Sounds like win for our issue.</p>
<p>We haven&#8217;t gone ahead with the plan yet and I&#8217;m sure we aren&#8217;t the first ones to come up with this idea so if you&#8217;ve used this idea before, write back. Or if you&#8217;ve solved the same issue with other methods (short of firing the developer) drop a comment also. For all others, it&#8217;s just food for thought.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=9&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/05/20/team-leading-with-unit-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
		<item>
		<title>About Time&#8230;</title>
		<link>http://rwstang.wordpress.com/2009/05/16/about-time/</link>
		<comments>http://rwstang.wordpress.com/2009/05/16/about-time/#comments</comments>
		<pubDate>Sat, 16 May 2009 18:07:44 +0000</pubDate>
		<dc:creator>rwstang</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[nonsense]]></category>

		<guid isPermaLink="false">http://www.crouchingduckhiddenegg.com/?p=3</guid>
		<description><![CDATA[The first post for the site should have been published months ago but I haven&#8217;t found the time to post anything when there was something to post about. When I had time to post, there was no longer anything worth posting. The reason behind that is the posts intended for this site is meant to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=4&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The first post for the site should have been published months ago but I haven&#8217;t found the time to post anything when there was something to post about. When I had time to post, there was no longer anything worth posting.</p>
<p>The reason behind that is the posts intended for this site is meant to be technical and when I do come across something worth posting, it usually means I&#8217;m working very hard and hence have no time to post it. Once the work is done, it doesn&#8217;t seem like it&#8217;s worth posting anymore. Stupid~</p>
<p>Why is it now that I have time to post? It&#8217;s 4am here and I can&#8217;t sleep.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rwstang.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rwstang.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rwstang.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rwstang.wordpress.com&amp;blog=9241555&amp;post=4&amp;subd=rwstang&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rwstang.wordpress.com/2009/05/16/about-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98db3a6732dd4d1a97496f02c23454be?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rwstang</media:title>
		</media:content>
	</item>
	</channel>
</rss>
