This document discusses the author's experience with Puppet, including things they love and find interesting about it. The author notes some inconsistent type casting and equality behaviors in Puppet that can be confusing. They also discuss how exported resources and Hiera allow Nagios and DNS configuration to be automated easily and remove hard-coded data from Puppet code for improved reusability. The author concludes by praising Puppet's capabilities around automation, abstraction, repeatability, reporting and knowledge management.