<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.illusori.co.uk/xsl/rss.xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Sam's Blog &gt; Basic</title>
    <link>http://www.illusori.co.uk/blog/categories/basic/</link>
    <description>Sam's Blog, feed for category basic</description>
    <language>en-gb</language>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <pubDate>Wed, 02 Jun 2010 09:53:00 GMT</pubDate>
    <lastBuildDate>Wed, 02 Jun 2010 09:53:00 GMT</lastBuildDate>
    <generator>build_site 1.0</generator>
    <webMaster>rss@illusori.co.uk</webMaster>

    <item>
      <title><![CDATA[Readable Regexps: Why you should use /x]]></title>
      <link>http://www.illusori.co.uk/blog/2010/06/02/readable_regexps_with_slash_x.html</link>
      <description><![CDATA[<p>Regexps are one of Perl&#39;s strongest features, but they&#39;re also
one of the causes of Perl&#39;s greatest criticism: that it looks like
line noise.</p>
<p>If you&#39;ve ever had to examine someone else&#39;s regexp, or worse debug one,
you&#39;ll probably agree that there&#39;s some merit in that criticism.</p>
<p>It doesn&#39;t have to be that way however, there&#39;s some simple steps you
can take to make your regexps more readable and more maintainable, and
this week we look at one of them: the <code>/x</code> modifier.</p><p><a href="http://www.illusori.co.uk/blog/2010/06/02/readable_regexps_with_slash_x.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>regexp</category>
      <category>craft</category>
      <category>basic</category>
      <category>tutorial</category>
      <pubDate>Wed, 02 Jun 2010 09:53:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/06/02/readable_regexps_with_slash_x.html</guid>
    </item>
    <item>
      <title><![CDATA[Did you mean +, not *, in that regexp?]]></title>
      <link>http://www.illusori.co.uk/blog/2010/04/28/star_vs_plus_regexp.html</link>
      <description><![CDATA[<p>Continuing from my previous article
<a href="/blog/2010/04/22/anchoring_regexps.html">&quot;Anchoring Regexps&quot;</a>,
another common regexp mistake I see is use of <code>*</code> where the
author <i>really meant</i> <code>+</code>.</p>
<p>So today I cover <code>+</code> and <code>*</code>: what&#39;s the difference and
why does it matter?</p><p><a href="http://www.illusori.co.uk/blog/2010/04/28/star_vs_plus_regexp.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>regexp</category>
      <category>craft</category>
      <category>basic</category>
      <category>tutorial</category>
      <pubDate>Wed, 28 Apr 2010 13:36:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/04/28/star_vs_plus_regexp.html</guid>
    </item>
    <item>
      <title><![CDATA[Anchoring Regexps]]></title>
      <link>http://www.illusori.co.uk/blog/2010/04/22/anchoring_regexps.html</link>
      <description><![CDATA[<p>A common mistake I find whenever I look at someone else&#39;s regexps,
is a failure to anchor the regexp.</p>
<p>This is often, in my experience, the single biggest thing you can
do to improve the performance of a regexp: it&#39;s one of those things
you should learn to do in every regexp where applicable, which should
be almost every regexp unless you&#39;re <i>specifically</i> looking
for &quot;something somewhere in the middle but I don&#39;t know where&quot;.</p>
<p>So, what is anchoring, and <i>why</i> does it have such a big impact?</p><p><a href="http://www.illusori.co.uk/blog/2010/04/22/anchoring_regexps.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>regexp</category>
      <category>craft</category>
      <category>optimization</category>
      <category>basic</category>
      <category>tutorial</category>
      <pubDate>Thu, 22 Apr 2010 15:14:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/04/22/anchoring_regexps.html</guid>
    </item>
    <item>
      <title><![CDATA[The Science of Naming]]></title>
      <link>http://www.illusori.co.uk/blog/2010/03/31/science_of_naming.html</link>
      <description><![CDATA[<p>I&#39;ve been working on <a href="http://search.cpan.org/perldoc?Template::Benchmark">Template::Benchmark</a> some more this
week and I&#39;ve hit a brick wall, one entirely of my own stubborn making.</p>
<p>One of the major roadblocks to releasing v1.00 is that I&#39;m unhappy with
the name of one of the major conceptual elements of the module: I want
to come up with a better name and, it being a major element, I don&#39;t want
to change it after I&#39;ve moved to a stable release.</p>
<p>Naming things well is something I&#39;m extremely fussy about and one I&#39;ve
thought about often, so the factors that make a good name seemed like
a worthy topic for this week&#39;s blog.</p><p><a href="http://www.illusori.co.uk/blog/2010/03/31/science_of_naming.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>design</category>
      <category>technique</category>
      <category>basic</category>
      <category>template-benchmark</category>
      <pubDate>Wed, 31 Mar 2010 12:09:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/03/31/science_of_naming.html</guid>
    </item>
    <item>
      <title><![CDATA[Wrapping Benchmark.pm to auto-correct custom controls]]></title>
      <link>http://www.illusori.co.uk/blog/2010/03/27/wrapping_for_better_benchmarking.html</link>
      <description><![CDATA[<p>Last week, in <a href="/blog/2010/03/18/monkey_patching_for_better_benchmarks.html">&quot;Monkey-patching Benchmark.pm to auto-correct custom controls&quot;</a>,
we covered how to monkey-patch <a href="http://search.cpan.org/perldoc?Benchmark">Benchmark.pm</a> into giving
us the results we wanted, and saw that one alternative method was to
wrap the module instead.</p>
<p>This week, we investigate how to do this, and see what unpleasant surprises
lie in wait when wrapping a procedural module.</p><p><a href="http://www.illusori.co.uk/blog/2010/03/27/wrapping_for_better_benchmarking.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>benchmarking</category>
      <category>analysis</category>
      <category>module-wrapping</category>
      <category>tutorial</category>
      <category>basic</category>
      <pubDate>Sat, 27 Mar 2010 20:28:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/03/27/wrapping_for_better_benchmarking.html</guid>
    </item>
    <item>
      <title><![CDATA[Some simple &quot;white-space trim&quot; benchmarks]]></title>
      <link>http://www.illusori.co.uk/blog/2010/03/03/white_space_trim.html</link>
      <description><![CDATA[<p>Laufeyjarson asked on Monday, about
<a href="http://blog.laufeyjarson.com/2010/03/stripping-whitespace-from-both-ends-of-a-string/">stripping whitespace from both ends of a string</a>.
The comments contains lots of suggestions, but no hard figures, so
I thought I&#39;d reproduce them here along with the code used to generate
the benchmarks - it provides a simple example of how to write a quick
and reliable benchmark.</p><p><a href="http://www.illusori.co.uk/blog/2010/03/03/white_space_trim.html">Read more...</a></p>]]></description>
      <dc:creator>Sam Graham</dc:creator>
      <category>perl</category>
      <category>ironman</category>
      <category>benchmarking</category>
      <category>trim</category>
      <category>regexp</category>
      <category>optimization</category>
      <category>basic</category>
      <category>tutorial</category>
      <pubDate>Wed, 03 Mar 2010 15:38:00 GMT</pubDate>
      <guid isPermaLink="true">http://www.illusori.co.uk/blog/2010/03/03/white_space_trim.html</guid>
    </item>

  </channel>
</rss>
