April 16, 2008

First impressions of OSX 10.5 Leopard and Time Capsule

A while ago I bought a 500GB Time Capsule and Leopard at work to use as a backup solution. It took me a while to find the time, but I had a lot of papers to read recently so I installed Leopard and set up the Time Capsule while reading the papers.

First off, I'm really impressed with Time Capsule. It costs only a bit more than an external hard drive, but had a Gigabit Ethernet 3-port switch and 802.11n wireless. It feels very solid, is small, and is very, very quiet. I have an external IO Data 500GB hard drive right next to the Time Capsule, and it just drowns it out. Even after turning off that drive, I had a hard time hearing the Time Capsule. I'm really shocked at how quiet it is.

Setting the Time Capsule up was really simple, Zero Conf is just great for getting things on a network and making it easy to find them. Since we've got wireless at work I turned off the wireless interface, and just used it to extend the wired connection I already had. Once I set up Leopard on my machine, I started the Time Machine backup, and I have to say again that I am really impressed with how quiet the drive is: I had to listen pretty hard to hear the write noise. I was using ethernet plugged into the Time Capsule for the backup, so I was surprised that I was only getting about 10 MB/sec (sometimes up to 12) to the drive, which surprised me. The Gig-E connection should be able to support 125 MB/sec. Well, not really of course, but 10 MB/sec is an order of magnitude less than I expected!

Interestingly, the 802.11n interface should typically get (according to Wikipedia, so who knows if this is true) about 9.25 MB/sec, or about what I was seeing with the ethernet connection! Wow. Now I want to get one of those Time Capsules at home...

I'm very, very impressed with Time Machine. I haven't played with going back in time for the recovery stuff yet, but it looks like it will be great. I had been using an rsync-based backup solution that would use hard links to not duplicate files that have changed, but there are some problems with that solution. It works very nicely, but every four hours I run the backup script, and for about ten minutes the hard disk thrashes madly as rsync runs down the file tree looking for new files. I had it in a cron job, and nice'd the process so the machine is still totally usable, but there is a noticeable drop in performance, and sometimes you get the dreaded beach-ball while it thinks about file operations.

Time Machine uses a very similar approach, but Apple does some other magic that lets them link directories (not possible with standard Unix tricks as far as I know) and more importantly uses a DBUS-style notification system that tracks file operations, and keeps a list of things that have changed since the last backup. It doesn't have to check the whole file system for changes, it just has a list of things that have changed. The backup is impressively fast. I'm really impressed with how easy it all comes together: this is a consumer solution. There are no real drawbacks: the backup is so fast you wouldn't notice it happening (after the initial full backup) and the drive is so quiet that you can just forget it.

That's all I have to say about that. There are some other things about Leopard that I've noticed that I like:

- The "Spotlight" window is now a real finder window and you can use exposé to find it. In Tiger if you are in finder and do a "show application windows" the Spotlight window does not exist!

- Spotlight is a bit faster now for launching applications, which I use all the time.

- I like the coverflow view for windows much more than I expected. Being able to see large views of PDFs makes it really nice to look for a paper. It also helps recognizing Word and Excel documents quickly much more than I expected it would.

- They fixed the annoying "yellow cursor bug" in the X11 server. Yay!

Here are some annoyances:

- Mail.app again defaults to sending Japanese email in UTF-8. Generally, I think this is a good idea, but for some reason if email isn't in ISO-2022-JP for Japanese a lot of mail clients turn it into gibberish (mojibake). What really surprised me is that this happened with someone on Windows Vista - I don't know what client he uses, but if you are on Vista shouldn't your email client be able to read the headers and use UTF-8? Most mobile phones can only accept ISO-2022-JP, but I would think big computers could deal with it fine. By the way, to set the default encoding for Mail.app, you can enter "defaults write com.apple.mail NSPreferredMailCharset "ISO-2022-JP"" in a Terminal window. I vaguely remember having to do something like this on Tiger as well.

- I don't know if they fixed this, but at one point after a recent Security update in Tiger, all text pasted into Mail.app lost carriage returns. It was awful. There are ways to work around it (paste into Text Edit first, make rich text, paste into Mail.app, then make it plain text again) and so on, but that is annoying. I'm sure I'll notice this pretty quickly because I'm always pasting text into email. But I haven't noticed it yet. (I hope it is fixed.)


Provide your email address when commenting and Gravatar will provide general portable avatars, and if you haven't signed up with them, a cute procedural avatar with their implementation of Shamus Young's Wavatars.

Re: First impressions of OSX 10.5 Leopard and Time Capsule
One other thing they fixed that had really been bothering me: If you use the option-command-+ (and related option-command--) sequence to zoom in the screen to read tiny type on pictures or whatever, if you have a second monitor plugged in the screen would snap to the bottom of the viewport and stay there. It was still magnified, but I could only move left or right at the very bottom of the merged desktop. That was very annoying, making the feature more or less useless, but now it works as expected and I can zoom in anywhere and move around. Very useful.

A major, major bummer though: one of the Java Swing programs that I use is horrendously slow. I can watch the windows paint themselves in. It is so slow that it is unusable. Strangely, this also happened on a windows machine! There has been no change in the program itself, just suddenly it because excruciatingly slow when doing graphics operations. On Windows I was able to "fix" it by downloading the latest Java release beta (1.6u10b14 I think) and things went back to normal.

I know that in Leopard Apple switch to the Sun rending pipeline for graphics, and I suspect that is where the problem is. I would prefer to get my Swing apps working well in Leopard, or at least working as well as they were working in Tiger to running them on Windows. I think I can pass some arcane commands to the program in the Info.plist to have it select the old rendering engine, and see if that improves things, but it is really annoying to have to delve into these problems for something that was working just fine.

Also, I can't get JDiskReport to run under Leopard. I get some strange bus error system crashes.
Posted 12 years, 1 month ago by Fugu • @wwwReply
Switching back to the Quartz rendering engine fixes Swing performance on Leopard
Poking around looking into slow Java Swing performance on Leopard, I decided to try switching back to the Quartz rendering pipeline instead of the now-default Sun rendering pipeline. On my application that improved performance from completely unusable (I could watch the background of windows slowly filling in second by second) back to a completely normal and usable speed (limited by my PowerPC G4 1.67 GHz processor.)

In my case I added the call to the application's Info.plist (in the Java section):


Otherwise, it is also possible to set the value on the command line:

java -Dapple.awt.graphics.UseQuartz="true" applicationclass

and probably it will work to set as one of the early calls in your application's main class:

System.setProperty("apple.awt.graphics.UseQuartz", "true");

It is really disappointing to me that the Sun renderer performs so poorly on Leopard. It might only be my application - it is poorly coded since I'm the coder - but I'm not doing anything unusual in the program and it really shouldn't have such terrible performance. Still, nice to see that I can work-around it for now. I'm really hoping that Java 1.6 will show up on OSX with some nice improvements.
Posted 12 years, 1 month ago by Fugu • • wwwReply

Comments have now been turned off for this post