Archive for April 23, 2013

Tuesday, April 23, 2013

Naming Things With Hashes

RFC 6920 (via Manuel Simoni):

This document defines a set of ways to identify a thing (a digital object in this case) using the output from a hash function. It specifies a new URI scheme for this purpose, a way to map these to HTTP URLs, and binary and human-speakable formats for these names. The various formats are designed to support, but not require, a strong link to the referenced object, such that the referenced object may be authenticated to the same degree as the reference to it. The reason for this work is to standardise current uses of hash outputs in URLs and to support new information-centric applications and other uses of hash outputs in protocols.

Rebuilding the Launch Services Database

Craig Hockenberry:

So, the next time you’re seeing general slowness on your Mac, don’t forget to give Launch Services a kick in the pants. Guaranteed to be more effective than zapping your PRAM.

The current command is:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r

If you don’t remember the latest path to lsregister, Rich Siegel recommends using locate (although that requires that the locate.database be in order).

RXTraversal

Rob Rix:

Perhaps more damningly, it’s particularly difficult to compose NSFastEnumeration, e.g. to produce objects based on the enumeration of some other object, as with a map, or worse, a convolution function (e.g. zip, zipWith).

This led me to decide that NSFastEnumeration is not the correct interface for these tasks […] Therefore I set about designing a better interface for lazy evaluation […]

This is really exciting work.