<?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>Sun, 07 Feb 2010 15:48:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>Two typical multi-threaded programming mistakes</title>
		<link>http://codesynthesis.com/~boris/blog/2010/02/07/typical-multi-threaded-programming-mistakes/</link>
		<comments>http://codesynthesis.com/~boris/blog/2010/02/07/typical-multi-threaded-programming-mistakes/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 15:48:15 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2010/02/07/typical-multi-threaded-programming-mistakes/</guid>
		<description><![CDATA[A couple of days ago I had to fix two threading-related mistakes that I thought were very typical of people who are new to the "threaded way of thinking". ]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2010/02/07/typical-multi-threaded-programming-mistakes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xerces-C++ 3.1.0 released</title>
		<link>http://codesynthesis.com/~boris/blog/2010/02/02/xerces-cxx-3-1-0-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2010/02/02/xerces-cxx-3-1-0-released/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 11:57:45 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[XML]]></category>

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2010/02/02/xerces-cxx-310-released/</guid>
		<description><![CDATA[Xerces-C++ 3.1.0 was released yesterday. This version includes a number of new features, performance improvements, and a large number of bug fixes, particularly in the XML Schema spec conformance area.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2010/02/02/xerces-cxx-3-1-0-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multi-threaded XML parsing with Xerces-C++</title>
		<link>http://codesynthesis.com/~boris/blog/2010/01/25/multi-threaded-xml-parsing-validation-xerces-cxx/</link>
		<comments>http://codesynthesis.com/~boris/blog/2010/01/25/multi-threaded-xml-parsing-validation-xerces-cxx/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 09:21:04 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[XML]]></category>

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2010/01/25/multi-threaded-xml-parsing-validation-xerces-cxx/</guid>
		<description><![CDATA[The Xerces-C++ examples only show how to parse and validate XML documents in a single-threaded manner. This is mainly due to a lack of a portable and clean way to work with threads across all the supported platforms rather than lack of support for multi-threaded applications. The straightforward way to parse and validate from multiple threads is to simply create a parser, load the schemas, and parse one or more documents. However, this approach is not the most efficient because each thread is going to parse the same set of schemas with each thread keeping the resulting schema grammar in memory.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2010/01/25/multi-threaded-xml-parsing-validation-xerces-cxx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft DLL export and C++ templates</title>
		<link>http://codesynthesis.com/~boris/blog/2010/01/18/dll-export-cxx-templates/</link>
		<comments>http://codesynthesis.com/~boris/blog/2010/01/18/dll-export-cxx-templates/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 14:11:07 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[VC++]]></category>

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2010/01/18/dll-export-cxx-templates/</guid>
		<description><![CDATA[The other day I stumbled upon a really dark corner of the Microsoft dllexport/dllimport machinery. I can vividly see Windows toolchain engineers waking up in the middle of the night from a nightmare where they had to patch yet another crack in this DLL symbol export mess. This one has to do with the interaction of dllexport and C++ templates.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2010/01/18/dll-export-cxx-templates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CLI 1.1.0 released</title>
		<link>http://codesynthesis.com/~boris/blog/2009/12/15/cli-1-1-0-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/12/15/cli-1-1-0-released/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 07:53:47 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/12/15/cli-1-1-0-released/</guid>
		<description><![CDATA[CLI 1.1.0 is now available from the project's web page. The automatic usage and documentation generation is by far the biggest new feature in this release.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/12/15/cli-1-1-0-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Options documentation in CLI</title>
		<link>http://codesynthesis.com/~boris/blog/2009/11/01/options-documentation-in-cli/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/11/01/options-documentation-in-cli/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 12:46:38 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/11/01/options-documentation-in-cli/</guid>
		<description><![CDATA[After announcing CLI 1.0.0, the feature that was requested the most was the automatic documentation generation in the form of the program usage information and man/html pages. I myself wished for this feature while writing essentially the same description of the CLI compiler options in three different places. This also seems to be the last point of defense for the Boost program_options advocates ;-).]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/11/01/options-documentation-in-cli/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CLI 1.0.0 released</title>
		<link>http://codesynthesis.com/~boris/blog/2009/10/29/cli-1-0-0-released/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/10/29/cli-1-0-0-released/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 07:41:05 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/10/29/cli-1-0-0-released/</guid>
		<description><![CDATA[The first public release of CLI is now available from the project's web page. ]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/10/29/cli-1-0-0-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CLI in C++: Separate vs Embedded Runtime</title>
		<link>http://codesynthesis.com/~boris/blog/2009/09/21/cli-cxx-separate-vs-embedded-runtime/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/09/21/cli-cxx-separate-vs-embedded-runtime/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 08:35:49 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/09/21/cli-cxx-separate-vs-embedded-runtime/</guid>
		<description><![CDATA[In the last post we discussed the mapping of our CLI language to C++ and established that there will be some common support code, such as exception definitions, that we will need to place somewhere. There are two places where we can keep this code: We can either create a separate runtime library that will contain the support code and on which the generated code will depend. Or we can embed this code directly into the generated C++ files. Today we are going to consider the pros and cons of each approach.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/09/21/cli-cxx-separate-vs-embedded-runtime/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CLI in C++: Status Update</title>
		<link>http://codesynthesis.com/~boris/blog/2009/09/06/cli-cxx-status-update-3/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/09/06/cli-cxx-status-update-3/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 20:40:23 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/09/06/cli-cxx-status-update-3/</guid>
		<description><![CDATA[The semantic graph for the CLI language and the traversal mechanism are ready. I have also updated the parser to build the graph as the parsing progresses. ]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/09/06/cli-cxx-status-update-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CLI in C++: Status Update</title>
		<link>http://codesynthesis.com/~boris/blog/2009/08/24/cli-cxx-status-update-2/</link>
		<comments>http://codesynthesis.com/~boris/blog/2009/08/24/cli-cxx-status-update-2/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 09:46:50 +0000</pubDate>
		<dc:creator>Boris Kolpackov</dc:creator>
		
		<category><![CDATA[CLI]]></category>

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

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

		<guid isPermaLink="false">http://codesynthesis.com/~boris/blog/2009/08/24/cli-cxx-status-update-2/</guid>
		<description><![CDATA[Over the past two weekends I implemented the parser for our CLI language. If you would like to check it out, you can download the source distribution via these links.]]></description>
		<wfw:commentRss>http://codesynthesis.com/~boris/blog/2009/08/24/cli-cxx-status-update-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
