<?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>Beyond Abstraction &#187; Computers</title>
	<atom:link href="http://beyondabstraction.net/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://beyondabstraction.net</link>
	<description>Meanderings and Such...</description>
	<lastBuildDate>Thu, 22 Dec 2011 14:29:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Building for older RHEL/Fedora releases on newer systems</title>
		<link>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/</link>
		<comments>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 14:58:06 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=512</guid>
		<description><![CDATA[If you have ever tried to use a new Fedora or RHEL to build packages for older systems you may have run into errors at installation time. For example, if you were to roll a package on Fedora >=10 or RHEL >=6 and tried to install it on RHEL 5 you will get rpmlib(FileDigests) errors. &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>If you have ever tried to use a new Fedora or RHEL to build packages for older systems you may have run into errors at installation time.  For example, if you were to roll a package on Fedora >=10 or RHEL >=6 and tried to install it on RHEL 5 you will get rpmlib(FileDigests) errors.  This is because newer versions of RPM use new compression and hashing algorithms. To force an RPM to be build using the older algorithms add these lines to your spec file:<br />
<code>%define _binary_payload w9.gzdio<br />
 %define _binary_filedigest_algorithm 1<br />
 %define _source_filedigest_algorithm 1</code></p>
<p>You can wrap them in a conditional check if you only want to use the older algorithms when targeted older versions of RHEL/Fedora but they are forward compatible, ie you can install a package compiled with these flags on RHEL 6 without a problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Less is More</title>
		<link>http://beyondabstraction.net/2010/02/08/when-less-is-more/</link>
		<comments>http://beyondabstraction.net/2010/02/08/when-less-is-more/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 03:50:10 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Ads]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Randomness]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=404</guid>
		<description><![CDATA[Hmmm&#8230; you would think the empty set resulting from the intersection of the product title and product features would have been a clue that something was awry.]]></description>
			<content:encoded><![CDATA[<p><a href="http://beyondabstraction.net/wp-content/uploads.hidden/2010/02/Screen-shot-2010-02-08-at-7.16.44-PM.png"><img src="http://beyondabstraction.net/wp-content/uploads.hidden/2010/02/Screen-shot-2010-02-08-at-7.16.44-PM.png" alt="" title="Screen shot 2010-02-08 at 7.16.44 PM" width="794" height="153" class="alignnone size-full wp-image-405" /></a></p>
<p>Hmmm&#8230; you would think the empty set resulting from the intersection of the product title and product features would have been a clue that something was awry.  </p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2010/02/08/when-less-is-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On topics such as how to run sudo from a cron job</title>
		<link>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/</link>
		<comments>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 01:15:37 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=388</guid>
		<description><![CDATA[If you want to run sudo from any part of a cron job make sure you comment out the Defaults requiretty from /etc/sudoers. Bit me twice now so hopefully I&#8217;ll remember next time. Ed: Apologies to those who have read this before but I had to restore from backup and my last post wasn&#8217;t in &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>If you want to run sudo from any part of a cron job make sure you comment out the </p>
<blockquote><p>Defaults requiretty</p></blockquote>
<p>from /etc/sudoers. Bit me twice now so hopefully I&#8217;ll remember next time.</p>
<p><em>Ed: Apologies to those who have read this before but I had to restore from backup and my last post wasn&#8217;t in that backup.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entourage Apple Script for Moving IMAP Mail</title>
		<link>http://beyondabstraction.net/2009/08/16/entourage-apple-script-for-moving-imap-mail/</link>
		<comments>http://beyondabstraction.net/2009/08/16/entourage-apple-script-for-moving-imap-mail/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 16:53:04 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=380</guid>
		<description><![CDATA[In my last post I described a VB Script for moving IMAP email from my inbox to an archive folder. As an interesting Apples to Oranges (or Apple to Microsoft?) comparison here is the Apple Script I use with Entourage to perform the same task. I will post two versions: one that performs the exact &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/08/16/entourage-apple-script-for-moving-imap-mail/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://beyondabstraction.net/2009/08/14/outlook-vb-macro-for-moving-mail/">In my last post I described a VB Script for moving IMAP email from my inbox to an archive folder.</a>  As an interesting Apples to Oranges (or Apple to Microsoft?) comparison here is the Apple Script I use with Entourage to perform the same task.  I will post two versions: one that performs the exact same task and a second version that is significantly longer that integrates with the popular Growl notification system for OS X.  I would just like to highlight the overall simplicity  and elegance of the Apple Script vs. the VB script.  Yes I know their history is totally different and perhaps VB script is overloaded in usage these days but the point stands: the Apple Script is readable and intuitive while the VB script is neither.</p>
<p>Once again I apologize for the formatting but WordPress is butchering &lt;code&gt; posts lately and insert all sorts of uglies inside the code blocks and I don&#8217;t feel like fixing it at the moment.</p>
<blockquote><p>
tell application &#8220;Microsoft Entourage&#8221;<br />
	set acctName to &#8220;BA&#8221;<br />
	set folderName to &#8220;Archives&#8221;<br />
	set destFolder to null</p>
<p>	set currMsgs to (current messages)<br />
	set currCount to (count of currMsgs)</p>
<p>	if currCount is not 0 then<br />
		set folderList to folders of IMAP account acctName<br />
		repeat with x in folderList<br />
			if name of x is folderName then<br />
				set destFolder to x<br />
				move currMsgs to x<br />
			end if<br />
		end repeat<br />
	end if<br />
end tell
</p></blockquote>
<p>And the second with Growl support:</p>
<blockquote>
<p>	tell application &#8220;GrowlHelperApp&#8221;<br />
		set the allNotificationsList to {&#8220;General&#8221;, &#8220;Move message&#8221;, &#8220;Error&#8221;}<br />
		set the enabledNotificationsList to {&#8220;General&#8221;, &#8220;Move message&#8221;, &#8220;Error&#8221;}</p>
<p>		register as application &#8220;Entourage AppleScripts&#8221; all notifications allNotificationsList default notifications enabledNotificationsList icon of application &#8220;Microsoft Entourage&#8221;</p>
<p>		if currCount is 0 then<br />
			notify with name &#8220;Error&#8221; title &#8220;Entourage Error&#8221; description &#8220;You attempted to move a message but no message was selected.&#8221; application name &#8220;Entourage AppleScripts&#8221;<br />
			delay 10<br />
			return<br />
		end if<br />
		if destFolder is null then<br />
			notify with name &#8220;Error&#8221; title &#8220;Entourage Error&#8221; description (&#8220;You attempted to move a message but the destination folder \&#8221;" &#038; folderName &#038; &#8220;\&#8221; is not valid.&#8221;) application name &#8220;Entourage AppleScripts&#8221;<br />
			delay 10<br />
			return<br />
		end if</p>
<p>		&#8211;	1 Notification&#8230;<br />
		if currCount is 1 then<br />
			notify with name &#8220;General&#8221; title (acctName &#038; &#8221; Notification&#8221;) description (&#8220;1 message moved to \&#8221;" &#038; name of destFolder &#038; &#8220;\&#8221; folder of account \&#8221;" &#038; acctName &#038; &#8220;\&#8221;") application name &#8220;Entourage AppleScripts&#8221;<br />
			delay 10<br />
		end if</p>
<p>		&#8211;	Multi Notification&#8230;<br />
		if currCount > 1 then<br />
			notify with name &#8220;General&#8221; title (acctName &#038; &#8221; Notification&#8221;) description (&#8220;&#8221; &#038; (count of currMsgs) &#038; &#8221; messages moved to \&#8221;" &#038; name of destFolder &#038; &#8220;\&#8221; folder of account \&#8221;" &#038; acctName &#038; &#8220;\&#8221;") application name &#8220;Entourage AppleScripts&#8221;<br />
			delay 10<br />
		end if<br />
end tell
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/08/16/entourage-apple-script-for-moving-imap-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook VB macro for moving mail</title>
		<link>http://beyondabstraction.net/2009/08/14/outlook-vb-macro-for-moving-mail/</link>
		<comments>http://beyondabstraction.net/2009/08/14/outlook-vb-macro-for-moving-mail/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 20:26:30 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[gtd]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=369</guid>
		<description><![CDATA[Been meaning to post this quickie for awhile. Took me a good bit of searching and tweaking but I&#8217;ve been using this macro for about two months to move email in my IMAP account in Outlook (2007) to my archive folder. Then I bound it to a hotkey combo by adding it to my menu &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/08/14/outlook-vb-macro-for-moving-mail/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Been meaning to post this quickie for awhile.  Took me a good bit of searching and tweaking but I&#8217;ve been using this macro for about two months to move email in my IMAP account in Outlook (2007) to my archive folder.  Then I bound it to a hotkey combo by adding it to my menu bar and placing an ampersand in front of the &#8220;trigger key.&#8221;  For example, I added the macro to the menu bar and then renamed it to &#8220;&#038;@rchive&#8221; to move the mail to the archive folder.  Now when I press &#8220;Alt-@&#8221; (really Alt-Shift-2) when I have mail selected it moves the mail to the appropriate folder.  You can&#8217;t overload hotkeys and since &#8220;Alt-A&#8221; was already taken I had to choose something else.</p>
<p>Note I&#8217;ve tested this with Cyrus.  Other IMAP servers may have different namespacing conventions.  </p>
<blockquote><p>Sub MoveSelectedMessagesToBAArchives()<br />
On Error Resume Next</p>
<p>    Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder<br />
    Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem</p>
<p>    Dim TestFolder As Outlook.Folder<br />
    Dim FoldersArray As Variant<br />
    Dim i As Integer<br />
    Set objNS = Application.GetNamespace(&#8220;MAPI&#8221;)</p>
<p>    &#8216;Convert folderpath to array<br />
    FoldersArray = Split(&#8220;BA\Inbox\Archives&#8221;, &#8220;\&#8221;)<br />
    Set TestFolder = Application.Session.Folders.Item(FoldersArray(0))<br />
    Dim SubFolders As Outlook.Folders<br />
    If Not TestFolder Is Nothing Then<br />
        For i = 1 To UBound(FoldersArray, 1)<br />
            Set SubFolders = TestFolder.Folders<br />
            Set TestFolder = SubFolders.Item(FoldersArray(i))<br />
            If TestFolder Is Nothing Then<br />
                Set objFolder = Nothing<br />
            End If<br />
        Next<br />
    End If<br />
    &#8216;Return the TestFolder<br />
    Set objFolder = TestFolder</p>
<p>    &#8216;Set objFolder = objNS.GetFolder(&#8220;BA\Inbox\Archives&#8221;)<br />
    &#8216;Set objFolder = objInbox.Folders(&#8220;Archives&#8221;)<br />
&#8216;Assume this is a mail folder</p>
<p>If objFolder Is Nothing Then<br />
        MsgBox &#8220;This folder doesn&#8217;t exist!&#8221;, vbOKOnly + vbExclamation, &#8220;INVALID FOLDER&#8221;<br />
    End If</p>
<p>    If Application.ActiveExplorer.Selection.Count = 0 Then<br />
        &#8216;Require that this procedure be called only when a message is selected<br />
        Exit Sub<br />
    End If</p>
<p>    For Each objItem In Application.ActiveExplorer.Selection<br />
        If objFolder.DefaultItemType = olMailItem Then<br />
            If objItem.Class = olMail Then<br />
                objItem.Move objFolder<br />
            End If<br />
        End If<br />
    Next</p>
<p>    Set objItem = Nothing<br />
    Set objFolder = Nothing<br />
    Set objInbox = Nothing<br />
    Set objNS = Nothing<br />
End Sub</p>
</blockquote>
<p>Sorry for the busted formatting.  WordPress sucks sometimes.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/08/14/outlook-vb-macro-for-moving-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solid State Devices (SSD) and journaling</title>
		<link>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/</link>
		<comments>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 07:09:51 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=307</guid>
		<description><![CDATA[A few things all of us are probably interested in: SSD Write Amplification: http://www.extremetech.com/article2/0,2845,2329594,00.asp Journaling and write performance in ext4: http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/ The bottom-line as far as wear and tear: vfat is basically the same as a journaled FS from a wear-leveling standpoint, both are worst case. Thankfully vfat, being the worst case, forced the manufacturers &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>A few things all of us are probably interested in:</p>
<ul>
<li>SSD Write Amplification:<br />
<br/><br />
<a href="http://www.extremetech.com/article2/0,2845,2329594,00.asp">http://www.extremetech.com/article2/0,2845,2329594,00.asp</a><br />
<br/>
</li>
<li>Journaling and write performance in ext4:<br />
<br/><br />
<a href="http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/">http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/</a>
</li>
</ul>
<p>The bottom-line as far as wear and tear: vfat is basically the same as a journaled FS from a wear-leveling standpoint, both are worst case.  Thankfully vfat, being the worst case, forced the manufacturers to deal with the problem early.  So all those outlandish claims I made about the world being flat and NTFS on thumbdrives are unfounded.  Ted&#8217;s evidence does not speak to the amount of effort it takes to create an NTFS thumbdrive in Windows, however</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Disabling file access time updates using noatime in OS X</title>
		<link>http://beyondabstraction.net/2008/11/06/noatime-mount-option-in-os-x/</link>
		<comments>http://beyondabstraction.net/2008/11/06/noatime-mount-option-in-os-x/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 19:23:44 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tipsntricks]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=225</guid>
		<description><![CDATA[The past few days people in Linux blogosphere have been bringing back up the noatime/nodiratime mount options. These options disable the updating of file and directory access times. On many standard systems when you read file a &#8220;last read,&#8221; or access time, timestamp is written to disk. Disabling the writing of access times can provide &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/11/06/noatime-mount-option-in-os-x/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>The past few days people in Linux blogosphere have been bringing back up the noatime/nodiratime mount options.  These options disable the updating of file and directory access times.  On many standard systems when you read file a &#8220;last read,&#8221; or access time, timestamp is written to disk. Disabling the writing of access times can provide performance increases in some conditions.  Probably in a lot of conditions.  Disabling the writing of these access times can be accomplished with the noatime and nodiratime mount options on a typical FS on a Linux system.  Well in OS X and hfs+ nodiratime doesn&#8217;t exist but noatime does.  </p>
<p>These options are old news to some.  I had used them in Linux in the past &#8211; heck I think it was even in the standard Gentoo install docs &#8211; but I had never them a second thought since I moved to OS X.  If you know me personally you know I can&#8217;t leave something untweaked.  And those recent discussions got me to thinking&#8230;</p>
<p>Be forewarned, I haven&#8217;t gone to great lengths to explain the concepts of the notes below so if you&#8217;ve never seen a terminal this isn&#8217;t going to be comprehendible.</p>
<p>I wanted to mount my filesystems with the noatime option in OS X to disable the updates to access times for files.  Problem is that, at least in 10.5, OS X no longer honors /etc/fstab for system disks, only for automount disks.  </p>
<p>After wrestling with it for awhile I gave upon trying to find a location where I could specify mount options for system disks.  I decided to just remount the disk later with the correct options.  I created a StartupItem entry to remount the disk.  I created a directory:</p>
<blockquote><p>
# mkdir /Library/StartupItems/spencer_boot
</p></blockquote>
<p>Then I created the StartupItem plist. Pretty straight forward.</p>
<blockquote><p>
# cat /Library/StartupItems/\<br />
spencer_boot/StartupParameters.plist</p>
<blockquote><p>
{<br />
  Description = &#8220;Spencer&#8217;s Boot Script&#8221;;<br />
  Provides = (&#8220;spencer_boot&#8221;);<br />
  OrderPreference = &#8220;None&#8221;;<br />
  Messages =<br />
  {<br />
    start = &#8220;Starting Spencer&#8217;s Boot Script&#8221;;<br />
    stop = &#8220;Stoping Spencer&#8217;s Boot Script&#8221;;<br />
    restart = &#8220;Restarting Spencer&#8217;s Boot Script&#8221;;<br />
  };<br />
}
</p></blockquote>
</blockquote>
<p>Now I needed the shell script that would be run on boot.</p>
<blockquote><p>
# cat /Library/StartupItems/spencer_boot/spencer_boot </p>
<blockquote><p>
#!/bin/sh</p>
<p>. /etc/rc.common</p>
<p>case &#8220;$1&#8243; in<br />
  start)</p>
<p>    ConsoleMessage &#8220;Starting Spencer Boot: remounting root fs noatime&#8221;<br />
    mount_hfs -o noatime /dev/disk0s2 /</p>
<p>    ;;<br />
esac</p>
<p>exit 0
</p></blockquote>
</blockquote>
<p>This solved the problem for the root fs but I also use Filevault.  If you don&#8217;t use Filevault you can stop reading here.  How would I go about this?  Same problem as before, no where to add mount time options.  Additionally the fs is mounted upon login, not boot.  So our previous method of creating a StartupItem won&#8217;t work.  We&#8217;re going to have to do it later after it has been mounted &#8211; again.  </p>
<blockquote><p><strong>&lt;redacted&gt;</strong> I did have some other information here but after review I wasn&#8217;t happy with advocating the &#8220;hack&#8221; I&#8217;m using.  But the gist of it is to run something like this: <code>/sbin/mount  -u -o noatime,nosuid,nodev /dev/disk1s2 /Users/spencer/</code> after the volume is mounted.  This happens after you enter your password.  So a good place would be login items if you can figure out how to run mount as root from a user&#8217;s startup scripts.<strong>&lt;/redacted&gt;</strong></p></blockquote>
<p>After you login and the system has completely finished running your startup apps open a terminal and type &#8220;mount&#8221;.  You should see &#8220;noatime&#8221; listed as a mount option for you system and Filevault disks.</p>
<p><a href="http://beyondabstraction.net/wp-content/uploads.hidden/2008/11/spencer_boot.sh" title="noatime OS X StartupItem script">spencer_boot shell script</a><br />
<a href="http://beyondabstraction.net/wp-content/uploads.hidden/2008/11/startupparameters.plist" title="noatime OS X StartItems StartupParameters.plist">StartupParameters.plist for the spencer_boot StartupItem</a><br />
<a href="http://beyondabstraction.net/wp-content/uploads.hidden/2008/11/remount_filevault.c" title="noatime Filevault remounter">remount_filevault for noatime in Filevault volumes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/11/06/noatime-mount-option-in-os-x/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My favorite shell completion of all time&#8230;</title>
		<link>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/</link>
		<comments>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 22:30:07 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=176</guid>
		<description><![CDATA[My favorite BASH shell completion of all time is hostname completion for all of my favorite commands: SSH_COMPLETE=( $(cat ~/.ssh/known_hosts &#124; \ cut -f 1 -d &#8216; &#8216; &#124; \ sed -e s/,.*//g &#124; \ uniq &#124; \ egrep -v [0123456789]) ) complete -o default -W &#8220;${SSH_COMPLETE[*]}&#8221; ssh scp sftp rsync nmap traceroute ping nslookup &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>My favorite BASH shell completion of all time is hostname completion for all of my favorite commands:</p>
<blockquote><p>SSH_COMPLETE=( $(cat ~/.ssh/known_hosts | \<br />
                 cut -f 1 -d &#8216; &#8216; | \<br />
                 sed -e s/,.*//g | \<br />
                 uniq | \<br />
                 egrep -v [0123456789]) )</p>
<p>complete -o default -W &#8220;${SSH_COMPLETE[*]}&#8221; ssh scp sftp rsync nmap traceroute ping nslookup dig host nmap nc</p></blockquote>
<p>I find most of the hosts I ssh into I use for basic network diagnostics.  So performing completion  for traceroute, ping, etc based on the contents of known_hosts works great.  Just add it to your .bashrc.</p>
<p><strong>Update: 2008/11/04</strong> </p>
<p>I&#8217;ve modified it to support completion of SVN commands leveraging the hostnames expanded during the SSH completion above:</p>
<blockquote><p><code>SVN_COMPLETE=( $(svn -h|grep -e '^   '|awk '{ print $1; }') $SSH_COMPLETE )<br />
complete -o default -W "${SVN_COMPLETE[*]} ${SSH_COMPLETE[*]}" svn</code></p></blockquote>
<p>Adding these may lengthen your shell exec tasks.  </p>
<p>I test at work. I work from home.  But I will not test from home.  Fix it yourself. (trademark pending).</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Red Hat RHN SSL certificate verification error</title>
		<link>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/</link>
		<comments>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 18:45:01 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=121</guid>
		<description><![CDATA[I was trying to connect to RHN from Yum/up2date in Red Hat Enterprise Linux 5. I kept getting fatal invalid SSL cert errors. The strange part &#8211; out of all of the machines I tested it was only occuring on a single RHEL 5 laptop. The really strange part &#8211; it was happening on the &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I was trying to connect to RHN from Yum/up2date in Red Hat Enterprise Linux 5.  I kept getting fatal invalid SSL cert errors.  The strange part &#8211; out of all of the machines I tested it was only occuring on a single RHEL 5 laptop.   The really strange part &#8211; it was happening on the host as well as inside a guest in a VM running in VMware Player.  </p>
<p>If you get this:</p>
<blockquote><p><code><br />
[root@rhel5-vm ~]# yum search openoffice<br />
Loading "rhnplugin" plugin<br />
Loading "installonlyn" plugin<br />
Traceback (most recent call last):<br />
  File "/usr/bin/yum", line 29, in ?<br />
    yummain.main(sys.argv[1:])<br />
  File "/usr/share/yum-cli/yummain.py", line 85, in main<br />
    base.getOptionsConfig(args)<br />
  File "/usr/share/yum-cli/cli.py", line 199, in getOptionsConfig<br />
    errorlevel=opts.errorlevel)<br />
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 134, in doConfigSetup<br />
    self.plugins.run('init')<br />
  File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 153, in run<br />
    func(conduitcls(self, self.base, conf, **kwargs))<br />
  File "/usr/lib/yum-plugins/rhnplugin.py", line 88, in init_hook<br />
    login_info = up2dateAuth.getLoginInfo()<br />
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 139, in getLoginInfo<br />
    login()<br />
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 98, in login<br />
    li = server.up2date.login(systemId)<br />
  File "/usr/share/rhn/up2date_client/rhnserver.py", line 64, in __call__<br />
    raise up2dateErrors.SSLCertificateVerifyFailedError()<br />
up2date_client.up2dateErrors.SSLCertificateVerifyFailedError: The SSL certificate failed verification.<br />
</code></p></blockquote>
<p>Check the date/time on the machine.  Mine was a VM syncing w/ a host clock with a bad CMOS battery.  Caused it to think it was 2005 and the cert wasn&#8217;t valid yet.  Also explains why it happened in both host and guest.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Deleting All Messages in Exchange OWA</title>
		<link>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/</link>
		<comments>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 15:05:45 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=119</guid>
		<description><![CDATA[Ran into a problem with Exchange. I created a server-side rule to place spam messages in a folder that didn&#8217;t exist. All spam was instead going to the root folder, the folder above my inbox. Well if you use Entourage to access Exchange you will not be able to access this folder. If you go &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Ran into a problem with Exchange.  I created a server-side rule to place spam messages in a folder that didn&#8217;t exist.  All spam was instead going to the root folder, the folder above my inbox.  Well if you use Entourage to access Exchange you will not be able to access this folder.  If you go into Outlook Web Access (OWA) you can navigate to the root user folder by clicking on &#8220;Folders&#8221;.  </p>
<p>Unfortunately by this point I had like thousands and thousands of messages.  There is no &#8220;Delete All&#8221; option in OWA.  Craptacular.  So moving on I mounted the server via WebDAV in finder (cmd+k).  The URL to mount will look something like:<br />
<code>http://exchange.servername.com/exchange/username</code></p>
<p>If this folder is large navigating to it in Finder will be a horrific experience.  Open Terminal.app and navigate to the mountpoint.</p>
<p><code>~/> cd /Volumes/username</code></p>
<p>Once again, if the folder is large <code>rm *.EML</code> will not work as the wildcard expansion done by bash will exceed the length of the command-line itself (32K by default IIRC).  Try this:</p>
<p><code><br />
/Volumes/username> SRC=./*.EML<br />
/Volumes/username> for i in $SRC; do rm "$i"; done<br />
</code></p>
<p>This will cleanup most, if not all, of the mess.  Some files will not be removed due to escape characters and escaped escaped characters etc.  Open the folder in Finder and delete the rest.  There are def. more elegant ways to handle this from a scripting standpoint but this was quick and worked.  </p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

