Pure Austin Splash & Dash

June 22nd, 2008

The Pure Austin Splash & Dash, a 750m swim followed by a 3k run, is held in quarry lake right behind the office where I work. I’ve taken part in the last two of these (5/20 and 6/17) and it’s been really enjoyable both times. For the last one on 6/17 there were about 116 people and it’s an interesting mix of participants from the very fast, James Bonney in a total time of 19:53, to the not so fast, slowest time was 52:17. However, it’s a self seeded start to the swim so you can start at the front if you think you’re fast or further back if you know you’re not. And afterwards there are hot dogs and beer. It a fantastic fun event.

Overlay types, the dom and deferred binding in GWT 1.5

June 22nd, 2008

Another cross post from work. This time talking about overlay types, the dom and deferred binding in GWT 1.5. Also talks about innerText and textContent and looks at how to get gwt to use textContent for Firefox instead of the default implementation.

Animation with GWT

June 15th, 2008

I’ve written a post about how to perform some simple animation effects with GWT. Included is source code for an example animation.

Making effective use of Constants in GWT

June 7th, 2008

Another cross-post on the development blog at work. This one is about Making effective use of Constants in GWT.

A -noserver flag for GWTTestCase

May 18th, 2008

Just a link to a post I wrote at work on how to implement a -noserver flag for GWTTestCase.

GWT Voices That Matter – My appearance on the app panel

January 6th, 2008

I was a participant on the applications panel at the GWT Voices That Matter conference in San Francisco in December. The video is now available on YouTube.

GWTTestCase – TeamCity – HTTP Response Code 12004

December 30th, 2007

Just in case anyone else sees this. At work I’m switching over from Bamboo to TeamCity for continuous integration. This means, because of the available machines more than anything else, changing from running the builds on a linux vm to using a Windows one. I was able to run the build process with no problem when logged on to the box but the TeamCity build was failing when it got to the GWTTestCase based tests. A response code of 12004 was being returned from the first ajax call made to the server. This was because the build agent was being run as “nt authority/local system” user which has very restricted network access. Changing to a regular user with network access solved the problem.

Jack & Adam’s Bicycles – Austin Texas

December 8th, 2007

Just a post to say Jack & Adam’s is a great store and if you’re looking for a road or tri bike in Austin you should pay them a visit. I bought my bike, a Felt F75, from them last year. That experience was great, they’ve done a great job on the maintenance since, and they organize events like The Rookie Triathlon, and Jack’s Generic Triathlon which are both well organized and fun. All in all excellent. I suppose you could say I’m one of those satisfied customers you read about from time to time.

GWTTestCase – OS X Leopard – Issue 1792

December 1st, 2007

When Apple release Leopard it broke GWT hosted mode and GWTTestCase execution. There’s an issue, 1792, against the google web toolkit that includes a comment with a link to a new GWT download that fixes the hosted mode issues. However, this doesn’t fix the problem with GWTTestCase execution. When I tried to execute a test case I got javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found, one of the same errors reported as an initial problem with hosted mode. I found a workaround for the problem but it involves modifying the GWTTestCase class. Unfortunately it’s not possible to override the method that has to be changed, public final void run(TestResult result), because it’s been declared as final, so a modified version must be substituted into gwt-user.jar. I can see no good reason why the method must be final and there is no comment in the code that provides any explanation. The change itself is really simple, just call BootStrapPlatform.setSystemProperties(), at the beginning of the method. setSystemProperties sets the context class loader for the current thread, which is all that’s needed to solve the class loader problem.