<?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>Devon's Cocoa Blog</title>
	<atom:link href="http://www.devonferns.com/cocoablog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.devonferns.com/cocoablog</link>
	<description>Various Cocoa code snippets and articles</description>
	<lastBuildDate>Sat, 01 Nov 2008 20:37:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>NSData+util category</title>
		<link>http://www.devonferns.com/cocoablog/?p=47</link>
		<comments>http://www.devonferns.com/cocoablog/?p=47#comments</comments>
		<pubDate>Sat, 01 Nov 2008 20:37:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Code]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=47</guid>
		<description><![CDATA[.h file: #import &#60;Foundation/Foundation.h&#62; &#160; @interface NSData &#40;NSData_HexAdditions&#41; - &#40;NSString*&#41; stringWithHexBytes; + &#40;NSString*&#41; sha256HashFromString:&#40;NSString*&#41;string; + &#40;NSString*&#41; sha256HashFromData:&#40;NSData*&#41;data; &#160; @end .m file: #import &#34;NSData+Util.h&#34; #import &#60;CommonCrypto/CommonDigest.h&#62; &#160; @implementation NSData &#40;NSData_HexAdditions&#41; - &#40;NSString*&#41; stringWithHexBytes &#123; NSMutableString *stringBuffer = &#91;NSMutableString stringWithCapacity:&#40;&#91;self length&#93; * 2&#41;&#93;; const unsigned char *dataBuffer = &#91;self bytes&#93;; int i; &#160; for &#40;i = 0; [...]]]></description>
			<content:encoded><![CDATA[<p>.h file:<br/></p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &lt;Foundation/Foundation.h&gt;</span>
&nbsp;
<span style="color: #a61390;">@interface</span> <span style="color: #400080;">NSData</span> <span style="color: #002200;">&#40;</span>NSData_HexAdditions<span style="color: #002200;">&#41;</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> stringWithHexBytes;
<span style="color: #002200;">+</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> sha256HashFromString<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #a61390;">string</span>;
<span style="color: #002200;">+</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> sha256HashFromData<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSData</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>data;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p><br/><br />
.m file:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &quot;NSData+Util.h&quot;</span>
<span style="color: #6e371a;">#import &lt;CommonCrypto/CommonDigest.h&gt;</span>
&nbsp;
<span style="color: #a61390;">@implementation</span> <span style="color: #400080;">NSData</span> <span style="color: #002200;">&#40;</span>NSData_HexAdditions<span style="color: #002200;">&#41;</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> stringWithHexBytes <span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSMutableString</span> <span style="color: #002200;">*</span>stringBuffer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSMutableString</span>
									 stringWithCapacity<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>self length<span style="color: #002200;">&#93;</span> <span style="color: #002200;">*</span> <span style="color: #2400d9;">2</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">const</span> <span style="color: #a61390;">unsigned</span> <span style="color: #a61390;">char</span> <span style="color: #002200;">*</span>dataBuffer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>self bytes<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">int</span> i;
&nbsp;
	<span style="color: #a61390;">for</span> <span style="color: #002200;">&#40;</span>i <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>; i &lt; <span style="color: #002200;">&#91;</span>self length<span style="color: #002200;">&#93;</span>; <span style="color: #002200;">++</span>i<span style="color: #002200;">&#41;</span>
		<span style="color: #002200;">&#91;</span>stringBuffer appendFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%02x&quot;</span>, <span style="color: #002200;">&#40;</span><span style="color: #a61390;">unsigned</span> <span style="color: #a61390;">long</span><span style="color: #002200;">&#41;</span>dataBuffer<span style="color: #002200;">&#91;</span> i <span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>stringBuffer copy<span style="color: #002200;">&#93;</span> autorelease<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">+</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> sha256HashFromData<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSData</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>data
<span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSData</span> sha256HashFromString<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> stringWithCString<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">const</span> <span style="color: #a61390;">char</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span>data bytes<span style="color: #002200;">&#93;</span> length<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>data length<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">+</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> sha256HashFromString<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #a61390;">string</span>
<span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">unsigned</span> <span style="color: #a61390;">char</span> hashedChars<span style="color: #002200;">&#91;</span>CC_SHA512_DIGEST_LENGTH<span style="color: #002200;">&#93;</span>;
&nbsp;
	CC_SHA512<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span><span style="color: #a61390;">string</span> UTF8String<span style="color: #002200;">&#93;</span>,
			  <span style="color: #002200;">&#91;</span><span style="color: #a61390;">string</span> lengthOfBytesUsingEncoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>, 
			  hashedChars<span style="color: #002200;">&#41;</span>;
	<span style="color: #400080;">NSData</span> <span style="color: #002200;">*</span> hashedData <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSData</span> dataWithBytes<span style="color: #002200;">:</span>hashedChars length<span style="color: #002200;">:</span>CC_SHA512_DIGEST_LENGTH<span style="color: #002200;">&#93;</span>;	
	<span style="color: #400080;">NSData</span><span style="color: #002200;">*</span> tmp <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSData</span> alloc<span style="color: #002200;">&#93;</span> initWithData<span style="color: #002200;">:</span>hashedData<span style="color: #002200;">&#93;</span>;
	<span style="color: #400080;">NSString</span><span style="color: #002200;">*</span> ret <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>tmp stringWithHexBytes<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>tmp release<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">return</span> ret;
<span style="color: #002200;">&#125;</span>
<span style="color: #a61390;">@end</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate random cryptographic hash from NSString</title>
		<link>http://www.devonferns.com/cocoablog/?p=45</link>
		<comments>http://www.devonferns.com/cocoablog/?p=45#comments</comments>
		<pubDate>Sat, 01 Nov 2008 20:34:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Code]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=45</guid>
		<description><![CDATA[Implementation .m file: #import &#34;NSString+Hash.h&#34; &#160; &#160; @implementation NSString &#40;Hash&#41; &#160; &#160; +&#40;NSString*&#41;randomSaltWithLength:&#40;int&#41;length &#123; char chars&#91;&#93; = &#34;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&#34;; NSMutableString* ret = &#91;&#91;&#91;NSMutableString alloc&#93; initWithCapacity:length&#93; autorelease&#93;; srandomdev&#40;&#41;; &#160; for&#40;int i=0;i&#60;length;i++&#41; &#123; int index = random&#40;&#41;%52; char a = chars&#91;index&#93;; &#91;ret appendString:&#91;NSString stringWithCString:&#38;a length:1&#93;&#93;; &#125; &#160; return ret; &#125; &#160; @end .h file: @interface NSString &#40;Hash&#41; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Implementation .m file:<br/></p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &quot;NSString+Hash.h&quot;</span>
&nbsp;
&nbsp;
<span style="color: #a61390;">@implementation</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">&#40;</span>Hash<span style="color: #002200;">&#41;</span>
&nbsp;
&nbsp;
<span style="color: #002200;">+</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>randomSaltWithLength<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>length
<span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">char</span> chars<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#93;</span> <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;</span>;
	<span style="color: #400080;">NSMutableString</span><span style="color: #002200;">*</span> ret <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSMutableString</span> alloc<span style="color: #002200;">&#93;</span> initWithCapacity<span style="color: #002200;">:</span>length<span style="color: #002200;">&#93;</span> autorelease<span style="color: #002200;">&#93;</span>;
	srandomdev<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span>;
&nbsp;
	<span style="color: #a61390;">for</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span> i<span style="color: #002200;">=</span><span style="color: #2400d9;">0</span>;i&lt;length;i<span style="color: #002200;">++</span><span style="color: #002200;">&#41;</span>
	<span style="color: #002200;">&#123;</span>
		<span style="color: #a61390;">int</span> index <span style="color: #002200;">=</span> random<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">%</span>52;
		<span style="color: #a61390;">char</span> a <span style="color: #002200;">=</span> chars<span style="color: #002200;">&#91;</span>index<span style="color: #002200;">&#93;</span>;
		<span style="color: #002200;">&#91;</span>ret appendString<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> stringWithCString<span style="color: #002200;">:&amp;</span>a length<span style="color: #002200;">:</span><span style="color: #2400d9;">1</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#125;</span>
&nbsp;
	<span style="color: #a61390;">return</span> ret;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p><br/><br />
<br/><br />
.h file:<br/></p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@interface</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">&#40;</span>Hash<span style="color: #002200;">&#41;</span> 
&nbsp;
<span style="color: #002200;">+</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>randomSaltWithLength<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>length;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIAlertView with UIProgressView or UIActivityIndicator</title>
		<link>http://www.devonferns.com/cocoablog/?p=39</link>
		<comments>http://www.devonferns.com/cocoablog/?p=39#comments</comments>
		<pubDate>Sat, 01 Nov 2008 19:56:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Code]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=39</guid>
		<description><![CDATA[http://discussions.apple.com/thread.jspa?messageID=8215707 - &#40;void&#41; createProgressionAlertWithMessage:&#40;NSString *&#41;message withActivity:&#40;BOOL&#41;activity &#123; progressAlert = &#91;&#91;UIAlertView alloc&#93; initWithTitle: message message: @&#34;Please wait...&#34; delegate: self cancelButtonTitle: nil otherButtonTitles: nil&#93;; &#160; &#160; // Create the progress bar and add it to the alert if &#40;activity&#41; &#123; activityView = &#91;&#91;UIActivityIndicatorView alloc&#93; initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite&#93;; activityView.frame = CGRectMake&#40;139.0f-18.0f, 80.0f, 37.0f, 37.0f&#41;; &#91;progressAlert addSubview:activityView&#93;; &#91;activityView startAnimating&#93;; &#125; else [...]]]></description>
			<content:encoded><![CDATA[<p>http://discussions.apple.com/thread.jspa?messageID=8215707</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> createProgressionAlertWithMessage<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>message withActivity<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">BOOL</span><span style="color: #002200;">&#41;</span>activity
<span style="color: #002200;">&#123;</span>
  progressAlert <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIAlertView alloc<span style="color: #002200;">&#93;</span> initWithTitle<span style="color: #002200;">:</span> message
                                             message<span style="color: #002200;">:</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Please wait...&quot;</span>
                                            delegate<span style="color: #002200;">:</span> self
                                   cancelButtonTitle<span style="color: #002200;">:</span> <span style="color: #a61390;">nil</span>
                                   otherButtonTitles<span style="color: #002200;">:</span> <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
&nbsp;
  <span style="color: #11740a; font-style: italic;">// Create the progress bar and add it to the alert</span>
  <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>activity<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
    activityView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIActivityIndicatorView alloc<span style="color: #002200;">&#93;</span> initWithActivityIndicatorStyle<span style="color: #002200;">:</span>UIActivityIndicatorViewStyleWhite<span style="color: #002200;">&#93;</span>;
    activityView.frame <span style="color: #002200;">=</span> CGRectMake<span style="color: #002200;">&#40;</span>139.0f<span style="color: #002200;">-</span>18.0f, 80.0f, 37.0f, 37.0f<span style="color: #002200;">&#41;</span>;
    <span style="color: #002200;">&#91;</span>progressAlert addSubview<span style="color: #002200;">:</span>activityView<span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#91;</span>activityView startAnimating<span style="color: #002200;">&#93;</span>;
  <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #002200;">&#123;</span>
    progressView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIProgressView alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span>CGRectMake<span style="color: #002200;">&#40;</span>30.0f, 80.0f, 225.0f, 90.0f<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#91;</span>progressAlert addSubview<span style="color: #002200;">:</span>progressView<span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#91;</span>progressView setProgressViewStyle<span style="color: #002200;">:</span> UIProgressViewStyleBar<span style="color: #002200;">&#93;</span>;
  <span style="color: #002200;">&#125;</span>
  <span style="color: #002200;">&#91;</span>progressAlert show<span style="color: #002200;">&#93;</span>;
  <span style="color: #002200;">&#91;</span>progressAlert release<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>building mod_python for leopard</title>
		<link>http://www.devonferns.com/cocoablog/?p=37</link>
		<comments>http://www.devonferns.com/cocoablog/?p=37#comments</comments>
		<pubDate>Thu, 14 Aug 2008 00:31:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=37</guid>
		<description><![CDATA[Copied from&#160;http://matterkkila.com/2007/12/20/building-mod_python-for-leopard/ in case it goes away in the future   Leopard itself comes with recent versions of php, python, and apache. However it does not have mod_python, so if you want to play with things like django you must build mod_python from the source. Just running ./configure, make, make install won&#8217;t cut it either. [...]]]></description>
			<content:encoded><![CDATA[<p>Copied from&nbsp;http://matterkkila.com/2007/12/20/building-mod_python-for-leopard/ in case it goes away in the future</p>
<p> </p>
<p>Leopard itself comes with recent versions of php, python, and apache. However it does not have mod_python, so if you want to play with things like django you must build mod_python from the source. Just running ./configure, make, make install won&#8217;t cut it either. You need to edit the make file built during the ./configure step to include specific compiler flags. I found a lot of sites on the internet with ideas how to fix it, after trying 4 of them that didn&#8217;t work I came across one that did.&nbsp;</p>
<p>Run:&nbsp;</p>
<p><code>./configure</code>&nbsp;</p>
<p>Edit: src/Makefile and after the &#8216;INCLUDES=&#8217; line add&nbsp;</p>
<p><code>INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64<br />
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64<br />
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'</code>&nbsp;</p>
<p>Now run:&nbsp;</p>
<p><code>make</code>&nbsp;<br />
<code>sudo make install</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install mysql-python on Leopard</title>
		<link>http://www.devonferns.com/cocoablog/?p=35</link>
		<comments>http://www.devonferns.com/cocoablog/?p=35#comments</comments>
		<pubDate>Thu, 14 Aug 2008 00:07:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=35</guid>
		<description><![CDATA[http://www.keningle.com/?p=11]]></description>
			<content:encoded><![CDATA[<p>http://www.keningle.com/?p=11</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Bonjour for iPhone/desktop application sync</title>
		<link>http://www.devonferns.com/cocoablog/?p=33</link>
		<comments>http://www.devonferns.com/cocoablog/?p=33#comments</comments>
		<pubDate>Mon, 28 Jul 2008 00:39:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Links]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=33</guid>
		<description><![CDATA[http://cocoa-nut.de/?p=27]]></description>
			<content:encoded><![CDATA[<p>http://cocoa-nut.de/?p=27</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSViewController sample projects</title>
		<link>http://www.devonferns.com/cocoablog/?p=31</link>
		<comments>http://www.devonferns.com/cocoablog/?p=31#comments</comments>
		<pubDate>Fri, 25 Jul 2008 01:27:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Links]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=31</guid>
		<description><![CDATA[http://katidev.com/blog/2008/07/24/simple-nsviewcontroller-sample-projects/]]></description>
			<content:encoded><![CDATA[<p>http://katidev.com/blog/2008/07/24/simple-nsviewcontroller-sample-projects/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Petition to lift iPhone SDK NDA</title>
		<link>http://www.devonferns.com/cocoablog/?p=28</link>
		<comments>http://www.devonferns.com/cocoablog/?p=28#comments</comments>
		<pubDate>Wed, 23 Jul 2008 23:13:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=28</guid>
		<description><![CDATA[http://www.ipetitions.com/petition/iPhoneNDA I don&#8217;t know why this NDA is still here with the app store and 2.0 being out there.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ipetitions.com/petition/iPhoneNDA?e">http://www.ipetitions.com/petition/iPhoneNDA</a></p>
<p>I don&#8217;t know why this NDA is still here with the app store and 2.0 being out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone SDK NDA?</title>
		<link>http://www.devonferns.com/cocoablog/?p=26</link>
		<comments>http://www.devonferns.com/cocoablog/?p=26#comments</comments>
		<pubDate>Sat, 19 Jul 2008 01:37:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">https://www.devonferns.com/cocoablog/?p=26</guid>
		<description><![CDATA[Why is the iPhone SDK still under NDA? &#160;What&#8217;s to keep secret. &#160;This is only hurting developers and especially new developers. &#160;No one can share any experiences with each other on how to develop from this phone. &#160;Obviously many people want to ask questions about it since there are at least 1 post or more [...]]]></description>
			<content:encoded><![CDATA[<p>Why is the iPhone SDK still under NDA? &nbsp;What&#8217;s to keep secret. &nbsp;This is only hurting developers and especially new developers. &nbsp;No one can share any experiences with each other on how to develop from this phone. &nbsp;Obviously many people want to ask questions about it since there are at least 1 post or more on the cocoa-dev mailing list per day.</p>
<p> </p>
<p>I&#8217;m sure the moderators would love to not have to copy and paste the &#8220;iPhone is still under NDA&#8221; drivel into all these posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=26</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bypass Objective-C&#8217;s message passing for performance</title>
		<link>http://www.devonferns.com/cocoablog/?p=25</link>
		<comments>http://www.devonferns.com/cocoablog/?p=25#comments</comments>
		<pubDate>Thu, 29 May 2008 23:17:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cocoa Links]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.devonferns.com/cocoablog/?p=25</guid>
		<description><![CDATA[http://blogs.ittoolbox.com/emergingtech/macsploitation/archives/follow-up-to-bypassing-objectivecs-message-passing-mechanism-25012]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.ittoolbox.com/emergingtech/macsploitation/archives/follow-up-to-bypassing-objectivecs-message-passing-mechanism-25012">http://blogs.ittoolbox.com/emergingtech/macsploitation/archives/follow-up-to-bypassing-objectivecs-message-passing-mechanism-25012</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devonferns.com/cocoablog/?feed=rss2&amp;p=25</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
