Forwarding Address: OS X

Thursday, October 30, 2003

A long time ago I had the idea that perhaps a little utility that stuck a menuitem in the menubar from which you could pop down the picture of your choice might be a handy thing to have. The other night I finally got around to building it. After spending far too much time on this, I present to you: Pictu: The Picture Menu. Discuss

Extended iCal rant from a timezone warrior

Apple's iCal has an unbelievably annoying, poorly thought-out system for handling timezone changes. Here's how it works: when you change the timezone of your system-clock, it adjusts all of your calendar items, so if you go from Pacific to Eastern time, you noon lunch appointment is "fixed" so that it shows up at 3PM -- the Eastern equivalent of 12PM Pacific.

What is the use-case for this? If I'm in San Francisco and I'm going to Toronto in a week and I make a 6PM dinner appointment with my brother and sister-in-law, should I enter it as a 3PM appointment, knowing that my computer will adjust this to 6PM when I land in Toronto and change my system clock? And if I do, how do I avoid double-booking myself when someone else asks me to have dinner at the same time and my calendar shows that 6PM isn't booked, that's fine?

In other words, why does Apple think I want to use Greenwich Mean Time, rather than my internal, subjective frame-of-reference, as my clock?

Now, Apple has updated iCal with a "switch timezones off" feature. Which doesn't work.

Here's how it doesn't work: Create an appointment with timezone "support" switched off. Make it from noon to 1PM. Now, go to your system clock and change your timezone to one hour back. The appointment will shift back by one hour. That's with timezone "support" switched off.

If you switch the "support" on and change timezones, iCal will ask you if you want to change the timezone "display" for your appointments. Answering "no" seems to solve the problem, as all of your events will stay localized for whatever timezone you were in when you created them. What's more, whenever you create an event, it gives you the option of specifying a timezone for it and adjusts it on your behalf -- so if you create a 12PM appointment while in EST and specify that its timezone is PST, iCal will move the event back to 9AM for you.

This stinks. For starters, that's all well and good when you and I make a lunch date for noon next week in New York, but it falls down when you call me back an hour later and ask me if we can make it brunch at 2PM -- now I have to go into iCal and work out that my noon-Eastern/9AM-Pacific appointment is really a 2PM-Eastern/11AM-Pacific appointment and, rather than simply bumping a noon appointment to 2PM, I need to subtract three and move a 9AM appointment to 11AM.

It gets worse, though: say you use the timezone "support" and just don't worry about the timezones. All start/stop times stay as you entered them, provided you keep on clicking "no" every time you change zones and iCal asks you if you want to update your display. So far so good. But woe betide you if you create an appointment with an alarm -- your 9AM alarm will ring a 6AM when you're on the west coast (if you created it while your clock was set Eastern), even though it will show up as a 9AM alarm in your calendar. There's a user-hostile design decision!

It gets even worse: Just wait until you synch iCal with your PalmOS device! Last night, I moved from Mountain to Central time. I adjusted the time-zone on my Clie and my Powerbook, but asked iCal to leave all my appointments in Mountain time. Then I made the mistake of synching my Clie: iSync decided that all the appointments in my Clie were an hour behind, and moved them up an hour -- including my wake-up alarm and the alarm for my 8:30AM conference call (Thanks, Apple!).

I have toyed with the idea of leaving my timezone set to GMT or some arbitrary value, and then spoofing my clock by manually setting it forward or back whenever I get off an airplane, but this royally screws up your email (which arrives at the remote end with bogus timestamps that indicates that it was sent hours in the past or the future, depending), and messes up any kind of incremental backup that uses change-dates to determine which version of a file to overwrite.

So, after all that whingeing, I have a solution of sorts. I used to use an app called "iCalTimeZoneFixer" that would automatically adjust your calendar items when you changed timezones, undoing the damage wrought by Apple's system. But with Panther and the new iCal, this doesn't work so good anymore: about 70% of the time, running iCalTimeZoneFixer deletes all the items in my calendar.

So this morning, while I was missing my phone call because my alarm hadn't gone off, I figured out a fix of sorts. It hinges on the fact that your iCal calendar file (which you'll find in ~/Library/Calendars/$CALENDARNAME.ics") is a flat text file, that you can edit with a text-editor like BBEdit.

1. Quit iCal, then make a copy of your calendar file. Open your calendar file in a text-editor (I used BBEdit)

2. Look for the string that denotes the city/timezone your calendar is localized to, i.e. "America/Chicago" or "America/San Francisco"

3. Go to System Preferences -> Date and Time -> Time Zone and use the map interface to find out the name of your desired timezone (i.e., if you're in America/San Francisco on your way to America/Denver, America/Denver is your desired timezone)

4. Search-and-replace the existing timezone string with your desired timezone and save

5. Start iCal up again, then go back to System Peferences -> Date and Time -> Time Zone and change your timezone. iCal will "adjust" your calendar and you'll find yourself looking at the correct times again

There you have it: using a text-editor and search-and-replace, you can undo the stupidest feature I've ever seen in a calendar app. Discuss

Monday, October 27, 2003

Using GNU Privacy Guard with just got a lot better. With the OS X 10.3 upgrade that has rocked a lot of worlds, the nice folks behind GPGMail updated their plugin, which is really just a nice go-between for and GPG. The GUI integration has taken a big step forward in this new version, with my wish for a way to select which key you want to encrypt/sign with being granted. If you need to use GPG with, there is no living without GPGMail.

Tuesday, October 21, 2003

As part of moving to my new laptop I've also decided to give a try and so far it's going well except for two things I've been unable to figure out how to do:
1. Mark all the unread messages in a folder (err mailbox) as Read.
2. Create rules to filter outgoing messages.

Someone fill me in? Discuss

I gotta say though: thread colouring is excellent and the spam filtering seems to be working really well, despite other reports I've read to the contrary.

Monday, October 20, 2003

Sidetrack: a replacement driver for your laptop trackpad that provides pseudo-scrollwheel support. Pretty cool!

Wednesday, October 08, 2003

So, I'm not planning on Pantherizing until I buy my replacement iBook, probably February or March of next year. (This is on the assumption that they announce them a the beginning of January at MacWorldExpo, start shipping them soon thereafter, then get the new hardware bugs worked out over the course of a month.) But I'm sure some of the other folks on this blog have the final version and are using it.

Is it worth upgrading now instead of waiting four months? Will I be able to have a Panther machine and a Jaguar machine (this one, which will become a backup) without going crazy?

Monday, October 06, 2003

the one thing i truely miss from my linux environments is a good pager -- with the resolution on my tibook being so low (comparatively), i just get completely fed up with trying to jam itunes, emacs, safari, ichat, and a billion other things onto my screen (i am a compulsive non-minimizer). i grabbed desktop manager from sourceforge, and now i can't live without it.

i have four desktops setup, with command-option-left and command-option-right for me to move through them all. i have a coding window (also where ichat sits), a music and entertainment window, a webbrowsing and rss window, and one spare one. its either going to make me more productive, or cause me to have 4x the clutter. we'll see.

Sunday, October 05, 2003

Brad Oliver, long time Mac developer, rants about the sorry states of Mac installers and third-party Mac tools. I have to agree on the Mac installers front. If all you're doing is making a Cocoa app to distribute via a dmg file, you're fine. If you need to install kernel extensions, etc, you're going to have a miserable time of it.