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.

 

Articles

If you use Maven, or even if you just use Maven repositories for your dependency management, you should be using a Maven Repository Manager.
If you are a NetBeans user working with Maven, you're in luck with NetBeans 6.7.1! This latest release comes with a swathe of cool features to help you work with your Maven projects pretty much out-of-the-box.
Grails is an excellent, highly productive development framework that positively encourages good development and testing practices. This article shows how to set up a Continuous Integration build job to compile and test your Grails application in Hudson, for automated continuous integration.
Want to provide maps in your web application? The Google Maps API is straightforward to call from Java, and with an Ajax-ian approach, you can make it extra user-friendly. John Ferguson Smart shows you how to combine these approaches.
Jabber is a popular and widely supported XML-based API for exchanging instant messages. You could compose the messages by hand, but there's an alternative. John Ferguson Smart introduces the Smack API, which makes it easy to use Jabber services from Java.
Standards are so much easier to adhere to when your tools do it for you. Thanks to JAX-WS and its implementation in application servers like GlassFish, you can write web services as plain ol' Java objects, just by adding a few annotations. John Ferguson Smart shows how it's done.
The best way to integrate in a hurry is to have been doing it all along. This practice of continuous integration is greatly helped by automated tools to check out and build your team's code on a more or less constant basis. Apache Continuum offers a free and open source tool to do continuous...
Oftentimes, your new code replaces an older system whose data must be migrated to the new system. This isn't a process that gets a lot of thought, but John Ferguson Smart says it probably should. In this article, he shows how an iterative, test-driven approach can save you a lot of headaches...

Weblogs

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...

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...

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

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...

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...

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...

While I am in Sydney for the next Sydney Java Power Tools Bootcamp, I will be running a...

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 am absolutely thrilled to anounce that I will be talking at the Canberra JUG meeting next week (on Wednesday, September 9, to be exact), about BDD in...

Last week I gave a talk at the Agile 2009 conference about automating the deployment...

Behaviour-driven development is a great way to design and build the web layers of your application. In this article, I look at how to use JWebUnit, a fast and light-weight web testing framework,...

If you have ever used Maven to any extent, you will probably know about the settings.xml file. The settings.xml...


To the tune of 'Blowing in the wind', by Bob Dylan.

This (rather silly) text was inspired by a tweet...

sonar.png

Anyone who has read many of my blog entries or articles will know...

For a small-to-medium size company, it makes a lot of sense to externalize infrastructure code such as source code management, issue tracking, project wikis, and so on. All of these tools need...

As usual, JavaOne was a great networking opportunity, and I caught up with old friends, made new ones, and met up with people I had only ever known virtually. This year I was giving a session...

This year at JavaOne, I gave a talk entitled 'Getting Serious About Build Automation: Using
Maven in the Real World'. The talk summary is as follows:

Selenium is a widely-used and very useful tool for automated web testing. This article is a very short primer designed to get you up and running Selenium Tests in Groovy in your Maven projects....

In case you missed it, JavaOne is on next week. There are some great sessions as usual, and it should be a great opportunity for catching up with old and/or virtual friends, and networking in...