Thanks for your interesting Java examples. This is my first foray back into Java since it "died" on OS 8 several years ago.
I worked on a Unix project once a few years ago but have forgotten most of it; using Terminal brought back some of those old feelings! Quite a switch from the old MRJ Tools and Ant on OS 8.
About the only problems I had were in cutting and pasting the 1st example into BBEdit (it didn't like whatever occupied what should have been leading whitespace in some of the lines). And, of course a few typos of my own from then on.
I also got some javac errors when I tried compiling multiple programs independently, until I just used the form of ~NineSquares/*.java which automagically did its thing. I'm still a Mac OS X newbie and am starting over with Java and very surprised about not having to wrestle with packages and classpaths as I did on the older system. Perhaps that will come later?
The progression of refactorings was a lesson in itself. It was quite an insight, having been a mainframe procedural programmer for so many years (yeah, I'm still struggling with OOP concepts).
Anyway, thanks again. Great article. Whets my appetite to get back into Java in the future, especially on the OS X platform.