<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>cnicholson.net</title>
	<link>http://cnicholson.net</link>
	<description>programming is hard.</description>
	<lastBuildDate>Sun, 19 Apr 2009 04:13:46 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Stupid C++ Tricks: do/while(0) and C4127</title>
		<description><![CDATA[A nice little quickie:  I briefly discuss in my assert ramblings why it&#8217;s important to wrap all of your multi-line macros in do/while(0) blocks.  An unfortunate side-effect of this is that the construction

// NOISY CODE
#define MULTI_LINE_MACRO \
	do { \
		std::printf("Hello "); \
		std::printf("world!\n"); \
	} while (0)

will trigger C4127: &#8220;Conditional expression is constant&#8221; in Visual Studio 2003/2005, and [...]]]></description>
		<link>http://cnicholson.net/2009/03/stupid-c-tricks-dowhile0-and-c4127/</link>
			</item>
	<item>
		<title>Fun With iPhone Emoji</title>
		<description><![CDATA[OK, before we begin, I want to make sure we&#8217;re all iPhone-toting hipsters here.  We love the visual voicemail, and all the lifestyle-enabling apps like Facebook,  Shazam, Amazon.com, and the AP News Wire.  The games are great, too.
Texting, however, leaves a little to be desired.  The conversations are threaded, which is [...]]]></description>
		<link>http://cnicholson.net/2009/02/fun-with-iphone-emoji/</link>
			</item>
	<item>
		<title>Stupid C++ Tricks: Adventures in Assert</title>
		<description><![CDATA[This is a re-hosting of the original Assert article I wrote in April 2007,  during the epic rise and fall of Power of Two Games.  I&#8217;m reprinting it here on my personal site now that Pow2 is defunct and expired.  Of the few reasons we failed, the lack of a good assert macro was [...]]]></description>
		<link>http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/</link>
			</item>
</channel>
</rss>
