<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: Shub Niggurath on Archiving Code</title>
	<atom:link href="http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/</link>
	<description>by Steve McIntyre</description>
	<lastBuildDate>Sat, 18 May 2013 12:05:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: mrsean2k</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257278</link>
		<dc:creator><![CDATA[mrsean2k]]></dc:creator>
		<pubDate>Wed, 02 Mar 2011 17:52:29 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257278</guid>
		<description><![CDATA[&quot;Is it practical?&quot;

Generally speaking? No.


There are two aspects to checking that software is correct in this (and most other) contexts:

1) Whatever it is I&#039;m trying to achieve, is it the right thing to attempt in the first place? (are my requirements understood, is my choice of algorithm suitable?)

2) When I try to achieve it, is my implementation correct and free from errors and unwanted side-effects?


Colossally difficult to achieve even for people who&#039;s business is software development; in the hands of a visiting programmer or dilettante, they are unlikely even to know what they don&#039;t know.

The *best* you can do in this scenario, IMO, is to set standards for development in general when code is part of a submitted paper - formatting, naming, scoping, documentation, methodology, test scripts and results etc. etc.

If the included code does not adhere to the accepted best practice of the language at hand, the paper should be rejected out of hand until the software *does* pass at least this shallow hurdle for quality.


This has a twofold effect:

1) it forces some degree of reflection and adherence to practices that are likely to avoid the most obvious errors

