<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Glog</title>
	<atom:link href="http://blog.aiama.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aiama.com</link>
	<description></description>
	<lastBuildDate>Mon, 06 May 2013 09:59:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.aiama.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Glog</title>
		<link>http://blog.aiama.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.aiama.com/osd.xml" title="Glog" />
	<atom:link rel='hub' href='http://blog.aiama.com/?pushpress=hub'/>
		<item>
		<title>Encrypted Time Machine Backups on Time Capsule (Mountain Lion)</title>
		<link>http://blog.aiama.com/2012/07/30/encrypted-time-machine-backups-on-time-capsule-mountain-lion/</link>
		<comments>http://blog.aiama.com/2012/07/30/encrypted-time-machine-backups-on-time-capsule-mountain-lion/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 16:48:27 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[macos]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[encrypted]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=330</guid>
		<description><![CDATA[The [first pass] Mountain Lion update to the Encrypted Time Machine Backups on Time Capsule post: the script (mostly) works, as do the backups themselves (mostly). Unfortunately, the script fails to properly detect the Wifi adapter&#8217;s Mac address (which I think has to do with changes to the output of system_profiler, something that should be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=330&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The [first pass] Mountain Lion update to the <a title="Encrypted Time Machine Backups on Time Capsule" href="http://blog.aiama.com/2012/06/18/encrypted-time-machine-backups-on-time-capsule/">Encrypted Time Machine Backups on Time Capsule</a> post: the script (mostly) works, as do the backups themselves (mostly).</p>
<p>Unfortunately, the script fails to properly detect the Wifi adapter&#8217;s Mac address (which I think has to do with changes to the output of <tt>system_profiler</tt>, something that should be fixable).</p>
<p>Mountain Lion makes visible changes to the process, namely, it will detect that the sparse bundle is present and encrypted:</p>
<p><a href="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk.png"><img class="aligncenter size-full wp-image-335" title="TM_encrypted_disk" src="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk.png?w=595" alt=""   /></a></p>
<p>It will furthermore ask and automagically remember both the TimeCapsule password and the encrypted disk image password. which means we no longer need to fiddle with Keychain Access:</p>
<p><a href="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk_password.png"><img class="aligncenter size-full wp-image-334" title="TM_encrypted_disk_password" src="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk_password.png?w=595" alt=""   /></a></p>
<p>But wait, I said &#8220;mostly&#8221;. It turns out Time Capsule will resize the sparse bundle image to (it seems) the size of the physical media hosting the image. While this can be changed back with <tt>hdiutil</tt>, I don&#8217;t yet know if Mountain Lion will simply resize it back in the next backup iteration.</p>
<p>Take some, lose some.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/330/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=330&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2012/07/30/encrypted-time-machine-backups-on-time-capsule-mountain-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>

		<media:content url="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk.png" medium="image">
			<media:title type="html">TM_encrypted_disk</media:title>
		</media:content>

		<media:content url="http://gerirgaudi.files.wordpress.com/2012/07/tm_encrypted_disk_password.png" medium="image">
			<media:title type="html">TM_encrypted_disk_password</media:title>
		</media:content>
	</item>
		<item>
		<title>Encrypted Time Machine Backups on Time Capsule</title>
		<link>http://blog.aiama.com/2012/06/18/encrypted-time-machine-backups-on-time-capsule/</link>
		<comments>http://blog.aiama.com/2012/06/18/encrypted-time-machine-backups-on-time-capsule/#comments</comments>
		<pubDate>Mon, 18 Jun 2012 13:27:07 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[macos]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[encrypted]]></category>
		<category><![CDATA[time capsule]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=315</guid>
		<description><![CDATA[With Lion, Mac OS X gained the ability to encrypt Time Machine backups on directly-attached disks, but this is not supported on Time Capsule. An additional potential issue is that Time Machine backups will consume all available space on a device, which in my particular case is undesirable. So I wanted a way to both [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=315&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>With Lion, Mac OS X gained the ability to encrypt Time Machine backups on directly-attached disks, but this is not supported on Time Capsule. An additional potential issue is that Time Machine backups will consume all available space on a device, which in my particular case is undesirable. So I wanted a way to both encrypt said backups and limit the amount of space they can consume. There are a number of good resources on this topic, such as Michael &#8220;Nozbe&#8221; Sliwinski&#8217;s <a href="http://michaelnozbe.com/mac-osx-lion-secure-backup-to-time-capsule-wi">Mac OSX Lion Secure Backup to Time Capsule with Size Limit</a> and Jason Discount&#8217;s <a href="http://www.practiceofcode.com/post/749686705/encrypted-rotating-time-machine-backups-on-snow">Encrypted, Rotating Time Machine Backups on Snow Leopard</a> (which works on Lion as well). But, since I have a small herd of Macs to shepherd, I prefer a script to do most of the work for me (see below).</p>
<p>You have to perform these steps from the <em>admin</em> user account on your system (<strong>not</strong> <code>root</code>, and <strong>no</strong> <code>sudo</code>).</p>
<p>First, mount your Time Capsule disk. You can do this from the Finder and ask it (if you haven&#8217;t already) to remember the password in your keychain. Second, edit the Time Capsule&#8217;s name in the script below. The real magic of the script happens in the highlighted lines with <code>hdiutil</code>).</p>
<pre class="brush: bash; highlight: [21,22,23]; title: ; notranslate">
#!/bin/bash

TC=&quot;TimeCapsule&quot;

UUID=`system_profiler SPHardwareDataType | egrep 'Hardware UUID' \
      | awk '{print $3}'`
echo &quot;UUID: $UUID&quot; &gt;&amp;2
NAME=`system_profiler SPSoftwareDataType | grep 'Computer Name' \
      | awk '{print $3}'`
echo &quot;Name: $NAME&quot; &gt;&amp;2
APMAC=`system_profiler SPNetworkDataType | grep 'Hardware: AirPort' -A 25 \
      | grep 'MAC Address' | awk '{print $3}' | sed -e 's/://g'`
echo &quot;Mac Address: $APMAC&quot; &gt;&amp;2

SPRSBNDL_NAME=&quot;/Volumes/${TC}/${NAME}_${APMAC}.sparsebundle&quot;
echo &quot;Sparse Bundle: $SPRSBNDL_NAME&quot; &gt;&amp;2
if [ -z &quot;$UUID&quot; ] || [ -z &quot;$NAME&quot; ] || [ -z &quot;$APMAC&quot; ]; then
   echo &quot;error: unable to determine uuid, name or mac address&quot; &gt;&amp;2; exit 1
else
   echo &quot;creating sparsebundle $SPRSBNDL_NAME&quot; &gt;&amp;2
   if hdiutil create -encryption AES-128 -size 500G -type SPARSEBUNDLE \
                     -nospotlight -volname &quot;${NAME}TM@${TC}&quot; -fs &quot;HFS+J&quot; \
              ${SPRSBNDL_NAME}; then
      (
       cat &lt;&lt;ENDPLIST
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
    &lt;key&gt;com.apple.backupd.HostUUID&lt;/key&gt;
    &lt;string&gt;$UUID&lt;/string&gt;
&lt;/dict&gt;
&lt;/plist&gt;
ENDPLIST
      )&gt;${SPRSBNDL_NAME}/com.apple.TimeMachine.MachineID.plist
   fi
fi
</pre>
<p>Finally, you still have to manually move the keychain entries for the Time Capsule disk and your encrypted image from the <strong>Login</strong> keychain to the <strong>System</strong> keychain with the <strong>Keychain Access</strong> app, but everything else is handled for you. Note that the script assumes you are connecting to your Time Capsule over WIFI, not via wired ethernet, and since the output from System Profiler isn&#8217;t the most parseable, it may not grab the right MAC address if you, for instance, have multiple network interfaces. The above has proven to work well on laptops. In any event, you can always enter the correct MAC address into the scripts (remove colons).</p>
<p>If you are currently performing backups to your Time Capsule unencrypted, the creation of the encrypted image may not work, as a non-encrypted sparse bundle probably already exists and is set to be used with Time Machine. You have to delete the existing non-encrypted image.</p>
<p>Finally, one of the nice things about this approach is that you can resize the resulting image whenever is convenient with <code>hdiutil resize</code>, as long as you have not used up the allotted space. Also, I have successfully <a href="http://www.klieme.com/TimeMachineScheduler.html">Time Machine Scheduler</a> to change Time Machine&#8217;s scheduling (since I don&#8217;t really need Time Machine cranking up every hour).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/315/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=315&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2012/06/18/encrypted-time-machine-backups-on-time-capsule/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>Senedsa and Elesai</title>
		<link>http://blog.aiama.com/2012/06/08/senedsa-and-elesai/</link>
		<comments>http://blog.aiama.com/2012/06/08/senedsa-and-elesai/#comments</comments>
		<pubDate>Fri, 08 Jun 2012 23:44:27 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[lsi]]></category>
		<category><![CDATA[lsi raid]]></category>
		<category><![CDATA[send_nsca]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=275</guid>
		<description><![CDATA[I am very pleased to announce the release of two new tools that I hope will prove to be useful additions to your operational arsenal: Senedsa is a small utility and library that wraps around the Nagios send_nsca utility Elesai is a wrapper around LSI&#8217;s MegaCli utility Both of them are distributed as Ruby gems. Senedsa Senedsa is something I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=275&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am very pleased to announce the release of two new tools that I hope will prove to be useful additions to your operational arsenal:</p>
<ul>
<li><strong><a title="gerirgaudi/senedsa" href="https://github.com/gerirgaudi/senedsa" target="_blank">Senedsa</a></strong> is a small utility and library that wraps around the Nagios <code>send_nsca</code> utility</li>
<li><strong><a title="gerirgaudi / elesai" href="https://github.com/gerirgaudi/elesai" target="_blank">Elesai</a> </strong>is a wrapper around LSI&#8217;s <code>MegaCli</code> utility</li>
</ul>
<p>Both of them are distributed as Ruby gems.</p>
<h4>Senedsa</h4>
<p style="padding-left:30px;"><strong>Senedsa</strong> is something I have been meaning to write for quite some time. A fair amount of the tools I have written over the last few years (most notably <a title="gerirgaudi/Zettabee" href="https://github.com/gerirgaudi/Zettabee" target="_blank">Zettabee</a> and <a title="gerirgaudi/Theia" href="https://github.com/gerirgaudi/Theia" target="_blank">Theia</a>) have had monitoring capabilities built-in, mostly in the form of a Nagios passive monitor. I have moved to developing in Ruby essentially full-time (I still do some Python and some shell scripting, but that&#8217;s mostly in maintenance mode), and after I went down the path of writing Elesai, I simply <em>had</em> to write Senedsa, since the ridiculous cut-and-paste maneuver was getting old (and frankly, embarrasing).</p>
<p style="padding-left:30px;">I pondered using <a title="Kevin Bedell" href="https://github.com/kevinzen/" target="_blank">Kevin Bedell</a>&#8216;s <a href="https://rubygems.org/gems/send_nsca/" target="_blank"><code>send_nsca</code></a> gem, but in the end I decided to implement the Senedsa wrapper, primarily because we have other non-Ruby code (shell scripts) that use <code>send_nsca</code> in its native form, and I suspected that would be the case for most other shops. While that implies a fork whenever it is used, it is not something we are doing at high frequency.</p>
<p style="padding-left:30px;">Senedsa be be used both as cli utility (which is handy to test your <code>send_nsca</code> installation or perhaps to be called from shell scripts, tho that implies you are be forking both <code>ruby</code> <em>and</em> <code>send_nsca)</code> or a library from within your Ruby scripts.</p>
<h4>Elesai</h4>
<p style="padding-left:30px;"><strong>Elesai</strong> is a wrapper around LSI&#8217;s <code>MegaCli</code> utility that provides access to common types of information about LSI RAID controllers (currently physical and virtual disks) without the need to &#8220;speak martian&#8221; (run <code>MegaCli -h</code> to see what I mean). It is a line-oriented tool so that it can be combined with other Unix command-line tools to process and manipulate the data (i.e., <code>sed</code>, <code>awk</code>, and friends). It also provides a <code>check</code> action (currently as a Nagios plugin in both active and passive modes) which monitors the health of the array and its components and reports it accordingly (this is not yet configurable).</p>
<p style="padding-left:30px;">The exercise of developing Elesai has be useful in a number of ways. Perhaps the most significant one has been the realization of something I have actually known for quite some time but had not fully solidified in my mind: each and every tool monitoring if it is doing any regular work in production. Full-stop. Clearly this is something I had been doing already (Zettabee being the primary example), but it has now been elevated to <strong>full requirement</strong>.</p>
<p style="padding-left:30px;">The second aspect was the use of state machines to parse pseudo-structured output like that of <code>MegaCli</code>, where identifying the current element being processed becomes trickier. The usual (or perhaps the one I have seen implemented more often) approach is a set of nested <code>if-then-else</code> (or <code>case</code>) statements matching the appropriate regular expressions with state variables sprinkled around. This normally works, up until the point where the parser needs changes or additions six months after the code was written. Elesai itself will need several additions in the not-too-distant future, as it currently only shows information about physical and virtual disks (and does not, for instance, take spans into account): information about the adapters themselves and batteries are high in the list of new features.</p>
<p style="padding-left:30px;">So there had to be a better way. I first looked into the excellent <a title="Parslet" href="http://kschiess.github.com/parslet/" target="_blank">Parslet</a> library, but it really wasn&#8217;t the right tool for this job. I had had state machines lingering in my mind for quite some time, and that turned out to be a incredibly good fit, especially when using the wonderful <a title="workflow" href="http://www.geekq.net/workflow/" target="_blank"><strong>workflow</strong></a> state machine implementation.</p>
<p>If you need to deal with LSI RAID controllers, I hope you find Elesai a worthy tool to add to your toolbox. It&#8217;s easy to install: <code>gem install elesai</code>. Do please report problems and feature enhancements in the <a title="Elesai issue tracker" href="https://github.com/gerirgaudi/elesai/issues" target="_blank">issue tracker</a>, or better yet, and if you&#8217;re up to it, <a title="Fork Elesai!" href="https://github.com/gerirgaudi/elesai/fork_select" target="_blank">fork it</a> and contribute. Ditto <a title="Fork Senedsa!" href="https://github.com/gerirgaudi/senedsa/fork_select" target="_blank">Senedsa</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/275/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=275&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2012/06/08/senedsa-and-elesai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>XN Tags</title>
		<link>http://blog.aiama.com/2011/12/03/xn-tags/</link>
		<comments>http://blog.aiama.com/2011/12/03/xn-tags/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 06:24:59 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[miniblog]]></category>
		<category><![CDATA[ning]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[xn]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=241</guid>
		<description><![CDATA[ning, 24hourlaundry, core, playground, xncore, it&#8217;s the firewall, it&#8217;s nfs, terminal mushroom cloud, filer, blue man group, release plan, deployment, 167, 735, 285, it&#8217;s not a platform, platform, cross indexer, beacon, tomcat, postgress, oracle, mysql, java, zope, nagios, php, solaris zone, netapp, f*ck, mac, galaxy, theia, xno, xnq, xna, mogwee, resolvers, app cores, app core [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=241&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> ning, 24hourlaundry, core, playground, xncore, it&#8217;s the firewall, it&#8217;s nfs, terminal mushroom cloud, filer, blue man group, release plan, deployment, 167, 735, 285, it&#8217;s not a platform, platform, cross indexer, beacon, tomcat, postgress, oracle, mysql, java, zope, nagios, php, solaris zone, netapp, f*ck, mac, galaxy, theia, xno, xnq, xna, mogwee, resolvers, app cores, app core wabble, ooc, eoc, imoc, cmoc, ops, eng, core eng, app dev, advo, qa, sjc1, snv1, snv2, dfw1, ruby, python, automation, 915 meeting, api council, snapbaby, zettabee, admin, adminjr, rebar.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=241&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/12/03/xn-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>Lion in the Living Room</title>
		<link>http://blog.aiama.com/2011/11/17/lion-in-the-living-room/</link>
		<comments>http://blog.aiama.com/2011/11/17/lion-in-the-living-room/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 18:10:11 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[macos]]></category>
		<category><![CDATA[miniblog]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[lion]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=238</guid>
		<description><![CDATA[A few months ago, when Mac OS X Lion came out, I tried installing it on the Mac Mini in the living room. It failed. Miserably. After a couple of hours of trying different things (including making a bootable USB installation disk) I gave up, since it had thankfully not horked the Snow Leopard install. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=238&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A few months ago, when Mac OS X Lion came out, I tried installing it on the Mac Mini in the living room. It failed. Miserably. After a couple of hours of trying different things (including making a bootable USB installation disk) I gave up, since it had thankfully not horked the Snow Leopard install. Life went on.</p>
<p>I had hoped that a newer release might have fix the issue, which was apparently related to having the internal disks in a RAID set. The symptom is that Lion would boot and get stuck with a rolling candy bar. With 10.7.2, I still had issues. I went brave and decided to nuke the internal drives (which required some diskutil CLI love in the form of having eraseDisk go on both internal drives for a few minutes, enough to remove the RAID metadata). Progress ensued.</p>
<p>But then got the cryptic, unhelpful, and decidedly generic &#8220;<em>There was a problem installing Mac OS X. Try reinstalling</em>&#8221; message.</p>
<p>What?!</p>
<p>Oh well, nothing the Googletron <a title="There Was a Problem Installing Mac OS X (Lion)" href="http://mingersoft.com/blog/2011/08/there-was-a-problem-installing-mac-os-x-lion/" target="_blank">couldn&#8217;t take care of</a>.</p>
<p>And so another Lion cub is roaming the house, stuck in the living room, restoring entertainment media.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=238&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/11/17/lion-in-the-living-room/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>BusyCal</title>
		<link>http://blog.aiama.com/2011/10/31/busycal/</link>
		<comments>http://blog.aiama.com/2011/10/31/busycal/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 12:43:01 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[macos]]></category>
		<category><![CDATA[miniblog]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=235</guid>
		<description><![CDATA[A couple of weeks ago the Mac App Store featured a calendar app I had not seen before: BusyCal. It&#8217;s the gorgeous, customizable and very usable desktop calendar that iCal should have always been. Highly recommended.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=235&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A couple of weeks ago the <a title="Mac App Store" href="http://www.apple.com/mac/app-store/" target="_blank">Mac App Store</a> featured a calendar app I had not seen before: <a title="BusyCal" href="http://www.busymac.com/" target="_blank">BusyCal</a>. It&#8217;s the gorgeous, customizable and very usable desktop calendar that iCal should have always been. Highly recommended.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=235&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/10/31/busycal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>Zettabee and Theia</title>
		<link>http://blog.aiama.com/2011/10/21/zettabee-and-theia/</link>
		<comments>http://blog.aiama.com/2011/10/21/zettabee-and-theia/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 22:09:09 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=228</guid>
		<description><![CDATA[It&#8217;s hard to believe it has almost a year since we started the process of open sourcing tools, but it has indeed been that long, and it picked up steam a few weeks ago, when pushed out nddtune, which is admittedly a very simple tool. Today we&#8217;re continuing that effort with a couple of more significant [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=228&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s hard to believe <a href="http://blog.aiama.com/2010/11/03/githubed/">it has almost a year</a> since we started the process of open sourcing tools, but it has indeed been that long, and it picked up steam <a title="Ops Toolkit" href="http://www.ning.com/code/2011/09/operations-toolkit/">a few weeks ago</a>, when pushed out <a title="nddtune" href="https://github.com/ning/nddtune" target="_blank">nddtune</a>, which is admittedly a very simple tool. Today we&#8217;re continuing that effort with a couple of more significant tools: <a title="Zettabee" href="https://github.com/ning/Zettabee" target="_blank">Zettabee</a> and <a title="Theia" href="https://github.com/ning/Theia" target="_blank">Theia</a>.</p>
<h5>A Little History</h5>
<p>About four years ago, we had a very real need to have fairly detailed performance metrics for NetApp filers. At the time, the available solutions relied on SNMP (NetApp&#8217;s SNMP support has historically been weak) or were NetApp&#8217;s own, which, asides from expensive, were hard to integrate with the rest of our monitoring infrastructure (which is comprised of Nagios and Zenoss). As such, we set out to write a tool that would both perform detailed filer monitoring (for faults and performance) and that would be able to interface with those systems. Theia was born.</p>
<p>In more recent times, as we were looking at beefing up our DR strategy, we found ourselves needing a good ZFS-based replication tool, and set out to write Zettabee, which gave us an opportunity to dive deeper into ZFS capabilities.</p>
<h5>Let the Games Begin</h5>
<p>Today we&#8217;re very excited to be releasing those two tools into the open. Theia has been in production for the last four years, dutifully keeping an eye on our filers, while Zettabee has been pushing bits long-distance for well over nine months. We are working on putting together a roadmap for future work, but are happy to have them out in the open for further collaboration. Tim has written <a title="Theia – Open Source NetApp Monitoring" href="http://www.h1tman.com/2011/10/theia-open-source-netapp-monitoring/" target="_blank">a good post</a> on some of the work he has done to make this happen, and I am grateful for his help on this endeavor.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/228/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=228&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/10/21/zettabee-and-theia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>Steve Jobs: 1955 &#8211; 2011</title>
		<link>http://blog.aiama.com/2011/10/05/steve-jobs-1955-2011/</link>
		<comments>http://blog.aiama.com/2011/10/05/steve-jobs-1955-2011/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 23:53:06 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=225</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=225&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://gerirgaudi.files.wordpress.com/2011/10/stevejobs1955-2011.png"><img class="aligncenter size-full wp-image-226" title="Steve Jobs 1955-2011" src="http://gerirgaudi.files.wordpress.com/2011/10/stevejobs1955-2011.png?w=595" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=225&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/10/05/steve-jobs-1955-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>

		<media:content url="http://gerirgaudi.files.wordpress.com/2011/10/stevejobs1955-2011.png" medium="image">
			<media:title type="html">Steve Jobs 1955-2011</media:title>
		</media:content>
	</item>
		<item>
		<title>NRPE and Solaris SMF</title>
		<link>http://blog.aiama.com/2011/09/07/nrpe-and-solaris-smf/</link>
		<comments>http://blog.aiama.com/2011/09/07/nrpe-and-solaris-smf/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 17:20:07 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[solaris]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[nrpe]]></category>
		<category><![CDATA[smf]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=208</guid>
		<description><![CDATA[NRPE running under Solaris SMF control. The SMF manifest: The associated method: Season to taste.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=208&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details" title="NRPE">NRPE</a> running under Solaris SMF control.</p>
<p>The SMF manifest:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?xml version='1.0'?&gt;
&lt;!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'&gt;
&lt;service_bundle type='manifest' name='export'&gt;
  &lt;service name='application/monitoring/nrpe' type='service' version='0'&gt;
    &lt;single_instance/&gt;
    &lt;dependency name='fs-local' grouping='require_all' restart_on='none' type='service'&gt;
      &lt;service_fmri value='svc:/system/filesystem/local'/&gt;
    &lt;/dependency&gt;
    &lt;dependency name='network-service' grouping='require_all' restart_on='none' type='service'&gt;
      &lt;service_fmri value='svc:/network/service'/&gt;
    &lt;/dependency&gt;
    &lt;dependency name='name-service' grouping='require_all' restart_on='none' type='service'&gt;
      &lt;service_fmri value='svc:/milestone/name-services'/&gt;
    &lt;/dependency&gt;
    &lt;instance name='default' enabled='true'&gt;
      &lt;dependency name='config-file' grouping='require_all' restart_on='refresh' type='path'&gt;
        &lt;service_fmri value='file://localhost/usr/local/etc/nrpe/nrpe.cfg'/&gt;
      &lt;/dependency&gt;
      &lt;exec_method name='start' type='method' exec='/local/lib/svc/method/nrpectl start' timeout_seconds='30'&gt;
        &lt;method_context working_directory='/var/tmp'&gt;
          &lt;method_credential user='nrpe' group='nrpe' privileges='basic,sys_resource,!proc_info,!file_link_any' limit_privileges='basic,sys_resource,!proc_info,!file_link_any'/&gt;
        &lt;/method_context&gt;
      &lt;/exec_method&gt;
      &lt;exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/&gt;
      &lt;exec_method name='refresh' type='method' exec='/local/lib/svc/method/nrpectl refresh' timeout_seconds='60'/&gt;
      &lt;property_group name='nrpectl' type='application'&gt;
        &lt;propval name='NRPE_CFG' type='astring' value='/usr/local/etc/nrpe/nrpe.cfg'/&gt;
        &lt;propval name='NRPE_FQB' type='astring' value='/usr/local/sbin/nrpe'/&gt;
      &lt;/property_group&gt;
    &lt;/instance&gt;
    &lt;template&gt;
      &lt;common_name&gt;
        &lt;loctext xml:lang='C'&gt;NRPE&lt;/loctext&gt;
      &lt;/common_name&gt;
      &lt;documentation&gt;
        &lt;doc_link name='nagios.org' uri='http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf'/&gt;
      &lt;/documentation&gt;
    &lt;/template&gt;
  &lt;/service&gt;
&lt;/service_bundle&gt;
</pre>
<p>The associated method:</p>
<pre class="brush: plain; title: ; notranslate">
#!/bin/sh

. /lib/svc/share/smf_include.sh

NRPE_FQB=`svcprop -p nrpectl/NRPE_FQB $SMF_FMRI`
NRPE_BIN=`basename $NRPE_FQB`
NRPE_CFG=`svcprop -p nrpectl/NRPE_CFG $SMF_FMRI`

pid=`pgrep -x -d &quot; &quot; $NRPE_BIN`

case $1 in
   'start')   if [ -z &quot;$pid&quot; ]; then
                 smf_clear_env
                 $NRPE_FQB -c $NRPE_CFG -d &gt;&amp;2
                 if pgrep -x -d &quot; &quot; $NRPE_BIN &gt;/dev/null 2&gt;&amp;1; then
                    :
                 else
                    echo &quot;NRPE failed to start&quot; &gt;&amp;2
                    exit $SMF_EXIT_ERR_FATAL
                 fi
              else
                 echo &quot;NRPE already running (pid=$pid)&quot; &gt;&amp;2
                 exit $SMF_EXIT_ERR_OTHER
              fi
              ;;
   'refresh') if [ -z &quot;$pid&quot; ]; then
                 echo &quot;NRPE not running; nothing to refresh&quot; &gt;&amp;2
                 exit $SMF_EXIT_ERR_OTHER
              else
                 pkill -x $NRPE_BIN
              fi
              ;;
esac
exit $SMF_EXIT_OK
</pre>
<p>Season to taste.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=208&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/09/07/nrpe-and-solaris-smf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>
	</item>
		<item>
		<title>[X]HTML Parsing with RegEx</title>
		<link>http://blog.aiama.com/2011/07/08/xhtml-parsing-with-regex/</link>
		<comments>http://blog.aiama.com/2011/07/08/xhtml-parsing-with-regex/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 19:00:03 +0000</pubDate>
		<dc:creator>gerirgaudi</dc:creator>
				<category><![CDATA[miniblog]]></category>

		<guid isPermaLink="false">http://blog.aiama.com/?p=200</guid>
		<description><![CDATA[Diego put it this way: epic, must read I agree: stackoverflow: RegEx match open tags except XHTML self-contained tags<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=200&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://diegodoval.com/" title="diego's weblog" target="_blank">Diego</a> put it this way:</p>
<blockquote><p>epic, must read</p></blockquote>
<p>I agree: <a href="http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454" title="stackoverflow" target="_blank">stackoverflow: RegEx match open tags except XHTML self-contained tags</a></p>
<p><a href="http://gerirgaudi.files.wordpress.com/2011/07/img_0008.png"><img src="http://gerirgaudi.files.wordpress.com/2011/07/img_0008.png?w=595" alt="" title="HTML RegEx Parsing"   class="aligncenter size-full wp-image-201" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gerirgaudi.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gerirgaudi.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.aiama.com&#038;blog=3418512&#038;post=200&#038;subd=gerirgaudi&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.aiama.com/2011/07/08/xhtml-parsing-with-regex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b079627c377fe7a5555fb68068724ed?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gerirgaudi</media:title>
		</media:content>

		<media:content url="http://gerirgaudi.files.wordpress.com/2011/07/img_0008.png" medium="image">
			<media:title type="html">HTML RegEx Parsing</media:title>
		</media:content>
	</item>
	</channel>
</rss>
