GOThe Pragmatic EngineerAI and agentsBuilding Pi, and what makes self-modifying software so fascinating