Archives / Search ›

I'm glad I'm not the only one suffering from severe allergies at the moment. Steven Frank writes about it as well. Friday I was quite sick and slept all day (unfortunately missing my only opportunity to meet with my advisor in a month); this weekend was a total write-off for me. Today has been a little better; I'm just leaving for Kuk Sool now, which should ensure I'll stay awake and focused this evening.

Less than two days from now I'll be leaving for MacHack. I'm looking forward to it; hopefully my allergies will be better by then. If anyone reading this sees me there, please say hi. There are six of us MacWarriors coming this year. In no particular order, they are Ellick, John, Josh, Ben, Frank, and me. Frank is leaving from St. Louis, Ellick will arrive a day late, and the rest of us are departing from Champaign on Wednesday.

I don't have any good hack ideas yet, other than some from last year which I passed over as too time-consuming. Guess I've got some time in the car to think it over…

Over the weekend I made some progress with the most-requested feature in ICeCoffEE: hiding services you don't use.

I noticed a Cocoa/Carbon inconsistency while I was working on keyboard equivalent display. Displaying keyboard equivalents isn't as easy as it might seem: compare the above screenshot to the “Set Menu Keys” dialog in BBEdit to see what happens when you naively right-justify keyboard equivalents. Cocoa interprets service keyboard equivalents differently from Carbon and the documentation.

Here's the Services menu in the Finder (Carbon):

and in OmniOutliner (Cocoa):

Note that the same keyboard equivalent appears twice in the Carbon Services menu (?). All services get a Command-Shift equivalent in Carbon apps, which matches even the Cocoa documentation, whereas the case of the NSKeyEquivalent “default” in Info.plist defines whether the shortcut requires the Shift key in Cocoa apps. I'm attempting to implement the Cocoa behavior in ICeCoffEE since it matches what the user will actually see, but it's not made any easier by the apparent random assignment when two services have the same NSKeyEquivalent.

I've got a number of bugs to work out, and a few small promised features to add for 1.4. The code changes required to upgrade to APE SDK 1.3 were minimal, but I should be able to improve ICeCoffEE's launch-time friendliness by using some of the new features in 1.3.

The Incredibles teaser shown before Finding Nemo is posted to Apple's site. No thanks to QuickTime Player for switching my screen resolution to 640×480; when I exited, I found my Terminal windows looking like this:





Didn't this work properly before?

I'm completely addicted to the Safari bookmark sync. Camino/Firebird could one-up Safari by implementing roaming profiles (not just bookmarks, but history and preferences) which work, using WebDAV.

The only issue I've noted in synchronized bookmarks is those which refer to the “Radio” Web server. On byron, the Radio bookmarks point to 127.0.0.1:5335, etc.; everywhere else, they reference byron.sabi.net:5335. This would not ordinarily be an annoyance, but for two related problems.

First, Radio's gone into a funk where it won't accept posted forms from any IP address but localhost. This happened once before, then it mysteriously went away. I need to figure out what's going on.

Second, Safari doesn't authenticate reliably to Radio. For some HTTP connections (usually graphics), I have to reenter my password. I don't notice this problem with Konqueror, so it's likely Safari rather than KHTML and friends at fault.

Despite the great temptation of always-synchronized bookmarks, I'm still using Camino on my PowerBook. I can't wait for third-party interfaces to iSync to become available, so I can get the benefits of seamless synchronization without needing to use Apple's iApps.

ICeCoffEE 1.3.3 released

Just released ICeCoffEE 1.3.3. As the 0.0.1 version number increment may indicate, there aren't any earth-shattering changes, but some useful refinements, bug fixes and minor new features. I haven't pushed the release out to MacUpdate because I need to sleep, so I'll do it in the morning.

I'm really feeling pressure to get the current stage of my research finished soon, not to mention it's actually getting rather interesting. So while I'd really like to get back to Pester, the most I'm likely to do in the near future is finish writing the man page for the release of launch 1.0.

Here's a rundown of the most interesting changes in ICeCoffEE 1.3.3:

Sven-S. Porst contributed some features I had been meaning to add myself for some time. The Services contextual submenu now follows the proper guidelines for contextual menus, in existence since Mac OS 8: inapplicable items are removed, not disabled. (The standard Cocoa NSTextView contextual menu flaunts this guideline, of course…) Submenus with a single enabled item are collapsed into their supermenus, and the Services item disappears completely if no services are available for the given context. He also added a German localization, and pointed out some issues with wording in the process. There's no better way to pinpoint where your writing is unclear at a microscopic level than for a translator to pore over its colloquialisms and idiosyncrasies.

Mac OS X 10.2's Terminal offers a lot of welcome improvements, but its drag-and-drop behavior is downright infuriating. Dragging selected text by only two pixels will duplicate it inside the window, causing chaos if I'm on IRC or using vi or some similar single-letter-sensitive app. It's akin to the accidental middle-button mouse click on X11, but even easier to accidentally trigger. ICeCoffEE 1.3.3 requires the option key be held down to duplicate text within a Terminal window, and fixes the option key's incorrect toggling behavior when dragging between Terminal windows (in violation of Apple's Aqua HIG). The only casualty is that self-drag target highlighting no longer works as well as it did, but I noted other problems with incorrect target highlighting, and most Cocoa apps don't even highlight the drag target in the first place (again, despite the HIG's admonitions to the contrary).

Some life-related comments for a change:

The weather here has been wonderful recently—almost eerily so. Tonight I and a few friends watched My Neighbor Totoro; the rain outside started and stopped exactly matching the first rainfall in the movie. I've become addicted in the past few weeks to sitting outside on the balcony in the late night or early morning, working on my PowerBook, listening to the sound of wind rustling the leaves of the trees a few feet from my balcony. I'd work outside more often if I had a faster network connection at home than my current modem—that will wait for my future roommate to move here in August.

To say my parents' recent life has been hectic is an understatement. They're finally finishing up renovations on their house in Boston, tending to their place in New Hampshire every weekend among the voracious biting insects, and have been up to their respective ears in work otherwise. My mother got back from visiting her mother in Australia a few days ago, then moves from Boston to Seattle this weekend to start a new job. She's in corporate housing for a month; once she finds a permanent place to live, I'll have to see about setting her up with a cable modem or DSL and possibly videoconferencing. I'm waking up in three hours to set up her PowerBook for a dialup connection in Washington. Then my parents leave to spend the day in New Hampshire, and return by 6 PM for my mother's cross-country flight.

(Update, 5 AM: they're not leaving after all; I can go back to sleep…)

‹ Newer Posts  •  Older Posts ›