<?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>Software Architecture</title>
	<atom:link href="http://tombarta.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tombarta.wordpress.com</link>
	<description>html { display: awesome; }</description>
	<lastBuildDate>Thu, 29 Dec 2011 05:55:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tombarta.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Software Architecture</title>
		<link>http://tombarta.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tombarta.wordpress.com/osd.xml" title="Software Architecture" />
	<atom:link rel='hub' href='http://tombarta.wordpress.com/?pushpress=hub'/>
		<item>
		<title>operator, and assert</title>
		<link>http://tombarta.wordpress.com/2009/12/22/operator-comma-and-assert/</link>
		<comments>http://tombarta.wordpress.com/2009/12/22/operator-comma-and-assert/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 02:46:17 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Error Handling]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=133</guid>
		<description><![CDATA[How many times have you ever legitimately used the comma operator in live C or C++ code? I&#8217;ve seen a Boost project use it as convenience notation for small compile-time datasets, but that&#8217;s about it. So, here&#8217;s an example of an absolutely terrible way to use it (yes&#8230; this is how I blow off steam [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=133&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2009/12/22/operator-comma-and-assert/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>Precompiled headers with GCC</title>
		<link>http://tombarta.wordpress.com/2009/12/12/precompiled-headers-with-gcc/</link>
		<comments>http://tombarta.wordpress.com/2009/12/12/precompiled-headers-with-gcc/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 01:49:41 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[Build Systems]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=111</guid>
		<description><![CDATA[I&#8217;ve seen a few people assert the precompiled headers are a pain in the butt, or not workable for large scale projects.  In fact, it&#8217;s incredibly easy to add precompiled headers to a GCC-based project, and it can be quite beneficial. Since I&#8217;m mostly familiar with Makefiles, I&#8217;ll present an example here that uses Make. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=111&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2009/12/12/precompiled-headers-with-gcc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>integer micro-optimizations</title>
		<link>http://tombarta.wordpress.com/2009/12/04/integer-micro-optimizations/</link>
		<comments>http://tombarta.wordpress.com/2009/12/04/integer-micro-optimizations/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 07:38:10 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[ASM]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=89</guid>
		<description><![CDATA[I like to sneak bitshifts into interviews&#8212;not because they&#8217;re used commonly in modern C++ code, but because they used to be common, as a way of getting good performance out of poor compilers. It&#8217;s very useful to know the tricks of the past, if you ever find yourself maintaining code written by an earlier generation [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=89&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2009/12/04/integer-micro-optimizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>GCC Compiler-Defined Macros</title>
		<link>http://tombarta.wordpress.com/2008/08/09/gcc-compiler-defined-macros/</link>
		<comments>http://tombarta.wordpress.com/2008/08/09/gcc-compiler-defined-macros/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 14:18:09 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=74</guid>
		<description><![CDATA[I recently stumbled across an article referencing macros defined by gcc. That list is pretty daunting! If you compare it to GCC Common Predefined Macros (the official source), you realize quite fast that a lot of those macros exist for the benefit of libc and libstdc++ library authors&#8212;not compiler end users such as myself. For [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=74&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/08/09/gcc-compiler-defined-macros/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ stack traces with GCC</title>
		<link>http://tombarta.wordpress.com/2008/08/01/c-stack-traces-with-gcc/</link>
		<comments>http://tombarta.wordpress.com/2008/08/01/c-stack-traces-with-gcc/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:25:14 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=62</guid>
		<description><![CDATA[First, a word of warning: This is not portable. Secondly&#8230; being able to produce stack traces (outside of the debugger) is something that&#8217;s usually reserved for languages like Python or Java&#8230; but it&#8217;s quite nice to have them in C++. There&#8217;s several hurdles to overcome, however. Acquire Stack This part is pretty easy, but unless [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=62&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/08/01/c-stack-traces-with-gcc/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>fun with awk</title>
		<link>http://tombarta.wordpress.com/2008/07/12/fun-with-awk/</link>
		<comments>http://tombarta.wordpress.com/2008/07/12/fun-with-awk/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 05:26:08 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[awk]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=61</guid>
		<description><![CDATA[I admit, I&#8217;ve been experimenting more with awk lately. Generally, my opinion has always been, &#8220;If it&#8217;s not simple enough for #!/bin/bash, I&#8217;d rather use python/perl/ruby.&#8221; Figured I&#8217;d simplify my life by having one less flavor of syntax/regexps to worry about. What a silly idea! While Python may be great for &#8220;enterprise-class&#8221;[1] log analysis, nothing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=61&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/07/12/fun-with-awk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>GCC pure virtual method called</title>
		<link>http://tombarta.wordpress.com/2008/07/10/gcc-pure-virtual-method-called/</link>
		<comments>http://tombarta.wordpress.com/2008/07/10/gcc-pure-virtual-method-called/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 01:50:13 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=60</guid>
		<description><![CDATA[I spent about two hours today trying to debug a race condition in a multi-threaded C++ app today&#8230; definitely not a fun thing to do. The worst part? The runtime diagnostics weren&#8217;t giving me anything useful to work with! Sometimes things just worked, sometimes I got segmentation faults inside old, well-tested parts of the application. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=60&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/07/10/gcc-pure-virtual-method-called/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>coverage is necessary but not sufficient</title>
		<link>http://tombarta.wordpress.com/2008/05/27/coverage-is-necessary-but-not-sufficient/</link>
		<comments>http://tombarta.wordpress.com/2008/05/27/coverage-is-necessary-but-not-sufficient/#comments</comments>
		<pubDate>Tue, 27 May 2008 03:26:31 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=58</guid>
		<description><![CDATA[I&#8217;ve had several conversations with people who seemed overly proud about 100% code-coverage in their unit tests. Obviously, that&#8217;s a good thing: the more test cases, the less likelihood of a latent fault existing in the software. But code coverage has its dark side, too. Take a look at this (extremely contrived) C example: unsigned [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=58&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/05/27/coverage-is-necessary-but-not-sufficient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>gcc flags</title>
		<link>http://tombarta.wordpress.com/2008/05/25/gcc-flags/</link>
		<comments>http://tombarta.wordpress.com/2008/05/25/gcc-flags/#comments</comments>
		<pubDate>Sun, 25 May 2008 22:28:12 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=57</guid>
		<description><![CDATA[GCC has flags. A lot of them. I&#8217;ve spent a fair amount of time going through the man-page trying to figure out the best &#8220;general purpose&#8221; set of flags for my own personal development. Here&#8217;s what I use as the baseline for my home C++ projects (GCC 4.3.0, linux, old Intel Pentium4) YMMV, especially with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=57&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/05/25/gcc-flags/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
		<item>
		<title>building to other directories with Make</title>
		<link>http://tombarta.wordpress.com/2008/05/01/building-to-other-directories-with-make/</link>
		<comments>http://tombarta.wordpress.com/2008/05/01/building-to-other-directories-with-make/#comments</comments>
		<pubDate>Thu, 01 May 2008 01:09:34 +0000</pubDate>
		<dc:creator>tombarta</dc:creator>
				<category><![CDATA[Build Systems]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[GCC]]></category>

		<guid isPermaLink="false">http://tombarta.wordpress.com/?p=55</guid>
		<description><![CDATA[Anyone who has used GNU Make on a nontrivial project surely has at some point wanted to separate inputs from outputs and intermediates. For example, take a C++ shared library using GCC (using -MMD to autogenerate GNU make dependency information): inputs baz.cxx bar.cxx intermediates baz.o baz.dep bar.o bar.dep outputs libfoo.so.1.1234 libfoo.so.1 (symlink to libfoo.so.1.1234) libfoo.so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tombarta.wordpress.com&amp;blog=387556&amp;post=55&amp;subd=tombarta&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://tombarta.wordpress.com/2008/05/01/building-to-other-directories-with-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c76327838ebb6f7ea07f783e862d863?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tombarta</media:title>
		</media:content>
	</item>
	</channel>
</rss>
