<?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>Chris Donnan : Programming - Brooklyn Style</title>
	<atom:link href="http://chrisdonnan.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrisdonnan.com/blog</link>
	<description>software, trading, family, fun</description>
	<lastBuildDate>Fri, 02 Dec 2011 21:55:19 +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>GCC 4.6.1 on Mac Lion</title>
		<link>http://chrisdonnan.com/blog/2011/11/19/gcc-4-6-1-on-mac-lion/</link>
		<comments>http://chrisdonnan.com/blog/2011/11/19/gcc-4-6-1-on-mac-lion/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 15:04:37 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=687</guid>
		<description><![CDATA[Good instructions here, but too much klunking around&#8230;.
On Lion, will need to download:

GCC 4.2 to compile with &#8211; lion uses llvm so you need to compile 4.6 with 4.2
the new GCC itself here ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.1/select gcc-4.6.1.tar.gz
a few infrastructure libraries from here (ftp://gcc.gnu.org/pub/gcc/infrastructure/) &#8211; get mpc-0.8.1.tar.gz and mpfr-2.4.2.tar.bz2
GMP itself needs a more recent version 5.0.2 (one of [...]]]></description>
			<content:encoded><![CDATA[<p>Good instructions <a href="http://solarianprogrammer.com/2011/09/20/compiling-gcc-4-6-1-on-mac-osx-lion/">here</a>, but too much klunking around&#8230;.</p>
<p>On Lion, will need to download:</p>
<ul>
<li>GCC 4.2 to compile with &#8211; lion uses llvm so you need to compile 4.6 with 4.2</li>
<li>the new GCC itself here<a href="ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.1/"> ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.1/</a>select gcc-4.6.1.tar.gz</li>
<li>a few infrastructure libraries from here (<a rel="nofollow" href="ftp://gcc.gnu.org/pub/gcc/infrastructure/">ftp://gcc.gnu.org/pub/gcc/infrastructure/</a>) &#8211; get mpc-0.8.1.tar.gz and mpfr-2.4.2.tar.bz2</li>
<li><a href="http://gmplib.org/gmp5.0.html">GMP itself needs a more recent version 5.0.2</a> (one of the features is 64bit under darwin)</li>
<li>from the above article comments, be sure to update all your configures to include ABI=64 something like:</li>
</ul>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div></div>
<div></div>
<div></div>
<div></div>
</td>
<td>
<div>
<div><code>..</code><code>/configure</code> <code>--prefix=$HOME</code><code>/my_gcc</code> <code>ABI=64</code></div>
<div><code>..</code><code>/configure</code> <code>--prefix=$HOME</code><code>/my_gcc</code> <code>--with-gmp=$HOME</code><code>/my_gcc</code> <code>ABI=64</code></div>
<div><code>..</code><code>/configure</code> <code>--prefix=$HOME</code><code>/my_gcc</code> <code>--with-gmp=$HOME</code><code>/my_gcc</code> <code>--with-mpfr=$HOME</code><code>/my_gcc</code> <code>ABI=64</code></div>
<div><code>..</code><code>/configure</code> <code>--prefix=$HOME</code><code>/my_gcc</code> <code>--</code><code>enable</code><code>-checking=release --with-gmp=$HOME</code><code>/my_gcc</code> <code>--with-mpfr=$HOME</code><code>/my_gcc</code> <code>--with-mpc=$HOME</code><code>/my_gcc</code> <code>--program-prefix=my- ABI=64</code></div>
</div>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/11/19/gcc-4-6-1-on-mac-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FastFlow</title>
		<link>http://chrisdonnan.com/blog/2011/11/19/fastflow/</link>
		<comments>http://chrisdonnan.com/blog/2011/11/19/fastflow/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 10:35:55 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=685</guid>
		<description><![CDATA[FastFlow (???) is a parallel programming framework for multi-core platforms based upon non-blocking lock-free/fence-free synchronization mechanisms.
Ooh, aah. This is lovely. Look out disruptor, there is nothing new under the sun apparently.
Very, very nice.A work colleague pointed FastFlow out to me yesterday and I have spent the morning reading/ playing. Big fan so far.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://calvados.di.unipi.it/dokuwiki/doku.php?id=ffnamespace:about">FastFlow</a> (???) is a parallel programming framework for multi-core platforms based upon non-blocking lock-free/fence-free synchronization mechanisms.</p>
<p>Ooh, aah. This is lovely. Look out disruptor, there is nothing new under the sun apparently.</p>
<p>Very, very nice.A work colleague pointed FastFlow out to me yesterday and I have spent the morning reading/ playing. Big fan so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/11/19/fastflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ Open Source Market Data Feed-handlers</title>
		<link>http://chrisdonnan.com/blog/2011/09/24/c-open-source-market-data-feed-handlers/</link>
		<comments>http://chrisdonnan.com/blog/2011/09/24/c-open-source-market-data-feed-handlers/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 16:50:22 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[market data]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=683</guid>
		<description><![CDATA[C++ Open Source Market Data Feed-handlers
Feed-handlers for:

arca
bats
directedge
itch
opra

Code looks pretty well written.
Code on github &#8211; here
]]></description>
			<content:encoded><![CDATA[<p><a href="http://openmarketdata.org/">C++ Open Source Market Data Feed-handlers</a></p>
<p>Feed-handlers for:</p>
<ul>
<li>arca</li>
<li>bats</li>
<li>directedge</li>
<li>itch</li>
<li>opra</li>
</ul>
<p>Code looks pretty well written.</p>
<p>Code on github &#8211; <a href="https://github.com/csinitiative/fhce/tree/master/feeds">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/09/24/c-open-source-market-data-feed-handlers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Algorithms Shape Our World</title>
		<link>http://chrisdonnan.com/blog/2011/08/12/how-algorithms-shape-our-world/</link>
		<comments>http://chrisdonnan.com/blog/2011/08/12/how-algorithms-shape-our-world/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 19:00:48 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[algorithmic trading]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=681</guid>
		<description><![CDATA[Fantastic Ted Talk about how algorithms are changing our world.
How Algorithms Shape Our World
]]></description>
			<content:encoded><![CDATA[<p>Fantastic Ted Talk about how algorithms are changing our world.</p>
<p><a href="http://www.ted.com/talks/kevin_slavin_how_algorithms_shape_our_world.html  ">How Algorithms Shape Our World</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/08/12/how-algorithms-shape-our-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ Optimization Manuals</title>
		<link>http://chrisdonnan.com/blog/2011/07/25/c-optimization-manuals/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/25/c-optimization-manuals/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 15:40:28 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[low latency]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=677</guid>
		<description><![CDATA[C++ Optimization Manuals
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.agner.org/optimize/  ">C++ Optimization Manuals</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/25/c-optimization-manuals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenOnload</title>
		<link>http://chrisdonnan.com/blog/2011/07/23/openonload/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/23/openonload/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 22:18:25 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[low latency]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=675</guid>
		<description><![CDATA[Not new, but someone was asking me about this the other day&#8230; here you go &#8211; OpenOnload docs from SolarFlare
]]></description>
			<content:encoded><![CDATA[<p>Not new, but someone was asking me about this the other day&#8230; here you go &#8211; <a href="http://www.solarflare.com/Content/UserFiles/Documents/Solarflare_OpenOnload_IntroPaper.pdf">OpenOnload docs from SolarFlare</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/23/openonload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick C++ Re-post&#8230;</title>
		<link>http://chrisdonnan.com/blog/2011/07/14/quick-c-re-post/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/14/quick-c-re-post/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 20:42:44 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=673</guid>
		<description><![CDATA[Suicide by C++ And How to Avoid It
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.oracle.com/OTNGarage/entry/suicide_by_c_and_how  ">Suicide by C++ And How to Avoid It</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/14/quick-c-re-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some truly wacky looking C++ code (Boost 1.47.0)</title>
		<link>http://chrisdonnan.com/blog/2011/07/13/some-truly-wacky-looking-c-code-boost-1-47-0/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/13/some-truly-wacky-looking-c-code-boost-1-47-0/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 11:46:16 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=671</guid>
		<description><![CDATA[Really &#8211; look at this code&#8230;
I had to look at it a few times. Cool, sorta wacky.
try_
[
    f(arg1)
]
.catch_&#60;runtime_error&#62;()
[
    cout &#60;&#60; val("caught runtime error or derived\n"),
    throw_()
]
.catch_&#60;exception&#62;()
[
    cout &#60;&#60; val("caught exception or derived\n"),
    throw_()
]
.catch_all
[
    cout &#60;&#60; val("caught some [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html">Really &#8211; look at this code&#8230;</a></p>
<p>I had to look at it a few times. Cool, sorta wacky.</p>
<pre>try_
[
    f(arg1)
]
.catch_&lt;runtime_error&gt;()
[
    cout &lt;&lt; val("caught runtime error or derived\n"),
    throw_()
]
.catch_&lt;exception&gt;()
[
    cout &lt;&lt; val("caught exception or derived\n"),
    throw_()
]
.catch_all
[
    cout &lt;&lt; val("caught some other type of exception\n"),
    throw_(runtime_error("translated exception"))
]</pre>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/13/some-truly-wacky-looking-c-code-boost-1-47-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting reading for today&#8230;</title>
		<link>http://chrisdonnan.com/blog/2011/07/09/interesting-reading-for-today/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/09/interesting-reading-for-today/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 08:47:34 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[HFT]]></category>
		<category><![CDATA[algorithmic trading]]></category>
		<category><![CDATA[computer hardware]]></category>
		<category><![CDATA[high frequency trading]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[low latency]]></category>
		<category><![CDATA[messaging]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=669</guid>
		<description><![CDATA[Excerpted from Achieving single-digit latency

•	 Use a binary transaction protocol to eliminate data conversions and complex parsing.
•	 Use Remote Direct Memory Access (RDMA) verbs and zero copy mechanisms to eliminate network protocol stack processing.
•	 Use preallocated data structures to completely eliminate all memory turnover and associated garbage collections.
•	 Tune the hardware and OS for low latency

Part of me says &#8220;duh&#8221; [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Excerpted from <a href="http://www.cinnober.com/files/The-route-to-single-digit-latency.pdf">Achieving single-digit latency</a></div>
<blockquote>
<div>•	 Use a binary transaction protocol to eliminate data conversions and complex parsing.</div>
<div id="_mcePaste">•	 Use Remote Direct Memory Access (RDMA) verbs and zero copy mechanisms to eliminate network protocol stack processing.</div>
<div id="_mcePaste">•	 Use preallocated data structures to completely eliminate all memory turnover and associated garbage collections.</div>
<div id="_mcePaste">•	 Tune the hardware and OS for low latency</div>
</blockquote>
<p>Part of me says &#8220;duh&#8221; but part of me says that maybe this is not necessarily common application yet?</p>
<p>Another &#8220;worlds fastest matching engine&#8221; &#8211; <a href="http://www.cinnober.com/pressrelease/cinnober-launches-world%E2%80%99s-fastest-matching-engine">here</a></p>
<p><a href="http://www.tibco.com/products/soa/messaging/ftl/default.jsp">Tibco FTL messaging</a> &#8211; seems interesting&#8230;</p>
<p><a href="http://www.fixnetix.com/articles/display/129/">Fixnetix Raises the Bar: World’s Fastest Nanosecond Trading</a> &#8211; more FPGA trading&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/09/interesting-reading-for-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux networking strategies</title>
		<link>http://chrisdonnan.com/blog/2011/07/04/linux-networking-strategies/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/04/linux-networking-strategies/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 07:22:12 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=667</guid>
		<description><![CDATA[http://www.kegel.com/c10k.html
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kegel.com/c10k.html">http://www.kegel.com/c10k.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/04/linux-networking-strategies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disruptor</title>
		<link>http://chrisdonnan.com/blog/2011/07/02/disruptor/</link>
		<comments>http://chrisdonnan.com/blog/2011/07/02/disruptor/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 07:24:12 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[HFT]]></category>
		<category><![CDATA[high frequency trading]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[low latency]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=665</guid>
		<description><![CDATA[Go LMAX guys &#8211; open sourced some truly cool code. Smart guys using Java well.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/disruptor/">Go LMAX guys &#8211; open sourced some truly cool code. Smart guys using Java well.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/07/02/disruptor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CME Study Claims HFT Reduces Price Swings</title>
		<link>http://chrisdonnan.com/blog/2011/06/29/cme-study-claims-hft-reduces-price-swings/</link>
		<comments>http://chrisdonnan.com/blog/2011/06/29/cme-study-claims-hft-reduces-price-swings/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 18:48:43 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
				<category><![CDATA[HFT]]></category>
		<category><![CDATA[algorithmic trading]]></category>
		<category><![CDATA[high frequency trading]]></category>
		<category><![CDATA[trading]]></category>

		<guid isPermaLink="false">http://chrisdonnan.com/blog/?p=661</guid>
		<description><![CDATA[CME Study Claims HFT Reduces Price Swings
Original Story
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.advancedtrading.com/articles/231000689">CME Study Claims HFT Reduces Price Swings</a></p>
<p><a href="http://www.nasdaq.com/aspx/stockmarketnewsstoryprint.aspx?storyid=201106281628dowjonesdjonline000339">Original Story</a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrisdonnan.com/blog/2011/06/29/cme-study-claims-hft-reduces-price-swings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

