Solution to the Twitter Puddle interview question, written for the Boston Python User Group