<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<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/"
	>

<channel>
	<title>A Sense of Design</title>
	<link>http://codesynthesis.com/~boris/blog</link>
	<description>Boris Kolpackov's blog about software</description>
	<pubDate>Fri, 27 Jun 2008 10:05:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>Are you using a real XML parser?</title>
		<link>http://codesynthesis.com/~boris/blog/2008/05/19/real-xml-parser/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/05/19/real-xml-parser/#comments</comments>
		<pubDate>Mon, 19 May 2008 08:02:36 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/05/19/real-xml-parser/</guid>
		<description><![CDATA[Recently there's been a bunch of announcements of new XML parsers that claim to be very fast, very small or both. I also see a lot of people get very enthusiastic about using them in their applications. Just the other day I got an email from a user asking if it was possible to use CodeSynthesis XSD with a light-weight XML parser that he found instead of Xerces-C++. Out of curiosity I checked the parser's description and there I saw a number of common traits of most new, fast, and small XML parsers these days: no support for DTD (internal subset) and CDATA sections, limited support for character and entity references.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/05/19/real-xml-parser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intuitive explanation of the Monty Hall problem</title>
		<link>http://codesynthesis.com/~boris/blog/2008/05/11/intuitive-monty-hall/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/05/11/intuitive-monty-hall/#comments</comments>
		<pubDate>Sun, 11 May 2008 14:25:20 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/05/11/intuitive-monty-hall/</guid>
		<description><![CDATA[Yesterday I went to see 21 where one of the scenes brings up the Monty Hall problem: there are three doors behind which there are a car and two goats. You choose a door with the goal of winning the car. Then the host opens one of the remaining doors which hides a goat. The question is whether it is to your advantage to switch your choice to the other door.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/05/11/intuitive-monty-hall/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Virtual inheritance overhead in g++</title>
		<link>http://codesynthesis.com/~boris/blog/2008/04/17/virtual-inheritance-overhead-gcc/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/04/17/virtual-inheritance-overhead-gcc/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 09:00:06 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[GCC g++]]></category>

		<category><![CDATA[C++ Compilers]]></category>

		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/04/17/virtual-inheritance-overhead-gcc/</guid>
		<description><![CDATA[By now every C++ engineer worth her salt knows that virtual inheritance is not free. It has object code, runtime (both CPU and memory), as well as compilation time and memory overheads (for an in-depth discussion on how virtual inheritance is implemented in C++ compilers see "Inside the C++ Object Model" by Stanley Lippman). In this post I would like to consider the object code as well as compilation time and memory overheads since in modern C++ implementations these are normally sacrificed for the runtime speed and can present major surprises. Unlike existing studies on this subject, I won't bore you with "academic" metrics such as per class or per virtual function overhead or synthetic tests.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/04/17/virtual-inheritance-overhead-gcc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>End user or development-oriented build system?</title>
		<link>http://codesynthesis.com/~boris/blog/2008/03/24/user-or-development-oriented-build-system/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/03/24/user-or-development-oriented-build-system/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 14:51:50 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/03/24/user-or-development-oriented-build-system/</guid>
		<description><![CDATA[I spent the past three weeks working on Xerces-C++ 3.0.0 which uses automake-based build system. Our own projects here at Code Synthesis all use the build system called 'build'. The work on Xerces-C++ made me realize just how awkward the automake-based build systems are to develop with.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/03/24/user-or-development-oriented-build-system/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xerces-C++ 3.0.0 beta 1 released</title>
		<link>http://codesynthesis.com/~boris/blog/2008/03/14/xerces-c-3-0-0-beta-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/03/14/xerces-c-3-0-0-beta-released/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 13:15:16 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[XML]]></category>

		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/03/14/xerces-c-300-beta-released/</guid>
		<description><![CDATA[I've spent the past three weeks prepping the Xerces-C++ 3.0.0 code for the upcoming release which culminated in the publishing of the first beta yesterday. The major change in 3.0.0 compared to the 2-series releases is the new, autotools-based build system for Linux/UNIX platforms.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/03/14/xerces-c-3-0-0-beta-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CodeSynthesis XSD 3.1.0 released</title>
		<link>http://codesynthesis.com/~boris/blog/2008/02/13/codesynthesis-xsd-3-1-0-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2008/02/13/codesynthesis-xsd-3-1-0-released/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 19:39:25 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[XML]]></category>

		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2008/02/13/codesynthesis-xsd-310-released/</guid>
		<description><![CDATA[CodeSynthesis XSD 3.1.0 was released a couple of days ago. For an exhaustive list of new features see the official announcement. In this post I would like to go into more detail on a few major features, namely the file-per-type compilation mode and configurable identifier naming conventions.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2008/02/13/codesynthesis-xsd-3-1-0-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xerces-C++ 2.8.0 released</title>
		<link>http://codesynthesis.com/~boris/blog/2007/09/02/xerces-2-8-0-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2007/09/02/xerces-2-8-0-released/#comments</comments>
		<pubDate>Sun, 02 Sep 2007 15:48:27 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[XML]]></category>

		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2007/09/02/xerces-2-8-0-released/</guid>
		<description><![CDATA[After two years of development, Xerces-C++ 2.8.0 is finally out. In this post I am going to discuss a number of user-visible improvements that many Xerces-C++ users may want to know more about.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2007/09/02/xerces-2-8-0-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing XDR data to an expanding buffer</title>
		<link>http://codesynthesis.com/~boris/blog/2007/08/13/writing-xdr-expanding-buffer/</link>
		<comments>http://codesynthesis.com/~boris/blog/2007/08/13/writing-xdr-expanding-buffer/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 16:14:05 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2007/08/13/writing-xdr-expanding-buffer/</guid>
		<description><![CDATA[The other day I was implementing support for XDR insertion/extraction in the C++/Tree mapping. XDR is a binary representation format that allows you to store, move, and then extract your data without worrying about word sizes (32 vs 64 bit), endian-ness, etc. XDR is available out of the box on pretty much every UNIX and GNU/Linux system as part of Sun RPC.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2007/08/13/writing-xdr-expanding-buffer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to market to smart people</title>
		<link>http://codesynthesis.com/~boris/blog/2007/01/30/how-to-market-to-smart-people/</link>
		<comments>http://codesynthesis.com/~boris/blog/2007/01/30/how-to-market-to-smart-people/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 12:05:42 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2007/01/30/how-to-market-to-smart-people/</guid>
		<description><![CDATA[It should be pretty obvious, but a lot of people forget this important first step: your product shouldn't suck. Otherwise you are wasting your time. For smart people the product should be at least good, better yet -- great.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2007/01/30/how-to-market-to-smart-people/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Statically-linking libstdc++ on AIX</title>
		<link>http://codesynthesis.com/~boris/blog/2006/12/10/statically-linking-on-aix/</link>
		<comments>http://codesynthesis.com/~boris/blog/2006/12/10/statically-linking-on-aix/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 13:33:25 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[GCC g++]]></category>

		<category><![CDATA[C++ Compilers]]></category>

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2006/12/10/statically-linking-on-aix/</guid>
		<description><![CDATA[Yesterday I spent the whole day trying to build a statically-linked binary of XSD for AIX. I have done this for numerous other platforms but on AIX the C++ exception handling stopped working once I linked libstdc++ in statically.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2006/12/10/statically-linking-on-aix/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
