<?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/"
	>

<channel>
	<title>Stephen Balkum</title>
	<atom:link href="http://www.stephenbalkum.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stephenbalkum.com</link>
	<description>Agile Enthusiast, Leader, and Developer</description>
	<lastBuildDate>Mon, 08 Nov 2010 01:37:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>When all you need is a rake</title>
		<link>http://www.stephenbalkum.com/archive/2009/06/09/when-all-you-need-is-a-rake/</link>
		<comments>http://www.stephenbalkum.com/archive/2009/06/09/when-all-you-need-is-a-rake/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 12:32:28 +0000</pubDate>
		<dc:creator>sbalkum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.stephenbalkum.com/?p=13</guid>
		<description><![CDATA[When all you need is a rake, why would you grab a tractor? I have been doing some investigations of build tools lately.  My simple desires for a build tool are: smallish size no installation as much ancillary benefit as possible I have used NAnt extensively and dabbled in psake recently.  I may post my [...]]]></description>
			<content:encoded><![CDATA[<p>When all you need is a rake, why would you grab a tractor?</p>
<p>I have been doing some investigations of build tools lately.  My simple desires for a build tool are:</p>
<ul>
<li>smallish size</li>
<li>no installation</li>
<li>as much ancillary benefit as possible</li>
</ul>
<p>I have used <a href="http://nant.sourceforge.net/">NAnt </a>extensively and dabbled in <a href="http://code.google.com/p/psake/">psake </a>recently.  I may post my thoughts on psake later, but at this moment, I want to document what I have done with rake.</p>
<p>My business partner, <a href="http://www.lostechies.com/blogs/johnteague/default.aspx">John Teague</a>, had been pushing me to try <a href="http://www.ruby-lang.org/">Ruby </a>and <a href="http://rake.rubyforge.org/">rake </a>for  some time, but I knew the installation had a footprint over 20MB.  Disk  space is cheap, but that is still quite an increase over NAnt.   Compound this with how many times it will be downloaded by developers  and a Continuous Integration server as part of a build and the size and  time adds up.  There is definitely a lot of Ruby development going on,  but the size and required installation (Ruby itself plus lots of little  &#8220;gems&#8221;) were real turn-offs.</p>
<p>One evening I started surfing on Ruby and ran across Erik Veenstra&#8217;s <a href="http://www.erikveen.dds.nl/allinoneruby/index.html">AllInOneRuby </a>script.   It is a Ruby script that packages your Ruby installation into a single  executable.  This is definitely worth a try.  However, I quickly ran  into trouble with a run-time error in the script.  The script has not  seen an update in two years, so Ruby has apparently moved beyond it.  A  lilttle digging and I found the accepted solution to the error.  Nothing  like learning a new language by fixing an error in two year source.</p>
<p>This being my first work in Ruby, I am open to constructive criticism.  I  will describe the process in two parts.  Specific version numbers are  given for reference.  First, the Ruby installation:</p>
<ol>
<li>I downloaded the latest Ruby <a href="ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ruby-1.8.7-p72-i386-mswin32.zip">binaries</a> (1.8.7) rather than use the Windows installer to maintain the &#8220;cleanliness&#8221; of my workstation for subsequent testing.</li>
<li>Extract the binaries to c:\rubywork\ruby</li>
<li>Download <a href="http://rubyforge.org/frs/download.php/57644/rubygems-1.3.4.zip">RubyGems</a> (1.3.4)</li>
<li>Extract RubyGems to c:\rubywork\gems</li>
<li>To install RubyGems, at a command prompt in c:\rubywork\gems, run<br />
..\ruby\bin\ruby setup.rb</li>
<li>Download <a href="http://rubyforge.org/frs/download.php/56873/rake-0.8.7.zip">Rake</a> (0.8.7)</li>
<li>Extract Rake to c:\rubywork\rake</li>
<li>To install Rake, at a command prompt in c:\rubywork\rake, run<br />
..\ruby\bin\ruby install.rb</li>
</ol>
<p>Next, to update Erik&#8217;s script:</p>
<ol>
<li>Download <a title="Download: download/allinoneruby.tar.gz" href="http://www.erikveen.dds.nl/allinoneruby/download/allinoneruby.tar.gz">allinoneruby.tar.gz</a> (0.2.11), the internals of AllInOneRuby</li>
<li>Extract allinoneruby.tar.gz to c:\rubywork\oneruby\allinoneruby</li>
<li>Download Erik&#8217;s <a href="http://www.erikveen.dds.nl/tar2rubyscript/download/tar2rubyscript.rb">tar2rubyscript.rb</a> (0.4.8) to c:\rubywork\oneruby</li>
<li>Edit c:\rubywork\oneruby\allinoneruby\init.rb and modify line 188 to read:<br />
f.puts &#8220;    $0 = script&#8221;</li>
<li>Edit c:\rubywork\oneruby\tar2rubyscript.rb and modify line 623 to read:<br />
$0 = File.expand_path(&#8220;./init.rb&#8221;)</li>
<li>At a command prompt in c:\rubywork\oneruby, run<br />
..\ruby\bin\ruby tar2rubyscript.rb allinoneruby/<br />
which will create a partially flawed allinoneruby.rb</li>
<li>Edit c:\rubywork\oneruby\allinoneruby.rb and modify line 605 to read:<br />
$0 = File.expand_path(&#8220;./init.rb&#8221;)</li>
<li>At a command prompt in c:\rubywork\oneruby, run<br />
..\ruby\bin\ruby allinoneruby.rb &#8211;site<br />
which creates the desired allinoneruby.exe.</li>
</ol>
<p>The exe is just over 3MB.  Not bad at all.</p>
<p>Now, to execute rake, we need a couple support files.  Create a file named rake.rb:<br />
require &#8216;rake&#8217;<br />
require &#8216;rake/tasklib&#8217;<br />
Rake.application.run</p>
<p>Then, a file named rakefile:<br />
task :default do<br />
$stderr.puts &#8220;Howdy, World&#8221;<br />
end</p>
<p>Place these two files together with your allinoneruby.exe and execute:<br />
allinoneruby.exe ruby.rb<br />
and receive a Texan salutation.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stephenbalkum.com/archive/2009/06/09/when-all-you-need-is-a-rake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take interest in your craft</title>
		<link>http://www.stephenbalkum.com/archive/2008/10/04/take-interest-in-your-craft/</link>
		<comments>http://www.stephenbalkum.com/archive/2008/10/04/take-interest-in-your-craft/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 14:53:15 +0000</pubDate>
		<dc:creator>sbalkum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.stephenbalkum.com/?p=10</guid>
		<description><![CDATA[I attended Pablo&#8217;s Days of TDD yesterday and today.  I didn&#8217;t attend really for my personal benefit since I already understand and believe in the concepts of TDD.  Rather, I came to see what the Los Techies guys had put together and who else attended. Pablo&#8217;s guys were exceptional.  They put together a set of [...]]]></description>
			<content:encoded><![CDATA[<p>I attended <a>Pablo&#8217;s Days of TDD</a> yesterday and today.  I didn&#8217;t attend really for my personal benefit  since I already understand and believe in the concepts of TDD.  Rather, I  came to see what the Los Techies guys had put together and who else  attended.</p>
<p>Pablo&#8217;s guys were exceptional.  They put together a set of sponsors to  provide a venue with plenty of space and large projectors and provide  food.  They assembled a lab workbook with step-by-step instructions and  lots of screen shots to encourage working along with the presenter.   Another sponsor provided the color printing of the workbook.  Lots of  attendees brought their laptops and were actively following.</p>
<p>Obviously, the primary topic was common unit testing concepts using  NUnit.  In addition, Resharper hints and tricks are used extensively.   Finally, an introduction to mocking with Rhino.Mocks was covered in the  last lab.  I counted eight Los Techies members on hand to answer  virtually any question or provide one-on-one help.</p>
<p>Although the turnout was very good, I know there were more people out  there that could have benefited.  I encouraged several folks to show up  and not a one was there.</p>
<p>Come on folks.  There are tons of opportunities out there for free  skills development.  You might have to give up a Saturday or an evening  to attend, but it will be worth it to your craft.  In the long run, this  translates to increased productivity and career advancement.</p>
<p>Managers, look for these opportunities and encourage your developers to  attend.  As your developers improve and advance their careers, this is a  positive reflection on you as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stephenbalkum.com/archive/2008/10/04/take-interest-in-your-craft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Go see John Teague of Next Level Technology in your area</title>
		<link>http://www.stephenbalkum.com/archive/2008/09/08/go-see-john-teague-of-next-level-technology-in-your-area/</link>
		<comments>http://www.stephenbalkum.com/archive/2008/09/08/go-see-john-teague-of-next-level-technology-in-your-area/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 19:18:14 +0000</pubDate>
		<dc:creator>sbalkum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.stephenbalkum.com/?p=8</guid>
		<description><![CDATA[My business partner, John Teague, is speaking at the Alamo Coders in San Antonio on Tuesday, September 9, on jQuery. Then, he is speaking on Object Oriented Design Principles at Houston Techfest on Saturday, September 13.  I will be in attendance as well. Be sure to check out these sessions in your area!]]></description>
			<content:encoded><![CDATA[<p>My business partner, <a>John Teague</a>, is speaking at the <a>Alamo Coders</a> in San Antonio on Tuesday, September 9, on jQuery.</p>
<p>Then, he is speaking on Object Oriented Design Principles at <a>Houston Techfest</a> on Saturday, September 13.  I will be in attendance as well.</p>
<p>Be sure to check out these sessions in your area!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stephenbalkum.com/archive/2008/09/08/go-see-john-teague-of-next-level-technology-in-your-area/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Considering a software rewrite?</title>
		<link>http://www.stephenbalkum.com/archive/2008/08/22/considering-a-software-rewrite/</link>
		<comments>http://www.stephenbalkum.com/archive/2008/08/22/considering-a-software-rewrite/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 20:14:52 +0000</pubDate>
		<dc:creator>sbalkum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.stephenbalkum.com/?p=6</guid>
		<description><![CDATA[A potential client is considering a major rewrite of one of their most important applications. Now, at first I’m seeing a few dollar signs for a new project, but then I come back to earth and start thinking again later that evening. Strangely, my business partner, John, starts an IM conversation with me about software [...]]]></description>
			<content:encoded><![CDATA[<p>A potential client is considering a major rewrite of one of their  most important applications.  Now, at first I’m seeing a few dollar  signs for a new project, but then I come back to earth and start  thinking again later that evening.  Strangely, my business partner,  John, starts an IM conversation with me about software rewrites even  though I hadn’t yet told him about the conversation I had with the  client.</p>
<p>I hit the net searching for discussion on this topic and found plenty  of blogs saying &#8220;don’t rewrite, refactor instead.&#8221;  However, no one  really speaks in favor of a rewrite.  Here, we list reasons in favor of a  rewrite:</p>
<ul>
<li>Performance: The existing architecture and code was written in a  day when the transaction volume was several orders of magnitude less.</li>
<li>Turnover: With a twist to the meaning of the term, everyone has  heard the stories about this code and has managed to push back on every  feature request for years.  In that time all of the developers that  actually did know that code have left.</li>
<li>Business has evolved: Similar to the performance reason, the  business has evolved to the point that the architecture is challenged to  meet the needs.</li>
<li>Development speed: The code is so rigid that developers cannot  deliver features fast enough and the business is unable to take  advantage of changing market conditions.</li>
</ul>
<p>I contend that all of these reasons boil down to just one:</p>
<p>When changing the existing code is more expensive to the business, it is time for a rewrite.</p>
<p>This should absolutely be measurable.  Compare the estimated  development time of the requested features and the ROI of those features  based on time with the estimated development time to rewrite.</p>
<p>I am proposing my client invest in a little time to evaluate the code closer for refactoring options.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stephenbalkum.com/archive/2008/08/22/considering-a-software-rewrite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First entry into the blogosphere</title>
		<link>http://www.stephenbalkum.com/archive/2008/08/17/hello-world/</link>
		<comments>http://www.stephenbalkum.com/archive/2008/08/17/hello-world/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 00:00:16 +0000</pubDate>
		<dc:creator>sbalkum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.stephenbalkum.com/?p=1</guid>
		<description><![CDATA[I&#8217;m finally making the leap.  However, it took a lot of prodding from multiple individuals to get to this point.  This is my first blog post. As with many others before me, my first post will be more or less an introduction.  I am co-founder and principal consultant for Next Level Technology with John Teague. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finally making the leap.  However, it took a lot of prodding from  multiple individuals to get to this point.  This is my first blog post.</p>
<p>As with many others before me, my first post will be more or less an  introduction.  I am co-founder and principal consultant for Next Level  Technology with <a href="http://www.lostechies.com/blogs/johnteague/" target="_blank">John Teague</a>.  We are a custom software development and Agile coaching firm in Austin,  Texas.  Although our business is new, we will succeed by taking  advantage of short iterations, and the frequent communication that  accompanies them, to make sure our clients get software that works just  as they need.</p>
<p>I&#8217;ve been leading teams for over a decade.  I&#8217;ve written device drivers  and 3D games, shrink wrap software and enterprise software, desktop  software and web applications.  I&#8217;ve been a developer, technical lead,  director, and vice president.  I won&#8217;t pretend to be a master of any  slice of software development, but I&#8217;ve definitely been around the  block.  This diversity has afforded me the opportunity to work with many  different teams.  Some teams were quite strong; others, well, not so  strong.</p>
<p>Most recently, I was the VP of Technology at Callaway Golf Interactive  for over 6 years where I lead the teams that developed the ecommerce  site for Callaway Golf, specifically www.callawaygolfpreowned.com and  shop.callawaygolf.com.  During this time, my day-to-day focus shifted  from mostly coding to mostly management.</p>
<p>I believe it was back in 2005, while at CGI, that <a href="http://www.lostechies.com/blogs/hex/" target="_blank">Eric Hexter</a> introduced me to Agile, something he was just discovering, and a new  way of thinking.  Although I instantly saw the benefits from a project  management and quality standpoint, it has been a continuous journey ever  since.  It is absolutely a new way of approaching a project and working  it to success.  Since then, I have become a certified ScrumMaster, lead  multiple project cycles, and I even put myself into a team as a coder  just for the experience.</p>
<p>My goal for this blog is pass along those useful tidbits of information,  or start a topic of conversation.  I have a couple of pet projects  going on that will afford me plenty of personal coding experience to  share.  In addition, there will be technical leadership thoughts to pass  along as I work with other teams as part of NLT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stephenbalkum.com/archive/2008/08/17/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

