<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jabbering Giraffe &#187; cpan</title>
	<atom:link href="http://happygiraffe.net/blog/tag/cpan/feed/" rel="self" type="application/rss+xml" />
	<link>http://happygiraffe.net/blog</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 20:49:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>XML::Genx 0.22</title>
		<link>http://happygiraffe.net/blog/2006/10/08/xml-genx-0-22/</link>
		<comments>http://happygiraffe.net/blog/2006/10/08/xml-genx-0-22/#comments</comments>
		<pubDate>Sun, 08 Oct 2006 19:18:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[genx]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/10/08/xml-genx-0-22/</guid>
		<description><![CDATA[I&#8217;ve released XML::Genx 0.22. There are no functional changes, just a couple of minor bugfixes in order to ensure that it works on Windows correctly. For some time now, I&#8217;d been trying to get XS modules compiling on Windows correctly &#8230; <a href="http://happygiraffe.net/blog/2006/10/08/xml-genx-0-22/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released <a href="http://search.cpan.org/~hdm/XML-Genx-0.22/"><span class="caps">XML</span>::Genx 0.22</a>.  There are no functional changes, just a couple of minor bugfixes in order to ensure that it works on Windows correctly.</p>
<p>For some time now, I&#8217;d been trying to get XS modules compiling on Windows correctly under ActiveState Perl, all to no avail.  But now, thanks to the wonder of <a href="http://win32.perl.org/wiki/index.php?title=Strawberry_Perl">Strawberry Perl</a>, I&#8217;ve actually been able to build and test the module all on my own.  I am hugely grateful to the authors for putting together Strawberry Perl.  It&#8217;s a huge boon for developing Perl on Windows (Not that I diss ActiveState; they&#8217;ve also done a good job, but they&#8217;ve gone in different directions).</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/10/08/xml-genx-0-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>subatom 0.11</title>
		<link>http://happygiraffe.net/blog/2006/09/27/subatom-0-11/</link>
		<comments>http://happygiraffe.net/blog/2006/09/27/subatom-0-11/#comments</comments>
		<pubDate>Wed, 27 Sep 2006 14:43:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[subatom]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/09/27/subatom-0-11/</guid>
		<description><![CDATA[Yet another new version, subatom 0.11 again prompted by Hans F. Nordhaug. The only change this time is to add a feed_title option to the config file, so you can specify the title for the feed as a whole. Now, &#8230; <a href="http://happygiraffe.net/blog/2006/09/27/subatom-0-11/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yet another new version, <a href="http://search.cpan.org/~hdm/subatom-0.11/">subatom 0.11</a> again prompted by <a href="http://home.himolde.no/~nordhaug/english.php">Hans F. Nordhaug</a>.  The only change this time is to add a <em>feed_title</em> option to the config file, so you can specify the title for the feed as a whole.</p>
<p>Now, I&#8217;m going to sit down and attempt to rework all this as a module+script, along with some tests.  That I managed to break things in the 0.09 release was very irritating, and the tests should have caught that.</p>
<p><strong>Update</strong>: Please grab <a href="http://search.cpan.org/~hdm/subatom-0.12/">subatom 0.12</a> instead when it shows up if you want a working version.  Doh.</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/09/27/subatom-0-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>subatom 0.10</title>
		<link>http://happygiraffe.net/blog/2006/09/26/subatom-0-10/</link>
		<comments>http://happygiraffe.net/blog/2006/09/26/subatom-0-10/#comments</comments>
		<pubDate>Tue, 26 Sep 2006 10:19:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[locales]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[subatom]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/09/26/subatom-0-10/</guid>
		<description><![CDATA[I&#8217;ve made another release of subatom. This contains a number of fixes for bugs that I managed to put into the 0.09 release (as well as a couple of minor features). This has really left me with a very nagging &#8230; <a href="http://happygiraffe.net/blog/2006/09/26/subatom-0-10/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made another release of subatom.  This contains a number of fixes for bugs that I managed to put into the 0.09 release (as well as a couple of minor features).  This has really left me with a very nagging need for some tests for this module.</p>
<ul>
<li>Restore the ability to send output to stdout.</li>
<li>Make the command line mode work, as well as the config file.</li>
<li>Don&#8217;t cover up stderr when executing &#8220;svn log&#8221;.</li>
<li>Force subversion to give us back <span class="caps">UTF</span>-8, and cope with it.</li>
<li>Add support for using&#8212;limit if your svn has it.</li>
</ul>
<p>That item about <span class="caps">UTF</span>-8 has annoyed me, because it&#8217;s brought me into contact with a hated topic: locales.</p>
<p>Subversion internally works with <span class="caps">UTF</span>-8 everywhere.  This is a sensible design.  But in order to interface with the outside world, it needs to convert that into whatever character encoding you are using.  How does it know what character encoding to use?  It guesses from the locale.</p>
<p>The locale is <em>meant</em> to be a specification for how to sort characters, how to format the date and so on and so forth.  In recent years, it&#8217;s also been taken over to specify the character encoding that&#8217;s in use.  So, to specify that I want to see the world in <span class="caps">UTF</span>-8, I need to say:</p>
<pre>
  export LC_ALL=en_GB.UTF-8
</pre>
<p>Except that breaks ls(1).  Yes, ls(1).  For some <em>insane</em> reason, setting a locale changes the way that things work such sorting now happens in a case-independent manner.  So that &#8220;README&#8221; files no longer appear at the top of a directory listing.  I haven&#8217;t investigated any further to see what else is broken.  I quickly switched back to the &#8220;C&#8221; locale, which effectively means no locale.</p>
<p>So now, I&#8217;m left wondering how to tell the system that I&#8217;d like <span class="caps">UTF</span>-8, but none of the other inconveniences that locales bring me.</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/09/26/subatom-0-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>subatom 0.09</title>
		<link>http://happygiraffe.net/blog/2006/09/25/subatom-0-09/</link>
		<comments>http://happygiraffe.net/blog/2006/09/25/subatom-0-09/#comments</comments>
		<pubDate>Mon, 25 Sep 2006 10:53:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[subatom]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/09/25/subatom-0-09/</guid>
		<description><![CDATA[I&#8217;ve released a new version of my tool subatom. If you haven&#8217;t seen it, it produces atom feeds for subversion commit messages. It&#8217;s pretty handy for monitoring activity in a subversion repository and it doesn&#8217;t need access to the server. &#8230; <a href="http://happygiraffe.net/blog/2006/09/25/subatom-0-09/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released a new version of my tool <a href="http://search.cpan.org/dist/subatom/">subatom</a>.  If you haven&#8217;t seen it, it produces atom feeds for subversion commit messages.  It&#8217;s pretty handy for monitoring activity in a subversion repository and it doesn&#8217;t need access to the server.</p>
<p>There are only two new features in this release:</p>
<ul>
<li>Add in a option to specify <code>link[@rel="self"]</code>, which means that the generated feeds can now pass the <a href="http://feedvalidator.org/">feedvalidator</a> with flying colours.  Many thanks to <a href="http://home.himolde.no/~nordhaug/english.php">Hans F. Nordhaug</a> for the patch.</li>
<li>I&#8217;ve added in a config file.  I broke down and did it because I&#8217;d ended up with scripts that just called subatom in a variety of ungainly ways.  Using a config file makes things slightly more manageable.</li>
</ul>
<p>However, as with all releases, there are already a couple of problems:</p>
<ul>
<li>Hans found that it doesn&#8217;t really cope with character encodings properly.  This is particularly shameful for me.  So I&#8217;ll take a peek at it tonight to ensure that we tell subversion to give us <span class="caps">UTF</span>-8 and process that accordingly.</li>
<li>Another point brought up by Hans is that it should invoke <code>svn log</code> as <code>svn log --limit</code>.  I&#8217;d been avoiding that because I&#8217;m still on an older version of svn at work, but there&#8217;s no reason to not run <code>svn help log</code> and check the output to see if <code>--limit</code> is available.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/09/25/subatom-0-09/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CPAN tips</title>
		<link>http://happygiraffe.net/blog/2006/09/02/cpan-tips/</link>
		<comments>http://happygiraffe.net/blog/2006/09/02/cpan-tips/#comments</comments>
		<pubDate>Sat, 02 Sep 2006 23:20:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/09/02/cpan-tips/</guid>
		<description><![CDATA[One thing I forgot to mention. I picked up a couple of really useful CPAN tips: In the latest versions of CPAN.pm you can specify that sudo be used &#8220;make install&#8221; so you don&#8217;t have to run &#8220;sudo cpan&#8221; up &#8230; <a href="http://happygiraffe.net/blog/2006/09/02/cpan-tips/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One thing I forgot to mention.  I picked up a couple of really useful <span class="caps">CPAN</span> tips:</p>
<ul>
<li>In the latest versions of <a href="http://search.cpan.org/~andk/CPAN-1.87/"><span class="caps">CPAN</span>.pm</a> you can specify that sudo be used &#8220;make install&#8221;  so you don&#8217;t have to run &#8220;sudo cpan&#8221; up front, which is dead handy.
<ul>
<li>Of course, installing into your home directory is better.</li>
</ul>
</li>
<li><a href="http://search.cpan.org/dist/CPAN-Mini/"><span class="caps">CPAN</span>::Mini</a> keeps a private mirror of <span class="caps">CPAN</span> up to date.  It comes out at around 500Mb.  After being stuck on a train with no wireless, the value of this became very clear!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/09/02/cpan-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML::Genx 0.21</title>
		<link>http://happygiraffe.net/blog/2006/06/08/xml-genx-0-21/</link>
		<comments>http://happygiraffe.net/blog/2006/06/08/xml-genx-0-21/#comments</comments>
		<pubDate>Thu, 08 Jun 2006 07:12:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[genx]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/06/08/xml-genx-0-21/</guid>
		<description><![CDATA[I&#8217;ve released a new version, which fixes a blindingly obvious error: you couldn&#8217;t pass in characters between \x80 and \xff unless they had the UTF-8 flag turned on. I don&#8217;t know how I missed that. XML::Genx 0.21]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released a new version, which fixes a blindingly obvious error: you couldn&#8217;t pass in characters between \x80 and \xff unless they had the UTF-8 flag turned on.  I don&#8217;t know how I missed that.  <img src='http://happygiraffe.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<ul>
<li><a href="http://search.cpan.org/~hdm/XML-Genx-0.21/"><span class="caps">XML</span>::Genx 0.21</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/06/08/xml-genx-0-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML::Genx Plans</title>
		<link>http://happygiraffe.net/blog/2006/06/07/xml-genx-plans/</link>
		<comments>http://happygiraffe.net/blog/2006/06/07/xml-genx-plans/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 05:45:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/06/07/xml-genx-plans/</guid>
		<description><![CDATA[I was talking to Mark Fowler yesterday and XML::Genx came up. He had a couple of good points: It&#8217;s not absolutely clear in the documentation that any valid Perl string will work correctly (be it UTF-8 encoded or not). I &#8230; <a href="http://happygiraffe.net/blog/2006/06/07/xml-genx-plans/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was talking to <a href="http://2shortplanks.com/">Mark Fowler</a> yesterday and <a href="http://search.cpan.org/dist/XML-Genx"><span class="caps">XML</span>::Genx</a> came up.  He had a couple of good points:</p>
<ul>
<li>It&#8217;s not <em>absolutely</em> clear in the documentation that any valid Perl string will work correctly (be it <span class="caps">UTF</span>-8 encoded or not).  I need to double check the tests for this and amend the docs.</li>
<li>The <span class="caps">API</span> is still fairly horrible.  It mirrors the C api almost exactly, but this feels very odd as a Perl programmer.  I need to have a think about what would be better.  Ideally, I&#8217;d like something more like ruby&#8217;s <a href="http://builder.rubyforge.org/">builder</a>.  In fact, I actually wrote something similar  to that before (<a href="http://search.cpan.org/dist/XML-SAX-Builder/lib/XML/SAX/Builder.pm"><span class="caps">XML</span>::SAX::Builder</a>), but that uses <span class="caps">SAX</span>, which is too slow in Perl.</li>
</ul>
<p>I really appreciate the feedback.  Apart from <a href="http://plasmasturm.org/">Aristotle</a>, it&#8217;s the only feedback I&#8217;ve had since I released it.</p>
<p>If I can figure these out, I should probably slap a 1.0 on it.</p>
<p>I also reckon I should do a talk on &#8220;Why we need another <span class="caps">XML</span> writer&#8221;.  There are quite a few on <span class="caps">CPAN</span> already and I should say why I wrote another one&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/06/07/xml-genx-plans/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Releases</title>
		<link>http://happygiraffe.net/blog/2006/06/05/new-releases/</link>
		<comments>http://happygiraffe.net/blog/2006/06/05/new-releases/#comments</comments>
		<pubDate>Mon, 05 Jun 2006 23:24:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[lint]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/06/05/new-releases/</guid>
		<description><![CDATA[I&#8217;ve just done a couple of new releases of my modules: JavaScript::JSLint 0.04, which is just renaming from Lint to JSLint to more accurately reflect where it&#8217;s come from (pointed out by Matthias Miller). subatom 0.07 which switches from the &#8230; <a href="http://happygiraffe.net/blog/2006/06/05/new-releases/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just done a couple of new releases of my modules:</p>
<ul>
<li><a href="http://search.cpan.org/~hdm/JavaScript-JSLint-0.04/">JavaScript::JSLint 0.04</a>, which is just renaming from Lint to JSLint to more accurately reflect where it&#8217;s come from (pointed out by Matthias Miller).</li>
<li><a href="http://search.cpan.org/~hdm/subatom-0.07/">subatom 0.07</a> which switches from the baroque <span class="caps">XML</span>::Atom api to the much nicer <span class="caps">XML</span>::Atom::SimpleFeed (thanks, Aristotle).</li>
<li><a href="http://search.cpan.org/~hdm/subatom-0.08/">subatom 0.08</a> because I am a doofus and left a warn statement in.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/06/05/new-releases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript::Lint 0.02</title>
		<link>http://happygiraffe.net/blog/2006/06/04/javascript-lint-0-02/</link>
		<comments>http://happygiraffe.net/blog/2006/06/04/javascript-lint-0-02/#comments</comments>
		<pubDate>Sun, 04 Jun 2006 11:28:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lint]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/06/04/javascript-lint-0-02/</guid>
		<description><![CDATA[I&#8217;ve just put together a new version of JavaScript::Lint. The main new thing is that you can now specify options to control how the lint works. You probably want to enable the undef option, for instance. I also fixed a &#8230; <a href="http://happygiraffe.net/blog/2006/06/04/javascript-lint-0-02/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just put together a new version of <a href="http://search.cpan.org/~HDM/JavaScript-Lint-0.02/">JavaScript::Lint</a>.  The main new thing is that you can now specify options to control how the lint works.  You probably want to enable the <em>undef</em> option, for instance.</p>
<p>I also fixed a problem where I was covering up errors when the lint couldn&#8217;t do anything more (e.g. nested comments).  After my mailing Douglas Crockford about it, he kindly pointed out that this was mentioned in the comments.  I&#8217;d entirely missed it.  Ah well.  Anyway, it now returns a &#8220;cannot proceed&#8221; message.</p>
<p><strong>Update</strong>: after spotting something rather stupid, I&#8217;ve now uploaded <a href="http://search.cpan.org/~HDM/JavaScript-Lint-0.03/">JavaScript::Lint 0.03</a> instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/06/04/javascript-lint-0-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript::Lint</title>
		<link>http://happygiraffe.net/blog/2006/06/02/javascript-lint/</link>
		<comments>http://happygiraffe.net/blog/2006/06/02/javascript-lint/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 19:36:00 +0000</pubDate>
		<dc:creator>Dominic Mitchell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lint]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://happygiraffe.net/2006/06/02/javascript-lint/</guid>
		<description><![CDATA[After whinging gratuitously about how cruddy non-browser JavaScript is, Mark Fowler kindly pointed me in the right direction to get Perl integration working: JavaScript.pm. So now I&#8217;ve wrapped up JSLint into a small command line tool (and Perl lib), JavaScript::Lint. &#8230; <a href="http://happygiraffe.net/blog/2006/06/02/javascript-lint/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://happygiraffe.net/blog/archives/2006/05/29/jslint">whinging gratuitously</a> about how cruddy non-browser JavaScript is, Mark Fowler kindly pointed me in the right direction to get Perl integration working: <a href="http://search.cpan.org/dist/JavaScript/">JavaScript.pm</a>.</p>
<p>So now I&#8217;ve wrapped up <a href="http://jslint.com/">JSLint</a> into a small command line tool (and Perl lib), <a href="http://search.cpan.org/dist/JavaScript-Lint/">JavaScript::Lint</a>.</p>
<p>It&#8217;s fairly simple at the moment.  I plan to add support for the options in jslint soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://happygiraffe.net/blog/2006/06/02/javascript-lint/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

