Skip to main content

John Ferguson Smart

John is a freelance consultant specialising in Enterprise Java, Web Development, and Open Source technologies, currently based in Wellington, New Zealand. Well known in the Java community for his many published articles, John helps organisations to optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes. John is principal consultant at Wakaleo Consulting, a company that provides consulting, training and mentoring services in Enterprise Java and Agile Development.


johnsmart's blog

Kickass Hudson Plugins - part 1 - Setenv and the Description Setter

Posted by johnsmart on October 6, 2009 at 8:51 PM PDT

One of the awesome things about Hudson is the sheer number of plugins available. In fact, if you use Hudson, make a habit of checking out the list of available plugins every month or so - there's bound to be something new that you could use! In this article, I explore two relatively new ones: the Setenv plugin and the Description Setter plugin.

Wellington Coding Dojo scheduled for October 28

Posted by johnsmart on October 6, 2009 at 3:38 AM PDT

The first session of the Wellington Coding Dojo will be held October 28, at 5:15pm. Thanks to the Wellington Java Users Group for helping to organize this session. The exact location will be announced shortly.

A Coding Dojo is a place where programmers come to improve their skills, by following a pattern similar to the martial arts dojo.

Reminder: Java Power Tools Bootcamps in Sydney and Wellington coming up soon!

Posted by johnsmart on September 29, 2009 at 4:54 PM PDT

Just a reminder about the Java Power Tools Bootcamp sessions coming up in Sydney and Wellington.

Working with temporary files in JUnit 4.7

Posted by johnsmart on September 29, 2009 at 11:54 AM PDT

Another handy feature in JUnit 4.7 is the TemporaryFolder @Rule. Using this rule, JUnit will create a temporary folder before your test, and delete it afterwards, whether the test passes or fails. This comes in very handy for tests involving file manipulation of any sort.

Testing Exceptions in JUnit 4.7

Posted by johnsmart on September 27, 2009 at 1:56 PM PDT

JUnit 4.7 introduced a few features that make it a little easier to work with exceptions. JUnit 4 introduced the expected parameter, which makes a test succeed if and only if a certain exception is thrown. For example, in the following code sample, we are testing a UserManager class.

New Training Course in TDD and advanced Java testing techniques

Posted by johnsmart on September 23, 2009 at 4:51 PM PDT

Wakaleo Consulting is pleased to announce a new training course focusing on Agile Testing Practices for Java developers.

New features on the Wakaleo website

Posted by johnsmart on September 20, 2009 at 5:24 PM PDT

I just wanted to announce some new features that have just gone live on the website. In particular, there is now a brand-new blog section on the Wakaleo website: All my blog entries will still be posted to But I wanted to make it easier for people to access material that I'd written.

Java Coding Dojo in Sydney and Wellington in October

Posted by johnsmart on September 17, 2009 at 3:08 PM PDT

While I am in Sydney for the next Sydney Java Power Tools Bootcamp, I will be running a Java Coding Dojo, to be held in the Atlassian offices between 5:30 and 7:00pm on the 21st of October.

EasyB/JDave talk available as a podcast

Posted by johnsmart on September 16, 2009 at 11:43 AM PDT

Last week I had the pleasure of being invited to talk at the Canberra Java Users Group about BDD using Easyb and JDave, using the talk that Lasse Koskela and I gave at Agile2009:

Upcoming Java Power Tools Bootcamps in Sydney, Wellington, London and Paris - Don't miss out!

Posted by johnsmart on September 14, 2009 at 9:45 PM PDT

All true craftsmen need the best tools

Java Power Tools Bootcamp sessions are coming up fast in Sy