Archive for April 23, 2008

Wednesday, April 23, 2008


TransactionKit, from the developer of RegexKit, provides a thread-safe, lock-free replacement for NSDictionary/NSMutableDictionary. The design uses multi-version concurrency control—transaction numbers, essentially—to allow concurrent read and write access with better multi-threaded performance than using locks. Unlike NSDictionary, TransactionKit uses chaining, so it likely uses more memory and is not as cache-friendly. Chaining works nicely with atomic compare-and-swap operations, so it’s common in lock-free data structures, however open addressing can also be made lock-free. For example, Cliff Click implemented a very efficient closed hash table (with linear probing) in Java that outperforms ConcurrentHashMap (which uses lock striping). Note that TransactionKit is incompatible with Objective-C garbage collection, which the developer regards as flawed.

Microsoft to Nuke MSN Music DRM keys

Jacqui Cheng:

Microsoft’s decision to turn off the MSN Music authorization servers serves as a painful reminder that DRM ultimately severely limits your rights. Companies that control various DRM schemes, as well as the content providers themselves, can yank your ability to play the content which you lawfully purchased (and now, videos) at any moment—no matter what your expectation was when you bought it.