April 2005 Archives

Five Favorite API Features of Java 5.0

| 2 Comments

I have a new article up on O'Reilly's ONJava site. In it, I describe my favorite API (as opposed to language) features of Java 5.0. Not necessarily the ones that are most important or most useful, but the features that I think are coolest or most elegant. These include the Callable and Future interfaces of java.util.concurrent, and also java.util.regex.MatchResult. I've blogged about all of them here.

If you read the article all the way to the end, I also talk about a new language feature that I list as a favorite simply because it is utterly obscure.

Jude 0.99

| 5 Comments

Jude 0.99 is now available. Jude is my documentation browser software; it competes with both Sun's javadocs and my own book Java in a Nutshell, and is much easier to use than either of those alternatives.

This is a release candidate for Jude 1.0. If anyone reports showstopper bugs, I'll fix them. Otherwise, I'll soon release a 1.0 version

This is also, therefore, your last chance to buy Jude at its pre-release price.

New features in Jude 0.99 include:

  • Site licenses are supported. If you have evaluated a single-user license for Jude and are interested in a site license, contact me and I'll get you one you can try.
  • Jude now exists in 2 feature levels. Ordinary Jude is intended for developers who just want to browse the public API of existing libraries. "Jude Pro" is intended for developers who want to use Jude with the public API and internal implementation details of APIs they are developing themselves. Jude Pro allows you to view documentation for package-private types and for package and private members. It includes a "View Source Code" command to display the numbered and colorized source code for any type or member. And it can scan multiple releases of an API to determine which types and members were added (or deprecated) in which release. Contact me if you'd like to evaluate the Pro version of Jude.
  • The keyboard shortcut for full-text queries has been changed to Q (for query). This frees up the "S" key for the Jude Pro "View Source" command.
  • Jude's configuration file syntax and command-line options have changed. And its internal file format has also changed, which means that you will have to re-juice any APIs you have already juiced when you upgrade. This is explained in the new Jude Administrator's Guide, which has been separated out from the Jude User's Guide.
  • Various display changes, such as improved navigation links in page headers, automatic detection and grouping of factory methods, the ability to display a recursively complete set of cross references for any type, and the display of tips for new users.
.

Download Jude here.

Get an evaluation license here.

Swing Gripes

| 9 Comments

Joshua Marinacci, Swing hacker, and new Sun employee has asked Why don't you ship Swing apps? His post has generated a lot of comments in the last week, and since everyone loves to complain, I'll join the fray.

My Jude documentation browser software would be a Swing application rather than a web server if Swing had a decent HTML renderer. In fact, it might be a Swing application if JTextComponent and the whole architecture of the javax.swing.text and javax.swing.text.html packages weren't such a mess. (Josh is the lead developers for the open source Flying Saucer xhtml/css2 renderer project, so maybe he'll be able to improve the HTML situation with Swing.)

Other gripes with Swing, off the top of my head:

Books

Comprehensive coverage of Ruby 1.8 and 1.9

"The New Most Important Ruby Book"
Peter Cooper,
rubyinside.com

Completely updated for Ajax and Web 2.0

"A must-have reference"
Brendan Eich,
creator of JavaScript

The classic Java quick-reference