<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Jason Menard&#039;s Weblog</title>
  <link>http://www.jmenard.com/blog/</link>
  <description>java, software engineering, and all that jazz</description>
  <language>en</language>
  <copyright>Jason Menard</copyright>
  <lastBuildDate>Sun, 01 Jul 2007 02:44:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Review - Release It!</title>
    <link>http://www.jmenard.com/blog/2007/06/30/review_release_it.html</link>
    
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.amazon.com/exec/obidos/ASIN/0978739213/jr_bunk-20&#034;&gt;&lt;img hspace=&#034;8&#034; border=&#034;0&#034; align=&#034;left&#034; src=&#034;http://images.amazon.com/images/P/0978739213.01.MZZZZZZZ.jpg&#034; alt=&#034;&#034; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many of the texts on software engineering discuss following some methodology to produce an ideal design.  Working developers quickly learn that the ideal is rarely reality and things happen once we release software out into the wild.  Michael Nygard&#039;s &#034;Release It!&#034; picks up where these other books leave off.&lt;/p&gt;

&lt;p&gt;Nygard talks about all the things that can and will go wrong in the finely crafted software we were sure was ready for production.  A full two-thirds of the book is focused on capacity and stability issues including patterns and anti-patterns for both.  The remainder of the book deals with general design issues as well as maintaining health and status in an operational system.  &#034;Release It!&#034; provides many first hand accounts to illustrate his points, beginning with the Exception that grounded an airline, and these stories serve as excellent motivators.  It&#039;s better to learn from the mistakes of others, and I really appreciated the detail Nygard went into addressing some of these horror stories.&lt;/p&gt;

&lt;p&gt;The Pragmatic Programmers have a few &#034;must read&#034; books and &#034;Release It!&#034; is another one.  After reading it and heeding its advice, you&#039;ll feel a bit better knowing that your software is better prepared for the rigors of production.&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Reviews</category>
    
    <comments>http://www.jmenard.com/blog/2007/06/30/review_release_it.html#comments</comments>
    <guid isPermaLink="true">http://www.jmenard.com/blog/2007/06/30/review_release_it.html</guid>
    <pubDate>Sun, 01 Jul 2007 02:44:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Implementation Language Matters</title>
    <link>http://www.jmenard.com/blog/2007/05/20/implementation_language_matters.html</link>
    
      
        <description>
          Stuart Halloway recently wrote that &lt;a href=&#034;http://www.relevancellc.com/2007/5/17/design-patterns-are-code-smells&#034;&gt;Design Patterns are Code Smells&lt;/a&gt; and emphasized that &lt;em&gt;implementation language matters&lt;/em&gt;.&amp;nbsp; While Stuart is specifically talking about design patterns, this applies to &lt;em&gt;design&lt;/em&gt; in general.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Speaking&amp;quot; a programming language is like speaking any other language.&amp;nbsp; One major difference though is that while you don&#039;t often see for example an English speaker who insists on trying to speak French with an English sentence structure, you quite often see practitioners more familar with one computer language try to apply that language&#039;s idioms to every language they know.&amp;nbsp; In my experience these are quite often former C++ types who insist on speaking Java, and every other language they know, with a strong C++ accent, particularly when it comes to design.&amp;nbsp; I&#039;m sure the same holds true for many long-time Java developers crossing over into Rails or some other language.&amp;nbsp; The design idioms valid in one language are not necessarily valid in another.&lt;br /&gt;
