Java News from Wednesday, March 30, 2005

Cenqua has released FishEye 1.0, a $999 payware tool for viewing CVS activity. I've been using FishEye lately as part of my work with the Jaxen Project. As well as drawing graphs of activity, it lets you see who's committing what when to CVS, what individual committers have been up to, what's going on in different branches, what's happened to particular files, and so forth. It automatically wraps up tarballs and zip files of the current code base. FishEye's not essential, and I doubt I'd pay for it if Cenqua hadn't given Codehaus a free copy. XOM doesn't use it, and I haven't missed it there. However, it is a nice tool that's a definite improvement over standard CVS and ViewCVS.

I will note one problem with FishEye: its search interface is decidely non-RESTful and violates the web architecture in a major way. FishEye has a very sophisticated, very powerful SQL-like language for searching the repository. (Actually, that's another problem. The query language is more sophisticated than anyone is likely to actually use. Google and other web search engines have proven that people want smarter engines, not smarter languages.) Complex queries written in this powerful language are submitted via POST rather than GET. The result is that queries can't be bookmarked, e-mailed to people, linked to, or otherwise saved. At Software Development Expo a couple of weeks ago, one of the Cenqua folks told me all about some complicated new system they're inventing for a future release that will allow users to save their searches. Guys: you're doing way too much work here. Just switch from POST to GET, and the query saving comes for free. That's what bookmarks are for. Why reinvent the wheel? Let the browser do the work for you.

Sebastiano Vigna has released version 4.4.1 of fastUtil, a collection of type-specific Java maps and sets with a small memory footprint and faster access and insertion. The classes implement their standard counterpart interfaces such as java.util.Map and can be plugged into existing code. However, they also contain type-specific methods. For instance, the CharList class has not only the usual add(Object o) method but also an add(char c) method. Version 4.4.1 adds some extra methods and constructors. fastUtil is published under the GNU Lesser General Public License (LGPL).

JAPISoft has released JSyntaxColor 1.2.8, a €159 Java library for coloring user text input in real time. JSyntaxColor provides samples for Java, SQL, and Formula syntax, and can be customized for other languages. This is a bug fix release.