27 October 2007

24 Hours with Leopard

I managed to download (as a developer) Mac OS X 10.5 yesterday. I’d looked at it while it was in development, but I’d never used it as my primary operating system. Here’s some impressions after the first day.

I was impressed at how well my custom settings were retained (I did an Archive and Install), including the login window. And all my widgets were still there when I pressed F12 (a good thing, since I don’t think there’s any other way to see the stickies!

Pretty much everything just works. Even odd stuff like VPN (via Tunnelblick). The only real problem I had was RSS not working in Safari or Mail. I ended up deleting a couple of Syndication-related folders and logged out. Things then worked.

It’s a bit odd when the external hard disk spins up to do a Time Machine backup. I haven’t had occasion to use Time Machine in the last day, but it does look like it behaves as advertised (which I was never able to be sure of in beta). I rather like the custom disk icon. My external disk had been partitioned inefficiently for use with Time Machine (I’d earlier used it as a temporary startup disk when Elise’s PowerBook drive failed), so I’ll be trying to repartition it with Disk Utility. This looks like it may be possible, but it’s not quite as simple as I’d hoped.

I really like how Apple changed the Print dialog. 2-sided printing is now instantly available (my Brother HL-5250DN duplexes), and application-specific options (like Opal’s choice of what to print) is in the default dialog (instead of buried behind a popup).

Quick Look was far more useful than I’d expected, once I was using real data. It was super easy to look at the first page of a bunch of downloaded files and see what they were so I could organize them.

I would have hated the new Dock appearance, except that I’d already executed the Terminal command 
defaults write com.apple.dock no-glass -boolean YES 
which makes it non-reflective. (This was one of those custom settings I referred to.) I rather like the new look, with the bright lights under (unlike the blue light which blends into the reflection in the official look).
 
I’m still not sure about Spaces. I like setting up a separate workspace for development, though switching between spaces still seems a bit flaky (it didn’t work at all this morning, but then began working again).
 
And Coverflow in Finder still seems gratuitous. Maybe it’ll be useful. I did notice that one of my image folders has a number of black images with transparent backgrounds — these don’t show up at all in Coverflow!
 
It was a pain that fanned stacks (in the Dock) are limited to 10 items — this is the best way to use them as replacements for the old hierarchical menus. And stacks don’t work as well with Dock zooming (since they may appear, and then move when you aim for them.) Still, setting the Download folder to sort by date added should be useful.
 
So after a day, it’s obvious that Leopard isn’t perfect. Many of the aesthetic complaints are justified. But it seems like a solid and reliable upgrade, and I can’t wait to start taking advantage of some of the new features for developers.
 
And as a developer, the release of Xcode 3.0 was perhaps as important. There are a lot of improvements here that I’ve been waiting for. I’d already booted into a prerelease Leopard so I could use Instruments (née Xray), and the SCM improvements are welcome.

23 October 2007

Gmail has IMAP

Apparently you can now enable IMAP for your Gmail account! This makes it a lot more suitable for use on an iPhone (as an IMAP client essentially mirrors the server, rather than extracting the messages).

The one drawback seems to be that if a message is assigned multiple labels in Gmail, it ends up in multiple folders in your IMAP client — taking up extra disk space on your hard drive (or flash memory in the case of iPhone). I think I’ll be removing a label or two…

Enable IMAP under Settings, then follow the directions for your client. (I set it up in Apple Mail, then synched to my iPhone. It seemed to default to SSL, which didn’t quite match the instructions, but was what I wanted.)

21 October 2007

Resume Advice

I hope to be hiring soon (for a game developer at GameHouse), so I hope people have read this advice from Steve Yegge.

(By the way, I know the word is “résumé,” but the weblog software doesn’t do a good job with non-ASCII titles.)

09 October 2007

Opal On Sale at MacUpdate

For one day only (10 October), Opal is available at half price — just $15.95! Visit MacUpdate for details. You’ll need to use their Buy link to get the discount, rather than purchasing from within Opal.

If you didn’t see this in time, you can still check MacUpdate. A 15% discount is available for another two weeks.

Factoring Code

Code factoring is something I work on with some of my developers. The basic idea is to reuse code whenever practical, so you don’t need to fix bugs in multiple places.

There was a nice comment about this in Worse Than Failure today, quoting Phil Haack: “Avoid premature generalization. ... The first time you notice something that might repeat, don’t generalize it. The second time the situation occurs, develop in a similar fashion — possibly even copy/paste — but don’t generalize yet. On the third time, look to generalize the approach.”

This seems like a pretty good guideline. I’ve certainly worked on projects that were far more general-purpose than they ever needed to be, and were thus harder to learn and maintain.