<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Always insane</title>
	<atom:link href="http://fanael.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fanael.wordpress.com</link>
	<description>Random ramblings about programming</description>
	<lastBuildDate>Wed, 07 Dec 2011 16:26:32 +0000</lastBuildDate>
	<language>pl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fanael.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Always insane</title>
		<link>http://fanael.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fanael.wordpress.com/osd.xml" title="Always insane" />
	<atom:link rel='hub' href='http://fanael.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Rationale for intrusive_ptr</title>
		<link>http://fanael.wordpress.com/2010/07/31/rationale-for-intrusive_ptr/</link>
		<comments>http://fanael.wordpress.com/2010/07/31/rationale-for-intrusive_ptr/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 18:48:16 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[intrusive_ptr]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[shared_ptr]]></category>
		<category><![CDATA[smart pointers]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=510</guid>
		<description><![CDATA[Manual memory management in C++ can easily become a nightmare. To alleviate this problem, someone invented smart pointers. Today we&#8217;ll focus on reference-counted ones, or, more precisely, why non-intrusive boost::shared_ptr (also called std::tr1::shared_ptr, since it became a part of TR1) is often a worse idea than, as the name suggests, intrusive, intrusive_ptr (of course, using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=510&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2010/07/31/rationale-for-intrusive_ptr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Making PE multiboot-compliant</title>
		<link>http://fanael.wordpress.com/2010/06/24/making-pe-multiboot-compliant/</link>
		<comments>http://fanael.wordpress.com/2010/06/24/making-pe-multiboot-compliant/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 17:33:07 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[multiboot]]></category>
		<category><![CDATA[osdev]]></category>
		<category><![CDATA[portable executable]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=481</guid>
		<description><![CDATA[My old poor boot loader broke once again. Or should I say it was inherently broken and simply yet another bug manifested its existence? Anyway, I won&#8217;t fix anything in that boot loader anymore. It&#8217;s simply not worth any effort. So, farewell, my old boot loader! Let&#8217;s use GRUB, at least it won&#8217;t crash randomly, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=481&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2010/06/24/making-pe-multiboot-compliant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Saturated arithmetic</title>
		<link>http://fanael.wordpress.com/2010/05/27/saturated-arithmetic/</link>
		<comments>http://fanael.wordpress.com/2010/05/27/saturated-arithmetic/#comments</comments>
		<pubDate>Thu, 27 May 2010 13:51:16 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[Bit twiddling]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[branchless code]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=456</guid>
		<description><![CDATA[Unsigned types in C and C++ have pretty straightforward and predictable behavior upon an overflow or underflow &#8211; namely, they&#8217;re wrapping around (whereas signed types don&#8217;t like {over,under}flows &#8211; the behavior is undefined). However, sometimes wraparound doesn&#8217;t fit our needs, because we want the value to be set to the maximum in case of overflow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=456&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2010/05/27/saturated-arithmetic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Is an array a pointer?</title>
		<link>http://fanael.wordpress.com/2010/01/15/is-an-array-a-pointer/</link>
		<comments>http://fanael.wordpress.com/2010/01/15/is-an-array-a-pointer/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:32:44 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[arrays]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[pointers]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=398</guid>
		<description><![CDATA[&#8222;Array is a pointer&#8221; (also &#8222;an array&#8217;s name is a pointer to the array&#8217;s first element&#8221;) &#8211; I think most of us have heard that nonsense. So many people believe it&#8217;s true. And some of them think that they&#8217;re absolutely right, don&#8217;t even taking into account they may be wrong. I&#8217;m getting tired of this, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=398&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2010/01/15/is-an-array-a-pointer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Zmienianie obiektów tymczasowych [pl]</title>
		<link>http://fanael.wordpress.com/2010/01/15/zmienianie-obiektow-tymczasowych/</link>
		<comments>http://fanael.wordpress.com/2010/01/15/zmienianie-obiektow-tymczasowych/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:53:31 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[obiekty tymczasowe]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=391</guid>
		<description><![CDATA[Przeciętny program w C++ tworzy i niszczy w czasie swojego działania wiele obiektów tymczasowych. Czym jest obiekt tymczasowy, to chyba wyjaśniać nie trzeba (a jeśli trzeba, to sobie tego poszukaj, nie chce mi się powtarzać po kimś :&#62;). Okazuje się, że w C++ możemy zmieniać takie obiekty, jeśli tylko nie są typu wbudowanego. Napiszmy więc [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=391&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2010/01/15/zmienianie-obiektow-tymczasowych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Co dalej z tymi maskami? (branchless code, część druga) [pl]</title>
		<link>http://fanael.wordpress.com/2009/11/16/co-dalej-z-tymi-maskami-branchless-code-czesc-druga/</link>
		<comments>http://fanael.wordpress.com/2009/11/16/co-dalej-z-tymi-maskami-branchless-code-czesc-druga/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 16:29:50 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[Bit twiddling]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[branchless code]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=353</guid>
		<description><![CDATA[Widzę, że linki do mojego bloga pojawiają się w dosyć dziwnych miejscach ;P, więc kończę idlowanie i zabieram się za pisanie kolejnej, drugiej tym razem części minitutka o pisaniu branchless code. Jeśli ktoś nie czytał części pierwszej, to niech to lepiej zrobi, bo bez tego będzie dosyć ciężko &#8211; nie będę tu powtarzał, jak uzyskać [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=353&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2009/11/16/co-dalej-z-tymi-maskami-branchless-code-czesc-druga/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Branchless clamp to [0..255] [pl]</title>
		<link>http://fanael.wordpress.com/2009/11/10/branchless-clamp-to-0-255/</link>
		<comments>http://fanael.wordpress.com/2009/11/10/branchless-clamp-to-0-255/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 12:55:12 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[Bit twiddling]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[branchless code]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[clamp]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=334</guid>
		<description><![CDATA[Parę dni temu na blogu Gynvaela Coldwinda pojawił się wpis o bardzo fajnej tematyce &#8211; zrobienia clampa dowolnej liczby całkowitej do zakresu [0..255] bez skoków. Postanowiłem się przyjrzeć temu z bliska, bo problem jest dość ciekawy i nie pozwolę, żeby mi ktoś chleb zabierał ;P. Napisałem więc dwie funkcje, które także dają poprawny wynik i [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=334&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2009/11/10/branchless-clamp-to-0-255/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Niezgodności kompilatora Microsoftu [pl]</title>
		<link>http://fanael.wordpress.com/2009/10/24/niezgodnosci-kompilatora-microsoftu/</link>
		<comments>http://fanael.wordpress.com/2009/10/24/niezgodnosci-kompilatora-microsoftu/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 11:22:59 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[cl]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=300</guid>
		<description><![CDATA[Co chwilę jakiś nawiedzony fanatyk zaczyna wrzeszczeć na cały świat (chwilowo ograniczmy świat do wątku rzeczonego fanatyka na dowolnym forum :&#62;), że skoro jego (mocno niepoprawny, ew. używający rozszerzeń jakichś innych kompilatorów) über-kod się pod kompilatorem Microsoftu nie kompiluje, to ten kompilator musi być niesamowicie niezgodny ze standardem. Mam tego serdecznie dosyć, więc podsumuję krótko [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=300&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2009/10/24/niezgodnosci-kompilatora-microsoftu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>#include &lt;windows.h&gt; [pl]</title>
		<link>http://fanael.wordpress.com/2009/10/20/include-windows-h/</link>
		<comments>http://fanael.wordpress.com/2009/10/20/include-windows-h/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 14:57:33 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=268</guid>
		<description><![CDATA[Dzisiaj przy próbie kompilacji pewnego kodu zdarzyła mi się pewna ciekawa rzecz. Linker krzyczał, że pewna metoda pewnej klasy w pewnym pliku obiektowym (chyba nadużywam pewnego słowa :&#62;) jest unresolved external symbolem. Błąd jak każdy inny, pewnie poradziłbym sobie z nim dosyć szybko, gdyby nie to, że kilka razy sprawdzałem, czy ta metoda faktycznie istnieje [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=268&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2009/10/20/include-windows-h/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
		<item>
		<title>Specyfikacje wyjątków a Visual [pl]</title>
		<link>http://fanael.wordpress.com/2009/10/16/specyfikacje-wyjatkow-a-visual/</link>
		<comments>http://fanael.wordpress.com/2009/10/16/specyfikacje-wyjatkow-a-visual/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 12:29:19 +0000</pubDate>
		<dc:creator>Fanael</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[cl]]></category>
		<category><![CDATA[wyjątki]]></category>

		<guid isPermaLink="false">http://fanael.wordpress.com/?p=261</guid>
		<description><![CDATA[Specyfikacje wyjątków nie są często używane (z pewnych powodów), ale jak już ktoś chce tego użyć, to natrafia na pewien problem o nazwie &#8222;Microsoft C/C++ Optimizing Compiler&#8221;, który wsparcia dla nich nie ma&#8230; Ale czy tak jest na pewno? Napiszmy sobie jakiś bardzo prosty kod, który ich używa (main.cpp): #include &#60;cstdio&#62; #include &#60;cstdlib&#62; #include &#60;exception&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fanael.wordpress.com&amp;blog=8869481&amp;post=261&amp;subd=fanael&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://fanael.wordpress.com/2009/10/16/specyfikacje-wyjatkow-a-visual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Fanael</media:title>
		</media:content>
	</item>
	</channel>
</rss>
