<?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>langui.sh</title>
	<atom:link href="http://langui.sh/feed/" rel="self" type="application/rss+xml" />
	<link>http://langui.sh</link>
	<description>Fun hacks, WP plugins, photography, and PKI junk.  Languishing since 2008.</description>
	<lastBuildDate>Thu, 04 Mar 2010 20:34:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>jqGrid Local Data Live Search</title>
		<link>http://langui.sh/2010/03/04/jqgrid-local-data-live-search/</link>
		<comments>http://langui.sh/2010/03/04/jqgrid-local-data-live-search/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 20:34:09 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jqgrid]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=986</guid>
		<description><![CDATA[jqGrid is an incredibly powerful and flexible plugin for jQuery that allows you to build data grids using nothing but Javascript, HTML, and CSS.  I recently wanted to allow live filtering of local results (no AJAX queries, just parsing local data) based on a search string.  View the demo and then follow along <a href="http://langui.sh/2010/03/04/jqgrid-local-data-live-search/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>jqGrid is an incredibly powerful and flexible plugin for jQuery that allows you to build data grids using nothing but Javascript, HTML, and CSS.  I recently wanted to allow live filtering of local results (no AJAX queries, just parsing local data) based on a search string.  <a href="/wp-content/other/jqgrid_live_search/" target="_blank">View the demo</a> and then follow along below.</p>
<h3>Basic HTML Structure</h3>
<p>Below is some very basic HTML that you can use to build a jqGrid.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;html&gt;
  &lt;head&gt;
    &lt;!--snipped necessary JS and CSS includes here--&gt;
    &lt;title&gt;jqGrid Live Search Demo&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h2&gt;jqGrid Live Search Demo&lt;/h2&gt;
    &lt;table id=&quot;list&quot;&gt;&lt;/table&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<h3>Create A Grid</h3>
<p>This snippet will create a grid using the &#8220;smoothness&#8221; jQuery-UI theme.  This grid has 3 columns and obtains its data in JSON format from &#8220;data.php&#8221;.  Notice the global declaration of searchColumn and the call to fetch an array of all the data from the name column when the gridComplete event fires.  You could grab the other columns as well, but for this example we&#8217;re only going to search on name.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gridimgpath <span style="color: #339933;">=</span> <span style="color: #3366CC;">'css/smoothness/images'</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> grid <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#list'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> searchColumn<span style="color: #339933;">;</span>
&nbsp;
grid.<span style="color: #660066;">jqGrid</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	url<span style="color: #339933;">:</span><span style="color: #3366CC;">'data.php'</span><span style="color: #339933;">,</span>
	datatype<span style="color: #339933;">:</span> <span style="color: #3366CC;">'json'</span><span style="color: #339933;">,</span>
	mtype<span style="color: #339933;">:</span> <span style="color: #3366CC;">'POST'</span><span style="color: #339933;">,</span>
	colNames<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'Name'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'Data'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'Date'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
	colModel <span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span> 
	  <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span> index<span style="color: #339933;">:</span><span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span> width<span style="color: #339933;">:</span><span style="color: #CC0000;">140</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> 
	  <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'data'</span><span style="color: #339933;">,</span> index<span style="color: #339933;">:</span><span style="color: #3366CC;">'data'</span><span style="color: #339933;">,</span> width<span style="color: #339933;">:</span><span style="color: #CC0000;">200</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	  <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'date'</span><span style="color: #339933;">,</span> index<span style="color: #339933;">:</span><span style="color: #3366CC;">'date'</span><span style="color: #339933;">,</span> width<span style="color: #339933;">:</span><span style="color: #CC0000;">200</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
	sortname<span style="color: #339933;">:</span> <span style="color: #3366CC;">'date'</span><span style="color: #339933;">,</span>
	sortorder<span style="color: #339933;">:</span> <span style="color: #3366CC;">'asc'</span><span style="color: #339933;">,</span>
	caption<span style="color: #339933;">:</span><span style="color: #3366CC;">'Search: &lt;input type=&quot;search&quot; id=&quot;gridsearch&quot; placeholder=&quot;Search&quot; results=&quot;0&quot; class=&quot;gridsearch&quot; /&gt;'</span><span style="color: #339933;">,</span>
	viewrecords<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
	loadonce<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
	width<span style="color: #339933;">:</span> <span style="color: #CC0000;">750</span><span style="color: #339933;">,</span>
	forceFit<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
	height<span style="color: #339933;">:</span><span style="color: #CC0000;">130</span><span style="color: #339933;">,</span>
	gridComplete<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		searchColumn <span style="color: #339933;">=</span> grid.<span style="color: #660066;">jqGrid</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'getCol'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">//needed for live filtering search</span>
	<span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Live Filtering</h3>
<p>This is the simple code that allows us to live filter on the grid.  It will hide any id that doesn&#8217;t match the string you&#8217;re entering.  The search is case insensitive.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//for live filtering search</span>
jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#gridsearch'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">keyup</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> searchString <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	jQuery.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span>searchColumn<span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">value</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>searchString<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">id</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#'</span><span style="color: #339933;">+</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">id</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<h3>Known Issues</h3>
<p>At the moment if the first row is hidden the grid becomes unaligned from its headers (and live resizing of the columns does not work).  This issue can be hidden by making all the headers the same width, but if a user resizes the problem will be visible again.  There is a <a href="http://github.com/tonytomov/jqGrid/issues#issue/26" target="_blank">bug</a> open on github to correct the issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/03/04/jqgrid-local-data-live-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 10.04 in VMWare Fusion</title>
		<link>http://langui.sh/2010/02/27/ubuntu-10-04-in-vmware-fusion/</link>
		<comments>http://langui.sh/2010/02/27/ubuntu-10-04-in-vmware-fusion/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 20:20:42 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[lucid lynx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1121</guid>
		<description><![CDATA[I installed the 10.04 LTS (Lucid Lynx) 64-bit alpha 3 this morning to check out some of the new features.  And since I&#8217;ve done a few other articles about running Ubuntu in a VM I thought I&#8217;d share the experience yet again.
If you&#8217;re running VMWare Fusion 3.0+ (or the current release of Workstation 7) <a href="http://langui.sh/2010/02/27/ubuntu-10-04-in-vmware-fusion/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I installed the 10.04 LTS (Lucid Lynx) 64-bit alpha 3 this morning to check out some of the new features.  And since I&#8217;ve done <a href="/2009/10/29/upgrading-ubuntu-server-to-9-10/" target="_blank">a</a> <a href="/2009/10/05/ubuntu-9-10-in-vmware/" target="_blank">few</a> <a href="/2009/04/26/upgrading-ubuntu-server-810-intrepid-to-904-jaunty/" target="_blank">other</a> <a href="/2009/04/04/ubuntu-904-beta-in-vmware-fusion/" target="_blank">articles</a> about running Ubuntu in a VM I thought I&#8217;d share the experience yet again.</p>
<p>If you&#8217;re running VMWare Fusion 3.0+ (or the current release of Workstation 7) then the version of VMWare Tools you have with your software can successfully install with no manual intervention.  Simply pick easy install and let VMWare do all the work.</p>
<p>If you&#8217;re running an older version you will want to take a look at my Ubuntu 9.10 <a href="/2009/10/05/ubuntu-9-10-in-vmware/" target="_blank">instructions</a> for help with getting open-vm-tools running for you in 10.04.</p>
<p>I&#8217;ll update this article if anything changes (the kernel freeze for Lucid Lynx is not until March 11).</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/02/27/ubuntu-10-04-in-vmware-fusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SNI Support in Chromium OS X</title>
		<link>http://langui.sh/2010/02/24/sni-support-in-chromium-os-x/</link>
		<comments>http://langui.sh/2010/02/24/sni-support-in-chromium-os-x/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 01:16:59 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[sni]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1111</guid>
		<description><![CDATA[As of r39934 Chromium now supports the server_name TLS extension (server name indication) in OS X (latest build).  This support requires OS X 10.5.7 or later.  Hopefully it&#8217;ll make its way into a dev/beta/stable release of Google Chrome itself soon.
For those who are more curious than they ought to be about how I <a href="http://langui.sh/2010/02/24/sni-support-in-chromium-os-x/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>As of <a href="http://src.chromium.org/viewvc/chrome?view=rev&#038;revision=39934" target="_blank">r39934</a> Chromium now supports the server_name TLS extension (server name indication) in OS X (<a href="http://build.chromium.org/buildbot/continuous/mac/LATEST/" target="_blank">latest build</a>).  This support requires OS X 10.5.7 or later.  Hopefully it&#8217;ll make its way into a dev/beta/stable release of Google Chrome itself soon.</p>
<p>For those who are more curious than they ought to be about how I wrote this patch&#8230; Apple added support in their Secure Transport library for the server_name TLS extension, but has not updated their <a href="http://developer.apple.com/mac/library/DOCUMENTATION/Security/Reference/secureTransportRef/Reference/reference.html" target="_blank">documentation</a>.  As of 10.5.7 (or possibly 10.5.6) the SSLSetPeerDomainName function &#8212; which is ostensibly used for OS level certificate verification &#8212; causes OS X to send the server_name extension in the TLS client hello.  However, since Chromium doesn&#8217;t use OS X&#8217;s built-in verification it wasn&#8217;t passing this data through prior to the patch.</p>
<p>To test you can hit up my IDN SNI site <a href="https://☣.ws/" target="_blank">https://☣.ws/</a> or <a href="https://alice.sni.velox.ch/" target="_blank">https://alice.sni.velox.ch/</a>. The former will throw a certificate error if you are on a non-SNI enabled browser and the latter will have text stating that the SNI extension is missing.</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/02/24/sni-support-in-chromium-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5D Mark II Video &#8211; One Year In</title>
		<link>http://langui.sh/2010/02/06/5d-mark-ii-video-one-year-in/</link>
		<comments>http://langui.sh/2010/02/06/5d-mark-ii-video-one-year-in/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 04:24:57 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1061</guid>
		<description><![CDATA[When I purchased my 5D I told myself I&#8217;d try my hand at a video.  Well, one year later I&#8217;ve finally worked up the ambition to learn some video editing and publish something  This video represents the past year of owning this camera.  I learned a great deal in the process (mostly <a href="http://langui.sh/2010/02/06/5d-mark-ii-video-one-year-in/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>When I purchased my 5D I told myself I&#8217;d try my hand at a video.  Well, one year later I&#8217;ve finally worked up the ambition to learn some video editing and publish something  This video represents the past year of owning this camera.  I learned a great deal in the process (mostly about how to shoot better source footage for the future), but I hope you all enjoy it.  <a href="http://vimeo.com/9262982" target="_blank">Click here</a> to go to the Vimeo page to view in HD or download the original 1080p source.  The non-HD (bleh) version appears below<sup class='footnote'><a href='#fn-1061-1' id='fnref-1061-1'>1</a></sup>.</p>
<p><object width="600" height="337"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9262982&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9262982&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="337"></embed></object>
<p><a href="http://vimeo.com/9262982">5D Mark II One Year</a> from <a href="http://vimeo.com/user3073720">Paul Kehrer</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-1061-1'>Hopefully a decent embeddable HTML5 player will come along soon so I can scrub the Flash from this blog. <span class='footnotereverse'><a href='#fnref-1061-1'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/02/06/5d-mark-ii-video-one-year-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Interfaces Available In Wireshark Mac OS X</title>
		<link>http://langui.sh/2010/01/31/no-interfaces-available-in-wireshark-mac-os-x/</link>
		<comments>http://langui.sh/2010/01/31/no-interfaces-available-in-wireshark-mac-os-x/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 22:36:11 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1082</guid>
		<description><![CDATA[Many new Wireshark users on Mac OS X run into an issue where no interfaces show up when trying to begin packet capture.  If you attempt to manually input an interface (such as en0) this error will occur:
 The capture session could not be initiated ((no devices found) /dev/bpf0: Permission denied).
To have the interfaces <a href="http://langui.sh/2010/01/31/no-interfaces-available-in-wireshark-mac-os-x/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Many new Wireshark users on Mac OS X run into an issue where no interfaces show up when trying to begin packet capture.  If you attempt to manually input an interface (such as en0) this error will occur:</p>
<blockquote><p> The capture session could not be initiated ((no devices found) /dev/bpf0: Permission denied).</p></blockquote>
<p>To have the interfaces show up properly you&#8217;ll need to widen the permissions on the Berkeley packet filter (BPF).  By default they look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">crw-------  <span style="color: #000000;">1</span> root  wheel   <span style="color: #000000;">23</span>,   <span style="color: #000000;">0</span> Jan <span style="color: #000000;">31</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">47</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>bpf0</pre></div></div>

<p>We need the filter to be readable by non-root, so open Terminal.app and run this command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>bpf<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>Unfortunately every time you reboot this will reset, but if you are a frequent user of Wireshark you can add the ChmodBPF StartupItem to alter them automatically (available in the Utilities folder on the Wireshark disk image).  To install you&#8217;ll need to follow two steps.</p>
<p>First, drag the ChmodBPF folder to the StartupItems alias in the same folder (or drag it to /Library/StartupItems directly).  Type your password to authenticate and move the folder into the correct location.</p>
<p>The second requirement is only for 10.6+ users.  Starting with Snow Leopard the security permissions of StartupItems are being enforced.  Scripts that do not have the proper owner and group will receive this error:</p>
<blockquote><p> Insecure Startup Item disabled. – “/Library/StartupItems/ChmodBPF” has not been started because it does not have the proper security settings</p></blockquote>
<p>The proper security settings are ownership of the scripts by root and group of wheel.<sup class='footnote'><a href='#fn-1082-1' id='fnref-1082-1'>1</a></sup>  To set them:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> root:wheel ChmodBPF</pre></div></div>

<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-1082-1'>The correct settings for startup items can be found in this <a href="http://support.apple.com/kb/HT2413" target="_blank">Apple KB article</a> <span class='footnotereverse'><a href='#fnref-1082-1'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/31/no-interfaces-available-in-wireshark-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Costa Rica Photo Journal</title>
		<link>http://langui.sh/2010/01/29/costa-rica-photo-journal/</link>
		<comments>http://langui.sh/2010/01/29/costa-rica-photo-journal/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:54:17 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[costa rica]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[photojournal]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1060</guid>
		<description><![CDATA[I have returned from my trip to Costa Rica!  Typically I don&#8217;t write about my personal experiences on this blog, but I&#8217;ve decided to try a photo journal style entry this time.  Don&#8217;t worry, your regular nerd posts will resume shortly.  As always, click the photo to go to the Flickr page. <a href="http://langui.sh/2010/01/29/costa-rica-photo-journal/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I have returned from my trip to Costa Rica!  Typically I don&#8217;t write about my personal experiences on this blog, but I&#8217;ve decided to try a photo journal style entry this time.  Don&#8217;t worry, your regular nerd posts will resume shortly.  As always, click the photo to go to the Flickr page.  From there you can view any photo in <b>much</b> larger sizes.  Be sure to <a href="http://www.flickr.com/photos/paulkehrer/sets/72157623184013285/" target="_blank">view the set</a> in its entirety as well.</p>
<h3>Sunday, January 24</h3>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314496950/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4001/4314496950_55cffba35d.jpg" /></a><br />
This bird was sitting near the patio of my hotel room in the morning</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314497192/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4065/4314497192_ae7b4fd9b2.jpg" /></a><br />
A boy picks something out of the water at sunset on the beach</p>
<h3>Monday, January 25</h3>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4313762625/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4038/4313762625_cf74b266b2.jpg" /></a><br />
Barbed wire coiled on a trail 3km from <a href="http://www.arenal.net/" target="_blank">Arenal Volcano</a></p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314499932/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4058/4314499932_405f0d89f4.jpg" /></a><br />
The skeleton of a leaf impaled on a broken post</p>
<h3>Tuesday, January 26</h3>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4313764333/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4058/4313764333_fbdf84fe2e.jpg" /></a><br />
An early morning finds a mother monkey and her child running across the branches</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314500408/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4067/4314500408_82acf54ae3.jpg" /></a><br />
The mast of a catamaran juts up towards the waxing moon</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314501448/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4008/4314501448_7db2f12b4d.jpg" /></a><br />
Night falls on the beach near Tamarindo</p>
<h3>Wednesday, January 27</h3>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4313766045/in/set-72157623184013285/" target="_blank"><img src="http://farm3.static.flickr.com/2700/4313766045_8d761f6cf8.jpg" /></a><br />
A bird rests on a downed palm.  Seen from a small boat down a river in Palo Verde National Park</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4314502302/in/set-72157623184013285/" target="_blank"><img src="http://farm5.static.flickr.com/4054/4314502302_3ac624121c.jpg" /></a><br />
A crocodile suns itself near the bank.</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/paulkehrer/4313767277/in/set-72157623184013285/" target="_blank"><img src="http://farm3.static.flickr.com/2698/4313767277_b6ba21e07f.jpg" /></a><br />
Birds liked to stay hidden within the dense trees lining the water.</p>
<p>To see more from each day (31 total) <a href="http://www.flickr.com/photos/paulkehrer/sets/72157623184013285/" target="_blank">view the entire set</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/29/costa-rica-photo-journal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Productivity Enhancers</title>
		<link>http://langui.sh/2010/01/20/bash-productivity-enhancers/</link>
		<comments>http://langui.sh/2010/01/20/bash-productivity-enhancers/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:35:20 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1043</guid>
		<description><![CDATA[Bash is an extremely powerful shell, but its shortcuts are not readily apparent.  Here are a few shortcuts and tips that I&#8217;ve noticed many (already proficient) bash users are not aware of.  You can also check out Improved Bash History and More Useful Bash/Terminal Settings for more ideas for improving your bash productivity.
Bash <a href="http://langui.sh/2010/01/20/bash-productivity-enhancers/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Bash is an extremely powerful shell, but its shortcuts are not readily apparent.  Here are a few shortcuts and tips that I&#8217;ve noticed many (already proficient) bash users are not aware of.  You can also check out <a href="http://langui.sh/2009/10/30/improved-bash-history/" target="_blank">Improved Bash History</a> and <a href="http://langui.sh/2009/11/02/more-useful-bashterminal-settings/">More Useful Bash/Terminal Settings</a> for more ideas for improving your bash productivity.</p>
<h2>Bash Navigation Shortcuts</h2>
<p>When editing a long command, there are quite a few navigation and editing shortcuts.  By default bash typically operates in emacs mode.</p>
<ul>
<li>Ctrl-A to go to the beginning of the line</li>
<li>Ctrl-E to go to the end of a line.</li>
<li>Ctrl-W will cut the current word (searching backward)</li>
<li>Ctrl-U will cut everything before the cursor</li>
<li>Ctrl-K cuts everything after the cursor</li>
<li>Ctrl-Y pastes the last text that was cut</li>
<li>Ctrl-T swaps the order of the last two characters entered<sup class='footnote'><a href='#fn-1043-1' id='fnref-1043-1'>1</a></sup></li>
<li>Meta-B will move the cursor back one word</li>
<li>Meta-F will move the cursor forward one word</li>
</ul>
<p>Meta keys are a bit tricky since they can differ based on your terminal application.  On Windows/Linux it is typically Alt and on Mac OS X Terminal.app defaults to using Esc (but you can change it to option/alt in the preferences).</p>
<p>However, bash also has a <b>vi/vim editing mode</b>.  To enable this type &#8220;set -o vi&#8221;.  At this point all the typical vi shortcuts are available if you enter command mode (by hitting Esc).  I don&#8217;t recommend using this unless you are very comfortable with vi already.</p>
<h2>reverse-i-search</h2>
<p>You can search through your history and rapidly find a command used previously with reverse-i-search.  To invoke, press Ctrl-R and start typing.  If you have multiple matches, hit Ctrl-R to cycle through them all.  When coupled with an <a href="http://langui.sh/2009/10/30/improved-bash-history/" target="_blank">improved bash history</a> this is an extraordinarily useful tool.</p>
<h2>Controlling Tasks in Bash</h2>
<p>Bash allows you to stop, background, and foreground tasks.  To background a process before it starts simply add &#038; to the end of your command.<sup class='footnote'><a href='#fn-1043-2' id='fnref-1043-2'>2</a></sup></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mycommand <span style="color: #000000; font-weight: bold;">&amp;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">1922</span></pre></div></div>

<p>If you have an already running task and you&#8217;d like to stop it press Ctrl-Z.  This task will obtain a job number (the number in brackets).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>+  Stopped                 mycommand</pre></div></div>

<p>You can then resume the task in the foreground with <b>fg #</b> or background it with <b>bg #</b>.   To see a list of jobs that have been backgrounded or stopped type <b>jobs</b>.</p>
<h2>Redirecting stderr/stdout in Bash</h2>
<p>Bash has two main output buffers: stderr and stdout.  Both of these, by default, output to your terminal window.</p>
<ul>
<li>To redirect stdout to a file add <b>&gt; /path/to/output</b></li>
<li>To redirect stderr to a file add <b>2&gt; /path/to/output</b></li>
<li>To redirect stderr into stdout add <b>2&gt;&amp;1</b></li>
</ul>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-1043-1'>This shortcut is available in both emacs and vi mode, but I&#8217;ve placed it here since it uses the Control key. <span class='footnotereverse'><a href='#fnref-1043-1'>&#8617;</a></span></li>
<li id='fn-1043-2'>Output from stdout and stderr will continue to appear in your terminal, so consider redirecting them if needed. <span class='footnotereverse'><a href='#fnref-1043-2'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/20/bash-productivity-enhancers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migration To Slicehost</title>
		<link>http://langui.sh/2010/01/16/migration-to-slicehost/</link>
		<comments>http://langui.sh/2010/01/16/migration-to-slicehost/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 03:45:50 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[slicehost]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=1032</guid>
		<description><![CDATA[I got tired of the performance issues I was having so I&#8217;ve migrated my blog to a Slicehost slice (512MB).  Hopefully nothing is broken, but if you notice something let me know.  Everything should load more quickly and consistently going forward!
]]></description>
			<content:encoded><![CDATA[<p>I got tired of the performance issues I was having so I&#8217;ve migrated my blog to a Slicehost slice (512MB).  Hopefully nothing is broken, but if you notice something let me know.  Everything should load more quickly and consistently going forward!</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/16/migration-to-slicehost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jasper National Park</title>
		<link>http://langui.sh/2010/01/12/jasper-national-park/</link>
		<comments>http://langui.sh/2010/01/12/jasper-national-park/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 05:11:23 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[canada]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[jasper]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=989</guid>
		<description><![CDATA[To make up for posting that downer of a TSA article how about some photos from the day I spent in Jasper National Park?  Click any image to go to the Flickr page and see it in larger sizes.  Or you could just view the entire set!
A Cold Canoe Ride

Big Horn Sheep

Ice Columns
]]></description>
			<content:encoded><![CDATA[<p>To make up for posting that downer of a TSA article how about some photos from the day I spent in Jasper National Park?  Click any image to go to the Flickr page and see it in larger sizes.  Or you could just <a href="http://www.flickr.com/photos/paulkehrer/sets/72157623193172238/">view the entire set!</a></p>
<div style="text-align:center">A Cold Canoe Ride<br/><a href="http://www.flickr.com/photos/paulkehrer/4268224962/in/set-72157623193172238/" target="_blank"><img src="http://farm5.static.flickr.com/4039/4268224962_c4ccb07b5c.jpg" alt="A Cold Canoe Ride" /></a></div>
<div style="text-align:center">
Big Horn Sheep<br/><a href="http://www.flickr.com/photos/paulkehrer/4267480621/in/set-72157623193172238/" target="_blank"><img src="http://farm5.static.flickr.com/4053/4267480621_2f4d341107.jpg" alt="Big Horn Sheep" /></a></div>
<div style="text-align:center">
Ice Columns<br/><a href="http://www.flickr.com/photos/paulkehrer/4268226614/in/set-72157623193172238/" target="_blank"><img src="http://farm3.static.flickr.com/2764/4268226614_526f433a1d.jpg" alt="Ice Columns" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/12/jasper-national-park/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Trip To The TSA Security Theater</title>
		<link>http://langui.sh/2010/01/11/my-trip-to-the-tsa-security-theater/</link>
		<comments>http://langui.sh/2010/01/11/my-trip-to-the-tsa-security-theater/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 16:09:42 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[tsa]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=962</guid>
		<description><![CDATA[Having just returned from a trip to Canada I have now experienced the new TSA security theater1 for flights inbound to the US from abroad.  Hopefully your own experience will not mirror mine, but if these restrictions stay in place this post could be helpful to some.2
At check-in we discovered that the TSA will <a href="http://langui.sh/2010/01/11/my-trip-to-the-tsa-security-theater/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Having just returned from a trip to Canada I have now experienced the new TSA security theater<sup class='footnote'><a href='#fn-962-1' id='fnref-962-1'>1</a></sup> for flights inbound to the US from abroad.  Hopefully your own experience will not mirror mine, but if these restrictions stay in place this post could be helpful to some.<sup class='footnote'><a href='#fn-962-2' id='fnref-962-2'>2</a></sup></p>
<p>At check-in we discovered that the TSA will allow outbound flights to take backpacks and carry-ons, but when coming back into the country you must check them.  In my case I was required to check both my backpack and my suitcase.  This incurred a $20 charge for something I was forced to do, but the agent &#8220;generously&#8221; allowed me to check my backpack for free.  Since that backpack was explicitly designed to hold only my laptop and camera equipment I had to pick a lens, attach it to my camera body, grab my (bare) laptop, and hope the rest of my equipment wasn&#8217;t damaged.</p>
<p>Once we dropped off our bags we entered the actual screening line.  The staff there announced that each passenger would have their personal effects individually inspected and then they would undergo a body search.  My agent searched through the belongings I had left (cell phone, keys, belt, shoes, wallet, coat, camera, and laptop) relatively thoroughly.  She even looked through my wallet.  I was informed that the new rules do allow laptop bags as long as they contain nothing but laptop-related equipment, as well as camera bags with the same restriction.  Of course, you can&#8217;t carry two bags on so that doesn&#8217;t help people who need both.</p>
<p>After this I was supposed to receive a pat down search, but since every screener was busy the agent used an alternate method.  She instructed me to rub my hands in my pockets and then hold my palms out face up so she could rub a tissue on my hands to check for bomb residue.  Once cleared I was allowed to gather my things and proceed to the gate.</p>
<p>On the plane the lack of a case for my camera or laptop became more of an issue.  Both overhead and under the seat are difficult locations when your equipment has no protection, but eventually my items were stowed.  We were seated in the second to last row of the plane, which became the last when the flight attendants requested that those behind us move to different seats further up.  The rationale given for emptying the final row was to help prevent the congregation of people near the lavatory and this rule was strictly enforced.  We were also told that we would be required to put away all electronic devices and remain buckled in and seated for the final hour of our flight into Chicago.  Anything that could obstruct the lap (such as a coat, blanket, or pillow) had to be stowed overhead or underneath the seat.</p>
<p>Our flight completed without incident<sup class='footnote'><a href='#fn-962-3' id='fnref-962-3'>3</a></sup>, but these new restrictions aren&#8217;t making me feel safer &#8212; they&#8217;re becoming real obstacles to using air travel.
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-962-1'>Thanks to <a href="http://www.schneier.com/" target="_blank">Bruce Schneier</a> for the name. <span class='footnotereverse'><a href='#fnref-962-1'>&#8617;</a></span></li>
<li id='fn-962-2'>I want to be clear that at no time did a TSA agent behave in an unprofessional or belligerent fashion.  My complaint is with these policies, not the people tasked with carrying them out. <span class='footnotereverse'><a href='#fnref-962-2'>&#8617;</a></span></li>
<li id='fn-962-3'>Other than a small child who simply could not hold it after the &#8220;final hour&#8221; restrictions started.  The attendants allowed his mother to take him to the bathroom. <span class='footnotereverse'><a href='#fnref-962-3'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2010/01/11/my-trip-to-the-tsa-security-theater/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