2) it makes the job of anyone deciding to attempt any in-depth analysis for more subtle errors that much easier, by virtue of excluding the donkey work of parsing random awful code.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Is it practical?&#8221;</p>
<p>Generally speaking? No.</p>
<p>There are two aspects to checking that software is correct in this (and most other) contexts:</p>
<p>1) Whatever it is I&#8217;m trying to achieve, is it the right thing to attempt in the first place? (are my requirements understood, is my choice of algorithm suitable?)</p>
<p>2) When I try to achieve it, is my implementation correct and free from errors and unwanted side-effects?</p>
<p>Colossally difficult to achieve even for people who&#8217;s business is software development; in the hands of a visiting programmer or dilettante, they are unlikely even to know what they don&#8217;t know.</p>
<p>The *best* you can do in this scenario, IMO, is to set standards for development in general when code is part of a submitted paper &#8211; formatting, naming, scoping, documentation, methodology, test scripts and results etc. etc.</p>
<p>If the included code does not adhere to the accepted best practice of the language at hand, the paper should be rejected out of hand until the software *does* pass at least this shallow hurdle for quality.</p>
<p>This has a twofold effect:</p>
<p>1) it forces some degree of reflection and adherence to practices that are likely to avoid the most obvious errors</p>
<p>2) it makes the job of anyone deciding to attempt any in-depth analysis for more subtle errors that much easier, by virtue of excluding the donkey work of parsing random awful code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: HaroldW</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257266</link>
		<dc:creator><![CDATA[HaroldW]]></dc:creator>
		<pubDate>Wed, 02 Mar 2011 15:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257266</guid>
		<description><![CDATA[I have to agree with Shub that the reviewers who are most likely to understand the thrust of the paper, and the relationships with other publications, are not likely to be expert in software. The purpose of publishing the code is to show the steps actually taken, rather than a description which is only approximate. Our host can expound at length on algorithmic descriptions which are kinda-sorta correct, but which overlook key implementation details (or which were implemented incorrectly). See http://climatecode.org/blog/2011/03/why-publish-code-a-case-study/ for an example of why kinda-sorta descriptions don&#039;t cut it.

And lest one think that the benefit of code publication is just for those who wish to replicate results, I have to second Steve&#039;s observation that clear, well-organized and well-commented code not only serves the reader, but also the author. It&#039;s common, probably universal, that one doesn&#039;t remember the exact steps even in one&#039;s own program, when one returns to it after an interval of a few months. A lesson I learned long ago.]]></description>
		<content:encoded><![CDATA[<p>I have to agree with Shub that the reviewers who are most likely to understand the thrust of the paper, and the relationships with other publications, are not likely to be expert in software. The purpose of publishing the code is to show the steps actually taken, rather than a description which is only approximate. Our host can expound at length on algorithmic descriptions which are kinda-sorta correct, but which overlook key implementation details (or which were implemented incorrectly). See <a href="http://climatecode.org/blog/2011/03/why-publish-code-a-case-study/" rel="nofollow">http://climatecode.org/blog/2011/03/why-publish-code-a-case-study/</a> for an example of why kinda-sorta descriptions don&#8217;t cut it.</p>
<p>And lest one think that the benefit of code publication is just for those who wish to replicate results, I have to second Steve&#8217;s observation that clear, well-organized and well-commented code not only serves the reader, but also the author. It&#8217;s common, probably universal, that one doesn&#8217;t remember the exact steps even in one&#8217;s own program, when one returns to it after an interval of a few months. A lesson I learned long ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve McIntyre</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257263</link>
		<dc:creator><![CDATA[Steve McIntyre]]></dc:creator>
		<pubDate>Wed, 02 Mar 2011 14:03:54 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257263</guid>
		<description><![CDATA[I, for one, never suggested that reviewers be obligated to check code.   The advantage of archiving code is that it documents all the methodological decisions so that someone seeking to replicate the results can more efficiently reconcile.  From my own experience, archiving code at the time of publishing an article is helpful to the author since it&#039;s all to easy to forget precisely what you did. And to overwrite the version of code that you used to get your results.

In the first code that we archived, I didn&#039;t try to have the code do more than act as documentation. However, it later became clear to me that you could easily archive code that was fully turnkey and that readers were interested in being able to generate results for themselves and that this helped them understand the article.]]></description>
		<content:encoded><![CDATA[<p>I, for one, never suggested that reviewers be obligated to check code.   The advantage of archiving code is that it documents all the methodological decisions so that someone seeking to replicate the results can more efficiently reconcile.  From my own experience, archiving code at the time of publishing an article is helpful to the author since it&#8217;s all to easy to forget precisely what you did. And to overwrite the version of code that you used to get your results.</p>
<p>In the first code that we archived, I didn&#8217;t try to have the code do more than act as documentation. However, it later became clear to me that you could easily archive code that was fully turnkey and that readers were interested in being able to generate results for themselves and that this helped them understand the article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shub Niggurath</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257262</link>
		<dc:creator><![CDATA[Shub Niggurath]]></dc:creator>
		<pubDate>Wed, 02 Mar 2011 13:21:45 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257262</guid>
		<description><![CDATA[ferguson,
Sorry I did not fully address your question.

There are two things here obviously. Is it practical? Is it desirable?

I think Stodden&#039;s point is that, among all the checks for whether the paper&#039;s basic claims are reproducible a reviewer can perform (which I know for a fact they don&#039;t do anyway), checks on whether the coding works, is the easiest. So why not get it done?

But in reality, - many a time - reviewers don&#039;t know to code, can&#039;t be bothered to put in hard work and offer genuine criticism (why should I do the authors&#039; work), eyes glaze over code and data, just want to offer generalized criticism, or more commonly, can recognize bad code when he/she sees it, but doesn&#039;t want to go there too much, because their own coding is exactly as bad. Therefore putting this additional burden on reviewers wont be practical - especially for journals like Nature which want &#039;efficient&#039; reviewers and not nosy people who ask too many questions. Secondly, journals might rightly see this as grunt-work which is properly the realm of the researchers and not theirs and therefore, do not want to take on additional responsibilities. In turn, many strongly feel that this should not be the case - given all the money journals make. See this interview with this researcher at Harvard about the dysfunctional scientific journal market(&lt;a href=&quot;http://scientificdatasharing.com/general/interview-with-stuart-shieber/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;)

The other reason I can think of, as to why getting journals to run code verification is not a good idea is that, it artificially adds another imprimatur of credibility that scientific findings seem to gain just by publication. 

&#039;Published in Nature? That means the code must have been checked. No need to look there then.&#039; or even worse, &#039;We hold Nature partially responsible for this error. They provided a statement of code verification.&#039;]]></description>
		<content:encoded><![CDATA[<p>ferguson,<br />
Sorry I did not fully address your question.</p>
<p>There are two things here obviously. Is it practical? Is it desirable?</p>
<p>I think Stodden&#8217;s point is that, among all the checks for whether the paper&#8217;s basic claims are reproducible a reviewer can perform (which I know for a fact they don&#8217;t do anyway), checks on whether the coding works, is the easiest. So why not get it done?</p>
<p>But in reality, &#8211; many a time &#8211; reviewers don&#8217;t know to code, can&#8217;t be bothered to put in hard work and offer genuine criticism (why should I do the authors&#8217; work), eyes glaze over code and data, just want to offer generalized criticism, or more commonly, can recognize bad code when he/she sees it, but doesn&#8217;t want to go there too much, because their own coding is exactly as bad. Therefore putting this additional burden on reviewers wont be practical &#8211; especially for journals like Nature which want &#8216;efficient&#8217; reviewers and not nosy people who ask too many questions. Secondly, journals might rightly see this as grunt-work which is properly the realm of the researchers and not theirs and therefore, do not want to take on additional responsibilities. In turn, many strongly feel that this should not be the case &#8211; given all the money journals make. See this interview with this researcher at Harvard about the dysfunctional scientific journal market(<a href="http://scientificdatasharing.com/general/interview-with-stuart-shieber/" rel="nofollow">here</a>)</p>
<p>The other reason I can think of, as to why getting journals to run code verification is not a good idea is that, it artificially adds another imprimatur of credibility that scientific findings seem to gain just by publication. </p>
<p>&#8216;Published in Nature? That means the code must have been checked. No need to look there then.&#8217; or even worse, &#8216;We hold Nature partially responsible for this error. They provided a statement of code verification.&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John M</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257231</link>
		<dc:creator><![CDATA[John M]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 23:26:57 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257231</guid>
		<description><![CDATA[&lt;blockquote&gt;If skeptics aren’t able to reproduce results, it just means they aren’t qualified to speak on the science.&lt;/blockquote&gt;

Yup, just like all those skeptics that couldn&#039;t reproduce cold fusion.

BTW, how&#039;d that argument work for Eric Steig and Michael Mann, the &quot;we&#039;re not statisticians&quot; duo?]]></description>
		<content:encoded><![CDATA[<blockquote><p>If skeptics aren’t able to reproduce results, it just means they aren’t qualified to speak on the science.</p></blockquote>
<p>Yup, just like all those skeptics that couldn&#8217;t reproduce cold fusion.</p>
<p>BTW, how&#8217;d that argument work for Eric Steig and Michael Mann, the &#8220;we&#8217;re not statisticians&#8221; duo?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert K. Arnold</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257229</link>
		<dc:creator><![CDATA[Gilbert K. Arnold]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 23:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257229</guid>
		<description><![CDATA[When ever I write code (not very often), I keep in mind the simple phrase: 

&quot;MEATBALL LOGIC, GENERATES SPAGHETTI CODE&quot;... words to live by... 

Perhaps a few climate researchers should  have this tattooed on their foreheads in such a manner that it is readable in the mirror.]]></description>
		<content:encoded><![CDATA[<p>When ever I write code (not very often), I keep in mind the simple phrase: </p>
<p>&#8220;MEATBALL LOGIC, GENERATES SPAGHETTI CODE&#8221;&#8230; words to live by&#8230; </p>
<p>Perhaps a few climate researchers should  have this tattooed on their foreheads in such a manner that it is readable in the mirror.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MikeN</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257224</link>
		<dc:creator><![CDATA[MikeN]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 21:32:04 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257224</guid>
		<description><![CDATA[This is a horrible idea.  Now if an error is made people are less likely to catch it, as they will just be blindly reusing the same code.  Having people write their own code based on the algorithm given is a better idea.
If skeptics aren&#039;t able to reproduce results, it just means they aren&#039;t qualified to speak on the science.]]></description>
		<content:encoded><![CDATA[<p>This is a horrible idea.  Now if an error is made people are less likely to catch it, as they will just be blindly reusing the same code.  Having people write their own code based on the algorithm given is a better idea.<br />
If skeptics aren&#8217;t able to reproduce results, it just means they aren&#8217;t qualified to speak on the science.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig Loehle</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257213</link>
		<dc:creator><![CDATA[Craig Loehle]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 18:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257213</guid>
		<description><![CDATA[Reviewers can not be &quot;expected to&quot; based on most reviews I have gotten (some quite superficial) but some will.  I know a chemist who actually duplicates experiments as part of his review.]]></description>
		<content:encoded><![CDATA[<p>Reviewers can not be &#8220;expected to&#8221; based on most reviews I have gotten (some quite superficial) but some will.  I know a chemist who actually duplicates experiments as part of his review.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: j ferguson</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257208</link>
		<dc:creator><![CDATA[j ferguson]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 16:51:23 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257208</guid>
		<description><![CDATA[add &quot;I&quot; between thought and understood in the comment above.]]></description>
		<content:encoded><![CDATA[<p>add &#8220;I&#8221; between thought and understood in the comment above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: j ferguson</title>
		<link>http://climateaudit.org/2011/02/27/shub-niggurath-on-archiving-code/#comment-257207</link>
		<dc:creator><![CDATA[j ferguson]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 16:50:15 +0000</pubDate>
		<guid isPermaLink="false">http://climateaudit.org/?p=13139#comment-257207</guid>
		<description><![CDATA[Shub,
thank you again.  But let me put it a different way.

Can any reader who is familiar with both the peer-review process and the character of the code we are contemplating comment on whether peer-reviewers can be expected to perform any sort of useful check on the basis that these reviews are presently done.  Is it  too much free work? Would such reviews really detect the aberrations? 

Shub, I thought understood what Dr. Stodden was getting at.  I just wondered if it was practical.]]></description>
		<content:encoded><![CDATA[<p>Shub,<br />
thank you again.  But let me put it a different way.</p>
<p>Can any reader who is familiar with both the peer-review process and the character of the code we are contemplating comment on whether peer-reviewers can be expected to perform any sort of useful check on the basis that these reviews are presently done.  Is it  too much free work? Would such reviews really detect the aberrations? </p>
<p>Shub, I thought understood what Dr. Stodden was getting at.  I just wondered if it was practical.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
