<?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>Divide and Conquer &#187; Ruby</title>
	<atom:link href="http://www.divideandconquer.se/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.divideandconquer.se</link>
	<description>David's Software Development Blog</description>
	<lastBuildDate>Thu, 24 Jun 2010 13:47:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Entity bean bloat</title>
		<link>http://www.divideandconquer.se/2008/08/21/entity-bean-bloat/</link>
		<comments>http://www.divideandconquer.se/2008/08/21/entity-bean-bloat/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 18:28:09 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2008/08/21/entity-bean-bloat/</guid>
		<description><![CDATA[I&#8217;m currently getting acquainted with JBoss, SpringSource Application Platform, JBoss Seam and Spring Framework.
One thing that amazes me is the amount of code required for some simple O/R mapping, or I am missing something? I hope to be wrong about this, but it seems like an EJB3 &#34;entity bean&#34; requires, for each column in a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently getting acquainted with <a href="http://www.jboss.org/" target="_self" onclick="pageTracker._trackPageview('/outgoing/www.jboss.org/?referer=');">JBoss</a>, <a href="http://www.springsource.com/products/suite/applicationplatform" target="_self" onclick="pageTracker._trackPageview('/outgoing/www.springsource.com/products/suite/applicationplatform?referer=');">SpringSource Application Platform</a>, <a href="http://seamframework.org/" target="_self" onclick="pageTracker._trackPageview('/outgoing/seamframework.org/?referer=');">JBoss Seam</a> and <a href="http://www.springframework.org/" target="_self" onclick="pageTracker._trackPageview('/outgoing/www.springframework.org/?referer=');">Spring Framework</a>.</p>
<p>One thing that amazes me is the amount of code required for some simple O/R mapping, or I am missing something? I hope to be wrong about this, but it seems like an EJB3 &quot;entity bean&quot; requires, for each column in a database, the following items written and maintained:</p>
<ul>
<li>a private member variable</li>
<li>a getter method</li>
<li>a setter method</li>
</ul>
<p>As I have some Ruby on Rails experience, where inheriting from <code>ActiveRecord</code> gives you those things out-of-the-box, I am amazed of the sheer amount of boilerplate code needed in Java for the same thing! I asked a friend wih ZendFramework knowledge about how it worked there, and it seems like <code>Zend_Db_Table_Abstract</code> works just like <code>ActiveRecord</code>.</p>
<p>I can&#8217;t be the first one perplexed by this, especially not when the <a href="http://download.forge.objectweb.org/asm/asm-guide.pdf" onclick="pageTracker._trackPageview('/outgoing/download.forge.objectweb.org/asm/asm-guide.pdf?referer=');">development guide</a> for the ASM <a href="http://asm.objectweb.org/" onclick="pageTracker._trackPageview('/outgoing/asm.objectweb.org/?referer=');">3.0 Java bytecode engineering library</a> contains exactly the above parts as an example of generating bytecode! (See section 3.1.3.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2008/08/21/entity-bean-bloat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise ready</title>
		<link>http://www.divideandconquer.se/2007/12/21/enterprise-ready/</link>
		<comments>http://www.divideandconquer.se/2007/12/21/enterprise-ready/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 12:24:17 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2007/12/21/enterprise-ready/</guid>
		<description><![CDATA[I would have ordered an Enterprise ready T-shirt on the spot if they had my size in stock.
]]></description>
			<content:encoded><![CDATA[<p>I would have ordered an <a href="http://rubyrags.com/products/2" onclick="pageTracker._trackPageview('/outgoing/rubyrags.com/products/2?referer=');">Enterprise ready</a> T-shirt on the spot if they had my size in stock.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2007/12/21/enterprise-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Old and new Ruby and Agile books</title>
		<link>http://www.divideandconquer.se/2007/12/14/books/</link>
		<comments>http://www.divideandconquer.se/2007/12/14/books/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 20:44:43 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2007/12/14/dont-order-any-old-ruby-or-ruby-on-rails-books-now/</guid>
		<description><![CDATA[A bunch of computer books I had ordered arrived to the office last week. Since I&#8217;m working on-site at my client I&#8217;m not at the office very often so didn&#8217;t pick them up until today. The books are:

Agile Software Development With Scrum by Mike A. Beedle and Ken Schwaber
Agile Web Development With Rails (2nd ed.) [...]]]></description>
			<content:encoded><![CDATA[<p>A bunch of computer books I had ordered arrived to the office last week. Since I&#8217;m working on-site at my client I&#8217;m not at the office very often so didn&#8217;t pick them up until today. The books are:</p>
<ul>
<li><em>Agile Software Development With Scrum</em> by Mike A. Beedle and Ken Schwaber</li>
<li><em>Agile Web Development With Rails (2nd ed.)</em> by Dave Thomas, David Heinemeier and Leon Breedt</li>
<li><em>Everyday Scripting With Ruby</em> by  Brian Marick</li>
<li><em>Programming Ruby (2nd ed.)</em> by Dave Thomas, Chad Fowler and Andy Hunt</li>
<li><em>User Stories Applied</em> by Mike Cohn</li>
</ul>
<p>Unfortunately two of them are already old. A version of <em>Programming Ruby</em> updated for<a href="http://pragdave.blogs.pragprog.com/pragdave/2007/12/a-new-pickaxe.html" onclick="pageTracker._trackPageview('/outgoing/pragdave.blogs.pragprog.com/pragdave/2007/12/a-new-pickaxe.html?referer=');"> </a>Ruby 1.9 <a href="http://pragdave.blogs.pragprog.com/pragdave/2007/12/a-new-pickaxe.html" onclick="pageTracker._trackPageview('/outgoing/pragdave.blogs.pragprog.com/pragdave/2007/12/a-new-pickaxe.html?referer=');">now exists in PDF format</a> and <em>Agile Web Development With Rails</em> will most likely be updated due to the recent 2.0 release of <a href="http://www.rubyonrails.org/" onclick="pageTracker._trackPageview('/outgoing/www.rubyonrails.org/?referer=');">Ruby on Rails</a>. Maybe <em>Everyday Scripting With Ruby</em> will be updated too soon, but I hope that all of them will still be of use to me. I only use Ruby and Ruby on Rails for my personal projects anyway, but I think that both of them — the language and the framework — make too much impact to be ignored.</p>
<p>Speaking of Ruby on Rails: I read that <a href="http://www.idg.se/2.1085/1.136010" onclick="pageTracker._trackPageview('/outgoing/www.idg.se/2.1085/1.136010?referer=');">Hemnet, the major Swedish site for real estate ads,  is using Ruby on Rails</a>. Cool!</p>
<p>I bought <em>Agile Software Development With Scrum</em> in order to read one of the major works about Scrum. I really ought to have read it before by Scrum Master certification but I can admit I didn&#8217;t. Now it&#8217;s time to make up for that.</p>
<p>The reason for buying <em>User Stories Applied</em> is that I want to improve my skills in handling customer requirements. My current client is very fond of use cases but I don&#8217;t think that diminishes the value of the book in any way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2007/12/14/books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Ant is regrettably (?) using XML</title>
		<link>http://www.divideandconquer.se/2007/12/13/ant/</link>
		<comments>http://www.divideandconquer.se/2007/12/13/ant/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 14:51:40 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Ant]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2007/12/13/memorable-quotes-from-the-original-author-of-apache-ant/</guid>
		<description><![CDATA[I&#8217;ve done some Apache Ant build file hacking today and that made me recall that the original author of Ant, James Duncan Davidson, actually regretted using XML as the file format.
Mysteriously missing from today&#8217;s world wide web, but fortunately captured by the Wayback Machine, the blog entry Ant and XML  is worth reading. The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done some <a href="http://ant.apache.org/" onclick="pageTracker._trackPageview('/outgoing/ant.apache.org/?referer=');">Apache Ant</a> build file hacking today and that made me recall that the original author of Ant, James Duncan Davidson, actually regretted using XML as the file format.</p>
<p>Mysteriously missing from today&#8217;s world wide web, but fortunately captured by the Wayback Machine, the blog entry <a href="http://web.archive.org/web/20041217023752/http://x180.net/Journal/2004/03/31.html" onclick="pageTracker._trackPageview('/outgoing/web.archive.org/web/20041217023752/http_//x180.net/Journal/2004/03/31.html?referer=');">Ant and XML</a>  is worth reading. The entry is concluded like this:</p>
<blockquote><p> If I knew then what I knew now, I would have tried using a real scripting language, such as JavaScript via the Rhino component or Python via JPython, with bindings to Java objects which implemented the functionality expressed in todays tasks. Then, there would be a first class way to express logic and we wouldn&#8217;t be stuck with XML as a format that is too bulky for the way that people really want to use the tool.</p>
<p>Or maybe I should have just written a simple tree based text format that captured just what was needed to express a project and no more and which would avoid the temptation for people to want to build a Turing complete scripting environment out of Ant build files.</p>
<p>Both of these approaches would have meant more work for me at the time, but the result might have been better for the tens of thousands of people who use and edit Ant build files every day.</p>
<p>Hindsight is always 20/20.</p></blockquote>
<p>The &#8220;real scripting language&#8221; part sounds just like Ruby&#8217;s build program <a href="http://rake.rubyforge.org/" onclick="pageTracker._trackPageview('/outgoing/rake.rubyforge.org/?referer=');">Rake</a> and &#8220;a simple tree based text format&#8221; sounds very much like <a href="http://www.yaml.org/" onclick="pageTracker._trackPageview('/outgoing/www.yaml.org/?referer=');">YAML</a>, a format well worth considering for hierarchical data structures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2007/12/13/ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
