<?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>Drumhead Trap &#187; skiold</title>
	<atom:link href="http://www.adriansilva.org/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adriansilva.org</link>
	<description>Skins and patches</description>
	<lastBuildDate>Thu, 12 May 2011 15:03:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Pair Plumbing &amp; Humble Inquiry</title>
		<link>http://www.adriansilva.org/2010/04/21/pair-plumbing-humble-inquiry/</link>
		<comments>http://www.adriansilva.org/2010/04/21/pair-plumbing-humble-inquiry/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 07:01:17 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Ageda]]></category>
		<category><![CDATA[Conversation]]></category>
		<category><![CDATA[bvox]]></category>
		<category><![CDATA[globalclassroom]]></category>
		<category><![CDATA[pair plumbing]]></category>
		<category><![CDATA[presencing]]></category>
		<category><![CDATA[silence]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=511</guid>
		<description><![CDATA[Pair Programming[1] is a established practice in part of the software development world. In a culture of lone-rangers, the idea of two people working productively together to get *one* thing done still meets resistence. The tale is about me trying to peer with my Boss to work on a network routing problem. At all times [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Pair Programming[1] is a established practice in part of the software</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">development world. In a culture of lone-rangers, the idea of two</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">people working productively together to get *one* thing done still</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">meets resistence.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The tale is about me trying to peer with my Boss to work on a network</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">routing problem.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">At all times in the process I was aware of the chasm in authority,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">technical savvy, and comfort with the intimacy that kept us from</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pairing efectively. To bridge that gap I tried with the Humble Inquiry</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">tips from Ed Schein[2]. We circled around the problem, a lecture on</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">the current system state, we both writing some docs, &#8230;, and then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">after a silence we casually began to work on the real domain &#8230;.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Two practices became fundamental to introduce pairing. First</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Humble Inquiry, switching roles and questioning level apropiately.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Second, silence; I view my Inquiries leading to the generative Silence  that allowed</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">for a new problem definition to emerge.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In the end my boss acknowledged the focus and insight provided by</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">pairing; the routing problem was solved shorlty afterwards with the</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">new things learnt. The remarks about him being a lone cowboy SysAdmin, still</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">present.</div>
<p><a title="Pair Programming wiki entry" href="http://c2.com/cgi/wiki?PairProgramming">Pair Programming</a>[1] is a established practice in part of the software development world. In a culture of lone-rangers, the idea of two people working productively together to get *one* thing done still meets resistance.</p>
<p>The tale is about me trying to peer with my Boss to work on a network routing problem.</p>
<p>At all times in the process I was aware of the chasm in authority, technical savvy, and comfort with the intimacy that kept us from pairing efectively. To bridge that gap I tried with the <a href="http://www.presencing.com/capacitybuilding/globalclassroom.shtml">Humble Inquiry tips from Ed Schein&#8217;s Presencing Global Classroom</a><a title="Session summary" href="http://ndhct.wordpress.com/2010/04/19/leaders-as-givers-receivers-of-help/"> second session</a>.</p>
<p>We circled around the problem, a lecture on the current system state, we both writing some docs, &#8230;, and then, after a silence, we casually began to work on the real domain &#8230;.</p>
<p>Two practices became fundamental to introduce pairing. First Humble Inquiry, switching roles and questioning level appropriately. Second, Silence; I view my Inquiries as leading to the generative Silence  that allowed for a new problem definition to emerge.</p>
<p>In the end my boss acknowledged the focus and insight provided by pairing; the routing problem was solved shorlty afterwards with the new things we learned. The remarks about him being a lone cowboy SysAdmin, still present.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2010/04/21/pair-plumbing-humble-inquiry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian i386 to amd64 conversion</title>
		<link>http://www.adriansilva.org/2010/01/25/debian-i386-to-amd64-conversion/</link>
		<comments>http://www.adriansilva.org/2010/01/25/debian-i386-to-amd64-conversion/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 09:22:21 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[archs]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[upgrades]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=508</guid>
		<description><![CDATA[Took my chance and moved our server Wealtheow from i386 to amd64 archs. A busy sunday it was. This step-by-step guide on debian i386 to amd64 conversion was really handy. I was in a hurry and needed clear and concise instructions. My only trouble with the procedure was on the last step. My initrd image [...]]]></description>
			<content:encoded><![CDATA[<p>Took my chance and moved our server Wealtheow from i386 to amd64 archs. A busy sunday it was.</p>
<p>This <a title="debian i386 to amd64 conversion" href="http://www.v13.gr/blog/?p=11">step-by-step guide on debian i386 to amd64 conversion</a> was really handy. I was in a hurry and needed clear and concise instructions.</p>
<p>My only trouble with the procedure was on the last step. My initrd image was built with bad libraries and refused to boot.</p>
<p>I had to update /etc/ld.so.conf and /etc/ld.so.d and rebuild the initrd from a rescue system (mkinitramfs).</p>
<p>Kudos to <a href="http://www.v13.gr/index.php?nocache=1264411504&amp;m=vsite-main&amp;s=self&amp;what=&amp;what=intro">Stefanos Harhalakis</a> for the howto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2010/01/25/debian-i386-to-amd64-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arthemia-Premium theme with Wpml</title>
		<link>http://www.adriansilva.org/2009/10/20/arthemia-premium-wpml/</link>
		<comments>http://www.adriansilva.org/2009/10/20/arthemia-premium-wpml/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:49:23 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[multilingual]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wpml]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=429</guid>
		<description><![CDATA[If you run a multilingual wordpress site with wmpl you&#8217;ll probably need to customize your theme files. Adapting the basic Arthemia theme is covered on an article on wpml.org. Here you can find instructions to make Arthemia-Premium work with WPML. If this helped you can always If this helped, but not enough, you can try [...]]]></description>
			<content:encoded><![CDATA[<p>If you run a multilingual wordpress site with wmpl you&#8217;ll probably need to customize your theme files.</p>
<p>Adapting the basic Arthemia theme is covered on an article on wpml.org. Here you can find instructions to make Arthemia-Premium work with WPML.</p>
<p>If this helped you can always <form class='donate' method='post' action='https://www.paypal.com/cgi-bin/webscr'>		<input type='hidden' value='5.00' name='amount'/>		<input type='hidden' value='_xclick' name='cmd'/>		<input type='hidden' value='adrian@ageda.net' name='business'/>		<input type='hidden' value='Donate for me' name='item_name'/>		<input type='hidden' value='1' name='no_shipping'/>		<input type='hidden' value='http://www.adriansilva.org' name='return'/>		<input type='hidden' value='http://www.adriansilva.org' name='cancel_return'/>		<input type='hidden' value='EUR' name='currency_code'/>		<input type='hidden' value='' name='page_style'/>		<input type='hidden' value='0' name='tax'/>		<input type='image' alt='PayPal - The safer, easier way to pay online' name='submit' style='border: 0pt none ;' src='https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif'/></form></p>
<p>If this helped, but not enough, you can try <a title="Ageda Infrastructures Contact Form" href="http://www.ageda.net/contacto.html">hiring me for help</a>.</p>
<p>This post is based on the Arthemia customizations used in the <a title="Vino Valencia: Monthly wine events in valencia" href="http://www.vino-valencia.com/">Vino Valencia</a> site.</p>
<h2>Home Page Link</h2>
<p>Relative links and links to the home page  should be fixed as per the <a title="Home Page Links And icl_get_home_url" href="http://wpml.org/home/getting-started-guide/home-page-link/">wpml site recommendations.</a></p>
<p>This is a Search&amp;Replace operation. In any of the theme&#8217;s files we need to replace occurences of:</p>
<ul>
<li>either `<em>get_option(&#8216;home&#8217;)</em>` or `<em>get_settings(&#8216;home&#8217;)</em>`</li>
<li>with `<em>icl_get_home_url()</em>`</li>
</ul>
<h2>Category links</h2>
<p>The function `<em>get_category_link()</em>` is replaced and extended in wpml with `<em>icl_link_to_element()</em>`; this function prints not only the link but also the wrapping html.</p>
<p>Here&#8217;s a sample patch from footer.php showing how we must make the `<em>get_category_link</em>` substitutions</p>
<p>(`-` denotes original line, `+` denotes updated line)</p>
<pre class="brush: diff; light: true; title: ; notranslate">
-       &lt;h3 class=&quot;cat_title&quot;&gt;&lt;a href=&quot;&lt;?php echo get_category_link($ar_video);?&gt;&quot;&gt;&lt;?php _e('Latest Video Post','arthemia');?&gt;&lt;/a&gt;&lt;/h3&gt;

+       &lt;h3 class=&quot;cat_title&quot;&gt;&lt;?php icl_link_to_element($ar_video, 'category'); ?&gt;&lt;/h3&gt;
</pre>
<p>`<em>icl_link_to_element</em>` uses the name of the category as title (i.e. instead of the original &#8216;Latest Video Post&#8217;). To customize the title use an additional parameter:</p>
<pre class="brush: php; light: true; title: ; notranslate">

icl_link_to_element($ar_video, 'category', __('Latest Video Post','arthemia'))
</pre>
<p><strong>Category listings</strong></p>
<p>A few componentes of Arthemia Premium use a foreach loop over an array of categories. To get the translated categories instead of the categories of the default language we need to add some wpml magic.</p>
<p>Here&#8217;s a sample substitution from the category bar in header.php :</p>
<p>(using the same patch notation as before)</p>
<pre class="brush: diff; light: true; title: ; notranslate">

sort($postcat);

foreach ($postcat as $cp_pC ) { ?&gt;

-

-    &lt;?php query_posts(&quot;showposts=1&amp;cat=$cp_pC&quot;); ?&gt;

+

+    &lt;?php $cp_pC = icl_object_id($cp_pC, 'category');

+     query_posts(&quot;showposts=1&amp;cat=$cp_pC&quot;); ?&gt;

&lt;div id=&quot;cat-&lt;?php echo $cp_pC; ?&gt;&quot; class=&quot;category&quot; onclick=&quot;window.location.href='&lt;?php echo get_category_link($cp_pC);?&gt;';&quot;&gt;
</pre>
<p>We tell WPML to get the Id of the translated category before moving on with the `<em>query_posts()`</em> call.  Places that need this fix applied can be found searching for occurrences of `<em>foreach ($postcat as $cp_pC )</em>`. The category bar and the spoilers are two of such places (in header.php and sidebar.php respectively).</p>
<h2>Random posts</h2>
<p>Random posts are selected in arthemia using a customized sql query. We must  join that query with wpml tables to limit the selected post to the current language. These changes serve as templates  for any other custom sql query a custom Arthemia-Premium may have implemented.  Here is the patch for this change (taken from the `<em>filter_queries</em>` function in the sitepress class):</p>
<pre class="brush: diff; light: true; title: ; notranslate">
-    &lt;?php $randompost = $wpdb-&gt;get_results(&quot;SELECT ID FROM $wpdb-&gt;posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 12&quot;);

+    &lt;?php $randompost = $wpdb-&gt;get_results(&quot;SELECT ID FROM $wpdb-&gt;posts p

+            JOIN &quot;.$wpdb-&gt;prefix.&quot;icl_translations t ON p.ID = t.element_id

+            WHERE p.post_status = 'publish' AND p.post_type = 'post' AND t.language_code='&quot;.ICL_LANGUAGE_CODE.&quot;'

+            LIMIT 12&quot;);

+

+    shuffle($randompost);
</pre>
<p>We `<em>shuffle()</em>` the posts array instead of including `<em>ORDER BY RAND()</em>` in the query.</p>
<h2>Colors on the category bar</h2>
<p>A tricky change. It can get confusing as the colors are only linked to the category ids in the default language; so you must translate some of the category id and let others unchanged.</p>
<p>I advise to replace the full `<em>for</em>` loop in header.php with the updated one  here:</p>
<pre class="brush: php; light: true; title: ; notranslate">

for( $cp_i = 1; $cp_i &lt;= $cp_max; $cp_i ++ ) {

$cp_catCol = get_settings( &quot;cp_catColor&quot; );

$cp_iCol = get_settings( &quot;cp_hexColor_&quot; . $cp_i );

$cp_tCol = get_settings( &quot;cp_textColor_&quot; . $cp_i );

$cp_hCol = get_settings( &quot;cp_hoverColor_&quot; . $cp_i );

if( ($cp_iCol != &quot;&quot;) || ($cp_tCol != &quot;&quot;)  ) { ?&gt;

/* category bar */

#cat-&lt;?php echo icl_object_id(get_settings( &quot;cp_colorCategory_&quot; . $cp_i ),'category'); ?&gt; { border-top:8px solid &lt;?php echo $cp_iCol ?&gt;; color:&lt;?php echo

$cp_tCol ?&gt;; }

#cat-&lt;?php echo icl_object_id(get_settings( &quot;cp_colorCategory_&quot; . $cp_i ),'category'); ?&gt;:hover { background:&lt;?php echo $cp_iCol ?&gt;; color:&lt;?php echo $cp

_hCol ?&gt;; }

/* sidebar */

#sidebar h3.catt-&lt;?php echo icl_object_id(get_settings( &quot;cp_colorCategory_&quot; . $cp_i ),'category'); ?&gt;  {background:&lt;?php echo $cp_iCol ?&gt;; color:&lt;?php ec

ho $cp_catCol ?&gt;; }

#sidebar h3.catt-&lt;?php echo icl_object_id(get_settings( &quot;cp_colorCategory_&quot; . $cp_i ),'category'); ?&gt; a { color:&lt;?php echo $cp_catCol ?&gt;; }

&lt;?php } } ?&gt;
</pre>
<p>Note how `<em>icl_object_id</em>` is used only to complete the css class `<em>catt-</em>`.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/10/20/arthemia-premium-wpml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SysPlumber Day</title>
		<link>http://www.adriansilva.org/2009/09/22/sysplumber-day/</link>
		<comments>http://www.adriansilva.org/2009/09/22/sysplumber-day/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 09:22:36 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Infrastructures]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=461</guid>
		<description><![CDATA[Sometimes Systems work is a lot like plumbing. You have that task that must get done no matter what, and you know you&#8217;ll be getting grimy in the proccess. Unpleasant as they are, this kind of jobs give quite a sense of accomplishment once done; people without dirty hands are wrong, aren&#8217;t they? Ldap authentication [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes <a title="ldap and plumbing" href="http://twitter.com/scyldinga/status/4145326121">Systems work</a> is a lot <a title="mod_rewrite fun over" href="http://twitter.com/scyldinga/status/4149624550">like plumbing</a>. You have that task that <strong>must</strong> get done no matter what, and you know you&#8217;ll be getting grimy in the proccess. Unpleasant as they are, this kind of jobs give quite a sense of accomplishment once done; <a title="Cult of Done Manifesto" href="http://www.brepettis.com/blog/2009/3/3/the-cult-of-done-manifesto.html">people without dirty hands are wrong</a>, aren&#8217;t they?</p>
<p>Ldap authentication and apache as ssl proxy and client verifier, stuff for another campfire tale &#8230;</p>
<p><img class="aligncenter size-full wp-image-462" title="apacheProxySsl" src="http://www.adriansilva.org/wp-content/uploads/2009/09/apacheProxySsl.png" alt="apacheProxySsl" width="444" height="237" />I&#8217;m glad not everything in Systems and Operations feels like plumbing; puppet smells good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/09/22/sysplumber-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A puppet 0.24.4 -&gt; 0.24.7 migration</title>
		<link>http://www.adriansilva.org/2009/07/05/a-puppet-0244-0247-migration/</link>
		<comments>http://www.adriansilva.org/2009/07/05/a-puppet-0244-0247-migration/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 17:08:22 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[mongrel]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[visualtis]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=374</guid>
		<description><![CDATA[I like to keep current the version of puppet on visualtis; a smallish without no much overhead when rolling-up the updates. In the end nothing breaks badly if puppet isn&#8217;t working properly. For a few months I had no time to invest in puppet and I ended migrating three minor versions of puppet. Namely from [...]]]></description>
			<content:encoded><![CDATA[<p>I like to keep current the version of puppet on visualtis; a smallish without no much overhead when rolling-up the updates. In the end nothing breaks badly if puppet isn&#8217;t working properly.</p>
<p>For a few months I had no time to invest in puppet and I ended migrating three minor versions of puppet. Namely from 0.24.4 to 0.24.7; three minor versions that moved puppet forward and caused some havoc on my systems.</p>
<p>With the new version Webrick&#8217;s performance was even worse than before. Plugins took forever to sync and most client just gave up with a timeout while retrieving plugins.</p>
<p>So the update was also motivation enough to <a href="http://reductivelabs.com/trac/puppet/wiki/UsingMongrelNginx">switch to mongrel plus nginx</a>. The instructions at puppet&#8217;s wiki are good enough. Once every thing was working properly the performanced skyrocketed, with mongrel my clients fetch and run its catalogs in a fraction of the time required with webrick; Hooray!</p>
<p>Only a issue with my prior client access control, had to disable any IP restrictions on fileserver.conf using <em>Allow *</em>. The issue has to do with nginx and mongrel unable to properly communicate the Ip of the client and <a title="Mongrel should use X-Forwarded-For" href="http://projects.reductivelabs.com/projects/puppet/repository/revisions/f3b40923605420f774dac298fb1708de180c0a81">seems fixed since a month ago</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/07/05/a-puppet-0244-0247-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coding craftsman seeks new job</title>
		<link>http://www.adriansilva.org/2009/06/24/coding-craftsman-seeks-job/</link>
		<comments>http://www.adriansilva.org/2009/06/24/coding-craftsman-seeks-job/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 20:30:15 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Conversation]]></category>
		<category><![CDATA[coding as art]]></category>
		<category><![CDATA[let-self-change]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[nano lending]]></category>
		<category><![CDATA[nano-credits]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[responsible]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=347</guid>
		<description><![CDATA[A pythonista seeks new job and I think of gift economies on 12seconds.tv Via planet python I read of a pythonista and craftsman feed-up with software establishment, and turning away from professional software development; he wants Art and energy back in his code. A brave guy, not afraid of the GIL-Dragons. I know many people [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://embed.12seconds.tv/i/embed?v=191735" scrolling="no" allowtransparency="true" frameborder="0" width="430" height="360"></iframe><br />
<a href="http://12seconds.tv/channel/scyldinga/191735">A pythonista seeks new job and I think of gift economies</a> on <a href="http://12seconds.tv">12seconds.tv</a></p>
<p><a href="http://embed.12seconds.tv/i/embed?v=191735"></a>Via planet python I read of a <a href="http://pkaudio.blogspot.com/2009/06/sick-of-programming.html">pythonista and craftsman feed-up with software establishment</a>, and turning away from professional software development; he wants Art and energy back in his code. A brave guy, not afraid of the <a href="http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=remove+the+GIl&amp;ie=UTF-8&amp;oe=UTF-8">GIL-Dragons</a>.</p>
<p>I know many <a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0787998095,descCd-authorInfo.html">people are slowing down and searching for fulfillment</a> where the little things don&#8217;t get in the way. Patrick&#8217;s choice in this is bar-tending for a living, and coding as part of his life. To me that choice implies lots of beer-tending and not that much/good coding; but working for non-profits, local communities, or just <a href="http://www.yourmoneyoryourlife.info/">embracing simplicity</a> are also approaches that probably wouldn&#8217;t suit me.</p>
<p>I&#8217;m trying the Natural Enterprise way, coding and technology for life and profit (mutual and responsible). I stand in the shoulders of those that contribute to Free Software project. My question is how integrate those Free Software coders in a working gift economy. Current donation and micro-payment schemes don&#8217;t work; they are good for the middle man but not cost effective for nano-lending (tips, &lt;10$). Maybe an open field for <a href="http://en.wikipedia.org/wiki/Alternative_currency">non-currencies,</a>the <a title="Kiva" href="http://www.kiva.org/about">P2P micro-credits</a>, and <a title="ChipIn" href="http://www.chipin.com/overview">fund-raising</a> entities.</p>
<p>I heartily recommend comments to Patrick&#8217;s post as well as his archived posts on c<a title="Coding with good energy" href="http://pkaudio.blogspot.com/2008/08/coding-with-good-energy.html">oding, energy, and Art</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/06/24/coding-craftsman-seeks-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Css lint in git</title>
		<link>http://www.adriansilva.org/2009/06/21/css-lint-in-gitc/</link>
		<comments>http://www.adriansilva.org/2009/06/21/css-lint-in-gitc/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 11:10:05 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[css validation]]></category>
		<category><![CDATA[cssparse]]></category>
		<category><![CDATA[devel toolbox]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[pre-commit]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=340</guid>
		<description><![CDATA[A short git hook (pre-commit) to check for css sanity before I commit changes to the git repo. Css validation done with the cssparse tool from css-utils (python). The idiom to get a list of staged git files and filter it is handy on other pre-commit scripts. for css in $(git diff-index --name-only --cached HEAD -- &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>A short <a href="http://www.kernel.org/pub/software/scm/git/docs/githooks.html">git hook (pre-commit)</a> to check for css sanity before I commit changes to the git repo.</p>
<p>Css validation done with the cssparse tool from <a href="http://code.google.com/p/cssutils/">css-utils </a>(python).</p>
<p>The idiom to get a list of staged git files and filter it is handy on other pre-commit scripts.<br />
<code><br />
for  css in $(git diff-index --name-only --cached HEAD -- | grep '\.css$'); do<br />
  if cssparse $css  2>&#038;1 | grep '^ERROR' ; then<br />
    exit 1<br />
  else<br />
    echo "css files validated"<br />
    exit 0<br />
  fi<br />
done<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/06/21/css-lint-in-gitc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web developers and joint ventures</title>
		<link>http://www.adriansilva.org/2009/04/07/web-developers-and-joint-ventures/</link>
		<comments>http://www.adriansilva.org/2009/04/07/web-developers-and-joint-ventures/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 18:35:30 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[eraa]]></category>
		<category><![CDATA[models]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=282</guid>
		<description><![CDATA[I find weird the way  most traditional (non-web) business deal with web developers. Imagine yourself  buying a piano with no idea on how to play it, just expecting the piano to do its magic without your intervention or knowledge; pianos don&#8217;t work that way, neither web sites. I&#8217;m in the planning phase of a joint [...]]]></description>
			<content:encoded><![CDATA[<p>I find weird the way  most traditional (non-web) business deal with web developers. Imagine yourself  buying a piano with no idea on how to play it, just expecting the piano to do its magic without your intervention or knowledge; pianos don&#8217;t work that way, neither web sites.</p>
<p>I&#8217;m in the planning phase of a joint venture in which most of my revenue will consist on a  sales percentage once the shop is up and running; why this kind of agreement aren&#8217;t more prevalent? I suppose they are perceived as risky. Better a web we cannot manage than share a fraction of its non-profits.</p>
<p>To the old-timer paying a commissions to salesmen should  be more than familiar; to the developer a percentage serves as motivation to keep things updated and justifies maintenance chores that sometimes are hard to bill.</p>
<p>So maybe some business should be looking for web developers willing to act as they sales representatives on the web and earn a mutual profit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/04/07/web-developers-and-joint-ventures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lenny on a Dell PowerEdge 2950</title>
		<link>http://www.adriansilva.org/2009/03/13/lenny-on-dell-poweredge-2950/</link>
		<comments>http://www.adriansilva.org/2009/03/13/lenny-on-dell-poweredge-2950/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 19:30:11 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[debian installer]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[poweredge 2950]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[sas6]]></category>
		<category><![CDATA[visualtis]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=267</guid>
		<description><![CDATA[Bootstraped a Dell PowerEdge 2950 with Lenny. I was surprised by the many candies hiding on the current Debian-Installer. In spite of the eternal and recurrent internal struggle each Debian release is way better than its predecesor; and I mean way better, not just up-to-date. The only pitfall on the installation was grub mishandling the Sas6 [...]]]></description>
			<content:encoded><![CDATA[<p>Bootstraped a Dell PowerEdge 2950 with <a title="Debian Lenny 5.0 Gnu/Linux" href="http://www.debian.org/releases/lenny/">Lenny</a>. I was surprised by the many candies hiding on the current Debian-Installer. In spite of the eternal and recurrent internal struggle each Debian release is way better than its predecesor; and I mean <strong>way</strong> better, not just up-to-date.</p>
<p>The only pitfall on the installation was grub mishandling the Sas6 arrays. Two Raid-1 arrays were configured on the internal SAS6 controller. The two arrays are seen as virtual disk on the Linux side, but their names/order are reversed:</p>
<blockquote><p>/dev/sda =&gt; contains the physical disks 2-3 (second array)</p>
<p>/dev/sdb =&gt; contains the physical disks 0-1 (first array)</p></blockquote>
<p>Both me and Debian Installer got confused with the disk distribution. Grub insisted on being installed on /dev/sda and that device won&#8217;t boot the machine. After a few tries (and hours) I got grub on the boot array (the first one); the install was completed by entering the target chroot and manually issuing:</p>
<blockquote><p>grub-install &#8211;no-floppy &#8220;(hd1)&#8221; </p></blockquote>
<p>Lesson learned, your Sas6 won&#8217;t look for a boot sector on the second array.</p>
<p>Now, with the machine provisioned and running, I&#8217;m itching with curiosity about the lcd display and the ipmi implementation on the machine. Seems that you can output to the lcd from linux in a primitive and crude way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/03/13/lenny-on-dell-poweredge-2950/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Late to dinner (my excuses to the Chef)</title>
		<link>http://www.adriansilva.org/2009/03/06/late-to-dinner-my-excuses-to-the-chef/</link>
		<comments>http://www.adriansilva.org/2009/03/06/late-to-dinner-my-excuses-to-the-chef/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 13:53:29 +0000</pubDate>
		<dc:creator>skiold</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Infrastructures]]></category>
		<category><![CDATA[chef]]></category>
		<category><![CDATA[community hijacking]]></category>
		<category><![CDATA[Floss]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[tla]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.adriansilva.org/?p=230</guid>
		<description><![CDATA[Last January a new company was born promising new tools for us working at IT infraestructure automation. The name of the tool is Chef; good luck looking for it on google, chef is a keyword as common as puppet. When i firs heard of chef i got a litle worried about the possible damages to [...]]]></description>
			<content:encoded><![CDATA[<p>Last January a new company was born promising new tools for  us working at IT infraestructure automation. The name of the tool is Chef; good luck looking for it on google, chef is a keyword as common as puppet.</p>
<p>When i firs heard of chef i got a litle worried about the possible damages to puppet as a community and as a project. It seemed weird to me to hear from chef on the #puppet irc channel and also weird were some of the opinions on the blogs of Chef&#8217;s evangelist (in particular one impliying bad behavior from Lak when he asked for money/contract to fix a particular issue).</p>
<p>In my opinion puppet is a well-behaved FLOSS project that is fostering community, writing code, and earning money. I&#8217;m glad to see those same worries of community hijacking being discussed in <a title="Community: how to deal with sabotage" href="http://groups.google.com/group/puppet-users/browse_thread/thread/86d28744d4b68ea0">puppet-users</a>. And even happier seeing the changes in licensing and focus that are underway at reductivelabs.</p>
<p>So, cheers for reductivelabs for keeping the good work and trying new roads to grow and prosperity. Let&#8217;s not repeat the <a title="The Tla Tale at twine.com" href="http://www.twine.com/item/122x7gx81-tq/the-tla-tale">Tla Tale</a>.</p>
<p>You can read the (now old) news about Chef at <a title="Opscode announces Chef" href="http://madstop.com/2009/01/16/opscode-announces-chef-a-puppet-competitor/">The Madstop</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adriansilva.org/2009/03/06/late-to-dinner-my-excuses-to-the-chef/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

