Archive for April 2004

Friday, April 30, 2004

Google IPO

Google files with the SEC (summary), with an irrational valuation.

John Calhoun Interview

Chris Klimas interviews longtime Mac game developer John Calhoun, who now works for Apple on Preview.

Tuesday, April 20, 2004

Building a Parrot Compiler

Dan Sugalski:

Neither rewriting the system nor ditching it for someone else’s software was an appealing option, especially given that the reason to do so was essentially an internal issue and mostly invisible to the users. We decided instead to do the sensible thing—we rewrote DecisionPlus. Or, rather, we wrote a compiler that understood DecisionPlus and, rather than targeting the DecisionPlus virtual machine and runtime that was causing us problems, we targeted a newer and less restrictive system.

Monday, April 19, 2004

PowerMail 5.0b12

CTM Development has released a public beta of PowerMail 5. SpamSieve and PowerMail have worked together since September 2002, but PowerMail 5 makes the integration much tighter. You no longer have to install AppleScripts to use SpamSieve with PowerMail, and (similar to Mailsmith) PowerMail provides options for what to do after training SpamSieve with a message:

PowerMail Spam Preferences

CTM is offering a bundle of PowerMail 5 and SpamSieve for $65 ($45 for upgrades).

PowerMail 5 includes other improvements, which are being well received on the mailing list, but I’m not a heavy enough user of the product to judge, for example, how much faster it is than the previous version.

One of the new features is very exciting to me, and I’d like to see it implemented by other Mac e-mail clients. (In fact, several years ago I sent it to Bare Bones and Apple as a feature request.) Most e-mail clients let you run AppleScripts as filter actions. This new feature lets you also run them as filter criteria (conditions, in PowerMail parlance):

tell application "PowerMail 5.0b12"
    set theMessages to current messages
    repeat with msg in theMessages
        -- do something
        set filter criterion result to true
    end repeat
end tell

Aside from allowing very flexible boolean combinations of message properties, the script could also take into account what’s happening elsewhere on your Mac. What location is your Mac in? What’s your IM status? Is the sender in your customer database? I’m sure there are far more creative and useful possibilities than these. I only wish CTM had implemented this feature using an AppleScript handler:

on testcondition(msg)
    tell application "PowerMail 5.0b12"
        -- do something
        return true
    end tell
end testcondition

Thursday, April 15, 2004

SpamSieve 2.1.4

SpamSieve Icon It’s always frustrating not to find bugs until after shipping, but hopefully they’re fixed now.

Tuesday, April 13, 2004

Cortland

Here are three new Cortland cartoons from Matt Johnson.

SpamSieve 2.1.3

SpamSieve IconSpamSieve 2.1.3 is now available. The new version is easier to install, integrates with Eudora better, and (by request) now supports Outlook Express 5. As always, the change list is available.

Sunday, April 4, 2004

Modal Web Server

Chris Double implemented a simple continuation-based Web framework in Scheme. Here’s an example:

‘show-message’ is a function that displays an HTML page with a message and an ‘Ok’ anchor. The ‘Ok’ anchor goes to an URL as described above:

(define (show-message msg)
  (show
   (lambda (url)
     (sxml->html-string
      `(html
        (head (title ,msg))
        (body
         (p ,msg)
         (p (a (@ (href ,url)) "Ok")))))))

We can use this by registering with the server a function that calls it a couple of times:

(register-function
 (lambda ()
   (show-message "Hello")
   (show-message "World")))

Accessing the registered function displays the first ‘Hello’ page. Clicking ‘Ok’ will then resume the function and display the second ‘World’ page. Clicking ‘Ok’ on that page exits the function.

Property List Tools 1.0

Late Night Software’s Property List Tools can convert property list files into AppleScript records and also save the records back to disk as property list files.

read property list file "HD:Users:mjt:Library:Preferences:com.c-command.DropDMG.plist"
{
    |NSWindow Frame MJTRegistrationWindow|:"616 395 477 436 0 0 1280 1002 ", 
    |NSWindow Frame AgreementsWindow|:"-313 476 265 308 -1280 0 1280 1024 ", 
    |DropDMGDestination|:"~/Desktop", 
    |NSFontPanelLastUsedPane|:0, 
    |NSFontPanelPreviewHeight|:0.0, 
    |DropDMGDiskImageOptions|:{
        |InternetEnabled|:false, 
        |UseEncryption|:false, 
        |Format|:0, 
        |WrapPackages|:true, 
        |DeleteAfterCreating|:true, 
        |Encoding|:2, 
        |DeleteAfterConverting|:false, 
        |Prompt|:false, 
        |AutoOpen|:true, 
        |SegmentSize|:4300, 
        |UseSegments|:false
    },
    …
}

Saturday, April 3, 2004

CUPS and Usability

Eric Raymond:

I’ve just gone through the experience of trying to configure CUPS, the Common Unix Printing System. It has proved a textbook lesson in why nontechnical people run screaming from Unix.

Eric Raymond:

Good UI design, and doing the right thing by Aunt Tillie, ought to be a matter of gut-level pride of craftsmanship.…None of this is rocket science.

John Gruber:

What Raymond is proposing, in fact, is no change at all. This idea, that the hard work of development is in building the underlying foundation, and that the easy part is writing a “GUI wrapper”, has been the Linux/Unix way all along.

Slashdot:

What I think would be a good start(TM) would be a program that interprets config files and turns them into GUI menus when possible, turning integers into fields, lists of commented out options into checklists/dropdown menus, etc. I know it wouldn’t be perfect but it would make editing a config file less scary for less experienced users.

Sven-S. Porst:

I’d still say that Apple’s managing of printers isn’t particularly intuitive these days.

Rick Schaut:

When you’re working on end-user software, and it doesn’t matter if you’re working on a Web application, adding a feature to an existing application, or working on a plug-in for some other application, you need to design the UI first.

Matthew Thomas:

Gruber’s point is somewhat undermined by the printing system of Mac OS X, an OS Raymond holds up as a shining example, being a “GUI wrapper” around the same Cups system Raymond was criticizing.

Thursday, April 1, 2004

LaunchBar 4.0b1

Wow.

ATPM 10.04

The April issue of ATPM is out.