Category Archives: Apple

FFSync v0.5 is available for download.  

Three new features, available via the new iTunes tab:

 

 

 

 

 

 

 

The first feature is the ability to require “Song Linking”.  What this means is that FFSync will try to find the current song on Rhapsody.  If it can find it, it syncs with FF with a linked item.  If it cannot find it, it does not sync.

The second feature is the “Minimum Song Rating”.  This allows you to determine what the iTunes rating needs to be for the current song to be sync’d with FF.

The third feature is the addition of the song’s rating in the FF item.

Below is a screenshot of these features in action:

It turns out I was wrong (it will not be the last time) about the four apps I pegged as possibly using GC in 10.5 here.

Mark Rowe (engineer at Apple) posted a comment to my original post with what appears to be the definitive mechanism to determine if an app is using GC.

I spent some time digging around in otool before moving on to my (incorrect) heuristic of looking for certain imported symbols via nm.

I am happy to stand corrected.  Thanks Mark.

Yesterday I was having a discussion about which Apple apps use the new garbage collection feature of Objective-C 2.0 (the fobjc-gc switch).

One of the reasons this topic comes up in Microsoft circles is the fact that so few Microsoft desktop applications use the CLR. As you may be aware, there is a performance cost associated with running code in the CLR and garbage collection often gets painted as the chief offender.

I had heard that several Apple apps in 10.5 used this feature, but I had never followed up to know for sure. Yesterday I decided to take a look. Since I am a complete hacker, I decided not to ping the Apple lists and just see if there was a way to figure this out myself.

Based on my digging around (nm is your friend), I believe the following apps (of the subset I looked at in 10.5) use GC:

  • Mail
  • iChat
  • Preview
  • PhotoBooth

I looked at the iLife apps too, but none of them had the signs of GC. However, GC is a feature of 10.5 and iLife supports 10.4 — so that likely explains it.

I have to tell you and I have said this before at Microsoft, Apple did a very cool thing here. They had most apps on the same “unmanaged” memory allocator/scheme (ref count with autorelease) and then they shimmed in GC as an optional feature. Even more important (and far cooler in this world of a new framework every 10 minutes), is that Objective-C/NeXTStep/OpenStep/Cocoa has been around since the late 1980s and just getting better with age…

I am really considering going to WWDC this year.

I am such a huge fan of Cocoa and Objective-C (go Smalltalk).

I have been playing around with the iPhone SDK and I have to tell you that I am so impressed with what Apple is doing with Cocoa Touch.

When I think about the future client platform for the “Programmable Web”, I think a lot about the iPhone and iPod Touch.

If you have been to WWDC before, I would love to know if it is worth the money (comments, email or tweets welcomed).