<?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>serialized.net</title>
	<atom:link href="http://serialized.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://serialized.net</link>
	<description>An ongoing expression of fascination burnout</description>
	<lastBuildDate>Thu, 18 Jun 2009 19:22:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>So much to say, so little time to say it!</title>
		<link>http://serialized.net/2009/06/so-much-to-say-so-little-time-to-say-it/</link>
		<comments>http://serialized.net/2009/06/so-much-to-say-so-little-time-to-say-it/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 19:22:02 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Ramble]]></category>

		<guid isPermaLink="false">http://serialized.net/2009/06/so-much-to-say-so-little-time-to-say-it/</guid>
		<description><![CDATA[I&#8217;ve been working on a lot of fun things both personally and for my company. However, I haven&#8217;t prioritized blogging about it. Maybe I should add a GTD recurring task to &#8216;blog about what&#8217;s on my plate.&#8217;
Things I&#8217;ve been focusing on:
Learning more about agile methods, especially as it pertains to to dealing with teams that [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a lot of fun things both personally and for my company. However, I haven&#8217;t prioritized blogging about it. Maybe I should add a GTD recurring task to &#8216;blog about what&#8217;s on my plate.&#8217;</p>
<p>Things I&#8217;ve been focusing on:</p>
<p>Learning more about agile methods, especially as it pertains to to dealing with teams that have operational requirements as well. </p>
<p>Working more with my OpenSolaris NAS. Suprisingly, one of my most popular ever blog articles. </p>
<p>Playing lots of music: I&#8217;m playing bass and guitar in my cover band&#8217;s summer concert this weekend. (Can&#8217;t wait!)</p>
<p>Planning an epic road trip for the summer: 5 weeks up the West Coast, starting in July.</p>
<p>And, of course, loving my little 5 month old!</p>
<p>So, more blogs to come.   </p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/06/so-much-to-say-so-little-time-to-say-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great meal at Providence</title>
		<link>http://serialized.net/2009/04/great-meal-at-providence/</link>
		<comments>http://serialized.net/2009/04/great-meal-at-providence/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 14:21:44 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=270</guid>
		<description><![CDATA[Last night we had a delicious and amazing dinner, celebrating Amber&#8217;s 27th birthday, at Providence.
It was a &#8216;5&#215;5 Chefs Collaborative&#8217;, meaning 5 local chefs (and 1 guest chef, Alex Stratta) hung out together and handled one course each.
They gave us a menu to take home that I&#8217;ve attached. All the chefs signed it, which was [...]]]></description>
			<content:encoded><![CDATA[<p>Last night we had a delicious and amazing dinner, celebrating Amber&#8217;s 27th birthday, at Providence.</p>
<p>It was a &#8216;5&#215;5 Chefs Collaborative&#8217;, meaning 5 local chefs (and 1 guest chef, Alex Stratta) hung out together and handled one course each.</p>
<p>They gave us a menu to take home that I&#8217;ve attached. All the chefs signed it, which was a nice touch I&#8217;d never seen before.</p>
<p>The menu: <a href="http://serialized.net/wp-content/uploads/2009/04/providence-5x5-signed-menu.pdf" title="Providence 5x5 Signed Menu">Providence 5&#215;5 Signed Menu.pdf</a></p>
<p>Every course was incredible. Our favorite courses were probably the amuses, the hamachi sashimi, and the best testament to the power of sous vide I&#8217;ve had in a long time &#8212; Alex Stratta&#8217;s duck.</p>
<p>Yum.</p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/great-meal-at-providence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing volatile files with puppet</title>
		<link>http://serialized.net/2009/04/managing-volatile-files-with-puppet/</link>
		<comments>http://serialized.net/2009/04/managing-volatile-files-with-puppet/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 22:21:56 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=259</guid>
		<description><![CDATA[I&#8217;m managing Linux HA (heartbeat2) from Puppet and I had a problem.
There is a file called &#8216;cib.xml&#8217; used by heartbeat which I needed to manage. For a variety of boring reasons, when you make changes to this file, you must have a number in it which is the highest the
app has ever seen.
To make things [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m managing <a href="linux-ha.org">Linux HA</a> (heartbeat2) from <a href="http://reductivelabs.com">Puppet</a> and I had a problem.<br />
There is a file called &#8216;cib.xml&#8217; used by heartbeat which I needed to manage. For a variety of boring reasons, when you make changes to this file, you must have a number in it which is the highest the<br />
app has ever seen.</p>
<p>To make things easy, I use the current timestamp for this, as I&#8217;ve never seen that number go backwards.</p>
<p>Ok, not the normal kind of thing you do with Puppet, but it can be done. We just need to know what time it is in the template.</p>
<p>Thankfully Puppet lets us define custom facts, so here we go&#8230;<br />
in the module&#8217;s plugins/facter directory, I created &#8216;epoch_time.rb&#8217;.</p>
<pre class="brush: ruby">
Facter.add(&quot;epoch_time&quot;) do
        setcode do
                Time.now.to_i
        end
end
</pre>
<p>Then I could use that in templates/heartbeat/cib.xml I said</p>
<pre class="brush: xml">
 &lt;cib admin_epoch=&quot;&lt;%= epoch_time %&gt;&quot;&gt;
</pre>
<p>Well, that works fine, except for one little issue.</p>
<p>When puppet manages a file it does this:</p>
<ol>
<li>Renders out the templates and takes an md5sum of that</li>
<li>Sends that to the client, which checks it&#8217;s own md5sum</li>
<li>If the sums are different, the client overwrites the file with the old one</li>
<li>The client then updates anything &#8217;subscribed&#8217; to that file (for example, restarting a service.)</li>
</ol>
<p>So since puppet runs about every 30 minutes, that&#8217;s not good. I don&#8217;t want to be reloading the CIB database every 30 minutes. That&#8217;s bad.</p>
<p>This is what we get:</p>
<pre>
debug: File[/etc/ha.d/ha.cf]/checksum: Initializing checksum hash
debug: File[/etc/ha.d/ha.cf]: Creating checksum {md5}18530322762561ce59f1d414340b4c43
debug: File[/etc/ha.d/cib.xml]/checksum: Initializing checksum hash
debug: File[/etc/ha.d/cib.xml]: Creating checksum {md5}a02f0ca8a3cce64d7913faa3268e530b
debug: File[/etc/ha.d/cib.xml]/content: Executing 'diff /etc/ha.d/cib.xml /tmp/puppet-diffing20090415-3486-ska653-0'
1c1
< <cib admin_epoch="1239318580">
---
>  <cib admin_epoch="1239815009">
debug: File[/etc/ha.d/cib.xml]: Changing content
debug: File[/etc/ha.d/cib.xml]: 1 change(s)
</cib></pre>
<p>So here was my solution, and as inelegant as it is, it pretty much works.</p>
<ol>
<li>Manage a file called &#8216;cib.xml-puppet&#8217; instead</li>
<li>In this file, set admin_epoch=&#8221;0&#8243;</li>
<li>When THAT file changes, do a chained action which sets the epoch time correctly, and writes out the actual cib.xml file</li>
<li>Run the command to reload the CIB database in that and only that case.</li>
</ol>
<p>So the puppet code to make this happen:</p>
<pre class="brush: ruby">
        exec { &quot;add-epoch-cib-xml&quot;:
                command =&gt; &quot;sed &#039;s/admin_epoch=\&quot;0\&quot;/admin_epoch=\&quot;${epoch_time}\&quot;/&#039; /etc/ha.d/cib.xml-puppet &gt; /etc/ha.d/cib.xml &amp;&amp; cibadmin -R -x /etc/ha.d/cib.xml&quot;,
                path =&gt; [&quot;/bin&quot;, &quot;/usr/sbin/&quot;],
                subscribe =&gt; File[&quot;/etc/ha.d/cib.xml-puppet&quot;],
                refreshonly =&gt; true,
        }
        file { &quot;/etc/ha.d/cib.xml-puppet&quot; :
                type =&gt; &#039;file&#039;,
                ensure =&gt; &#039;present&#039;,
                content =&gt; template(&quot;ha_nfsroot/heartbeat/cib.xml&quot;);
        }
</pre>
<p>So I still get to use my very first custom fact (it gets interpolated into the &#8217;sed&#8217; command) but I also don&#8217;t run that terrifying update every time.</p>
<p>If any puppetmasters or Linux HA gurus want to tell me exactly how I&#8217;m doing it wrong I would love to hear that. This certianly doesn&#8217;t feel &#8220;elegant.&#8221;<br />
However, since it feels &#8220;functional&#8221;, functionality trumps elegance for today.<br />
</cib></p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/managing-volatile-files-with-puppet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Plugins and external services</title>
		<link>http://serialized.net/2009/04/wordpress-plugins-and-external-services/</link>
		<comments>http://serialized.net/2009/04/wordpress-plugins-and-external-services/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 19:46:38 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=257</guid>
		<description><![CDATA[I noticed this blog was slow from time to time, and decided to do a bit of investigation.
That took the form of a very very sweet hack that I will publish at a later date, but for now I&#8217;ll just share some of the results.
In the sidebar I am using pretty standard WordPress plugins to [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed this blog was slow from time to time, and decided to do a bit of investigation.</p>
<p>That took the form of a very very sweet hack that I will publish at a later date, but for now I&#8217;ll just share some of the results.</p>
<p>In the sidebar I am using pretty standard WordPress plugins to load in</p>
<ul>
<li>my latest images from Flickr</li>
<li>my latest tweets from Twitter</li>
<li>my recent bookmarks from del.icio.us</li>
</ul>
<p>These plugins are all implemented as server-side fetches.</p>
<p>Here&#8217;s the thing, those services aren&#8217;t always very fast. For example, on a recent run I got these results:</p>
<table>
<tr>
<th>Host</th>
<th>Service</th>
<th>Load Time</th>
</tr>
<tr>
<td>128.121.146.228</td>
<td>Twitter</td>
<td>1.831s</td>
</tr>
<tr>
<td>fe.feeds.del.vip.ac4.yahoo.net</td>
<td>del.icio.us</td>
<td>1.148s</td>
</tr>
<tr>
<td>www.flickr.vip.mud.yahoo.com</td>
<td>Flickr</td>
<td>0.274s</td>
</tr>
</table>
<p>I guess I need to either switch to using an in-browser widget model, or cron a fetch of that data locally on some reasonable interval. That might be a nice service for WordPress to have internally for widget authors: &#8216;cron/cache mode.&#8217; Provide a URL to curl periodically that updates the caches on all your active widgets, as well as a global configuration about how fresh you want your data to be.</p>
<p>I don&#8217;t care if any of those results are more than an hour up to date, I&#8217;d much prefer to have my page load time cut by <b>3.24 seconds</b> than have it be up-to-the second accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/wordpress-plugins-and-external-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handy cooking technique: the supersweat</title>
		<link>http://serialized.net/2009/04/handy-cooking-technique-the-supersweat/</link>
		<comments>http://serialized.net/2009/04/handy-cooking-technique-the-supersweat/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 15:14:53 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=253</guid>
		<description><![CDATA[Maybe it&#8217;s a par-braise? Not sure.
In any case, here&#8217;s the essence: 

When you&#8217;re cooking something that has it&#8217;s own residual moisture, use that moisture (instead of additional fat) to help cook the items by putting a lid on your pan.

2 good examples I&#8217;ve used this on recently are mushrooms and onions. Toss a bit of [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe it&#8217;s a par-braise? Not sure.</p>
<p>In any case, here&#8217;s the essence: </p>
<blockquote><p>
When you&#8217;re cooking something that has it&#8217;s own residual moisture, use that moisture (instead of additional fat) to help cook the items by putting a lid on your pan.
</p></blockquote>
<p>2 good examples I&#8217;ve used this on recently are mushrooms and onions. Toss a bit of olive oil or butter in a pan, add the veggies and cook for a bit, then lid the pan. Because the environment gets so steamy you&#8217;ll actually be able to cook the vegetables more than you would have (for the things like mushrooms and onions, where &#8216;cooking more&#8217; is more virtue than crime) without them starting to stick and burn.</p>
<p>Mushrooms in particular are known for absorbing any fat you throw in the pan, then, as you cook, spitting it back out, and getting greasy.</p>
<p>Capturing the water vapor (deliciously flavored water vapor, I might add) and using that to keep everything nicely lubricated solves that problem.</p>
<p>Then, at the end of the process, when you&#8217;re close to the texture you want, pop the lid off, and let that little bit of fat you added in the beginning do it&#8217;s magic and brown things all up.</p>
<p>I&#8217;m curious to see if this works with other &#8217;superabsorbers&#8217; like eggplant, but that&#8217;s for another day.</p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/handy-cooking-technique-the-supersweat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So sick of keys</title>
		<link>http://serialized.net/2009/04/so-sick-of-keys/</link>
		<comments>http://serialized.net/2009/04/so-sick-of-keys/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 05:46:52 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Ramble]]></category>

		<guid isPermaLink="false">http://serialized.net/2009/04/so-sick-of-keys/</guid>
		<description><![CDATA[I was almost asleep when I got a text message that jolted me awake. To settle back down I decided to sort out my keys. It&#8217;s pretty amazing what I have to carry right now:
11 real keys
2 battery powered keyless remotes
1 RFID tag for a coded door
1 gym bar code tag
Thankfully, within a month I [...]]]></description>
			<content:encoded><![CDATA[<p>I was almost asleep when I got a text message that jolted me awake. To settle back down I decided to sort out my keys. It&#8217;s pretty amazing what I have to carry right now:<br />
11 real keys<br />
2 battery powered keyless remotes<br />
1 RFID tag for a coded door<br />
1 gym bar code tag</p>
<p>Thankfully, within a month I should be<br />
-1 key and keyless from selling the Subaru<br />
-2 keys from my subleased office I am moving out of<br />
-2 keys from selling my scooter<br />
-2 keys from my new office (once converted to use the RFID). </p>
<p>So for now I just have to live with a bloated ring. </p>
<p>I wonder how many years it will be before we look back on keys as a hilarious antiquated concept. There&#8217;s already enough hardware in my car and office building that they could at least offer an iPhone compatability mode. And you only have to search &#8216;bump key&#8217; on YouTube to realize how silly &#8216;traditional&#8217; locks are. </p>
<p>Oh well. Time to see if I can get back to sleep.</p>
<p><a href="http://serialized.net/wp-content/uploads/2009/04/p-618-463-6325a197-4272-4a0c-8413-4fa3929547a3.jpeg"><img src="http://serialized.net/wp-content/uploads/2009/04/p-618-463-6325a197-4272-4a0c-8413-4fa3929547a3.jpeg" alt="" width="224" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/so-sick-of-keys/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Embroidered lab coat fun</title>
		<link>http://serialized.net/2009/04/embroidered-lab-coat-fun/</link>
		<comments>http://serialized.net/2009/04/embroidered-lab-coat-fun/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 23:14:37 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Ramble]]></category>

		<guid isPermaLink="false">http://serialized.net/2009/04/embroidered-lab-coat-fun/</guid>
		<description><![CDATA[My colleague, Mr. Rice, has a first name starting with &#8216;D&#8217;. This means his chat username at work is &#8216;drice&#8217;. At some point it was noted that you could read that as &#8216;Dr. Ice&#8217; and a nickname was born. 
To celebrate his third year with us I got a embroidered coat made. 

]]></description>
			<content:encoded><![CDATA[<p>My colleague, Mr. Rice, has a first name starting with &#8216;D&#8217;. This means his chat username at work is &#8216;drice&#8217;. At some point it was noted that you could read that as &#8216;Dr. Ice&#8217; and a nickname was born. </p>
<p>To celebrate his third year with us I got a embroidered coat made. </p>
<p><a href="http://serialized.net/wp-content/uploads/2009/04/p-607-455-cfb3a32f-e035-4c06-8ff1-eef14d7ab8b0.jpeg"><img src="http://serialized.net/wp-content/uploads/2009/04/p-607-455-cfb3a32f-e035-4c06-8ff1-eef14d7ab8b0.jpeg" alt="" width="224" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/04/embroidered-lab-coat-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editing puppet files with vim: now with &#8216;quickfix&#8217; support.</title>
		<link>http://serialized.net/2009/03/editing-puppet-files-with-vim-now-with-quickfix-support/</link>
		<comments>http://serialized.net/2009/03/editing-puppet-files-with-vim-now-with-quickfix-support/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 20:13:13 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=245</guid>
		<description><![CDATA[So the puppet guys provide some notes and files on running puppet with vim.
One thing I didn&#8217;t see anything that provided a &#8216;compiler&#8217;, so I could edit a &#8216;.pp&#8217; file, then do :make to check for errors. (Check out :help make in your vim for more information about the quickfix tool.)
This little tar contains all [...]]]></description>
			<content:encoded><![CDATA[<p>So the puppet guys provide some notes and files on running puppet with vim.<br />
One thing I didn&#8217;t see anything that provided a &#8216;compiler&#8217;, so I could edit a &#8216;.pp&#8217; file, then do :make to check for errors. (Check out <code>:help make</code> in your vim for more information about the quickfix tool.)</p>
<p>This little tar contains all the files you need to make this work. Careful with it, as I have provided a minimalist .vimrc so don&#8217;t unpack this in your home directory.</p>
<p> <a href="http://serialized.net/wp-content/uploads/2009/03/puppet-vimtar.gz" title="puppet_vim.tar.gz">puppet_vim.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/03/editing-puppet-files-with-vim-now-with-quickfix-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DTrace on OSX: incredibly useful.</title>
		<link>http://serialized.net/2009/03/dtrace-on-osx-incredibly-useful/</link>
		<comments>http://serialized.net/2009/03/dtrace-on-osx-incredibly-useful/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 15:59:52 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=242</guid>
		<description><![CDATA[So because I am insane and completely unable to master one thing before becoming fascinated with something new, I&#8217;m learning Haskell. By &#8220;learning&#8221; I mean &#8220;will be able to do simple apps and have a good sense for what it&#8217;s good for.&#8221;
In any case, it&#8217;s easy to install on a Mac if you&#8217;ve got MacPorts [...]]]></description>
			<content:encoded><![CDATA[<p>So because I am insane and completely unable to master one thing before becoming fascinated with something new, I&#8217;m learning Haskell. By &#8220;learning&#8221; I mean &#8220;will be able to do simple apps and have a good sense for what it&#8217;s good for.&#8221;</p>
<p>In any case, it&#8217;s easy to install on a Mac if you&#8217;ve got MacPorts set up:<br />
<code>sudo port install ghc</code></p>
<p>However, the install takes a LOOOONG time. So long, I was wondering if something had gotten hung. I could see (and hear from the fans doing their best) that the CPU was busy. Running top just showed that a process named ghc (the Haskell compiler itself) was working in some way. But DTrace shows exactly what&#8217;s going on.</p>
<p>This trivial example (from Brendan Gregg&#8217;s <a href="http://www.brendangregg.com/DTrace/dtrace_oneliners.txt">DTrace Oneliners</a>) shows the files getting opened by matching the &#8216;open&#8217; system call, when it&#8217;s entered, and printing out the name of the app that called it (execname) and the first argument to that function &#8212; in other words, the file.</p>
<p><code>sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'</code></p>
<p><code><br />
  1  17657                       open:entry tclsh8.4 /opt/local/var/macports/software/ghc/6.10.1_9+darwin_9_i386/opt/local/share/ghc-6.10.1/doc/ghc/libraries/directory/LICENSE<br />
  1  17657                       open:entry mdworker /opt/local/var/macports/software/ghc/6.10.1_9+darwin_9_i386/opt/local/share/ghc-6.10.1/doc/ghc/libraries/containers/minus.gif<br />
  1  17657                       open:entry mdworker /opt/local/var/macports/software/ghc/6.10.1_9+darwin_9_i386/opt/local/share/ghc-6.10.1/doc/ghc/libraries/containers/minus.gif<br />
</code></p>
<p>And there we go. You can see the installer monkeying around in the documentation directories. </p>
<p>This technique works for pretty much any installer/process you might be curious about. In the Bad Old Days, I&#8217;ve been able to get this kind of insight from things like strace &#8212; watching as it runs a given process. To me, one of the most beautiful things about the DTrace model is that it doesn&#8217;t matter if (as happened in this case) there are a lot of processes getting run &#8212; you can still find exactly what you need without stressing with PID&#8217;s. Strace works on a process, DTrace works on the system.</p>
<p>If you&#8217;re on a Mac, open up a terminal and have some fun with the one-liners I linked to. You&#8217;ll be amazed by what your computer&#8217;s doing when you&#8217;re not looking.</p>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/03/dtrace-on-osx-incredibly-useful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When you don&#8217;t even have a pullup bar&#8230;</title>
		<link>http://serialized.net/2009/03/when-you-dont-even-have-a-pullup-bar/</link>
		<comments>http://serialized.net/2009/03/when-you-dont-even-have-a-pullup-bar/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 16:44:59 +0000</pubDate>
		<dc:creator>Joshua Barratt</dc:creator>
				<category><![CDATA[Crossfit]]></category>

		<guid isPermaLink="false">http://serialized.net/?p=240</guid>
		<description><![CDATA[I haven&#8217;t talked about it much on this site, other than on my twitter feed, but I&#8217;m really enjoying a fitness program I&#8217;ve been doing called CrossFit. (I go to Culver City Crossfit and it is awesome.)
In any case, there have been days (like this Friday) where for some reason I can&#8217;t make it. No [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t talked about it much on this site, other than on my <a href="http://twitter.com/jbarratt">twitter feed</a>, but I&#8217;m really enjoying a fitness program I&#8217;ve been doing called <a href="http://crossfit.com">CrossFit.</a> (I go to <a href="http://culvercitycrossfit.com">Culver City Crossfit</a> and it is awesome.)</p>
<p>In any case, there have been days (like this Friday) where for some reason I can&#8217;t make it. No problem, CrossFit can be done anywhere. However, a lot of the workouts, at the very least, require a pullup bar. I really want to get one for my house and office, but haven&#8217;t done that yet. Also, I wanted to find workouts I could do on the road as well where the equipment I&#8217;ve got on me is extremely limited. (Kettlebells and Packing Light don&#8217;t really go that well together.)</p>
<p>I googled for &#8220;CrossFit Bodyweight&#8221; and found this great document:<br />
<a href="http://www.crossfitevolution.com/bodyweight-wods/">Bodyweight WOD&#8217;s.</a> (A &#8216;WOD&#8217; is the Workout Of The Day, the workout a given CrossFit affiliate has their athletes do that day.)</p>
<p>Lots of them still require the ability to do pullups (again, no bar) or include moves that I&#8217;m still working on, like handstand pushups or 1-legged squats.</p>
<p>So I clipped out (for my reference, but figured it might help someone else, too) a few of those that I am able to do, and only require one piece of equipment: some ability to keep time. (Well, and in some cases something approximately 2 feet tall that you can jump onto.)</p>
<p>I&#8217;ve retained the original sourcing on all of the WOD&#8217;s that had them.</p>
<table>
<tr>
<td>
3 rounds for time of: <br />
50 Push­ups <br />
50 Sit­ups <br />
50 Squats</p>
<p>Four rounds for time of: <br />
25 Lunges <br />
50 Squats </p>
<p>Five rounds for time of: <br />
100 squats <br />
20 Lunges <br />
35 push­ups </p>
<p>15 rounds for max reps: <br />
Pull­ups, 30 seconds on / 30 seconds off </p>
<p>For total time: <br />
Run 10 minutes max effort <br />
200 squats <br />
Run 10 minutes max effort <br />
(Source: Shane Skowron) </p>
<p>4 rounds: <br />
50 walking lunges <br />
50 squats <br />
Run 400m <br />
(Source: Shane Skowron) </p>
<p>5 rounds: <br />
10 burpees <br />
20 box/bench jumps <br />
30 pushups <br />
40 squats <br />
50 lunges <br />
(Source: navyseals.com forums)
</td>
<td>
Run 5k for time, but every 5:00 do 50 pushups and 50 squats. </p>
<p>1200m uphill sprint  <br />
Rest 1:00 <br />
1200m downhill jog <br />
Rest 1:00 <br />
Repeat </p>
<p>1:00 sprint / 1:00 rest <br />
1:00 sprint / 0:50 rest <br />
1:00 sprint / 0:40 rest <br />
1:00 sprint / 0:30 rest <br />
1:00 sprint / 0:20 rest <br />
1:00 sprint / 0:10 rest <br />
1:00 sprint / 0:20 rest <br />
1:00 sprint / 0:30 rest <br />
1:00 sprint / 0:40 rest <br />
1:00 sprint / 0:50 rest <br />
1:00 sprint / 1:00 rest <br />
(Source:crossfitendurance.com) </p>
<p>10&#215;100m with 2:00 rests </p>
<p>8&#215;200m with 2:00 rests </p>
<p>4&#215;400m with 5:00 rests </p>
<p>8 rounds of: <br />
80 seconds sprint / 40 seconds recovery <br />
(Source: crossfitendurance.com) </p>
<p>3 rounds: <br />
100m sprint / Rest same amount of time you finished the sprint <br />
200m sprint / Rest same amount of time you finished the sprint <br />
300m sprint / Rest same amount of time you finished the sprint <br />
(Source: crossfitendurance.com) 
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://serialized.net/2009/03/when-you-dont-even-have-a-pullup-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
