<?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>TikiRobot! &#187; cocoa</title>
	<atom:link href="http://www.tikirobot.net/wp/tag/cocoa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tikirobot.net/wp</link>
	<description>Mai Tais and Blinky Lights, Ahoy!</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:14:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>TikiTV In Action</title>
		<link>http://www.tikirobot.net/wp/2009/04/12/tikitv-in-action/</link>
		<comments>http://www.tikirobot.net/wp/2009/04/12/tikitv-in-action/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 05:29:47 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[photos]]></category>
		<category><![CDATA[san francisco]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[beats]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[tikitv]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/?p=2440</guid>
		<description><![CDATA[Here are some old pics of Sam and Peliom vj-ing with the open source TikiTV software at the Timothy Leary Archives event at 111 Minna. Way fun!]]></description>
			<content:encoded><![CDATA[<p>Here are some old pics of Sam and Peliom vj-ing with the open source <a href="http://tikitv.net/">TikiTV</a> software at the <a href="http://www.timothylearyarchives.org/">Timothy Leary Archives</a> event at 111 Minna. Way fun!</p>
<p><a href="http://www.flickr.com/photos/rkumar/3351915417/" title="IMG_5628"><img src="http://farm4.static.flickr.com/3644/3351915417_755f56a989.jpg" width="500" height="375" alt="IMG_5628" /></a></p>
<p><a href="http://www.flickr.com/photos/rkumar/3352740860/" title="IMG_5631"><img src="http://farm4.static.flickr.com/3448/3352740860_07527e9899.jpg" width="500" height="375" alt="IMG_5631" /></a></p>
<p><a href="http://www.flickr.com/photos/rkumar/3351915359/" title="IMG_5629"><img src="http://farm4.static.flickr.com/3620/3351915359_113596ec03.jpg" width="500" height="375" alt="IMG_5629" /></a></p>
<p><a href="http://www.flickr.com/photos/rkumar/3352741290/" title="IMG_5633 by rkumar, on Flickr"><img src="http://farm4.static.flickr.com/3540/3352741290_72260bb1bb.jpg" width="375" height="500" alt="IMG_5633" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2009/04/12/tikitv-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing TikiTV, the Best Open Source VJ Software Ever!</title>
		<link>http://www.tikirobot.net/wp/2009/01/27/announcing-tikitv-the-best-open-source-vj-software-ever/</link>
		<comments>http://www.tikirobot.net/wp/2009/01/27/announcing-tikitv-the-best-open-source-vj-software-ever/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 20:38:13 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[video]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[tikitv]]></category>
		<category><![CDATA[vj]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/?p=2247</guid>
		<description><![CDATA[TikiTV is an awesome open-source video mixing application for Mac OSX, developed by peliom and VJ Science. If you are a video nerd, you should check this out: decodes 6 full-quality 720&#215;480 MPEG-2 streams at 60fps on screen preview of both 3-channel decks fullscreen output to second display (vga projector) rock solid 60fps output, no [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tikitv.net/tikitv_wm1.png" width="281" height="128" align="right"> <a href="http://tikitv.net/">TikiTV</a> is an awesome open-source video mixing application for Mac OSX, developed by peliom and VJ Science. If you are a video nerd, you should check this out:<br />
<br clear="all"/><br />
<UL>
<li> decodes 6 full-quality 720&#215;480 MPEG-2 streams at 60fps
<li> on screen preview of both 3-channel decks
<li> fullscreen output to second display (vga projector)
<li> rock solid 60fps output, no dropping frames
<li> requires MacBook Pro 2GHz or higher<br />
</UL><br />
You can download TikiTV <a href="http://tikitv.net">here</a>. For the video hax0rz out there, you can clone the <a href="http://github.com/peliom/tikitv/tree/master">the github repo</a>.</p>
<p><img src="http://www.tikirobot.net/wp/wp-content/uploads/2009/01/tikitv.png" alt="tikitv" title="tikitv" width="515" height="321" class="alignnone size-full wp-image-2257" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2009/01/27/announcing-tikitv-the-best-open-source-vj-software-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why gcc has a free Objective C frontend</title>
		<link>http://www.tikirobot.net/wp/2008/11/22/why-gcc-has-a-free-objective-c-frontend/</link>
		<comments>http://www.tikirobot.net/wp/2008/11/22/why-gcc-has-a-free-objective-c-frontend/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 19:54:05 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[all talk]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[no code]]></category>
		<category><![CDATA[objc]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[stallman]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/?p=2071</guid>
		<description><![CDATA[Apple compiles OS X and almost all of its software with gcc. I still find it hard to believe that such a secretive company builds almost all of its software products using gcc, the compiler that anchors the Free Software movement. Apple&#8217;s uses Objective C because NeXT used Objective C. When Steve Jobs was at [...]]]></description>
			<content:encoded><![CDATA[<p>Apple compiles OS X and almost all of its software with gcc. I still find it hard to believe that such a secretive company builds almost all of its software products using gcc, the compiler that anchors the Free Software movement.</p>
<p>Apple&#8217;s uses Objective C because NeXT used Objective C. When Steve Jobs was at NeXT, he didn&#8217;t want to place their objc gcc frontend under the GPL, but ended up having to. Here is an excerpt of an email from Stallman:</p>

<div class="wp_syntax"><div class="code"><pre class="nocode" style="font-family:monospace;">I say this based on discussions I had with our lawyer long ago.  The
issue first arose when NeXT proposed to distribute a modified GCC in
two parts and let the user link them.  Jobs asked me whether this was
lawful.  It seemed to me at the time that it was, following reasoning
like what you are using; but since the result was very undesirable for
free software, I said I would have to ask the lawyer.
&nbsp;
What the lawyer said surprised me; he said that judges would consider
such schemes to be &quot;subterfuges&quot; and would be very harsh toward
them.  He said a judge would ask whether it is &quot;really&quot; one program,
rather than how it is labeled.
&nbsp;
So I went back to Jobs and said we believed his plan was not allowed
by the GPL.
&nbsp;
The direct result of this is that we now have an Objective C front
end.  They had wanted to distribute the Objective C parser as a
separate proprietary package to link with the GCC back end, but since
I didn't agree this was allowed, they made it free.</pre></div></div>

<p>So that&#8217;s why. Via <a href="http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/Why-CLISP-is-under-GPL">this email thread between Richard Stallman and Bruno Haible</a> about why Common Lisp is under the GPL. Via <a href="http://www.reddit.com/r/programming/comments/7ez5b/why_clisp_is_under_gpl_an_email_thread_between/">reddit</a>.</p>
<p>Apple&#8217;s move to the GNU Toolchain has been very good for developers (remember MrC and MPW?), but it sure took a long time to get here. Yesterday I remotely debugged an iPhone app using gdb. Spending time in a debugger isn&#8217;t usually a very pleasant, but I surprisingly happy when gdb stopped at my first breakpoint&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2008/11/22/why-gcc-has-a-free-objective-c-frontend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QuickSilver Now Open Source</title>
		<link>http://www.tikirobot.net/wp/2007/11/06/quicksilver-now-open-source/</link>
		<comments>http://www.tikirobot.net/wp/2007/11/06/quicksilver-now-open-source/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 06:27:30 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[lifehacking]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[QuickSilver]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2007/11/06/quicksilver-now-open-source/</guid>
		<description><![CDATA[QuickSilver is now open source! Check it out on Google Code..]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blacktree.com/">QuickSilver</a> is now open source! <a href="http://code.google.com/p/blacktree-alchemy/">Check it out on Google Code</a>..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2007/11/06/quicksilver-now-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Twitter via iChat status message, part II</title>
		<link>http://www.tikirobot.net/wp/2007/01/29/update-twitter-via-ichat-status-message-part-ii/</link>
		<comments>http://www.tikirobot.net/wp/2007/01/29/update-twitter-via-ichat-status-message-part-ii/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 08:33:01 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2007/01/29/update-twitter-via-ichat-status-message-part-ii/</guid>
		<description><![CDATA[A while back I posted a perl script that would update your Twitter status whenever you changed your iChat status message. Unfortunately, you had to configure launchd or cron to use it, which no one wanted to do. So I made an open-source Cocoa app that is easy to use! It&#8217;s called TikiTwit, and you [...]]]></description>
			<content:encoded><![CDATA[<p>A while back <a href="http://tikirobot.net/wp/2006/09/24/updating-twitter-via-ichat-or-aim-status-message/">I posted a perl script</a> that would update your <a href="http://twitter.com">Twitter</a> status whenever you changed your iChat status message. Unfortunately, you had to configure launchd or cron to use it, which no one wanted to do. So I made an open-source Cocoa app that is easy to use! It&#8217;s called TikiTwit, and you can download it for free!</p>
<p><img id="image835" src="http://www.tikirobot.net/wp/wp-content/uploads/2007/01/TikiTwit.png" alt="TikiTwit.png" width="467" height="163"/></p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=182160&#038;package_id=219756">Download it here!</a> This is a very early version, so please help me test it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2007/01/29/update-twitter-via-ichat-status-message-part-ii/feed/</wfw:commentRss>
		<slash:comments>115</slash:comments>
		</item>
		<item>
		<title>url encode in cocoa</title>
		<link>http://www.tikirobot.net/wp/2007/01/27/url-encode-in-cocoa/</link>
		<comments>http://www.tikirobot.net/wp/2007/01/27/url-encode-in-cocoa/#comments</comments>
		<pubDate>Sat, 27 Jan 2007 21:17:00 +0000</pubDate>
		<dc:creator>rajbot</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2007/01/27/url-encode-in-cocoa/</guid>
		<description><![CDATA[Let&#8217;s say you need to url-encode a string. No problem! You can call uri_escape in perl, or urlencode in php, or urlencode in python, or CGI.escape in ruby&#8230; But now let&#8217;s say you are writing in Cocoa. ugh. Before you shell out to your favorite scripting language, check out CFURLCreateStringByAddingPercentEscapes() It doesn&#8217;t encode the RFC [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you need to url-encode a string. No problem! You can call <a href="http://search.cpan.org/~gaas/URI-1.35/URI/Escape.pm">uri_escape</a> in perl, or <a href="http://us2.php.net/urlencode">urlencode</a> in php, or <a href="http://docs.python.org/lib/module-urllib.html">urlencode</a> in python, or <a href="http://www.rubycentral.com/book/web.html">CGI.escape</a> in ruby&#8230; </p>
<p>But now let&#8217;s say you are writing in Cocoa. ugh. Before you shell out to your favorite scripting language, check out <code><a href="http://developer.apple.com/documentation/CoreFoundation/Reference/CFURLRef/Reference/reference.html#//apple_ref/c/func/CFURLCreateStringByAddingPercentEscapes">CFURLCreateStringByAddingPercentEscapes()</a></code> It doesn&#8217;t encode the <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>/<a href="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732</a> reserved characters by default (other than &#8216;[' and ']&#8216;), but you can specify additional characters to encode in the fourth argument. Use something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">CFURLCreateStringByAddingPercentEscapes<span style="color: #002200;">&#40;</span>
    <span style="color: #a61390;">NULL</span>, 
    <span style="color: #002200;">&#40;</span>CFStringRef<span style="color: #002200;">&#41;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;escape this %;/?:@&amp;=+$[] string&quot;</span>, 
    <span style="color: #a61390;">NULL</span>, 
    <span style="color: #002200;">&#40;</span>CFStringRef<span style="color: #002200;">&#41;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;;/?:@&amp;=+$,&quot;</span>, 
    kCFStringEncodingUTF8
<span style="color: #002200;">&#41;</span>;</pre></div></div>

<p>It took me quite a while to figure this out&#8230; I found the NSString method <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/stringByAddingPercentEscapesUsingEncoding:"> stringByAddingPercentEscapesUsingEncoding</a>, but that doesn&#8217;t escape the reserved characters.</p>
<p>(I have a suspicion that Cocoa developers are getting paid per letter&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2007/01/27/url-encode-in-cocoa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>RSS is the New Email: A Polemic in ObjC</title>
		<link>http://www.tikirobot.net/wp/2006/10/27/rss-is-the-new-email-a-polemic-in-objc/</link>
		<comments>http://www.tikirobot.net/wp/2006/10/27/rss-is-the-new-email-a-polemic-in-objc/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 09:20:53 +0000</pubDate>
		<dc:creator>peliom</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[all talk]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[lifehacking]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[tiki lifestyle]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2006/10/27/rss-is-the-new-email-a-polemic-in-objc/</guid>
		<description><![CDATA[About a month ago I was going on about trying to use a newsreader to keep up with all the RSS flying around. I tried Google News Reader, hated it. I tried about 10 other RSS readers, both web based and client software (mac)&#8230; I felt like they all missed the point. When I&#8217;m reading [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip"><img align="left" src="http://www.tikirobot.net/wp/wp-content/uploads/2006/10/trr.png"></a><br />
<br clear="left"><br />
About a month ago I was going on about <a href="http://www.tikirobot.net/wp/2006/09/25/welcome-to-20-part-2-google-reader/">trying to use a newsreader</a> to keep up with all the RSS flying around.  I tried Google News Reader, hated it.  I tried about 10 other RSS readers, both web based and client software (mac)&#8230; I felt like they all missed the point.</p>
<p>
When I&#8217;m reading RSS, I actually don&#8217;t give a monkey&#8217;s tail about the RSS.  RSS is stupid, unformatted, unstyled text with no soul and even less information.  The way to consume RSS coming from websites is to read it in it&#8217;s richest form: from the website itself.  Some client newsreaders go a short way down this path by giving you button to open the article in your web browser.  But this is totally lame.  I mean, a drunk dog could open up a web browser and sit there through the World Wide Wait and sift through the blink tags and advertisements and try to read the article.</p>
<p>
I am happy to make the first public mention of <a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">TikiRobotReader</a>, a Mac OS X application that (eventually) will handle RSS in a way that is not totally dain bramaged.  <a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">TRR</a> is <a href="http://sourceforge.net/projects/tikirobotreader/">Open Source</a>, a Cocoa application, and a work in progress.</p>
<p>
The basic idea is that for a given Article, TRR will download the link to the article&#8217;s web representation and convert it to PDF so the articles are all nice and shiny and ready for your skimming pleasure, no waiting required.  Here is what I want TRR to be:</p>
<p><h2>Principles of Operation</h2>
<ul>
<li>Simple keyboard commands everywhere.  Should be operable one-handed while eating lunch.
<li>RSS is disposable content. It&#8217;s not critical like most (personal) Email.
<li>Read the content as presented by the website, not some random choice of Font and Color.
<li>Blog posts and status messages from friends are way more important than Yahoo/CNN headlines.
<li>Streamline the reading process.  No nagging feelings of &#8220;should I delete this article or save it?&#8221;
<li>Download and cache web pages as PDF.  Zero latency when switching articles.
<ul>
<li>PDF loads immediately, vs 1-5 seconds for an HTML page to render
<li>PDF is a static page, no blinking and bouncing flash ads and animated GIFs
  </ul>
<li>RSS is a source of content.  Provide easy hooks for the sinks: Sharing and Research.
</ul>
<p>
The <a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">current release</a> is ugly as hell, but functional.  At this point TRR is best enjoyed by running out of XCode so you can debug crashes and implement nifty features.  I will be using it as my daily news reader in this fashion.  But the <a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">nightly builds</a> are functional and get the idea across.  Feel free to contribute!  Design ideas are helpful and code contributions are always a good thing.  <a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">TikiRobotReader</a> is meant to present RSS the way <b>you</b>, the discerning TikiRobot! blog reader, think is best.  TRR will be a great place to implement all those Web 2.0/client features we want but can&#8217;t get anywhere else.</p>
<p>
<a href="http://www.tikirobot.net/software/trr/nightly/TikiRobotReader.zip">Link</a> to TikiRobotReader nightly build<br />
<a href="http://sourceforge.net/projects/tikirobotreader/">Link</a> to TikiRobotReader SourceForge page</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2006/10/27/rss-is-the-new-email-a-polemic-in-objc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A Joyous Crash in removeObserver:forKeyPath: / _NSKeyValueObservationInfoCreateByRemoving</title>
		<link>http://www.tikirobot.net/wp/2006/10/14/a-joyous-crash-in-removeobserverforkeypath-_nskeyvalueobservationinfocreatebyremoving/</link>
		<comments>http://www.tikirobot.net/wp/2006/10/14/a-joyous-crash-in-removeobserverforkeypath-_nskeyvalueobservationinfocreatebyremoving/#comments</comments>
		<pubDate>Sun, 15 Oct 2006 02:33:00 +0000</pubDate>
		<dc:creator>peliom</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2006/10/14/a-joyous-crash-in-removeobserverforkeypath-_nskeyvalueobservationinfocreatebyremoving/</guid>
		<description><![CDATA[Today I had the joy of trying to figure out a tough crashing bug somewhere deep inside a Cocoa / Core Data / KVC / KVO application. In case anyone else is running into this crash, it&#8217;s not your fault: Ah, the infamous _NSKeyValueObservationInfoCreateByRemoving crash bug. That&#8217;s shown up with a number of triggers, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anans-art.com/homepage.html"><img src="http://www.tikirobot.net/wp/wp-content/uploads/2006/10/_Images_Frustration.jpg" height="273" width="200" align="left" alt=" Images Frustration" title=" Images Frustration" /></a> Today I had the joy of trying to figure out a tough crashing bug somewhere deep inside a Cocoa / Core Data / KVC / KVO application.  In case anyone else is running into this crash, <a href="http://lists.apple.com/archives/cocoa-dev/2005/Sep/msg00721.html">it&#8217;s not your fault</a>:</p>
<blockquote><p>
Ah, the infamous _NSKeyValueObservationInfoCreateByRemoving  crash bug.<br />
That&#8217;s shown up with a number of triggers, and is definitely not<br />
reproducible, nor is your code at fault.  I filed a bug on it, and Jim<br />
Correia (who often posts on this list) has sent in a reproducible case.</p>
<p>If you can figure out the interface item or binding that&#8217;s triggering it,<br />
you may be able to work around it.  In my case, I was able to have an object<br />
traverse a relationship for me, instead of binding through the relationship,<br />
and that stopped the crashing.
</p></blockquote>
<p>I was able to avoid this crash by overriding removeObserver:forKeyPath: to do nothing (especially not call NSObject&#8217;s implementation, which was doing the crashing).</p>
<p>
I&#8217;m also getting a crash in -[NSOutlineView _sendDelegateWillDisplayCell:forColumn:row:] which I don&#8217;t understand.  I&#8217;ve turned off all my NSOutlineView customizations&#8230;.maybe I&#8217;m calling reloadData too often.  If anyone has ideas, I&#8217;m all ears.</p>
<p>
<a href="http://lists.apple.com/archives/cocoa-dev/2005/Sep/msg00721.html">Link</a> to a cocoa-dev message I wish I had seen about six hours ago</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2006/10/14/a-joyous-crash-in-removeobserverforkeypath-_nskeyvalueobservationinfocreatebyremoving/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crashes in WebKit: Dodge or Parry?</title>
		<link>http://www.tikirobot.net/wp/2006/09/29/crashes-in-webkit-dodge-or-parry/</link>
		<comments>http://www.tikirobot.net/wp/2006/09/29/crashes-in-webkit-dodge-or-parry/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 23:13:28 +0000</pubDate>
		<dc:creator>peliom</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2006/09/29/crashes-in-webkit-dodge-or-parry/</guid>
		<description><![CDATA[I love WebKit. It allows you to embed an HTML view anywhere in your app. It&#8217;s an HTML view that behaves exactly like Safari because &#8230;. well, Safari uses WebKit. Having a fully functional HTML view is an important part of almost any modern application. Unfortunately though there are some bugs, some of them crashing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://webkit.org/"><img src="http://www.tikirobot.net/wp/wp-content/uploads/2006/09/safari-IB.png" align="left"/></a></p>
<p>
I love WebKit.  It allows you to embed an HTML view anywhere in your app.  It&#8217;s an HTML view that behaves exactly like Safari because &#8230;. well, Safari uses WebKit.  Having a fully functional HTML view is an important part of almost any modern application.  Unfortunately though there are some bugs, some of them crashing bugs, especially if you use WebKit in a way that is outside the common path that Safari uses.  And these bugs won&#8217;t be fixed for most users until <a href="http://www.apple.com/macosx/leopard/index.html">Leopard ships</a> next year.</p>
<p>
Here is an example.  I was debugging this for many hours.  Somewhere a piece of the WebView is getting over-released and causing a crash.  This type of bug is <a href="http://developer.apple.com/technotes/tn2004/tn2124.html">notoriously hard to analyze and fix</a>.  I thought it was in my code, but it turns out it was in WebKit.<br />
<tt><br />
2005-07-24 01:29:26.070 macbook[4264] *** Selector 'release' sent to dealloced instance 0x8faf1e0 of class WebHTMLView.<br />
Break at '-[_NSZombie release]' to debug.<br />
2005-07-24 01:29:26.086 macbook[4264] *** -[NSAutoreleasePool dealloc]: Exception ignored while releasing an object in an autorelease pool: *** Selector 'release' sent to dealloced instance 0x8faf1e0 of class WebHTMLView<br />
</tt></p>
<p>
So what can I do?  A major feature of my application is downloading a load of web pages and converting them to PDF files.  WebKit is a great way to do this.  Well, really it&#8217;s the only way to do it.  Except for the crashing part.  So after giving up on fixing this over-release crash, I split out my html-to-pdf code into a separate, small command line program.  It works great, and is just the thing for &#8220;defensive programming.&#8221;  For example if some random web page I load has a plugin that crashes webkit, it will only crash my helper program, not the app itself.  iChat uses a similar technique for video conferencing (look around for &#8220;vencoder&#8221;). My command line webkit program size is 68kb.</p>
<p>
So to <a href="http://www.cocoabuilder.com/archive/message/cocoa/2005/7/24/142592">any other developers seeing this crash</a>, or to anyone thinking about using WebKit as a data processing tool rather than a web browser: fork off a separate process.  It will save you a lot of heartache and make your application crash much less.</p>
<p>
<a href="http://webkit.org/">Link</a> to the WebKit Homepage</p>
<p>
<b>Update!</b> &#8230; rajbot sez:</p>
<blockquote><p>
The great thing about WebKit being Open Sores is that you can embed the latest versions of the frameworks in your app, and set the right env variables to tell WebKit to use those instead, like the nightly Safari builds do..
</p></blockquote>
<p>That&#8217;s a good point.  I might just do that.  And that way I can just fix the bugs myself if I need to&#8230; yay! :-)</p>
<p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2006/09/29/crashes-in-webkit-dodge-or-parry/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Slide Player for Mac!</title>
		<link>http://www.tikirobot.net/wp/2006/07/03/new-slide-player-for-mac-3/</link>
		<comments>http://www.tikirobot.net/wp/2006/07/03/new-slide-player-for-mac-3/#comments</comments>
		<pubDate>Tue, 04 Jul 2006 00:50:41 +0000</pubDate>
		<dc:creator>peliom</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code code]]></category>
		<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://www.tikirobot.net/wp/2006/07/03/new-slide-player-for-mac-3/</guid>
		<description><![CDATA[This is a bug fix release for the clients, web site, and server, and we corrected 48 separate issues in the mac client alone. But true to form, the Mac team snuck in some awesome features for you: Read and Unread &#8211; darken or remove the item in the ticker after you click on it. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.slide.com"><img width="300" src="http://decor-87.slide.com/item/gqgU7wnASLYAHYifzXF6Bv8h5ZfhKNl0F5eVn9lWH_rsMvD88tKzyIGmAqKU-w2bQkjWNo-NComlSfdoWKTo0ufUPfQrhXKEVh8w/PuX39JQEzmw5diyYXvizhiLFGX-CrsFZZ5EhclMGqg1zGBgdTA4cAu1YPIvFDpNS9F926zM7_x_-GdNbtg/item"></a></p>
<p>
This is a bug fix release for the clients, web site, and server, and we corrected 48 separate issues in the mac client alone.  But true to form, the Mac team snuck in some awesome features for you:</p>
<ul>
<li><b>Read and Unread</b> &#8211; darken or remove the item in the ticker after you click on it.  Check the &#8220;History&#8221; tab in the preferences for some more options on this feature.
<li><b>Take My Picture</b> &#8211; Is there a video camera built in or connected to your Mac?  If so, the Upload Window now has a &#8220;Take My Picture&#8221; button.  Check out the evidence above! :-)
<li><b>Direct-From-Camera Uploads</b> &#8211; If your digital camera or card reader (SD, CF, etc) is connected, click on the &#8220;My Camera&#8221; button to bring up the <a href="http://www.apple.com/macosx/features/imagecapture/">Image Capture</a> services dialog.  Select one or more pictures, click &#8220;Download&#8221; (wait for the pause, sorry no progress bar yet), and boom, you can upload those pictures to a Slide Show.
<li><b>Scale Down Large Image Files</b> &#8211; This makes the above feature usable.  Images are scaled down to 1600&#215;1200.  As a bonus, I respect the EXIF &#8220;orientation&#8221; flag.  This keeps your vertical pictures vertical (if your camera supports it)
</ul>
<p>
Whew! Now if you don&#8217;t mind, I&#8217;ve got some camping to do :-)  I&#8217;m psyched that when I come back from Utah I can just drag images from my SD card reader onto slide and have them up on the web&#8230;</p>
<p>
<a href="http://www.slide.com">Link</a> to Slide homepage which has Download!!! links all over the place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tikirobot.net/wp/2006/07/03/new-slide-player-for-mac-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

