<?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; c</title>
	<atom:link href="http://blog.darkrainfall.org/tag/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: 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>Floating-point makes my brain melt</title>
		<link>http://blog.darkrainfall.org/floating-point-makes-my-brain-melt/</link>
		<comments>http://blog.darkrainfall.org/floating-point-makes-my-brain-melt/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 19:52:56 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[clang]]></category>
		<category><![CDATA[code mistakes]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[technobabble]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=369</guid>
		<description><![CDATA[Sometimes it&#8217;s better to do the obvious than try to be &#8220;correct&#8221;. How would you check if a floating-point variable x was zero? Common sense says x == 0.0 should work, right? But the compiler gets cranky about floating-point compares, yet zero is certainly a valid sentinel value even for floating-point. So I found the [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/floating-point-makes-my-brain-melt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algebraic simplification</title>
		<link>http://blog.darkrainfall.org/algebraic-simplification/</link>
		<comments>http://blog.darkrainfall.org/algebraic-simplification/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:35:13 +0000</pubDate>
		<dc:creator>Gwynne Raskind</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[algebra]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Grapher]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Michael Rubin]]></category>
		<category><![CDATA[Missions of the Reliant]]></category>
		<category><![CDATA[Pascal]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=320</guid>
		<description><![CDATA[I was translating Pascal to C as usual for Missions when I came across the code fragment for computing the time bonus earned on victory given the current game time: Now, I could have translated that to C as timeBonus = (50000 / ((cycle >> 4) + 1)) * 10, but I decided to get [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/algebraic-simplification/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Missions of the Reliant: Warp drive online, Captain!</title>
		<link>http://blog.darkrainfall.org/missions-of-the-reliant-warp-drive-online-captain/</link>
		<comments>http://blog.darkrainfall.org/missions-of-the-reliant-warp-drive-online-captain/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 19:48:16 +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[Michael Rubin]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[SheepShaver]]></category>

		<guid isPermaLink="false">http://blog.darkrainfall.org/?p=301</guid>
		<description><![CDATA[The post title does not decieve; the ship&#8217;s warp drive now works. That was an adventure in arctangents, power-of-two exponents, multiply-add operations, rounding errors&#8230; I have to say, this was a particular section of code where Mike&#8217;s style was a bit hard to decipher. No offense, Mike, but honestly, wow *sweat*. Let me hasten to [...]]]></description>
		<wfw:commentRss>http://blog.darkrainfall.org/missions-of-the-reliant-warp-drive-online-captain/feed/</wfw:commentRss>
		<slash:comments>1</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>
