Mac OS 10.4 / Java 1.5.0

After all the hype, it's relatively unexciting. Spotlight seems pretty cool, but it'll be a while before I properly appreciate it. At the moment, I'm just thinking it's nice that Mail won't have to re-index my mailboxes each time I log in, which always seemed a bit stupid.

Dashboard seems rather awkward. The weather thing's pretty, but I think I'd rather give it Dock space and have it pop up a window for the forecast. The other widgets seem pretty useless; the wrong way of solving the problems they address.

I've waited since the late 1980s and reviews of the NeXT cubes for a decent dictionary, and now Mac OS 10.4 gives me three at once. There's a dashboard widget, an application, and a too-small pop-up available via control-command-D. The control-command-D one could be the most useful, but I think they might have broken it by making it a keyboard command that ignores the location of the insertion point and uses the mouse location instead. Unless there's a selection, in which case it'll use that. That's just annoying. If I want the word the mouse is pointing at, I can control-click and choose "Look Up in Dictionary" (or "Search in Google", which is a good idea). This, of course, is for NSTextView. Not JTextArea or your own home-grown text component. I'll have to work out how to fix that.

make(1) is now GNU make 3.80, grep(1) is GNU grep 2.5.1, Jikes is 1.22, and Ruby is 1.8.2, so that's all good. ctags(1) is still the emacs one, not Exuberant Ctags (though you need a few patches to make that work well with Ruby or 1.5 Java source, and the maintainer's indisposed). CVS (which I still have to use for other people's projects) is up to 1.11.18, but there doesn't seem to be Subversion other than my own copy in /usr/local.

The POSIX grantpt(3), ptsname(3), and unlockpt(3) functions are now available. That will let us remove a hack from Terminator. Spotlight doesn't know about man pages, though, so it only knows which of my source files use grantpt (which is something, I suppose).

A click on Activity Viewer's Dock icon now opens the "Activity Monitor" window (it's like top(1) using a real table), which is one of the things I complained about with 10.3. Interesting that it's so obviously the right behavior that I never stopped clicking on the icon in the expectation that the window would open.

Mail still doesn't have forward as attachment. There don't appear to be an improvements to the quoting/wrapping situation. Its new UI isn't all that ugly, but the fact that it's so different to everything else is jarring. What were they thinking?

iCal's birthday calendar works (though you have to enable it in the preferences), so I can junk my Ruby script and cron(1) job. I wonder if there's an API for it, or it's just a special-case hack?

Java 1.5.0 is more sensitive to when you set system properties. I've had to move the setting of apple.laf.useScreenMenuBar into static initializers, for example. On the bright side, the annoying pause before the menu items appeared when you switched to a Java application is gone. That's now as fast as a native application. The Swing UIDefaults are still very wrong.

jps(1) works, but jstack(1) is broken (missing classes).

The main application I use seems to perform about the same as with 1.4.2, but starts up a little slower.