Rainbows End by Vernor Vinge - WordSea