Experiments in data mining, entity disambiguation and how to think data-structures for designing beautiful algorithms