Archives / Search ›

Looks like the prerelease Xcode is rather crash-prone and flaky. The ideas are still great, though, and I'm confident they'll have everything sorted out by the time it ships.

Tonight, after a goodbye dinner for some married graduate student friends who are heading back to Seattle after their respective degree completions, I cleaned up and sorted out photos and screenshots from MacHack. Most of the interesting images are from our trips to and from the conference, the product of several hours of boredom and cars full of gadgets. The gallery is now available for your viewing pleasure.

Fellow attendee-from-Illinois John Marriott has some comments on his first MacHack and the WWDC keynote.

Some people have pointed out I neglected to even mention this year's hack. Avi Drissman and I wrote EdgeWarp, an extension to osx2x which makes it into osx2osx and adds drag and drop between attached screen edges. We suffered from severe schedule constraints due to Avi's planning meetings—he's conference chair for next year's MacHack^H^H^H^H^H^H^HADHOC—so we didn't get as far on the hack as we wanted. It's got a way to go to be usable, so I hope someone picks up the code and makes it work better.

I just nuked some text above and had to retype it, because the final release version of Safari doesn't support even single undo in Web page edit fields. Yes, I should be using NetNewsWire to post this, but why why why why why, when you have Cocoa's fabulous NSTextView at your disposal, did the Safari folks do this?

The WWDC keynote was about what I expected, with the exception of the developer tool enhancements. Panther (Exposé! Faster threaded Mail! Better Finder and open and save dialog boxes!), Panther Server (Kerberos! Cyrus! Postfix!), and Xcode (everything!) look great. The G5 case design seems to be a step backwards in many ways—not that I'm in the market to buy one any time soon. iChat AV has half-hearted and confusing buddy group support, which I hope improves before release. We'll likely be buying a few iSight cameras before long, given my family's current geographic distribution (father in Boston, mother in Seattle, and me here in Illinois).

TN2087 has some interesting information in it, including a reference to Smeagol (the 970-compatible 10.2.x release) and a “Blah!” title that was somewhat amusing.

Lots of photos, screenshots, and discussions from MacHack are waiting to be uploaded. I'm leaving for Boston on Wednesday, not to return until mid-July, and want to make some progress on my research while I'm still here, so weblog updates may come sporadically.

Apparently I'm now syndicated at LiveJournal, through no effort of my own. (My guess is this was rugle's doing). If you're a LJ person, you may find it easier to follow my blog that way, I guess.

I've been seeing a great deal of flakiness with my desktop G4 over the past few weeks; it often crashes several times on startup, and recently coreservicesd has been acting up. Last night it decided to stop providing icons, and tonight it started using 100% CPU and locking up my Mac for a few minutes at a time. Each time the problem was solved by restarting, which was rather annoying: you shouldn't have to resort to this sort of problem resolution.

I've been working in the ACM office quite a bit recently, since it's nearly empty over the summer, and has newly installed lighting which is a lot easier on my eyes than the usual fluorescent stuff they have up in the Pablo lab. The ACM folks (primarily Ben, Chris and Don) have been working on an NFS to Kerberized AFS migration for a few weeks; it'll provide better flexibility, security, and speed than the current setup.

AFS is far from trivial to get running. We had no prior experience and four client platforms to support: OS X, Windows 2000/2003, Linux and Solaris. Several all-nighters later, we have two replacement KDCs and two AFS servers, all on obsolete machines (Sun Ultra 1s and HP Kayaks) the CS department donated to us. Linux and Windows clients are working, though Windows is running an older OpenAFS version which still needs to use Kerberos v4.

Coming back from dinner tonight, I decided to spend a few minutes trying to get OpenAFS working on OS X. Happily, a few minutes were all it took, given some instructions courtesy the University of Michigan and an aklog binary in addition to the base OpenAFS distribution. With Alexei Kosut's aklog Kerberos plugin installed, running kinit by itself is still problematic, though:

% kinit njriley
Kerberos Login:
Please enter the password for njriley\@ACM.UIUC.EDU: 
MacLeland: Couldn't get acm.uiuc.edu AFS tickets: Don't have Kerberos ticket-granting ticket
% aklog -d
Authenticating to cell acm.uiuc.edu (server afs1.internal.acm.uiuc.edu).
We've deduced that we need to authenticate to realm INTERNAL.ACM.UIUC.EDU.
Getting tickets: afs/acm.uiuc.edu\@INTERNAL.ACM.UIUC.EDU
Kerberos error code returned by get_cred: -1765328377
aklog: Couldn't get acm.uiuc.edu AFS tickets:
aklog: Server not found in Kerberos database while getting AFS tickets
% aklog -d acm.uiuc.edu -k ACM.UIUC.EDU
Authenticating to cell acm.uiuc.edu (server afs1.internal.acm.uiuc.edu).
We were told to authenticate to realm ACM.UIUC.EDU.
Getting tickets: afs/acm.uiuc.edu\@ACM.UIUC.EDU
About to resolve name njriley to id in cell acm.uiuc.edu.
Id 25170
Set username to AFS ID 25170
Setting tokens. AFS ID 25170 /  @ ACM.UIUC.EDU 

This is likely just a configuration problem which will go away when we move the AFS servers out from behind the firewall. Another possibility would be to reconfigure or recompile the aklog plugin to use the appropriate Kerberos realm.

Sleep, laundry (oops, no laundry, they're behind schedule and the laundry room is still being retiled), packing, and off to MacHack. I can't wait!

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.

Older Posts ›