<?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>Pieter’s Programming Blog</title>
	<atom:link href="http://www.onthoo.com/blog/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onthoo.com/blog/programming</link>
	<description>I’m a freelance Java developer based in Belgium (better known as Brussels outside Europe). Here I write about my experiences based on my daily struggle with man’s most feared enemy: computers.</description>
	<lastBuildDate>Wed, 28 Oct 2009 14:39:13 +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>Koopjeszoeker.be supports rich snippets</title>
		<link>http://www.onthoo.com/blog/programming/2009/10/koopjeszoeker-be-supports-rich-snippets.html</link>
		<comments>http://www.onthoo.com/blog/programming/2009/10/koopjeszoeker-be-supports-rich-snippets.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:21:06 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://www.onthoo.com/blog/programming/?p=118</guid>
		<description><![CDATA[Since today, koopjeszoeker.be (and koopjeszoeker.com, fr.zamtam.be and www.zamtam.fr) supports Google rich snippets.  Not much happens yet, but you can have a look at the parsed data in this testing tool.
At the moment I still get &#8220;Insufficient data to generate the preview&#8221; from this tool although it seams to be able to parse the data, no [...]]]></description>
			<content:encoded><![CDATA[<p>Since today, <a href="http://www.koopjeszoeker.be">koopjeszoeker.be</a> (and <a href="http://www.koopjeszoeker.com">koopjeszoeker.com</a>, <a href="http://fr.zamtam.be">fr.zamtam.be</a> and <a href="http://www.zamtam.fr">www.zamtam.fr</a>) supports Google <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=99170">rich snippets</a>.  Not much happens yet, but you can have a look at the parsed data in this <a href="http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.koopjeszoeker.be%2Fq.iphone%2F&amp;view=">testing tool</a>.</p>
<p>At the moment I still get &#8220;<span id="richsnippets_preview">Insufficient data to generate the preview&#8221; from this tool although it seams to be able to parse the data, no idea what it means&#8230;<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2009/10/koopjeszoeker-be-supports-rich-snippets.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Google Wave Account</title>
		<link>http://www.onthoo.com/blog/programming/2009/07/a-google-wave-account.html</link>
		<comments>http://www.onthoo.com/blog/programming/2009/07/a-google-wave-account.html#comments</comments>
		<pubDate>Mon, 27 Jul 2009 12:39:56 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>

		<guid isPermaLink="false">http://www.onthoo.com/blog/programming/?p=110</guid>
		<description><![CDATA[Today I got my developer account for the Google Wave platform. Since the demo video looked really cool, I was eager to test this.
I didn&#8217;t have a lot of time to test yet, but my first impression is that it is the chaos of a bulletin board, mixed with the trolls found in blog comments [...]]]></description>
			<content:encoded><![CDATA[<p>Today I got my developer account for the <a href="http://wave.google.com/">Google Wave</a> platform. Since the <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ">demo video</a> looked really cool, I was eager to test this.</p>
<p>I didn&#8217;t have a lot of time to test yet, but my first impression is that it is the chaos of a bulletin board, mixed with the trolls found in blog comments and interspersed with unrelated automated bot comments.</p>
<p>Probably this is because I&#8217;m jumping right in, and other developers already had info sessions or got in earlier, so they had some time to get used to everything before the place was overwhelmed.</p>
<p>It&#8217;s still a developer preview, so I&#8217;ll give it some more time before I decide if I really like it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2009/07/a-google-wave-account.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grails and Google AppEngine</title>
		<link>http://www.onthoo.com/blog/programming/2009/06/grails-and-google-appengine.html</link>
		<comments>http://www.onthoo.com/blog/programming/2009/06/grails-and-google-appengine.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:19:02 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[appengine]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://www.onthoo.com/blog/programming/?p=104</guid>
		<description><![CDATA[I&#8217;ve created a small demo showing Grails on Google AppEngine.
The site is a showcase of Grails on  	    	Google AppEngine with the  	    	Grails AppEngine plugin.
Places are stored in the AppEngine datastore and a taglib is added for rendering      		the login button [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a small <a href="http://favorite-places.appspot.com/">demo showing Grails on Google AppEngine</a>.</p>
<p>The site is a showcase of <a href="http://www.grails.org/">Grails</a> on  	    	<a href="http://code.google.com/appengine/">Google AppEngine</a> with the  	    	<a href="http://grails.org/plugin/app-engine">Grails AppEngine plugin</a>.</p>
<p>Places are stored in the AppEngine <a href="http://code.google.com/appengine/docs/java/gettingstarted/usingdatastore.html">datastore</a> and a taglib is added for rendering      		the <a href="http://code.google.com/appengine/docs/java/gettingstarted/usingusers.html">login button</a> and the currently logged in user.</p>
<p>Additionally, an integration with <a href="http://code.google.com/apis/ajaxsearch/">Google AJAX Search API</a> is done when adding a place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2009/06/grails-and-google-appengine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL.equals()</title>
		<link>http://www.onthoo.com/blog/programming/2009/06/url-not-equals.html</link>
		<comments>http://www.onthoo.com/blog/programming/2009/06/url-not-equals.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:14:07 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.onthoo.com/blog/programming/?p=97</guid>
		<description><![CDATA[Apparently in Java an URL is equal if the ip is the same, so the following test will succeed (kapaza.be and kapaza.nl have the same ip address).
public void testURLEquals() throws MalformedURLException {
  assertEquals(new URL("http://www.kapaza.be"), new URL("http://www.kapaza.nl"));
}
Just so you know when you get strange results when putting URLs in a Set&#8230;  It&#8217;s even worse, since [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently in Java an URL is equal if the ip is the same, so the following test will succeed (kapaza.be and kapaza.nl have the same ip address).</p>
<pre>public void testURLEquals() throws MalformedURLException {
  assertEquals(new URL("http://www.kapaza.be"), new URL("http://www.kapaza.nl"));
}</pre>
<p>Just so you know when you get strange results when putting URLs in a Set&#8230;  It&#8217;s even worse, since this means that comparing URLs needs name resolution, which is a slowdown.  More in the <a href="http://java.sun.com/javase/6/docs/api/java/net/URL.html#equals(java.lang.Object)">Javadocs</a>.</p>
<p>One solution is to use an URI instead of an URL.  This will fail:</p>
<pre>public void testURIEquals() throws URISyntaxException {
  assertEquals(new URI("http://www.kapaza.be"), new URI("http://www.kapaza.nl"));</pre>
<pre>}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2009/06/url-not-equals.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Permgen space</title>
		<link>http://www.onthoo.com/blog/programming/2009/01/permgen-space.html</link>
		<comments>http://www.onthoo.com/blog/programming/2009/01/permgen-space.html#comments</comments>
		<pubDate>Fri, 09 Jan 2009 16:15:56 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/?p=81</guid>
		<description><![CDATA[Personal note to self: use these to increase memory in JBoss and work a bit longer before you get a PermGenSpace exception.

-Xms128m -Xmx1024m -XX: PermSize=64m -XX: MaxPermSize=256m

]]></description>
			<content:encoded><![CDATA[<p>Personal note to self: use these to increase memory in JBoss and work a bit longer before you get a PermGenSpace exception.<br />
<code><br />
-Xms128m -Xmx1024m -XX: PermSize=64m -XX: MaxPermSize=256m<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2009/01/permgen-space.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Apps E-mail Storage Reaches 7 GB</title>
		<link>http://www.onthoo.com/blog/programming/2008/08/google-apps-e-mail-storage-reaches-7-gb.html</link>
		<comments>http://www.onthoo.com/blog/programming/2008/08/google-apps-e-mail-storage-reaches-7-gb.html#comments</comments>
		<pubDate>Fri, 08 Aug 2008 09:09:00 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/2008/08/08/google-apps-e-mail-storage-reaches-7-gb/</guid>
		<description><![CDATA[My Google Apps Standard Edition e-mail account (like GMail, but I can use my own hostname instead of gmail.com) reached 7 GB.  I just noticed it today, but it may already be there for a few days since I don&#8217;t watch the GMail counter continuously.
The Thrash folder however still showsNo conversations in the Trash. [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://www.google.com/a/">Google Apps</a> <a href="http://www.google.com/a/help/intl/en/admins/editions.html">Standard Edition</a> e-mail account (like GMail, but I can use my own hostname instead of gmail.com) reached 7 GB.  I just noticed it today, but it may already be there for a few days since I don&#8217;t watch the <a href="http://mail.google.com">GMail counter</a> continuously.</p>
<p>The Thrash folder however still shows<br /><em>No conversations in the Trash. Who needs to delete when you have over 2000 MB of storage?!</em></p>
<p>7 GB that is, if you use the same metrics hard disk manufacturers use.  It&#8217;s still not really <a href="http://www.google.com/search?q=7GB+in+MB">7 GB</a> though.</p>
<p>Looks like I still have some space left after 4 years of e-mailing (I didn&#8217;t import my old hotmail and student accounts I had before that):<br /><em>You are currently using 472 MB (6%) of your 7007 MB.</em></p>
<p>I used a little trick (don&#8217;t tell Google!) to import my e-mail from my old server.  When you purchase a Premier Edition account, you have better tools to migrate your e-mail.  After 15 days (and a successful migration) I downgraded my Premier Edition to a Standard Edition for free (you have 30 days to try it).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2008/08/google-apps-e-mail-storage-reaches-7-gb.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to lower the load average on a server with more than 50% in 10 seconds</title>
		<link>http://www.onthoo.com/blog/programming/2008/05/how-to-lower-the-load-average-on-a-server-with-more-than-50-in-10-seconds.html</link>
		<comments>http://www.onthoo.com/blog/programming/2008/05/how-to-lower-the-load-average-on-a-server-with-more-than-50-in-10-seconds.html#comments</comments>
		<pubDate>Fri, 09 May 2008 14:42:00 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[performance]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/2008/05/09/how-to-lower-the-load-average-on-a-server-with-more-than-50-in-10-seconds/</guid>
		<description><![CDATA[$uptime&#8230; load average: 0.54, 0.40, 0.36
$sudo vim /etc/fstab(add the noatime option)# /dev/sda3UUID=8623d9e3... /               ext3    defaults,errors=remount-ro,noatime 0       1$sudo mount -a&#8230;$uptime&#8230; load average: 0.24, 0.16, 0.17
So far this completely unscientific proof.
More info about the [...]]]></description>
			<content:encoded><![CDATA[<p>$<span style="font-style:italic;">uptime</span><br />&#8230; load average: 0.54, 0.40, 0.36</p>
<p>$<span style="font-style:italic;">sudo vim /etc/fstab</span><br />(add the noatime option)<br /><code><br /># /dev/sda3<br />UUID=8623d9e3... /               ext3    defaults,errors=remount-ro<span style="font-weight:bold;">,noatime</span> 0       1<br /></code><br />$<span style="font-style:italic;">sudo mount -a</span><br />&#8230;<br />$<span style="font-style:italic;">uptime</span><br />&#8230; load average: 0.24, 0.16, 0.17</p>
<p>So far this completely unscientific proof.</p>
<p>More info about the <a href="http://ubuntuforums.org/showthread.php?t=107856">noatime</a> option.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2008/05/how-to-lower-the-load-average-on-a-server-with-more-than-50-in-10-seconds.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Internal Refactoring</title>
		<link>http://www.onthoo.com/blog/programming/2008/04/internal-refactoring.html</link>
		<comments>http://www.onthoo.com/blog/programming/2008/04/internal-refactoring.html#comments</comments>
		<pubDate>Thu, 10 Apr 2008 19:05:00 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/2008/04/10/internal-refactoring/</guid>
		<description><![CDATA[For my 10-day visit to Tokyo, Kyoto, Nara, Hakone and Chiba (my brother-in-law&#8217;s wedding), I needed to refactor my internal progamming a bit to avoid OutOfMemoryExceptions.
// This class is package protected to avoid
// external programs messing up.class Brain {

public void handleEvent(MeetNewPersonEvent event) {
...  if (getLocation().equals(Locations.JAPAN)) {
 fireEvent(new BowEvent(event));
}}

public void handleEvent(BowEvent event) {
 // Avoid infinite loop. [...]]]></description>
			<content:encoded><![CDATA[<p>For my 10-day visit to <a href="http://en.wikipedia.org/wiki/Tokyo">Tokyo</a>, <a href="http://en.wikipedia.org/wiki/Kyoto">Kyoto</a>, <a href="http://en.wikipedia.org/wiki/Nara,_Nara">Nara</a>, <a href="http://en.wikipedia.org/wiki/Hakone">Hakone</a> and <a href="http://en.wikipedia.org/wiki/Chiba_Prefecture">Chiba</a> (my brother-in-law&#8217;s wedding), I needed to refactor my internal progamming a bit to avoid OutOfMemoryExceptions.</p>
<pre>// This class is package protected to avoid
// external programs messing up.class Brain {

public void handleEvent(MeetNewPersonEvent event) {
...  if (getLocation().equals(Locations.JAPAN)) {
 fireEvent(new BowEvent(event));
}}

public void handleEvent(BowEvent event) {
 // Avoid infinite loop.  The problem is the
// 'esteemed higher' part, the person
// for whom you're bowing may think the same.
 if (event.isPersonEsteemedHigher() &amp;&amp; <span style="font-weight:bold;">!event.hasBowedTooMuch()</span>) {
 bow();
 } else {
 nod();
 }}

protected void bow() {
 lookSincere();
 smile();
 bendForward();
}</pre>
<p>I also needed to reprogram the eating subroutines.</p>
<pre>public void handleEvent(FeelingHungryEvent event) {
...  if (getLocation().equals(Locations.JAPAN)) {
 // This was a tricky one to handle,
// the implementation is left
// as an exercise to the reader.
uploadChopsticksRoutine();
}}</pre>
<p>The RunForTrainEvent and especially the WaitForTrainEvent could be canceled out since public transportation is much better than the location I originally wrote it for (Belgium).</p>
<pre>public void handleEvent(RunForTrainEvent event) {
 if (getLocation().equals(Locations.JAPAN)) {
   stopRunning();
   relax();
   Thread.sleep(5*Timer.MINUTE);
 }
}</pre>
<p>Finally, I needed to handle the RunningNoseEvent (extends HasColdEvent) better.</p>
<pre>public void handleEvent(RunningNoseEvent event) {
...  if (getLocation().equals(Locations.JAPAN)) {
 // Blowing your nose in public is NOT DONE
// in Japan.  This is considered
// a bit the same as burping.
// Public humiliation is your part when
// this is not checked.
 dipNose();
} else {
 blowNose();
}
}

protected Location getLocation() {
...
if (isCurrentLocationUnknown()) {
 if (bodyTallerThanMostOthers() &amp;&amp; friendlyPeople()
       &amp;&amp; metroEvery2Minutes()
       &amp;&amp; dressCode.equals(Dresscodes.COSTUME)
       &amp;&amp; eatingCode.equals(EatingCodes.SHOPSTICKS)) {
  return Locations.JAPAN;
  }
 }
}

} // End class</pre>
<p>This is released under an Apache license.  Please notify me if these changes are of any use to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2008/04/internal-refactoring.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blocking bad bots</title>
		<link>http://www.onthoo.com/blog/programming/2008/04/blocking-bad-bots.html</link>
		<comments>http://www.onthoo.com/blog/programming/2008/04/blocking-bad-bots.html#comments</comments>
		<pubDate>Wed, 09 Apr 2008 19:42:00 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[performance]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/2008/04/09/blocking-bad-bots/</guid>
		<description><![CDATA[Today I blocked some bad bots that were spidering some of my sites.  Most notably Custo, which downloads your entire site.
An interesting solution is posted here (I used the mod_rewrite option).  You can test this by changing your user agent in Firefox.
This guy seems to be following bad bots.
I added Java, Nutch, Jakarta, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I blocked some bad bots that were spidering some of my sites.  Most notably Custo, which downloads your entire site.</p>
<p>An interesting solution is posted <a href="http://www.besthostratings.com/articles/block-bad-bots.html">here</a> (I used the mod_rewrite option).  You can test this by <a href="http://johnbokma.com/mexit/2004/04/24/changinguseragent.html">changing your user agent in Firefox</a>.</p>
<p>This <a href="http://johannburkard.de/blog/www/spam/">guy</a> seems to be following <a href="http://johannburkard.de/blog/www/spam/The-top-10-spam-bot-user-agents-you-MUST-block-NOW.html">bad bots</a>.</p>
<p>I added Java, Nutch, Jakarta, Vagabondo and an empty bot name to the list of bad bots.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2008/04/blocking-bad-bots.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT: follow-up</title>
		<link>http://www.onthoo.com/blog/programming/2008/02/gwt-follow-up.html</link>
		<comments>http://www.onthoo.com/blog/programming/2008/02/gwt-follow-up.html#comments</comments>
		<pubDate>Tue, 26 Feb 2008 21:19:00 +0000</pubDate>
		<dc:creator>pcoucke</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://onthooprogramming.wordpress.com/2008/02/26/gwt-follow-up/</guid>
		<description><![CDATA[This is a follow-up post on Why I dumped GWT.
First of all, I had a really long week + weekend and I was tired when I wrote the post. I apologize for the rather in-your-face title.  I should have chosen a more subtitle wording, especially since I really appreciate all the work that developers [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-style:italic;">This is a follow-up post on <a href="http://www.onthoo.com/blog/programming/2008/02/why-i-dumped-gwt.html">Why I dumped GWT</a>.</span></p>
<p>First of all, I had a really long week + weekend and I was tired when I wrote the post. I apologize for the rather in-your-face title.  I should have chosen a more subtitle wording, especially since I really appreciate all the work that developers donate in their free time to open source projects.</p>
<p>I did&#8217;t expect my blog post would end up as the main article on <a href="http://www.ongwt.com">ongwt.com</a>. I use my blog mainly to communicate with colleagues about my work. It probably has something to do with my recent switch to <a href="http://www.feedburner.com">feedburner</a>. Hooray for feedburner!</p>
<p>Like I wrote, I like GWT and its approach.  It&#8217;s really nice to see how intelligent the development team approached and solved the problem at hand.  The image handling (sprites), js compression and http round-trip optimisations are really clever.</p>
<p>I&#8217;ll start by describing how my site came to what it is now.  The site started as a playground for me.  I wanted to try the latest new thing (ajax!) and so I first started with <a href="http://script.aculo.us/">scriptaculous</a>. I didn&#8217;t succeed in getting the layout right with pure css (after all, I&#8217;m only a Java developer) and I stumbled upon GWT.  The mail app demo is really nice and this gave me the idea to start a site that searches on-line marketplaces and lets users treat the classifieds as e-mail: with the possibility to delete, mark items as read/unread and star them.  Much like Google Reader.</p>
<p>For this, GWT was the perfect match.  Everything went as I expected it to do, sometimes with some cursing about why my onclick events were not fired and why a non-existing background image in css stopped the hosted mode to work, but all-in-all it was very good.</p>
<p>After some (positive) discussion with my other half, I wanted the work I put in it to give me some return-on-investment (money!). It turned out after some basic user testing (she sitting at the keyboard and I shouting &#8220;why would you do that?&#8221; and &#8220;that&#8217;s not meant to be used like that&#8221;) that the whole idea was too complex for a standard user (no offense to my super-intelligent girlfriend) who stumbles upon my site. <span style="font-weight:bold;">So week after week I removed some of the functionality to make the page less overwhelming.  Until I finally found myself using GWT only for the autocompleter, which clearly wasn&#8217;t the intention of the GWT framework.</span>  This, together with the remarks I gave in the previous post (adsense, analytics and seo) made me decide to temporarily stop developing with GWT.</p>
<p>I expect to start again with GWT once the site &#8220;gains some momentum&#8221;, and then I will re-enable those more complex features which should be easier than with mootools. I&#8217;ll probably ask some advice from a usability expert about how to design the page with all this functionality without overwhelming first-time users. And I will check out MyGWT and GWT-Ext more thoroughly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onthoo.com/blog/programming/2008/02/gwt-follow-up.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
