Ideas, experiences, lessons and mistakes on software development.