They Might Be Giants’ new album The Spine will be released on July 13 by Rounder Records. The preceding EP, Indestructible Object, was released by little, friendly, Seattle-based Barsuk.

I must ask here, in a bewildered and plaintive tone: Why didn’t TMBG stay with Barsuk? Rounder describes itself as “America’s premier independent record label”, but is listed as a member of the Recording Industry Association of America (RIAA). Not only can I not regard Rounder as “independent”, nor can I, in good conscience, buy The Spine from them. I’ll have to find it used somewhere.

Further, will The Spine’s companion EP, The Spine Surfs Alone, be released by Rounder? Here’s hoping They find a better option.

Because I’m beginning to work on iCAR again (finally), I was inspired to go looking for alternative ways to load its code into iChat (it currently uses SIMBL, which is excellent, but I’d prefer not to have to install anything more than the iCAR bundle and it seems like there would be a simple interface for this sort of thing).

I encountered the following options during my research.

  • Unsanity’s Application Enhancer (APE), the best-marketed and most popular method. Daemon-based (aped). Makes me irrationally nervous in general. The SDK has a wildly restrictive license: “The Application Enhancer license is not compatible with GNU style licenses (GPL/LGPL).”
  • Zaius, a free (Mozilla Public License) alternative to APE, also daemon-based. Attractive, but I’m not entirely in favor of asking users to install interfaces like this.
  • Input Managers, manifested as the magical Library folder where bundles get loaded into every application. Intended to be for implementations of NSInputManager, but has no restriction on what code can be executed. According to Mike Solomon (author of SIMBL and PithHelmet), these bundles can have troubles selecting the application to load into.
    • SIMBL (the aptly named Simple Input Manager Bundle Loader) is Mike Solomon’s solution to instabilities with the Input Managers method. It handles the verification of application identifiers and loads bundles selectively. Yet another required external installation, but resides in only one relatively innocuous directory and doesn’t require a logout or reboot.
  • Ed Wynne’s libpatch, an aging system for dynamically loading code into Cocoa applications. Breaks more and more with each release of the OS. Virtually nonexistent these days.
  • Mach calls, including the methods in mach_inject and mach_override, which are best explained in a paper by Jonathan Rentzsch. These require that a running process invoke the calls to the kernel, which means one would need to write a daemon to monitor launches of target applications if one’s override has no external, executable component.

Thus, it seems that I’ll stick with SIMBL until Apple does something drastic. My only real problem with this is that I’ll need to continue distributing two files in my iCAR downloads, but that really isn’t too much of an inconvenience. We have nothing in our pockets. We continue.