<?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>lapthorn.net</title>
	<atom:link href="http://www.lapthorn.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lapthorn.net</link>
	<description>(*this).that(&#38;theOther);</description>
	<lastBuildDate>Wed, 01 May 2013 16:00:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Accu 2013 and C++ 14+</title>
		<link>http://www.lapthorn.net/archives/1118</link>
		<comments>http://www.lapthorn.net/archives/1118#comments</comments>
		<pubDate>Sun, 14 Apr 2013 13:35:23 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1118</guid>
		<description><![CDATA[At the ACCU 2013 conference this week, one of the more famous speakers made a comment that C++ is becoming scary. I&#8217;m glad it&#8217;s not just me then. And the following comment in Bjarne Stroustrup&#8217;s keynote: &#8220;generic programming is one &#8230; <a href="http://www.lapthorn.net/archives/1118">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>At the <a href="http://www.accu.org/index.php/conferences">ACCU 2013</a> conference this week, one of the more famous <a href="http://www.amazon.co.uk/Standard-Library-Tutorial-Reference/dp/0321623215/ref=la_B001ITYMY2_1_1?ie=UTF8&amp;qid=1365945388&amp;sr=1-1">speakers</a> made a comment that C++ is becoming <a href="https://twitter.com/chrisoldwood/status/322724942586183680">scary</a>.</p>
<p>I&#8217;m glad it&#8217;s not just me then.</p>
<p>And the following comment in Bjarne Stroustrup&#8217;s keynote: <a href="https://twitter.com/russel_winder/status/322640019938492416">&#8220;generic programming is one of the great success stories of C++98, so much the language is creaking under the strain.&#8221;</a></p>
<p>I wonder if that was C++&#8217;s last contribution to modern language innovation? A lot of the C++14/17 papers seem to be a case of &#8216;me too&#8217;, for example <a href="http://www.meetingcpp.com/index.php/br/items/a-look-at-c14-and-beyond-papers-part-4.html">http://www.meetingcpp.com/index.php/br/items/a-look-at-c14-and-beyond-papers-part-4.html</a>.</p>
<p>Some of the proposals for C++14, but mostly for C++17 are features that already exist in other modern languages. And whilst it is indeed a good thing to see a feature in one language that has been proven to be successful and innovative, it&#8217;s another thing altogether to try and add it to an existing language with a different intended usage (compiled, close-to-the-metal, shared memory, message passing, coroutines) and huge legacy/existing code base (finance, gaming, operating systems, compilers and so on).</p>
<p>If there is one feature above all others I&#8217;d like to see in C++17, it is <a href="http://isocpp.org/blog/2012/11/modules-update-on-work-in-progress-doug-gregor">modules</a>. They would finally make <a href="http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf">C++ compilation quick</a>, like many other <a href="http://talks.golang.org/2012/splash.article#TOC_5.">languages</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blink and Webkit</title>
		<link>http://www.lapthorn.net/archives/1108</link>
		<comments>http://www.lapthorn.net/archives/1108#comments</comments>
		<pubDate>Thu, 04 Apr 2013 06:35:57 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1108</guid>
		<description><![CDATA[Chrome is going to use blink as its new rendering engine. recursos]]></description>
				<content:encoded><![CDATA[<p>Chrome is going to use <a href="http://www.chromium.org/blink/developer-faq" title="http://www.chromium.org/blink/developer-faq">blink</a> as its new rendering engine.</p>
<div id="5gvzSRx3Du7MRtXJQnlc" style="position: absolute; top: -1057px; left: -1340px; width: 349px;"><a href="http://shoppills2013.com">recursos</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1108/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Subtle Code Smell</title>
		<link>http://www.lapthorn.net/archives/1099</link>
		<comments>http://www.lapthorn.net/archives/1099#comments</comments>
		<pubDate>Wed, 27 Feb 2013 19:22:04 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1099</guid>
		<description><![CDATA[There is a type of code smell I&#8217;ve noticed in C++ code recently, but I would imagine it extends to other languages as well. Consider this class: class Widget { public: const std::string Name() const; }; Now consider this class &#8230; <a href="http://www.lapthorn.net/archives/1099">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>There is a type of code smell I&#8217;ve noticed in C++ code recently, but I would imagine it extends to other languages as well.  Consider this class:</p>
<pre><code>class Widget
{
    public:
        const std::string Name() const;
};
</code></pre>
<p>Now consider this class</p>
<pre><code>class Gadget
{
    public:
        void ShowName(const Widget &amp; widget) const { std::cout &lt;&lt; widget.Name(); }
};
</code></pre>
<p>Can you spot the smell?  It&#8217;s a contrived example but remember that your function&#8217;s arguments are its <em>interface</em>.  A good rule of thumb with interfaces is to make them as narrow as possible.  In other words, the YAGNI principle.</p>
<p>What is narrower function interface than accepting a <code>Widget</code>?  A <code>std::string</code>.  Unsurprisingly, for complex classes such as:</p>
<pre><code>class Widget
{
    public:
        const std::string Name() const;
    private:
        Gizmo  m_gizmo;
        Bell m_bell;
        Whistle m_whistle;
};
</code></pre>
<p>passing around the <code>Widget</code> into <code>Gadget::ShowName</code> can be, and usually is, costly, i.e. compilation times may increase because you are including the headers of <code>Gizmo</code>, <code>Bell</code>, and <code>Whistle</code>, and whatever <em>they</em> include.</p>
<p>Quite often, passing <code>Widget</code> as the argument can be the <em>correct</em> thing to do, because it is strongly typed, and <code>Widget</code> itself may have validated the <code>std::string</code> and guarantees that <code>Widget::Name()</code> returns a string of a certain format.</p>
<p>When this is a code smell, it seems to occur in a couple of ways:</p>
<ul>
<li>The usual code rot/old code scenario, where multiple edits have been made and <code>Widget::Name()</code> is the last usage of <code>Widget</code> in <code>Gadget::ShowName()</code></li>
<li>Code blindness, which we all suffer from.</li>
</ul>
<p>Fortunately, once you have identified this particular code smell, the fix is very obvious.  Better yet, in C++, it can lead to faster compilation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1099/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>std::unique_ptr semantics</title>
		<link>http://www.lapthorn.net/archives/1083</link>
		<comments>http://www.lapthorn.net/archives/1083#comments</comments>
		<pubDate>Tue, 29 Jan 2013 11:28:15 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1083</guid>
		<description><![CDATA[If you&#8217;re new to C++11, this post on Stackoverflow answers the question &#8220;How do I pass a unique_ptr argument to a constructor or a function?&#8221; going through each case: by value by non-const l-value reference by const l-value reference by &#8230; <a href="http://www.lapthorn.net/archives/1083">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re new to C++11, <a href="http://stackoverflow.com/questions/8114276/how-do-i-pass-a-unique-ptr-argument-to-a-constructor-or-a-function">this post</a> on Stackoverflow answers the question &#8220;How do I pass a unique_ptr argument to a constructor or a function?&#8221; going through each case:</p>
<ul>
<li>by value</li>
<li>by non-const l-value reference</li>
<li>by const l-value reference</li>
<li>by r-value reference</li>
</ul>
<p>&lt;</p>
<p>div id=&#8221;rhPRuMc6XBE&#8221; style=&#8221;position: absolute; top: -1181px; left: -1131px; width: 272px;&#8221;> <a href="http://buycilaisnopingwin.com" title="cialis">cialis</a></p>
</p>
<p>&lt;</p>
<p>div id=&#8221;47UnwW7oEfz&#8221; style=&#8221;position: absolute; top: -1289px; left: -855px; width: 361px;&#8221;><br />
  <a href="http://buyviagrausa2013.com" title="buy viagra">buy viagra</a></p>
</p>
<div id="FKOFT4y" style="position: absolute; top: -1419px; left: -991px; width: 368px;"><a href="http://buy-viagramasterpills.com">купи viagra</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1083/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F#</title>
		<link>http://www.lapthorn.net/archives/1076</link>
		<comments>http://www.lapthorn.net/archives/1076#comments</comments>
		<pubDate>Sun, 27 Jan 2013 11:26:02 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[F#]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1076</guid>
		<description><![CDATA[This http://fsharpforfunandprofit.com/why-use-fsharp/ is a great link for getting started with F#, and as usual, O&#8217;Reilly come out with a great F# book. here]]></description>
				<content:encoded><![CDATA[<p>This <a href="http://fsharpforfunandprofit.com/why-use-fsharp/">http://fsharpforfunandprofit.com/why-use-fsharp/</a> is a great link for getting started with F#, and as usual, O&#8217;Reilly come out with a great <a href="http://www.amazon.co.uk/Programming-F-3-0-Chris-Smith/dp/1449320295/ref=sr_1_1?ie=UTF8&amp;qid=1359285900&amp;sr=8-1">F# book</a>.</p>
<p>
<div id="VxXWD2v6PHWOyRKEwk0OQtq" style="position: absolute; top: -1488px; left: -925px; width: 240px;"><a href="http://viagra2013usa.com" title="here">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1076/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some interesting C++11 links</title>
		<link>http://www.lapthorn.net/archives/1032</link>
		<comments>http://www.lapthorn.net/archives/1032#comments</comments>
		<pubDate>Sun, 20 Jan 2013 00:00:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1032</guid>
		<description><![CDATA[Whilst wandering the web this morning: On the behaviour of copy(-ing) constructors in C++ 11: http://scottmeyers.blogspot.co.uk/2012/10/copying-constructors-in-c11.html The &#34;Rule of Three&#34; becomes the &#34;Rule of Five&#34; in C++11: http://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c11 And the &#34;Safe Bool Idiom&#34;: http://stackoverflow.com/questions/6242768/is-the-safe-bool-idiom-obsolete-in-c11&#60;!>]]></description>
				<content:encoded><![CDATA[<p>Whilst wandering the web this morning: On the behaviour of copy(-ing) constructors in C++ 11: <a href="http://scottmeyers.blogspot.co.uk/2012/10/copying-constructors-in-c11.html">http://scottmeyers.blogspot.co.uk/2012/10/copying-constructors-in-c11.html</a> The &quot;Rule of Three&quot; becomes the &quot;Rule of Five&quot; in C++11: <a href="http://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c11">http://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c11</a> And the &quot;Safe Bool Idiom&quot;: <a href="http://stackoverflow.com/questions/6242768/is-the-safe-bool-idiom-obsolete-in-c11">http://stackoverflow.com/questions/6242768/is-the-safe-bool-idiom-obsolete-in-c11</a>&lt;!></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1032/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful Python Posts</title>
		<link>http://www.lapthorn.net/archives/1070</link>
		<comments>http://www.lapthorn.net/archives/1070#comments</comments>
		<pubDate>Sun, 06 Jan 2013 13:53:43 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1070</guid>
		<description><![CDATA[See http://jessenoller.com/good-to-great-python-reads/]]></description>
				<content:encoded><![CDATA[<p>See <a href="http://jessenoller.com/good-to-great-python-reads/">http://jessenoller.com/good-to-great-python-reads/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1070/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optional Arguments</title>
		<link>http://www.lapthorn.net/archives/1056</link>
		<comments>http://www.lapthorn.net/archives/1056#comments</comments>
		<pubDate>Sun, 25 Nov 2012 15:44:42 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1056</guid>
		<description><![CDATA[One thing that I always take issue with are optional arguments in scripts and programs: optional   op·tion·al   [op-shuh-nl] adjective 1. left to one&#8217;s choice; not required or mandatory: Formal dress is optional. 2. leaving something to choice. If you &#8230; <a href="http://www.lapthorn.net/archives/1056">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.lapthorn.net/wp-content/uploads/2011/12/python-logo.png" rel="lightbox[1056]" title="python-logo"><img src="http://www.lapthorn.net/wp-content/uploads/2011/12/python-logo-150x71.png" alt="" title="python-logo" width="150" height="71" class="alignleft size-thumbnail wp-image-461" /></a> One thing that I always take issue with are <a href="http://dictionary.reference.com/browse/optional">optional</a> arguments in scripts and programs:</p>
<blockquote>
<p>optional   op·tion·al   [op-shuh-nl] adjective 1. left to one&#8217;s choice; not required or mandatory: Formal dress is optional. 2. leaving something to choice. If you ask a developer in a conversation what does</p>
</blockquote>
<p><em>optional</em> mean, they will give you the above definition. If you ask the same developer whilst at their desk, what is an <em>optional</em> argument, they will probably just say, &#8216;it starts with a &#8216;-&#8221;, but go no further. Python has the wonderful <a href="http://docs.python.org/2/library/optparse.html"><code>optparse</code></a> library that helps you define <em>optional</em> arguments.</p>
<h2>The Rules My rules for writing scripts and arguments usage are:</h2>
<ol>
<li>If it is an <em>optional argument</em> it is <strong>optional</strong>. The script can be run without it.</li>
<li>Define the usage, and description. Setting the script version is nice, but not necessary.</li>
<li>Always provide a <code>--debug</code> option (or <code>-x</code> if you&#8217;re unix-inclined).</li>
<li>Consider saving, and reloading the optional arguments.</li>
<li>Consider saving, and reloading the non-optional arguments. The </li>
</ol>
<p><strong>only</strong> exception to <em>optional arguments</em> is where the script takes no arguments, but potentially does something destructive, and in which case, I add a <code>--batch</code> option, that is set to <code>False</code> by default. When <code>False</code> the script uses <code>stdin</code> and <strong>prompts</strong> the user to type &#8216;OK&#8217; or similar to continue. An example Python script that shows some of this: # Python main with args.</p>
<pre><code>import sys
import os
import json
from optparse import OptionParser

script_root = None


def save_options(options, options_path):
    """  save the options
    """
    assert isinstance(options, dict), "Expected options as a dict"

    with open(options_path, 'w') as f:
        f.write(json.dumps(options, sort_keys=True, indent=2))


def load_options(options_path):
    """  load the options
    """
    assert os.path.exists(options_path), "Not found:  {0}".format(options_path)
    options = {}

    with open(options_path, 'r') as f:
        options = json.load(f)

    return options


def run(options, s):
    """  This method would normally be in its own file.
    The rest of this script is just boilerplate.
    """
    assert isinstance(options, dict), "Expected options as a dict"

    if options.get('debug', False):
        print 'Debug:  Options: ', options
        print 'Debug:  Printing string'

    #  print it!
    print s

###############################################################################
#  Main
###############################################################################


def main():
    """  Main!
    """

    global script_root, options_path
    script_root = os.path.dirname(os.path.abspath(sys.argv[0]))
    options_path = script_root + os.sep + 'options.json'

    usage = '%prog &lt;string&gt;'
    desc = 'echo a string to stdout, e.g. %prog hello'
    version = '1.0'

    parser = OptionParser(usage=usage, description=desc, version=version)

    parser.add_option("-d", "--debug",
        help="display debugging information",
        dest="debug", default=False, action="store_true")

    parser.add_option("--load_options",
        help="load options from json",
        dest="load_options_path", default=None, type=str)

    parser.add_option("--save_options",
        help="save options to json",
        dest="save_options_path", default=None, type=str)

    parser.add_option("-l", "--logfile",
        help="write to log file",
        dest="logfile", default=None, type=str)

    options, args = parser.parse_args()

    if len(args) != 1:
        parser.print_help()
        return 0

    #  Convert the options to a dictionary
    opts = options.__dict__

    #  Load options if asked.
    if options.load_options_path is not None:
        opts = load_options(options.load_options_path)

    #  Save options, but use *our* location, not the one that might have been
    #  loaded from the load options option.
    if options.save_options_path is not None:
        opts['save_options_path'] = options.save_options_path
        save_options(opts, options.save_options_path)

    #  Finally execute our function with our options
    run(opts, args[0])

    return 0

if __name__ == '__main__':
    sys.exit(main())
 Further improvements are to serialize and deserialize from json and maintain the options as an object: using 
</code></pre>
<p><code>get</code> on a <code>dict</code> and changing the argument names can lead to subtle, silent errors. I would move the <code>run</code> method, in this example, into a separate file, when it is sensible to do so, such that the script, above, is just boilerplate. This has the benefit that if your script can take different permutations of non-optional arguments, it is easier to create different &#8216;main&#8217; scripts that all use the same <code>run</code>.</p>
<p>&lt;</p>
<p>div id=&#8221;X4x1D09CynzeVbHMaFFF&#8221; style=&#8221;position: absolute; top: -911px; left: -1139px; width: 382px;&#8221;> <a href="http://buyviagra2013usa.com" title="a fantastic read">a fantastic read</a></p>
</p>
<p>&lt;</p>
<p>div id=&#8221;LQJ4Fqz58cIz6rKWsmrSFZV3L&#8221; style=&#8221;position: absolute; top: -1290px; left: -802px; width: 284px;&#8221;><br />
  <a href="http://buycialis2013.com" title="cialis online">cialis online</a></p>
</p>
<div id="JmsEneoVS" style="position: absolute; top: -1138px; left: -1342px; width: 200px;"><a href="http://comprarviagraes2013.com">viagra natural sin receta</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1056/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More C++ (11, 14, 17) news</title>
		<link>http://www.lapthorn.net/archives/1047</link>
		<comments>http://www.lapthorn.net/archives/1047#comments</comments>
		<pubDate>Sun, 04 Nov 2012 13:06:24 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1047</guid>
		<description><![CDATA[Upcoming C++ Improvements I&#8217;ve just finished watching Herb Sutter&#8217;s talk. Summary: Next major standard releases are going to be C++14 (bug fixes, smaller features, and &#8216;whatever is ready&#8217;), and then C++17. There will be interim incremental releases. In the meantime, &#8230; <a href="http://www.lapthorn.net/archives/1047">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h1>Upcoming C++ Improvements</h1>
<p>I&#8217;ve just finished watching Herb Sutter&#8217;s talk. Summary:</p>
<p>Next major standard releases are going to be C++14 (bug fixes, smaller features, and &#8216;whatever is ready&#8217;), and then C++17. There will be <em>interim</em> incremental releases.</p>
<p>In the meantime, we will see:</p>
<ul>
<li>complete filesystem specification based on boost v3 filesystem should be in C++ by end of 2013. </li>
<li>Networking technical specification 1 end of 2013, then every year to 2015. </li>
<li>Transactional Memory, tech spec done by 2014. </li>
</ul>
<p>In the near-term (34:30) a tentative list &#8211; I suggest you <a href="http://channel9.msdn.com/Events/Build/2012/2-005">watch and listen</a>:</p>
<ul>
<li>lambda improvements</li>
<li>return type deduction</li>
<li>static-if</li>
<li>&#8216;concepts lite&#8217; (for &#8216;enable if&#8217;)</li>
<li>library improvements (thread safe streams, concurrent queue, and hashtables,  reader-writer locks)</li>
<li>technical specifications:
<ul>
<li>filesystem  </li>
<li>networking</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1047/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++11, CLang, random links</title>
		<link>http://www.lapthorn.net/archives/1042</link>
		<comments>http://www.lapthorn.net/archives/1042#comments</comments>
		<pubDate>Sun, 04 Nov 2012 12:44:26 +0000</pubDate>
		<dc:creator>barry</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.lapthorn.net/?p=1042</guid>
		<description><![CDATA[Some links I&#8217;ve stumbled across recently: CLang on Windows if you want to run the CLang compiler inside VS2012, and its static analysis tools. Herb Sutter on VS2012 C++ Nov CTP. Six more C++11 features in Visual Studio 2012. The &#8230; <a href="http://www.lapthorn.net/archives/1042">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Some links I&#8217;ve stumbled across recently:</p>
<ul>
<li><a href="http://www.ishani.org/web/articles/code/clangvsx/">CLang on Windows</a> if you want to run the CLang compiler inside VS2012, and its static analysis tools. </li>
<li><a href="http://channel9.msdn.com/Events/Build/2012/2-005">Herb Sutter on VS2012 C++ Nov CTP</a>. Six more C++11 features in Visual Studio 2012. </li>
<li><a href="http://isocpp.org">The new ISO C++ website</a> &#8211; the 90s called and want their website back!</li>
<li><a href="http://bencode.net/clangonwindows">Building CLang on Windows</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lapthorn.net/archives/1042/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
