<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="http://feedproxy.google.com/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feedproxy.google.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://blog.emptycrate.com">
<channel>
 <title>EmptyCrate blogs</title>
 <link>http://blog.emptycrate.com/blog</link>
 <description />
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feedproxy.google.com/EmptycrateBlogs" type="application/rss+xml" /><item>
 <title>Creating a Panorama with Hugin</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/rwFJZNi0R-Y/342</link>
 <description>&lt;p&gt;This topic has been covered many times before on other websites, but I thought I would give it a shot here too.&lt;/p&gt;
&lt;p&gt;With the latest version of &lt;a href="http://hugin.sourceforge.net/"&gt;Hugin&lt;/a&gt; creating a panorama is almost stupid simple. First, you choose the selection of images that you want to stitch together. Here is the list that I chose:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/333"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart1.thumbnail.JPG" alt="Part 1" title="Part 1"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 1&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/334"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart2.thumbnail.JPG" alt="Part 2" title="Part 2"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 2&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/335"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart3.thumbnail.JPG" alt="Part 3" title="Part 3"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 3&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/338"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart6.thumbnail.JPG" alt="Part 7" title="Part 7"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 7&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/339"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart7.thumbnail.JPG" alt="Part 6" title="Part 6"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 6&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/337"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart5.thumbnail.JPG" alt="Part 5" title="Part 5"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 5&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span class="inline inline-none"&gt;&lt;a href="/node/336"&gt;&lt;img src="http://blog.emptycrate.com/files/images/connemarapart4.thumbnail.JPG" alt="Part 4" title="Part 4"  class="image image-thumbnail " width="130" height="98" /&gt;&lt;/a&gt;&lt;span class="caption" style="width: 128px;"&gt;&lt;strong&gt;Part 4&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;div class="image-clear"&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/342" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/SCdlN9y2XNKElWflAxR7H8tcUOk/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/SCdlN9y2XNKElWflAxR7H8tcUOk/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/rwFJZNi0R-Y" height="1" width="1"/&gt;</description>
 <category domain="http://blog.emptycrate.com/taxonomy/term/76">Connemara</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/74">GIMP</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/73">Hugin</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/75">Ireland</category>
 <pubDate>Fri, 21 Nov 2008 03:52:03 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">342 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/342</feedburner:origLink></item>
<item>
 <title>A Commodore Notebook?</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/5uy7DpMudSQ/332</link>
 <description>&lt;p&gt;&lt;strong&gt;Intro&lt;/strong&gt;&lt;br /&gt;
I recently came across &lt;a href="http://akaimbatman.intelligentblogger.com/wordpress/archives/42"&gt;this article&lt;/a&gt; about using the &lt;a href="http://en.wikipedia.org/wiki/C64"&gt;Commodore 64&lt;/a&gt; (the most popular model of computer ever produced) in education and &lt;a href="http://akaimbatman.intelligentblogger.com/wordpress/archives/41"&gt;the follow up  article&lt;/a&gt; that suggests the possibility of a Commodore notebook.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/332" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/ZWPCtX0DONmeKYsqUj5cWxUHvFg/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/ZWPCtX0DONmeKYsqUj5cWxUHvFg/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/5uy7DpMudSQ" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/332#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/71">commodore</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/72">hardware</category>
 <pubDate>Sat, 15 Nov 2008 20:09:47 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">332 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/332</feedburner:origLink></item>
<item>
 <title>Mexican Fajita Style Chicken Dish</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/ERJXE27ZA2k/331</link>
 <description>&lt;p&gt;And now for something completely different...&lt;/p&gt;
