<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	>
<channel>
	<title>Comments on: Groovy version of Neal Ford&#8217;s JRuby &#8220;Recorder&#8221;</title>
	<atom:link href="http://enfranchisedmind.com/blog/posts/groovy-recorder/feed/" rel="self" type="application/rss+xml" />
	<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/</link>
	<description>programming, politics, &#38; other religious issues</description>
	<lastBuildDate>Fri, 12 Mar 2010 14:59:37 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: John Wilson</title>
		<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/#comment-36113</link>
		<dc:creator>John Wilson</dc:creator>
		<pubDate>Thu, 18 Jun 2009 17:09:33 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1422#comment-36113</guid>
		<description>A refactored closure version which is a little less wordy http://rifers.org/paste/show/9321</description>
		<content:encoded><![CDATA[<p>A refactored closure version which is a little less wordy <a href="http://rifers.org/paste/show/9321" rel="nofollow">http://rifers.org/paste/show/9321</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Wilson</title>
		<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/#comment-36111</link>
		<dc:creator>John Wilson</dc:creator>
		<pubDate>Thu, 18 Jun 2009 14:32:13 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1422#comment-36111</guid>
		<description>Here&#039;s a version which uses closures http://rifers.org/paste/show/9320

I think it&#039;s a little easier on the eye and it has the advantage of working properly with Java object that do things like having isX() for Boolean properties.</description>
		<content:encoded><![CDATA[<p>Here&#8217;s a version which uses closures <a href="http://rifers.org/paste/show/9320" rel="nofollow">http://rifers.org/paste/show/9320</a></p>
<p>I think it&#8217;s a little easier on the eye and it has the advantage of working properly with Java object that do things like having isX() for Boolean properties.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/#comment-36109</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Thu, 18 Jun 2009 13:21:25 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1422#comment-36109</guid>
		<description>A reference to this:
&lt;blockquote&gt;While that extra code is a bit much to explain in a presentation (you’d have to explain GroovyObject and the nature of Groovy properties)&lt;em&gt;[...]&lt;/em&gt;&lt;/blockquote&gt;

In general, the Ruby version is somewhat cleaner, as is often the case.</description>
		<content:encoded><![CDATA[<p>A reference to this:</p>
<blockquote><p>While that extra code is a bit much to explain in a presentation (you’d have to explain GroovyObject and the nature of Groovy properties)<em>[...]</em></p></blockquote>
<p>In general, the Ruby version is somewhat cleaner, as is often the case.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul King</title>
		<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/#comment-36105</link>
		<dc:creator>Paul King</dc:creator>
		<pubDate>Thu, 18 Jun 2009 08:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1422#comment-36105</guid>
		<description>And the tease about Ruby being slide friendly?</description>
		<content:encoded><![CDATA[<p>And the tease about Ruby being slide friendly?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Wilson</title>
		<link>http://enfranchisedmind.com/blog/posts/groovy-recorder/#comment-36089</link>
		<dc:creator>John Wilson</dc:creator>
		<pubDate>Wed, 17 Jun 2009 16:34:04 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1422#comment-36089</guid>
		<description>GroovyInterceptable is my fault :)

A few years ago I threw a hissy fit when the way in which method dispatch was unilaterally changed (from calling invokeMethod on a GroovyObject whose default implementation delegated the call to the MetaClass to calling invokeObject on the MetaClass first and then calling it on the GroovyObject if that failed). This broke a bunch of my code.

Guillaume, every the diplomat, brokered a compromise which allowed me to keep my existing code essentially unchanged by adding GroovyInterceptable. He then dried the hot angry tears from my cheeks.

I don&#039;t know if it&#039;s still true, but there used to be something wacky in the extreme in the implementation of method invocation because it involved throwing and catching an exception whose message included the result of calling toString() on each parameter. This bit me when I had a parameter whose toString() method had the side effect of fetching an RSS feed from the Net, parsing it and building an HTML document from the resulting data. It took a while to find out why the code ran so slowly:)</description>
		<content:encoded><![CDATA[<p>GroovyInterceptable is my fault :)</p>
<p>A few years ago I threw a hissy fit when the way in which method dispatch was unilaterally changed (from calling invokeMethod on a GroovyObject whose default implementation delegated the call to the MetaClass to calling invokeObject on the MetaClass first and then calling it on the GroovyObject if that failed). This broke a bunch of my code.</p>
<p>Guillaume, every the diplomat, brokered a compromise which allowed me to keep my existing code essentially unchanged by adding GroovyInterceptable. He then dried the hot angry tears from my cheeks.</p>
<p>I don&#8217;t know if it&#8217;s still true, but there used to be something wacky in the extreme in the implementation of method invocation because it involved throwing and catching an exception whose message included the result of calling toString() on each parameter. This bit me when I had a parameter whose toString() method had the side effect of fetching an RSS feed from the Net, parsing it and building an HTML document from the resulting data. It took a while to find out why the code ran so slowly:)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
