<?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>Peter Ledbrook</title>
	<atom:link href="http://www.cacoethes.co.uk/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cacoethes.co.uk/blog</link>
	<description>A search for meaning in software and life</description>
	<lastBuildDate>Mon, 08 Mar 2010 12:38:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GitHub Pages: publish your Grails plugin docs</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/github-pages-publish-your-grails-plugin-docs</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/github-pages-publish-your-grails-plugin-docs#comments</comments>
		<pubDate>Mon, 08 Mar 2010 08:57:41 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=232</guid>
		<description><![CDATA[Currently, the primary site for Grails plugin documentation is the plugin portal on the Grails web site. The trouble with the portal is that it doesn&#8217;t readily support multi-page documentation. On top of that, you can use gdoc to write a user guide for your plugin, but where will the generated manual go?
Thanks to Luke [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/github-pages-publish-your-grails-plugin-docs/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java&#8217;s new keyword</title>
		<link>http://www.cacoethes.co.uk/blog/software/javas-new-keyword</link>
		<comments>http://www.cacoethes.co.uk/blog/software/javas-new-keyword#comments</comments>
		<pubDate>Mon, 01 Mar 2010 06:32:21 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=218</guid>
		<description><![CDATA[Creating objects in Java is easy with the new keyword. In fact, it&#8217;s one of those things that you don&#8217;t think about. Need to access a file? Just create a new File instance: new File("build.properties"). For most Java developers, that&#8217;s all they need to know. Life becomes more interesting, though, when you start working with [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/software/javas-new-keyword/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Tomcat gotcha</title>
		<link>http://www.cacoethes.co.uk/blog/software/a-tomcat-gotcha</link>
		<comments>http://www.cacoethes.co.uk/blog/software/a-tomcat-gotcha#comments</comments>
		<pubDate>Wed, 24 Feb 2010 08:43:12 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=214</guid>
		<description><![CDATA[Servlet filters. Straightforward, right? A request comes in, goes through each filter in the chain, hits the servlet and then the response goes the other way. Sort of. What could possibly go wrong?
Not much&#8230;unless you throw error handling into the mix. The trouble is, the servlet specification doesn&#8217;t lay down many rules on how error [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/software/a-tomcat-gotcha/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grails 2.0 #1: Gradle for the win?</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/grails-2-0-1-gradle-for-the-win</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/grails-2-0-1-gradle-for-the-win#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:24:14 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=208</guid>
		<description><![CDATA[Ever since I attended a Gradle course, I&#8217;ve been rather obsessive about it. In particular, I&#8217;ve been looking at integrating Grails into Gradle builds. The early result was a straightforward Gradle plugin that allows you to build Grails projects. I&#8217;ve explained how to use it in a previous post, so I won&#8217;t talk about that [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/grails-2-0-1-gradle-for-the-win/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Building a Grails project with Gradle</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/building-a-grails-project-with-gradle</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/building-a-grails-project-with-gradle#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:11:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=196</guid>
		<description><![CDATA[Earlier this week, I attended Hans Dockter&#8217;s first ever Gradle course. Everything seemed to click into place and it inspired me to have another crack at writing a Gradle plugin for building Grails projects. A lot of the hard work had already been done to get the Maven plugin working reasonably well, so all I [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/building-a-grails-project-with-gradle/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Securing a GWT Grails app with Shiro</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/securing-a-gwt-grails-app-with-shiro</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/securing-a-gwt-grails-app-with-shiro#comments</comments>
		<pubDate>Wed, 27 Jan 2010 13:29:55 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=192</guid>
		<description><![CDATA[A recent poster on the Grails user mailing list asked how to secure a GWT application using Shiro. The Shiro Plugin is mostly designed to work with Grails controllers and GSPs, so that&#8217;s what the current documentation targets. GWT is a different kettle of fish, so can the Shiro Plugin help here?
As it happens, I [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/securing-a-gwt-grails-app-with-shiro/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8216;in&#8217; the groove</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/in-the-groove</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/in-the-groove#comments</comments>
		<pubDate>Thu, 14 Jan 2010 09:29:08 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=185</guid>
		<description><![CDATA[I&#8217;m sure most of you are aware of the standard Groovy for loop:

for (i in 0..&#60;10) {
    ...
}

It can also iterate over lists:

for (name in listOfNames) {
    ...
}

For many people, that&#8217;s where the story of in ends. But did you know that it can be used in conditions as [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/in-the-groove/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A couple of notes about Groovy syntax</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/a-couple-of-notes-about-groovy-syntax</link>
		<comments>http://www.cacoethes.co.uk/blog/groovyandgrails/a-couple-of-notes-about-groovy-syntax#comments</comments>
		<pubDate>Wed, 13 Jan 2010 09:58:59 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Groovy & Grails]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=183</guid>
		<description><![CDATA[I&#8217;ve seen a fair bit of Groovy code and there are a couple of common syntax usages that I think could do with some clarification. First off is use of the def keyword.
As we all know, if you want to declare a variable in Groovy with no or dynamic type, you use def. But there [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/groovyandgrails/a-couple-of-notes-about-groovy-syntax/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>London GGUG in the new year</title>
		<link>http://www.cacoethes.co.uk/blog/london-ggug/london-ggug-in-the-new-year</link>
		<comments>http://www.cacoethes.co.uk/blog/london-ggug/london-ggug-in-the-new-year#comments</comments>
		<pubDate>Mon, 14 Dec 2009 19:49:05 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[London GGUG]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=180</guid>
		<description><![CDATA[After a successful Groovy &#038; Grails eXchange run by SkillsMatter last week, it seems that there is plenty of interest in keeping the London GGUG going on a regular basis. Several ideas were floated then, so I thought I&#8217;d bring them up here and elicit feedback:

Two or three standard talks of 30-45mins each about any [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/london-ggug/london-ggug-in-the-new-year/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A rant about QWERTY</title>
		<link>http://www.cacoethes.co.uk/blog/uncategorized/a-rant-about-qwerty</link>
		<comments>http://www.cacoethes.co.uk/blog/uncategorized/a-rant-about-qwerty#comments</comments>
		<pubDate>Mon, 14 Dec 2009 18:41:42 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=178</guid>
		<description><![CDATA[OK, so it seems that it&#8217;s no longer fashionable to knock the QWERTY keyboard layout (or QWERTZ in Germany, I gather). A couple of times I&#8217;ve moaned about the layout, people have said its got a worse reputation than it deserves. Well, maybe.
I did have a quick look at Wikipedia to find out some information, [...]]]></description>
		<wfw:commentRss>http://www.cacoethes.co.uk/blog/uncategorized/a-rant-about-qwerty/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
