<?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: No more tabs please</title>
	<atom:link href="http://lexecorp.com/2009/07/01/no-more-tabs-please/feed/" rel="self" type="application/rss+xml" />
	<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/</link>
	<description>Technical &#38; Scientific Software</description>
	<lastBuildDate>Fri, 18 Nov 2011 13:21:46 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Alex</title>
		<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/#comment-274</link>
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Sun, 19 Jul 2009 14:19:45 +0000</pubDate>
		<guid isPermaLink="false">http://lexecorp.com/?p=1942#comment-274</guid>
		<description><![CDATA[Hi Steve

maybe you did not spot that this was an &quot;in repository&quot; cleanup. Inside CVS?

So in processing &quot;,v&quot; i.e. RCS files, tabs found can be unrelated to the actual source code (there is the initial node / tree structure before the section with the source)! 

I was also reluctant to assume that a file extension guaranteed matching content, and so I checked for binary tags and such. 

Significantly, in modifying the RCS files directly, one avoided setting off a chain of events that a checkout / checkin of many thousands of source files would cause. 

Oh, it was a one off I wrote for a software house client (with complicated CVS triggers, tagging and release mechanisms)! 

And so the &quot;in situ&quot; fix.
 
The code is a one off and a little messy (just a stream of code until it worked, with on-going client input / changes), plus my brain is rewired by Groovy and Python ;-) 

Actually I agree with your find comments (my code started out doing something different) and suggestion about indent, and maybe they will read this discussion! 

I still used the same routine (minus RCS handling) on what the developers had in their sandboxes (work areas with source checked out) because it guaranteed that the changes outside of the repository would still match exactly what was now inside that CVS repository (hopefully all was correct, but if an error crept in, at least it would match!). 

Does that make the exercise a little more clear? I thought that others just might get such a request and there was no point in my not sharing :-)]]></description>
		<content:encoded><![CDATA[<p>Hi Steve</p>
<p>maybe you did not spot that this was an &#8220;in repository&#8221; cleanup. Inside CVS?</p>
<p>So in processing &#8220;,v&#8221; i.e. RCS files, tabs found can be unrelated to the actual source code (there is the initial node / tree structure before the section with the source)! </p>
<p>I was also reluctant to assume that a file extension guaranteed matching content, and so I checked for binary tags and such. </p>
<p>Significantly, in modifying the RCS files directly, one avoided setting off a chain of events that a checkout / checkin of many thousands of source files would cause. </p>
<p>Oh, it was a one off I wrote for a software house client (with complicated CVS triggers, tagging and release mechanisms)! </p>
<p>And so the &#8220;in situ&#8221; fix.</p>
<p>The code is a one off and a little messy (just a stream of code until it worked, with on-going client input / changes), plus my brain is rewired by Groovy and Python ;-) </p>
<p>Actually I agree with your find comments (my code started out doing something different) and suggestion about indent, and maybe they will read this discussion! </p>
<p>I still used the same routine (minus RCS handling) on what the developers had in their sandboxes (work areas with source checked out) because it guaranteed that the changes outside of the repository would still match exactly what was now inside that CVS repository (hopefully all was correct, but if an error crept in, at least it would match!). </p>
<p>Does that make the exercise a little more clear? I thought that others just might get such a request and there was no point in my not sharing :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Scaffidi</title>
		<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/#comment-273</link>
		<dc:creator><![CDATA[Steve Scaffidi]]></dc:creator>
		<pubDate>Sat, 18 Jul 2009 17:08:02 +0000</pubDate>
		<guid isPermaLink="false">http://lexecorp.com/?p=1942#comment-273</guid>
		<description><![CDATA[Whoops... in that example find command there was some stuff  I put in angle-brackets! Let&#039;s try that again!

# find &lt;code dirs&gt; &lt;find opts&gt; -exec indent &lt;indent opts&gt; \;]]></description>
		<content:encoded><![CDATA[<p>Whoops&#8230; in that example find command there was some stuff  I put in angle-brackets! Let&#8217;s try that again!</p>
<p># find &lt;code dirs&gt; &lt;find opts&gt; -exec indent &lt;indent opts&gt; \;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Scaffidi</title>
		<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/#comment-272</link>
		<dc:creator><![CDATA[Steve Scaffidi]]></dc:creator>
		<pubDate>Sat, 18 Jul 2009 17:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://lexecorp.com/?p=1942#comment-272</guid>
		<description><![CDATA[While I love to see people proud to use Perl, I would strongly recommend that you take a look at the GNU indent utility. If you are running any sort of *nix it should be readily available through your usual package sources. If not, I&#039;m confident it will compile and install from source without issue. If you&#039;re using Windows, it&#039;s already included in Cygwin.

Basically, if your code is all written in C, GNU Indent should readily solve all your code-formatting problems.

Here&#039;s its website: http://www.gnu.org/software/indent/

It is not that unusual for a company to force all files to be re-formatted using the indent program as a CVS/SVN pre-commit hook. In fact, I highly recommend that practice.

Next, get to know the &#039;find&#039; command. I see you&#039;re calling it from your perl code, but I can see from what you&#039;re doing with the results that GNU find can do everything you need *without* the extra processing.

Your final program will be reduced to something like this:

# find &lt;code&gt;  -exec indent  \;

This is a much faster, maintainable, and flexible solution than the program above! This does not in any way belittle your efforts, nor does it call your task trivial... part of becoming a master of these things is learning to do *much* more with less typing, but more thinking.]]></description>
		<content:encoded><![CDATA[<p>While I love to see people proud to use Perl, I would strongly recommend that you take a look at the GNU indent utility. If you are running any sort of *nix it should be readily available through your usual package sources. If not, I&#8217;m confident it will compile and install from source without issue. If you&#8217;re using Windows, it&#8217;s already included in Cygwin.</p>
<p>Basically, if your code is all written in C, GNU Indent should readily solve all your code-formatting problems.</p>
<p>Here&#8217;s its website: <a href="http://www.gnu.org/software/indent/" rel="nofollow">http://www.gnu.org/software/indent/</a></p>
<p>It is not that unusual for a company to force all files to be re-formatted using the indent program as a CVS/SVN pre-commit hook. In fact, I highly recommend that practice.</p>
<p>Next, get to know the &#8216;find&#8217; command. I see you&#8217;re calling it from your perl code, but I can see from what you&#8217;re doing with the results that GNU find can do everything you need *without* the extra processing.</p>
<p>Your final program will be reduced to something like this:</p>
<p># find <code>  -exec indent  \;</p>
<p>This is a much faster, maintainable, and flexible solution than the program above! This does not in any way belittle your efforts, nor does it call your task trivial... part of becoming a master of these things is learning to do *much* more with less typing, but more thinking.</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/#comment-271</link>
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Sat, 18 Jul 2009 13:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://lexecorp.com/?p=1942#comment-271</guid>
		<description><![CDATA[Thanks Alexandr

A little check using that pointer revealed this educational link

http://www.perlmonks.org/?node_id=203941]]></description>
		<content:encoded><![CDATA[<p>Thanks Alexandr</p>
<p>A little check using that pointer revealed this educational link</p>
<p><a href="http://www.perlmonks.org/?node_id=203941" rel="nofollow">http://www.perlmonks.org/?node_id=203941</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexandr Ciornii</title>
		<link>http://lexecorp.com/2009/07/01/no-more-tabs-please/#comment-270</link>
		<dc:creator><![CDATA[Alexandr Ciornii]]></dc:creator>
		<pubDate>Sat, 18 Jul 2009 08:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://lexecorp.com/?p=1942#comment-270</guid>
		<description><![CDATA[Better:
$replace = &#039;  &#039; x $spaces;]]></description>
		<content:encoded><![CDATA[<p>Better:<br />
$replace = &#8216;  &#8216; x $spaces;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

