<?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/"
		>
<channel>
	<title>Comments on: An Open Letter to Linux Format</title>
	<atom:link href="http://perlhacks.com/2011/04/an-open-letter-to-linux-format/feed/" rel="self" type="application/rss+xml" />
	<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/</link>
	<description>Just another Perl Hacker&#039;s blog</description>
	<lastBuildDate>Fri, 07 Dec 2012 13:29:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
	<item>
		<title>By: Nate Glenn</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-6921</link>
		<dc:creator>Nate Glenn</dc:creator>
		<pubDate>Sun, 02 Dec 2012 07:30:04 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-6921</guid>
		<description><![CDATA[Honestly, I can&#039;t tell that the English phrases you list are bad (must not be enough context). The Perl, though, is definitely gross. I reminds me of reading scripts that my professors write; always a blast from the past! I sometimes learn new things reading old scripts, but the reason they are new to me is because the community buried them long ago. 
One specific thing I notice is the line my &quot;$PIC_NAME;my $CAPTION; my $PRICE;&quot;.
Was there ever a time when you couldn&#039;t pass &quot;my&quot; a list? &quot;my ($pic_name, $caption, $price)&quot; is much cleaner in my opinion.]]></description>
		<content:encoded><![CDATA[<p>Honestly, I can&#8217;t tell that the English phrases you list are bad (must not be enough context). The Perl, though, is definitely gross. I reminds me of reading scripts that my professors write; always a blast from the past! I sometimes learn new things reading old scripts, but the reason they are new to me is because the community buried them long ago.<br />
One specific thing I notice is the line my &#8220;$PIC_NAME;my $CAPTION; my $PRICE;&#8221;.<br />
Was there ever a time when you couldn&#8217;t pass &#8220;my&#8221; a list? &#8220;my ($pic_name, $caption, $price)&#8221; is much cleaner in my opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Modern Perl in Linux Format &#8211; Perl Hacks</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2880</link>
		<dc:creator>Modern Perl in Linux Format &#8211; Perl Hacks</dc:creator>
		<pubDate>Sat, 15 Oct 2011 21:12:05 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2880</guid>
		<description><![CDATA[[...] Perl in Linux Format  A couple of times, I&#8217;ve complained here about the standard of Perl articles in the British magazine Linux [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Perl in Linux Format  A couple of times, I&#8217;ve complained here about the standard of Perl articles in the British magazine Linux [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brock Wilcox</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2688</link>
		<dc:creator>Brock Wilcox</dc:creator>
		<pubDate>Tue, 26 Apr 2011 14:31:20 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2688</guid>
		<description><![CDATA[I agree. The trick there is that it is actually wanting a slightly larger refactor -- the loop index is being used in ways that I didn&#039;t bother exploring. I was also thinking a better parametrized &#039;main&#039; sub would clear up the rest of those globals. The original had some global-usage bugs -- for example DRAW_BORDER_ADD_CAPTIONS sub took in $BC and $BP (caption and price) parameters, but actually used the globals.

... I also didn&#039;t actually _test_ my changes :) . Bad Brock.]]></description>
		<content:encoded><![CDATA[<p>I agree. The trick there is that it is actually wanting a slightly larger refactor &#8212; the loop index is being used in ways that I didn&#8217;t bother exploring. I was also thinking a better parametrized &#8216;main&#8217; sub would clear up the rest of those globals. The original had some global-usage bugs &#8212; for example DRAW_BORDER_ADD_CAPTIONS sub took in $BC and $BP (caption and price) parameters, but actually used the globals.</p>
<p>&#8230; I also didn&#8217;t actually _test_ my changes <img src='http://perlhacks.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Bad Brock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cross</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2687</link>
		<dc:creator>Dave Cross</dc:creator>
		<pubDate>Tue, 26 Apr 2011 08:35:34 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2687</guid>
		<description><![CDATA[A good start. But you missed the obvious improvement of replacing the C-style for loop with a foreach.

I&#039;ll take a stab at it later today.]]></description>
		<content:encoded><![CDATA[<p>A good start. But you missed the obvious improvement of replacing the C-style for loop with a foreach.</p>
<p>I&#8217;ll take a stab at it later today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brock Wilcox</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2685</link>
		<dc:creator>Brock Wilcox</dc:creator>
		<pubDate>Mon, 25 Apr 2011 19:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2685</guid>
		<description><![CDATA[So are we going to do this, or what?

Here is my first pass: https://gist.github.com/941066

Feel free to fork and improve!]]></description>
		<content:encoded><![CDATA[<p>So are we going to do this, or what?</p>
<p>Here is my first pass: <a href="https://gist.github.com/941066" rel="nofollow">https://gist.github.com/941066</a></p>
<p>Feel free to fork and improve!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Walde</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2684</link>
		<dc:creator>Christian Walde</dc:creator>
		<pubDate>Mon, 25 Apr 2011 18:35:27 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2684</guid>
		<description><![CDATA[&gt; That’s great. I mean it. I wish that this happened every time I write a tutorial. I AM happy if what I write stimulates both novices to look for more in depth resources to learn more, AND experts to provide better, more complete resources specifically aimed at those novices.

You should like the perl community then. Post any piece of code or article you might want to publicize on reddit and/or perlmonks first and you *will* get a plethora of improvement inputs, as well as one or two rewrites if you ask for it. :) (The only reason it doesn&#039;t happen more often is because often writers think their example code is perfect as is and react offended even to the most well-meaning advice.)]]></description>
		<content:encoded><![CDATA[<p>&gt; That’s great. I mean it. I wish that this happened every time I write a tutorial. I AM happy if what I write stimulates both novices to look for more in depth resources to learn more, AND experts to provide better, more complete resources specifically aimed at those novices.</p>
<p>You should like the perl community then. Post any piece of code or article you might want to publicize on reddit and/or perlmonks first and you *will* get a plethora of improvement inputs, as well as one or two rewrites if you ask for it. <img src='http://perlhacks.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (The only reason it doesn&#8217;t happen more often is because often writers think their example code is perfect as is and react offended even to the most well-meaning advice.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: M. Fioretti</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2683</link>
		<dc:creator>M. Fioretti</dc:creator>
		<pubDate>Mon, 25 Apr 2011 15:12:03 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2683</guid>
		<description><![CDATA[Dave,
you wrote:

&quot;you seem to think that writing modern Perl would have a) made this article harder to write and b) made it harder for the readers to follow.&quot;

but I have explicitly said in my first comment:

&quot;Given the deadline, my solution was to explain in detail, among the many scripts I’ve written for myself in the last years, one that produced interesting figures and contained examples of as many different Perl features as possible.&quot;

I thought the statement above was clear enough, but if it isn&#039;t I&#039;ll now try to say the same thing in another way. What I thought and still think is this: there is no doubt that, at the end of the day, &quot;modern Perl&quot; code would have been at least equally easy, for the reader to understand. However, there is also no doubt that writing the article in that way WOULD have been harder (as in &quot;requiring more time than doing as I did&quot;, not as in &quot;more intrinsically difficult&quot;) for me under the existing constraints, which made me very unwilling to modify any code. I only had time to reuse as is existing working code as a basis for an explanation. And when writing for a paper magazine, space and time constraints are badly linked. You can&#039;t do as M. Twain wrote: &quot;I didn&#039;t have time to write a short letter, so I wrote a long one instead.&quot; I had almost no time, and I realized from my experience that I could only meet the deadline by leaving the code as is and trimming the explanation until it fit in the available, fixed space. That&#039;s it, really.

Since I did NOT &quot;sold&quot; the result as the best Perl possible solution and explicitly warned as much as I could about its limits (1), I remain pretty happy with the result, and hope you and your readers will keep all this in mind.

The last statement refers to this other thing you wrote:

&quot;I maintain that a solution written using modern Perl techniques would have been shorter and easier for the beginner to understand. At some point over the next couple of days I plan to rewrite your program using the techniques I’m talking about to demonstrate exactly what I’m talking about.&quot;

That&#039;s great. I mean it. I wish that this happened every time I write a tutorial. I AM happy if what I write stimulates both novices to look for more in depth resources to learn more, AND experts to provide better, more complete resources specifically aimed at those novices. A lot of the problems with all FOSS (not just Perl) today come from the fact that the experts community doesn&#039;t interact enough with everybody else.

(1) This and my previous comment in this thread do little more than explain all I actually meant and had in mind when I wrote in the article &quot;This script is *not* the best solution for the problem it wanted to solve...&quot;

It took me less than one hour to write these two comments in this form, yet they amount to 1305 words. That&#039;s almost 2 FULL pages of Linux Format, as you can read in the specs at http://www.linuxformat.co.uk/writers/index.php/Four-page_tutorial.

If I had had to tweak these same concepts to make all of them appear explicitly in the same space, together with the code and its explanation, it would have taken quite a few days. (to me, at least). Modernizing the code would have taken much less time, of course, but still more than I considered safe to spend, given the deadline.]]></description>
		<content:encoded><![CDATA[<p>Dave,<br />
you wrote:</p>
<p>&#8220;you seem to think that writing modern Perl would have a) made this article harder to write and b) made it harder for the readers to follow.&#8221;</p>
<p>but I have explicitly said in my first comment:</p>
<p>&#8220;Given the deadline, my solution was to explain in detail, among the many scripts I’ve written for myself in the last years, one that produced interesting figures and contained examples of as many different Perl features as possible.&#8221;</p>
<p>I thought the statement above was clear enough, but if it isn&#8217;t I&#8217;ll now try to say the same thing in another way. What I thought and still think is this: there is no doubt that, at the end of the day, &#8220;modern Perl&#8221; code would have been at least equally easy, for the reader to understand. However, there is also no doubt that writing the article in that way WOULD have been harder (as in &#8220;requiring more time than doing as I did&#8221;, not as in &#8220;more intrinsically difficult&#8221;) for me under the existing constraints, which made me very unwilling to modify any code. I only had time to reuse as is existing working code as a basis for an explanation. And when writing for a paper magazine, space and time constraints are badly linked. You can&#8217;t do as M. Twain wrote: &#8220;I didn&#8217;t have time to write a short letter, so I wrote a long one instead.&#8221; I had almost no time, and I realized from my experience that I could only meet the deadline by leaving the code as is and trimming the explanation until it fit in the available, fixed space. That&#8217;s it, really.</p>
<p>Since I did NOT &#8220;sold&#8221; the result as the best Perl possible solution and explicitly warned as much as I could about its limits (1), I remain pretty happy with the result, and hope you and your readers will keep all this in mind.</p>
<p>The last statement refers to this other thing you wrote:</p>
<p>&#8220;I maintain that a solution written using modern Perl techniques would have been shorter and easier for the beginner to understand. At some point over the next couple of days I plan to rewrite your program using the techniques I’m talking about to demonstrate exactly what I’m talking about.&#8221;</p>
<p>That&#8217;s great. I mean it. I wish that this happened every time I write a tutorial. I AM happy if what I write stimulates both novices to look for more in depth resources to learn more, AND experts to provide better, more complete resources specifically aimed at those novices. A lot of the problems with all FOSS (not just Perl) today come from the fact that the experts community doesn&#8217;t interact enough with everybody else.</p>
<p>(1) This and my previous comment in this thread do little more than explain all I actually meant and had in mind when I wrote in the article &#8220;This script is *not* the best solution for the problem it wanted to solve&#8230;&#8221;</p>
<p>It took me less than one hour to write these two comments in this form, yet they amount to 1305 words. That&#8217;s almost 2 FULL pages of Linux Format, as you can read in the specs at <a href="http://www.linuxformat.co.uk/writers/index.php/Four-page_tutorial" rel="nofollow">http://www.linuxformat.co.uk/writers/index.php/Four-page_tutorial</a>.</p>
<p>If I had had to tweak these same concepts to make all of them appear explicitly in the same space, together with the code and its explanation, it would have taken quite a few days. (to me, at least). Modernizing the code would have taken much less time, of course, but still more than I considered safe to spend, given the deadline.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cross</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2682</link>
		<dc:creator>Dave Cross</dc:creator>
		<pubDate>Mon, 25 Apr 2011 14:32:10 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2682</guid>
		<description><![CDATA[You&#039;re absolutely right. Thanks, I&#039;ve corrected the post.]]></description>
		<content:encoded><![CDATA[<p>You&#8217;re absolutely right. Thanks, I&#8217;ve corrected the post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arun Prasaad</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2681</link>
		<dc:creator>Arun Prasaad</dc:creator>
		<pubDate>Mon, 25 Apr 2011 14:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2681</guid>
		<description><![CDATA[The Perl Cookbook was updated in 2003 (http://oreilly.com/catalog/9780596003135/) though that is still ~7 years old.]]></description>
		<content:encoded><![CDATA[<p>The Perl Cookbook was updated in 2003 (<a href="http://oreilly.com/catalog/9780596003135/" rel="nofollow">http://oreilly.com/catalog/9780596003135/</a>) though that is still ~7 years old.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cross</title>
		<link>http://perlhacks.com/2011/04/an-open-letter-to-linux-format/#comment-2680</link>
		<dc:creator>Dave Cross</dc:creator>
		<pubDate>Mon, 25 Apr 2011 13:05:46 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=267#comment-2680</guid>
		<description><![CDATA[Hi Macro,

Thanks for taking the time to reply.

It helps to know that the article was written under strict time constraints and I agree that this  probably explains why the the article wasn&#039;t proof-read at all. However, I&#039;m not that I agree with the rest of the conclusions that you draw.

You seem to think that writing modern Perl would have a) made this article harder to write and b) made it harder for the readers to follow. I can&#039;t agree with that at all.

By &quot;modern Perl&quot; I&#039;m not talking about big new Perl modules like Moose or Plack. Those are certainly an important part of any modern Perl installation, but it&#039;s just as useful to make use of the many small but important syntax improvements that have been made in the last few versions of Perl.

For example, you have used the older, two-argument version of &quot;open&quot; and you use it with global filehandles. So your code looks like this:

&lt;code&gt;open FILE, &#039;&lt;some_file.txt&#039; or die;&lt;/code&gt;

Modern Perl would write it like this:

&lt;code&gt;open my $file, &#039;&lt;&#039;, &#039;some_file.txt&#039; or die;&lt;/code&gt;

That&#039;s no harder to write and I&#039;d argue that it&#039;s more readble. Treating a filehandle as a regular scalar is one less concept for the programmer to worry about. And the fact that the filehandle is automatically closed when the filehandle goes out of scope is another bonus. Also, the three-argument version of &quot;open&quot; is safer.

You say that space constraints prevented you from writing the best program to solve the problem in hand. I maintain that a solution written using modern Perl techniques would have been shorter and easier for the beginner to understand.

At some point over the next couple of days I plan to rewrite your program using the techniques I&#039;m talking about to demonstrate exactly what I&#039;m talking about.]]></description>
		<content:encoded><![CDATA[<p>Hi Macro,</p>
<p>Thanks for taking the time to reply.</p>
<p>It helps to know that the article was written under strict time constraints and I agree that this  probably explains why the the article wasn&#8217;t proof-read at all. However, I&#8217;m not that I agree with the rest of the conclusions that you draw.</p>
<p>You seem to think that writing modern Perl would have a) made this article harder to write and b) made it harder for the readers to follow. I can&#8217;t agree with that at all.</p>
<p>By &#8220;modern Perl&#8221; I&#8217;m not talking about big new Perl modules like Moose or Plack. Those are certainly an important part of any modern Perl installation, but it&#8217;s just as useful to make use of the many small but important syntax improvements that have been made in the last few versions of Perl.</p>
<p>For example, you have used the older, two-argument version of &#8220;open&#8221; and you use it with global filehandles. So your code looks like this:</p>
<p><code>open FILE, '&lt;some_file.txt' or die;</code></p>
<p>Modern Perl would write it like this:</p>
<p><code>open my $file, '&lt;', 'some_file.txt' or die;</code></p>
<p>That&#8217;s no harder to write and I&#8217;d argue that it&#8217;s more readble. Treating a filehandle as a regular scalar is one less concept for the programmer to worry about. And the fact that the filehandle is automatically closed when the filehandle goes out of scope is another bonus. Also, the three-argument version of &#8220;open&#8221; is safer.</p>
<p>You say that space constraints prevented you from writing the best program to solve the problem in hand. I maintain that a solution written using modern Perl techniques would have been shorter and easier for the beginner to understand.</p>
<p>At some point over the next couple of days I plan to rewrite your program using the techniques I&#8217;m talking about to demonstrate exactly what I&#8217;m talking about.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.252 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-12-23 06:44:06 -->

<!-- Compression = gzip -->