<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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" version="2.0">

<channel>
	<title>Richard Wilkinson's Blog</title>
	
	<link>http://richard-wilkinson.co.uk</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Sun, 22 Nov 2009 15:12:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/richardwilkinson" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="richardwilkinson" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">richardwilkinson</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Expanded Wicket Component Expressions</title>
		<link>http://richard-wilkinson.co.uk/2009/11/22/expanded-wicket-component-expressions/</link>
		<comments>http://richard-wilkinson.co.uk/2009/11/22/expanded-wicket-component-expressions/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 15:12:23 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=95</guid>
		<description><![CDATA[I have updated my wicket component expressions library to include enabled and visible conditions in the expressions.


This basically means that you can filter your component expression by if a component is visible, enabled, or both.  The following is an example of what can now be done:


"one1[enabled=true]:two1[enabled=true]"
"one1[visible=true and enabled = true]:
     [...]]]></description>
			<content:encoded><![CDATA[<p>I have updated my <a href="http://richard-wilkinson.co.uk/2009/11/08/wicket-component-expressions/">wicket component expressions</a> library to include enabled and visible conditions in the expressions.
</p>
<p>
This basically means that you can filter your component expression by if a component is visible, enabled, or both.  The following is an example of what can now be done:
</p>
<pre>
"one1[enabled=true]:two1[enabled=true]"
"one1[visible=true and enabled = true]:
                 two1[visible=true &#038; enabled=true]"
"**[visible=true]"
</pre>
<p>
As before the code is available on the <a href=http://code.google.com/p/londonwicket/">london wicket google code project</a>, under an apache 2 licence.  Due to the additional functionality I have bumped up the version number to 0.2.0, so you will need to update you pom to reflect this.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=MEYK9mJ9bxw:yQRcyau7Ch0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=MEYK9mJ9bxw:yQRcyau7Ch0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=MEYK9mJ9bxw:yQRcyau7Ch0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=MEYK9mJ9bxw:yQRcyau7Ch0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=MEYK9mJ9bxw:yQRcyau7Ch0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=MEYK9mJ9bxw:yQRcyau7Ch0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=MEYK9mJ9bxw:yQRcyau7Ch0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=MEYK9mJ9bxw:yQRcyau7Ch0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/MEYK9mJ9bxw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2009/11/22/expanded-wicket-component-expressions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wicket Component Expressions</title>
		<link>http://richard-wilkinson.co.uk/2009/11/08/wicket-component-expressions/</link>
		<comments>http://richard-wilkinson.co.uk/2009/11/08/wicket-component-expressions/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 18:15:30 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=90</guid>
		<description><![CDATA[While writing some unit tests for a wicket application I was working on, I found that I was writing a lot of component path expressions to get at various components in my pages.
However after some refactoring of the page hierarchy I had to re-write most of the expressions to take make the tests work again.
This [...]]]></description>
			<content:encoded><![CDATA[<p>While writing some unit tests for a wicket application I was working on, I found that I was writing a lot of component path expressions to get at various components in my pages.<br />
However after some refactoring of the page hierarchy I had to re-write most of the expressions to take make the tests work again.</p>
<p>This lead me to think that maybe there could be an easier way for getting at components, using * to represent any child component at a given level, and ** to represent any child component at any level.</p>
<p>Doing this would mean that you could re-write this:</p>
<pre>“panel1:innerpanel1:form1:textfield1”</pre>
<p>as</p>
<pre>“*:*:form1:textfield1”</pre>
<p>or</p>
<pre>“**:form:textfield1”</pre>
<p>or even</p>
<pre>“**:textfield1”</pre>
<p>Then I got thinking that I would be pretty simple to place type restrictions on the results, so you could set the following expression:</p>
<pre>“**” and type restriction of TextField</pre>
<p>to get all TextField component on the page or</p>
<pre>“panel1:**” and type restriction of ListView</pre>
<p>to get all ListView components which are children of the panel1 component.</p>
<p>To use component expressions I created 4 static methods</p>
<ul>
<li>
<pre>public static Component findComponent(Component parent,
 String expression)</pre>
</li>
<li>
<pre>public static Component findComponent(Component parent,
 String expression,Class&lt;? extends Component&gt;typeRestriction)</pre>
</li>
<li>
<pre>public static List findAllComponents(Component parent,
 String expression)</pre>
</li>
<li>
<pre>public static List findAllComponents(Component parent,
 String expression, Class&lt;? extends Component&gt; typeRestriction)</pre>
</li>
</ul>
<p>The code is checked into the <a href="http://code.google.com/p/londonwicket/" onclick="javascript:pageTracker._trackPageview ('/outbound/code.google.com');">london wicket google code repository</a>, and you can include it as a dependency to your project by adding the following to your pom.xml</p>
<pre>
&lt;repositories&gt;
	&lt;repository&gt;
		&lt;id&gt;londonwicket&lt;/id&gt;
		&lt;url&gt;http://londonwicket.googlecode.com/svn/repo&lt;/url&gt;
		&lt;releases&gt;
			&lt;enabled&gt;true&lt;/enabled&gt;
		&lt;/releases&gt;
		&lt;snapshots&gt;
			&lt;enabled&gt;true&lt;/enabled&gt;
		&lt;/snapshots&gt;
	&lt;/repository&gt;
&lt;/repositories&gt;

&lt;dependency&gt;
	&lt;groupId&gt;com.googlecode.londonwicket&lt;/groupId&gt;
	&lt;artifactId&gt;wicket-component-expressions&lt;/artifactId&gt;
	&lt;version&gt;0.1.0&lt;/version&gt;
&lt;/dependency&gt;
</pre>
<p>
There are tests to cover all the different cases I could think of.  Any comments, bug fixes, or improvements would be more than welcome.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=uQoj2x5GohQ:JJ6j11eC0eQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=uQoj2x5GohQ:JJ6j11eC0eQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=uQoj2x5GohQ:JJ6j11eC0eQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=uQoj2x5GohQ:JJ6j11eC0eQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=uQoj2x5GohQ:JJ6j11eC0eQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=uQoj2x5GohQ:JJ6j11eC0eQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=uQoj2x5GohQ:JJ6j11eC0eQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=uQoj2x5GohQ:JJ6j11eC0eQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/uQoj2x5GohQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2009/11/08/wicket-component-expressions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A ‘LegUp’ for new Java projects</title>
		<link>http://richard-wilkinson.co.uk/2009/10/07/a-legup-for-new-java-projects/</link>
		<comments>http://richard-wilkinson.co.uk/2009/10/07/a-legup-for-new-java-projects/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 14:38:42 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Guice]]></category>

		<category><![CDATA[maven]]></category>

		<category><![CDATA[warp-persist]]></category>

		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=74</guid>
		<description><![CDATA[Nowadays, even a simple Java web system is going to require a web framework, some sort of persistence layer and probably some sort of dependency injection.  But how long would it take you to create such a project from scratch?  1 day? 1 hour maybe if you knew all of the technologies involved.  With LegUp you can be [...]]]></description>
			<content:encoded><![CDATA[<p>Nowadays, even a simple Java web system is going to require a web framework, some sort of persistence layer and probably some sort of dependency injection.  But how long would it take you to create such a project from scratch?  1 day? 1 hour maybe if you knew all of the technologies involved.  With LegUp you can be up and running in 15 seconds*.</p>
<p><a href="http://jweekend.com/dev/LegUp" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/jweekend.com');">LegUp</a> is a collection of free, open source (Apache 2 licensed) <a href="http://maven.apache.org/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/maven.apache.org');">Maven 2</a> archetypes, and a web based configuration tool provided by <a href="http://jweekend.com" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/jweekend.com');">jWeekend</a>.  It allows you to choose from different combinations of popular Java technologies (<a href="http://wicket.apache.org/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/wicket.apache.org');">Apache Wicket</a>, <a href="http://www.springsource.org/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.springsource.org');">Spring</a>, <a href="http://code.google.com/p/google-guice/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/code.google.com');">Google Guice</a>, <a href="http://java.sun.com/developer/technicalArticles/J2EE/jpa/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/java.sun.com');">JPA</a>, <a href="https://www.hibernate.org/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.hibernate.org');">Hibernate</a>, <a href="http://www.wideplay.com/guicewebextensions2" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.wideplay.com');">Warp Persist</a>) to allow you to get up and running quickly and easily.  Up and running means that will have a simple application running within a minute of starting.</p>
<h3>Currently the following archetypes are available:</h3>
<ul>
<li>Spring 2.5 with a JDBC database layer</li>
<li>Spring 2.5 with a JPA 1.0 database layer</li>
<li>Apache Wicket 1.4 and Google Guice 1.0</li>
<li>Apache Wicket 1.4, Google Guice 1.0, Warp Persist 1.0 and Hibernate 3</li>
<li>Apache Wicket 1.4, Google Guice 1.0, Warp Persist 1.0 and JPA 1.0</li>
<li>Apache Wicket 1.4, Spring 2.5 and JPA 1.0</li>
</ul>
<div>The projects using JPA include multiple JPA providers.  Hibernate is the default, but both <a href="http://openjpa.apache.org/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/openjpa.apache.org');">OpenJPA</a> and <a href="http://www.eclipse.org/eclipselink/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.eclipse.org');">EclipseLink</a> are also included.  To change the provider, comment out the hibernate dependency in the projects pom.xml and uncomment the desired provider.  Then comment out/in the appropriate lines in the persistence.xml file.</div>
<h3>Example for a project with Wicket, Spring and JPA</h3>
<div>
<ul>
<li>Make sure you have Java 5+ and Maven 2 installed and working.  You can search on the internet for how to do this if you are not sure.</li>
<li>Go to the <a href="http://jweekend.com/dev/LegUp" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/jweekend.com');">LegUp configuration page</a> in your web browser of choice.</li>
<li>Select the Wicket, Spring, JPA archetype from the drop down list.</li>
<li>Optionally customize the Group Id, Archetype Id, Version and Package fields.  These are standard Maven properties.  I will leave the defaults for this example.</li>
<li>Click the &#8216;Generate Maven Command&#8217; button.  This will populate the text area under the button.</li>
<li>Open a terminal window (Mac, Linux) or command prompt window (Win) and cd to a suitable directory.</li>
<li>Copy the command line (starts with mvn archetype:generate) and paste it into your open terminal.</li>
<li>Hit enter and wait for maven to finish processing the command.  The time this will take depends on the speed of your internet connection and how populated your local maven repository is.  It could take a few minutes if this is the first time you have used maven.</li>
<li>Cd into the directory which has been produced, this will be named the same as the Archetype Id you entered earlier.  In my case this directory is called &#8216;myproject&#8217;.
<pre>cd myproject</pre>
</li>
<li>Build the application and run the provided tests using this maven command:
<pre>mvn compile test</pre>
</li>
<li>Run the wicket application on jetty with this maven command.
<pre>mvn jetty:run</pre>
</li>
<li>Thats it, you now have a running Wicket Application with Spring Dependency injection and JPA using hibernate under the covers, all running with a HSQL database.</li>
</ul>
<h3>Added bonus feature</h3>
<p>If you type the following maven command, it will generate you an eclipse project which you can import into eclipse to start editing the code straight away</p>
<pre>mvn eclipse:eclipse</pre>
<h3>Gotchas</h3>
<ul>
<li>Warp Persist will need installing into your local repository manually.  Download it from the Warp Persist website and follow the instructions that maven gives you.</li>
</ul>
<div>*15 seconds is assuming that your maven repository contains all of the required jars already.</div>
<div>** Disclaimer, I work for <a href="http://jweekend.com" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/jweekend.com');">jWeekend</a>.</div>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=Xlmgp_BFH5c:Xn3tlJ9DRhY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=Xlmgp_BFH5c:Xn3tlJ9DRhY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=Xlmgp_BFH5c:Xn3tlJ9DRhY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=Xlmgp_BFH5c:Xn3tlJ9DRhY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=Xlmgp_BFH5c:Xn3tlJ9DRhY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=Xlmgp_BFH5c:Xn3tlJ9DRhY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=Xlmgp_BFH5c:Xn3tlJ9DRhY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=Xlmgp_BFH5c:Xn3tlJ9DRhY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/Xlmgp_BFH5c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2009/10/07/a-legup-for-new-java-projects/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated terrcotta wicket-tim</title>
		<link>http://richard-wilkinson.co.uk/2008/12/07/updated-terrcotta-wicket-tim/</link>
		<comments>http://richard-wilkinson.co.uk/2008/12/07/updated-terrcotta-wicket-tim/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 12:23:11 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Wicket]]></category>

		<category><![CDATA[terracotta]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=68</guid>
		<description><![CDATA[The latest version of the wicket 1.3 and terracotta integration is out (1.1.3).
The code will now automatically configure your application to use the correct page store, with a default of 100 pages history per page map.  If you need to override this value then you can override the the newSessionStore method in your WebApplication class, [...]]]></description>
			<content:encoded><![CDATA[<p>The latest version of the wicket 1.3 and terracotta integration is out (1.1.3).</p>
<p>The code will now automatically configure your application to use the correct page store, with a default of 100 pages history per page map.  If you need to override this value then you can override the the newSessionStore method in your WebApplication class, as in the previous version (<a href="http://richard-wilkinson.co.uk/2008/11/05/terracotta-and-wicket-the-next-generation/">see this post</a>).</p>
<p>So in most cases all you need to do to use wicket with terracotta is include the tim in your terracotta configuration like so.</p>
<pre>&lt;module name="tim-wicket-1.3" version="1.1.3"/&gt;</pre>
<p>The next thing i&#8217;m going to be working on is wicket 1.4 support, which I should get finished before wicket 1.4 goes live.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=fFrqCVXc9nA:T3J7dAFsSOk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=fFrqCVXc9nA:T3J7dAFsSOk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=fFrqCVXc9nA:T3J7dAFsSOk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=fFrqCVXc9nA:T3J7dAFsSOk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=fFrqCVXc9nA:T3J7dAFsSOk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=fFrqCVXc9nA:T3J7dAFsSOk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=fFrqCVXc9nA:T3J7dAFsSOk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=fFrqCVXc9nA:T3J7dAFsSOk:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/fFrqCVXc9nA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/12/07/updated-terrcotta-wicket-tim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>So VAT is reduced</title>
		<link>http://richard-wilkinson.co.uk/2008/11/25/so-vat-is-reduced/</link>
		<comments>http://richard-wilkinson.co.uk/2008/11/25/so-vat-is-reduced/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 23:00:18 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[vat]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=66</guid>
		<description><![CDATA[&#60;sarcasm&#62;
yay, woo, this will make me spend loads of money
&#60;/sarcasm&#62;
So the government reduces VAT by 2.5 percent.  So for every £1000 I spend, I will save a whole £25.
And for that privilage I will get to pay higher taxes in a years time, probably for the next 10 years.
Cant say im convinced.
I&#8217;m just waiting for [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;sarcasm&gt;</p>
<p>yay, woo, this will make me spend loads of money</p>
<p>&lt;/sarcasm&gt;</p>
<p>So the government reduces VAT by 2.5 percent.  So for every £1000 I spend, I will save a whole £25.</p>
<p>And for that privilage I will get to pay higher taxes in a years time, probably for the next 10 years.</p>
<p>Cant say im convinced.</p>
<p>I&#8217;m just waiting for all those systems with a hard coded figure of 17.5% for VAT not being able to handle the change, it could be Y2K all over again.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=aN-lMtcvcr4:0kWPlGEuwUk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=aN-lMtcvcr4:0kWPlGEuwUk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=aN-lMtcvcr4:0kWPlGEuwUk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=aN-lMtcvcr4:0kWPlGEuwUk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=aN-lMtcvcr4:0kWPlGEuwUk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=aN-lMtcvcr4:0kWPlGEuwUk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=aN-lMtcvcr4:0kWPlGEuwUk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=aN-lMtcvcr4:0kWPlGEuwUk:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/aN-lMtcvcr4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/11/25/so-vat-is-reduced/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A simple wicket and terracotta example</title>
		<link>http://richard-wilkinson.co.uk/2008/11/23/a-simple-wicket-and-terracotta-example/</link>
		<comments>http://richard-wilkinson.co.uk/2008/11/23/a-simple-wicket-and-terracotta-example/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 13:42:38 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=58</guid>
		<description><![CDATA[Since the publication of the updated wicket terracotta plugin I have been working on a simple example app.
I decided to use the terracotta maven plugin, which means that you dont need to download anything, maven will do it all for you.
Simply extract the zip file and run
mvn tc:run
Then point your browser at http://localhost:8080/simple-wicket or http://localhost:8081/simple-wicket [...]]]></description>
			<content:encoded><![CDATA[<p>Since the publication of the updated <a href="http://richard-wilkinson.co.uk/2008/11/05/terracotta-and-wicket-the-next-generation/">wicket terracotta plugin</a> I have been working on a simple example app.</p>
<p>I decided to use the terracotta maven plugin, which means that you dont need to download anything, maven will do it all for you.</p>
<p>Simply extract the zip file and run</p>
<pre>mvn tc:run</pre>
<p>Then point your browser at http://localhost:8080/simple-wicket or http://localhost:8081/simple-wicket to see it in action.</p>
<p>You can read more about the <a href="http://www.terracotta.org/confluence/display/wiki/Terracotta+Maven+Plugin" onclick="javascript:pageTracker._trackPageview ('/outbound/www.terracotta.org');">terracotta maven plugin on this url</a></p>
<p>Edit:</p>
<p>I have corrected the typo pointed out to me.  Just goes to show that you should test your code in a different user account to the one you have multiple versions of the same project installed in your local maven repo.</p>
<p>You can download the source code here <a href="http://richard-wilkinson.co.uk/wp-content/uploads/2008/11/simple-wicket1.zip">simple-wicket1.zip</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=INGAjk2mf1o:EeCixLnfd04:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=INGAjk2mf1o:EeCixLnfd04:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=INGAjk2mf1o:EeCixLnfd04:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=INGAjk2mf1o:EeCixLnfd04:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=INGAjk2mf1o:EeCixLnfd04:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=INGAjk2mf1o:EeCixLnfd04:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=INGAjk2mf1o:EeCixLnfd04:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=INGAjk2mf1o:EeCixLnfd04:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/INGAjk2mf1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/11/23/a-simple-wicket-and-terracotta-example/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why are there so many java web frameworks?</title>
		<link>http://richard-wilkinson.co.uk/2008/11/19/why-are-there-so-many-java-web-frameworks/</link>
		<comments>http://richard-wilkinson.co.uk/2008/11/19/why-are-there-so-many-java-web-frameworks/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 19:45:31 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=56</guid>
		<description><![CDATA[I try to keep up with the latest java technologies by subscribing to a number of different rss feeds, one of the underlying trends seems to be &#8216;hey look at my cool new java web framework&#8217; and I keep asking myself why keep reinventing the wheel?  Clearly I&#8217;m a big fan of wicket, but I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I try to keep up with the latest java technologies by subscribing to a number of different rss feeds, one of the underlying trends seems to be &#8216;hey look at my cool new java web framework&#8217; and I keep asking myself why keep reinventing the wheel?  Clearly I&#8217;m a big fan of wicket, but I&#8217;m not going to get<br />
into a &#8216;wicket is the best ever&#8217; rant.</p>
<p>Instead i&#8217;m going to say that regardless of your requirements, there surely must already be at least one framework that meets practically all of them.  So given that what you want already exists, why go and build it yourself anyway?  Or can they not use google?</p>
<p>But suppose that you do build your own framework, this means that out of all existing frameworks, none meet your requirements (or you can&#8217;t use google).  From this we can deduce that you have quite specialized requirements (or you are less computer literate than a 10 year old), meaning that your requirements probably won&#8217;t be shared by many other people, so why oh why do you then take your poorly documented, highly specialized code and thrust it upon the world?</p>
<p>We aren&#8217;t interested that you can build an entire app that says hello world with one command, or that you have a slightly different method of hacking together java, html, ajax in a &#8216;really cool way&#8217;.</p>
<p>&lt;/rant&gt;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=xyCaG9rOHvU:V0jgYauiSGg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=xyCaG9rOHvU:V0jgYauiSGg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=xyCaG9rOHvU:V0jgYauiSGg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=xyCaG9rOHvU:V0jgYauiSGg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=xyCaG9rOHvU:V0jgYauiSGg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=xyCaG9rOHvU:V0jgYauiSGg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=xyCaG9rOHvU:V0jgYauiSGg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=xyCaG9rOHvU:V0jgYauiSGg:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/xyCaG9rOHvU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/11/19/why-are-there-so-many-java-web-frameworks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Terracotta and Wicket (the next generation)</title>
		<link>http://richard-wilkinson.co.uk/2008/11/05/terracotta-and-wicket-the-next-generation/</link>
		<comments>http://richard-wilkinson.co.uk/2008/11/05/terracotta-and-wicket-the-next-generation/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 14:11:10 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Wicket]]></category>

		<category><![CDATA[terracotta]]></category>

		<guid isPermaLink="false">http://richard-wilkinson.co.uk/?p=44</guid>
		<description><![CDATA[Edit: with the 1.1.3 release you should follow the instructions on this post.  It is no longer required for you to set up the page store yourself.
The new terracotta wicket-tim is out!
Any wicket and terracotta users will know that the previous wicket-tim had issues under heavy load, which is why some months ago I set [...]]]></description>
			<content:encoded><![CDATA[<p>Edit: with the 1.1.3 release you should <a href="http://richard-wilkinson.co.uk/2008/12/07/updated-terrcotta-wicket-tim/">follow the instructions on this post</a>.  It is no longer required for you to set up the page store yourself.</p>
<p>The new terracotta wicket-tim is out!</p>
<p>Any wicket and terracotta users will know that the previous wicket-tim had issues under heavy load, which is why some months ago I set about creating something better, with lots of help from the wicket community, especially <a href="http://talk-on-tech.blogspot.com/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/talk-on-tech.blogspot.com');">Stefan Fussenegger</a>, we created a new in-memory page map which can cope with high load.</p>
<p>To use this you will need to add the wicket-tim to your classpath, if you are using maven then add this to your pom.xml file:</p>

<div class="wp_syntax"><div class="code"><pre class="xml xml" style="font-family:monospace;">	org.terracotta.modules
	tim-wicket
	1.1.1</pre></div></div>

<p>And follow the <a href="http://forge.terracotta.org/releases/projects/tim-wicket/docs/installation.html" onclick="javascript:pageTracker._trackPageview ('/outbound/forge.terracotta.org');">installation instructions</a>.</p>
<p>In your tc-config.xml you will need to include the wicket-tim module, you can find instructions on how to do this <a href="http://forge.terracotta.org/releases/projects/tim-wicket/docs/quickstart.html" onclick="javascript:pageTracker._trackPageview ('/outbound/forge.terracotta.org');">here</a> and <a href="http://www.terracotta.org/web/display/docs/Configuration+Guide+and+Reference" onclick="javascript:pageTracker._trackPageview ('/outbound/www.terracotta.org');">here</a>.</p>
<p>Then in your wicket application class you need to use the new page map:</p>

<div class="wp_syntax"><div class="code"><pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> ISessionStore newSessionStore<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> SecondLevelCacheSessionStore<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>,
       <span style="color: #000000; font-weight: bold;">new</span> TerracottaPageStore<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The 100 in the page store parameter is the number of pages (or versions of pages) of history to keep inthe page map, and can be set to anything you feel is appropriate.</p>
<p>The page map is stored in the httpsession so you will need to make sure that httpsession clustering is working correctly.  If you are using tomcat then terracotta should do this automatically.</p>
<p>Feedback and bug reports are welcome, particularity about the user configurable number of pages history.  If we remove this then it will be possible to use byte-code instrumentation to automatically add in the TerracottaPageStore, meaning that the wicket-tim wont need adding onto your application build path.</p>
<p>Richard</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=DLVemzydEEs:K6TqIGGM2BQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=DLVemzydEEs:K6TqIGGM2BQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=DLVemzydEEs:K6TqIGGM2BQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=DLVemzydEEs:K6TqIGGM2BQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=DLVemzydEEs:K6TqIGGM2BQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=DLVemzydEEs:K6TqIGGM2BQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=DLVemzydEEs:K6TqIGGM2BQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=DLVemzydEEs:K6TqIGGM2BQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/DLVemzydEEs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/11/05/terracotta-and-wicket-the-next-generation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Great Example Of Clear Wording In An Online Form</title>
		<link>http://richard-wilkinson.co.uk/2008/08/31/a-great-example-of-clear-wording-in-an-online-form/</link>
		<comments>http://richard-wilkinson.co.uk/2008/08/31/a-great-example-of-clear-wording-in-an-online-form/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 19:50:25 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.richard-wilkinson.co.uk/?p=45</guid>
		<description><![CDATA[I was just trying to buy next months train ticket and came across this brilliant attempt by first capital connect to trick their customers into agreeing to all of the marketing junk that you always get with any sort of signup to online services:

The text reads:
We may, from time to time, send you useful information [...]]]></description>
			<content:encoded><![CDATA[<p>I was just trying to buy next months train ticket and came across this brilliant attempt by first capital connect to trick their customers into agreeing to all of the marketing junk that you always get with any sort of signup to online services:</p>
<p><a href="http://www.richard-wilkinson.co.uk/blog/wp-content/uploads/2008/08/fcc.png"><img class="alignnone size-medium wp-image-46" title="First Capital Connect Signup" src="http://www.richard-wilkinson.co.uk/blog/wp-content/uploads/2008/08/fcc-250x300.png" alt="" width="250" height="300" /></a></p>
<p>The text reads:</p>
<address>We may, from time to time, send you useful information and special offers about both our and our selected partners products and services. We will however NOT provide your details to any third parties, except in accordance with our terms and conditions, other than the train company you travel with. If you do not wish to receive this information or these offers simply clear the box.<br />
</address>
<p><br/><br />
As the saying goes &#8216;Clear as mud&#8217;, surely &#8216;Check this box to receive junk mail&#8217; is sooo much clearer?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=3yaGxPLCc_Q:4M-pM0o15ZM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=3yaGxPLCc_Q:4M-pM0o15ZM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=3yaGxPLCc_Q:4M-pM0o15ZM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=3yaGxPLCc_Q:4M-pM0o15ZM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=3yaGxPLCc_Q:4M-pM0o15ZM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=3yaGxPLCc_Q:4M-pM0o15ZM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=3yaGxPLCc_Q:4M-pM0o15ZM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=3yaGxPLCc_Q:4M-pM0o15ZM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/3yaGxPLCc_Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/08/31/a-great-example-of-clear-wording-in-an-online-form/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Next London Wicket Event</title>
		<link>http://richard-wilkinson.co.uk/2008/08/31/next-london-wicket-event/</link>
		<comments>http://richard-wilkinson.co.uk/2008/08/31/next-london-wicket-event/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 19:31:14 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<category><![CDATA[Wicket]]></category>

		<category><![CDATA[lwug]]></category>

		<guid isPermaLink="false">http://www.richard-wilkinson.co.uk/?p=39</guid>
		<description><![CDATA[<div class='vevent x-wpsb-simple-event'>		<p></p>		<h3 class='summary'>London Wicket User Group</h3>		<p><b>Begins</b>: <abbr class='dtstart' title='2008-10-01T20:30:00'>Wed, 01 Oct 2008 at  8:30 PM</abbr></p>		<p><b>Ends</b>: <abbr class='dtend' title='2008-10-01T20:30:00'>Wed, 01 Oct 2008 at  9:00 PM</abbr></p>		<p><b>Entry fee</b>: Free</p>		<p>			<b>Location</b>:			<span class='location'><p>Google UK, 76, Buckingham Palace Road</p>			<p>Belgrave House</p>			<p>London						SW1W 9TQ</p>					</span></p>					<p><b>Link</b>: <a href='http://jweekend.co.uk/dev/LWUGReg/'>Register</a></p>				<div><p>Presentations for this event will include:
<ul class="lwugTopics">
	<li><a href="http://www.jweekend.com/" target="_blank">Cemal Bayramoglu</a>:  <strong> Welcome/Introduction</strong></li>
	<li><a href="http://herebebeasties.com/" target="_blank">Al Maw</a>:<strong> Wicket Code Jam</strong></li>
	<li><a href="http://terracottatech.com/" target="_blank">Ari Zilka (founder of Terracotta)</a>: <strong> About Terracotta</strong></li>
	<li><a href="http://www.zenika.com/">Carl Azoury</a>: <strong> TBC</strong></li>
	<li><a href="http://www.jweekend.com/" target="_blank">Cemal Bayramoglu</a>:  <strong> Wicket AJAX Components (TBC)</strong></li>
	<li>And me.  I will be talking about using wicket with warp persist.</li>
</ul></p></div>		<p><i>Tags: lwgu, wicket</i></p>	</div>]]></description>
			<content:encoded><![CDATA[<div class='vevent x-wpsb-simple-event'>
<h3 class='summary'>London Wicket User Group</h3>
<p><b>Begins</b>: <abbr class='dtstart' title='2008-10-01T20:30:00'>Wed, 01 Oct 2008 at  8:30 PM</abbr></p>
<p><b>Ends</b>: <abbr class='dtend' title='2008-10-01T20:30:00'>Wed, 01 Oct 2008 at  9:00 PM</abbr></p>
<p><b>Entry fee</b>: Free</p>
<p>			<b>Location</b>:			<span class='location'>
<p>Google UK, 76, Buckingham Palace Road</p>
<p>Belgrave House</p>
<p>London						SW1W 9TQ</p>
<p>					</span></p>
<p><b>Link</b>: <a href="http://jweekend.co.uk/dev/LWUGReg/">Register</a></p>
<div>
<p>Presentations for this event will include:</p>
<ul class="lwugTopics">
<li><a href="http://www.jweekend.com/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.jweekend.com');">Cemal Bayramoglu</a>:  <strong> Welcome/Introduction</strong></li>
<li><a href="http://herebebeasties.com/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/herebebeasties.com');">Al Maw</a>:<strong> Wicket Code Jam</strong></li>
<li><a href="http://terracottatech.com/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/terracottatech.com');">Ari Zilka (founder of Terracotta)</a>: <strong> About Terracotta</strong></li>
<li><a href="http://www.zenika.com/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.zenika.com');">Carl Azoury</a>: <strong> TBC</strong></li>
<li><a href="http://www.jweekend.com/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/www.jweekend.com');">Cemal Bayramoglu</a>:  <strong> Wicket AJAX Components (TBC)</strong></li>
<li>And me.  I will be talking about using wicket with warp persist.</li>
</ul>
</div>
<p><i>Tags: lwgu, wicket</i></p>
</p></div>
<p><script type="application/x-subnode; charset=utf-8">
       <!-- the following is structured blog data for machine readers. -->
       <subnode xmlns:data-view="http://www.w3.org/2003/g/data-view#" data-view:transformation="http://structuredblogging.org/subnode-to-rdf-interpreter.xsl" xmlns="http://www.structuredblogging.org/xmlns#subnode">
       	    <xml-structured-blog-entry xmlns="http://www.structuredblogging.org/xmlns">
       		    <generator id="wpsb-1" type="x-wpsb-post" version="1"/><event type="event/generic"><name>London Wicket User Group</name>
<price>Free</price><location address="Google UK, 76, Buckingham Palace Road" subaddress="Belgrave House" city="London" postcode="SW1W 9TQ"/><description>Presentations for this event will include:
&lt;ul class=&quot;lwugTopics&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.jweekend.com/&quot; target=&quot;_blank&quot;&gt;Cemal Bayramoglu&lt;/a&gt;:  &lt;strong&gt; Welcome/Introduction&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://herebebeasties.com/&quot; target=&quot;_blank&quot;&gt;Al Maw&lt;/a&gt;:&lt;strong&gt; Wicket Code Jam&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://terracottatech.com/&quot; target=&quot;_blank&quot;&gt;Ari Zilka (founder of Terracotta)&lt;/a&gt;: &lt;strong&gt; About Terracotta&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zenika.com/&quot;&gt;Carl Azoury&lt;/a&gt;: &lt;strong&gt; TBC&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.jweekend.com/&quot; target=&quot;_blank&quot;&gt;Cemal Bayramoglu&lt;/a&gt;:  &lt;strong&gt; Wicket AJAX Components (TBC)&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;And me.  I will be talking about using wicket with warp persist.&lt;/li&gt;
&lt;/ul&gt;</description><tags>lwgu, wicket</tags>
<link url="http://jweekend.co.uk/dev/LWUGReg/">Register</link><begins>2008-10-01T20:30:00</begins><ends>2008-10-01T21:00:00</ends></event>
       	    </xml-structured-blog-entry>
       </subnode>
       </script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=zkSa_HgdQbg:4qKdCX7q1dc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=zkSa_HgdQbg:4qKdCX7q1dc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=zkSa_HgdQbg:4qKdCX7q1dc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=zkSa_HgdQbg:4qKdCX7q1dc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=zkSa_HgdQbg:4qKdCX7q1dc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=zkSa_HgdQbg:4qKdCX7q1dc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/richardwilkinson?a=zkSa_HgdQbg:4qKdCX7q1dc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/richardwilkinson?i=zkSa_HgdQbg:4qKdCX7q1dc:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/richardwilkinson/~4/zkSa_HgdQbg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://richard-wilkinson.co.uk/2008/08/31/next-london-wicket-event/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
