<?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>_mindMeld &#187; Software Engineering</title>
	<atom:link href="http://www.mindmeld.ws/blog/category/software-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindmeld.ws/blog</link>
	<description>Les Stroud on Technology, Life, Liberty, and the Pursuit of Happiness</description>
	<lastBuildDate>Wed, 11 Aug 2010 23:19:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Duct Tape Programmer</title>
		<link>http://www.mindmeld.ws/blog/2009/10/21/the-duct-tape-programmer/</link>
		<comments>http://www.mindmeld.ws/blog/2009/10/21/the-duct-tape-programmer/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 02:02:37 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/10/21/the-duct-tape-programmer/</guid>
		<description><![CDATA[<p style="clear: both">It&#8217;s amazing where you can find enlightenment. I ran across <a href="http://www.joelonsoftware.com/items/2009/09/23.html">Joel&#8217;s article on the Duct Tape Programmer</a> and finely felt like I wasn&#8217;t alone. Somehow, I felt less guilty about those systems that are beautiful in their function and not in their form; those systems that happily teeter on the edge of collapse, happily performing their job without error. Joel describes this mindset as follows:</p>
<blockquote style="clear: both"><p>&#8230;is what I would call a duct-tape programmer. And I say that with a great deal of respect. He is the kind of programmer who is hard at work building the future, and making useful things so that people can do stuff. He is the guy you want on your team building go-carts, because he has two favorite tools: duct tape and WD-40. And he will wield them elegantly even as your go-cart is careening down the hill at a mile a minute. This will happen while other programmers are still at the starting line arguing over whether to use titanium or some kind of space-age composite material that Boeing is using in the 787 Dreamliner.</p>
</blockquote>
<p style="clear: both">link: <a href="http://www.joelonsoftware.com/items/2009/09/23.html" target="_blank">The Duct Tape Programmer &#8211; Joel on Software</a><u><br /></u></p>
<p style="clear: both"><br style="text-decoration: underline;" />To me, it is about making things that work. It is an engineering perspective.&#8230;</p>]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/10/21/the-duct-tape-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Architecture Defined</title>
		<link>http://www.mindmeld.ws/blog/2009/09/09/software-architecture-defined/</link>
		<comments>http://www.mindmeld.ws/blog/2009/09/09/software-architecture-defined/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:01:59 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/09/09/software-architecture-defined/</guid>
		<description><![CDATA[<p style="clear: both">This is a nice article outlining the concept of software architecture. It is not complete, but it is on the money when it comes to describing the current state of the art.</p>
<blockquote style="clear: both"><p>As the Johnson quote clearly points out, it’s not feasible to design (or should I say architect?) an infinitely flexible system. Therefore, it’s imperative that we recognize where flexibility is necessary to reduce the impact and cost of change. The challenge is that we don’t always know early in the project what might eventually change, so it’s impossible to create a flexible solution to something we can’t know about. This is the problem with Big Architecture Up Front (BAUF), and it’s why we must make architectural decisions temporally. It’s also why we must take great care in insulating and isolating decisions we’re unsure of, and ensuring that these initial decisions are easy to change as answers to the unknown emerge. For this, modularity is a missing component that helps minimize the impact and cost of change, and it’s why agile architecture requires modularity.</p>
</blockquote>
<p style="clear: both">link: <a href="http://techdistrict.kirkk.com/2009/09/08/eliminate-architecture/">Eliminate Architecture : Software &#038; Technology @kirkk.com</a>  </p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/09/09/software-architecture-defined/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Software: Awesome Edition</title>
		<link>http://www.mindmeld.ws/blog/2009/07/05/open-source-software-awesome-edition/</link>
		<comments>http://www.mindmeld.ws/blog/2009/07/05/open-source-software-awesome-edition/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 15:45:48 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/07/05/open-source-software-awesome-edition/</guid>
		<description><![CDATA[<p style="clear: both">Jeff Atwood ran into <a href="http://www.codinghorror.com/blog/archives/001283.html">some issues with the multiple editions of windows.</a>  </p>
<blockquote style="clear: both"><p>And what are we paying for? The privilege of flipping the magic bits in the software that say &#8220;I am blah edition!&#8221; It&#8217;s all so.. anticlimactic. All that effort, all that poring over complex feature charts and stressing out about pricing plans, and for what? Just to get the one simple, stupid thing I care about &#8212; using all the memory in my server. Perhaps these complaints, then, point to one unsung advantage of open source software: Open source software only comes in one edition: awesome.</p>
</blockquote>
<p style="clear: both">link: <a href="http://www.codinghorror.com/blog/archives/001283.html" target="_blank">Coding Horror: Oh, You Wanted &#8220;Awesome&#8221; Edition</a>  </p>
<p style="clear: both">It seems like <a href="http://www.mindmeld.ws/blog/2009/06/27/costs-of-scaling/">I was just talking</a> about this in response to a <a href="http://www.codinghorror.com/blog/archives/001279.html">previous article of Jeff&#8217;s</a>. </p>
<blockquote style="clear: both"><p>The catch is for the companies that do hit the inflection point. The licensing models employed by most large software companies like Microsoft, Oracle, IBM, etc, are built around getting the mid tier companies on their platform at relatively low initial costs. Their business model bets on the idea a certain percentage of those companies will hit an exponential growth curve. This curve will require an expansion of their IT infrastructure which will put them into a different price class. Through&#8230;</p></blockquote>]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/07/05/open-source-software-awesome-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grails and Continuous Integration: An Essential Combo</title>
		<link>http://www.mindmeld.ws/blog/2009/07/03/grails-and-continuous-integration-an-essential-combo/</link>
		<comments>http://www.mindmeld.ws/blog/2009/07/03/grails-and-continuous-integration-an-essential-combo/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:49:27 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/07/03/grails-and-continuous-integration-an-essential-combo/</guid>
		<description><![CDATA[<p style="clear: both">There isn&#8217;t much for me to add to this one, but it is a really good article on testing with grails.</p>
<p style="clear: both"><a href="http://www.mindmeld.ws/blog/wp-content/uploads/2009/07/hudson-code-coverage1.png" class="image-link"><img class="linked-to-original" src="http://www.mindmeld.ws/blog/wp-content/uploads/2009/07/hudson-code-coverage1-thumb.png" height="358" width="380" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a></p>
<blockquote style="clear: both"><p>Grails is a fantastic framework. As well as being ultra-productive and fun to work with, it encourages good testing practices, and provides a swathe of tools to make writing unit, integration, and web tests a real pleasure. As we will see, Grails also lends itself quite well to build automation. However, Grails is not Maven. Grails has a fairly loose concept of the software development lifecycle, and is happy to let you bundle up and deploy your application as a WAR file without running all the unit and integration tests first. A Continuous Integration (CI) server can help you keep the flexibility of the Grails development process, and still ensure that your code is fully tested for each and every code change. In this article, we will take a look at how you can introduce Continuous Integration into your Grails project. More specifically, we will walk through how you can automate your Grails testing and code quality metrics with Hudson, a popular open source CI tool.</p>
</blockquote>
<p style="clear: both">link: <a href="http://today.java.net/pub/a/today/2009/06/23/Grails-and-Continuous-Integration.html" target="_blank">java.net: Grails and Continuous Integration: An Essential Combo</a>  </p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/07/03/grails-and-continuous-integration-an-essential-combo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scrum Intro Video</title>
		<link>http://www.mindmeld.ws/blog/2009/07/03/scrum-intro-video/</link>
		<comments>http://www.mindmeld.ws/blog/2009/07/03/scrum-intro-video/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 13:27:57 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/07/03/scrum-intro-video/</guid>
		<description><![CDATA[<p style="clear: both">I&#8217;ve never had the chance to be on a Scrum project, but I have been reading and hearing about the project for years. Here is a video that i found on t<a href="http://blog.goyello.com/">he goyello blog</a> explaining it in about 10 minutes. It is worth the time to watch.</p>
<p style="clear: both"><span style=" text-align: center; display: block; margin: 0 auto 10px;"></span></p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/07/03/scrum-intro-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Costs of Scaling</title>
		<link>http://www.mindmeld.ws/blog/2009/06/27/costs-of-scaling/</link>
		<comments>http://www.mindmeld.ws/blog/2009/06/27/costs-of-scaling/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 19:48:29 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/06/27/costs-of-scaling/</guid>
		<description><![CDATA[<p style="clear: both"><a href="http://www.codinghorror.com/blog/archives/001279.html">Jeff Atwood wrote about</a> scaling applications in a small to medium enterprise environment. I think that Jeff&#8217;s numbers are incomplete. However, the commentary on this post does a really good job of filling in the details. </p>
<p style="clear: both">Here are my thoughts on the topic:</p>
<p style="clear: both">Scaling is about software. These days, virtualization is all the rage for scaling. It comes with it&#8217;s own share of issues, but it combines the scaling up and out alternatives in such a way that it becomes a question of licensing. By allowing you to add low cost hardware and combine them into larger virtual hardware, it can give you the best of both worlds. It drives the question from how big does the hardware need to be to questions of how quickly one should add additional hardware to the cluster. Or, what is the cost of scaling my software licenses? Does the software I am using have per cpu/core licensing, concurrent licensing, etc? The software, in most of these cases, become the most expensive factor. Energy use and network bandwidth cost typically run a close second and need to be considered. However, for technical decisions in the mid market, software drives hardware decisions.</p>
<p style="clear: both">Whether you are virtualized or not,&#8230;</p>]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/06/27/costs-of-scaling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaFx Skinning</title>
		<link>http://www.mindmeld.ws/blog/2009/06/18/javafx-skinning/</link>
		<comments>http://www.mindmeld.ws/blog/2009/06/18/javafx-skinning/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 16:45:07 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/06/18/javafx-skinning/</guid>
		<description><![CDATA[<p style="clear: both">This looks really interesting. It sounds like the Java FX guys are doing some really nice things in this arena.</p>
<blockquote style="clear: both"><p>I thought I’d take a moment and outline the multi-level architectural approach we’ve taken with skinning Controls, and give some rough outline as to when the different levels will be fully supported in JavaFX. There are basically three different levels of support for skinning in JavaFX. Levels of Skinning At the most basic level, which is also the most powerful and flexible, you have the ability to completely replace the Skin for any Control. The Skin is responsible for the entire visual appearance and, ultimately, the visual interaction for a Control. There are not explicit “ButtonSkin” or “RadioButtonSkin” or “ListViewSkin” types that must be extended. There are simply Skins. So for example, you could completely replace the Skin for a Button using your own implementation that, for instance, simply used an image for the button&#8230;</p>
</blockquote>
<p style="clear: both"><a href="http://fxexperience.com/2009/06/skinning-architecture-in-javafx/">Skinning Architecture in JavaFX // FX Experience</a>  </p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/06/18/javafx-skinning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good overview of CSS3 features</title>
		<link>http://www.mindmeld.ws/blog/2009/06/15/good-overview-of-css3-features/</link>
		<comments>http://www.mindmeld.ws/blog/2009/06/15/good-overview-of-css3-features/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 01:49:03 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/06/15/good-overview-of-css3-features/</guid>
		<description><![CDATA[<p style="clear: both"><a href="http://www.smashingmagazine.com/2009/06/15/take-your-design-to-the-next-level-with-css3/">Take Your Design To The Next Level With CSS3 &#124; CSS &#124; Smashing Magazine</a></p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/06/15/good-overview-of-css3-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concurrency can be hard</title>
		<link>http://www.mindmeld.ws/blog/2009/06/11/concurrency-can-be-hard/</link>
		<comments>http://www.mindmeld.ws/blog/2009/06/11/concurrency-can-be-hard/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 00:08:59 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/06/11/concurrency-can-be-hard/</guid>
		<description><![CDATA[<p style="clear: both">Here is a race condition from a simple Hashmap that you may not of thought about. Paul does a great job of illustrating this case. See if you can guess the problem before you get to the answer.<a href="http://mailinator.blogspot.com/2009/06/beautiful-race-condition.html"></a></p>
<p style="clear: both"><a href="http://mailinator.blogspot.com/2009/06/beautiful-race-condition.html" style="text-decoration: none;">Mailinator(tm) Blog: A Beautiful Race Condition</a></p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/06/11/concurrency-can-be-hard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What happens when you go to a secure website?</title>
		<link>http://www.mindmeld.ws/blog/2009/06/11/what-happens-when-you-go-to-a-secure-website/</link>
		<comments>http://www.mindmeld.ws/blog/2009/06/11/what-happens-when-you-go-to-a-secure-website/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 18:09:40 +0000</pubDate>
		<dc:creator>les</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mindmeld.ws/blog/2009/06/11/what-happens-when-you-go-to-a-secure-website/</guid>
		<description><![CDATA[<p style="clear: both">Jeff Moser wrote a really nice, detailed piece about your browser&#8217;s interaction with a secured server. Check it out.<a href="http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html"></a></p>
<p style="clear: both"><a href="http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html" style="text-decoration: none;">Moserware: The First Few Milliseconds of an HTTPS Connection</a></p>
<p><br class="final-break" style="clear: both" /></p>
]]></description>
		<wfw:commentRss>http://www.mindmeld.ws/blog/2009/06/11/what-happens-when-you-go-to-a-secure-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
