<?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>Ikke&#039;s blog &#187; coding</title>
	<atom:link href="http://eikke.com/tag/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://eikke.com</link>
	<description>&#039;cause this is what I do</description>
	<lastBuildDate>Sun, 13 Feb 2011 14:58:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Funky C</title>
		<link>http://eikke.com/funky-c/</link>
		<comments>http://eikke.com/funky-c/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 00:04:29 +0000</pubDate>
		<dc:creator>Nicolas</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://eikke.com/funky-c/</guid>
		<description><![CDATA[It&#8217;s pretty funny to know this is valid C99 code, implementing a very basic array assignment and hello world: %:include &#60;stdio.h&#62; ??=include &#60;stdlib.h&#62; int main(int argc, char *argv&#60;::&#62;) ??&#60; int i??(:&#62; = {1, 2, 3??&#62;; printf("Hello world\n"); return 0; %&#62; It&#8217;s (ab)using an obscure feature in the C89 and C99 specifications called Trigraph and Digraph, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s pretty funny to know this is valid C99 code, implementing a very basic array assignment and hello world:</p>
<pre>%:include &lt;stdio.h&gt;
??=include &lt;stdlib.h&gt;

int main(int argc, char *argv&lt;::&gt;) ??&lt;
    int i??(:&gt; = {1, 2, 3??&gt;;
    printf("Hello world\n");
    return 0;
%&gt;</pre>
<p>It&#8217;s (ab)using an obscure feature in the C89 and C99 specifications called Trigraph and Digraph, when using GCC you need to pass the &#8216;-trigraphs&#8217; parameter to enable this functionality. More information can be found on the <a href="http://en.wikipedia.org/wiki/C_trigraph" title="Wikipedia: C Trigraph">Wikipedia page</a> about it. I wonder whether people joining code obfuscation games use this.</p>
]]></content:encoded>
			<wfw:commentRss>http://eikke.com/funky-c/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

