I recently read the book "How Buildings Learn" by Stewart Brand. One premise is that all buildings are predictions, and all predictions are wrong, so design them to be easy to change. It is a wonderful book on complex systems, and the whole time I was reading it I was also thinking of it metaphorically as creating software. This post How Software Learns first appeared on Dan Stroot's Blog