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

How can you improve, harmonize and automate your development process using tools like Maven, Hudson, and Nexus? This presentation is a high-level overview of Java software development process...

Build Server Information radiators are an excellent, easy-to-implement way of getting people to pay attention to broken builds. But it pays to tailor them to your exact needs. This article is a...

I recently gave a talk at SkillsMatter about Acceptance-Test Driven Development in general, and using easyb for...

I will be in London next week, talking about "...

We will be running the next Wellington Coding Dojo on February 2, 2010 - thanks again to the Wellington Java Users Group for helping to organize this session. The session will be...

(With apologies to Flight of the Conchords)

I'm thrilled to announce that I will be speaking at Scrum 2010 this March in Auckland, Wellington and Christchurch.

"No matter whether you are just adopting Maven and Nexus in your development infrastructure or...

We are finalizing plans for the Java Power Tools Bootcamps and TDD training sessions for the first half of 2010.

Maven seems to be one of those topics that brings out passion in many...

Maven seems to be one of those topics that brings out passion in many developers....

There are several Maven repository managers on the market, but the two most prominent and most powerful are without doubt Nexus and...

Cargo is a versatile library that lets you manage, and deploy applications to, a variety of application servers. In this article, we look at how to use...

As the year draws to a close, I wanted to give everyone a heads-up about some of the Wakaleo training sessions already lined up for 2010.

Come take a quick, guided tour of Test-Driven Development practices! The following presentation is a module from the '...

One nice feature in JUnit 4 is that of Parameterized Tests, which let you do data-driven testing in JUnit with a minimum of fuss. It's easy enough, and very useful, to set up basic data-driven...

Test-Driven Development, or TDD, is often quoted as an essential Agile best practice, and so it is. It works wonders on green-fields projects and new code bases where you can start afresh and...

Last time, I introduced some of the new Groovy support available in...

In this edition of the...

Earlier on this week, we held the first ever ...

Maven 3 is promising to be the most significant upgrade since the release of Maven 2. While maintaining backward compatibility with existing Maven 2 projects, it introduces a number of powerful...

A good build script should be self-contained, self-booting and portable. You should be able to check it out of source control and run it. No buts. Period. The rules (or tips) that follow should...

I am thrilled to announce that I will be running the 'Testing and TDD for Java Developers' workshop in Melbourne on...

One of the great things about Hudson is not in Hudson itself, but in its rich library of plugins, covering everything from code quality metrics to VMWare and Amazon EC2 integration! But there are...

I've had a lot of enquiries about running the new 'Testing and TDD for Java Developers' course in Sydney, and now we have an official date: I will be running this course in Sydney on...