<?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>Gwynne&#039;s Blog &#187; objective-c</title>
	<atom:link href="http://blog.darkrainfall.org/tag/objective-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.darkrainfall.org</link>
	<description>Sa souvraya niende misain ye</description>
	<lastBuildDate>Fri, 03 Sep 2010 03:01:09 +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>Missions of the Reliant: Engine room, flight recorder visual, fifty-one point nine one zero</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-engine-room-flight-recorder-visual-fifty-one-point-nine-one-zero/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-engine-room-flight-recorder-visual-fifty-one-point-nine-one-zero/#comments</comments>
		<pubDate>Wed, 19 May 2010 20:34:53 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CoreAudio]]></category>
		<category><![CDATA[FFmpeg]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenAL]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[QTKit]]></category>
		<category><![CDATA[QuickTime]]></category>
		<category><![CDATA[SoundFlower]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=398</guid>
		<description><![CDATA[A QTKit-based video recorder is now integrated into the code. I tried about twenty ways to get it to record audio too, but between CoreAudio&#8217;s failings and QTKit&#8217;s limitations, nothing both sounded correct and remained correctly synchronized. Capture the sound output of the game and add it as a sound track to the video. Failure [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-engine-room-flight-recorder-visual-fifty-one-point-nine-one-zero/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: They&#8217;re locking phasers.</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-theyre-locking-phasers/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-theyre-locking-phasers/#comments</comments>
		<pubDate>Fri, 07 May 2010 07:18:20 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[DreamHost]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[Linode]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[PLBlocks]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[star trek]]></category>
		<category><![CDATA[tv quotes]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=391</guid>
		<description><![CDATA[&#8220;Lock phasers on target.&#8221; &#8211; Khan &#8220;Locking phasers on target.&#8221; &#8211; Joachim &#8220;They&#8217;re locking phasers.&#8221; &#8211; Spock &#8220;Raise shields!&#8221; &#8211; Kirk &#8220;FIRE!&#8221; &#8211; Khan The Reliant now has targetting and scanning systems implemented. There&#8217;s still several bugs to work out, but the basic system is in place. When that one little fighter I put in [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-theyre-locking-phasers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: I&#8217;m haunted by coordinate systems!</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-im-haunted-by-coordinate-systems/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-im-haunted-by-coordinate-systems/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 17:43:21 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[porting]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=361</guid>
		<description><![CDATA[As if all the mucking about with coordinates before wasn&#8217;t bad enough, next I had to deal with unit vectors, polar/Cartesian coordinate conversion, sign adjustment vs. trigonometric functions&#8230; you get the idea. In this case, my problem wasn&#8217;t caused by needing to update the algorithms Mike used at all, but rather by my need to [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-im-haunted-by-coordinate-systems/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Math is fun, or why I wish I hadn&#8217;t flunked geometry</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-math-is-fun-or-why-i-wish-i-hadnt-flunked-geometry/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-math-is-fun-or-why-i-wish-i-hadnt-flunked-geometry/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 19:07:41 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[porting]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=353</guid>
		<description><![CDATA[At last, an update! Absolutely nothing visible to the user has changed whatsoever. The internal structure of the code has been significantly reorganized. As with the lament of all programmers faced with the demands of the technologically disinclined, I&#8217;ve accomplished a great deal, but since it can&#8217;t be seen, it might as well be nothing [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-math-is-fun-or-why-i-wish-i-hadnt-flunked-geometry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Subtle pitfalls of doing things in -dealloc</title>
		<link>http://blog.darkrainfall.org/subtle-pitfalls-of-doing-things-in-dealloc/</link>
		<comments>http://blog.darkrainfall.org/subtle-pitfalls-of-doing-things-in-dealloc/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 19:04:16 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[code mistakes]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[Key-Value Coding]]></category>
		<category><![CDATA[Key-Value Observing]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[singleton pattern]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=349</guid>
		<description><![CDATA[Let me describe the setup for this issue. Take a gobal (set property on a singleton object) list of objects which holds only weak references (in this case, if it held strong references, the objects would never lose their last retain and could never be deallocated, yes I know GC avoids it): Now consider a [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/subtle-pitfalls-of-doing-things-in-dealloc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Cleaning up the wreckage of the train crash</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-cleaning-up-the-wreckage-of-the-train-crash/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-cleaning-up-the-wreckage-of-the-train-crash/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 17:27:34 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Key-Value Observing]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MAKVONotificationCenter]]></category>
		<category><![CDATA[Michael Ash]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[PLBlocks]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=345</guid>
		<description><![CDATA[I&#8217;m back, and I didn&#8217;t give up on Missions! I&#8217;m sure there must be exactly one person out there who cares :-). But seriously. I don&#8217;t have any new features to show at the moment, unfortunately. When I went to implement the laser cannon for the player, I realized I&#8217;d never be able to test [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-cleaning-up-the-wreckage-of-the-train-crash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Key-Value Observing on classes</title>
		<link>http://blog.darkrainfall.org/key-value-observing-on-classes/</link>
		<comments>http://blog.darkrainfall.org/key-value-observing-on-classes/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 22:24:51 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Key-Value Observing]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=309</guid>
		<description><![CDATA[In the course of experimentation, I just discovered a neat trick. You can use key-value observing on a class object! Consider this simple example: And it works! It has some caveats, of course: Automatic notification doesn&#8217;t work, probably for some reason having to do with the way the runtime implements class objects and the method [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/key-value-observing-on-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code funnies</title>
		<link>http://blog.darkrainfall.org/code-funnies/</link>
		<comments>http://blog.darkrainfall.org/code-funnies/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 00:04:10 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Pascal]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=305</guid>
		<description><![CDATA[I ran across this bit in Mike&#8217;s code, and couldn&#8217;t help but smile: I&#8217;ve met few programmers who don&#8217;t put funny comments in their code now and again. For example, here&#8217;s one of mine from the warp drive subsystem: I pity anyone whose code review guidelines forbid them from doing things like this. When trying [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/code-funnies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Untangling the strands</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-untangling-the-strands/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-untangling-the-strands/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 07:18:39 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[roleplay]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[star trek]]></category>
		<category><![CDATA[trigonometry]]></category>
		<category><![CDATA[tv quotes]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=285</guid>
		<description><![CDATA[Skip the roleplay blurb For days, the Admiral had sat smoldering at his desk. Rumors in the barracks said he hadn&#8217;t moved from it at all, but one Lieutenant swore she&#8217;d seen him praying on his knees. The idea was treated with a great deal of skepticism, but as the days dragged on without orders, [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-untangling-the-strands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Complications</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-complications/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-complications/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:10:02 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[fixed-point]]></category>
		<category><![CDATA[floating-point]]></category>
		<category><![CDATA[FPU]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[roleplay]]></category>
		<category><![CDATA[System 7]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=277</guid>
		<description><![CDATA[I&#8217;ve accomplished surprisingly little in the last couple of days, in functional terms. I can sum up why pretty easily: I&#8217;ve had to stop and puzzle out exactly how Michael did some of the things in his code. Player velocity, especially, is giving me grief. This isn&#8217;t Michael&#8217;s fault. He didn&#8217;t write obscure code (well, [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-complications/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Hope is fragile</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-hope-is-fragile/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-hope-is-fragile/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 08:17:25 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[clang]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[GraphicConverter]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[PLBlocks]]></category>
		<category><![CDATA[roleplay]]></category>
		<category><![CDATA[SheepShaver]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[technobabble]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=271</guid>
		<description><![CDATA[This time, the Admiral doesn&#8217;t even wait for Gwynne to salute. Admiral: I don&#8217;t want to hear one word from you, Commander! Leave that report and go, and be glad I don&#8217;t bust you back to Private! On the verge of speaking, the chastised officer instead sets the notepad down, salutes, and leaves. The Admiral [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-hope-is-fragile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: A report from Alliance HQ</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-a-report-from-alliance-hq/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-a-report-from-alliance-hq/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 07:25:07 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[roleplay]]></category>
		<category><![CDATA[technobabble]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=219</guid>
		<description><![CDATA[Gwynne: Alliance Commander J.G. Gwynne reporting as ordered, Admiral. Admiral: What news of the situation, Commander? Gwynne: It&#8217;s all in my report, sir. She sets an electronic notepad on the Admiral&#8217;s desk. Admiral: Very well, Commander. Dismissed. As Gwynne leaves, the Admiral picks up the report and begins to read&#8230; Situation Report It started almost [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-a-report-from-alliance-hq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Beyond the Farthest Star</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-beyond-the-farthest-star/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-beyond-the-farthest-star/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:38:23 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Adobe Photoshop Elements]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[star trek]]></category>
		<category><![CDATA[tv quotes]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=204</guid>
		<description><![CDATA[&#8220;For all we know, at this very moment, somewhere far beyond all those distant stars, Benny Russell is dreaming of us.&#8221; &#8211; Avery Brooks as Benjamin Sisko, Star Trek: Deep Space 9, &#8220;Far Beyond the Stars&#8221;. Working on Missions at the level I am so far, I feel about that far away from the game&#8217;s [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-beyond-the-farthest-star/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant, take 2</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-take-2/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-take-2/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:08:58 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Adobe Photoshop Elements]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[code mistakes]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[Infini-D]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[porting]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=201</guid>
		<description><![CDATA[Well, having the project file for Missions in place, I went to organize some of the resources &#8211; sprites, backgrounds, strings, all that fun jazz, and there&#8217;s plenty of it. In particular, I found myself re-engineering a couple of icons to support the much larger icon sizes we&#8217;ve gotten in Mac OS since the ancient [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-take-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 03:41:27 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Mac Toolbox]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[POSIX]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=191</guid>
		<description><![CDATA[Those who have been using Macs for at least 14 years may or may not remember a space game for old Macs that went by the name &#8220;Missions of the Reliant&#8221;. It was a really fun little game with a few missions in it, changable crew members in your ship, powerups for your ship, a [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>String parsing</title>
		<link>http://blog.darkrainfall.org/string-parsing/</link>
		<comments>http://blog.darkrainfall.org/string-parsing/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 07:21:35 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=158</guid>
		<description><![CDATA[String parsing in C is painful and annoying. I want to parse the components of an absolute POSIX path. Here&#8217;s the code to do it in several languages. PHP: Objective-C: C using CoreFoundation: Python: bash: And finally&#8230; C: These languages bring the concept in various degrees of readability and flexibility, but in my opinion, none [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/string-parsing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pointless optimization</title>
		<link>http://blog.darkrainfall.org/pointless-optimization/</link>
		<comments>http://blog.darkrainfall.org/pointless-optimization/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 17:45:34 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[parity]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=55</guid>
		<description><![CDATA[So I was looking at the macro used to calculate 16-bit parity in pure C without branching: It uses GCC&#8217;s handy compound statement syntax, but otherwise it&#8217;s plain old C. Let&#8217;s look at the 64-bit ASM this compiles to at -Os: Whew! That&#8217;s fifteen instructions (optimized, mind you!) to find out something that x86 processors [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/pointless-optimization/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Clang: one savvy code analyzer!</title>
		<link>http://blog.darkrainfall.org/clang-one-savvy-code-analyzer/</link>
		<comments>http://blog.darkrainfall.org/clang-one-savvy-code-analyzer/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 17:12:55 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[clang]]></category>
		<category><![CDATA[code mistakes]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=29</guid>
		<description><![CDATA[Given this code: Where are the two NULL dereferences Clang claims to have found? Answer: In the assignments to lbuf and rbuf. By checking whether the pointers are NULL earlier in the function, I alerted Clang to the possibility that they might be at all. Since the code doesn&#8217;t subsequently check for NULL before actually [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/clang-one-savvy-code-analyzer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feeling stupid when writing code</title>
		<link>http://blog.darkrainfall.org/feeling-stupid-when-writing-code/</link>
		<comments>http://blog.darkrainfall.org/feeling-stupid-when-writing-code/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 05:03:07 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[clang]]></category>
		<category><![CDATA[code mistakes]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=18</guid>
		<description><![CDATA[We all make mistakes when coding, and some of them are quite deeply foolish. But this particular snafu I just made takes the cake, in my opinion (dumbed-down code): See it? (Hint: Look at the implementation of skipBytes().) The correct implementation of skipBytes() is: You tell me what&#8217;s faster for skipping 4 bytes, adding 4 [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/feeling-stupid-when-writing-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
