Skip to main content

Pragmatic Project Automation

Posted by daniel on August 25, 2004 at 6:58 AM PDT

Provide yourself with the same advantages you provide for your customers

Mike Clark begins his book Pragmatic Project Automation with one of those obvious points: we spend most of our life as developers writing software and working with hardware to make end users' lives easier - why don't we spend a little time automating our own processes. Through a rich set of examples, Mike makes it look really easy.

So why don't most of us immediately automate the repetitive tasks in our lives? Many of us do - but there is an initial investment. We're sometimes so busy doing those redundant and mechanical tasks that we don't have the time to step back and automate them. It's kind of like not having the down payment for a house because of the monthly rent checks.

The process is pretty straightforward. Take a mundane task that you perform over and over and figure out how to capture that process in a script. For example, a build script ensures that you follow the same tasks in the same order. Now you can take advantage of this commanded automation by running the script. Once you have a script, you may want it run all by itself. There are two distinct types here. First, is scheduled automation. Maybe you want to do a full build and complete run of all of the tests every night. The second type is triggered automation that refers to scripts that are run when an event happens. For example, the build breaks and the team is sent an email.

This book makes a lot of sense. Thank you Mike for writing it and thanks to Dave and Andy for continuing to provide great books for developers. In
Also in Java Today
, we point to the Pragmatic Automation site which features a post by Mike Clark on Letting CVS Pull the Trigger and a follow up post from Dave Thomas. Clark shows you how to use the CVS pre commit and post commit hooks for triggered automation. The examples make it clear how easily you can tie automation to your every day activities working with version control. Thomas' follow up is about setting up an RSS feed so you can track who is doing what to your repository.

Jerome Moliere notes that "everything but a small part of the Eclipse code is a plugin." Since all of the provided functionality exists in the form of plugin, Eclipse itself provides a great roadmap of how to extend its functionality. Jerome explores this in Develop Your Own Plugins for Eclipse, Part 1, in which he shows how to get the simplest of plugins to appear in Eclipse.


Simon Brown asks Using Groovy? What are you using it for? in
today's Weblogs.
He begins his entry by explaining that he's "never been a big fan of scripting languages because I like what Java gives me as a developer - structure and flexibility while also being easy to write. Throw in a whole bunch of third party APIs and you can put together even fairly complex programs in a short amount of time. So why should I pick up something like Groovy?"

Max Goff says Forget Nip & Tuck -- Could There Be an RFID Implant in Your Future? He asks "Is the Idea of implanting a passive RFID tag inside your body something that raises your Orwellian fears? Do you get Biblical "End-of-Days" shivers? Or is it a good thing, a next logical step, an inevitable development in the teleological vector of technological triumph?"


Inconsistencies in naming have come up again in today's Forums. Crosseye writes " An Iterator is not a property of a List. In fact a case could be made that the collection is in fact a property of the Iterator. If you call the method twice, you will get two distinct objects, that most likely won't even compare as equal(). I think that iterator() is a reasonable shorthand for the cumbersome createAndReturnANewIterator()."

When it comes to documenting thread safety, threadweaver writes "I use a marker interface called Flyweight to signify that an object implements the Flyweight[GoF] design pattern. It might also be helpful to have a method in an interface that returns the level of thread safety for a class."

What about idioms? Johnm writes "The case of things like string concatenation for debug statements is an interesting segue into the notion of idioms. The creation and use of idioms are where knowledge can be pushed down into the fingers (as it were) so that the benefits need not take up much time and basically no cognitive energy."


In Projects and Communities, Inca X announces the availability of its JavaSpaces Starter Edition. This free download includes GigaSpaces, Blitz, and more than 20 JavaSpaces examples, all configured and ready to run.

The NetBeans Community has released the 4.0 Beta 1 version of the Integrated Development Environment (IDE). Download the beta for Windows, Linux, the Solaris(tm) Operating System or Mac OS X.


In today's java.net News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using
our news submission
form
. All submissions go through an editorial review before being posted to the site. You can also subscribe to
thejava.net
News RSS feed
.


Current and upcoming
Java Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the
Java
Today RSS feed
. Also, once this page
is no longer featured as the front page of
java.net
it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.