<?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 for porges</title>
	<atom:link href="http://porg.es/blog/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://porg.es/blog</link>
	<description>... master of none</description>
	<lastBuildDate>Sun, 21 Feb 2010 11:01:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Rhythmbox Plugin: Stop after current track by ievCe</title>
		<link>http://porg.es/blog/rhythmbox-plugin-stop-after-current-track/comment-page-1#comment-163261</link>
		<dc:creator>ievCe</dc:creator>
		<pubDate>Sun, 21 Feb 2010 11:01:09 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=324#comment-163261</guid>
		<description>Thanks A LOT from me as well! :&gt;.</description>
		<content:encoded><![CDATA[<p>Thanks A LOT from me as well! :&gt;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rhythmbox Plugin: Stop after current track by Tec5nical</title>
		<link>http://porg.es/blog/rhythmbox-plugin-stop-after-current-track/comment-page-1#comment-160387</link>
		<dc:creator>Tec5nical</dc:creator>
		<pubDate>Sun, 17 Jan 2010 20:23:50 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=324#comment-160387</guid>
		<description>Thanks alot! Good job</description>
		<content:encoded><![CDATA[<p>Thanks alot! Good job</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rhythmbox Plugin: Stop after current track by vana</title>
		<link>http://porg.es/blog/rhythmbox-plugin-stop-after-current-track/comment-page-1#comment-156079</link>
		<dc:creator>vana</dc:creator>
		<pubDate>Sat, 05 Dec 2009 09:28:46 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=324#comment-156079</guid>
		<description>thanx a lot.. :)</description>
		<content:encoded><![CDATA[<p>thanx a lot.. <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing futures in C# by Porges</title>
		<link>http://porg.es/blog/implementing-futures-in-c/comment-page-1#comment-155775</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Wed, 02 Dec 2009 23:01:30 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/implementing-futures-in-c#comment-155775</guid>
		<description>It&#039;s worth noting that &lt;code&gt;Future&lt;T&gt;&lt;/code&gt; is now part of .NET 4.0 :)</description>
		<content:encoded><![CDATA[<p>It&#8217;s worth noting that <code>Future&lt;T&gt;</code> is now part of .NET 4.0 <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing futures in C# by henon</title>
		<link>http://porg.es/blog/implementing-futures-in-c/comment-page-1#comment-155771</link>
		<dc:creator>henon</dc:creator>
		<pubDate>Wed, 02 Dec 2009 22:30:05 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/implementing-futures-in-c#comment-155771</guid>
		<description>thanks a lot for this post! futures are making multi-threaded background initialization easy.

-- henon</description>
		<content:encoded><![CDATA[<p>thanks a lot for this post! futures are making multi-threaded background initialization easy.</p>
<p>&#8211; henon</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rhythmbox Plugin: Stop after current track by Federico</title>
		<link>http://porg.es/blog/rhythmbox-plugin-stop-after-current-track/comment-page-1#comment-154144</link>
		<dc:creator>Federico</dc:creator>
		<pubDate>Thu, 19 Nov 2009 02:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=324#comment-154144</guid>
		<description>Thx, I&#039;ve been looking for this for a while.</description>
		<content:encoded><![CDATA[<p>Thx, I&#8217;ve been looking for this for a while.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Simple socket programming with Haskell by Prashant Borole</title>
		<link>http://porg.es/blog/simple-socket-programming-with-haskell/comment-page-1#comment-153440</link>
		<dc:creator>Prashant Borole</dc:creator>
		<pubDate>Thu, 12 Nov 2009 17:36:14 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=214#comment-153440</guid>
		<description>Nice. Thanks!</description>
		<content:encoded><![CDATA[<p>Nice. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on n-pivot quicksort by Porges</title>
		<link>http://porg.es/blog/n-pivot-quicksort/comment-page-1#comment-148740</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Sat, 26 Sep 2009 06:58:27 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=392#comment-148740</guid>
		<description>I&#039;d also point out that this implementation isn&#039;t particularly fast; note the call to ‘length’, for example.</description>
		<content:encoded><![CDATA[<p>I&#8217;d also point out that this implementation isn&#8217;t particularly fast; note the call to ‘length’, for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A simple BigNum library for .NET by Mr Amazing</title>
		<link>http://porg.es/blog/a-simple-bignum-library-for-dot-net/comment-page-1#comment-147486</link>
		<dc:creator>Mr Amazing</dc:creator>
		<pubDate>Fri, 18 Sep 2009 21:34:13 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/a-simple-bignum-library-for-net#comment-147486</guid>
		<description>Just an FYI, but if anyone&#039;s interested in a decimal / floating-point library for C#/VB/.NET I found  &quot;W3b.Sine&quot; which is under the BSD license. http://codeplex.com/sine</description>
		<content:encoded><![CDATA[<p>Just an FYI, but if anyone&#8217;s interested in a decimal / floating-point library for C#/VB/.NET I found  &#8220;W3b.Sine&#8221; which is under the BSD license. <a href="http://codeplex.com/sine">http://codeplex.com/sine</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Making Maya&#8217;s Python palatable by Porges</title>
		<link>http://porg.es/blog/making-mayas-python-palatable/comment-page-1#comment-140906</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Sun, 09 Aug 2009 09:59:07 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=300#comment-140906</guid>
		<description>Yes, I never meant it to be more than an easier, or &#039;more natural&#039; syntax-hack for those coming from Python. That&#039;s why I named it &quot;Wrapper&quot;! :)

For what it&#039;s worth, I ended up extending this to be a little bit smarter... for one thing this short example only affects the first object in the array returned by &lt;code&gt;cmds.sphere&lt;/code&gt;. However, I don&#039;t seem to have kept it (I just cooked it up for a short Uni project).

Thanks for your comments :)</description>
		<content:encoded><![CDATA[<p>Yes, I never meant it to be more than an easier, or &#8216;more natural&#8217; syntax-hack for those coming from Python. That&#8217;s why I named it &#8220;Wrapper&#8221;! <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
<p>For what it&#8217;s worth, I ended up extending this to be a little bit smarter&#8230; for one thing this short example only affects the first object in the array returned by <code>cmds.sphere</code>. However, I don&#8217;t seem to have kept it (I just cooked it up for a short Uni project).</p>
<p>Thanks for your comments <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Making Maya&#8217;s Python palatable by Rob T.</title>
		<link>http://porg.es/blog/making-mayas-python-palatable/comment-page-1#comment-140658</link>
		<dc:creator>Rob T.</dc:creator>
		<pubDate>Fri, 07 Aug 2009 22:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=300#comment-140658</guid>
		<description>Nice trick, but your comparison is not really fair.  Your negative example is using the &quot;sphere&quot; command to get and set the radius attribute.  Then, your code is little more than a string substitution into the setAttr and getAttr commands.  Nice use of Python, by the way, but not a substitution for the &quot;sphere&quot; command.  The actual Maya.cmds example that you are addressing is:

&lt;pre&gt;s = cmds.sphere()
r = cmds.getAttr( &#039;%s.radius&#039;%(s) )
cmds.setAttr( &#039;%s.radius&#039;%(s), 10 )&lt;/pre&gt;

I&#039;m not criticizing your skills &lt;em&gt;at all&lt;/em&gt;.  I&#039;ve just had to diffuse a few viral e-mail threads at my studio claiming your Wrapper class is some sort of object-oriented Maya.cmds wrapper, when it only wraps setAttr and getAttr.</description>
		<content:encoded><![CDATA[<p>Nice trick, but your comparison is not really fair.  Your negative example is using the &#8220;sphere&#8221; command to get and set the radius attribute.  Then, your code is little more than a string substitution into the setAttr and getAttr commands.  Nice use of Python, by the way, but not a substitution for the &#8220;sphere&#8221; command.  The actual Maya.cmds example that you are addressing is:</p>
<pre>s = cmds.sphere()
r = cmds.getAttr( '%s.radius'%(s) )
cmds.setAttr( '%s.radius'%(s), 10 )</pre>
<p>I&#8217;m not criticizing your skills <em>at all</em>.  I&#8217;ve just had to diffuse a few viral e-mail threads at my studio claiming your Wrapper class is some sort of object-oriented Maya.cmds wrapper, when it only wraps setAttr and getAttr.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A simple BigNum library for .NET by Porges</title>
		<link>http://porg.es/blog/a-simple-bignum-library-for-dot-net/comment-page-1#comment-140396</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Thu, 06 Aug 2009 09:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/a-simple-bignum-library-for-net#comment-140396</guid>
		<description>Robin,

A better route to take might be to have a look at the .NET 4 beta that is currently out; it has support for BigInteger arithmetic built-in (under System.Numerics).

You could download the .NET 4 beta and use &lt;code&gt;System.Numerics.dll&lt;/code&gt;, then just distribute that DLL with your code.

As to the rest of your question, there is already &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsa.aspx&quot; rel=&quot;nofollow&quot;&gt;support for RSA built into the .NET framework&lt;/a&gt;, or are you trying to write your own implementation as an exercise?</description>
		<content:encoded><![CDATA[<p>Robin,</p>
<p>A better route to take might be to have a look at the .NET 4 beta that is currently out; it has support for BigInteger arithmetic built-in (under System.Numerics).</p>
<p>You could download the .NET 4 beta and use <code>System.Numerics.dll</code>, then just distribute that DLL with your code.</p>
<p>As to the rest of your question, there is already <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsa.aspx">support for RSA built into the .NET framework</a>, or are you trying to write your own implementation as an exercise?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A simple BigNum library for .NET by Robin</title>
		<link>http://porg.es/blog/a-simple-bignum-library-for-dot-net/comment-page-1#comment-140064</link>
		<dc:creator>Robin</dc:creator>
		<pubDate>Tue, 04 Aug 2009 11:48:27 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/a-simple-bignum-library-for-net#comment-140064</guid>
		<description>Hi Porges, I hope you&#039;re still active?
I use Visual Studio 2008 for Visual Basic .. I can add the BigNum dll as reference (include the dll~) but at runtime it says it can&#039;t use gmp.dll because it&#039;s not a valid assembly or COM component :S I need BigNum for Visual Basic to handle RSA cryptography</description>
		<content:encoded><![CDATA[<p>Hi Porges, I hope you&#8217;re still active?<br />
I use Visual Studio 2008 for Visual Basic .. I can add the BigNum dll as reference (include the dll~) but at runtime it says it can&#8217;t use gmp.dll because it&#8217;s not a valid assembly or COM component :S I need BigNum for Visual Basic to handle RSA cryptography</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rhythmbox Plugin: Stop after current track by rodrigo</title>
		<link>http://porg.es/blog/rhythmbox-plugin-stop-after-current-track/comment-page-1#comment-129560</link>
		<dc:creator>rodrigo</dc:creator>
		<pubDate>Fri, 26 Jun 2009 15:45:09 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=324#comment-129560</guid>
		<description>wanted this for a long time!
thanks!</description>
		<content:encoded><![CDATA[<p>wanted this for a long time!<br />
thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Normalizing your MP3 collection with mp3gain by Adam</title>
		<link>http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain/comment-page-1#comment-127254</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Wed, 17 Jun 2009 01:25:55 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain#comment-127254</guid>
		<description>Oh just one more thing. For those who say that vorbisgain has a &quot;-r&quot; switch eliminatinf\g the need for find completely, it will only work if your collection is comprised of oggs only. It will choke (and quit) on the first non-ogg/vorbis file it sees.</description>
		<content:encoded><![CDATA[<p>Oh just one more thing. For those who say that vorbisgain has a &#8220;-r&#8221; switch eliminatinf\g the need for find completely, it will only work if your collection is comprised of oggs only. It will choke (and quit) on the first non-ogg/vorbis file it sees.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Normalizing your MP3 collection with mp3gain by Adam</title>
		<link>http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain/comment-page-1#comment-127246</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Wed, 17 Jun 2009 00:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain#comment-127246</guid>
		<description>

&lt;blockquote&gt;The comments are moderated, so I have to approve them before they will show&lt;/blockquote&gt;


I realised that as soon as I submitted it with firefox. I immediately got some feedback from the site that my comment was awaiting approval. With Opera I got nothing at all... And yes I have cookies enabled (but they are deleted when I shut opera down). That&#039;s where my confusion sprang from.</description>
		<content:encoded><![CDATA[<blockquote><p>The comments are moderated, so I have to approve them before they will show</p></blockquote>
<p>I realised that as soon as I submitted it with firefox. I immediately got some feedback from the site that my comment was awaiting approval. With Opera I got nothing at all&#8230; And yes I have cookies enabled (but they are deleted when I shut opera down). That&#8217;s where my confusion sprang from.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Normalizing your MP3 collection with mp3gain by Porges</title>
		<link>http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain/comment-page-1#comment-127092</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Tue, 16 Jun 2009 04:51:42 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain#comment-127092</guid>
		<description>The comments are moderated, so I have to approve them before they will show :)

Thanks for pointing that out. The &lt;code&gt;find&lt;/code&gt; manpage makes it seem like this is what should happen...

Given this structure:

&lt;pre&gt;dir1/
    file1.mp3
    file2.mp3
dir3/
    file3.mp3
    file4.mp3&lt;/pre&gt;

... with &#039;;&#039; the command is executed once for every file, and with &#039;+&#039; the command is executed on &lt;code&gt;&quot;file1.mp3 file2.mp3&quot;&lt;/code&gt; and then &lt;code&gt;&quot;file3.mp3 file4.mp3&quot;&lt;/code&gt;.

Whereas, as you say, the change seems to do nothing! :(

Edit: After more research, it seems that this is partly &lt;a href=&quot;http://savannah.gnu.org/bugs/?19593&quot; rel=&quot;nofollow&quot;&gt;a bug in &lt;code&gt;findutils&lt;/code&gt;&lt;/a&gt;, and partly a misunderstanding of the &#039;+&#039; modifier. It doesn&#039;t &lt;em&gt;guarantee&lt;/em&gt; that all files in the directories will be collected, and currently performs the exact same task as &#039;;&#039;!</description>
		<content:encoded><![CDATA[<p>The comments are moderated, so I have to approve them before they will show <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
<p>Thanks for pointing that out. The <code>find</code> manpage makes it seem like this is what should happen&#8230;</p>
<p>Given this structure:</p>
<pre>dir1/
    file1.mp3
    file2.mp3
dir3/
    file3.mp3
    file4.mp3</pre>
<p>&#8230; with &#8216;;&#8217; the command is executed once for every file, and with &#8216;+&#8217; the command is executed on <code>"file1.mp3 file2.mp3"</code> and then <code>"file3.mp3 file4.mp3"</code>.</p>
<p>Whereas, as you say, the change seems to do nothing! <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_sad.gif" alt="" /></p>
<p>Edit: After more research, it seems that this is partly <a href="http://savannah.gnu.org/bugs/?19593">a bug in <code>findutils</code></a>, and partly a misunderstanding of the &#8216;+&#8217; modifier. It doesn&#8217;t <em>guarantee</em> that all files in the directories will be collected, and currently performs the exact same task as &#8216;;&#8217;!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Normalizing your MP3 collection with mp3gain by Adam</title>
		<link>http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain/comment-page-1#comment-126704</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Sun, 14 Jun 2009 12:04:56 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/normalizing-your-mp3-collection-with-mp3gain#comment-126704</guid>
		<description>I&#039;ll try resubmitting the comment now that I know what the problem is.

Porges, your trackwise replaygain command will work fine but the album-based method will not do what you expect it to. In fact, it will do the exact same thing the trackwise command will. John&#039;s for-loop command will work if there are no spaces in the file or directory names. Otherwise it will fail -- or at least it did for me. After much mucking around, the following command did it for me:

&lt;pre lang=&quot;bash&quot;&gt;find . -type d &#124; while read i; do mp3gain -a -k &quot;$i&quot;/*.mp3 ; done&lt;/pre&gt;

Basically what it does it run mp3gain on EVERY subdirectory but only on the *.mp3 files contained therein. This is necessary because mp3gain will not accept a directory as an argument (unlike vorbisgain). The &quot;read&quot; command is there to handle spaces in directory and file names. The equivalent command for vorbisgain is:

&lt;pre lang=&quot;bash&quot;&gt;find . -type d -execdir vorbisgain -a -f {} +&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ll try resubmitting the comment now that I know what the problem is.</p>
<p>Porges, your trackwise replaygain command will work fine but the album-based method will not do what you expect it to. In fact, it will do the exact same thing the trackwise command will. John&#8217;s for-loop command will work if there are no spaces in the file or directory names. Otherwise it will fail &#8212; or at least it did for me. After much mucking around, the following command did it for me:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-type</span> d <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> i; <span style="color: #000000; font-weight: bold;">do</span> mp3gain <span style="color: #660033;">-a</span> <span style="color: #660033;">-k</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$i</span>&quot;</span><span style="color: #000000; font-weight: bold;">/*</span>.mp3 ; <span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Basically what it does it run mp3gain on EVERY subdirectory but only on the *.mp3 files contained therein. This is necessary because mp3gain will not accept a directory as an argument (unlike vorbisgain). The &#8220;read&#8221; command is there to handle spaces in directory and file names. The equivalent command for vorbisgain is:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-type</span> d <span style="color: #660033;">-execdir</span> vorbisgain <span style="color: #660033;">-a</span> <span style="color: #660033;">-f</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> +</pre></div></div>

]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cleaning up a set of tags with Awk by Porges</title>
		<link>http://porg.es/blog/cleaning-up-a-set-of-tags-with-awk/comment-page-1#comment-124722</link>
		<dc:creator>Porges</dc:creator>
		<pubDate>Sun, 31 May 2009 03:21:13 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=266#comment-124722</guid>
		<description>Jonas: I suspect some implementations are faster than others. I am using mawk, which is the default on ’buntus :)

Also good points about the filter; I suspect I wrote it that way because it&#039;s easier to see what&#039;s going on.</description>
		<content:encoded><![CDATA[<p>Jonas: I suspect some implementations are faster than others. I am using mawk, which is the default on ’buntus <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /></p>
<p>Also good points about the filter; I suspect I wrote it that way because it&#8217;s easier to see what&#8217;s going on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Cleaning up a set of tags with Awk by Jonas Lindström</title>
		<link>http://porg.es/blog/cleaning-up-a-set-of-tags-with-awk/comment-page-1#comment-124568</link>
		<dc:creator>Jonas Lindström</dc:creator>
		<pubDate>Sat, 30 May 2009 07:33:22 +0000</pubDate>
		<guid isPermaLink="false">http://porg.es/blog/?p=266#comment-124568</guid>
		<description>Nice article. I am already a Ruby addict, and recently I have begun to use AWK more and more. Both languages have their strengths for text processing. Anything which calls for data structures, sorting and more complex stuff and I tend to use Ruby. AWK is great for oneliners and for writing small functions in shell scripts.

A couple of notes about the alphabetic filter: the AWK version can be written even more concisely as &lt;code lang=&quot;awk&quot;&gt;/[a-zA-Z]/&lt;/code&gt;, since it matches against &lt;code&gt;$0&lt;/code&gt; anyway. &lt;code lang=&quot;awk&quot;&gt;/[[:alpha:]]/&lt;/code&gt; might be even better.

And the Ruby version is hampered by a needlessly convoluted implementation:
&lt;code lang=&quot;ruby&quot;&gt;ruby -ne &#039;puts $_ if (/[[:alpha:]]/)&#039;&lt;/code&gt; is clearer and faster.

The difference is in any case nowhere near 8-9 times on my machine. :) With the second Ruby version, AWK is only slightly faster.</description>
		<content:encoded><![CDATA[<p>Nice article. I am already a Ruby addict, and recently I have begun to use AWK more and more. Both languages have their strengths for text processing. Anything which calls for data structures, sorting and more complex stuff and I tend to use Ruby. AWK is great for oneliners and for writing small functions in shell scripts.</p>
<p>A couple of notes about the alphabetic filter: the AWK version can be written even more concisely as <code lang="awk">/[a-zA-Z]/</code>, since it matches against <code>$0</code> anyway. <code lang="awk">/[[:alpha:]]/</code> might be even better.</p>
<p>And the Ruby version is hampered by a needlessly convoluted implementation:<br />
<code lang="ruby">ruby -ne 'puts $_ if (/[[:alpha:]]/)'</code> is clearer and faster.</p>
<p>The difference is in any case nowhere near 8-9 times on my machine. <img src="http://porg.es/blog/wp-content/plugins/wp-smiley-switcher/noktahhitam/icon_smile.gif" alt="" /> With the second Ruby version, AWK is only slightly faster.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
