Just discovered this article recently from a related thread:

other discussions