Computers: May 2004 Archives

Tevanian Should Resign

| | Comments (0)
(With no apologies whatsoever to The Seattle Times.)

Computer executives are recruited and retained for their judgment and credibility. Apple's chief technology officer Avie Tevanian fails CEO Steve Jobs in both areas and should resign.

Tevanian's poor judgment in handling the scandalous security hole in Mac OS X's URL protocol handlers destroyed his credibility with stockholders and contributes to the erosion of Apple's standing among consumers.

Marketing director Phil Schiller acknowledged as much Friday. Schiller said Apple failed to recognize how important the bug report was. That failure goes beyond the single report to the image and values of Apple and its products.

Tevanian's departure would not be about appeasement of anti-Apple critics or a failure to manage public relations. Tevanian sits atop a chain of command that suffered a grievous breakdown in a key element of the troubled Mac OS X: focus on security.

These holes should have been all the more controlled because they are leftover from the "Classic" Mac OS. Everyone, from the employees in documentation to the highest echelons of the 1 Infinite Loop, was amazingly tone deaf to the troubling holes -- holes that were known as early as February.

Central to the way a computer company does business is its authority over -- and responsibility for -- software behavior. Condemning the exploits in the URL protocol handlers is specific to that place and time, and not a rebuke of Apple or Mac OS X itself.

But these holes carry a terrible price, and that is the effect they impose on Apple's employees, stockholders, and users. Too many others will face greater derision and deeper suspicion because of what happened.

Ultimately, the responsibility falls on the chief technology officer for those working for him. For the mishandling of this security hole in Mac OS X, Tevanian should resign.


| | Comments (0)
The Apple tech article about Newton being discontinued was just updated. The announcement was in 1998, the document was created in 1999. Now, over five years later, what about it needed to be updated, I wonder? I can't find an old version to check.

Mac-Glue-1.20 Released

| | Comments (0)
Mac-Glue-1.20 has been released. Download it from the CPAN or

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.20, Tuesday, May 19, 2004
   Added more robust handling of bundle ID targetting, including making it
   the default (requires Mac::AppleEvents::Simple 1.13); make SWITCH and
   launch() work with bundle ID targets.
   Allow creation of glues for non-scriptable apps (which can still
   support a limited vocabulary, such as open()).
   Create glues for Image and by default,
   in addition to System
   Allow use of glue events with names like Can, Obj, Prop, Launch, Version.
   Finally ported glueedit to Mac OS X, which allows modification of glues.

Posted using release by brian d foy.


| | Comments (0)
I bought a 17" iMac recently, and it came with Apple Pro Speakers, which are nice, but I have some 20-watt powered studio monitors, so I don't need them. And they don't really work with anything other than the iMac, and Power Mac G4.

I happened to notice Griffin has the iFire, which changes that. Basically, the speaker cable for the speakers sends both power and signal. The iFire combines the two, using a standard 1/8" stereo audio cable for the audio signal, and FireWire for the power. You can plug the audio cable into any audio source, and the FireWire cable into either the FireWire jack of your Mac, or the iPod power adapter.

So now I have a compact stereo system to travel with. I bring the iPod with me anyway, so I just add the two relatively small speakers, the iPod adapter, the iFire, and a couple of cables.

The one drawback is that I don't have readily available iPod power. I either need to make sure the iPod is powered up enough, or plug the iPod into its adapter and the iFire into my laptop (since I always travel with that too).
Mac-AppleEvents-Simple-1.13 has been released. Download it from the CPAN or

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.13, Tuesday, May 18, 2004
   Handle launching and $SWITCHing of applications by bundle ID
   (previously only worked for app signatures).

Posted using release by brian d foy.
You can use Apple's UI scripting with Mac::Glue.

Experienced users might notice that you need to set the target app to be frontmost, and the method used here is to use Mac::Glue, which you can't do with non-scriptable apps. This should be coming in a future version of Mac::Glue, but until then, you can use various other methods to set the frontmost app. And of course, this is still quite useful for many scriptable apps, since many scriptable apps don't have full scripting support.

use Mac::Glue;
my $app = new Mac::Glue 'System Events';
my $safari = new Mac::Glue 'Safari';
    menu_item       => 'Close Tab',
    menu            => 'File',
    menu_bar_item   => 'File',
    menu_bar        => 1,
    process         => 'Safari'

Also, you really should have the UI Element Inspector for this. I think it is included with Panther's dev tools, but I am not sure. Regardless, this is the important portion of its output, to create the above script:

