Three years ago I came across an interesting paper written up by a Microsoft employee, Kent Sullivan.