<?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>POCO C++ Libraries Blog</title>
	<atom:link href="http://pocoproject.org/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://pocoproject.org/blog</link>
	<description>News and discussion for the POCO Community</description>
	<lastBuildDate>Wed, 15 May 2013 04:40:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;C++ Now&#8221; Presentations</title>
		<link>http://pocoproject.org/blog/?p=806</link>
		<comments>http://pocoproject.org/blog/?p=806#comments</comments>
		<pubDate>Wed, 15 May 2013 04:10:52 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=806</guid>
		<description><![CDATA[On Thursday, May 16 2013, there will be two POCO-related presentations at the C++ Now conference in Aspen, Colorado:


Dynamic C++
This is a &#8220;replay&#8221; of ACCU Conference 2013 presentation from Bristol, UK.

 Look Ma, “update DB to HTML5 using C++”, no hands!
This is an &#8220;upgrade&#8221; of the Silicon Valley Code Camp 2012 presentation, adding SQLite event [...]]]></description>
			<content:encoded><![CDATA[<p>On Thursday, May 16 2013, there will be two POCO-related presentations at the <br/><a href="http://cppnow.org/">C++ Now</a> conference in Aspen, Colorado:<br/><br/></p>
<hr />
<ul>
<li><a href="http://cppnow.org/session/dynamic-c/">Dynamic C++</a></li>
<p>This is a &#8220;replay&#8221; of <a href="http://accu.org/index.php/conferences/accu_conference_2013/accu2013_schedule">ACCU Conference 2013</a> <a href="http://www.slideshare.net/aleks-f/dynamic-caccu2013">presentation</a> from Bristol, UK.</p>
<hr />
<li><a href="http://cppnow.org/session/look-ma-update-db-to-html5-using-c-no-hands/"> Look Ma, “update DB to HTML5 using C++”, no hands!</a></li>
<p>This is an &#8220;upgrade&#8221; of the Silicon Valley Code Camp 2012 <a href="http://www.slideshare.net/aleks-f/dynamic-c-silicon-valley-code-camp-2012">presentation</a>, adding SQLite event callbacks in conjunction with WebSocket, resulting in a seamless &#8221;push&#8221; of data from database straight to an HTML5 web page.</ul>
<hr /><br/><br/></p>
<p style="text-align: center;"><a href="http://pocoproject.org/blog/wp-content/uploads/2013/05/DB2HTML5.jpg"><img class="aligncenter size-full wp-image-816" title="DB2HTML5" src="http://pocoproject.org/blog/wp-content/uploads/2013/05/DB2HTML5.jpg" alt="DB2HTML5" width="658" height="302" /></a></p>
<p><br/><br />
Code is in GitHub <a href="https://github.com/aleks-f/articles">repository</a>, stay tuned for slides and videos &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=806</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic C++ in a nutshell</title>
		<link>http://pocoproject.org/blog/?p=795</link>
		<comments>http://pocoproject.org/blog/?p=795#comments</comments>
		<pubDate>Sat, 13 Apr 2013 08:23:26 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=795</guid>
		<description><![CDATA[Slides are available on SlideShare
Courtesy of Schalk Cronjé tweet &#8211; his notes on the ACCU 2013 Dynamic C++ presentation:
]]></description>
			<content:encoded><![CDATA[<p>Slides are available on <a href="http://www.slideshare.net/aleks-f/dynamic-caccu2013" target="_blank">SlideShare</a></p>
<p><a href="http://www.slideshare.net/aleks-f/dynamic-caccu2013" target="_blank"></a>Courtesy of <a href="https://twitter.com/ysb33r" target="_blank">Schalk Cronjé</a> tweet &#8211; his notes on the <a href="http://accu.org/" target="_blank">ACCU</a> <a href="http://accu.org/index.php/conferences/accu_conference_2013" target="_blank">2013</a> <a href="http://accu.org/index.php/conferences/accu_conference_2013/accu2013_sessions#dynamic_c" target="_blank">Dynamic C++</a> presentation:</p>
<div id="attachment_797" class="wp-caption aligncenter" style="width: 609px"><a href="http://pocoproject.org/blog/wp-content/uploads/2013/04/DynamicCppNotes.jpg"><img class="size-full wp-image-797" title="DynamicCppNotes" src="http://pocoproject.org/blog/wp-content/uploads/2013/04/DynamicCppNotes.jpg" alt="Dynamic C++ in a nutshell" width="599" height="834" /></a><p class="wp-caption-text">Dynamic C++ in a nutshell</p></div>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=795</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release 1.4.6p1 Available</title>
		<link>http://pocoproject.org/blog/?p=792</link>
		<comments>http://pocoproject.org/blog/?p=792#comments</comments>
		<pubDate>Wed, 06 Mar 2013 21:41:18 +0000</pubDate>
		<dc:creator>guenter</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=792</guid>
		<description><![CDATA[Stable release 1.4.6p1 contains various bugfixes and a few minor new features. See the CHANGELOG for the details.
Get the source code from the download page or directly from GitHub.
]]></description>
			<content:encoded><![CDATA[<p>Stable release 1.4.6p1 contains various bugfixes and a few minor new features. See the <a href="https://raw.github.com/pocoproject/poco/poco-1.4.6/CHANGELOG">CHANGELOG</a> for the details.</p>
<p>Get the source code from the <a href="http://pocoproject.org/download/index.html">download page</a> or directly from <a href="https://github.com/pocoproject/poco">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=792</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Library AutoiNEATialization</title>
		<link>http://pocoproject.org/blog/?p=741</link>
		<comments>http://pocoproject.org/blog/?p=741#comments</comments>
		<pubDate>Sun, 10 Feb 2013 17:00:15 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=741</guid>
		<description><![CDATA[In some of POCO libraries (Net on Windows, Data back-ends, Crypto, NetSSL &#8230;), there is a need for early library initialization. This task has been done so far in a couple of ways (neither elegant) &#8211; we either

(1) call initialization (repeatedly) from some strategic points in the library (Net, SSL) that we know will get [...]]]></description>
			<content:encoded><![CDATA[<p>In some of POCO libraries (Net on Windows, Data back-ends, Crypto, NetSSL &#8230;), there is a need for early library initialization. This task has been done so far in a couple of ways (neither elegant) &#8211; we either</p>
<ul>
<li>(1) call initialization (repeatedly) from some strategic points in the library (Net, SSL) that we know will get hit early, or</li>
<li>(2) mandate early explicit call (un)initialization (Data back-ends) early from user code.</li>
</ul>
<p>So, the question here is: can we (and, if the answer is yes, how?) improve the current state?</p>
<ul>
<li><strong>Problem:</strong> do tasks early at application init or shared library load, ensuring they are executed prior to any other activity depending on them.</li>
<li><strong>Examples:</strong> Windows network initialization, DB back-end registration with front-end registry &#8230;</li>
<li><strong>Solution:</strong> looks simple at first, then not so simple when the reality of (1) dynamic/static linkage (on Windows in particular), (2) static variable initialization timing/order and (3) dynamic library loading order (e.g. Data and back-end libraries) hits.</li>
</ul>
<p>At first, one would think this (SQLite back-end with abbreviated names used as an example here) will do the trick:</p>
<p><code>// <em>Connector.h:</em><br />
<span style="color: #0000ff;"> struct</span> SQLite_API SQLiteRegistrator<br />
{</code></p>
<p style="padding-left: 30px;"><code>SQLiteRegistrator()<br />
{<br />
SQLite::Connector::registerConnector();<br />
}</code></p>
<p style="padding-left: 30px;"><code>~SQLiteRegistrator()<br />
{<br />
SQLite::Connector::unregisterConnector();<br />
}</code></p>
<p>};<br />
<code><br />
<span style="color: #0000ff;"> extern</span> <span style="color: #993366;">"C"</span> <span style="color: #0000ff;">struct</span> SQLite_API SQLiteRegistrator sqliteRegistrator;</code></p>
<p><code> </code></p>
<p><code>// <em>Connector.cpp:</em><br />
SQLiteRegistrator sqliteRegistrator;</code></p>
<p>Alas, MSVC will disregard your wishes in both static and dynamic library builds when it sees that the registrator is &#8220;not used&#8221; anywhere. Luckily, there&#8217;s a way to force the linkage:</p>
<p><code><span style="color: #0000ff;">#pragma</span>(<span style="color: #000000;">comment</span> (linker, <span style="color: #993366;">"/include:_sqliteRegistrator"</span>)</code></p>
<p>With some ifdef-ing for 64-bit (no underscore decoration) and dynamic exports, it turns out that the task is achievable:</p>
<p><code><span style="color: #0000ff;">#pragma</span>(comment (linker, <span style="color: #993366;">"/export:sqliteRegistrator"</span>)</code></p>
<p>So, now we have a way to force initialization without having to explicitly call registerConnector from user code (or peppering library with initialization code).</p>
<p>Details are in <a href="https://github.com/pocoproject/poco/blob/d6042065eca4f90b4846f1788ffa07716b465618/Data/SQLite/include/Poco/Data/SQLite/Connector.h#L112">GitHub repo</a> (Net and Data back-ends only at the time of this writing).</p>
<p>This modification was tested on Windows, Mac and Linux, static and shared builds; I&#8217;m putting a word out to hear comments and make sure I did not miss something important, so suggestions are more than welcome. I&#8217;d like to have this in the upcoming <a href="https://github.com/pocoproject/poco/issues?milestone=5&amp;state=open">1.5.2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=741</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Applied Informatics Blog</title>
		<link>http://pocoproject.org/blog/?p=739</link>
		<comments>http://pocoproject.org/blog/?p=739#comments</comments>
		<pubDate>Sat, 09 Feb 2013 13:18:32 +0000</pubDate>
		<dc:creator>guenter</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=739</guid>
		<description><![CDATA[Over at the Applied Informatics website we have a new blog. The articles posted so far have covered topics like the Internet of Things, using POCO on Windows CE and iOS and Implementing UPnP Control Points on the iPhone.
]]></description>
			<content:encoded><![CDATA[<p>Over at the <a href="http://www.appinf.com">Applied Informatics website</a> we have a new <a href="http://blog.appinf.com">blog</a>. The articles posted so far have covered topics like the <a href="http://www.appinf.com/blog/?p=23">Internet of Things</a>, using POCO on <a href="http://www.appinf.com/blog/?p=52">Windows CE</a> and <a href="http://www.appinf.com/blog/?p=41">iOS</a> and <a href="http://www.appinf.com/blog/?p=64">Implementing UPnP Control Points on the iPhone</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=739</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic C++ at ACCU 2013</title>
		<link>http://pocoproject.org/blog/?p=731</link>
		<comments>http://pocoproject.org/blog/?p=731#comments</comments>
		<pubDate>Thu, 24 Jan 2013 04:17:11 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=731</guid>
		<description><![CDATA[On April 11 2013, at the ACCU 2013 conference in Bristol (UK), a 90 minute &#8220;Dynamic C++&#8220; tutorial  will be presented:
Data from external sources comes in diverse types and brings along the need for datatype conversion. How can a C++ programmer accurately and efficiently transfer data from relational or XML database to JSON or HTML without stumbling over [...]]]></description>
			<content:encoded><![CDATA[<p>On April 11 2013, at the <a href="http://accu.org/index.php/conferences">ACCU 2013</a> conference in Bristol (UK), a 90 minute &#8220;<a href="http://accu.org/index.php/conferences/accu_conference_2013/accu2013_sessions#dynamic_c">Dynamic C++</a>&#8220; tutorial  will be presented:</p>
<blockquote><p><em>Data from external sources comes in diverse types and brings along the need for datatype conversion. How can a C++ programmer accurately and efficiently transfer data from relational or XML database to JSON or HTML without stumbling over the C++ type checking mechanism? The answer is by using type erasure techniques; session will enumerate, explore and compare the most popular C++ type erasure solutions.</em></p>
<p><em>Given the above problem as well as both historical (ANSI C union and void*, MS COM Variant, boost::[variant, any, lexical_cast]) and recent (boost::type_erasure, Facebook folly::dynamic) development trends (including pending boost::any C++ standard proposal), it is obvious that there is a need for a way around the static nature of C++ language. There is also more than one solution to this problem; session will explore the internals of boost::[variant, any, type_erasure], folly::dynamic and Poco::Dynamic. Design, capabilities as well as pros and cons of each solution will be examined. Performance benchmark comparisons will be reviewed as well.</em></p>
<p><em>Type safety is an important feature of C++; type erasure is a necessary technique for modern software development. Session examines and compares existing solutions to these important concerns.</em></p></blockquote>
<p>Stop by if you happen to be in the area or attending the conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=731</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Releases 1.4.6 and 1.5.1 Available</title>
		<link>http://pocoproject.org/blog/?p=726</link>
		<comments>http://pocoproject.org/blog/?p=726#comments</comments>
		<pubDate>Sat, 12 Jan 2013 09:14:31 +0000</pubDate>
		<dc:creator>guenter</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=726</guid>
		<description><![CDATA[Stable release 1.4.6 brings some bugfixes and minor enhancements. See the CHANGELOG for the details. This is planned to be the last release in the 1.4 series.
Development release 1.5.1 is a major step towards the next stable 1.6.0 release planned for this spring. See the CHANGELOG for what&#8217;s new.
Get the source code from the download [...]]]></description>
			<content:encoded><![CDATA[<p>Stable release 1.4.6 brings some bugfixes and minor enhancements. See the <a href="https://raw.github.com/pocoproject/poco/poco-1.4.6/CHANGELOG">CHANGELOG</a> for the details. This is planned to be the last release in the 1.4 series.</p>
<p>Development release 1.5.1 is a major step towards the next stable 1.6.0 release planned for this spring. See the <a href="https://raw.github.com/pocoproject/poco/poco-1.5.1/CHANGELOG">CHANGELOG</a> for what&#8217;s new.</p>
<p>Get the source code from the <a href="http://pocoproject.org/download/index.html">download page</a> or directly from <a href="https://github.com/pocoproject/poco">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=726</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Merry Christmas!</title>
		<link>http://pocoproject.org/blog/?p=720</link>
		<comments>http://pocoproject.org/blog/?p=720#comments</comments>
		<pubDate>Mon, 24 Dec 2012 08:13:01 +0000</pubDate>
		<dc:creator>guenter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=720</guid>
		<description><![CDATA[Merry Christmas from the POCO C++ Libraries and Applied Informatics teams and all the best wishes for 2013!

]]></description>
			<content:encoded><![CDATA[<p>Merry Christmas from the POCO C++ Libraries and Applied Informatics teams and all the best wishes for 2013!</p>
<p><img src="http://pocoproject.org/blog/wp-content/uploads/2012/12/xmas12.jpg" alt="xmas12" title="xmas12" width="600" height="600" class="alignnone size-full wp-image-721" /></p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=720</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>POCO 1.5.1 pre-release is on GitHub</title>
		<link>http://pocoproject.org/blog/?p=715</link>
		<comments>http://pocoproject.org/blog/?p=715#comments</comments>
		<pubDate>Fri, 21 Dec 2012 06:44:43 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=715</guid>
		<description><![CDATA[Current development branch is now frozen and tagged as 1.5.1 pre-release in GitHub.
Until release, the development branch will remain frozen and any changes will be pushed to separate branches.
Please download or check it out, run some tests, report bugs, etc.
 git clone https://github.com/pocoproject/poco.git
Download links (LF line ending only!):
https://github.com/pocoproject/poco/archive/poco-1.5.1-pre-release.zip
https://github.com/pocoproject/poco/archive/poco-1.5.1-pre-release.tar.gz
Latest Commit:
https://github.com/pocoproject/poco/commit/16533ef73b7d4b68c0fac5247769aed800704bc0
1.5.1 Release is scheduled for Monday, December [...]]]></description>
			<content:encoded><![CDATA[<p>Current development branch is now frozen and tagged as <em>1.5.1 pre-release</em> in GitHub.<br />
Until release, the development branch will remain frozen and any changes will be pushed to separate branches.<br />
Please download or check it out, run some tests, report bugs, etc.</p>
<p><strong> git clone https://github.com/pocoproject/poco.git</strong></p>
<p><span style="text-decoration: underline;">Download links (<span style="color: #ff0000;">LF line ending only!</span>):</span><br />
https://github.com/pocoproject/poco/archive/poco-1.5.1-pre-release.zip<br />
https://github.com/pocoproject/poco/archive/poco-1.5.1-pre-release.tar.gz</p>
<p><span style="text-decoration: underline;">Latest Commit:</span><br />
https://github.com/pocoproject/poco/commit/16533ef73b7d4b68c0fac5247769aed800704bc0</p>
<p><strong><span style="color: #0000ff;">1.5.1 Release is scheduled for Monday, December 24 2012.</span></strong></p>
<p><strong><span style="color: #0000ff;"><span style="color: #ff0000;">Update:</span> Release was postponed for at least a week. Pre-release archives can be downloaded from:</span></strong></p>
<p><strong><span style="color: #0000ff;"><a style="color: #1155cc; font-family: arial, sans-serif; line-height: normal;" href="https://github.com/pocoproject/downloads/tree/master/poco-pre-1.5.1" target="_blank">https://github.com/pocoproject/downloads/tree/master/poco-pre-1.5.1</a></span></strong></p>
<p><span style="font-weight: bold; color: #ff0000;">Update 2:</span><span style="color: #0000ff; font-weight: bold;"> <span style="color: #0000ff; font-weight: bold;">Release is available now:</span></span></p>
<p><strong><span style="color: #0000ff;"><a style="color: #1155cc; font-family: arial, sans-serif; line-height: normal;" href="http://pocoproject.org/blog/?p=726" target="_blank">http://pocoproject.org/blog/?p=726</a></span></strong></p>
<p>&#8212;</p>
<p>POCO Team</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=715</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving Bug/Issue Tracker from SF to Github</title>
		<link>http://pocoproject.org/blog/?p=712</link>
		<comments>http://pocoproject.org/blog/?p=712#comments</comments>
		<pubDate>Sun, 02 Dec 2012 17:53:29 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://pocoproject.org/blog/?p=712</guid>
		<description><![CDATA[During the month of December, we will be transitioning to GitHub issue tracker. By the end of 2012, all SF issues will be either (a) resolved, (b) discarded or (c) moved to GitHub. Please enter new issues in GitHub issue tracker. If you have a patch, please submit it as a pull request.
POCO Team
]]></description>
			<content:encoded><![CDATA[<p>During the month of December, we will be transitioning to <a href="https://github.com/pocoproject/poco/issues">GitHub issue tracker</a>. By the end of 2012, all SF issues will be either (a) resolved, (b) discarded or (c) moved to GitHub. Please enter new issues in <a href="https://github.com/pocoproject/poco/issues">GitHub issue tracker</a>. If you have a patch, please submit it as a <a href="https://github.com/pocoproject/poco/pulls">pull request</a>.<br />
POCO Team</p>
]]></content:encoded>
			<wfw:commentRss>http://pocoproject.org/blog/?feed=rss2&amp;p=712</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
