Friday, August 8, 2003


While reviewing my site's statistics on SiteMeter, I noticed this banner add:

Being Left Behind shouldn't be that bad if it will mean being left in a world free of the small-minded, mean-spirited Christians who go for this.

I wish I could express how far I think this is from God's plan, but I am at a loss.
comment []  trackback []  5:21:27 PM    


MultiJava is an open project to add open classes and symmetric multiple dispatch to Java.

Open classes allow one to add to the set of methods that an existing class supports without creating distinct subclasses or editing existing code. Multiple dispatch, found in languages such as allows the method invoked by a message send to depend on the run-time classes of any subset of the argument objects.

In concert with AspectJ this would appear to add some very powerful capabilities to Java.

Of course Greenspun might argue that you should just use Lisp in the first place... ;-)

[Curiouser and curiouser!]

I'm going back through a queue of drafts in NetNewsWire, so this is a bit out of date. Nevertheless, I think it is interesting enough to post. I saw the poster for this project at OOPSLA in 2001, and I was really excited. The funny thing is that I wasn't excited by the multiple dispatch that gives MultiJava its name. Rather, it was the open classes that I find exciting. This ability to add new methods to existing classes was one of my favorite features of Objective-C. C# partial types sound a bit like this, but the implementation seems all wrong to me. What is great about Categories in Objective-C is that they allow you to extend binary code after the fact. Partial types in C# require that you use the partial keyword up front. LtU has a couple of threads (here and here) discussing this in more detail.
comment []  trackback []  11:50:37 AM    


Martin discusses something that drove me nuts on my last big software development project. The senior management team was completely enamored by "components". Consequently, they wanted a measure of how componentized our system was and how effectively we were producing components. I was asked on numerous occasions for component counts, as if there were an appropriate number of components. What I found most amazing was that the executive who asked for this the most was fond of telling the (probably apocryphal) story of Emperor Joseph II's telling Mozart that his compositions had "too many notes", yet he could not see the analogy to his analysis of our software. Even more staggering, though, was the fact that this same executive would proudly report on lines of code produced. This is all in 2002.

Martin discusses the belief that "if you can't measure it, you can't manage it", and I know that was what this executive was wrestling with. Thus, I particularly liked Martin's noting that there are plenty of other activities that are managed where productivity is similarly difficult to manage, e.g. legal departments, marketing, etc. I always find it instructive to consider analogies between software development and other activities, and I think that researching the management styles in these domains could be similarly instructive.
comment []  trackback []  11:19:18 AM    


We finally got a TiVo Series 2 a couple of days ago. We've had a Series 1 for several years and have loved it. I've been wanting the Series 2 and the $50 price break through the end of July pushed us to finally upgrade. I'm pretty happy with the purchase. I don't think I'd have bothered if I hadn't wanted the Home Media Option so much. I have to say I'm pretty pleased with that, too. It was easy to set up once the upgraded software was downloaded to my TiVo. (TiVo really needs to get the newest software out into the channel. I guess inventory delays that, but it makes for a bit of a disappointment when you have to wait.) I downloaded the TiVo Desktop for my Mac and started sharing music from iTunes and photos from iPhoto in no time. I really like being able to put photos on the TV so easily. I've attached my TiBook to the TV via S-Video, but this is much nicer. iTunes sharing is nice, as well, and I was surprised to find that TiVo will even stream continuous radio streams. I had the KCRW stream configured as a playlist and TiVo just picked it right up. Cool.
comment []  trackback []  9:42:23 AM