<AXApplication: "Safari">
  <AXMenuBar: "">
  <AXMenuBarItem: "File">
   <AXMenu: "File">
    <AXMenuItem: "Close Tab">

Handmade Music

| | Comments (0)
I just started watching Handmade Music on the DIY network (Do It Yourself, which is available on DirecTV's "plus" programming package).

I thoroughly enjoyed the first three episodes, where luthier Lynn Dudenbostel constructed a replica of a Gibson F5 Mandolin from the 1920s. Next week they have a one-episode construction of a dulcimer. Then they will go back and show the episodes I missed, which I most want to see: Dudenbostel's creation of a 1920s Martin D-28 guitar, which is, incidentally, the guitar I want to get someday (I've got the much less expensive DX1, which is similar, but made of largely composite materials except for the spruce top). So I'm very much looking forward to seeing the rest of this 8-episode series, and I hope they make more.

The web site has a detailed overview, with pictures, of each step. Dudenbostel is an incredible craftsman.

More Wining

| | Comments (0)
It's time once again for my biannual reading of Dave Winer's web site, wherein I make note of something outrageous he says, to remind myself why I don't read his web site.

Normally I am brought to his site because someone else notes to me what he has said; this time, I went there of my own accord upon reading about Movable Type switching to a payware model.

You see, in 1998, Dave pulled the same basic bait-and-switch. UserLand Frontier was a freely available development environment (for lack of better term), and one day, Dave said, OK, if you want the new version, you're gonna have to pay for it.

Dave had every right to do it, and has every right -- nay, obligation -- to try to make money for his company. But users were understandably upset: people who came to rely on this software, who chose it in part because one of its features was being freely available, were now stuck with having to dish out money (starting at $900 for commercial sites), stick with the old version (with its warts) indefinitely, or change environments.

Heck, my own company, VA Software, did almost the same thing. SourceForge was GPL'd, and then it became commercial. The big difference with SourceForge is that you're free to take the last GPL'd codebase and do anything you want with it, whereas users couldn't develop their own forked version of Frontier. Some people might contend the best thing to ever happen to SourceForge was that it went commercial, as it became the basis of other projects, some of which are doing quite well. Nevertheless, many users were angry about the change.

I don't slam Dave for the decision to charge money, but for how he dealt with it: he attacked the users for their perfectly reasonable complaints. After all, he didn't promise it would remain free forever, and he has to put food in his mouth, and how dare you ask him to work for free! The problem is that no one asked Dave to work for free: he offered it. And then one day he changed his mind, and got angry with the people who expected things wouldn't change. Maybe changing the model was the right thing, but that doesn't mean there is anything wrong with complaining about it.

The only users I got angry with in the SourceForge fallout were those misrepresenting the facts about what the changes were (for example, some were complaining that the GPL'd version of the source was no longer available).

But expectations and feelings are only the superficial part of this story. The real story is simply in Dave trying to sell his software to people, and to do anything he can to convince them that they should buy, including impugning alternate software and distribution models.

Few things are as transparent as Dave Winer talking about free software. When he talks about things free software should do, it is because he wants people to write free code for him to use. When he talks about how software costs money, it is because he wants to convince people to give money to him.

Here's what he had to say about Movable Type:

2. Six Apart announced new pricing for Movable Type and hell breaks loose. The users are acting as children, saying somehow they didn't know that eventually Six Apart would charge for their software. I knew they were going to charge, why didn't you? I can say this because I'm not a customer (I do use their software, but I didn't pay for it) and I'm not them. But I've been where they are and it sucks. No one's perfect. If you use their software, you owe them some money. If you don't like the price, don't use it. Amazingly they're not asking for money if you use the new software in a limited form, or continue to use the old software. Users who can't get behind that are people we don't need to work with. Everything costs money. When you drive to the gas station, try whining at the attendant, and see how much gas you get. Do it enough and they'll call the cops.

3. This isn't really big news but what the heck. I got a very nice greeting yesterday from Lessig, who, while speaking was surprised to see me in the last row typing away into my blog. He said Dave! Are you blogging this? I said of course I am. And then he proceded to fall down. I said Larry don't hurt yourself. It was memorable. Lessig is a good guy. I gotta talk with him about what's going on with Movable Type. How can we help reset users' expectations so they understand that if they want good software, it might cost money? I wonder if Larry agrees.

(Emphasis mine.)

Did you catch all that?

