andymatuschak.org: archive

You are at the archive for the December, 2007

Dire Straits ringtonesRight Said Fred ringtones

Rethinking Sparkle 1.5 and Sparkle 2

Since you’re reading this, you’ve probably also read my post on package management for OS X, in particular the “anti-DLL hell” problem 3rd-party framework developers experience.

When I started Sparkle, it was a weekend-long project that I mostly did for myself. I never expected it to get this kind of adoption rate, so I didn’t really give any thought to scalability or anything, but now it’s a big issue. It’s silly to have this library being distributed a couple hundred times over, in different versions. Also scary.

With that in mind, I want to hold off on big plans for Sparkle 2 as a system-wide updating thing until I think more about a general system-wide package manager, as the latter would solve both problems.

To that end, I’m currently doing a major refactor of Sparkle 1.5 to keep it maintainable and extensible for the future. I’ll let you know how it goes.

Bear with me, folks.

  • Bob Warwick has an excellent follow-up to my post last night.

    He also makes a very important point:

    Unless you’re a member of the small demographic that thinks “There’s gotta be something better than Safari for news feeds”, you’ll never discover NetNewsWire.

    You should care about this not just because it means a better experience for users. You should care because it means more customers for you.

    (0)

Anything Ubuntu can do, we can do better. Except this stuff.

When I argue with my Linux-loving friends about OS X vs. Ubuntu, they’ve only really got a couple points for which I have no retorts. But they’re big ones. Let’s think about how to fix them.

Why can’t I watch this video?

On Ubuntu, if you open an .avi for which you don’t have the codec, it will fetch it and install it.

On Mac OS X, if you open an .avi for which you don’t have the codec, QuickTime will give you an entirely useless error message. It won’t even tell you what codec you’re missing, so you can’t Google it.

continued…

  • RubyCocoa parses Cocoa methods that return multiple values through pointer parameters! Check it out:

    >> NSWorkspace.sharedWorkspace.getFileSystemInfoForPath_
    isRemovable_isWritable_isUnmountable_description_
    type_("/Volumes/SparkleCaster/English.lproj")
    => [true, 1, 0, 1, #<NSCFString "hfs">, #<NSCFString "hfs">]

    Now we’ve just got to do something about that really ugly method name…

    (2)

Like Free Hugs!

It’s really cool being part of the indie Mac developer community. Back when I was on Windows (shhh!), I never got to know any other coders—sharing wasn’t really part of the community.

For Mac development, there’s lots of places to go. #macsb is an old standby, but I’ve just recently discovered the magic of Twitter. I know, I know, I’m way behind. But if you head over to Twitter and sign up, you can see what a lot of awesome programmers are up to and connect with them in a really easy fashion. It’s like a big family, full of joy and swearing at Xcode!

If you're looking for something specific then give the search form below a try:

RSS Wordpress Grady (theme) Valid XHTML Return to the Top ↑