&lt;br /&gt;
I had a former long-time C++ turned Java developer recently state matter-of-factly to me that &lt;em&gt;design and language are independent&lt;/em&gt;.&amp;nbsp; This may be the case from a theoretical, academic or ivory tower standpoint, but it&#039;s not the case down in the trenches.&amp;nbsp; The pallet of language and technologies used for implementation has a profound effect on application design.&amp;nbsp; Certain frameworks for example often encourage particular design idioms that you may not follow had your choice of technology been different.&lt;br /&gt;
&lt;br /&gt;
As an example, Java designs often rely quite heavily on Java interfaces.&amp;nbsp;&amp;nbsp; We do this for several reasons including some that are immediately practical.&amp;nbsp; Decoupling dependencies and abstracting them with interfaces is generally considered a good practice, but a very &lt;em&gt;practical &lt;/em&gt;reason for doing this is to better facilitate unit testing with mock objects.&amp;nbsp; This is a bit foreign to many in the C++ world who are quite happy to spend their time in the debugger and consider such abstractions as over-engineering. &lt;br /&gt;
&lt;br /&gt;
I agree with Stuart and think he hit the nail on the head regarding design patterns and language.&amp;nbsp; But just as implementation language matters as far as design patterns go,&amp;nbsp; there is clearly something in our choice of language and technologies that encourages certain designs in general.&amp;nbsp; Design and language are &lt;em&gt;not &lt;/em&gt;independent.
        </description>
      
      
    
    
    
    <comments>http://www.jmenard.com/blog/2007/05/20/implementation_language_matters.html#comments</comments>
    <guid isPermaLink="true">http://www.jmenard.com/blog/2007/05/20/implementation_language_matters.html</guid>
    <pubDate>Sun, 20 May 2007 04:02:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Review - Rails for Java Developers</title>
    <link>http://www.jmenard.com/blog/2007/05/19/review_rails_for_java_developers.html</link>
    
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.amazon.com/exec/obidos/ASIN/097761669X/jr_bunk-20&#034;&gt;&lt;img hspace=&#034;8&#034; border=&#034;0&#034; align=&#034;left&#034; alt=&#034;&#034; src=&#034;http://images.amazon.com/images/P/097761669X.01.MZZZZZZZ.jpg&#034; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In &amp;quot;Rails for Java Developers&amp;quot;, Stuart Halloway and Justin Gehtland provide an introduction to Ruby and the Rails web application framework aimed at the Java developer more familiar with frameworks such as Struts and Hibernate.  There&#039;s a lot of buzz in the Java community surrounding Ruby and Ruby on Rails so this title is quite timely.&lt;/p&gt;
&lt;p&gt;Halloway and Gehtland provide a tutorial to learning Ruby and Rails by examining similarities with Java.  The tutorial progresses by providing examples in both Ruby and Java using popular Java frameworks.  The introduction of Ruby and Rails concepts by juxtaposing them with similar concepts implemented in Java is comforting for the developer who may feel a little intimidated by the differences between the languages.  Working through the book, the Java developer will learn the basics about creating and deploying Ruby on Rails applications, picking up an exciting new language along the way.&lt;/p&gt;
&lt;p&gt;The first three chapters introduce the Ruby programming language.  This is the best Java-centric Ruby introduction that I&#039;ve seen and it&#039;s something I wish I had available to me when I was first learning the language.  The rest of the material covers the basics of Rails applications as well as web services and security issues.  I found the chapters on testing and automating the development process to be particularly good.&lt;/p&gt;
&lt;p&gt;The approach this book takes may not be suitable for everyone.  After a certain point, I found that the constant juxtaposition of the Java way of accomplishing a task with the Ruby on Rails way of accomplishing a task wore a bit thin.  I found myself just trying to skip past the Java bits to get on with the Ruby.  Still, I found the book to be quite good overall.  If you are an experienced Java developer seeking a gentle introduction to Ruby on Rails, you can&#039;t do better than &amp;quot;Rails for Java Developers&amp;quot;.&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Reviews</category>
    
    <comments>http://www.jmenard.com/blog/2007/05/19/review_rails_for_java_developers.html#comments</comments>
    <guid isPermaLink="true">http://www.jmenard.com/blog/2007/05/19/review_rails_for_java_developers.html</guid>
    <pubDate>Sun, 20 May 2007 03:55:00 GMT</pubDate>
  </item>
  
  <item>
    <title>No Fluff Just Stuff 2007: Recap of the Northern Virginia Software Symposium</title>
    <link>http://www.jmenard.com/blog/2007/04/30/no_fluff_just_stuff_2007_recap_of_the_northern_virginia_software_symposium.html</link>
    
      
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://www.nofluffjuststuff.com/&#034;&gt;&lt;img hspace=&#034;8&#034; border=&#034;0&#034; align=&#034;left&#034; alt=&#034;&#034; src=&#034;http://www.nofluffjuststuff.com/images/nfjs_logo200.gif&#034; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This past weekend the &lt;em&gt;No Fluff Just Stuff 2007&lt;/em&gt; tour was in Reston for the Northern Virginia Software Symposium. This was my first time at a NFJS event, but I had heard nothing but good things from those who had attended in the past and I was really looking forward to it. Needless to say, it did not disappoint.&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://www.jmenard.com/blog/2007/04/30/no_fluff_just_stuff_2007_recap_of_the_northern_virginia_software_symposium.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <comments>http://www.jmenard.com/blog/2007/04/30/no_fluff_just_stuff_2007_recap_of_the_northern_virginia_software_symposium.html#comments</comments>
    <guid isPermaLink="true">http://www.jmenard.com/blog/2007/04/30/no_fluff_just_stuff_2007_recap_of_the_northern_virginia_software_symposium.html</guid>
    <pubDate>Tue, 01 May 2007 03:53:43 GMT</pubDate>
  </item>
  
  <item>
    <title>Kathy Sierra Threatened</title>
    <link>http://www.jmenard.com/blog/2007/04/01/kathy_sierra_threatened.html</link>
    
      
        <description>
          &lt;p&gt;&lt;a href=&#034;http://headrush.typepad.com/creating_passionate_users/2007/03/as_i_type_this_.html&#034;&gt;This&lt;/a&gt; is just plain sad.  I have had the pleasure of dealing with Kathy in my capacity as a &lt;a href=&#034;http://www.javaranch.com&#034;&gt;JavaRanch&lt;/a&gt; moderator as well as pre-publication reviewer for several of the &lt;a href=&#034;http://www.oreilly.com/store/series/headfirst.csp&#034;&gt;Head First&lt;/a&gt; books, and she has always been the nicest person.  She certainly doesn&#039;t deserve what has been directed at her.&lt;/p&gt;
&lt;p&gt;People need to get a grip.  That people presenting themselves publicly and professionally through their blogs should have to be subjected to these kind of attacks is ridiculous.  If you wouldn&#039;t say something to the person face-to-face, maybe it&#039;s something best left unsaid.&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.jmenard.com/blog/2007/04/01/kathy_sierra_threatened.html#comments</comments>
    <guid isPermaLink="true">http://www.jmenard.com/blog/2007/04/01/kathy_sierra_threatened.html</guid>
    <pubDate>Sun, 01 Apr 2007 23:39:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>
