<?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>Persistent notes</title>
	<atom:link href="http://alexkr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexkr.com</link>
	<description>Alexander Krivutsenko&#039;s online journal</description>
	<lastBuildDate>Wed, 05 May 2010 22:17:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Portable 64 bit integer type</title>
		<link>http://alexkr.com/memos/358/portable-64-bit-integer-type/</link>
		<comments>http://alexkr.com/memos/358/portable-64-bit-integer-type/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 21:43:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[big]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[portability]]></category>

		<guid isPermaLink="false">http://alexkr.com/?p=358</guid>
		<description><![CDATA[Here I would like to write about coding a &#8220;portable&#8221; C programs in a sense that they produce same results when compiled and executed on 32 and 64 bits architectures.

The problem I faced with DES is that I need to make sure that my integers are exactly 32 bits on all platforms where I compile [...]]]></description>
		<wfw:commentRss>http://alexkr.com/memos/358/portable-64-bit-integer-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The IP slash notation</title>
		<link>http://alexkr.com/memos/345/ip-slash-notation/</link>
		<comments>http://alexkr.com/memos/345/ip-slash-notation/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 21:04:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[big]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://alexkr.com/?p=345</guid>
		<description><![CDATA[How often you see something like this:

    192.168.255.0/24

For those of us who do not frequently configure IP networks such notation may seem tricky and it has nothing to do with URI(s), ports and etc.
This is a &#8220;slash&#8221; notation which is formally called Classless Inter-Domain Routing (CIDR) notation.
It allows you to specify the [...]]]></description>
		<wfw:commentRss>http://alexkr.com/memos/345/ip-slash-notation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sample SCTP code for Linux</title>
		<link>http://alexkr.com/source-code/339/sample-sctp-code-for-linux/</link>
		<comments>http://alexkr.com/source-code/339/sample-sctp-code-for-linux/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 08:37:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[protocols]]></category>

		<guid isPermaLink="false">http://alexkr.com/?p=339</guid>
		<description><![CDATA[Instruction about compiling SCTP code on Linux]]></description>
		<wfw:commentRss>http://alexkr.com/source-code/339/sample-sctp-code-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Current state of SCTP</title>
		<link>http://alexkr.com/memos/156/sctp-on-windows/</link>
		<comments>http://alexkr.com/memos/156/sctp-on-windows/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:13:48 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[big]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[protocols]]></category>

		<guid isPermaLink="false">http://alexkr.com/memos/156/using-sctp-for-better-reliability/</guid>
		<description><![CDATA[SCTP is a relatively new protocol which may replace TCP for some applications which require more reliability. ]]></description>
		<wfw:commentRss>http://alexkr.com/memos/156/sctp-on-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Origins of DeadBeef</title>
		<link>http://alexkr.com/fun/155/origins-of-deadbeef/</link>
		<comments>http://alexkr.com/fun/155/origins-of-deadbeef/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:13:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[short]]></category>
		<category><![CDATA[blah-blah]]></category>

		<guid isPermaLink="false">http://alexkr.com/fun/155/origins-of-deadbeef/</guid>
		<description><![CDATA[It was nice to find out in Jeremy Uejio&#8217;s Blog that 0xDEADBEEF is used on Linux (I assume it happens with debug versions) when you free memory.
According to this source, originally DEADBEEF was used in order to fill newly allocated memory.
On my Windows machine neither fresh nor deallocated memory is fancy.
Only 0xAB, 0xFE and nothing [...]]]></description>
		<wfw:commentRss>http://alexkr.com/fun/155/origins-of-deadbeef/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tricky question for C</title>
		<link>http://alexkr.com/posts/154/tricky-questions-for-c/</link>
		<comments>http://alexkr.com/posts/154/tricky-questions-for-c/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 14:58:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[blah-blah]]></category>
		<category><![CDATA[c]]></category>

		<guid isPermaLink="false">http://alexkr.com/posts/154/possible-interview-question-for-c/</guid>
		<description><![CDATA[This would be good as an interview question on C for those guys working with computations.

You have some code:


if (tmp != tmp)
{
 printf("it happened!");
}

You are running this application with tmp to be any of built-in types with no overloaded members (plain C).

Is there possibility that you would get  &#8220;it happened!&#8221; printed out
and what should [...]]]></description>
		<wfw:commentRss>http://alexkr.com/posts/154/tricky-questions-for-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proof Carrying Code</title>
		<link>http://alexkr.com/posts/153/proof-carrying-code/</link>
		<comments>http://alexkr.com/posts/153/proof-carrying-code/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 16:20:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[blah-blah]]></category>

		<guid isPermaLink="false">http://alexkr.com/posts/153/proof-carrying-code/</guid>
		<description><![CDATA[In program analysis, there is an idea to use first order logic with theorem prover to &#8220;sign&#8221; a binary that it is safe with regard to some predefined safety policy.
Eventually it envolved into idea of  &#8220;proof carrying code&#8221;.
A few slides introducing PCC are based on the original PCC paper.
]]></description>
		<wfw:commentRss>http://alexkr.com/posts/153/proof-carrying-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some fun with C</title>
		<link>http://alexkr.com/fun/152/some-fun-with-c/</link>
		<comments>http://alexkr.com/fun/152/some-fun-with-c/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 13:37:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[short]]></category>
		<category><![CDATA[c]]></category>

		<guid isPermaLink="false">http://alexkr.com/fun/152/some-fun-with-c/</guid>
		<description><![CDATA[Do you know that the following is legal C code?

const char * x = "abcdefgh";
int pos = 4;
char tmp1 = (5*2-6)[x];
char tmp2 = pos[x];
assert(tmp1 == 'e');
assert(tmp2 == 'e');

The point here is that compiler evaluates x[y] as (char&#038;)(x + y) or (char&#038;)(y + x).
So regardless of what comes first, the result is the same.
]]></description>
		<wfw:commentRss>http://alexkr.com/fun/152/some-fun-with-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
