<?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: The Futility of Commenting Code</title>
	<atom:link href="http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/</link>
	<description>Natural Language Processing and Text Analytics</description>
	<lastBuildDate>Sat, 04 Feb 2012 20:56:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Bob Carpenter</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-14392</link>
		<dc:creator><![CDATA[Bob Carpenter]]></dc:creator>
		<pubDate>Mon, 23 May 2011 16:25:56 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-14392</guid>
		<description><![CDATA[If you go back and read what I wrote, you&#039;ll see that I don&#039;t say &quot;no comments&quot;.  I specifically think API comments are critical for both inter-developer communication and the eventual clients.  I also list a couple reasons why I think comments in code can be useful.

Judging from the abstract of the paper you link (the content&#039;s paywalled), they seem to include API and method comments as well as the in-code comments I was specifically trying to address.

I&#039;m speaking from experience, not hearsay or myth propagation, when I say that comments get stale in almost every piece of code I see. For instance, another message that arrived in my e-mail today is about the API drift and stale comments in the API doc for the C++ Matrix library Eigen.  Last week, I sent the Eigen developers comments about stale abstract base class doc in an obscure corner of their API.  I&#039;m not picking on Eigen, which is a great lib and very well documented and testedl.  The point is that I had to dig into the code to see how to extend a virtual class properly to act as a template arg.]]></description>
		<content:encoded><![CDATA[<p>If you go back and read what I wrote, you&#8217;ll see that I don&#8217;t say &#8220;no comments&#8221;.  I specifically think API comments are critical for both inter-developer communication and the eventual clients.  I also list a couple reasons why I think comments in code can be useful.</p>
<p>Judging from the abstract of the paper you link (the content&#8217;s paywalled), they seem to include API and method comments as well as the in-code comments I was specifically trying to address.</p>
<p>I&#8217;m speaking from experience, not hearsay or myth propagation, when I say that comments get stale in almost every piece of code I see. For instance, another message that arrived in my e-mail today is about the API drift and stale comments in the API doc for the C++ Matrix library Eigen.  Last week, I sent the Eigen developers comments about stale abstract base class doc in an obscure corner of their API.  I&#8217;m not picking on Eigen, which is a great lib and very well documented and testedl.  The point is that I had to dig into the code to see how to extend a virtual class properly to act as a template arg.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-14372</link>
		<dc:creator><![CDATA[Eric]]></dc:creator>
		<pubDate>Sun, 22 May 2011 02:45:16 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-14372</guid>
		<description><![CDATA[Hog Wash!

We don&#039;t live in a perfect world where everything is immediately clear; we don&#039;t live in a perfect world where every programmer on a team actually cares or has the ability to write crystal clear code; we don&#039;t live in a perfect world where every bit of code we write will be so clear that it documents itself.  We don&#039;t have perfect memories that never forget what we were doing the day before or why we chose a certain method of doing something over another. Comments help with this!

The that gets me is that the people saying &#039;no comments&#039; haven&#039;t done any real research into the topic. For example, what state is your mind in when reading code (i.e. variable names and unit test)? What state is your mind in when reading natural language? Which do you comprehend more easily? I know that when I read code my mind isn&#039;t in the same state as when I read natural language prose. Also, research (REAL LIVE RESEARCH -- novel isn&#039;t it) indicates that programmers are pretty good at updating comments when code changes. 

http://portal.acm.org/citation.cfm?id=1339530


Could we stop propagating this lie please?]]></description>
		<content:encoded><![CDATA[<p>Hog Wash!</p>
<p>We don&#8217;t live in a perfect world where everything is immediately clear; we don&#8217;t live in a perfect world where every programmer on a team actually cares or has the ability to write crystal clear code; we don&#8217;t live in a perfect world where every bit of code we write will be so clear that it documents itself.  We don&#8217;t have perfect memories that never forget what we were doing the day before or why we chose a certain method of doing something over another. Comments help with this!</p>
<p>The that gets me is that the people saying &#8216;no comments&#8217; haven&#8217;t done any real research into the topic. For example, what state is your mind in when reading code (i.e. variable names and unit test)? What state is your mind in when reading natural language? Which do you comprehend more easily? I know that when I read code my mind isn&#8217;t in the same state as when I read natural language prose. Also, research (REAL LIVE RESEARCH &#8212; novel isn&#8217;t it) indicates that programmers are pretty good at updating comments when code changes. </p>
<p><a href="http://portal.acm.org/citation.cfm?id=1339530" rel="nofollow">http://portal.acm.org/citation.cfm?id=1339530</a></p>
<p>Could we stop propagating this lie please?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gene Golovchinsky</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5862</link>
		<dc:creator><![CDATA[Gene Golovchinsky]]></dc:creator>
		<pubDate>Mon, 23 Nov 2009 04:10:44 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5862</guid>
		<description><![CDATA[Real programmers don&#039;t comment their code. If it was hard to write, it should be hard to understand :-)]]></description>
		<content:encoded><![CDATA[<p>Real programmers don&#8217;t comment their code. If it was hard to write, it should be hard to understand :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daily Digest for October 28th</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5741</link>
		<dc:creator><![CDATA[Daily Digest for October 28th]]></dc:creator>
		<pubDate>Wed, 28 Oct 2009 06:36:19 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5741</guid>
		<description><![CDATA[[...] Shared The Futility of Commenting Code « LingPipe Blog. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Shared The Futility of Commenting Code « LingPipe Blog. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5739</link>
		<dc:creator><![CDATA[Michael]]></dc:creator>
		<pubDate>Tue, 27 Oct 2009 23:10:33 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5739</guid>
		<description><![CDATA[I routinely write multi-paragraph comment blocks (&gt;100 lines) to explain the math behind some intricate C code (talking about scientific/numerical code).  These would typically appear at the head of a function implementing the idea.  Then the within-code comments can be kept to a manageable level. 

I&#039;ve never had second thoughts about this.  As I&#039;ve spent more time programming, these comment blocks have become more typical of code I write.

For the easy stuff, I agree, better to restrict to API comments, gotchas, loop invariants -- key bits.]]></description>
		<content:encoded><![CDATA[<p>I routinely write multi-paragraph comment blocks (&gt;100 lines) to explain the math behind some intricate C code (talking about scientific/numerical code).  These would typically appear at the head of a function implementing the idea.  Then the within-code comments can be kept to a manageable level. </p>
<p>I&#8217;ve never had second thoughts about this.  As I&#8217;ve spent more time programming, these comment blocks have become more typical of code I write.</p>
<p>For the easy stuff, I agree, better to restrict to API comments, gotchas, loop invariants &#8212; key bits.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Helltime for October 19 &#171; I Built His Cage</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5682</link>
		<dc:creator><![CDATA[Helltime for October 19 &#171; I Built His Cage]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 23:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5682</guid>
		<description><![CDATA[[...] something called The LingPipe Blog comes the futility of writing comments. It&#8217;s an old, oft-repeated-but-hardly-followed rule: comments are a code smell. But like all [...]]]></description>
		<content:encoded><![CDATA[<p>[...] something called The LingPipe Blog comes the futility of writing comments. It&#8217;s an old, oft-repeated-but-hardly-followed rule: comments are a code smell. But like all [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David R. MacIver</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5680</link>
		<dc:creator><![CDATA[David R. MacIver]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 20:09:32 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5680</guid>
		<description><![CDATA[I disagree. It doesn&#039;t matter if you define your parameters: You still need to comment as to why they have that value. 

Suppose I want to ignore all objects that have some attribute smaller than a particular value

if (foo.stuff &lt; 3)
   ignore(foo);

I can rewrite this to

val StuffThreshold = 3;

if(foo.stuff &lt; StuffThreshold)
   ignore(foo);

or

def isBad(foo : Foo) = foo.stuff &lt; StuffThreshold

if(isBad(foo))
   ignore(foo);

You could argue that this is more clear. I don&#039;t particularly think it is, but I don&#039;t care to have that argument. Either way it&#039;s certainly not done anything to enlighten us about why the value &quot;3&quot; was chosen, and for good reason: It was derived experimentally. 

Your argument presupposes exactly the reason why it is wrong: Not all values have &quot;meaning&quot; other than &quot;this is the value that works&quot;. Comments which explain what happens when you twiddle these values and why this particular one has been chosen. Factoring out this supposedly &quot;unclear&quot; code has done nothing except go to great lengths to elucidate the bit that was obvious (what the code was doing) and nothing to explain the process by which it was arrived at.]]></description>
		<content:encoded><![CDATA[<p>I disagree. It doesn&#8217;t matter if you define your parameters: You still need to comment as to why they have that value. </p>
<p>Suppose I want to ignore all objects that have some attribute smaller than a particular value</p>
<p>if (foo.stuff &lt; 3)<br />
   ignore(foo);</p>
<p>I can rewrite this to</p>
<p>val StuffThreshold = 3;</p>
<p>if(foo.stuff &lt; StuffThreshold)<br />
   ignore(foo);</p>
<p>or</p>
<p>def isBad(foo : Foo) = foo.stuff &lt; StuffThreshold</p>
<p>if(isBad(foo))<br />
   ignore(foo);</p>
<p>You could argue that this is more clear. I don&#039;t particularly think it is, but I don&#039;t care to have that argument. Either way it&#039;s certainly not done anything to enlighten us about why the value &quot;3&quot; was chosen, and for good reason: It was derived experimentally. </p>
<p>Your argument presupposes exactly the reason why it is wrong: Not all values have &quot;meaning&quot; other than &quot;this is the value that works&quot;. Comments which explain what happens when you twiddle these values and why this particular one has been chosen. Factoring out this supposedly &quot;unclear&quot; code has done nothing except go to great lengths to elucidate the bit that was obvious (what the code was doing) and nothing to explain the process by which it was arrived at.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lingpipe</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5679</link>
		<dc:creator><![CDATA[lingpipe]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 19:57:02 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5679</guid>
		<description><![CDATA[@Daniel Marbach: Thanks for the repost.

I didnt&#039; realize this was a recurring theme on developer blogs, but I wouldn&#039;t be surprised.

Just to be clear, I didn&#039;t mean to imply that method names can&#039;t lie.  I meant the code itself can&#039;t lie.  You have to be just as suspicious of method names as comments.

Also, I&#039;m all in favor of documenting intent.  I&#039;m pretty sure we&#039;d all agree that the main intent of a package, class or method should be documented in the API.  

So what about really tricky bits of code that aren&#039;t clear (and either can&#039;t be refactored due to efficiency/modularity, or aren&#039;t worth refactoring)?  By all means, comment away.  

I didn&#039;t mean to imply that code shouldn&#039;t be commented at all!  Maybe it was the marketing department&#039;s provocative title?

I actually think the code that Sun distributes with the JDK for most of the public classes in Java is a good example.  You&#039;ll find very few comments in there.  Now having said that, I&#039;m actually seeing many more in java.util.ArrayList than I remember seeing anywhere else.  Ditto for java.lang.String.  Many more than I&#039;d likely use, but nothing of the silly or completely useless variety.  On the other hand, java.lang.Math has all sorts of comments on delegation that fall into what I&#039;d consider the totally useless category:

&lt;pre style=&quot;font-size:125%;&quot;&gt;
public static double pow(double a, double b) {
    // default impl. delegates to StrictMath
    return StrictMath.pow(a, b); 
}
&lt;/pre&gt;]]></description>
		<content:encoded><![CDATA[<p>@Daniel Marbach: Thanks for the repost.</p>
<p>I didnt&#8217; realize this was a recurring theme on developer blogs, but I wouldn&#8217;t be surprised.</p>
<p>Just to be clear, I didn&#8217;t mean to imply that method names can&#8217;t lie.  I meant the code itself can&#8217;t lie.  You have to be just as suspicious of method names as comments.</p>
<p>Also, I&#8217;m all in favor of documenting intent.  I&#8217;m pretty sure we&#8217;d all agree that the main intent of a package, class or method should be documented in the API.  </p>
<p>So what about really tricky bits of code that aren&#8217;t clear (and either can&#8217;t be refactored due to efficiency/modularity, or aren&#8217;t worth refactoring)?  By all means, comment away.  </p>
<p>I didn&#8217;t mean to imply that code shouldn&#8217;t be commented at all!  Maybe it was the marketing department&#8217;s provocative title?</p>
<p>I actually think the code that Sun distributes with the JDK for most of the public classes in Java is a good example.  You&#8217;ll find very few comments in there.  Now having said that, I&#8217;m actually seeing many more in java.util.ArrayList than I remember seeing anywhere else.  Ditto for java.lang.String.  Many more than I&#8217;d likely use, but nothing of the silly or completely useless variety.  On the other hand, java.lang.Math has all sorts of comments on delegation that fall into what I&#8217;d consider the totally useless category:</p>
<pre style="font-size:125%;">
public static double pow(double a, double b) {
    // default impl. delegates to StrictMath
    return StrictMath.pow(a, b);
}
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Marbach</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5678</link>
		<dc:creator><![CDATA[Daniel Marbach]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 19:43:02 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5678</guid>
		<description><![CDATA[Interesting I just visited the blog 30 minutes ago and it was there...

Here is the comment he made on the blog:

I fired up the RSS reader this morning and spotted a real gem, &quot;The Futility of Commenting Code&quot;. By &quot;gem&quot;, I mean a piece of dirt that has been buried for a damn long time. OK, it hasn&#039;t been buried yet but it should be.

Every month or two, if you subscribe to DZone feeds, you will see a blog post or article that explains why you shouldn&#039;t comment your code. This post was one of them but they all need to be refuted. My irritation at this recurring theme has led me to be a refuter via this blog. I could have commented on the OP but I reckon this rant may last a while.

Let&#039;s take it from the top...

    Professional coders don’t comment their own code much and never trust the comments of others they find in code. Instead, we try to learn to read code and write more readable code.


I never get the read-the-code argument. Code that others wrote, and probably code you wrote yourself twelve months ago, can be hard to read. Other people have different styles to you. I like short, well-named methods. It means that what some developers might code in a twenty line method I may put into four five liners or five four-liners. Now, when Mr Maintenance-Programmer looks at my code I hope he finds it easy to read and specifically, to understand the intent. However, he didn&#039;t spend months working with ABC plc and doesn&#039;t understand the inner workings of project accounting so maybe he doesn&#039;t get it. He could spend five mintes reading the code (or perhaps a lot longer in a large codebase), following the possible flow of control of multiple methods and struggling with the rule of seven. He could also read a one-line succinct comment and realise that that this isn&#039;t the code he is looking for.

    The reason to be very suspicious of code comments is that they can lie. The code is what’s executed, so it can’t lie.


Wanna bet? I&#039;ve seen plenty of code that isn&#039;t maintained properly that lies. Sometimes when the pressure is on and potential lawsuits are building, management insist on quick fixes. That often means that that wonderfully-named method now does something that really belongs elsewhere. Of course, when you are doing quick-and-dirty fixes you could edit a hundred methods. When you come back and refactor ninety-eight of them you are left with method names that lie. Yes comments can lie too, but only if you treat them as second-class citizens. Maintain your code, maintain your comments. Problem solved.

    Another common reason is that the code author didn’t actually understand what the code was doing, so wrote comments that were wrong.


Maybe if you had commented that code he wouldn&#039;t have had to read and misunderstand it.

    The worst offenses in the useless category are things that simply repeat what the code says.


Ah yes, good old // Set i to 3. Personally I have never seen such an inane comment in production code. If I did, I would remove it and talk with the developer who put it there in the first place (unless he has resigned and gone off to pursue his gardening passion). This is a straw man argument, not a sensible one. Comments are suppose to tell you the intent of the programmer - something often not present and maybe impossible to express in the code. Or maybe to tell you why that apparently inefficient code is good because it avoids a framework bug (and which version of the framework because maybe it&#039;s been fixed now).

    Eliminate, don’t Comment Out, Dead Code


Good point, though sometimes leaving the dead (or maybe still twitching) code in there can be useful. At least until you have the new code living breathing and tested to within an inch of its life. Then stamp on the old stuff and hit Del before your next check-in.

This all feels a little bit like the wrong type of laziness. Some laziness is good. It&#039;s the reason we have cars, planes, ships and bad air quality. OK, perhaps the air quality argument is a tricky one to win. Bad laziness means that software isn&#039;t documented, there isn&#039;t a help file, the code isn&#039;t well-structured and is hard to read and uncommented. You just need to treat comments as a part of the source code and ensure you update them. If, like me, you have short methods, it&#039;s not even as if the comments are off the screen so get missed.

So why did I write all this?

Some programmers are very vocal in their expression that comments are bad and shouldn&#039;t exist at all. They probably really mean that most comments are a waste but some are good. Even the author of the OP mentions that he does comment occasionally. Bad comments are as bad as bad code. Good comments improve the code and increase efficiency. This topic is not, at some would reason, black and white.]]></description>
		<content:encoded><![CDATA[<p>Interesting I just visited the blog 30 minutes ago and it was there&#8230;</p>
<p>Here is the comment he made on the blog:</p>
<p>I fired up the RSS reader this morning and spotted a real gem, &#8220;The Futility of Commenting Code&#8221;. By &#8220;gem&#8221;, I mean a piece of dirt that has been buried for a damn long time. OK, it hasn&#8217;t been buried yet but it should be.</p>
<p>Every month or two, if you subscribe to DZone feeds, you will see a blog post or article that explains why you shouldn&#8217;t comment your code. This post was one of them but they all need to be refuted. My irritation at this recurring theme has led me to be a refuter via this blog. I could have commented on the OP but I reckon this rant may last a while.</p>
<p>Let&#8217;s take it from the top&#8230;</p>
<p>    Professional coders don’t comment their own code much and never trust the comments of others they find in code. Instead, we try to learn to read code and write more readable code.</p>
<p>I never get the read-the-code argument. Code that others wrote, and probably code you wrote yourself twelve months ago, can be hard to read. Other people have different styles to you. I like short, well-named methods. It means that what some developers might code in a twenty line method I may put into four five liners or five four-liners. Now, when Mr Maintenance-Programmer looks at my code I hope he finds it easy to read and specifically, to understand the intent. However, he didn&#8217;t spend months working with ABC plc and doesn&#8217;t understand the inner workings of project accounting so maybe he doesn&#8217;t get it. He could spend five mintes reading the code (or perhaps a lot longer in a large codebase), following the possible flow of control of multiple methods and struggling with the rule of seven. He could also read a one-line succinct comment and realise that that this isn&#8217;t the code he is looking for.</p>
<p>    The reason to be very suspicious of code comments is that they can lie. The code is what’s executed, so it can’t lie.</p>
<p>Wanna bet? I&#8217;ve seen plenty of code that isn&#8217;t maintained properly that lies. Sometimes when the pressure is on and potential lawsuits are building, management insist on quick fixes. That often means that that wonderfully-named method now does something that really belongs elsewhere. Of course, when you are doing quick-and-dirty fixes you could edit a hundred methods. When you come back and refactor ninety-eight of them you are left with method names that lie. Yes comments can lie too, but only if you treat them as second-class citizens. Maintain your code, maintain your comments. Problem solved.</p>
<p>    Another common reason is that the code author didn’t actually understand what the code was doing, so wrote comments that were wrong.</p>
<p>Maybe if you had commented that code he wouldn&#8217;t have had to read and misunderstand it.</p>
<p>    The worst offenses in the useless category are things that simply repeat what the code says.</p>
<p>Ah yes, good old // Set i to 3. Personally I have never seen such an inane comment in production code. If I did, I would remove it and talk with the developer who put it there in the first place (unless he has resigned and gone off to pursue his gardening passion). This is a straw man argument, not a sensible one. Comments are suppose to tell you the intent of the programmer &#8211; something often not present and maybe impossible to express in the code. Or maybe to tell you why that apparently inefficient code is good because it avoids a framework bug (and which version of the framework because maybe it&#8217;s been fixed now).</p>
<p>    Eliminate, don’t Comment Out, Dead Code</p>
<p>Good point, though sometimes leaving the dead (or maybe still twitching) code in there can be useful. At least until you have the new code living breathing and tested to within an inch of its life. Then stamp on the old stuff and hit Del before your next check-in.</p>
<p>This all feels a little bit like the wrong type of laziness. Some laziness is good. It&#8217;s the reason we have cars, planes, ships and bad air quality. OK, perhaps the air quality argument is a tricky one to win. Bad laziness means that software isn&#8217;t documented, there isn&#8217;t a help file, the code isn&#8217;t well-structured and is hard to read and uncommented. You just need to treat comments as a part of the source code and ensure you update them. If, like me, you have short methods, it&#8217;s not even as if the comments are off the screen so get missed.</p>
<p>So why did I write all this?</p>
<p>Some programmers are very vocal in their expression that comments are bad and shouldn&#8217;t exist at all. They probably really mean that most comments are a waste but some are good. Even the author of the OP mentions that he does comment occasionally. Bad comments are as bad as bad code. Good comments improve the code and increase efficiency. This topic is not, at some would reason, black and white.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lingpipe</title>
		<link>http://lingpipe-blog.com/2009/10/15/the-futility-of-commenting-code/#comment-5677</link>
		<dc:creator><![CDATA[lingpipe]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 19:39:24 +0000</pubDate>
		<guid isPermaLink="false">http://lingpipe-blog.com/?p=2808#comment-5677</guid>
		<description><![CDATA[Speaking of futility, that link&#039;s broken and the blog doesn&#039;t exist.  Maybe a permissions problem?]]></description>
		<content:encoded><![CDATA[<p>Speaking of futility, that link&#8217;s broken and the blog doesn&#8217;t exist.  Maybe a permissions problem?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

