Wednesday, November 05, 2003
concorde pictures

My wife took pictures, you can look at them at http://pix.namshub.org/concorde/

Note that this machine is connected via asymmetric DSL, so your browsing may be a little slow. The couple pictured in two of the photos are very good friends of the family, the woman by herself is my lovely wife Kendra.

I'm really going to regret not being there.

6:49:20 PM    comments ()  trackback []  

it's here

In a stunning display of irony, Concorde landed at Boeing Field 45 minutes early.

The first picture I have found of the landing is here.

My wife was there, she got some video (unfortunately I have no way of digitizing it), and she said it was amusing watching all of the television media struggling to get the shot.

I regret not being there.

3:47:30 PM    comments ()  trackback []  

concorde thoughts

I've been pondering why Concorde affects me like it does.

It finally came to me -- Concorde is a dream made manifest. To a lesser extent, all technology are dreams made manifest. One or more people have to convince themselves that it is possible to achieve, and then they have to execute on the idea.

This is what is so addictive about programming. We conceive of an idea, and then we work at making it happen. Sometimes the desire and drive to make it real fizzle out, and other times the dream comes alive. And that's the most satisfying thing I can come up with.

When Concorde flies by and lands, the crowning achievement of an international cooperative of the best aeronautical engineers will come to live in Seattle. The irony of the situation has bee pointed out elsewhere -- it was the killing of the funding for an American SST that caused the major economic depression here in Seattle during the early to mid 1970's. In 2003, Seattle finally gets its SST.

And you can believe that I'll be driving by it tonight, trying to get a glimpse.

12:51:26 PM    comments ()  trackback []  

thinking about delegates (cocoa)

I've recently discovered the StartCocoa page over on the Letterror Wiki, and have come to the conclusion that this is a Very Good Thing.

One of the most thought provoking bits (and probably the most powerful lesson as to how to approach Cocoa) came from this statement: "Most of the Cocoa classes can be wrangled to do just about anything from their delegate, there is rarely a need to subclass something like NSTextView."

Someone somewhere else made the comment that people coming from Java or other OO languages have a tendancy to want to subclass things to extend their functionality. I'm certainly no stranger to that. My first thought when I'm going through a object hierarchy is "What can I build by subclassing that?" This comes from my first experiences with OO programming, before the ideas of aggregation and delegation became more prevalent.

Delegation is such a beautiful solution to the problem. It allows much more powerful modifications to an object's behavior, while providing a looser coupling to the system. When trying to extend by subclassing, it can be a challenge to figure out where functionality needs to be hooked to do the right thing, and if the original class was not design with a thought towards extension, you're going to end up copying a bunch of code,and probably getting it wrong the first few tries.

Doing delegation right means thinking about extendability from the beginning. And not many people do that sort of thing. But Cocoa seems to provide delegate hooks for just about everything useful. You can modify the functionality of just about anything useful without breaking encapsulation.

If is difficult to explain the nuances of delegation, it's either obvious and wonderful, or it's not really obvious, and you wonder what the big fuss is. Kind of like OO in general. I remember going from "What's the big deal?" to "*click* Wow, this is cool!" It was after reading the Blue Book (now purple and missing the implementation section) for the third time that it actually clicked (I have to thank my good friend Richard Golding for that -- much of the really difficult and useful stuff that I learned in college was because Richard kept shoving books and papers under my nose and forcing me to read them).

Delegation is a useful idea to keep in your toolkit. I'm certainly going to start using it more.

11:18:44 AM    comments ()  trackback []  

quick notes

A series of quick notes:

  • I didn't get the hiptop OTA last night. Damn.

  • Apple added the NSController hierarchy to Panther, and it's stirred the nest up a little bit.

    Aaron Hillegass (of Big Nerd Ranch fame) posted a criticism of the system, but after further review posted a partial retraction of his criticisms. He's a class act.

  • More NSController stuff: I worked through the NSController tutorial online, at least the simple first part, and it's nice. I'm sure that if and when things get complex that things will be different, but my first impression is "Hey, cool!"

  • Today Concorde lands here. I hope BFI is having them land southbound... That would cause Concorde to do a pass in front of downtown Seattle before it touches down. That would take some of the sting out of not being able to be there.

  • Looks like the Python Global Interpreter Lock (GIL) is the topic of the week, with the Daily Python-URL pointing at a response to the article I pointed at yesterday.

    My take on this exchange is: "Do people really use MP boxes?" with the response: "Well, I do, and I wish the GIL didn't get in the way."

  • I'm wondering if MailEdit needs an update. It does what I want it to do, mostly, but I do have some ideas for further features, like being able to force a republish of your site.

  • Still pondering Python project idea. I'm also messing around with Movable Type, just to see what makes it tick. It's interesting, and its orientation towards CSS is enlightening.



9:33:01 AM    comments ()  trackback []