&lt;p&gt;A friend requested this recipe after staying with us for a night, so I thought I would put it up here. Disclaimer: I never cook to a recipe, so this is slightly different each time I make it. See the list of options at the bottom to see different variations I have made.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ingredients&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2-3 Chicken Breasts Cut into approx 2"x1/4"x1" pieces&lt;/li&gt;
&lt;li&gt;2 Jalapeno Peppers (Chopped Small)&lt;/li&gt;
&lt;li&gt;1 Anaheim Pepper (Chopped Small)&lt;/li&gt;
&lt;li&gt;1 Medium White Onion (Chopped Large Pieces) &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/331" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/RGo_Rxx3v9eljtwfXoNIcNXmwaM/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/RGo_Rxx3v9eljtwfXoNIcNXmwaM/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/ERJXE27ZA2k" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/331#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/70">Cooking</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/69">Recipe</category>
 <pubDate>Sat, 01 Nov 2008 17:37:05 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">331 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/331</feedburner:origLink></item>
<item>
 <title>Why is ++i faster than i++ in C++?</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/ySOjzYfDtfo/330</link>
 <description>&lt;p&gt;I've heard this question come up a few times in C++ programming circles, "Why is ++i faster/better than i++?"&lt;/p&gt;
&lt;p&gt;The short answer is: i++ has to make a copy of the object and ++i does not.&lt;/p&gt;
&lt;p&gt;The long answer involves some code examples.&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;pre class="cpp geshifilter-cpp" style="font-family:monospace;"&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; i &lt;span style="color: #000080;"&gt;=&lt;/span&gt; &lt;span style="color: #0000dd;"&gt;1&lt;/span&gt;;
&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; j &lt;span style="color: #000080;"&gt;=&lt;/span&gt; i++; &lt;span style="color: #666666;"&gt;// j is equal to 1, because i is incremented after the value is returned, &lt;/span&gt;
              &lt;span style="color: #666666;"&gt;// which means a copy was made of the old value&lt;/span&gt;
&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; k &lt;span style="color: #000080;"&gt;=&lt;/span&gt; &lt;span style="color: #000040;"&gt;++&lt;/span&gt;i; &lt;span style="color: #666666;"&gt;// k is equal to 3, because i is incremented, then returned. No copy is needed&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Or a more robust example of the operator overloads:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/330" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/swebwqzonp6ZxZmjWQZaS8S4Izc/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/swebwqzonp6ZxZmjWQZaS8S4Izc/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/ySOjzYfDtfo" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/330#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/33">Articles</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/31">C++</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/27">Programming</category>
 <pubDate>Sat, 01 Nov 2008 04:15:59 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">330 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/330</feedburner:origLink></item>
<item>
 <title>Do You Know What ++i And i++ Really Do?</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/dS6okMShpKw/329</link>
 <description>&lt;p&gt;An interviewer who thinks he is being clever might present you with a code sample like the following and ask you what the output would be:&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;pre class="c geshifilter-c" style="font-family:monospace;"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;//C&lt;/span&gt;
&lt;span style="color: #339933;"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #993333;"&gt;void&lt;/span&gt; dosomething&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #993333;"&gt;int&lt;/span&gt; i&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; j&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; k&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; l&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
  &lt;a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"&gt;&lt;span style="color: #000066;"&gt;printf&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;%d, %d, %d, %d&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; i&lt;span style="color: #339933;"&gt;,&lt;/span&gt;j&lt;span style="color: #339933;"&gt;,&lt;/span&gt;k&lt;span style="color: #339933;"&gt;,&lt;/span&gt;l&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #993333;"&gt;int&lt;/span&gt; main&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #993333;"&gt;int&lt;/span&gt; argc&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #993333;"&gt;char&lt;/span&gt; &lt;span style="color: #339933;"&gt;**&lt;/span&gt;argv&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
  &lt;span style="color: #993333;"&gt;int&lt;/span&gt; i &lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;1&lt;/span&gt;;
  dosomething&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;i&lt;span style="color: #339933;"&gt;++,&lt;/span&gt; &lt;span style="color: #339933;"&gt;++&lt;/span&gt;i&lt;span style="color: #339933;"&gt;,&lt;/span&gt; i&lt;span style="color: #339933;"&gt;++,&lt;/span&gt; &lt;span style="color: #339933;"&gt;++&lt;/span&gt;i&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  i &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000dd;"&gt;1&lt;/span&gt;;
  &lt;a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"&gt;&lt;span style="color: #000066;"&gt;printf&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;%d&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; i&lt;span style="color: #339933;"&gt;++&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #339933;"&gt;++&lt;/span&gt;i &lt;span style="color: #339933;"&gt;+&lt;/span&gt; i&lt;span style="color: #339933;"&gt;++&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #339933;"&gt;++&lt;/span&gt;i&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  i &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000dd;"&gt;1&lt;/span&gt;;
  &lt;a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"&gt;&lt;span style="color: #000066;"&gt;printf&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;%d&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;i&lt;span style="color: #339933;"&gt;++&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;++&lt;/span&gt;i&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;i&lt;span style="color: #339933;"&gt;++&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;++&lt;/span&gt;i&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/329" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/tyFVYsUYmx57WHuKu7L1-oGuxKQ/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/tyFVYsUYmx57WHuKu7L1-oGuxKQ/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/dS6okMShpKw" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/329#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/33">Articles</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/34">C</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/67">Java</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/66">Javascript</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/65">Perl</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/68">PHP</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/27">Programming</category>
 <pubDate>Fri, 31 Oct 2008 03:44:52 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">329 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/329</feedburner:origLink></item>
