<?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>Ron &#34;Ziroby&#34; Romero</title>
	<atom:link href="http://ziroby.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ziroby.wordpress.com</link>
	<description>Yet another Agile Software Development blog looking for a cool name.</description>
	<lastBuildDate>Tue, 04 Oct 2011 15:28:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ziroby.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ron &#34;Ziroby&#34; Romero</title>
		<link>http://ziroby.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ziroby.wordpress.com/osd.xml" title="Ron &#34;Ziroby&#34; Romero" />
	<atom:link rel='hub' href='http://ziroby.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Pablo&#8217;s Fiesta 2011 Notes</title>
		<link>http://ziroby.wordpress.com/2011/10/04/363/</link>
		<comments>http://ziroby.wordpress.com/2011/10/04/363/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 15:24:46 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=363</guid>
		<description><![CDATA[I went to Pablo&#8217;s Fiesta this past weekend.  It was an amazing conference with lots of energy and lots of things to learn.  Here aare some of my notes.  I maay go back and clean them up, or expand something, or just leave them s is.  For now, tho, here they are in raw form: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=363&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">I went to Pablo&#8217;s Fiesta this past weekend.  It was an amazing conference with lots of energy and lots of things to learn.  Here aare some of my notes.  I maay go back and clean them up, or expand something, or just leave them s is.  For now, tho, here they are in raw form:</p>
<h2 style="text-align:left;"><span id="more-363"></span>Free Software/ Open Source Projects</h2>
<ul style="text-align:left;">
<li>helps to have a buddy/ally.</li>
<li>Working for non-profits is a good way to do a pet project. They give you incentive, etc.</li>
<li>Tell family that you&#8217;ll give them some reward when you  complete a project</li>
<li>Put new ideas in Evernote and go on, then later go thru them and complete them.</li>
</ul>
<h2 style="text-align:left;">SOLID / anti-SOLID</h2>
<div style="text-align:left;">
<ul>
<li>Opposite of SOLID is LIQUID: Lazy, Inconsequential, Quaint, Unnecessary  Inconsequential, DRY (Don&#8217;t repeat yourself) <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Contradiction between S and O (Single Responsibility and Open/Closed).</li>
<li>Evil done in the name of SOLID.</li>
<li>Having interface for everything and every interface has exactly one implementation.</li>
<li>Every time you make a system more extensible you make it more complicated.  And you&#8217;re picking a specific way to extensible it.</li>
<li>At what level do you apply S?</li>
<li>Simplest Thing that could Possibly Work and LAGNI.  Are they in opposition to SOLID?</li>
</ul>
</div>
<h2 style="text-align:left;">Startups</h2>
<div style="text-align:left;">&#8220;A startup that is two years old is not a startup.  It&#8217;s a failure.&#8221;</div>
<h2 style="text-align:left;">Javascript</h2>
<div style="text-align:left;"><a href="http://austinjavascript.com/" target="_blank">Austin Java Script</a></div>
<h2 style="text-align:left;">Practicing Progrmming</h2>
<div style="text-align:left;">See <a title="The wiki writeup" href="http://pablosfiesta.pbworks.com/w/page/46331997/PracticingProgramming" target="_blank">http://pablosfiesta.pbworks.com/w/page/46331997/PracticingProgramming</a> (I wrote up those notes, so it would be silly for me to copy them here).</div>
<div style="text-align:left;">
<h2>Contract to not hired</h2>
<ol>
<li>Get accountant &amp; lawyer</li>
<li>Make an LLC</li>
<li>File as an S-Corp</li>
<li>Pay a small salary &amp; the lest as dividends</li>
<li>Pay less in taxes than ever before.</li>
</ol>
<h2>Functional Languages</h2>
<div>I also put notes for this one on the wiki.  <a href="http://pablosfiesta.pbworks.com/w/page/46434395/I%27m%20enjoying%20a%20functional%20language" target="_blank">http://pablosfiesta.pbworks.com/w/page/46434395/I%27m%20enjoying%20a%20functional%20language</a></div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/363/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=363&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2011/10/04/363/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>How do you tell a master craftsman?</title>
		<link>http://ziroby.wordpress.com/2011/01/17/how-do-you-tell-a-master-craftsman/</link>
		<comments>http://ziroby.wordpress.com/2011/01/17/how-do-you-tell-a-master-craftsman/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 23:57:52 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[TDD Coding]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=297</guid>
		<description><![CDATA[I asked my 12-year old son today what it means to be a craftsman and a master craftsman (of any profession). Then we went on to discuss how you can tell that someone is a master craftsman. I find his answer illuminating: They should be able to talk their craft and, if you&#8217;re not a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=297&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I asked my 12-year old son today what it means to be a craftsman and a master craftsman (of any profession). Then we went on to discuss how you can tell that someone is a master craftsman.  I find his answer illuminating:</p>
<ol>
<li>They should be able to talk their craft and, if you&#8217;re not a master yourself, they will lose you and go over your head and talk about things you don&#8217;t understand.  This was from a child&#8217;s view, but I interpret it as &#8220;They must be able to talk up their craft&#8221;.</li>
<li>They should be able to create a sample on demand.  He was thinking about small crafts when he mentioned it, but when we talked about bigger things (like skyscrapers), we decided a small test problem would suffice.</li>
<li> (and this I think is the most important one) They should show you their previous work.  They should be able to say, &#8220;Look, I created these high quality things in the past, so I can create high quality things for you in the future.&#8221;</li>
</ol>
<p>The book <em>Software Craftsmanship</em> book mentions that to be a <em>master</em>, you must have a <em>masterpiece.</em> To claim that you&#8217;re a master, you must be able to show some really good work.  So in our discussion of how do you tell a master craftsman, the answer is simple: look at their work.</p>
<p>When you hire an  artist (painter, photographer, sculptor, etc.), you look at their portfolio.  All artists have one, and it&#8217;s how they get work.  So, if we&#8217;re craftsman, we should have portfolios.  Résumés are similar to portfolios, but a) they don&#8217;t emphasize actual completed works enough, and b) they&#8217;re dry and boring.  So maybe we need to start making multimedia portfolios to highlight our abilities as a craftsman.  I picture web sites with screen shots, customer testimonials, sample code, links to your blog and other sites, and links to free software or other non-work projects you&#8217;ve created.</p>
<p>The key here is, if you want to convince someone that you&#8217;re a master craftsman, show them your work and your masterpieces.</p>
<p>Ron &#8220;Ziroby&#8221; Romero<br />
www.ziroby.com (which has some portfolio elements, but needs to talk about my actual for-pay work)</p>
<p>[cross-posted to the Software Craftmanship list at <a href="http://groups.google.com/group/software_craftsmanship/browse_thread/thread/a9a03d96ff298a26" target="_blank">http://groups.google.com/group/software_craftsmanship/browse_thread/thread/a9a03d96ff298a26</a> ]</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/software-craftsmanship/'>software craftsmanship</a>, <a href='http://ziroby.wordpress.com/tag/software-development/'>software development</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/297/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=297&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2011/01/17/how-do-you-tell-a-master-craftsman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>Austin Style Code Dojo</title>
		<link>http://ziroby.wordpress.com/2010/08/22/austin-style-code-dojo/</link>
		<comments>http://ziroby.wordpress.com/2010/08/22/austin-style-code-dojo/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 20:00:42 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[austin]]></category>
		<category><![CDATA[Austin Texas]]></category>
		<category><![CDATA[code kata]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[deliberate practice]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=232</guid>
		<description><![CDATA[Here in Austin, Texas, we&#8217;ve just started weekly dojos. Our dojo style is similar to Randoori, but without pairing (instead of pairs, we&#8217;re all one set).  In Randoori terms, we use something similar to Ping Pong. The flow goes like this: One of the coders writes a failing test.  Lately we&#8217;ve discussed the proper API [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=232&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here in Austin, Texas, we&#8217;ve just started <a href="http://groups.google.com/group/austin-code-dojo" target="_blank">weekly dojos.</a> Our dojo style is similar to <a href="http://codingdojo.org/cgi-bin/wiki.pl?RandoriKata" target="_blank">Randoori,</a> but without pairing (instead of pairs, we&#8217;re all one set).  In Randoori terms, we use something similar to <a href="http://codingdojo.org/cgi-bin/wiki.pl?PingPong" target="_blank">Ping Pong.</a></p>
<p>The flow goes like this: One of the coders writes a failing test.   Lately we&#8217;ve discussed the proper API in detail during this step.  I  think we&#8217;re trying to learn the wisdom of proper test structure.</p>
<p>Once the test fails, that person sits down, and someone else goes to  the keyboard.  That person solves the test, does any refactoring, and  writes a failing test.  Then they pass the keyboard.</p>
<p>It continues like that, with each person doing &#8220;Fix it.  Refactor. Break it.  Pass Keyboard&#8221;.</p>
<p>We&#8217;ve been working in very small groups of about 3-5.  In that size,  everyone sees what&#8217;s going on and gets a chance to drive.  We don&#8217;t have  a projector, which isn&#8217;t too bad since the groups are small. (But if  someone wants to lend us one, it could be useful.)</p>
<p>We allow discussions and suggestions and comments at any time (not  just on a green bar), but the rule is &#8220;the person at the keyboard is  supreme dictator&#8221;.  They can choose to ignore everyone else, or go with  whatever suggestion they choose.</p>
<p>We&#8217;re still working out the bumps, but we seem to have a good system going.  If you&#8217;re in Austin and have a Monday evening free, come join us at Genuine Joe&#8217;s Coffeehouse from 8 &#8211; 10 pm.</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/austin/'>austin</a>, <a href='http://ziroby.wordpress.com/tag/austin-texas/'>Austin Texas</a>, <a href='http://ziroby.wordpress.com/tag/code-kata/'>code kata</a>, <a href='http://ziroby.wordpress.com/tag/coding-dojo/'>coding dojo</a>, <a href='http://ziroby.wordpress.com/tag/deliberate-practice/'>deliberate practice</a>, <a href='http://ziroby.wordpress.com/tag/software-development/'>software development</a>, <a href='http://ziroby.wordpress.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/232/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=232&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/08/22/austin-style-code-dojo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>What comes next after TDD katas?</title>
		<link>http://ziroby.wordpress.com/2010/08/16/what-comes-next-after-tdd-katas/</link>
		<comments>http://ziroby.wordpress.com/2010/08/16/what-comes-next-after-tdd-katas/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 19:16:07 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[TDD Coding]]></category>
		<category><![CDATA[code kata]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[deliberate practice]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[mock object]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[UI testing]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=251</guid>
		<description><![CDATA[What comes next after TDD katas?  UI Testing?  Mocks?  Design Patterns? I&#8217;ve been doing TDD katas and dojos for a while now, and I think I&#8217;ve learned the first lesson.  I know the cadence of &#8220;break it, fix it, refactor&#8221;.  I understand Baby Steps and The Simplest Thing That Could Possible Work.  I get the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=251&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What comes next after TDD katas?  UI Testing?  Mocks?  Design Patterns?</p>
<p>I&#8217;ve been doing TDD katas and dojos for <a href="http://groups.google.com/group/austin-code-dojo" target="_blank">a while now</a>, and I think I&#8217;ve learned the first lesson.  I know the cadence of &#8220;break it, fix it, refactor&#8221;.  I understand <a href="http://agilesoftwaredevelopment.com/baby-steps" target="_blank">Baby Steps</a> and <a href="http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html" target="_blank">The Simplest Thing That Could Possible Work</a>.  I get the importance of test choice in guiding the evolution of design.</p>
<p>So what&#8217;s my next lesson?  What&#8217;s the next thing the katas and dojos can teach me?  Maybe I need to figure out how to test UIs, and how to make testable UIs. <a href="http://www.objectmentor.com/resources/articles/TheHumbleDialogBox.pdf" target="_blank">The Humble Dialog Box</a> may provide insight and direction there.  A coworker suggested that I need to learn mocks, maybe <a href="http://www.jmock.org/" target="_blank">JMock</a> or <a href="http://www.ayende.com/projects/rhino-mocks.aspx" target="_blank">RhinoMocks</a>.  I think there&#8217;s a kata in there somewhere.  I&#8217;ve tried the <a href="http://www.jmock.org/getting-started.html" target="_blank">Publish/Subscribe example</a> from JMock, but that feels too simple, a Hello World of JMock.  What&#8217;s a more complex kata that needs mocks to solve?  Or maybe I need to find a way to incorporate <a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/" target="_blank">Design Patterns</a> into my solutions.  So far I&#8217;ve evolved very simple designs, so they haven&#8217;t needed Design Patterns.</p>
<p>So what&#8217;s the next lesson to learn from code katas?  I know there&#8217;s a lesson in there somewhere, and I feel like I&#8217;m on the verge of learning it.  What is that lesson?</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/code-kata/'>code kata</a>, <a href='http://ziroby.wordpress.com/tag/coding-dojo/'>coding dojo</a>, <a href='http://ziroby.wordpress.com/tag/deliberate-practice/'>deliberate practice</a>, <a href='http://ziroby.wordpress.com/tag/design-patterns/'>design patterns</a>, <a href='http://ziroby.wordpress.com/tag/mock-object/'>mock object</a>, <a href='http://ziroby.wordpress.com/tag/software-development/'>software development</a>, <a href='http://ziroby.wordpress.com/tag/tdd/'>TDD</a>, <a href='http://ziroby.wordpress.com/tag/ui-testing/'>UI testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=251&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/08/16/what-comes-next-after-tdd-katas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>What Matters in a Dojo?</title>
		<link>http://ziroby.wordpress.com/2010/07/18/what-matters-in-a-dojo/</link>
		<comments>http://ziroby.wordpress.com/2010/07/18/what-matters-in-a-dojo/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 04:29:09 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[code kata]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[deliberate practice]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=231</guid>
		<description><![CDATA[We in the Austin Code Dojo have been doing weekly dojos for four weeks now, in Genuine Joe Coffeehouse in North Austin, Texas. We&#8217;ve been learning a lot in these sessions.  Here are some of my notes.  These mostly talk about what matters in a dojo.  What are the important things we&#8217;re doing and why [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=231&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We in the <a href="http://groups.google.com/group/austin-code-dojo" target="_blank">Austin Code Dojo</a> have been doing weekly <a href="http://codingdojo.org/cgi-bin/wiki.pl?WhatIsCodingDojo" target="_blank">dojos</a> for four weeks now, in Genuine Joe Coffeehouse in North Austin, Texas. We&#8217;ve been learning a lot in these sessions.  Here are some of my notes.  These mostly talk about what matters in a dojo.  What are the important things we&#8217;re doing and why are we doing things this way?</p>
<p><span id="more-231"></span>The order that you come up with the tests really matters.  The tests drive the solution and shape what it will be.  Starting with simple tests (or tests with simple solutions) is crucial, but the order you progress is also important.  There&#8217;s a certain art involved here, and I think that&#8217;s one of the things we&#8217;re learning.</p>
<p>The names of the tests really matter, too.  First, they organize your thoughts when you&#8217;re initially writing the tests.  Second, when a test fails, especially one you didn&#8217;t expect to fail, the test name should tell exactly what happened.  So, for example, if frobnicatingAnEmptyFoobarShouldThrowAnException fails, you know frobnicate()  isn&#8217;t throwing an exception when passed an empty Foobar.</p>
<p>The early phase of a TDD kata is about creating the API.  We tend to spend a lot of time on the API, because it is very important.  For example, at one point we were working with a complex method-driven API, and it was getting complicated, and it felt like we were getting into design.  We switched to a simple string input/output API, and suddenly it was easier to get through those first tests.  Design moved back into the solving-the-test phase.  Those early tests created the API, and we had to get them right to proceed.</p>
<p>The reason we divide tests and solutions is because they are two different domains.  When we are writing the tests, we are working in the problem domain.  What is this program supposed to do?  When we are fixing the tests, we are working in the solution domain.  How is this program going to do it?  Separating the two ensures that you&#8217;re not mixing, that you&#8217;re not designing in the problem domain, nor defining in the solution domain.</p>
<p>You should envision the eventual architecture of the program, but that&#8217;s just a road map.  It&#8217;s not where you start, it&#8217;s the route you think you&#8217;ll take.  And, like a map, once you get out on the road, you might find yourself taking a different approach.</p>
<p>We&#8217;re still working on all of this, and learning more and more about TDD and programming in general.  Please, come join us.</p>
<p>Austin Code Dojo<br />
Mondays, 8pm to 10pm<br />
<a href="http://groups.google.com/group/austin-code-dojo" target="_blank">http://groups.google.com/group/austin-code-dojo</a></p>
<p>Genuine Joe Coffeehouse<br />
2001 W. Anderson Lane<br />
Austin, TX 78757</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/code-kata/'>code kata</a>, <a href='http://ziroby.wordpress.com/tag/coding-dojo/'>coding dojo</a>, <a href='http://ziroby.wordpress.com/tag/deliberate-practice/'>deliberate practice</a>, <a href='http://ziroby.wordpress.com/tag/lessons-learned/'>lessons learned</a>, <a href='http://ziroby.wordpress.com/tag/software-development/'>software development</a>, <a href='http://ziroby.wordpress.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/231/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=231&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/07/18/what-matters-in-a-dojo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>Cyborg Poker Night</title>
		<link>http://ziroby.wordpress.com/2010/07/12/cyborg-poker-night/</link>
		<comments>http://ziroby.wordpress.com/2010/07/12/cyborg-poker-night/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 08:00:50 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[cyborg]]></category>
		<category><![CDATA[cyborg chess]]></category>
		<category><![CDATA[cyborg games]]></category>
		<category><![CDATA[cyborg poker]]></category>
		<category><![CDATA[poker]]></category>
		<category><![CDATA[poker odds]]></category>
		<category><![CDATA[probability]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=190</guid>
		<description><![CDATA[Cyborg games: a human and a computer working together to play a game better than either could alone.  There are Cyborg Chess leagues out there, but how about having a Cyborg Poker Night? Computers are much better than humans at some things, like looking ahead a few  moves in chess, or computing odds in poker.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=190&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cyborg games: a human and a computer working together to play a game better than either could alone.  There are <a href="http://en.wikipedia.org/wiki/Advanced_Chess" target="_self">Cyborg Chess</a> leagues out there, but how about having a Cyborg Poker Night?</p>
<p><span id="more-190"></span>Computers are much better than humans at some things, like looking ahead a few  moves in chess, or computing odds in poker.  But there are some things computers can&#8217;t do, like long term strategies, or deciding if someone&#8217;s bluffing, or any of the psychological aspects of the game.  So put them on a team, and each handles the part they&#8217;re best at.</p>
<p>In practice, this will work out as a player typing in moves or cards into an analysis engine, reading the probabilities, and selecting a move or bid.  In poker, a computer can compute the exact probability that each player has a winning hand.  It can even compute the maximum amount you&#8217;d want to invest in a particular hand.</p>
<p>So then Cyborg Poker Night works like this: Invite over some friends for poker.  Everyone should bring a laptop, and the host should point the guests at some poker engines, so they can install one beforehand.  Then you can use physical cards, or a program like <a href="http://www.rptools.net/index.php?page=maptool" target="_blank">Maptool</a> to deal.  Each person types the cards into the program (or the server broadcasts them).  The programs make recommendations, but ultimately it&#8217;s the human who decides what to do.  I think it&#8217;s important that, even if you have a game server, everyone should be in the same room, so you can gauge their reactions.</p>
<p>Cyborg Poker could give a better quality of game, with a higher skill level, by taking advantage of the strengths of both a human player and a computer odds engine.  The Cyborg Poker Night would be a lot of fun, and an opportunity to find, develop, and tune poker probability software.  Who&#8217;s in?</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/cyborg/'>cyborg</a>, <a href='http://ziroby.wordpress.com/tag/cyborg-chess/'>cyborg chess</a>, <a href='http://ziroby.wordpress.com/tag/cyborg-games/'>cyborg games</a>, <a href='http://ziroby.wordpress.com/tag/cyborg-poker/'>cyborg poker</a>, <a href='http://ziroby.wordpress.com/tag/poker/'>poker</a>, <a href='http://ziroby.wordpress.com/tag/poker-odds/'>poker odds</a>, <a href='http://ziroby.wordpress.com/tag/probability/'>probability</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/190/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=190&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/07/12/cyborg-poker-night/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>Video of Hello World Kata</title>
		<link>http://ziroby.wordpress.com/2010/07/06/video-of-hello-world-kata/</link>
		<comments>http://ziroby.wordpress.com/2010/07/06/video-of-hello-world-kata/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:03:12 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=199</guid>
		<description><![CDATA[I just created a video of the Hello World kata.  A code kata is an instance of deliberate practice in computer programming.  The video walks through the kata in Eclipse, with a narration. http://www.youtube.com/watch?v=oXYw-ppevA4<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=199&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just created a <a href="http://www.youtube.com/watch?v=oXYw-ppevA4">video</a> of the <a href="http://www.codingdojo.org/cgi-bin/wiki.pl?KataHello">Hello World</a> kata.  A <a href="http://codekata.pragprog.com/2007/01/code_kata_backg.html">code kata</a> is an instance of deliberate practice in computer programming.  The video walks through the kata in Eclipse, with a narration.</p>
<p><a href="http://www.youtube.com/watch?v=oXYw-ppevA4">http://www.youtube.com/watch?v=oXYw-ppevA4</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/199/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=199&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/07/06/video-of-hello-world-kata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>Moon Phase Sprints</title>
		<link>http://ziroby.wordpress.com/2010/06/21/moon-phase-sprints/</link>
		<comments>http://ziroby.wordpress.com/2010/06/21/moon-phase-sprints/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 08:00:14 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[cadence]]></category>
		<category><![CDATA[moon]]></category>
		<category><![CDATA[moon magic]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=145</guid>
		<description><![CDATA[In Wicca there is a concept of the magical power of the moon. Each moon phase has different power, and different magickal workings should be done during each phase.  We can apply this to Agile sprints to make Moon Phase Sprints.  The sprints would be one moon cycle long (29 &#8211; 30 days).  The waxing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=145&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Wicca there is a concept of the magical <a href="http://www.moonsmuses.com/moonphases.html" target="_blank">power of the moon.</a> Each moon phase has different power, and different magickal workings should be done during each phase.  We can apply this to Agile sprints to make Moon Phase Sprints.  The sprints would be one moon cycle long (29 &#8211; 30 days).  The waxing half would be used for the generative, or creative, tasks, and the waning moon would be an opportunity for polishing, testing/fixing, and retrospective.  This gives an internal structure to each sprint, and lets the work follow a natural rhythm.</p>
<p><span id="more-145"></span>The <strong>new moon</strong> is the time for beginnings, for starting on a new project, so sprints start the day of the new moon.  The new moon lasts three days, so the beginning activities &#8212; sprint kickoff, sprint planning, sizing and estimating, story collection &#8212; all take place in those first three days.  By the end of day on the third day, everyone should be working on a task.</p>
<p>The <strong>waxing moon</strong> is generative, creative.  Most of the work on the sprint takes place during the waxing moon.  The emphasis is on new code, new stories, and new bug fixes.  The team members should be working quickly, taking new stories, working on them, testing them.  These are the activities that normally take the bulk of time in a traditional sprint.</p>
<p>The <strong>full moon </strong>is the height of power and creativity.  In magick, that&#8217;s when the greatest spells are cast.  Expect a greater velocity on these days; if anyone works extra hours, it will most likely be during the full moon.  The full moon is considered to last three days.  At end of those three days, the sprint should be feature complete.</p>
<p>The<strong> waning moon</strong> is designated for restorative activities.  It&#8217;s contemplative and reflective.  Here we complete and polish the work we created during the first half of the sprint.  All stories should be completely tested and any bugs found get fixed during this phase.  Code refactoring and reorganization can occur; documentation should be looked over and completed.  No new features can be added during the waning moon.  The last several days of the waning moon contain completion activities, such as the customer demo, retrospective, and release, and when the waning moon phase ends, the sprint should be &#8220;done done&#8221;.</p>
<p>The three days before the next new moon are considered <strong>the dark of the moon. </strong>In magickal thinking, almost no spells should be done during the dark of the moon.  So we take these days as a break from sprint work.  The team can work on tools, or environment issues, or training &#8212; activities to enhance their abilities, but no work directly on project.  You could also throw a &#8220;sprint is done&#8221; party to provide closure to the sprint.</p>
<p>Using the moon as a guide gives an internal structure to the sprint.  The moon phase sprint will follow a natural rhythm, a sort of inhale-exhale, yin-yang structure.  Giving a time to create and a time to reflect makes sure both activities get equal attention, and can create a powerful, sustainable cadence.</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/agile/'>agile</a>, <a href='http://ziroby.wordpress.com/tag/cadence/'>cadence</a>, <a href='http://ziroby.wordpress.com/tag/moon/'>moon</a>, <a href='http://ziroby.wordpress.com/tag/moon-magic/'>moon magic</a>, <a href='http://ziroby.wordpress.com/tag/sprint/'>sprint</a>, <a href='http://ziroby.wordpress.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=145&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/06/21/moon-phase-sprints/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>First Weekly Community Dojo on Monday</title>
		<link>http://ziroby.wordpress.com/2010/06/19/first-weekly-community-dojo-on-monday/</link>
		<comments>http://ziroby.wordpress.com/2010/06/19/first-weekly-community-dojo-on-monday/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 18:45:53 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[austin]]></category>
		<category><![CDATA[coding dojo]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=179</guid>
		<description><![CDATA[We’re going to hold a Dojo this Monday at Genuine Joe Coffeehouse in Austin. A dojo is a coding practice session, an instance of deliberate practice.  We work through a simple coding problem TDD style.  After talking through the problem description, someone writes one failing test.  Then another person gets the keyboard, solves the test, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=179&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We’re going to hold a Dojo this Monday at Genuine Joe Coffeehouse in Austin.</p>
<p>A <a title="http://codingdojo.org/" href="http://codingdojo.org/" target="_blank">dojo</a> is a coding practice session, an instance of deliberate practice.  We work through a simple coding problem TDD style.  After talking through the problem description, someone writes one failing test.  Then another person gets the keyboard, solves the test, refactors, and writes the next failing test.  Then they pass the keyboard and repeat.</p>
<p style="padding-left:30px;">Austin Code Dojo</p>
<p style="padding-left:30px;">Monday, June 21, 2010<br />
8pm to 10pm</p>
<p style="padding-left:30px;">Genuine Joe Coffeehouse<br />
2001 W. Anderson Lane<br />
Austin, TX 78757</p>
<p style="padding-left:30px;">Cost: free, but please buy some drinks and/or food from the Coffeehouse</p>
<p>We don’t have a projector yet, so if someone can borrow one from their work, or if someone owns one, that’d be great.</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/austin/'>austin</a>, <a href='http://ziroby.wordpress.com/tag/coding-dojo/'>coding dojo</a>, <a href='http://ziroby.wordpress.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=179&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/06/19/first-weekly-community-dojo-on-monday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
		<item>
		<title>The Transmission Analogy</title>
		<link>http://ziroby.wordpress.com/2010/06/03/the-transmission-analogy/</link>
		<comments>http://ziroby.wordpress.com/2010/06/03/the-transmission-analogy/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 20:00:19 +0000</pubDate>
		<dc:creator>Ron "Ziroby" Romero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[memory management]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://ziroby.wordpress.com/?p=12</guid>
		<description><![CDATA[It&#8217;s been said that memory management is like automotive transmission. I agree, but, unlike Joel Spolsky, I don&#8217;t think that implies that implies one should prefer languages that manage memory for you. The analogy goes like this: Memory management is like a car&#8217;s transmission. C++ and similar languages are manual transmission. The developer must &#8220;shift&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=12&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been said that <a href="http://www.joelonsoftware.com/articles/APIWar.html">memory management is like automotive transmission</a>. I agree, but, unlike Joel Spolsky, I don&#8217;t think that implies that implies one should prefer languages that manage memory for you.</p>
<p><span id="more-12"></span><br />
The analogy goes like this: Memory management is like a car&#8217;s transmission. C++ and similar languages are manual transmission. The developer must &#8220;shift&#8221; by hand, explicitly allocating and freeing memory. Languages like Java and C# manage memory for you, like an automatic transmission.  Joel says that there is only one case in regular driving where a manual transmission gives the driver a real advantage. Therefore, one should prefer an automatic transmission and, similarly,  a memory managed language.</p>
<p>But there&#8217;s something more subtle about it, both with driving and with programming.  True, a standard does not give a direct, explicit benefit, but it does provide an indirect value. When I drive a standard I feel more connected to the road, more involved in driving. I have to pay more attention to the engine, to know when to shift. Since I&#8217;m paying more attention to the engine, I pay more attention to the road, to the other cars, to driving in general. I am more involved in driving, and that makes me a better driver when I drive a standard.</p>
<p>It&#8217;s the same way with programming. If I&#8217;m doing memory management myself, I pay more attention to which objects own which other objects, to object lifetimes,  to the program in general. Managing my own memory forces me to pay more attention, and that makes me a better developer. Sure, I could let the language handle that for me, but that would let me be a little more detached.</p>
<p>Granted, automatics remove a whole class of errors. You can&#8217;t grind the gears, or shift into first on the highway. You can&#8217;t leak memory or access freed memory.  But those are beginner errors. When you get good, you tend to not do that. And if you do, the car or the program tell you that you messed up. You can&#8217;t say that you know how to drive a standard until you stop grinding the gears. And that leads to the next advantage.</p>
<p>You have to be a better programmer to work in a language where you&#8217;re responsible for managing your own memory. When a C++ program is written wrong, it dumps core. When a Java program is written wrong, it runs slow. You can write Java that has all sorts if inefficiencies in it, and it works. But to be able to successfully write C++, you have to write it better.</p>
<p>So which should you use?  Like everything else, it depends on the task at hand. But I strongly believe that all developers should learn C++ <strong>and</strong> Java or C#.   Just knowing both will make you a better developer.  But which is &#8220;better&#8221; to use? It depends.  To paraphrase something that used to be said about C and Lisp, C++ developers think that memory management is too important to be left to the language,  and Java and C# developers think memory management is too important to be left to the developer.</p>
<br /> Tagged: <a href='http://ziroby.wordpress.com/tag/c/'>C#</a>, <a href='http://ziroby.wordpress.com/tag/java/'>java</a>, <a href='http://ziroby.wordpress.com/tag/memory-management/'>memory management</a>, <a href='http://ziroby.wordpress.com/tag/software-development/'>software development</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ziroby.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ziroby.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ziroby.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ziroby.wordpress.com&amp;blog=13192157&amp;post=12&amp;subd=ziroby&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ziroby.wordpress.com/2010/06/03/the-transmission-analogy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05db4d76c2e65adb9988f42a27cadb0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ziroby</media:title>
		</media:content>
	</item>
	</channel>
</rss>
