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

Behavior Driven Development - putting testing into perspective

Posted by johnsmart on February 19, 2008 at 12:26 AM PST

The ultimate aim of writing software is to produce a product that satisfies the end user and the project sponsor (sometimes they are the same, sometimes they are different). How can we make sure testing helps us obtain these goals in a cost-efficient manner?

Java Power Tools: where it's at

Posted by johnsmart on February 13, 2008 at 5:29 PM PST

It's been a while since I've given any updates on the status of the Java Power Tools book. So, here goes. The actual writing is done. Over the last couple of months, Java Power Tools has been proofread and typeset, getting it ready to go to print. Estimated release date is mid March.

Reflections on SCM Branching strategies

Posted by johnsmart on February 13, 2008 at 12:37 PM PST

Traditionally, in both CVS and Subversion, if you want to merge some changes from a branch back into the trunk, you need to specify the changes you want to apply. As in "I want to merge the changes made between revision 157 to and revision 189 on branch B back into the trunk". In Subversion 1.5 (which isn't out yet), you just say "Merge the changes from branch B back into the trunk".

Unit testing your Spring-MVC applications

Posted by johnsmart on February 3, 2008 at 7:15 PM PST

Spring-MVC might use the old MVC model rather than the more recent component-based approachs. It doesn't come with lots of AJAX-based components. It doesn't come with its own arcane tag library to learn - you have to content yourself to JSP/JSTL, Velocity, or FreeMarker. However, it is still a powerful and flexible (and fairly popular) choice as far as web frameworks go.

Merging and branching in Subversion 1.5

Posted by johnsmart on January 29, 2008 at 1:23 PM PST

The forthcoming version of Subversion (version 1.5) promises a few niceties, but the best of the lot will be the long-awaited merge tracking feature.

JUG Talk: Tools that can optimize your development process

Posted by johnsmart on October 23, 2007 at 4:15 PM PDT

Last week, I did a presentation for the Java Users Group of Wellington, New Zealand. The meeting went well, with standing-room-only attendance - the Java developers of Wellington are a great bunch!

The Java Power Tools is almost finished!

Posted by johnsmart on October 8, 2007 at 2:20 PM PDT

The Java Power Tools book is now nearing completion. It's currently being reviewed, and I have done some major reorganizing of the contents. All the important content is still there, and there is some cool extra stuff like a new chapter on the Hudson continuous integration tool. Review so far are very positive!

Spring MVC, Tiles and Jetty

Posted by johnsmart on July 10, 2007 at 2:53 PM PDT

This entry is a short note on an issue I found when using Spring MVC, Tiles and Jetty together. I couldn't find any mention of it on Google, so maybe it only happens on my machine (yeah right...). I've been working on a project using Spring MVC and Tiles. I've also been using the (relatively recent) <form> tags, which are cool.

Java Power Tools book - last call for contributors

Posted by johnsmart on June 20, 2007 at 3:21 PM PDT

There's still time to be part of Java Power Tools!

On the writing of adequate technical documentation

Posted by johnsmart on May 24, 2007 at 4:25 PM PDT

Some open source projects have excellent documentation (Spring and Hibernate come to mind). Some have none at all. Others are somewhere between the two extremes.