<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Puppet Labs &#187; General News</title>
	<atom:link href="http://puppetlabs.com/category/blog/general-news/feed/" rel="self" type="application/rss+xml" />
	<link>http://puppetlabs.com</link>
	<description>Puppet Labs: IT Automation Software for System Administrators</description>
	<lastBuildDate>Wed, 16 May 2012 22:05:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Removing lint from the Puppet’s belly button of fluffy automation chaos, or: Using puppet-lint to save yourself from style faux pas</title>
		<link>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/</link>
		<comments>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/#comments</comments>
		<pubDate>Mon, 14 May 2012 20:42:22 +0000</pubDate>
		<dc:creator>Ben Hughes</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Extending Puppet]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[automated testing]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>
		<category><![CDATA[puppet-lint]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=14174</guid>
		<description><![CDATA[Wouldn&#8217;t it be nice if you never made a mistake or a typo again? Okay, that&#8217;s a slightly misleading offer. How about just never committing such gaffes in with your code? &#8220;How?&#8221; I hear you cry. With the illustrious Tim Sharpe&#8217;s puppet-lint and some version control derring-do! Following on from Adrien&#8217;s wonderful post on syntax [...]]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t it be nice if you never made a mistake or a typo again? Okay, that&#8217;s a slightly misleading offer. How about just never committing such gaffes in with your code? &#8220;How?&#8221; I hear you cry. With the illustrious Tim Sharpe&#8217;s <a href="https://github.com/rodjek/puppet-lint">puppet-lint</a> and some version control derring-do!</p>
<p>Following on from Adrien&#8217;s wonderful post on <a href="http://puppetlabs.com/blog/verifying-puppet-checking-syntax-and-writing-automated-tests/">syntax checking and writing tests</a>, you have a way of checking the syntax and style guide from the command line. Using this approach, even on a mature (like a fine wine) Puppet code base, you can move towards having beautiful, aligned, ordered manifests—the type of manifests you&#8217;d be happy taking home to meet the family.</p>
<p>Puppet-lint takes the Puppet Labs Style Guide and places it nicely in a command line tool. Think of it as a <a href="http://www.python.org/dev/peps/pep-0008/">programmatic PEP-8</a> for those from a Pythonic world. Now, where this comes in handy is when you&#8217;re using revision control (which is all the time, obviously!), because you can tie the two together. Yes, every time you try and commit your code to your RCS, it checks the files you&#8217;re committing, and makes sure you haven&#8217;t used a tab where there should be a space.</p>
<p>In Puppet Labs&#8217; kickass Operations department, we&#8217;re ever so slightly keen on <a href="http://git-scm.com/">Git</a>, not least due to the wonderful GitHub. RCSHub just doesn&#8217;t cut it for us these days.</p>
<p>With Git, as with many an RCS, you&#8217;re free to define hooks to do weird and wondrous things upon certain actions. This chapter on <a href="http://git-scm.com/book/en/Customizing-Git-Git-Hooks">git hooks</a> from <em>Customizing Git</em>  explains them in detail. If you’re using Subversion, then this <a href="http://svnbook.red-bean.com/en/1.7/svn.ref.reposhooks.pre-commit.html">pre-commit documentation</a> suggests what you can do on the server side to accomplish the same thing.</p>
<p>For this, the pre-commit hook is the one we want to utilise. I first make a bash script to get a list of the files that change in the commit. Then, the hook script goes through them one at a time, seeing if they&#8217;re Puppet manifests by name, and running puppet-lint on them as it goes. If any of the manifests fail linting, it exits there and then I may go fix them at my leisure!</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Requires bash, as it uses the [[ ]] syntax.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># If it's puppet code, lint it up.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># I we don't have puppet-lint, so just exit and leave them be.</span>
<span style="color: #c20cb9; font-weight: bold;">which</span> puppet-lint <span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Variables goes hither</span>
<span style="color: #7a0874; font-weight: bold;">declare</span> <span style="color: #660033;">-a</span> FILES
<span style="color: #007800;">IFS</span>=<span style="color: #ff0000;">&quot;
&quot;</span>
<span style="color: #007800;">FILES</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #660033;">--cached</span> <span style="color: #660033;">--name-only</span> <span style="color: #660033;">--diff-filter</span>=ACM <span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #800000;">${FILES[@]}</span>
<span style="color: #000000; font-weight: bold;">do</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$file</span> =~ \.<span style="color: #000000; font-weight: bold;">*</span>.pp\$ <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
  <span style="color: #000000; font-weight: bold;">then</span>
    puppet-lint <span style="color: #660033;">--with-filename</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$file</span>&quot;</span>
    <span style="color: #007800;">RC</span>=<span style="color: #007800;">$?</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$RC</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
      <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$RC</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
  <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>I save that file to .git/hooks/pre-commit in my repository, give it a light sprinkling of &#8216;chmod +x&#8217;, a dash of &#8216;gem install puppet-lint&#8217; and I am ready to roll.</p>
<h2>Exhibit A, the Larch</h2>
<p>So let&#8217;s see this bad-boy in use, I hear you cry! Let&#8217;s take a manifest that breaks all of the rules, and see what happens&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">node <span style="color:#996600;">'hubert.humphrey.edu'</span> <span style="color:#006600; font-weight:bold;">&#123;</span>
&nbsp;
	user<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#996600;">&quot;mhunter&quot;</span>:
	   managehome <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>,
	   home <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;/home/mhunter&quot;</span>,
	   comment <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'Mark Hunter'</span>,
	   <span style="color:#9966CC; font-weight:bold;">ensure</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'present'</span>
   <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;"><span class="br0">&#91;</span>enlil:puppetlabs-modules<span class="br0">&#93;</span>% git commit hubert.pp
hubert.pp - WARNING: double quoted string containing no variables on line <span style="">3</span>
hubert.pp - WARNING: double quoted string containing no variables on line <span style="">5</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">5</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">6</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">7</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">4</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">5</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">6</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">7</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">8</span>
hubert.pp - ERROR: trailing whitespace found on line <span style="">2</span>
hubert.pp - WARNING: ensure found on line but it's not the first attribute on line <span style="">7</span></pre></div></div>

<p>Woah, that&#8217;s a lot of errors. By default, puppet-lint will let warnings through, but stop dead on errors, and we got them all! I&#8217;ll tidy this manifest up&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">node <span style="color:#996600;">'hubert.humphrey.edu'</span> <span style="color:#006600; font-weight:bold;">&#123;</span>
&nbsp;
  user<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#996600;">'mhunter'</span>:
    <span style="color:#9966CC; font-weight:bold;">ensure</span>     <span style="color:#006600; font-weight:bold;">=&gt;</span> present,
    managehome <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>,
    home       <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'/home/mhunter'</span>,
    comment    <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'Mark Hunter'</span>,
  <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>

<p>Much more readable, and now when I try and commit it, I get:</p>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;"><span class="br0">&#91;</span>enlil:puppetlabs-modules<span class="br0">&#93;</span>% git commit hubert.pp
<span class="br0">&#91;</span>master <span style="">6020331</span><span class="br0">&#93;</span> Add in a new pupil to the school!
 <span style="">1</span> file changed, <span style="">10</span> insertions<span class="br0">&#40;</span>+<span class="br0">&#41;</span>
 create mode <span style="">100644</span> hubert.pp</pre></div></div>

<p>Clean, and the best part is I don&#8217;t have to alter my workflow, I can just carry on editing with Vim, commit my work as normal, and just be kindly reminded when a manifest has things that need tidying up.</p>
<p><em>Learn More</em></p>
<ul>
<li><a href="http://docs.puppetlabs.com/guides/style_guide.html">Puppet Labs style guide</a></li>
<li><a href="https://github.com/rodjek/puppet-lint">puppet-lint</a></li>
<li><a href="http://puppetlabs.com/blog/verifying-puppet-checking-syntax-and-writing-automated-tests/">Verifying Puppet: Checking Syntax and Writing Automated Tests</a></li>
<li><a href="http://geek.jasonhancock.com/2012/04/18/puppet-svn-pre-commit-hook/">Puppet-lint SubVersion commit hook by Jason Hancock</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Announcing The Marionette Collective 2.0</title>
		<link>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/</link>
		<comments>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/#comments</comments>
		<pubDate>Wed, 09 May 2012 16:52:58 +0000</pubDate>
		<dc:creator>R.I. Pienaar</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Extending Puppet]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[MCollective]]></category>
		<category><![CDATA[product release]]></category>
		<category><![CDATA[mcollective]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet labs]]></category>
		<category><![CDATA[R.I. Pienaar]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13976</guid>
		<description><![CDATA[I am proud to announce the release of the next major production version of The Marionette Collective (MCollective). This release brings together almost a year&#8217;s worth of work and introduces great improvements in security, stability, platform support and new features in the core messaging layer. The major areas of advance are below: Complete messaging protocol [...]]]></description>
			<content:encoded><![CDATA[<p>I am proud to announce the release of the next major production version of The Marionette Collective (MCollective). This release brings together almost a year&#8217;s worth of work and introduces great improvements in security, stability, platform support and new features in the core messaging layer.</p>
<p>The major areas of advance are below:</p>
<ul>
<li>Complete messaging protocol rewrite to enable direct style connectivity that would allow programs to bypass normal discovery instead using their own data sources</li>
<li>An additional more robust messaging paradigm supporting a more assured addressing and delivery scheme</li>
<li>Batched mode allowing users to address machines in small groups thus avoiding thundering herd and enabling more granular changes</li>
<li>A more complete language for expressing discovery that includes and/or/not style queries across the infrastructure</li>
<li>Improved Stomp connection security using normal industry standard Certificate Authority validated TLS</li>
<li>New connector that uses ActiveMQ-specific features for better performance and scalability</li>
<li>Security of the SSL and AES security plugins have been improved for tamper protection by middle men</li>
<li>A message validity period has been introduced to lower the window of message replay attacks</li>
<li>Better error handling and better logging for Stomp connections</li>
<li>JSON output from the ‘rpc’ application</li>
<li>Ability to pipe RPC requests into each other creating a chain of related RPC calls</li>
<li>Better validations, better error handling and better documentation creation from the DDL</li>
<li>Performance improvements in the CLI, more consistently formatted output of received data</li>
<li>A Ruby GEM of the client is now made available on rubygems.org</li>
<li>The rc script for Debian based systems have been improved to prevent duplicate daemons from running</li>
<li>Built in packager for plugins into native OS packages—RedHat and Debian supported</li>
<li>MS Windows Support</li>
</ul>
<p>The full <a href="http://docs.puppetlabs.com/mcollective/releasenotes.html">release notes</a> for this release expands on key areas of the above list and you can download this release from our <a href="http://info.puppetlabs.com/download-puppet-open-source.html">download area</a>, <a href="http://yum.puppetlabs.com/">Yum repository</a> or our <a href="http://apt.puppetlabs.com/">Apt repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upcoming Puppet Events: New Camps, PuppetConf, and Velocity</title>
		<link>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/</link>
		<comments>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/#comments</comments>
		<pubDate>Tue, 08 May 2012 15:46:24 +0000</pubDate>
		<dc:creator>jose</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences and Workshops]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Puppet Camp]]></category>
		<category><![CDATA[PuppetConf]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet labs]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13937</guid>
		<description><![CDATA[Puppet Labs has been a busy place in the last month: we announced PuppetConf and released the very first seats for the Puppet Professional Certification Program (more details coming soon), we also announced our support for OpenStack and we announced PuppetDB, affectionately known around the office as project Greyskull. As we move ahead into May [...]]]></description>
			<content:encoded><![CDATA[<p>Puppet Labs has been a busy place in the last month: we announced <a href="http://www.puppetconf.com">PuppetConf</a> and released the very first seats for the Puppet Professional Certification Program (more details coming soon), we also announced our support for <a href="http://puppetlabs.com/solutions/openstack/">OpenStack</a> and we announced PuppetDB, affectionately known around the office as project Greyskull. As we move ahead into May and June we hope to see you at some of the following events:</p>
<p>May 19 &#8211; <a href="http://puppetcampla.eventbrite.com">Puppet Camp Los Angeles</a>: Senior Developer Deepak Giridharagopal will introduce PuppetDB, and the Puppet projects team lead Daniel Pittman will share the Puppet roadmap for 2012.</p>
<p>May 21 &#8211; Find us at <a href="http://www.emcworld.com/">EMC world</a>, we&#8217;ll be around and looking to find you. Follow us <a href="http://www.twitter.com/puppetlabs">@puppetlabs</a> to find out where we are.</p>
<p>We&#8217;ve announced new Puppet Camps for June and July:</p>
<ul>
<li><a href="http://puppetcampsea.eventbrite.com">Southeast Asia</a> in Kuala Lumpur on June 5th</li>
<li><a href="http://puppetcampsydney.eventbrite.com">Sydney</a> on June 8th (tickets are almost gone!)</li>
<li><a href="http://www.puppetlabs.com/puppetcamp">District of Columbia</a> on June 19th
<li>
<li>Puppet Camp <a href="http://puppetcampboston.eventbrite.com/">Boston</a> on June 22</li>
<li><a href="http://puppetcampchicago.eventbrite.com">Chicago</a> on July 23rd</li>
<p>And don&#8217;t forget about our previously announced our European camps in <a href="http://puppetcampdublin.eventbrite.com">Dublin</a>, Ireland on July 6th and <a href="http://puppetcamp-geneva-at-lsmconf.eventbrite.com">Geneva</a>, Switzerland on July 11th.</p>
<p>After the end of July we&#8217;ll be working to produce an epic <a href="http://www.puppetconf.com">PuppetConf</a> in San Francisco on September 27th and 28th. Register now to guarantee a seat. Like many of our Puppet Camps, PuppetConf is sure to sell out.</p>
<p>We&#8217;re also happy to offer you a 10% discount to <a href="http://www.velocityconf.com">Velocity</a> on June 25-28. Just use code PUPPETLABS when you register and then come find us at booth #517 and check out presentations from <a href="http://velocityconf.com/velocity2012/public/schedule/detail/23203">James Turnbull</a> and <a href="http://velocityconf.com/velocity2012/public/schedule/detail/23639">Luke Kanies</a> at Velocity.</p>
<p><a href="http://velocityconf.com/velocity2012"><img src="http://puppetlabs.com/wp-content/uploads/2012/05/468x60.png" alt="" title="Velocity Conf" width="468" height="60" class="aligncenter size-full wp-image-13946" /></a></p>
<p>We&#8217;re looking forward to connecting with you this summer.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Puppet Labs CTO Nigel Kersten</title>
		<link>http://puppetlabs.com/blog/announcing-puppet-labs-cto-nigel-kersten/</link>
		<comments>http://puppetlabs.com/blog/announcing-puppet-labs-cto-nigel-kersten/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 16:37:39 +0000</pubDate>
		<dc:creator>Nigel Kersten</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Puppet Lore]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[James Turnbull]]></category>
		<category><![CDATA[luke]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Puppet Camp]]></category>
		<category><![CDATA[puppet labs]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13695</guid>
		<description><![CDATA[This week I took on the role of CTO at Puppet Labs, and started reflecting on the awesome journey that led me here. It was 2006, and I was scrambling to make it onto the last bus back to San Francisco from the Apple WWDC Beer Bash down in Cupertino. I&#8217;d been to quite a [...]]]></description>
			<content:encoded><![CDATA[<p>This week I took on the role of CTO at Puppet Labs, and started reflecting on the awesome journey that led me here.</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/CTONigel.jpg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/CTONigel.jpg" alt="" title="CTONigel" width="640" height="426" class="aligncenter size-full wp-image-13696" /></a></p>
<p>It was 2006, and I was scrambling to make it onto the last bus back to San Francisco from the Apple WWDC Beer Bash down in Cupertino. I&#8217;d been to quite a few Beer Bashes and knew the drill: forget the lineup for the campus store, just concentrate on finding beer and the few Apple employees who could fix the OpenDirectory bugs that were making my life hell. Both objectives were completed, leaving me only minutes to avoid having to spend way too much money getting a taxi back up to the city.</p>
<p>Fatefully, I found a seat next to this <em>intensely</em> opinionated sysadmin, Jeff McCune (later to become one of the first pro services guys at Puppet Labs, and now one of our core developers). He recognized me from my WWDC presentation that year and started grilling me about how I ran my university campus, particularly the file-based configuration management system I used, Radmind, and the hacked up framework I&#8217;d put in place to try to manage higher level objects than mere files.</p>
<p>He&#8217;d been to a talk by Luke Kanies (now the CEO of Puppet Labs) at LISA and was very excited about this guy who had built a tool that worked the way sysadmins actually needed to work with a pragmatic, model-based approach. Even more importantly though, Luke was serious about fostering adoption, and had helped Jeff write some useful extensions for Puppet. Jeff had already gotten religion about idempotent, declarative approaches for sysadmins, and spent pretty much all of the bus ride bending my ear about this new project called &#8220;Puppet&#8221; and how it was going to change the world of operations.</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/the_state_of_puppet_is_good.jpg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/the_state_of_puppet_is_good.jpg" alt="" title="the_state_of_puppet_is_good" width="640" height="427" class="aligncenter size-full wp-image-13697" /></a></p>
<p>After WWDC, I flew back to Australia, fully intending to try out this magical Puppet project, but got distracted by the day to day life of running campus IT operations on a shoestring budget for users who were academics <em>and</em> artists.</p>
<p>I was even more distracted a few months later when one of the MacEnterprise community members came out of lurking and told me I should apply for a role at Google in Mountain View. Several of the toughest interviews of my life followed, and within a couple of months, I was moving my young family to the other side of the world to run Mac Operations at Google HQ.</p>
<p>It was clear that tools like Radmind simply weren&#8217;t going to work at Google for the many thousands of corporate Macs. Opinionated engineers who demanded a high degree of customization, immense growth, globally distributed offices and a very small team meant that it was completely insane to even think about trying the old methods of file-based config management of the entire system.</p>
<p>We needed a better and more sustainable way, a solution that gave us higher levels of abstraction with meaningful entities such as users, groups, services and packages, and that didn&#8217;t require you manage the entire machine.</p>
<p>Jeff and I had kept in contact, and he was presenting on Puppet at WWDC that year. I popped up to San Francisco with some of my coworkers, and made sure we turned up to his talk.</p>
<p>10 minutes into his presentation we were getting pretty excited, and we started experimenting over VPN. By the time Jeff finished his talk, we had a working Puppet master back at Google managing the contents and permissions of a few critical files in /etc, and knew we had a great match.</p>
<p>As it turned out, the Mac deployment was such a rapid success that one of the Linux Ops team started a skunkworks project to manage the internal Linux distro with Puppet, as there had been a few failed CFEngine attempts. This worked so well that Puppet eventually managed all the Google corporate Mac and Linux desktops, laptops and servers.</p>
<p>Puppet was a much younger project in those days. We were building a lot of custom Puppet extensions for Mac OS X that went back into the core, and were having to scale Puppet to manage tens of thousands of nodes, so I spent a lot of time on the mailing lists and IRC channels brainstorming with Luke and the community. I quickly fell in love with the community. It was full of <em>thoughtful</em> sysadmins, people who were frustrated with the unreliable state of operations tools, and knew there was a better way out there than continually reinventing arcane bash/ssh frameworks.</p>
<p>We have some great technology with Puppet, but one of our greatest strengths is our outstanding community.</p>
<p>I ended up at the first ever Puppet Camp, San Francisco, 2009. It was small, but was one of the most exhilarating conferences I&#8217;ve ever been to. I love <a href="http://www.flickr.com/photos/43103276@N07/sets/72157622370691217/with/3972141905/">looking back at those photos</a> and seeing how many of that group are now part of the Puppet Labs team. Dan Bode, James Turnbull, Ben Hughes, Gary Larizza, Michael Stahnke, Carl Caum, Deepak Giridharagopal (Little known fact: his last name is actually Tamil for &#8220;Grid Computing&#8221;).</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/puppetcamp2009standing.jpeg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/puppetcamp2009standing.jpeg" alt="" title="puppetcamp2009" width="640" height="427" class="aligncenter size-full wp-image-13698" /></a></p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/puppetcamp2009sitting.jpg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/puppetcamp2009sitting.jpg" alt="" title="james_looks_the_same" width="640" height="427" class="aligncenter size-full wp-image-13699" /></a></p>
<p>That&#8217;s an awesome group of people to end up working with, let alone all the other great people we have here at Puppet Labs.</p>
<p>I had an amazing couple of years at Google, surrounded by super sharp minds and working on truly interesting operations problems at a scale greater than anything I&#8217;d ever touched before, but I was starting to look enviously at friends who left for early stage startups and the breadth of knowledge they were acquiring. Luke had poked me a couple of times about coming to work for him, but I didn&#8217;t seriously consider it until late 2010 when he, Teyo and James made a much more concerted effort.</p>
<blockquote><p>&#8220;You&#8217;re opinionated about Puppet. Want to put your money where your mouth is?&#8221;</p></blockquote>
<p>One visit to Portland and I knew I wanted to live in this awesome food, beer, and cycling-obsessed city full of people following obscure passions. I jumped ship from Google and we moved north, where I dived headfirst into being responsible for Product at a very quickly growing startup.</p>
<p>It&#8217;s been an immense 18 months. We started with our first commercial release, Puppet Enterprise 1.0, and followed that up with several great releases, all solving real problems for real users. We&#8217;ve brought on the open source MCollective and Hiera projects from the incomparable RI Pienaar, released Puppet 2.7.0, and grown at an amazing pace. We’ve grown from 2 events a year to 15, including the incredibly successful PuppetConf `11 and are building up to an even bigger PuppetConf this year. Nothing like startup speed to quicken the blood.</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/puppetconf2011withhats.jpg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/puppetconf2011withhats.jpg" alt="" title="puppetconf2011withhats" width="640" height="426" class="aligncenter size-full wp-image-13700" /></a></p>
<p>From the original 20 odd folks I started with in the tiny office in the seedy and urine-drenched Old Town to our shiny digs in the Pearl, with over 80 employees. From a distinct lack of in-house beverages to decent espresso and delicious local beer. From a company that knew the user experience was critical, to one with a growing UX/Design department headed up by Randall of the impenetrable Gandalf gaze.</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/RandallGandolfPuppetCampAmsterdam.jpg"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/RandallGandolfPuppetCampAmsterdam.jpg" alt="" title="RandallGandolfPuppetCampAmsterdam" width="640" height="480" class="aligncenter size-full wp-image-13701" /></a></p>
<p>I love this company. I love what we’ve done already to change the face of operations, I love the ambition we have to change it even more, and I especially love the people I get to do it with.</p>
<p>I&#8217;m thrilled to take on the role of CTO, and to concentrate on fostering our culture of technical innovation so that we continue to build applications and platforms that truly advance the state of IT infrastructure. The world of operations is undergoing radical change right now. The cloud, pervasive virtualization, corporate adoption of FOSS, BYOD, IaaS, PaaS and SaaS are all forcing sysadmins to be truly agile and adaptive. Some of the brightest people in our industry work in operations, and it’s going to be incredible to see what they come up with when IT automation gives them space to concentrate on genuinely important matters.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/announcing-puppet-labs-cto-nigel-kersten/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Join us for PuppetConf 2012</title>
		<link>http://puppetlabs.com/blog/join-us-for-puppetconf-2012/</link>
		<comments>http://puppetlabs.com/blog/join-us-for-puppetconf-2012/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 15:19:23 +0000</pubDate>
		<dc:creator>jose</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences and Workshops]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>
		<category><![CDATA[PuppetConf]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[puppet labs]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13637</guid>
		<description><![CDATA[Registration for PuppetConf &#8217;12 is now open. We&#8217;re in a new city and a new facility, with new tracks and new programs. Look forward to 5 concurrent tracks over 2 days focusing on all things operations. Our new venue offers one large theater for keynotes, while our second auditorium will be dedicated to Puppet Community [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for <a href="http://puppetconf.com/">PuppetConf</a> &#8217;12 is now open. We&#8217;re in a new city and a new facility, with new tracks and new programs. Look forward to 5 concurrent tracks over 2 days focusing on all things operations. Our new venue offers one large theater for keynotes, while our second auditorium will be dedicated to Puppet Community presentations and hacking space. We&#8217;re introducing a hands-on lab component to the conference, and we&#8217;re happy to announce that we&#8217;ll be offering the first ever Puppet Admin and Puppet Developer Certification exams at PuppetConf.</p>
<p>With over 70 speakers, 600+ community members, and the Puppet Labs team, PuppetConf is a must-attend event. We&#8217;re looking forward to seeing you in San Francisco!</p>
<p>Here&#8217;s a quick recap of last year:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/DdOj0GZzci4" frameborder="0" allowfullscreen></iframe></p>
<p>All 2011 talks can be viewed on the <a href="http://www.youtube.com/user/PuppetLabsInc">Puppet Labs YouTube Channel</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/join-us-for-puppetconf-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Puppet Labs at AWS Cloud Summit, EucaDay NYC, and Puppet Camp NYC</title>
		<link>http://puppetlabs.com/blog/april-2012-new-york-events/</link>
		<comments>http://puppetlabs.com/blog/april-2012-new-york-events/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 18:46:41 +0000</pubDate>
		<dc:creator>jose</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences and Workshops]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Puppet Camp]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[eucalyptus]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[James Turnbull]]></category>
		<category><![CDATA[luke]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/blog/april-2012-new-york-events/</guid>
		<description><![CDATA[Spring is the time to be in New York. We know it, and apparently so do our partners. Whether you live in or around New York or just happen to be in town visiting over the next two weeks come find us at these awesome events: Wed 4/18 &#8211; Come meet us at the AWS Cloud [...]]]></description>
			<content:encoded><![CDATA[<p>Spring is the time to be in New York. We know it, and apparently so do our partners. Whether you live in or around New York or just happen to be in town visiting over the next two weeks come find us at these awesome events:</p>
<ul>
<li>Wed 4/18 &#8211; Come meet us at the <a onclick="_gaq.push(['_trackEvent', 'outbound link', 'aws ny post', 'AWS cloud for startups &#038; devs']);" href="http://aws.amazon.com/about-aws/AWS-cloud-for-startups-developers-NYC/">AWS Cloud for Start-Ups &amp; Developers social</a> hosted by Amazon Web Services!</li>
<li>Thur 4/19 &#8211; Stop by booth &#8220;S2&#8243; at the <a onclick="_gaq.push(['_trackEvent', 'outbound link', 'aws ny post', 'AWS Cloud Summit']);" href="http://aws.amazon.com/aws-summit-2012/nyc/">AWS Cloud Summit</a> to talk to our Puppet experts, or get some free schwag.</li>
<li>Fri 4/20 &#8211; Meet Ohad Levy at the <a onclick="_gaq.push(['_trackEvent', 'outbound link', 'aws ny post', 'nyc puppet meetup']);" href="http://www.meetup.com/puppetnyc-meetings/events/59430962/">PuppetNYC meetup</a>.</li>
<li>Wed 4/25 &#8211; Check out our presentation at the inaugural <a onclick="_gaq.push(['_trackEvent', 'outbound link', 'aws ny post', 'eucaday conf']);" href="http://go.eucalyptus.com/EucaDay-NYC-2012-Registration.html?Offer=Other&amp;OfferDetails=EucaDay%20NYC%20Event&amp;LeadSourceDetails=EucaDay%20NYC%20Event&amp;OfferURL=http://go.eucalyptus.com/EucaDay-NYC-2012-Registration.html">EucaDay conference</a>.</li>
<p><b>And, last but not least:</b></p>
<li>Fri 4/27 &#8211; Join us for an awesome <a onclick="_gaq.push(['_trackEvent', 'outbound link', 'aws ny post', 'puppet camp nyc']);" href="http://puppetcampnyc.eventbrite.com/">Puppet Camp NYC</a> featuring Puppet Labs&#8217; own Luke Kanies, James Turnbull, Kelsey Hightower and Eric Shamow!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/april-2012-new-york-events/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Puppet Labs is Sustainability at Work Gold Certified</title>
		<link>http://puppetlabs.com/blog/puppet-labs-is-sustainability-at-work-gold-certified/</link>
		<comments>http://puppetlabs.com/blog/puppet-labs-is-sustainability-at-work-gold-certified/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 15:56:56 +0000</pubDate>
		<dc:creator>Nandini Mitra</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[guest post]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet labs]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13233</guid>
		<description><![CDATA[Puppet Labs has been on a roll…and this time it is not our user community, but the physical one we live in that is giving rave reviews! The City of Portland’s Sustainability at Work Program recently announced Puppet Labs as a Gold Certification winner! It all began with the culture here…they care about their community [...]]]></description>
			<content:encoded><![CDATA[<p>Puppet Labs has been on a roll…and this time it is not our user community, but the physical one we live in that is giving rave reviews! <a href="http://bestbusinesscenter.org/">The City of Portland’s Sustainability at Work Program</a> recently announced Puppet Labs as a Gold Certification winner!</p>
<p><a href="http://bestbusinesscenter.org/recognition/business-directory/puppet-labs/"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/Gold_Sustainability_at_Work_award.png" alt="" title="Gold_Sustainability_at_Work_award" width="162" height="351" class="aligncenter size-full wp-image-13236" /></a></p>
<p>It all began with the culture here…they care about their community and take immense pride in doing their bit for the environment. Most of the Puppet Labs employees (80% to be precise) come to work on bikes, public transport, or on foot. They even have an in-house bike rack in their dining/meeting area!</p>
<p><a href="http://puppetlabs.com/wp-content/uploads/2012/04/puppet-labs-bike-rack.gif"><img src="http://puppetlabs.com/wp-content/uploads/2012/04/puppet-labs-bike-rack.gif" alt="" title="puppet labs bike rack" width="640" height="340" class="aligncenter size-full wp-image-13237" /></a></p>
<p>The company is housed in a LEED Gold building, and the employees adopt energy efficient measures in their daily lives. “Daily life” includes bringing dogs to work, eating cupcakes and drinking from the kegorator at weekly meetings, and recycling most of what they throw into the bins. Even the copious coffee habit comes with a green benefit, with buckets of grounds being saved for employees’ gardens. In keeping with the relaxed yet results-driven work environment, I saw people coming up with ways to make the company greener—not because they were looking for an award, but because caring about the environment comes naturally to them.</p>
<p>I should introduce myself: I’m an MBA student from the University of Oregon, and I helped document all the environmentally friendly activities going on at Puppet Labs. I reported the activities to Sustainability at Work in the areas of Energy (e.g. the T8 lighting, the energy star equipment), Water (e.g. we have tap water not bottled water, we have water-saving faucets), Materials and Waste (we do cardboard, glass recycling, we avoid printing out documents) and Transportation. Beyond activities in these four areas, there’s also an internal portal with postings about various volunteering opportunities, sustainable transportation options, green living etc. Once I gathered all the information, we used the Sustainability at Work calculator to report our work to City of Portland. There was another round of reporting where we filled in another checklist of actions. The final round had a City of Portland expert come over for an on-site verification process. Finally, Puppet Labs received the highest possible certification, GOLD!</p>
<p>Puppet Labs is one of the 7 businesses in Portland to be gold certified, and the only software company. This certification holds good for the next three years. The City of Portland’s website has already featured Puppet Labs as a Gold Winner. Mayor Sam Adams (those of you who visited Portland for PuppetConf last year may remember him speaking) had the following statement:</p>
<blockquote><p>“Congratulations to Puppet Labs, Inc. on becoming Sustainability at Work Gold Certified. We appreciate Puppet Labs, Inc.’s leadership in taking concrete actions to make Portland a better place to live and work. We hope that Puppet Labs, Inc.’s achievement inspires other businesses to make innovative changes that improve profitability and sustainability.”</p></blockquote>
<p>This is a great achievement for Puppet Labs, and we feel proud to be recognized as a responsible environmental and community steward.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/puppet-labs-is-sustainability-at-work-gold-certified/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Join the Conversation: #Puppetize on Twitter</title>
		<link>http://puppetlabs.com/blog/join-the-conversation-puppetize-on-twitter/</link>
		<comments>http://puppetlabs.com/blog/join-the-conversation-puppetize-on-twitter/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 01:29:57 +0000</pubDate>
		<dc:creator>michelle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[josh cooper]]></category>
		<category><![CDATA[mike stahnke]]></category>
		<category><![CDATA[Nigel Kersten]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>
		<category><![CDATA[puppet enterprise 2.5]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13177</guid>
		<description><![CDATA[Join us in our first Puppet Labs-hosted Twitter chat this Wednesday at 11 am PT. There are three simple steps to participating: Be on Twitter between 11 am and 12 pm PT on April 4th Track the hashtag #puppetize Jump in the conversation and tag your tweets with #puppetize Our product manager Nigel Kersten, the [...]]]></description>
			<content:encoded><![CDATA[<p>Join us in our first Puppet Labs-hosted Twitter chat this Wednesday at 11 am PT. There are three simple steps to participating:</p>
<ol>
<li>Be on Twitter between 11 am and 12 pm PT on April 4th</li>
<li>Track the hashtag <a href="https://twitter.com/#!/search/%23puppetize">#puppetize</a></li>
<li>Jump in the conversation and tag your tweets with #puppetize</li>
</ol>
<p>Our product manager Nigel Kersten, the team lead for our Windows development team Josh Cooper, and community manager Mike Stahnke will be on the <a href="https://twitter.com/#!/puppetlabs">@puppetlabs</a> handle, ready to answer your questions, take your suggestions, and host the conversation. They’ll start with questions about Puppet Enterprise 2.5, but are open to talking about a number of Puppet-y topics (configuration management in general, best music for module-writing, etc).</p>
<p>That’s it! If you’re following #puppetize you can catch all sides of the conversation. Looking forward to chatting with you on April 4th.</p>
<p><em>Additional Resources</em></p>
<ul>
<li>Follow <a href="https://twitter.com/#!/puppetlabs">@puppetlabs</a> on Twitter</li>
<li>Read up on <a href="http://puppetlabs.com/puppet/whats-new/">what’s new in Puppet Enterprise 2.5</a></li>
<li>Catch our <a href="http://puppetlabs.com/resources/webinars/">introductory PE 2.5 webinar</a> at 11 am PT on Tuesday, April 3rd or 4 pm PT on April 5.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/join-the-conversation-puppetize-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Puppet Camps in Europe on the way</title>
		<link>http://puppetlabs.com/blog/three-puppet-camps-in-europe-on-the-way/</link>
		<comments>http://puppetlabs.com/blog/three-puppet-camps-in-europe-on-the-way/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 09:21:54 +0000</pubDate>
		<dc:creator>jose</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Puppet Camp]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/blog/three-puppet-camps-in-europe-on-the-way/</guid>
		<description><![CDATA[We&#8217;re happy to announce three European Puppet Camps: Edinburgh, Scotland March 23 (only 20 tickets left!) Register Stockholm, Sweden March 28 (20 tickets left!) Register Amsterdam, Netherlands April 2 Register Puppet Camps are 1-day community events for local audiences. Typically we&#8217;ll feature 3-5 local speakers along with a Puppet Labs Engineer. Schedules for all three [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re happy to announce three European Puppet Camps:</p>
<p><a href="http://booking.flossuk.org/">Edinburgh, Scotland March 23</a> <strong>(only 20 tickets left!)</strong></p>
<p><a class="gateway" href="http://booking.flossuk.org/">Register</a></p>
<p><a href="http://stockholmpuppetcamp.eventbrite.com">Stockholm, Sweden March 28</a> <strong>(20 tickets left!)</strong></p>
<p><a class="gateway" href="http://stockholmpuppetcamp.eventbrite.com?ref=ebtn">Register</a></p>
<p><a href="http://dctools.eventbrite.com">Amsterdam, Netherlands April 2</a></p>
<p><a class="gateway" href="http://dctools.eventbrite.com?ref=ebtn">Register</a></p>
<p>Puppet Camps are 1-day community events for local audiences. Typically we&#8217;ll feature 3-5 local speakers along with a Puppet Labs Engineer. Schedules for all three Puppet Camps are available, but may change as more talks are submitted.</p>
<p>Teyo Tyree, the VP of Business Development and co-founder of Puppet Labs, will be at all three events. RI Pienaar, the creator of MCollective (the backbone of Puppet Enterprises Live Management feature), will also be at Edinburgh. Core contributors to the Puppet project and interesting users are participating in all of the camps.</p>
<p>Puppet Camp Edinburgh is hosted in conjunction with <a href="http://www.flossuk.org/UKUUG">FLOSS UK&#8217;s spring conference</a>. Puppet Camp Amsterdam is being co-hosted by Cloudera and (Puppet Labs&#8217; local partner) <a href="http://www.amazicsource.com/">AmazicSource</a>. We&#8217;re in the process of expanding Puppet Camps from a bi-annual format to a roadshow appearing frequently throughout the year.</p>
<p>This year we are planning to hit New York, DC, Chicago, and either Melbourne or Sydney, but we&#8217;re also having conversations with organizers in Berlin and Geneva. If you think your city has enough interest in Puppet to support a 100+ person event, <a href="mailto:jose@puppetlabs.com">shoot us an email</a>.</p>
<p>Our end user conference PuppetConf will be held at the Mission Bay Conference Center in San Francisco, CA on September 27th and 28th. Look for more details on PuppetConf in the next few weeks, along with a call for participation.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/three-puppet-camps-in-europe-on-the-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the Puppet Labs Community Manager</title>
		<link>http://puppetlabs.com/blog/introducing-the-puppet-labs-community-manager/</link>
		<comments>http://puppetlabs.com/blog/introducing-the-puppet-labs-community-manager/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 19:22:25 +0000</pubDate>
		<dc:creator>Mike Stahnke</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=12416</guid>
		<description><![CDATA[Hello, I’m Michael Stahnke and I’m the new community manager at Puppet Labs. I’ll provide a little bit of background about myself, but then I want to jump into the important stuff around the Puppet community. I joined Puppet Labs in April of 2011 as the first Release Manager. I was a member of the [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, I’m Michael Stahnke and I’m the new community manager at Puppet Labs. I’ll provide a little bit of background about myself, but then I want to jump into the important stuff around the Puppet community. </p>
<p>I joined Puppet Labs in April of 2011 as the first Release Manager. I was a member of the community and using Puppet since late 2006. I learned about Puppet from being a member of the Fedora Project’s Infrastructure group. I also was one of the people helping get EPEL launched (Extra Packages for Enterprise Linux) very early on. I still contribute regularly to Fedora/EPEL, and of course to Puppet, Facter, Dashboard, Hiera and Mcollective. I also love Infrastructure Operations.</p>
<p>There’s obviously a ton I could write about in regards to community. The community around Puppet is awesome. It’s certainly a key reason I wanted to use Puppet, learn about it, learn Ruby, and join Puppet Labs. Today I’d like to focus on what my goals for the community are, and address some areas where we’ve fallen short in the past.</p>
<p>My main goal for the Puppet Community shouldn’t be any different than the goals of the Puppet project: </p>
<p>I want infrastructure problems to go away.</p>
<p>I want quality system administrators to have more time to explore their domain, and make their infrastructure services an investment rather than a cost center. I want infrastructure engineers to spend time on differentiating activities rather than having every shop reinvent time synchronization, DNS management, and authentication setups.</p>
<p>One of the real reasons I liked Puppet when I got started with it was the community. There were smart people here. I don’t just mean people good at Puppet, but people who solved difficult systems management problems. The people in the community discussed solutions for provisioning, patching, packaging, deployment, compliance, auditing, disaster recovery and everything else that was consuming my day as an infrastructure admin. So the Puppet community centered (and centers) around people who were (and are) awesome at infrastructure. I’m very interested in continuing to foster those types of discussions.</p>
<p>Beyond that, I have some more concrete goals around community and Puppet.</p>
<p>I’d like to enable the community to host Puppet User Groups or meet-ups. This means developing a formula for what works, a budget process, and hopefully the output is something like a “user-group-in-a-box” kit.</p>
<p>I want to define and recognize contributors. We spend a lot of time focused on contributors providing us with code. We love you, please keep doing it. We also want contributors to be recognized for things like documentation, filing excellent bug reports, leading/attending user groups, uploading modules to the forge, integrating Puppet with other tools, etc.</p>
<p>In the current event bucket, we have the process around Google Summer of Code 2012. We participated in GSOC in 2010, and liked it a lot. This year we’d like to participate again. This means we need awesome ideas for projects. We’ve started an idea page at <a href="http://projects.puppetlabs.com/projects/puppet/wiki/GSOC12">http://projects.puppetlabs.com/projects/puppet/wiki/GSOC12</a>, please contribute if you have any ideas for GSOC 2012.</p>
<p>In sitting down to identify gaps in the community, or friction points, a few items bubbled up quickly. So, we’re going to address them as soon as we can.</p>
<ol>
<li>It is difficult to find material about the Open Source projects on our main website.</li>
<li>We don’t do a super job recognizing members of the community.</li>
<li>We don’t capture a lot of information about what you, the community, are doing. This type of input can make our product and documentation much better.</li>
</ol>
<p>In the near future, look for some new content on our website, around community and the open source ecosystem. </p>
<p>I have several ideas on what we’ll do to fix these gaps. Some of this will require some patience and experimentation to get right as well. If you have comments and suggestions around the Puppet community, I’m available via Twitter (<a href="https://twitter.com/#!/stahnma">@stahnma</a>), Freenode (stahnma), and email (<a href="mailto:stahnma@puppetlabs.com">stahnma@puppetlabs.com</a>).</p>
<p>Look for a lot more to come in the future around community goals and involvement.</p>
<p><em>Additional Resources</em></p>
<ul>
<li><a href="http://projects.puppetlabs.com/projects/puppet/wiki/GSOC12">Contribute a Google Summer of Code project idea</a></li>
<li>Join a user list: <a href="http://groups.google.com/group/puppet-users">Puppet users</a> and <a href="https://groups.google.com/a/puppetlabs.com/group/pe-users/topics">Puppet Enterprise users</a></li>
<li><a href="http://projects.puppetlabs.com/">The Puppet Labs projects page</a></li>
<li><a href="http://forge.puppetlabs.com/">The Puppet Module Forge</a></li>
<li><a href="https://github.com/puppetlabs">The Puppet Labs GitHub</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/introducing-the-puppet-labs-community-manager/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

