<?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/"
	>
<channel>
	<title>Comments for Matt Stine's Blog</title>
	<atom:link href="http://www.mattstine.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattstine.com</link>
	<description>Thoughts on Java, Groovy, Grails, Agile Development, etc. etc. etc.</description>
	<pubDate>Fri, 12 Mar 2010 00:07:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Dead Programmers Society by rgrig</title>
		<link>http://www.mattstine.com/2010/02/16/dead-programmers-society/comment-page-1/#comment-618</link>
		<dc:creator>rgrig</dc:creator>
		<pubDate>Mon, 22 Feb 2010 12:06:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=285#comment-618</guid>
		<description>The Turing Lectures are a good read usually.
http://www.informatik.uni-trier.de/~ley/db/journals/cacm/turing.html
(some of the buttons to the right lead to PDFs)

@Kevin: What I liked about Programming Pearls is that it teaches by example how the first solution that comes to mind can always be improved a *lot*.</description>
		<content:encoded><![CDATA[<p>The Turing Lectures are a good read usually.<br />
<a href="http://www.informatik.uni-trier.de/~ley/db/journals/cacm/turing.html" rel="nofollow">http://www.informatik.uni-trier.de/~ley/db/journals/cacm/turing.html</a><br />
(some of the buttons to the right lead to PDFs)</p>
<p>@Kevin: What I liked about Programming Pearls is that it teaches by example how the first solution that comes to mind can always be improved a *lot*.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dead Programmers Society by Kevin</title>
		<link>http://www.mattstine.com/2010/02/16/dead-programmers-society/comment-page-1/#comment-616</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Sat, 20 Feb 2010 04:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=285#comment-616</guid>
		<description>I have been reading "Programming Pearls" by Jon Bentley. The first edition was published in 1986. However, the problems and their solutions mentioned in the book are still quite relevant and continue to help developers today, that it is considered a must read for any programmer or developer.</description>
		<content:encoded><![CDATA[<p>I have been reading &#8220;Programming Pearls&#8221; by Jon Bentley. The first edition was published in 1986. However, the problems and their solutions mentioned in the book are still quite relevant and continue to help developers today, that it is considered a must read for any programmer or developer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Groovy: Post to a URL by Greg Gigon</title>
		<link>http://www.mattstine.com/2009/04/25/groovy-post-to-a-url/comment-page-1/#comment-596</link>
		<dc:creator>Greg Gigon</dc:creator>
		<pubDate>Sat, 30 Jan 2010 00:31:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=146#comment-596</guid>
		<description>Your snippet was a life saviour :)
Thanks
G</description>
		<content:encoded><![CDATA[<p>Your snippet was a life saviour <img src='http://www.mattstine.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Thanks<br />
G</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on LOTY/TOTY for 2010 by Nathan</title>
		<link>http://www.mattstine.com/2010/01/06/lotytoty-for-2010/comment-page-1/#comment-559</link>
		<dc:creator>Nathan</dc:creator>
		<pubDate>Wed, 06 Jan 2010 19:28:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/2010/01/06/lotytoty-for-2010/#comment-559</guid>
		<description>will be watching for progress!</description>
		<content:encoded><![CDATA[<p>will be watching for progress!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Securing Grails Plugin Artifacts with Filters by Matt Passell</title>
		<link>http://www.mattstine.com/2009/11/10/securing-grails-plugin-artifacts-with-filters/comment-page-1/#comment-553</link>
		<dc:creator>Matt Passell</dc:creator>
		<pubDate>Fri, 04 Dec 2009 18:29:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=278#comment-553</guid>
		<description>Hi (other) Matt,

I'm not sure how relevant this is after Burt's very helpful suggestion, but I noticed that your second code snippet is exactly the same as the first.  You meant to include some code from SecurityConfig.groovy there, right?

--Matt</description>
		<content:encoded><![CDATA[<p>Hi (other) Matt,</p>
<p>I&#8217;m not sure how relevant this is after Burt&#8217;s very helpful suggestion, but I noticed that your second code snippet is exactly the same as the first.  You meant to include some code from SecurityConfig.groovy there, right?</p>
<p>&#8211;Matt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Securing Grails Plugin Artifacts with Filters by Bruce Richardson</title>
		<link>http://www.mattstine.com/2009/11/10/securing-grails-plugin-artifacts-with-filters/comment-page-1/#comment-495</link>
		<dc:creator>Bruce Richardson</dc:creator>
		<pubDate>Sun, 29 Nov 2009 09:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=278#comment-495</guid>
		<description>For me, this demonstrates the dangers and problems of using annotations in this way.  Now you have two ways to indicate security settings and you have to audit them both.  If you'd done with the external configuration option, you'd have the one way and the one set of problems.

There are now a huge number of  frameworks offering the use of annotations for configuration (Hibernate, Spring, JAX-WS etc.)  Use all their annotations and your domain objects will be decorated like the outside of a Minnesotan house at Christmas (visit Minnesota any December to find out just how garish that is).  Not only does it obscure the code rather than enhancing it, it means that code is changed much more frequently than it should.

Annotations should be intrinsically meaningful to the objects they adorn, so that any code you write can make intelligent use of them, or they should be meaningful in contexts so widely understood that their purpose will not be lost .  This often means that the only useful annotations are those meaningful to the Java compiler, but other annotations can be valid *if* the annotated object will only be used in a context where those annotations are universally understood.  Security for Grails controllers is a good candidate for the second, but since the use of annotations for security isn't part of the Grails core, which would encourage every security-plugin developer to adopt a single standard, they fail.  

The whole Java world and their pets seem to be gleefully ignoring this and adopting annotation-based configuration like crazy.  It's wrong, it will bite them and maybe they'll learn.</description>
		<content:encoded><![CDATA[<p>For me, this demonstrates the dangers and problems of using annotations in this way.  Now you have two ways to indicate security settings and you have to audit them both.  If you&#8217;d done with the external configuration option, you&#8217;d have the one way and the one set of problems.</p>
<p>There are now a huge number of  frameworks offering the use of annotations for configuration (Hibernate, Spring, JAX-WS etc.)  Use all their annotations and your domain objects will be decorated like the outside of a Minnesotan house at Christmas (visit Minnesota any December to find out just how garish that is).  Not only does it obscure the code rather than enhancing it, it means that code is changed much more frequently than it should.</p>
<p>Annotations should be intrinsically meaningful to the objects they adorn, so that any code you write can make intelligent use of them, or they should be meaningful in contexts so widely understood that their purpose will not be lost .  This often means that the only useful annotations are those meaningful to the Java compiler, but other annotations can be valid *if* the annotated object will only be used in a context where those annotations are universally understood.  Security for Grails controllers is a good candidate for the second, but since the use of annotations for security isn&#8217;t part of the Grails core, which would encourage every security-plugin developer to adopt a single standard, they fail.  </p>
<p>The whole Java world and their pets seem to be gleefully ignoring this and adopting annotation-based configuration like crazy.  It&#8217;s wrong, it will bite them and maybe they&#8217;ll learn.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on LOTY Time Again: Scala or Clojure?!?! by Steve</title>
		<link>http://www.mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/comment-page-1/#comment-355</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Thu, 12 Nov 2009 13:40:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-355</guid>
		<description>@Kanwa
Please at least do a little bit of Google leg work before commenting on these languages.  You state that:

"
Stick to Java as you will face problems related to data type.

Eg: Can you tell me what types are passed here in the function argument

public void runMyFunc(dob, favy)
{

}
"

While your argument is one that I would agree with (loss of legibility due to lack of types) Scala does not suffer from this problem - your example would have to look something like the following:

def runMyFunc(dob: Date, favy: Int) {}

Looks pretty statically typed to me!

Later you make this comment:

"
What is this type-safe way they mentioned? you know better :-)
"

Exactly *what* are you talking about?  Do you have a different definition of type safety than everybody else?  Perhaps it would interest you to know that Scala is *more* strict about types than is Java.

Next time use The Google.  It is your friend.</description>
		<content:encoded><![CDATA[<p>@Kanwa<br />
Please at least do a little bit of Google leg work before commenting on these languages.  You state that:</p>
<p>&#8221;<br />
Stick to Java as you will face problems related to data type.</p>
<p>Eg: Can you tell me what types are passed here in the function argument</p>
<p>public void runMyFunc(dob, favy)<br />
{</p>
<p>}<br />
&#8221;</p>
<p>While your argument is one that I would agree with (loss of legibility due to lack of types) Scala does not suffer from this problem - your example would have to look something like the following:</p>
<p>def runMyFunc(dob: Date, favy: Int) {}</p>
<p>Looks pretty statically typed to me!</p>
<p>Later you make this comment:</p>
<p>&#8221;<br />
What is this type-safe way they mentioned? you know better <img src='http://www.mattstine.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
&#8221;</p>
<p>Exactly *what* are you talking about?  Do you have a different definition of type safety than everybody else?  Perhaps it would interest you to know that Scala is *more* strict about types than is Java.</p>
<p>Next time use The Google.  It is your friend.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Securing Grails Plugin Artifacts with Filters by Matt</title>
		<link>http://www.mattstine.com/2009/11/10/securing-grails-plugin-artifacts-with-filters/comment-page-1/#comment-353</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 11 Nov 2009 02:04:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=278#comment-353</guid>
		<description>OK, so why have I never been able to find this before?!?!? This is exactly the behavior that I have wanted out of the plugin, but somehow I have never been able to track it down. Definitely a far superior approach. Thanks!</description>
		<content:encoded><![CDATA[<p>OK, so why have I never been able to find this before?!?!? This is exactly the behavior that I have wanted out of the plugin, but somehow I have never been able to track it down. Definitely a far superior approach. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Securing Grails Plugin Artifacts with Filters by Burt Beckwith</title>
		<link>http://www.mattstine.com/2009/11/10/securing-grails-plugin-artifacts-with-filters/comment-page-1/#comment-352</link>
		<dc:creator>Burt Beckwith</dc:creator>
		<pubDate>Tue, 10 Nov 2009 23:44:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=278#comment-352</guid>
		<description>Check out the 'controllerAnnotationStaticRules' discussion in the annotation section of http://grails.org/AcegiSecurity+Plugin+-+Securing+URLs

This is used to secure URL patterns that can't be annotated, i.e. static resources (JavaScript, CSS, etc.) and controllers that you can't edit for whatever reason:

controllerAnnotationStaticRules = [
   '/blurb/**': ['ROLE_ADMIN'],
   '/setting/**': ['ROLE_ADMIN']
]

This has the advantage over the filter approach of being fully integrated into the plugin and Spring Security, in that when navigating to a secured controller the requested URL will be remembered, and after a successful login you'll be redirected to that URL.</description>
		<content:encoded><![CDATA[<p>Check out the &#8216;controllerAnnotationStaticRules&#8217; discussion in the annotation section of <a href="http://grails.org/AcegiSecurity+Plugin+-+Securing+URLs" rel="nofollow">http://grails.org/AcegiSecurity+Plugin+-+Securing+URLs</a></p>
<p>This is used to secure URL patterns that can&#8217;t be annotated, i.e. static resources (JavaScript, CSS, etc.) and controllers that you can&#8217;t edit for whatever reason:</p>
<p>controllerAnnotationStaticRules = [<br />
   '/blurb/**': ['ROLE_ADMIN'],<br />
   &#8216;/setting/**&#8217;: ['ROLE_ADMIN']<br />
]</p>
<p>This has the advantage over the filter approach of being fully integrated into the plugin and Spring Security, in that when navigating to a secured controller the requested URL will be remembered, and after a successful login you&#8217;ll be redirected to that URL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pomodoro: The First Iteration by Pomodoro Team</title>
		<link>http://www.mattstine.com/2009/11/04/pomodoro-the-first-iteration/comment-page-1/#comment-348</link>
		<dc:creator>Pomodoro Team</dc:creator>
		<pubDate>Thu, 05 Nov 2009 11:38:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=276#comment-348</guid>
		<description>Dear Matt,
One of the best things about the Pomodoro Technique is how much it encourages self-observation. Even if your first Pomodoros weren't easy, it sounds like you've learned a lot! We hope you keep on with technique, we look forward to hearing your results :-)</description>
		<content:encoded><![CDATA[<p>Dear Matt,<br />
One of the best things about the Pomodoro Technique is how much it encourages self-observation. Even if your first Pomodoros weren&#8217;t easy, it sounds like you&#8217;ve learned a lot! We hope you keep on with technique, we look forward to hearing your results <img src='http://www.mattstine.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
