<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Webframp]]></title>
  <link href="http://webframp.github.com/atom.xml" rel="self"/>
  <link href="http://webframp.github.com/"/>
  <updated>2011-12-15T13:28:33-08:00</updated>
  <id>http://webframp.github.com/</id>
  <author>
    <name><![CDATA[Sean Escriva]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Splitting up a cookbook repo]]></title>
    <link href="http://webframp.github.com/blog/2011/12/15/splitting-up-a-cookbook-repo/"/>
    <updated>2011-12-15T13:12:00-08:00</updated>
    <id>http://webframp.github.com/blog/2011/12/15/splitting-up-a-cookbook-repo</id>
    <content type="html"><![CDATA[<p>It seems in the chef community lately there&#8217;s a growing trend for
cookbooks to be kept in separate repos, or even separate branches in a
single repo. I wanted to share the script I used to split out the
community-cookbooks repo for <a href="https://github.com/heavywater/">Heavywater</a></p>

<p>I knew the general git commands I needed to use, but it did take a few
local trial runs to get it exactly as I wanted. To create the actual
repos on github I made use of the excellent
<a href="http://defunkt.io/hub/">hub</a> script.</p>

<p>While there&#8217;s definitely a more elegant way to do this, maybe you
can use this as a starting point should you need to do the same.</p>

<div><script src='https://gist.github.com/1479720.js?file='></script>
<noscript><pre><code>#!/bin/bash

for cookbook_dir in `ls community-cookbooks`; do
    if [ $cookbook_dir != 'readme.md' ]; then
        REPO=chef-$cookbook_dir
        git clone --no-hardlinks ./community-cookbooks/ $REPO
        SAVEDIR=`pwd`
        cd $REPO
        git filter-branch --subdirectory-filter $cookbook_dir HEAD -- --all --prune-empty
        git reset --hard
        rm -rf .git/refs/original/
        git reflog expire --expire=now --all
        git gc --aggressive --prune=now
        git remote rm origin
        DESCRIPTION=`grep -w description metadata.rb | sed -e 's/^description[ \t]*//g'`
        HOMEPAGE='http://heavywater.ca'
        hub create heavywater/$REPO -d &quot;$DESCRIPTION&quot; -h $HOMEPAGE
        git push origin master
        cd $SAVEDIR
    fi
done
</code></pre></noscript></div>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Code as the new Latin]]></title>
    <link href="http://webframp.github.com/blog/2011/12/11/code-as-the-new-latin/"/>
    <updated>2011-12-11T19:36:00-08:00</updated>
    <id>http://webframp.github.com/blog/2011/12/11/code-as-the-new-latin</id>
    <content type="html"><![CDATA[<p>There&#8217;s a rather thought provoking article by David Mitchell at <a href="http://www.guardiannews.com/">The Guardian</a> site
right now. It&#8217;s relatively short and worth reading, and I say that
even as someone who isn&#8217;t all that interested in the NHS project that
frames the article&#8217;s opening paragraphs.</p>

<p>Mitchell makes two points that I found myself both agreeing with as a
developer and sysadmin, and leading me to further thought. First:</p>

<blockquote><p>Nothing sharpens the brain like a whetstone of tedium</p><footer><strong>David Mitchell</strong><cite><a href='http://www.guardian.co.uk/commentisfree/2011/dec/11/nhs-it-computer-david-mitchell?mobile-redirect=false'>I Want to Talk to You About the NHS&#8230;</a></cite></footer></blockquote>


<p>In the context of our work tedium could be any number of things. For
some it&#8217;s documentation, labeling cables, seemingly minor manual
config changes made in production up or the ever present yak shaving
in some form or another. A drive to erase this boredom or tedium has
resulted in many of the excellent tools in use today, such as Chef,
Puppet, and other powerful automation software. Repeated slogging
through boring steps led someone to think &#8220;I can do this better&#8221;.</p>

<p>Of course, not all tedium is bad and needs to be eliminated. In
programming there&#8217;s no substitute for the hours of typing code in an
editor that improves your grasp of a language, the way repeated
physical exercise hones the body. The ability to focus for increasing
lengths of time on a given problem or task is a valuable skill. Ones
mental acuity, that ability to concentrate, focus and understand, can
be greatly improved with effort. These are valuable skills that
improve over time, accompanied by some percentage of tedium, the way
practicing scales may see  to a new guitarist.</p>

<p><span class='pullquote-right' data-pullquote='Coding is the new Latin '>
The second point Mitchell makes actually comes from Alex Hope,
co-author of the recent
<a href="http://www.nesta.org.uk/publications/assets/features/next_gen">Next Gen report</a>:
<em>Coding is the new Latin</em>. He is also quoted in a recent BBC news article by <a href="http://www.bbc.co.uk/news/technology-15916677">Rory Cellan-Jones</a>
</span></p>

<p>Computers are here to stay and yet for the most part many still view
them as &#8220;an imposition, a distraction, something stultifying that
dominates our lives but we somehow feel shouldn&#8217;t&#8221;. The way they are
explained and taught is a perhaps a direct outcome of this, sometimes silently unacknowledged, viewpoint.</p>

<p><img class="left" src="http://i.imgur.com/Fg9mJ.jpg" width="449" height="364" title="Image courtesy Shutterstock - Maresol" ></p>

<blockquote><p>&#8230;even a rudimentary knowledge of Latin cuts down the labor and pains of learning almost any other subject by at least 50 percent.</p><footer><strong>-</strong><cite>The National Review</cite></footer></blockquote>


<p>Code needs to be the common language to teach people about the world
we now live in. The perspective and understanding gained from learning
to solve even a simple problem using python or ruby can give people a
sense that these machines they now depend on are not so foreign or
unknowable. It certainly does more than teaching them how to SUM
numbers in a spreadsheet.</p>

<p>David Mitchell compared code as Latin for the assumed tedium, but I
think it can be done better. Everyone should be able to at least read
and understand the flow of some code.</p>

<p>One of the most intriguing things I&#8217;ve noticed about the devops
movement is the emphasis on a culture of inclusion and instruction.
This is one of the main reasons I enjoy being a part of it. Certainly
learning to code is not generally an issue with people who are either
in development or systems administration, but we need to continue to be
better at instilling our love for what we do and why we do it in
others. Not just within our culture or respective fields, but
everywhere.</p>

<p>In a healthy organization no one should be content to
just &#8220;throw code over the wall&#8221; or not think about how all the pieces
fit together. We&#8217;re certainly working to change
that, but it can go further. Everyone who touches computing resources
in an organization can have a basic understanding of &#8216;what makes it
tick&#8217;. They may never be driven to tinker and make changes on their
own, but they can be helped to see and appreciate the inner workings in a favorable light.</p>

<p>We shouldn&#8217;t be keepers of some ivory tower but instead mentors and instructors,
sharing excitement and understanding, the very thing we should already
possess and that brought us to the field we are in. I believe teaching others to
code and to understand code, even though they may not choose to do so
themselves, can have a significant impact on their comfort level and
enjoyment in working with the tools we use today.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[This I want to remember]]></title>
    <link href="http://webframp.github.com/blog/2011/12/01/this-i-want-to-remember/"/>
    <updated>2011-12-01T13:05:00-08:00</updated>
    <id>http://webframp.github.com/blog/2011/12/01/this-i-want-to-remember</id>
    <content type="html"><![CDATA[<p>One topic frequently tossed around at the recent Opscode summit was a
re-org of the cookbooks repository. No more monolothic <a href="https://github.com/opscode/cookbooks">cookbooks</a> repo
on github, instead replaced by single cookbook repos, making it much
easier to pull and contribute to a single cookbook.</p>

<p><a href="https://twitter.com/jtimberman">@jtimberman</a> will be leading this effort.</p>

<p>On a slightly unrelated note, it looks like <a href="https://twitter.com/dysinger/status/141954044188037121">@dysinger</a> posted a handy little cleanup script:</p>

<div><script src='https://gist.github.com/1410287.js?file='></script>
<noscript><pre><code>#!/bin/bash

for cookbook in $(find * -type d -maxdepth 0); do
    git clone ./ ../${cookbook}
    cd ../${cookbook}
    git remote rm origin
    git filter-branch --subdirectory-filter ${cookbook} -- --all
    git gc --aggressive
done
</code></pre></noscript></div>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Opscode Community Summit - Day Two]]></title>
    <link href="http://webframp.github.com/blog/2011/11/30/opscode-community-summit-day-two/"/>
    <updated>2011-11-30T20:41:00-08:00</updated>
    <id>http://webframp.github.com/blog/2011/11/30/opscode-community-summit-day-two</id>
    <content type="html"><![CDATA[<p>The first historic Opscode Community Summit is officially over. See
yesterdays post for a basic description of the event and structure.</p>

<p>After another brief introduction, topics were discussed, a schedule
arranged and the agenda was live. Topics for day two included:</p>

<blockquote><p>Managed Nodes a.k.a external entities<br/>  Chef for big data projects, such as hadoop, cassandra and similar<br/>  Ticket/triage process<br/>  Network monitoring, it sucks<br/>  Feature roadmaps, both short and long term</p></blockquote>


<p>There&#8217;s more, but I lost track due to poor note taking on my part.</p>

<p>By far the biggest announcement to come out of today was the fact that
Hosted Chef is moving from Ruby+NoSQL to Erlang+MySQL. For Opscode it
boils down to using the right tools for the job and after a hard look
at how Hosted Chef is being used it&#8217;s clear this change will be for
the better. Erlang brings a ton of cool benefits and I look forward to
hearing about their migration path from the current platform. Lots of
nice performance graphs accompanied this discussion, led by Chris
Brown and Kevin Smith from Opscode.</p>

<p><a href="http://twitter.com/portertech">Sean Porter</a> led a discussion about monitoring and the how the
community is using the myriad of tools available to us. Basically
monitoring is hard and has subtle challenges at scale in current
implementations. He showed off <a href="http://portertech.ca/2011/11/01/sensu-a-monitoring-framework/">sensu</a> and discussed ways for
possible collaboration with the community. I hope to dig in to this a
little more since I&#8217;ve been thinking about problems in around
monitoring, metrics and alerting for a little while lately.</p>

<p><img class="left" src="http://farm7.staticflickr.com/6039/6431812797_4cc2d00eba.jpg" width="500" height="299" title="Day One Agenda" alt="Agenda Board - Day 2"></p>

<p>Overall what I most enjoyed about the summit is the sense of community
that is clearly maturing around chef. With so many passionate people
and hard problems, there&#8217;s bound to be some neat things on the
horizon. It&#8217;ll be exciting to see what the next year holds in store
for Opscode and the chef community.</p>

<p>Check out further details on the individual sessions on the <a href="http://wiki.opscode.com/display/chef/Day+2">Opscode wiki</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Opscode Community Summit - Day One]]></title>
    <link href="http://webframp.github.com/blog/2011/11/29/opscode-community-summit-day-one/"/>
    <updated>2011-11-29T18:49:00-08:00</updated>
    <id>http://webframp.github.com/blog/2011/11/29/opscode-community-summit-day-one</id>
    <content type="html"><![CDATA[<p>Opscode Summit day one has passed. I had to skip the sponsored dinner
tonight, so for others it might still be going on. While there were
lot&#8217;s of great sessions going on, and a great variety of people
(seemed like 100+ in attendance), one thing stood out to me: <em>The Chef
community is awesome.</em></p>

<p><img class="left" src="http://farm8.staticflickr.com/7002/6428818519_0fb57b8155.jpg"></p>

<p>To be fair, there are many great tech communities but the advantage the chef
community has, and devops culture in general, is how many different
skill sets are necessarily brought together combined with a culture of
friendliness. Networking gurus, SysAdmin
fanatics and passionate Devs are all brought together to solve some of
the toughest challenges in modern computing infrastructures.</p>

<p>The benefits from this variety of experiences are immediately evident
with everyone brought to the same table, each one sharing their unique
perspectives and experience. With so much to learn it&#8217;s great there&#8217;s
so many experienced, friendly people to learn from.</p>

<h3>Agenda and Sessions</h3>

<p><img class="right" src="http://farm7.staticflickr.com/6113/6426059297_1ac8365b9c.jpg" width="500" height="299" title="Day One Agenda" alt="Agenda Board - Day 1">
The Community Summit is structured in an Open Space
<a href="http://en.wikipedia.org/wiki/Unconference"><em>unconference</em></a> style, which is
a refreshing change from the usual conference agenda approach.</p>

<p>After a brief introduction attendees gathered to discuss the topics and
sessions that would be discussed throughout the day. The resulting
agenda board is pictured at right.</p>

<p><span class='pullquote-right' data-pullquote='If at any time you find yourself in any situation where you are neither learning nor contributing: Give greetings, use your two feet, and go do something useful. Responsibility resides with you. '>
Throughout the day I especially like how the guiding idea of the Law of
Two Feet was evident:
If at any time you find yourself in any situation where you are neither learning nor contributing: Give greetings, use your two feet, and go do something useful. Responsibility resides with you.</p>

<p>This fosters a relaxed, self-learner friendly style of participation,
which I felt lowered the social barrier for participation within the groups.
</span></p>

<p>Personally I was able to attend the discussions on Cookbook syntax checking
&#8216;Lint&#8217; style, Management of External Entities, Documentation
improvements, How to handle &#8220;tactical&#8221; or short-lived changes and the
&#8216;Choose-your-own-adventure&#8217; style talk by <a href="https://github.com/adamhjk">Adam Jacob</a>.</p>

<p>Further details for the individual sessions are available over on the
wiki:
<a href="http://wiki.opscode.com/display/chef/Day+1">Chef Summit - Day One</a></p>

<p>I&#8217;m looking forward to the sessions tomorrow.</p>
]]></content>
  </entry>
  
</feed>

