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

A new chapter of the 'Continuous Integration with Hudson' book is available.

Posted by johnsmart on July 13, 2010 at 10:12 PM PDT

A new draft chapter of the 'Continuous Integration with Hudson' book is now available online. This new chapter discusses automated testing with hudson, including unit, integration and performance testing.

Running JUnit tests in parallel with Maven

Posted by johnsmart on July 6, 2010 at 11:25 PM PDT

A little-known but very useful feature slipped into JUnit 4 and recent versions of the Maven Surefire Plugin: support for parallel testing. This feature has been around for a while in TestNG, but has been missing in JUnit. And now, if you are a JUnit user, you too can run your tests in parallel!

Talking in London: Zen and the art of build script maintenance

Posted by johnsmart on June 28, 2010 at 11:07 PM PDT

Next week (on July 8) I'll be giving a talk in London for the folks at Skills Matter, on the much-neglected topic of build script maintenance:

A new Java Power Tools Newsletter is out - 10 build script bad smells!

Posted by johnsmart on June 16, 2010 at 3:33 AM PDT
 

A new Java Power Tools Newsletter is out!

Don't Just be a Java Developer - Become a Java Master Craftsman

Posted by johnsmart on June 9, 2010 at 12:52 AM PDT

Become a Master Craftsman in the art of Java Development. You know the language - learn to master the tools and techniques.

Starting a Hudson slave on a Unix machine without SSH

Posted by johnsmart on June 2, 2010 at 12:52 PM PDT

One great feature about Hudson is the support for distributed builds. Distributed builds can be used to absorb load or for specialized build jobs such as system or functional testing or automated deployments. In this article, we look at a special case - what happens when you need to start a Unix Hudson slave from the slave machine itself.

Running Hudson behind an Apache Server: a primer

Posted by johnsmart on May 31, 2010 at 11:59 AM PDT

If you are running Hudson in a Unix environment, you may want to hide it behind an Apache HTTP
server in order to harmonize the server URLs and simplify maintenance and access. This way, users
can access the Hudson server using a URL like http://myserver.myorg.com/hudson rather than http://myserver.myorg.com:8081.

A new Java Power Tools Newsletter is available: the Art of Writing Maintainable Selenium Scripts

Posted by johnsmart on May 9, 2010 at 8:10 PM PDT

Selenium is a popular web testing framework, that works well for both regression tests and acceptance tests. It works well almost all web applications, even those using complex AJAX-based user interfaces. However, writing maintainable Selenium scripts is harder than it looks, and in the real world these test scripts often fall into disuse as they become less and less maintainable.

"Real Developers Don't Need Unit Tests"

Posted by johnsmart on May 9, 2010 at 8:02 PM PDT

Recently I had the pleasure of giving a talk at the Canberra Java Users Groupon the topic 'Real Developers Don't Need Unit Te

A new chapter of the 'Continuous Integration with Hudson' book is available

Posted by johnsmart on May 4, 2010 at 2:00 AM PDT

 A new draft chapter of the 'Continuous Integration with Hudson' book is now available