<item>
 <title>C++ Loop Optimization: Part 3: Dynamic List Generation</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/pFex_KJ5icc/328</link>
 <description>&lt;p&gt;I felt like this topic deserved one more article. (See &lt;a href="/node/323"&gt;part 1&lt;/a&gt; and &lt;a href="/node/325"&gt;part 2&lt;/a&gt; for the background.)&lt;/p&gt;
&lt;p&gt;The question was posed, "what if you make the list of integers dynamically generated?"&lt;/p&gt;
&lt;p&gt;So, I came up with this little generator iterator adaptor. It allows you to take any generator function and treat it like a forward iterator:&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;pre class="cpp geshifilter-cpp" style="font-family:monospace;"&gt;&lt;span style="color: #339900;"&gt;#include &amp;lt;iostream&amp;gt;&lt;/span&gt;
&lt;span style="color: #339900;"&gt;#include &amp;lt;algorithm&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #0000ff;"&gt;template&lt;/span&gt;&lt;span style="color: #000080;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;typename&lt;/span&gt; Gen, &lt;span style="color: #0000ff;"&gt;typename&lt;/span&gt; Val, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Size&lt;span style="color: #000080;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; generator_itr
&lt;span style="color: #008000;"&gt;&amp;#123;&lt;/span&gt;
  &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt;&lt;span style="color: #008080;"&gt;:&lt;/span&gt;
    Gen m_g;
    Val m_cur;
    &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; m_iteration;
&amp;nbsp;
  &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #008080;"&gt;:&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/328" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/vY4Zj5SfVKFWf9WatpCWnbKfmdw/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/vY4Zj5SfVKFWf9WatpCWnbKfmdw/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/pFex_KJ5icc" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/328#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/33">Articles</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/31">C++</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/63">Optimization</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/27">Programming</category>
 <pubDate>Fri, 31 Oct 2008 00:25:41 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">328 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/328</feedburner:origLink></item>
<item>
 <title>Pinheads Is Now an Award Winning Game</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/0G2L1Yy6ucg/327</link>
 <description>&lt;p&gt;I thought I would take a moment to mention that &lt;a href="http://game.emptycrate.com/node/30"&gt;Pinheads: Everything You Need&lt;/a&gt; is now an award winning game. Pinheads was the first game created with the &lt;a href="http://emptycrategameengine.googlecode.com"&gt;EmptyCrate Game Engine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="inline inline-center"&gt;&lt;a href="http://game.emptycrate.com/node/30"&gt;&lt;img src="http://blog.emptycrate.com/files/images/pinheads.img_assist_custom.png" alt="Pinheads Screenshot" title="Pinheads Screenshot"  class="image image-img_assist_custom " width="320" height="240" /&gt;&lt;/a&gt;&lt;span class="caption"&gt;&lt;strong&gt;Pinheads Screenshot&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="image-clear"&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/327" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/aX_otrCvcKTy3t-jCSwJg6Ye-s0/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/aX_otrCvcKTy3t-jCSwJg6Ye-s0/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/0G2L1Yy6ucg" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/327#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/59">EmptyCrate Game Engine</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/64">Pinheads</category>
 <pubDate>Wed, 29 Oct 2008 19:16:05 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">327 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/327</feedburner:origLink></item>
