<?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>Matt Stine&#039;s Blog</title>
	<atom:link href="http://mattstine.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattstine.com</link>
	<description>Thoughts on Java, Groovy, Grails, Agile Development, etc. etc. etc.</description>
	<lastBuildDate>Mon, 02 Aug 2010 13:44:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mattstine.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db1ec9910f4d23f8ca6f679403dd07c?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Matt Stine&#039;s Blog</title>
		<link>http://mattstine.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mattstine.com/osd.xml" title="Matt Stine&#039;s Blog" />
	<atom:link rel='hub' href='http://mattstine.com/?pushpress=hub'/>
		<item>
		<title>More Agile Zone Articles!</title>
		<link>http://mattstine.com/2010/08/02/more-agile-zone-articles/</link>
		<comments>http://mattstine.com/2010/08/02/more-agile-zone-articles/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 13:44:04 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=379</guid>
		<description><![CDATA[Just to prove that I am writing, just not here, I thought I&#8217;d post another collection of links to my latest Agile Zone articles: Yes You Kanban! The Guerilla&#8217;s Workflow Feedback is the Key! Going Guerilla: Where to Start In the near future you can look forward to a few more episodes of &#8220;The Agile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=379&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Just to prove that I am writing, just not here, I thought I&#8217;d post another collection of links to my latest Agile Zone articles:</p>
<ul>
<li><a href="http://java.dzone.com/articles/yes-you-kanban">Yes You Kanban!</a></li>
<li><a href="http://java.dzone.com/articles/guerillas-workflow">The Guerilla&#8217;s Workflow</a></li>
<li><a href="http://java.dzone.com/articles/feedback-key">Feedback is the Key!</a></li>
<li><a href="http://java.dzone.com/articles/going-guerilla-where-start">Going Guerilla: Where to Start</a></li>
</ul>
<p>In the near future you can look forward to a few more episodes of &#8220;The Agile Guerilla&#8221; series, as well as a brand new series I&#8217;ll be starting entitled &#8220;The Seven Wastes of Software Development.&#8221;</p>
<p>Got any topics you want to hear more about? Post up in the comments and I&#8217;ll see about covering them at Agile Zone in the coming weeks!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/379/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=379&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/08/02/more-agile-zone-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m in the zone&#8230;Agile Zone.</title>
		<link>http://mattstine.com/2010/07/20/im-in-the-zone-agile-zone/</link>
		<comments>http://mattstine.com/2010/07/20/im-in-the-zone-agile-zone/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 03:38:09 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=373</guid>
		<description><![CDATA[My apologies to my colleagues down the street at AutoZone, but I just had to do that. I recently accepted the role of Agile Zone Leader at DZone.com. For the past few weeks I&#8217;ve been publishing a couple of articles a week on various agile development topics. I&#8217;m very happy to get the extra exposure [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=373&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>My apologies to my colleagues down the street at <a href="http://www.autozone.com">AutoZone</a>, but I just had to do that. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I recently accepted the role of Agile Zone Leader at <a href="http://agile.dzone.com">DZone.com</a>. For the past few weeks I&#8217;ve been publishing a couple of articles a week on various agile development topics. I&#8217;m very happy to get the extra exposure and I hope that folks are getting some value out of my posts. On the downside, I have virtually zero time to write anything here, but on the upside I&#8217;m definitely writing more regularly. Nothing like positive pressure to deliver!</p>
<p>Here are some links to my recent articles:</p>
<ul>
<li><a href="http://agile.dzone.com/articles/you-are-your-softwares-immune">You Are Your Software&#8217;s Immune System!</a></li>
<li><a href="http://agile.dzone.com/articles/interview-w-alan-shalloway">Interview: Alan Shalloway on Lean Agile Software Development, Part One</a></li>
<li><a href="http://agile.dzone.com/articles/interview-w-alan-shalloway">Interview: Alan Shalloway on Lean Agile Software Development, Part Two</a></li>
<li><a href="http://agile.dzone.com/articles/show-dont-tell-persuade-dont">Show (Don&#8217;t Tell), Persuade (Don&#8217;t Preach)</a></li>
<li><a href="http://agile.dzone.com/articles/scrummaster-said-i-had">But the ScrumMaster said I had to!</a></li>
<li><a href="http://agile.dzone.com/articles/agile-guerilla">The Agile Guerilla</a></li>
<li><a href="http://agile.dzone.com/articles/use-stories-deliver">Use Stories to Deliver Business Value</a></li>
</ul>
<p>Enjoy! </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/373/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=373&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/07/20/im-in-the-zone-agile-zone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>Two new NFJS talks for this fall!</title>
		<link>http://mattstine.com/2010/07/06/two-new-nfjs-talks-for-this-fall/</link>
		<comments>http://mattstine.com/2010/07/06/two-new-nfjs-talks-for-this-fall/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 02:40:00 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=367</guid>
		<description><![CDATA[I&#8217;m excited to announce that I am working up two brand new talks for this Fall to go along side my regular fare. Both of these talks are already scheduled for shows in Boston, MA and Seattle, WA. The first talk is entitled &#8220;The Seven Wastes of Software Development.&#8221; We&#8217;ll begin by examining one of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=367&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited to announce that I am working up two brand new talks for this Fall to go along side my regular fare. Both of these talks are already scheduled for shows in Boston, MA and Seattle, WA.</p>
<p>The first talk is entitled &#8220;The Seven Wastes of Software Development.&#8221; We&#8217;ll begin by examining one of the key tenets of Lean Software Development, that of eliminating waste. We&#8217;ll then walk through the seven wastes identified by Mary and Tom Poppendieck in their books:</p>
<ul>
<li>Partially Done Work</li>
<li>Extra Processes</li>
<li>Extra Features</li>
<li>Task Switching</li>
<li>Waiting</li>
<li>Motion</li>
<li>Defects</li>
</ul>
<p>We&#8217;ll examine each of these wastes and look at some of their common manifestations, both in our coding practices and in our development methodologies. We&#8217;ll also examine strategies for eliminating each of these wastes from our development efforts.  </p>
<p>The second talk is entitled &#8220;Yes You Kanban!&#8221; Kanban is sweeping through the agile software development space. Is it hype? Or is it a useful tool to add to our belt? In this session, we&#8217;ll walk through the following topics and I&#8217;ll let you be the judge:</p>
<ul>
<li>What is Kanban?</li>
<li>What is Kanban NOT?</li>
<li>Comparison to SCRUM</li>
<li>Roots of Kanban</li>
<li>David Anderson&#8217;s five essential elements/principles of Kanban (Visualize workflow, Limit work-in-progress, Measure &amp; manage flow, Make process policies explicit, Use models to recognize improvement opportunities)</li>
<li>Examples of Kanban systems</li>
</ul>
<p>I hope to see some of you in these talks this Fall and I look forward to our discussions!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=367&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/07/06/two-new-nfjs-talks-for-this-fall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>NFJS Fall 2010: What do you want to learn?</title>
		<link>http://mattstine.com/2010/06/22/nfjs-fall-2010-what-do-you-want-to-learn/</link>
		<comments>http://mattstine.com/2010/06/22/nfjs-fall-2010-what-do-you-want-to-learn/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 15:06:16 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[nfjs]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=362</guid>
		<description><![CDATA[Hi everyone! I&#8217;m currently in the process of developing new talks for my Fall 2010 NFJS tour dates. While I don&#8217;t know yet where I&#8217;ll be speaking, I can tell you that I&#8217;ve registered availability for the following shows: Boston, MA Seattle, WA Atlanta, GA Minneapolis, MN Chicago, IL Denver, CO So, if you&#8217;re in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=362&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Hi everyone! I&#8217;m currently in the process of developing new talks for my Fall 2010 NFJS tour dates. While I don&#8217;t know yet where I&#8217;ll be speaking, I can tell you that I&#8217;ve registered availability for the following shows:</p>
<ul>
<li>Boston, MA</li>
<li>Seattle, WA</li>
<li>Atlanta, GA</li>
<li>Minneapolis, MN</li>
<li>Chicago, IL</li>
<li>Denver, CO</li>
</ul>
<p>So, if you&#8217;re in one of those cities and you&#8217;re thinking about attending NFJS when it comes your way (see <a href="http://www.nofluffjuststuff.com">here</a> for the schedule), I&#8217;d like to know what you want to hear about assuming I come your way.</p>
<p>To narrow down the potentials a bit, here are my personal areas of focus:</p>
<ul>
<li>Agility/Lean/Kanban</li>
<li>Native Mobile and Web Mobile Software Development (iPhone/iPad/Android)</li>
<li>Web Development in General (HTML5/CSS3/JavaScript)</li>
<li>Modularity and OSGi</li>
</ul>
<p>If there are any topics from these four areas that you&#8217;d like to hear more about, please speak up in the comments section. And even if you&#8217;re not in one of these cities, most of any talks I develop for the Fall will likely show up on the 2011 tour as well, so please speak up anyway!</p>
<p>Thanks in advance for your feedback!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=362&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/06/22/nfjs-fall-2010-what-do-you-want-to-learn/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>Don&#8217;t build software that&#8217;s TOO smart!</title>
		<link>http://mattstine.com/2010/06/03/dont-build-software-thats-too-smart/</link>
		<comments>http://mattstine.com/2010/06/03/dont-build-software-thats-too-smart/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 22:00:35 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=355</guid>
		<description><![CDATA[I had an extremely successful meeting with one of our clients yesterday. We were discussing how we wanted to go about migrating her laboratory from its current system (one that we built several years ago) to our new lab management platform. At some point during the discussion I made the statement, &#8220;We tried to make [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=355&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I had an extremely successful meeting with one of our clients yesterday. We were discussing how we wanted to go about migrating her laboratory from its current system (one that we built several years ago) to our new lab management platform. At some point during the discussion I made the statement, &#8220;We tried to make the previous system too smart! We&#8217;re not repeating that mistake this time.&#8221; Of course, she was in complete agreement with that principle. I&#8217;ve had similar interactions with our other clients that are making migrations (rather than encountering our system for the first time on this new version), and although I&#8217;ve never explicitly stated the principle that way, similar sentiments have abounded.</p>
<p>What is too smart software? In our case, it was a system that attempted to encapsulate every single rule of &#8220;business&#8221; process that occurred within a given laboratory. Many times statements were flung around like &#8220;will it ALWAYS happen this way,&#8221; &#8220;what should we do if this happens?&#8221; etc., etc., etc. We tried to cover every single possibility, and we did an excellent job of preventing users from ever breaking their own rules. What we didn&#8217;t realize (and we&#8217;re not unique &#8211; this problem is RAMPANT) is that the rules CHANGE. Rules come, rules go. Sometimes the rule remains, but there are a few exceptional cases that must be dealt with. Our system simply couldn&#8217;t deal with a world that worked this way &#8211; and thus, our system was completely unfit for the real world.</p>
<p>We set out with a different mission this time. If there&#8217;s one overriding characteristic of SRM (Shared Resource Management) 2.0, it&#8217;s the explicit assumption that the world will change continually. We don&#8217;t attempt to tell you how you must use this system. We capture your data, we invoice for your services, we run your reports &#8211; but YOU, the user gets to decide how you&#8217;ll interact with it. If your workflow changes, we change with you. Now the devil is in the details. It&#8217;s taken roughly 20-30 man years worth of effort to build a system like this, and it hasn&#8217;t been easy. But in the end, we&#8217;re finding that those years were much better spent ENABLING our users rather than PREVENTING our users from getting things done. </p>
<p>I&#8217;m not sure that I&#8217;ve gotten my point across in this brief diatribe, so I&#8217;ll attempt to sum it up here. If you&#8217;re developing a system, figure out the 2 or 3 things that will make your users&#8217; lives AWESOME, and do those 2 or 3 things extremely well. Don&#8217;t do the rest AT ALL. Don&#8217;t build a system that attempts to be smarter than the knowledge expert using it &#8211; it&#8217;s a means to your user&#8217;s end, not an end in itself. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=355&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/06/03/dont-build-software-thats-too-smart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>Announcing NOSQL Summer Memphis</title>
		<link>http://mattstine.com/2010/05/28/announcing-nosql-summer-memphis/</link>
		<comments>http://mattstine.com/2010/05/28/announcing-nosql-summer-memphis/#comments</comments>
		<pubDate>Fri, 28 May 2010 14:21:43 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://mattstine.com/?p=352</guid>
		<description><![CDATA[I recently stumbled across the NOSQL Summer website via my friend Alex Miller&#8217;s blog. The idea is to setup a summer reading club focused around databases and distributed systems. Groups will gather &#8220;worldwide&#8221; to discuss various papers and the hopefully submit the substance of their discussions back to the NOSQL Summer website in the form [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=352&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently stumbled across the <a href="http://nosqlsummer.org/">NOSQL Summer</a> website via my friend Alex Miller&#8217;s <a href="http://tech.puredanger.com/2010/05/25/nosql-summer-st-louis/">blog</a>. The idea is to setup a summer reading club focused around databases and distributed systems. Groups will gather &#8220;worldwide&#8221; to discuss various papers and the hopefully submit the substance of their discussions back to the NOSQL Summer website in the form of annotated papers.</p>
<p>This sounded like a great idea to me, so I decided that we&#8217;d co-locate a NOSQL Summer discussion with our monthly Memphis JUG meetings. You can find the details of our NOSQL meetings at <a href="http://nosqlsummer.org/city/memphis">http://nosqlsummer.org/city/memphis</a>. We&#8217;ll start at 5:30 and run until 6:15-6:30. If you&#8217;re interested in these discussions, come on out to Southwest TN Community College on June 24th (even if you&#8217;re not a Java type!).</p>
<p>Our first paper will be <a href="http://nosqlsummer.org/paper/end-of-architectural-era">The End of an Architectural Era (It&#8217;s Time for a Complete Rewrite)</a>. Please read it before the meeting and come prepared to mindshare.</p>
<p>If there&#8217;s enough interest in these discussions, we could start having a lunch time discussion at a centrally located restaurant halfway between each JUG meeting. We can discuss this at our first meeting in June. I hope to see you there!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=352&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/05/28/announcing-nosql-summer-memphis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>First thoughts on &#8220;Seven Languages in Seven Weeks&#8230;&#8221;</title>
		<link>http://mattstine.com/2010/05/06/first-thoughts-on-seven-languages-in-seven-weeks/</link>
		<comments>http://mattstine.com/2010/05/06/first-thoughts-on-seven-languages-in-seven-weeks/#comments</comments>
		<pubDate>Thu, 06 May 2010 18:35:28 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[bookreviews]]></category>

		<guid isPermaLink="false">http://www.mattstine.com/?p=310</guid>
		<description><![CDATA[I recently started reading the beta copy of Bruce Tate&#8217;s Seven Languages in Seven Weeks from the Pragmatic Bookshelf. While I&#8217;m certainly NOT on pace to actually complete the book in seven weeks, I have been steadily plodding along. Reading this book takes me back to my days as an undergraduate computer science student at [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=310&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently started reading the beta copy of Bruce Tate&#8217;s <a href="http://pragprog.com/titles/btlang/seven-languages-in-seven-weeks"><em>Seven Languages in Seven Weeks</em></a> from the Pragmatic Bookshelf. While I&#8217;m certainly NOT on pace to actually complete the book in seven weeks, I have been steadily plodding along. Reading this book takes me back to my days as an undergraduate computer science student at the University of Mississippi. As with most CS programs, we were all required to take a &#8220;Survey of Programming Languages&#8221; course toward the end of the curriculum. Tate&#8217;s book is very similiar to walking through this course, except:</p>
<ol>
<li>Tate&#8217;s text and suggested exercises are intensely practical, targeted at actually getting something useful done in the language.</li>
<li>The language selection is entirely relevant to today&#8217;s practitioner. Chances are good that you&#8217;ll use a language from this set in your day job sometime in the next decade. Ignoring that, chances are good that you&#8217;ll use some language that is a &#8220;close cousin&#8221; of a language from this set.</li>
<li>Your thinking about programming in general will be challenged by each chapter. This is not a leisurely read. You cannot &#8220;coast&#8221; through this course.</li>
</ol>
<p>At present I&#8217;m slowly working through the chapter devoted to Io. Io is a prototype-based language, close-cousins with Lua (of recent iPhone game development controversy) and JavaScript (can&#8217;t think of a practical use for this guy&#8230;umm&#8230;oh wait!). I&#8217;ve very much enjoyed Bruce&#8217;s treatment of the language, with his descriptions of the feature being as &#8220;visual&#8221; as words can effectively be &#8211; who else could liken languages to popular movie characters and get away with it? Before working through Io, Bruce and I tackled Ruby together. Ruby is an old and unfortunately neglected friend of mine. We&#8217;ve had our fun together doing a couple of small Rails applications, JUG talks and a (so far) unsuccessful trek into the world of OSGi, but unfortunately we haven&#8217;t hit the big time in my day job. Working through this chapter really served to reignite my enthusiasm for the language, especially as it relates to the rich ecosystem of testing tools available in the Ruby and Rails communities.</p>
<p>In short, only two chapters in I&#8217;d thoroughly recommend that you purchase this book. Like <a href="http://oreilly.com/catalog/9780596100940"><em>Beyond Java</em></a> before it, Bruce has again challenged us to step outside of our comfort zone. If nothing else, you&#8217;ve got seven kickstarts into learning your &#8220;Language of the Year.&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=310&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/05/06/first-thoughts-on-seven-languages-in-seven-weeks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>OSGi on Rails?</title>
		<link>http://mattstine.com/2010/04/29/osgi-on-rails/</link>
		<comments>http://mattstine.com/2010/04/29/osgi-on-rails/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 17:33:40 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://www.mattstine.com/?p=306</guid>
		<description><![CDATA[I&#8217;ve seen quite a few blogs/articles/etc. lately related to the adoption (or lack thereof) of OSGi in the mainstream web application/enterprise application space. A nice summation of these is encapsulated in this excerpt from a comment by Peter Kriens on DZone (you&#8217;ll find it in the comments section for http://java.dzone.com/articles/osgi-perspectives: Yes, one of the next [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=306&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen quite a few blogs/articles/etc. lately related to the adoption (or lack thereof) of OSGi in the mainstream web application/enterprise application space. A nice summation of these is encapsulated in this excerpt from a comment by Peter Kriens on DZone (you&#8217;ll find it in the comments section for <a href="http://java.dzone.com/articles/osgi-perspectives">http://java.dzone.com/articles/osgi-perspectives</a>:</p>
<blockquote><p>
Yes, one of the next frontiers is to make OSGi easier to use for the web app developers. The solid foundation is there, so stop whining and help us create the tools, books, and tutorials that will make OSGi palatable in those markets.</p></blockquote>
<p>There&#8217;s nothing like a call to action to get me stirred up. It&#8217;s no secret that I think OSGi is an excellent tool for tackling the complexity of enterprise applications (see my talks on the NFJS tour this year: <a href="http://www.nofluffjuststuff.com/conference/speaker/matt_stine">http://www.nofluffjuststuff.com/conference/speaker/matt_stine</a>). However, I will readily admit that the learning curve for tackling any non-trivial application in OSGi is rather steep. My bar for non-trivial is quite low &#8211; try learning OSGi while simultaneously attempting to get a mainstream framework like Hibernate working properly.</p>
<p>I think that what we need is a tool that will enable a developer new to OSGi to get an OSGi-enabled web application up and running fairly readily. In fact, I think it would be good to absolutely minimize the amount of OSGi know-how required to get a basic web application into production, while at the same time leaving all of OSGi available just under the covers so that it can be easily accessed when I know what I need and how to use it. So here&#8217;s my proposal:</p>
<p>1) Follow in the footsteps of AppFuse, Grails, Rails, Roo, etc. and put together a web application toolkit that will allow one to instantly spin-up a deployable OSGI-enabled web application.<br />
2) Since we&#8217;re talking about catering to mainstream here, Java the language ought to be the primary language used for development. With that said, we should not put up any barriers to using other languages available on the JVM.<br />
3) Bootstrap a DB-agnostic persistence layer leveraging JPA and make it easily accessible across the application bundles.<br />
4) Bootstrap a dependency injection framework for OSGi services based on the Blueprint standard.<br />
5) Bootstrap a security layer and provide a basic user/role security module with provided login, logout, etc. facilities.<br />
6) Pick a set of modern Java web application frameworks (e.g. Spring MVC, Struts 2, etc.) and make them easily pluggable.<br />
7) Wrap a nice build system around all of this that leverages a modern build tool (e.g. Gradle or Maven 3), the best of the PAX Tools features (especially Pax Construct, Exam, and Runner), and good facilities for automated testing.</p>
<p>So, who&#8217;s with me? I&#8217;m open to any suggestions/comments/rants, etc.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/306/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=306&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/04/29/osgi-on-rails/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>JUG Leadership Lessons Learned on SlideShare</title>
		<link>http://mattstine.com/2010/04/02/jug-leadership-lessons-learned-on-slideshare/</link>
		<comments>http://mattstine.com/2010/04/02/jug-leadership-lessons-learned-on-slideshare/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 19:48:39 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javaone2009]]></category>

		<guid isPermaLink="false">http://www.mattstine.com/?p=300</guid>
		<description><![CDATA[I&#8217;ve been playing a bit with SlideShare today and I took the opportunity to upload the slides from my Java.net Community Corner interview with Kevin Farnham at JavaOne 2009. SlideShare has a nice feature that allows you to sync up the audio from an MP3 file with your slides, and since both were available, I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=300&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing a bit with <a href="http://www.slideshare.net">SlideShare</a> today and I took the opportunity to upload the slides from my <a href="http://weblogs.java.net/blog/2009/07/02/how-start-and-grow-jug-community-corner-2009-podcast">Java.net Community Corner interview with Kevin Farnham at JavaOne 2009</a>. SlideShare has a nice feature that allows you to sync up the audio from an MP3 file with your slides, and since both were available, I thought I&#8217;d give it a try. The interface is extremely easy to use and I&#8217;m very happy with the outcome.</p>
<p>This talk covers the various things I&#8217;ve learned about leading a Java User Group over the past few years. I would say that these are definitely applicable to leading any type of user group, so even if you aren&#8217;t a Java person, you might find some meat here. Enjoy!</p>
<p><object type='application/x-shockwave-flash' wmode='opaque' data='http://static.slideshare.net/swf/ssplayer2.swf?id=3622125&#038;doc=jugleadershiplessonslearned-100402140624-phpapp02' width='570' height='467'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=3622125&#038;doc=jugleadershiplessonslearned-100402140624-phpapp02' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=300&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/04/02/jug-leadership-lessons-learned-on-slideshare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
		<item>
		<title>Dead Programmers Society</title>
		<link>http://mattstine.com/2010/02/16/dead-programmers-society/</link>
		<comments>http://mattstine.com/2010/02/16/dead-programmers-society/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 03:42:40 +0000</pubDate>
		<dc:creator>mattstine</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.mattstine.com/?p=285</guid>
		<description><![CDATA[A local Pastor once gave the advice of introducing ourselves and our kids to dead people. It is his belief that if his kids grow up idolizing the likes of Eric Liddell, Jim Elliot, and Hudson Taylor, they would be far better off than by looking up to many of our so-called &#8220;heroes&#8221; of today. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=285&subd=mattstine&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A local Pastor once gave the <a href="http://holding2truth.blogspot.com/2009/01/strange-sounding-advice.html">advice of introducing ourselves</a> <a href="http://holding2truth.blogspot.com/2009/02/strange-advice-introducing-our-kids-to.html">and our kids to dead people</a>. It is his belief that if his kids grow up idolizing the likes of Eric Liddell, Jim Elliot, and Hudson Taylor, they would be far better off than by looking up to many of our so-called &#8220;heroes&#8221; of today. I happen to agree with his advice, but that&#8217;s not the subject of tonight&#8217;s blog entry.</p>
<p>I think that this advice is very applicable to us as software developers today. While our industry is still young enough that a great many of our &#8220;founding fathers&#8221; are still around, it is surprising to see how often their work and contributions go unnoticed by the vast majority of us. At the January Memphis/Mid-South Java User Group meeting, our program focused on books that all of us as developers should read. Four of us gave our takes on the topic. Joel Neely, one of a few people that I learn from every time I get near them, pulled yet another rabbit out of his hat by focusing on several books, all of which had been published before the majority of us were out of diapers! One book struck me in particular: <em>A Discipline of Programming</em> by Edsgar W. Dijkstra. In it EWD &#8220;presents a formal approach to developing (non-deterministic!) algorithms, using what we would now call a DSL for algorithm design. Incidentally, that book was published in 1976.&#8221; (Thanks Joel for the excellent summary). I&#8217;d like to pull out just a couple of quotes from that book:</p>
<p><em>A most important, but also a most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language, this influence is &#8211; whether we like it or not &#8211; an influence on our thinking habits.</em></p>
<p>Just out of curiosity, does this sound anything at all to you like the frequent admonitions to learn a &#8220;language of the year (LOTY)?&#8221; Of course that isn&#8217;t the context of EWD&#8217;s quote, but the underlying principle remains the same. Almost universally accompanying that admonition is a statement along the lines of &#8220;even if you never use it in your day job, it will affect THE WAY YOU THINK about programming during your day job.&#8221;</p>
<p><em>&#8230;a carefully chosen separation of concerns is essential for the design of in all respects, high quality programs&#8230;</em></p>
<p>Does &#8220;loosely coupled, highly cohesive, modular architecture&#8221; come to mind?</p>
<p><em>&#8230;the fact that programming languages could be used as a vehicle for instructing existing automatic computers, has for a long time been regarded as their most important property&#8230;we shall try to redress the balance, and we shall do so by regarding the fact that our algorithms could actually be carried out be a computer as a lucky accidental circumstance that need not occupy a central position in our considerations&#8230;I view a programming language primarily as a vehicle for the description of (potentially highly sophisticated) abstract mechanisms.</em></p>
<p>I hear so much of what is bandied about today as &#8220;new&#8221; embodied in this quote. The calls to liberate programming from its &#8220;C&#8221; roots by banishing primitives, because hey, primitives are only their to keep &#8220;Java from being too slow!&#8221; The calls to favor &#8220;essence over ceremony&#8221; in language design by eliminating boilerplate code in favor of sensible defaults that clear away the noise from the algorithmic intent that we&#8217;re trying to communicate. The constant reminders that it&#8217;s more important for our code to be readable to humans, not to computers, because that&#8217;s what compilers are for.</p>
<p>What&#8217;s the point? The point is that most, if not all, of the ideas that are &#8220;new&#8221; today are simply restatements of past ideas in a different context. A wise man, one much wiser than I, once said &#8220;&#8230;there is nothing new under the sun&#8221; (Ecclesiastes 1:9). Edsgar W. Dijkstra passed from this earth in 2002, but his ideas live on, and they are very much applicable to software developers today. There are may others like him: Donald Knuth, John McCarthy, Alan Turing, David Gries &#8211; some dead, some alive, but all giants upon whose shoulders we stand. We would do well to consider their words.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mattstine.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mattstine.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mattstine.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mattstine.com&blog=58954&post=285&subd=mattstine&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://mattstine.com/2010/02/16/dead-programmers-society/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1eaa45fee6a2b0c4b479b2982a4274f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mattstine</media:title>
		</media:content>
	</item>
	</channel>
</rss>