First, predictably, he attacks the people who complain. He justifies it by saying they should have known, implying that all good free software becomes commercial software (after all, his did!). He makes his bias known right off the bat.

Then he says, "If you use their software, you owe them some money." I don't want to read too much into it, because Dave is not the best communicator in the world; the immediate context makes it sound like he is speaking only about the new software, but I wonder if maybe he means if you use their software at all, then you owe them money for their work, even if they gave it away for free. You should be grateful for the opportunity to pay them!

And then he says it is amazing they are not asking for money if you use the software in limited form, or if you continue to use the old software. This should be amazing to no one, as many companies have free versions of their software available, and it is nearly unheard-of to charge money for software previously released freely; it's only in Dave-world where no good software remains free, because, "everything costs money." Anyone who can't see that, "we" don't need to work with (who is this "we", kemosabe? It is yet another of his appeals to make his views sound far more universal than they are).

And then he comes back with the incredible statement: "How can we help reset users' expectations so they understand that if they want good software, it might cost money?" Who doesn't understand this, except for a small number of people who use only Free Software, who wouldn't have been using Movable Type to begin with, since it was not Free Software? Most users of Movable Type run Windows or Mac OS X. And most of them probably also purchase Office or games or other software. It's not about understanding that software costs money, it's about the bait-and-switch, justified or not.

And then he finishes this attempt to make money for himself with the appeal to authority of Larry Lessig. He wants us to think Lessig might agree with him, despite knowing full well that Lessig is a strong proponent of Open Source/Free Software. Surely Lessig recognizes that some good software costs money. Dave knows this, and Dave knows that Larry would disagree with much of the rest he has to say, most notably the statement that good software DOES cost money, let alone SHOULD. But by implying Larry might agree with Dave, Dave gets some cred he might not have otherwise had. And Larry even knows Dave writes a web log! WOOOOOO!

WWDC '04

| | Comments (0)
I just got my reservations for WWDC 2004. I'll be there two days, June 28 and 29 (along with the evening of the 27th), covering the events for Slashdot.

(Sorry for the non-political content. :-)
This doesn't remove the article, but it marks it as read, sorta. It doesn't apparently update the UI if that subscription is currently open in the UI, and the like.

Modify to suit taste. I think this only works in the pay version of NNW.

use strict;
use warnings;
use Mac::Glue ':all';
my $nnw = new Mac::Glue 'NetNewsWire';
my $headlines = $nnw->obj(
    headlines => whose(creator => equals => 'JonKatz'),
    subscription => whose(display_name => contains => 'Slashdot')
print $headlines->prop('isread')->set(to => 1);
Mac-AppleEvents-Simple-1.12 has been released. Download it from the CPAN or

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.12, Monday, May 10, 2004
   Eliminate a bunch of memory leaks, where we didn't dipose of AEDescs
   or Handles.
   No longer automatically populate EVENT and REPLY keys with AEPrint results.
   We fixed the memory leak in it, I think, but it was still an awful lot of
   data to lug around for no good reason.

Posted using release by brian d foy.

Mac-Carbon-0.70 Released

| | Comments (0)
Mac-Carbon-0.70 has been released. Download it from the CPAN or

I am quite happy with this release, because it is far more memory-efficient for long-running Mac::Glue stuff. See also forthcoming Mac::AppleEvents::Simple release, fixing some memory leaks (incidentally, I punted on the main issue discussed in that journal entry, the XAEDesc stuff, for now).

(Note: it may take time for the release to propagate to the various download mirrors.)

* v0.70, 10 May 2004
   Fix some major memory leaks in Mac::AppleEvents.  Due to a necessary change
   for Mac OS X, caller of AEDesc->data method is now responsible for disposing of
   the returned Handle object with Handle->dispose.
   Improve Mac::Notification tests.
   Clean up docs; add notes about gcc versions.

Posted using release by brian d foy.

use Perl Login Changes

| | Comments (0)
We added a new plugin to Slash, Slash::Login. We wanted to separate out the logging-in functionality from the rest of, so now there's a It is used for creating new users, mailing forgotten passwords, changing passwords and cookie prefs, and logging in.

It's live on now. Please let me know if you have any problems with it.
<pudge/*> (pronounced "PudgeGlob") is thousands of posts over many years by Pudge.

"It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt."

About this Archive

This page is a archive of entries in the Computers category from May 2004.

Computers: April 2004 is the previous archive.

Computers: June 2004 is the next archive.

Find recent content on the main index or look in the archives to find all content.