<item>
 <title>C++ Loop Optimization: Part 2</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/VW_hDXwOlf8/325</link>
 <description>&lt;p&gt;After the &lt;a href="/node/323"&gt;first article&lt;/a&gt; on loop optimization my cousin pointed out to me that in some cases, tail recursion can actually be &lt;a href="http://ygingras.net/b/2008/4/tail-call-elimination-is-good-in-c-too"&gt;faster&lt;/a&gt; then loops in C with the help of tail recursion elimination. It took several tries to come up with a version that the compiler was able to optimize. I knew I got the version correct when the application stopped segfaulting (I believe it was running out of stack space).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/325" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/AOY02nVb_9y7ZCyhC7riNmRuQRI/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/AOY02nVb_9y7ZCyhC7riNmRuQRI/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/VW_hDXwOlf8" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/325#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/33">Articles</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/31">C++</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/63">Optimization</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/27">Programming</category>
 <pubDate>Tue, 28 Oct 2008 01:57:33 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">325 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/325</feedburner:origLink></item>
<item>
 <title>EmptyCreate Game Engine Release 4</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/hxTddOBf5E4/324</link>
 <description>&lt;p&gt;The &lt;a href="http://emptycrategameengine.googlecode.com"&gt;latest release&lt;/a&gt; of the EmptyCrate Game Engine was made last night. Changes include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;New Iconed pointers which use spacebar to toggle&lt;/li&gt;
&lt;li&gt;Black background and tweaked modal dialogs settings&lt;/li&gt;
&lt;li&gt;Moved inventory to left side to make it fit on an average screen better&lt;/li&gt;
&lt;li&gt;Add mouse-over for item names&lt;/li&gt;
&lt;li&gt;Disabled object glow effect&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As always, check out &lt;a href="http://game.emptycrate.com"&gt;game.emptycrate.com&lt;/a&gt; for examples.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/rVpH3xil6FSFuqprerQS1NHkGiU/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/rVpH3xil6FSFuqprerQS1NHkGiU/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/hxTddOBf5E4" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/324#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/41">Changelog</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/59">EmptyCrate Game Engine</category>
 <pubDate>Mon, 27 Oct 2008 15:54:56 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">324 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/324</feedburner:origLink></item>
<item>
 <title>C++ Loop Optimization</title>
 <link>http://feedproxy.google.com/~r/EmptycrateBlogs/~3/WrIgi8n11oM/323</link>
 <description>&lt;p&gt;I recently had a friend point out to me that your typical loop seen in every day code has minor inefficiencies in it which can add up to a good amount of time being wasted. I agreed with him, so I set out to write an article on how to optimize your C++ loops. &lt;/p&gt;
&lt;p&gt;The results of the research for this article surprised me. I'll first cover the optimization techniques:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.emptycrate.com/node/323" target="_blank"&gt;read more&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/EIF0LsGdZOOA1WdDFegPwgq_-iI/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/EIF0LsGdZOOA1WdDFegPwgq_-iI/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feedproxy.google.com/~r/EmptycrateBlogs/~4/WrIgi8n11oM" height="1" width="1"/&gt;</description>
 <comments>http://blog.emptycrate.com/node/323#comments</comments>
 <category domain="http://blog.emptycrate.com/taxonomy/term/33">Articles</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/31">C++</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/63">Optimization</category>
 <category domain="http://blog.emptycrate.com/taxonomy/term/27">Programming</category>
 <pubDate>Mon, 27 Oct 2008 02:30:44 +0000</pubDate>
 <dc:creator>jason</dc:creator>
 <guid isPermaLink="false">323 at http://blog.emptycrate.com</guid>
<feedburner:origLink>http://blog.emptycrate.com/node/323</feedburner:origLink></item>
</channel>
</rss>
