<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Mystery Bug: Heisenberg&#8217;s Uncertainty Principle</title>
	<atom:link href="http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/</link>
	<description>On Mac OS X programming</description>
	<pubDate>Tue, 02 Dec 2008 12:36:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: John G</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-2118</link>
		<dc:creator>John G</dc:creator>
		<pubDate>Mon, 07 May 2007 22:28:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-2118</guid>
		<description>For some reason that makes me think of a certain SchrÃƒÆ’Ã‚Â¶dinger rather than Heisenberg :) Is there such a thing as a SchrÃƒÆ’Ã‚Â¶derbug? :)</description>
		<content:encoded><![CDATA[<p>For some reason that makes me think of a certain SchrÃƒÆ’Ã‚Â¶dinger rather than Heisenberg <img src='http://www.noodlesoft.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Is there such a thing as a SchrÃƒÆ’Ã‚Â¶derbug? <img src='http://www.noodlesoft.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Berle</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-775</link>
		<dc:creator>Berle</dc:creator>
		<pubDate>Fri, 09 Mar 2007 08:27:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-775</guid>
		<description>Good insight Chris! I always wondered if traversing a directory tree and getting the file attributes of every file would mean a huge performance hit, but obviously Apple leaves us only a meagre margin for optimization there.

It's interesting to note that there is a - (NSDate *)fileCreationDate in NSDictionary but no - (BOOL)fileBusy method. Did someone at Apple only do half of the job?</description>
		<content:encoded><![CDATA[<p>Good insight Chris! I always wondered if traversing a directory tree and getting the file attributes of every file would mean a huge performance hit, but obviously Apple leaves us only a meagre margin for optimization there.</p>
<p>It&#8217;s interesting to note that there is a - (NSDate *)fileCreationDate in NSDictionary but no - (BOOL)fileBusy method. Did someone at Apple only do half of the job?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon H</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-763</link>
		<dc:creator>Jon H</dc:creator>
		<pubDate>Thu, 08 Mar 2007 04:54:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-763</guid>
		<description>I think you mean 'Heisenbug'</description>
		<content:encoded><![CDATA[<p>I think you mean &#8216;Heisenbug&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mr_noodle</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-761</link>
		<dc:creator>mr_noodle</dc:creator>
		<pubDate>Thu, 08 Mar 2007 02:42:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-761</guid>
		<description>Ah, that makes sense. Makes it so that you don't have to fetch all the different attributes up front which means less of a performance hit if you are only looking at one attribute, for instance. Thanks for performing the dissection.

In any case, bug already filed: rdar://5047616

Never really understood the use of those urls since only Apple people can use them directly.</description>
		<content:encoded><![CDATA[<p>Ah, that makes sense. Makes it so that you don&#8217;t have to fetch all the different attributes up front which means less of a performance hit if you are only looking at one attribute, for instance. Thanks for performing the dissection.</p>
<p>In any case, bug already filed: rdar://5047616</p>
<p>Never really understood the use of those urls since only Apple people can use them directly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Suter</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-759</link>
		<dc:creator>Chris Suter</dc:creator>
		<pubDate>Thu, 08 Mar 2007 01:13:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-759</guid>
		<description>I think it's sometehing to do with the fact that you don't actually get an NSDictionary back. You get an instance of NSFileAttributes back and they've overridden objectForKey in that class.

Looking at the structure of NSFileAttributes and from a bit of playing, it looks like when you ask for objectForKey, it will generate a Cocoa object on the fly from other data structures behind the scenes.

It also seems to cache the dictionary when generated by calling something like keyEnumerator on the dictionary (which is what would get called if you call keys, or description). I'm guessing that it only gets NSFileBusy from the dictionary and isn't able to generate that on the fly.

You should file a bug.</description>
		<content:encoded><![CDATA[<p>I think it&#8217;s sometehing to do with the fact that you don&#8217;t actually get an NSDictionary back. You get an instance of NSFileAttributes back and they&#8217;ve overridden objectForKey in that class.</p>
<p>Looking at the structure of NSFileAttributes and from a bit of playing, it looks like when you ask for objectForKey, it will generate a Cocoa object on the fly from other data structures behind the scenes.</p>
<p>It also seems to cache the dictionary when generated by calling something like keyEnumerator on the dictionary (which is what would get called if you call keys, or description). I&#8217;m guessing that it only gets NSFileBusy from the dictionary and isn&#8217;t able to generate that on the fly.</p>
<p>You should file a bug.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Ryland</title>
		<link>http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-758</link>
		<dc:creator>Chris Ryland</dc:creator>
		<pubDate>Thu, 08 Mar 2007 01:12:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2007/03/07/mystery-bug-heisenbergs-uncertainty-principle/#comment-758</guid>
		<description>Wow, no idea. The only thing that's suspicious is that NSFileBusy was added in 10.4. Maybe it's buggy? ;-)</description>
		<content:encoded><![CDATA[<p>Wow, no idea. The only thing that&#8217;s suspicious is that NSFileBusy was added in 10.4. Maybe it&#8217;s buggy? <img src='http://www.noodlesoft.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>
