<?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>Pattern Buffer:</title>
	<atom:link href="http://patternbuffer.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://patternbuffer.wordpress.com</link>
	<description>Kyle Crawford</description>
	<lastBuildDate>Thu, 01 Oct 2009 04:16:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='patternbuffer.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/e7ef40639a7fbf7f0a16e1bdac83c927?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Pattern Buffer:</title>
		<link>http://patternbuffer.wordpress.com</link>
	</image>
			<item>
		<title>Customizing the Cisco or IPSec VPN client in Snow Leopard</title>
		<link>http://patternbuffer.wordpress.com/2009/10/01/customizing-the-cisco-or-ipsec-vpn-client-in-snow-leopard/</link>
		<comments>http://patternbuffer.wordpress.com/2009/10/01/customizing-the-cisco-or-ipsec-vpn-client-in-snow-leopard/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 04:16:30 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[IPSec]]></category>
		<category><![CDATA[racoon]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=84</guid>
		<description><![CDATA[The Snow Leopard VPN is not very configurable from the GUI, but behind the scenes it is using a racoon configuration.
To grab the configuration it is generating, configure the VPN in the System Preferences GUI, then rename /usr/sbin/racoon and try connecting.  The config file will be written in /var/run/racoon/.  Grap a copy of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=84&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Snow Leopard VPN is not very configurable from the GUI, but behind the scenes it is using a <a href="http://ipsec-tools.sourceforge.net/">racoon</a> configuration.</p>
<p>To grab the configuration it is generating, configure the VPN in the System Preferences GUI, then rename /usr/sbin/racoon and try connecting.  The config file will be written in /var/run/racoon/.  Grap a copy of that file and customize it to your needs.  Once you have the config file, rename racoon back to its original name.</p>
<p>Then to make the GUI use your custom config file instead of the one it generates, edit /etc/racoon/racoon.conf to include your custom config file and comment out the line:<br />
<code>include "/var/run/racoon/*.conf" ;<br />
</code></p>
<p>By making a few changes I was able to get a successful connection to our Cisco VPN Concentrators.</p>
<p>I&#8217;m hoping there is a less hacky way to accomplish this.  If you know of one, let me know. Otherwise <a href="http://bugreport.apple.com">file a bug</a> with Apple.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=84&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/10/01/customizing-the-cisco-or-ipsec-vpn-client-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Posting form params with httperf or using netcat for troubleshooting</title>
		<link>http://patternbuffer.wordpress.com/2009/06/17/posting-form-params-with-httperf-or-using-netcat-for-troubleshooting/</link>
		<comments>http://patternbuffer.wordpress.com/2009/06/17/posting-form-params-with-httperf-or-using-netcat-for-troubleshooting/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 03:35:53 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=81</guid>
		<description><![CDATA[Web apps including rails won&#8217;t parse parameters POSTed in an http request unless a specific header is present.
A curl command automatically adds this header for you, but other tools including httperf might not.
To ensure the header gets sent with httperf, add the following command line option:
--add-header 'Content-Type: application/x-www-form-urlencoded\n'
Note, I discovered the answer because curl worked, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=81&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Web apps including rails won&#8217;t parse parameters POSTed in an http request unless a specific header is present.<br />
A curl command automatically adds this header for you, but other tools including httperf might not.</p>
<p>To ensure the header gets sent with httperf, add the following command line option:<br />
<code>--add-header 'Content-Type: application/x-www-form-urlencoded\n'</code></p>
<p>Note, I discovered the answer because curl worked, though httperf did not.  So I ran the curl command against a simple netcat (nc) server and noticed the extra http header being received.  Netcat was really handy for this.  To run a netcat server simply enter <code>nc -l 1234</code>, where 1234 is the port you want to listen on.  Then run your client app pointing to your netcat server ip and port.  The netcat server will output the raw TCP it receives.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=81&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/06/17/posting-form-params-with-httperf-or-using-netcat-for-troubleshooting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Disable protect_from_forgery when load testing rails</title>
		<link>http://patternbuffer.wordpress.com/2009/06/03/disable-protect_from_forgery-when-load-testing-rails/</link>
		<comments>http://patternbuffer.wordpress.com/2009/06/03/disable-protect_from_forgery-when-load-testing-rails/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 03:00:11 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[httperf]]></category>
		<category><![CDATA[load testing]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=77</guid>
		<description><![CDATA[Rails turns on protection from CSRF Cross-Site Request Forgery by default.  It can make load testing more challenging since you need to get an authenticity_token for posting form data.
More information here:  http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=77&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Rails turns on protection from CSRF Cross-Site Request Forgery by default.  It can make load testing more challenging since you need to get an authenticity_token for posting form data.</p>
<p>More information here:  <a href="http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html">http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=77&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/06/03/disable-protect_from_forgery-when-load-testing-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Reliable record references when AppleScripting FileMaker</title>
		<link>http://patternbuffer.wordpress.com/2009/04/21/reliable-record-references-when-applescripting-filemaker/</link>
		<comments>http://patternbuffer.wordpress.com/2009/04/21/reliable-record-references-when-applescripting-filemaker/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 04:04:01 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[FileMaker]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[current record]]></category>
		<category><![CDATA[record ID]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=74</guid>
		<description><![CDATA[Using current record when AppleScripting FileMaker has a couple of problems.  The current record can change out from under you, so by the next step in your script, you may be dealing with the wrong record.  Simply storing the record result in a variable doesn&#8217;t work either because getting the result converts it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=74&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Using current record when AppleScripting FileMaker has a couple of problems.  The current record can change out from under you, so by the next step in your script, you may be dealing with the wrong record.  Simply storing the record result in a variable doesn&#8217;t work either because getting the result converts it to a native AppleScript list of the data from the record.  Using a reference to current record suffers the same problem. </p>
<p>One solution is to use record IDs.  I believe that record IDs are guaranteed to be static/unchanging, at least while the app is running.</p>
<p>To get the record ID for the current record:<br />
<code>set recID to ID of current record</code></p>
<p>To use the record ID later in your script:<br />
<code>get cell "my_field" of record ID recID</code></p>
<p>To get all record IDs for a given query:<br />
<code>set recordIDs to ID of every record whose cell "my_field" is "my_value"</code></p>
<p>Then access each found record by ID:<br />
<code>repeat with recID in recordIDs<br />
   get cell "my_other_field" of record ID recID<br />
end repeat</code></p>
<p>Note:  The following method will also work for certain use cases since it appears to use the record ID internally as well:<br />
<code>set x to current record as reference</code></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=74&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/04/21/reliable-record-references-when-applescripting-filemaker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby Telnet For Logging Into RAIDs and Devices</title>
		<link>http://patternbuffer.wordpress.com/2009/03/19/ruby-telnet-for-logging-into-raids-and-devices/</link>
		<comments>http://patternbuffer.wordpress.com/2009/03/19/ruby-telnet-for-logging-into-raids-and-devices/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 01:46:50 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[lun mask]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=69</guid>
		<description><![CDATA[Ruby&#8217;s built-in telnet capability has been extremely useful for scripting automated RAID changes like LUN masking, etc.
It is super simple.  Connect, login, issue commands, read and parse results.
The example code I used is here.
This is telnet, so don&#8217;t do this if eavesdropping is a concern.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=69&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ruby&#8217;s built-in telnet capability has been extremely useful for scripting automated RAID changes like LUN masking, etc.</p>
<p>It is super simple.  Connect, login, issue commands, read and parse results.</p>
<p>The example code I used is <a href="http://snippets.dzone.com/posts/show/6437">here</a>.</p>
<p>This is telnet, so don&#8217;t do this if eavesdropping is a concern.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=69&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/03/19/ruby-telnet-for-logging-into-raids-and-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Troubleshooting Firewire Drives</title>
		<link>http://patternbuffer.wordpress.com/2009/03/03/troubleshooting-firewire-drives/</link>
		<comments>http://patternbuffer.wordpress.com/2009/03/03/troubleshooting-firewire-drives/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 04:31:53 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[case]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[fan]]></category>
		<category><![CDATA[firewire]]></category>
		<category><![CDATA[hard drive]]></category>
		<category><![CDATA[hot]]></category>
		<category><![CDATA[intermittent]]></category>
		<category><![CDATA[lacie]]></category>
		<category><![CDATA[overheating]]></category>
		<category><![CDATA[western digital]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=66</guid>
		<description><![CDATA[If your firewire hard drive is failing intermittently or after transferring some data, it could be a heat issue.  Symptoms might include i/o errors and spontaneous disconnects.
Simply removing the case (housing) from my Western Digital MyBook drive allowed it to work reliably enough to get all of the data off.  I might continue [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=66&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If your firewire hard drive is failing intermittently or after transferring some data, it could be a heat issue.  Symptoms might include i/o errors and spontaneous disconnects.</p>
<p>Simply removing the case (housing) from my Western Digital MyBook drive allowed it to work reliably enough to get all of the data off.  I might continue to use it that way since it hasn&#8217;t failed since removing the housing.</p>
<p>I&#8217;ve seen this issue with LaCie cases as well.  They get extremely hot and are prone to failure, especially if the case does not have a fan and the drive is used continuously for long periods of time, such for backups.</p>
<p>If you need to use a firewire drive for backup, I would invest in a good case with a fan if possible.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=66&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/03/03/troubleshooting-firewire-drives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>dseditgroup does not work on computers and computergroups</title>
		<link>http://patternbuffer.wordpress.com/2009/02/02/dseditgroup-does-not-work-on-computers-and-computergroups/</link>
		<comments>http://patternbuffer.wordpress.com/2009/02/02/dseditgroup-does-not-work-on-computers-and-computergroups/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 04:50:25 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[computergroup]]></category>
		<category><![CDATA[DirectoryService]]></category>
		<category><![CDATA[dsmemberutil]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=63</guid>
		<description><![CDATA[The title says it all.   If you find that it does work, please let me know.  I&#8217;ve tried it and it does not work even though there is a reference to a computer type record in the man page.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=63&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The title says it all.   If you find that it does work, please let me know.  I&#8217;ve tried it and it does not work even though there is a reference to a computer type record in the man page.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=63&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2009/02/02/dseditgroup-does-not-work-on-computers-and-computergroups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Set DirectoryService debug level</title>
		<link>http://patternbuffer.wordpress.com/2008/12/08/set-directoryservice-debug-level/</link>
		<comments>http://patternbuffer.wordpress.com/2008/12/08/set-directoryservice-debug-level/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 05:48:54 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debug level]]></category>
		<category><![CDATA[defaults]]></category>
		<category><![CDATA[DirectoryService]]></category>
		<category><![CDATA[USR1]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=60</guid>
		<description><![CDATA[Apple&#8217;s document on Extending and Troubleshooting Directory Services has a lot of good info.
One correction though is that the debug level must be an integer.
sudo defaults write /Library/Preferences/DirectoryService/DirectoryServiceDebug "Debug Logging Priority Level" -integer 2
I&#8217;ve notified Apple, so this may be fixed by the time you read this.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=60&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Apple&#8217;s document on <a href="http://developer.apple.com/releasenotes/MacOSXServer/RN-DirectoryServicesSession549/index.html">Extending and Troubleshooting Directory Services</a> has a lot of good info.</p>
<p>One correction though is that the debug level must be an integer.<br />
<code>sudo defaults write /Library/Preferences/DirectoryService/DirectoryServiceDebug "Debug Logging Priority Level" <strong>-integer</strong> 2</code></p>
<p>I&#8217;ve notified Apple, so this may be fixed by the time you read this.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=60&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2008/12/08/set-directoryservice-debug-level/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Prevent a launchd job from rerunning until existing job finishes</title>
		<link>http://patternbuffer.wordpress.com/2008/08/28/prevent-a-launchd-job-from-rerunning-until-existing-job-finishes/</link>
		<comments>http://patternbuffer.wordpress.com/2008/08/28/prevent-a-launchd-job-from-rerunning-until-existing-job-finishes/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 03:17:01 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[launchd]]></category>
		<category><![CDATA[multiple processs]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[ps]]></category>
		<category><![CDATA[wait for process]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=55</guid>
		<description><![CDATA[I often need to schedule scripts to run at an interval, but I don&#8217;t know how long that script will take to complete and I don&#8217;t want the script to run again at its normal interval unless the script isn&#8217;t running.
I&#8217;ve done this with pid files and grepping through ps lists to exit the script [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=55&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I often need to schedule scripts to run at an interval, but I don&#8217;t know how long that script will take to complete and I don&#8217;t want the script to run again at its normal interval unless the script isn&#8217;t running.</p>
<p>I&#8217;ve done this with pid files and grepping through ps lists to exit the script if another instance is running, but I was wondering if there is something built into launchd to handle this.</p>
<p>It turns out that launchd does this by default. Just set up your job as normal using StartInterval and if your job hasn&#8217;t finished running by the next time it is scheduled to run, launchd will wait until the job finishes. If more than one schedule has passed, the missed jobs will be coalesced into one instance and run just once until the next scheduled run, much like it behaves if the machine goes to sleep.</p>
<p>Another win for launchd.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/patternbuffer.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/patternbuffer.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=55&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2008/08/28/prevent-a-launchd-job-from-rerunning-until-existing-job-finishes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
		<item>
		<title>AD Plugin Join Replication Issues</title>
		<link>http://patternbuffer.wordpress.com/2008/08/06/ad-plugin-join-replication-issues/</link>
		<comments>http://patternbuffer.wordpress.com/2008/08/06/ad-plugin-join-replication-issues/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 03:57:37 +0000</pubDate>
		<dc:creator>Kyle Crawford</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[AD plugin]]></category>
		<category><![CDATA[DirectoryService]]></category>
		<category><![CDATA[dsconfigad]]></category>
		<category><![CDATA[ldapsearch]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[search domain]]></category>
		<category><![CDATA[sites]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[unjoined]]></category>

		<guid isPermaLink="false">http://patternbuffer.wordpress.com/?p=51</guid>
		<description><![CDATA[I was getting random AD plugin connection issues after joining to Active Directory.  dsconfigad showed no errors, but sometimes I would not get a connection and I would have to rejoin.  The problem turned out to be related to replication.
The AD plugin initially has no knowledge of which AD site and domain controllers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=51&subd=patternbuffer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was getting random AD plugin connection issues after joining to Active Directory.  dsconfigad showed no errors, but sometimes I would not get a connection and I would have to rejoin.  The problem turned out to be related to replication.</p>
<p>The AD plugin initially has no knowledge of which <a href="http://patternbuffer.wordpress.com/2007/12/13/finding-your-active-directory-site-and-domain-controllers/">AD site and domain controllers</a> are considered local to your subnet, so it discovers any domain controllers and contacts one to lookup the site information. During this process, and in general, the AD Plugin keeps an LDAP connection open to the domain controller.  The AD plugin likes to reuse these LDAP connections, presumably for performance reasons.  When it is time to actually add the computer to the domain, the AD Plugin reuses this existing connection.  The problem is that this domain controller is not necessarily one within your AD site.</p>
<p>At this point, if the Mac is restarted or DirectoryService is killed, any new connections will be made to a DC in the subnet&#8217;s AD site, but if your computer was added to a non-local DC, the local DCs may have no knowledge of your computer because the computer account has not yet replicated to them.</p>
<p>This problem can appear to be quite random because sometimes you&#8217;ll get lucky and get a local DC for the join, or you might catch the replication at the right time.  You might also see bad password errors in the DirectoryService debug logs.  I have filed a bug report on this, and I don&#8217;t have a good workaround for now other than &#8212; don&#8217;t reboot or restart DirectoryService after a join.  Of course if you know your replication schedules, you could just wait until you are sure replication is completed.</p>
<p>This same issue can present itself with unjoins and rejoins.</p>
<p>You can see what domain controllers you are connecting to during the join using the following shell command assuming your are joining using dsconfigad:</p>
<p><code>while [ 1 ]; do if netstat -a | grep ldap| grep ESTAB; then ps auxww | grep dsconfigad | grep -v grep; date;fi; done<br />
</code></p>
<p>If you have joined, unjoined, and rejoined and think you may be seeing replication issues, compare the whenCreated attribute of the computer account on different domain controllers using ldapsearch.</p>
<p><code>ldapsearch -LLL -v -W -x -h domaincontrollerfromsite1.subdomain.forest.com -D username@subdomain.forest.com -b "OU=Computers,DC=subdomain,DC=forest,DC=com" CN=machine-join-name | grep whenCreated:<br />
</code></p>
<p>If an older out of sync computer account exists, its whenCreated date will be different from the domain controller the computer was just added to until the last join has replicated to all the servers.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/patternbuffer.wordpress.com/51/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/patternbuffer.wordpress.com/51/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/patternbuffer.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/patternbuffer.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/patternbuffer.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/patternbuffer.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/patternbuffer.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/patternbuffer.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/patternbuffer.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/patternbuffer.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/patternbuffer.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/patternbuffer.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=patternbuffer.wordpress.com&blog=2078764&post=51&subd=patternbuffer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://patternbuffer.wordpress.com/2008/08/06/ad-plugin-join-replication-issues/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa06d3f0c298988036a2d8df5a6427d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">patternbuffer</media:title>
		</media:content>
	</item>
	</channel>
</rss>