<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Perl Hacks</title>
    <link rel="alternate" type="text/html" href="http://perlhacks.com/" />
    <link rel="self" type="application/atom+xml" href="http://perlhacks.com/atom.xml" />
    <id>tag:perlhacks.com,2009-05-18://1</id>
    <updated>2010-03-12T09:52:48Z</updated>
    <subtitle>Just another Perl Blog</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.3-en</generator>

    <entry>
        <title>Crufty Old Perl</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/03/crufty-old-perl.php" />
        <id>tag:perlhacks.com,2010://1.52</id>
        <published>2010-03-11T18:05:36Z</published>
        <updated>2010-03-12T09:52:48Z</updated>
        <summary>It&apos;s eighteen months since I wrote &quot;Why Corporates Hate Perl&quot; and it&apos;s worth pointing out that the company I discussed in that article which was dropping Perl in favour of PHP and Java is still employing as many good Perl...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="frameworks" label="frameworks" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="legacycode" label="legacy code" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="programming" label="programming" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="rewrites" label="rewrites" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[It's eighteen months since I wrote "<a href="http://www.oreillynet.com/onlamp/blog/2008/08/why_corporates_hate_perl.html">Why Corporates Hate Perl</a>" and it's worth pointing out that the company I discussed in that article which was dropping Perl in favour of PHP and Java is still employing as many good Perl programmers as it can find.<br /><br />I talked in that article about some rather unsubtle social engineering that had been going on at that company. Management had started to talk about Perl as a "legacy language" in an attempt to persuade the business that they really don't want their applications written in Perl. That doesn't seem to have been as successful as I feared it would be.<br /><br />But there's another kind of social engineering that I've seen going on. And this is happening at the developer level. I've lost count of the number of times I've been sitting in meetings with developers, discussing ways to improve the quality of crufty old Perl code when someone throws in the (more than half-serious) suggestion that we should just rewrite the whole thing using Rails or Django.<br /><br />There seems to be this idea that switching to a new framework in a new language will act as some time of magic bullet and that suddenly all of our problems will be solved. There are so many ways that this perception is flawed, Here are my two favourites.<br /><br /><ol><li>The current system is old and crufty not because it's written in Perl, but because it was written by people who didn't understand the business requirements fully, didn't know their tools particularly well or were under pressure to deliver on a timescale that didn't give them time to design the system properly. Often it's a combination of all three. Given the time to rewrite the system from scratch, of course it will be better. But it will be better because the business is better understood and tools and techniques have been improved - not because it's no longer written in Perl.</li><li>Frameworks in other languages are not easier to use or more powerful than frameworks in Perl. Anything that you can do with Rails or Django you can do just as easily with Catalyst. It's using a framework that's the big win here, not the particular framework that you use. Sure, if you're a Ruby house then using a Ruby framework will probably match your existing developers' skills more closely but if your current system is written in Perl then, hopefully, you have a team of people with Perl skills and that's going to be the language you'll want to look at.</li></ol><br />I'm tired of Perl being seen as a second-class citizen in the dynamic languages world. I freely admit that there's a lot of bad Perl code out there (I'll even admit to writing some of it) but it's not bad Perl code because it's Perl, it's bad Perl code because it's bad code.<br /><br />This is what the Perl marketing initiative is for. We need people to know that Perl is not the same language that they stopped using ten years ago. Modern Perl can compete with any of the features of any other dynamic language.<br /><br />By al means, try to get the time to rewrite your crufty old systems. But rewrite them in Modern Perl. You'll enjoy it and you'll be really productive.<br /><br />p.s. I should point out that I'm not talking about any specific client here. This is based on conversations that I've had at various companies over the last couple of years and also discussions with many developers in many pubs.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Plug Plug Plug</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/03/plug-plug-plug.php" />
        <id>tag:perlhacks.com,2010://1.51</id>
        <published>2010-03-01T21:50:34Z</published>
        <updated>2010-03-01T21:56:50Z</updated>
        <summary>I&apos;ve got another set of public training courses coming up next month. They will be held at the Imperial Hotel in Russell Square, London.There are three one-day courses - Introduction to Perl, Intermediate Perl and Advance Perl. They&apos;re running on...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Training" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="april2010" label="april 2010" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="traininglondon" label="training. london" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[I've got another set of public training courses coming up next month. They will be held at the Imperial Hotel in Russell Square, London.<br /><br />There are three one-day courses - Introduction to Perl, Intermediate Perl and Advance Perl. They're running on the 13th, 14th and 15th of April.<br /><br />More details on my <a href="http://mag-sol.com/train/public/">training web site</a>. Hope to see some of you there.<br /><br />p.s. Gabor has been kind enough to advertise the courses on his newly revamped <a href="http://cpanforum.com/">CPAN Forum</a> site - so the least I can do is to repay the favour and recommend that you have a look at the site.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Marketing Perl at FOSDEM</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/marketing-perl-at-fosdem.php" />
        <id>tag:perlhacks.com,2010://1.50</id>
        <published>2010-02-19T13:04:15Z</published>
        <updated>2010-02-19T13:40:49Z</updated>
        <summary>It&apos;s two weeks since I went to FOSDEM and I promised to write an article about what happened there. Better do that before I forget everything.Some time ago, Gabor applied for a Perl stand at this year&apos;s FOSDEM. The idea...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="conferences" label="conferences" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="fosdem" label="fosdem" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="marketing" label="marketing" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[It's two weeks since I went to <a href="http://www.cebit.de/">FOSDEM</a> and I promised to write an article about what happened there. Better do that before I forget everything.<br /><br />Some time ago, <a href="http://szabgab.com/">Gabor</a> applied for a Perl stand at this year's FOSDEM. The idea was that we could go along and promote Perl to people who are part of the Open Source community but not part of the Perl community.<br /><br />When I first arrived at the venue, it took me some time to find the Perl stand. This was largely because I was searching in the wrong building. I forgot that FOSDEM is spread over several buildings at the <a href="http://fosdem.org/2010/practical/transportation">ULB</a>. I had assumed that we'd be in the main building, but we were actually in another building along with most of the stands.<br /><br />The Perl Foundation had paid for some stuff for us to give away from the stand. We had some postcards listing Perl events in Europe this year and some <a href="http://twitpic.com/11o14i">round tuits</a>. There were also a few other leaflets promoting particular Perl events.<br /><br />I think it was unusual for a programming language to have a stand at the conference. Plenty of other projects had stands, but I didn't see any other languages. A lot of the other stands were promoting projects that they were able to demonstrate. I think it's hard to demonstrate a programming language in a situation like that.<br /><br />We got a lot of people passing by the stand and many of them stopped to talk. The round tuits attracted the most attention, but it was sometimes hard to explain the joke to people whose first language wasn't English. There were at least a couple of times when I just gave up trying.<br /><br />On Saturday afternoon, <a href="http://juerd.nl/">Juerd</a> arrived. He brought a project with him and we set that up projecting a hastily assembled slideshow on the wall opposite us. That also drew a lot of attention to the stand. In the future I think it's a good idea to plan something like that in advance.<br /><br />Just about everyone who we talked to knew about Perl. And most of them had used it at some point. Most of the people I spoke to were still using it to some extent. But very few of them knew about the "Modern Perl" projects that we were promoting (Catalyst, Moose, DBIx::Class, etc) or the huge number of Perl events that take place i Europe every year. I think we got some of them interesting in Modern Perl and I'm hoping that we'll see a few new faces at various Perl events this summer. I promised to buy a drink for some of them if they come along to YAPC::Europe. If they all take me up on it, it might get a bit expensive.<br /><br />Our presence at the conference was all very experimental. We know that this is something that we want to do more of, but we're just working out the most effective approaches to take. But I think that we can count this attempt as a success and take the lessons learned forward to other non-Perl conferences. The next one on the list is <a href="http://www.google.co.uk/aclk?sa=L&amp;ai=CGYBE85J-S9HXDYK4oQT7w4yMB_PHj6YBr_LhlRCf85UICAAQASDHgvcFUIWB6P0BYLu-roPQCsgBAakCOO-Zk3metj6qBBlP0Fb8pUr3PHgqY0qsKDq0sbpWLD-m3LimgAWQTg&amp;sig=AGiWqtzvc_7lo2Rws8UwnrIjj6N3hUnlrA&amp;q=http://www.cebit.de/homepage_e%3Fns_campaign%3Dsea_greatbritain%26ns_mchannel%3Dkeyword_allg_greatbritain%26ns_source%3Dgoogle_int%26ns_linkname%3Dcebit%26ns_fee%3D0">CeBIT</a>.<br /><br />Other people have also written about this event: <a href="http://szabgab.com/blog/2010/02/1266052953.html">Gabor</a>, <a href="http://nxadm.wordpress.com/2010/02/19/fosdem-2010-impressions/">Claudio</a>, <a href="http://www.mail-archive.com/events@lists.perlfoundation.org/msg00124.html">Erik</a>, <a href="http://www.mail-archive.com/events@lists.perlfoundation.org/msg00130.html">Salve</a>.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>META.yml and Building RPMs</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/metayml-and-building-rpms.php" />
        <id>tag:perlhacks.com,2010://1.49</id>
        <published>2010-02-10T13:03:50Z</published>
        <updated>2010-02-10T13:56:05Z</updated>
        <summary>An email has flooded in. It was in response to my piece about Building RPMs from CPAN Distributions and it was from Andreas Koenig. Andreas runs PAUSE, which is the service CPAN authors use to upload stuff to CPAN, so...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="fedora" label="fedora" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="linux" label="linux" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="rpm" label="rpm" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[<p>An email has flooded in. It was in response to my piece about <a href="http://perlhacks.com/2010/02/building-rpms-from-cpan-distributions.php">Building RPMs from CPAN Distributions</a> and it was from Andreas Koenig. Andreas runs PAUSE, which is the service CPAN authors use to upload stuff to CPAN, so he knows what he's talking about when it comes to CPAN (and many other matters). He says this:</p>
<blockquote>It's not correct that the META.yml contains the exact list of dependencies. The META.yml is not the authoritative source for them. The reason behind is that dependencies do differ across architectures. Exceptions to this rule may declare dynamic_config=0. In order to obtain the real list of dependencies you must run your Makefile.PL or Build.PL. Recent Module::Build provides a MYMETA.yml after Build.PL has run. You could use that instead. MakeMaker always had the dependency as a comment in the Makefile.<br /></blockquote>He is, of course, right. My previous article skipped blithely over some of the more gnarly corners of this problem. I should point out that <a href="http://szabgab.com/">Gabor</a> and I discussed some of these over the weekend but it's almost certainly worthwhile going into a little more detail.<br /><br />It's true that a static META.yml file can't deal with all of the possibilities. Here are a number of examples of areas that need to be looked at in more detail.<br /><br /><b>Environmental differences</b><br />This is the area that Andreas is talking about. And the <a href="http://search.cpan.org/dist/Padre/">Padre</a> problem I mentioned on Monday is one example of this. Padre runs on several different platforms. And some dependencies will only be required on certain platforms. For example the <a href="http://search.cpan.org/dist/Win32-API/">Win32::API</a> module is only required if the module is being installed on Windows.<br /><br />But it's not just different operating systems or architectures that cause problems like this. If you're trying to use <a href="http://search.cpan.org/dist/Plack/">Plack</a> on a server with Apache 2 installed, you'll need <a href="http://search.cpan.org/dist/libapreq2/">Apache2::Request</a>. If your server has Apache 1 installed you'll need <a href="http://search.cpan.org/dist/libapreq/">Apache::Request</a>. In each case, you won't need the request module for the Apache version that you aren't using. As things stand, the META.yml for Plack doesn't list either of the Apache request modules, but a more intelligent system could work out which one of them is required and add that one to the list of dependencies.<br /><br /><b>"Choose One" requirements</b><br />Some modules exist simply as a way of allowing the user to choose between one of a number of implementations of a feature. A good example is <a href="http://search.cpan.org/dist/JSON-Any/">JSON::Any</a>. There are (at least) three different JSON modules on CPAN - <a href="http://search.cpan.org/dist/JSON/">JSON</a>, <a href="http://search.cpan.org/dist/JSON-DWIW/">JSON::DWIW</a> and <a href="http://search.cpan.org/dist/JSON-XS/">JSON::XS</a>). Different systems will have different ones installed. JSON::Any allows a program to use any JSON module and not care which of them is installed. But how do you model that dependency? If you make any (or all) of the supported modules a required dependency, you rather miss the whole point of the module. JSON::Any's META.yml ignores the problem and leaves it to the Makefile.PL to work out what to do. The Fedora RPM for this module takes a weird approach and makes JSON::XS a required dependency. Even if META.yml could support this mode of working, RPM doesn't have this feature.<br /><br /><b>Added features</b><br />Some modules have optional requirements. That is, if certain other modules are installed then the module gains more features. One example is the Template-XML distribution. <a href="http://search.cpan.org/dist/Template-XML/">Template-XML</a> contain a plugin (<a href="http://search.cpan.org/perldoc?Template::Plugin::XML">Template::Plugin::XML</a>) for the Template Toolkit. Template::Plugin::XML is a wrapper around a number of XML processing modules. If a particular module (for example, <a href="http://search.cpan.org/dist/XML-DOM/">XML::DOM</a>) is installed then Template::Plugin::XML allows the user to uses XML::DOM for XML processing. It works similarly for <a href="http://search.cpan.org/dist/XML-LibXML/">XML::LibXML</a>, <a href="http://search.cpan.org/dist/XML-Parser/">XML::Parser</a>, <a href="http://search.cpan.org/dist/XML-RSS/">XML::RSS</a>, <a href="http://search.cpan.org/dist/XML-Simple/">XML::Simple</a> and <a href="http://search.cpan.org/dist/XML-XPath/">XML::XPath</a>. None of them are required, different functionality is turned on for each one that is installed. You don't have to configure Template::Plugin::XML at all to work with these modules. It just works if a particular module is installed. If, at a later date, you remove that module then Template::Plugin::XML removes the features supported by that module.<br /><br />This seems to be somewhere where I have philosophical differences with the Fedora RPM packaging team. I believe that all of these modules should be seen as optional and there for shouldn't be listed as dependencies in the META.yml or the RPM. The Fedora team disagrees. They want each RPM to depend on all of the modules it needs in order to have as many features as possible, The Template-XML RPM therefore requires all of the XML processing modules I listed above. That seems wrong to me.<br /><br />META.yml supports the concept of&nbsp; "recommended modules". I think that these optional modules should be listed there. But I don't believe that RPM has a similar feature.<br /><br /><br />So there are a few problems that I see with the META.yml approach. In the face of these issues I should probably back down slightly from my previous position that META.yml is the definitive way to get a list of dependencies. What I now believe is that parsing META.yml will give you a better position to start from than parsing the Perl code and extracting all of the "use" statements.<br /><br />But I hadn't previously heard of the MYMETA.yml that Andreas mentioned in his email. That's certainly a way to get round the environmental differences I listed above. I don't think it solves the other two issues though.<br /><br />Are there any other corner cases that I've missed. Does anyone else have any opinions on building RPMs from CPAN distributions?<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Useful RPM Stuff</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/useful-rpm-stuff.php" />
        <id>tag:perlhacks.com,2010://1.48</id>
        <published>2010-02-09T10:43:47Z</published>
        <updated>2010-02-09T10:49:41Z</updated>
        <summary>I forgot to mention this yesterday. I&apos;ve set up a github project (see http://github.com/davorg/rpm_stuff) where I&apos;ll dump bits and pieces that I&apos;m writing to make my RPM-building life easier.The first utility I&apos;ve uploaded there is called can_rpmbuild. You pass it...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="github" label="github" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="rpm" label="rpm" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="utilities" label="utilities" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[I forgot to mention this yesterday. I've set up a github project (see <a href="http://github.com/davorg/rpm_stuff">http://github.com/davorg/rpm_stuff</a>) where I'll dump bits and pieces that I'm writing to make my RPM-building life easier.<br /><br />The first utility I've uploaded there is called <a href="http://github.com/davorg/rpm_stuff/blob/master/can_rpmbuild">can_rpmbuild</a>. You pass it an RPM spec file and it tells you which of the dependencies are available from the RPM repositories that you use and which of them you'll have build yourself.<br /><br />I'm sure it can be improved. Patches welcome of course. And please let me know if you find it useful.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Building RPMs from CPAN Distributions</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/building-rpms-from-cpan-distributions.php" />
        <id>tag:perlhacks.com,2010://1.47</id>
        <published>2010-02-08T13:01:02Z</published>
        <updated>2010-02-08T15:16:54Z</updated>
        <summary>Regular readers will know that in the past I&apos;ve shown some interest in building RPMs from CPAN distributions. It&apos;s been a while since I did much work in this area (although I do still release the occasional module to my...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="fedora" label="fedora" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="linux" label="linux" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="rpm" label="rpm" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[Regular readers will know that in the past I've shown some interest in <a href="http://www.slideshare.net/davorg/perl-in-rpmland-presentation">building RPMs from CPAN distributions</a>. It's been a while since I did much work in this area (although I do still release the occasional module to <a href="http://rpm.mag-sol.com/">my RPM repository</a>.<br /><br />Over the weekend I was at FOSDEM and I attended Gabor's talk on <a href="http://fosdem.org/2010/schedule/events/dist_perl_cpan">packaging CPAN modules for Linux distributions</a>. This has rekindled my interest in this area and I spent most of the train journey back from Brussels hacking around the area.<br /><br />There's one thing that has been bothering me in particular recently. The standard RPM building mechanism (or, at least, the way it's configured in Fedora and Centos) does something incredible brain dead when trying to work out what other modules the current module depends on. It does it by parsing the source code and looking for "use" statements. This means that a module that might only be used in really obscure cases is going to be listed as a mandatory requirement for your module.<br /><br />Gabor and I actually saw an example of this over the weekend when the Fedora packaging team raised a bug against <a href="http://search.cpan.org/dist/Padre/">Padre</a> because it requires Win32::API. Padre, of course, only uses Win32::API when being used on Windows. And for that reason Win32::API is not listed as a dependency in its <a href="http://cpansearch.perl.org/src/PLAVEN/Padre-0.56/META.yml">META.yml</a>.<br /><br />And that's, of course, where the RPM builders should be going to get a list of dependencies. META.yml contains the list of other modules that the author wants the module to depend on. This should be seen as the definitive list. Of course, there might be errors in that list - but that should be addressed by raising a bug against the module.<br /><br />I've poked at this problem a few times, trying to work out how the RPM system parses the code and trying to replace that with code that looks at META.yml instead. But the RPM system uses a baroque system of interdependent macros and eventually they all lead to a piece of rather clunky Perl code. So each time I've approached this problem, I've backed off again.<br /><br />The problem became more urgent when I wanted to package <a href="http://search.cpan.org/dist/Plack/">Plack</a> for Fedora. Plack supports all sorts of hosting environments and therefore includes "use" statements loading a number of modules that most people will never use. Fedora includes Apache2, so Apache::Request (which is for Apache1) will never be available. It's not listed in <a href="http://search.cpan.org/src/MIYAGAWA/Plack-0.9031/META.yml">META.YML</a>, but it is used by one of the modules. The RPM build system was therefore insisting that it should be present. An impasse was reached.<br /><br />Then I decided to turn the problem on its head. RPM building has two steps. You create a spec file for the RPM and then you build the RPM using the spec file and your original tarball. I started wondering if I could ensure that the spec had all of the requirements (from the META.yml). Once I'd done that I would only need to find some way to turn off the RPM build system's default behaviour.<br /><br />People packaging CPAN modules for Fedora (and Centos) use a program called 'cpanspec' to generate spec files. I started digging into the code there in order to find out how to insert the list of correct dependencies.<br /><br />Only to find that it has already been done. cpanspec is already doing the right thing and generating a list of 'Requires' statements from the data in META.yml.<br /><br />Then all I needed to do was to see if I could turn off the (broken) default RPM build behaviour which was adding spurious extra dependencies. That proved to be easy too. It's just a case of adding <tt>%__perl_requires %{nil}</tt> to your .rpmmacros files.<br /><br />So now all of my RPMs will have only the correct dependencies listed. This makes me very happy.<br /><br />I suppose I should go back and rebuild all of the older ones too.<br /><br />Oh, and because I've worked out a really easy way to generate this - here's <a href="http://spreadsheets.google.com/pub?key=tVoSlaYU1SGovwwjV0fqt9Q&amp;output=html">a spreadsheet listing which CPAN modules are available as RPMs for Fedora</a>. I plan to keep this list up to date (and make it much longer). [Link now fixed]<br /><br />p.s. More about my trip to FOSDEM and the Perl marketing push there over the next couple of days.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Cultured Perl Blog</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/cultured-perl-blog.php" />
        <id>tag:perlhacks.com,2010://1.46</id>
        <published>2010-02-02T09:29:46Z</published>
        <updated>2010-02-02T13:31:26Z</updated>
        <summary>A couple of years ago I thought that one thing the Perl community was missing was a network of blog sites about Perl. I&apos;m not talking about the individual blogs that are being shown off to such good effect by...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Community" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="blog" label="blog" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="community" label="community" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="perlculture" label="perl culture" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[A couple of years ago I thought that one thing the Perl community was missing was a network of blog sites about Perl. I'm not talking about the individual blogs that are being shown off to such good effect by the <a href="http://ironman.enlightenedperl.org/">Iron Man project</a>, I'm talking about a set of multi-author blogs that covered particular facets of the Perl world. Something like a Perl-specific version of <a href="http://lifehacker.com/">LifeHacker</a> or <a href="http://boingboing.net/">BoingBoing</a>. To that end, I registered a number of domains and set about installing Movable Type.<br /><br />That bit was easy. That bit I can do. The next bit is harder.<br /><br />The next bit involves getting authors interested in writing for the blogs on a regular basis. That bit I didn't do so well at and none of the blogs florished.<br /><br />One of them didn't even get going. That was <a href="http://culturedperl.com/">Cultured Perl</a>. The idea behind Cultured Perl was that it would discuss Perl culture. That's all the non-technical bits of the Perl world. Perl Mongers, Perl conferences, things like that. I had a few authors signed up, but nothing ever really happened.<br /><br />So why am I telling you this? Well, the Cultured Perl domains are up for renewal. And I'm trying to work out whether it's worth keeping them.<br /><br />Would you be interested in reading a Cultured Perl blog? And would you be interested in writing for it?<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>FOSDEM</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/02/fosdem.php" />
        <id>tag:perlhacks.com,2010://1.45</id>
        <published>2010-02-01T12:52:31Z</published>
        <updated>2010-02-01T13:12:23Z</updated>
        <summary>This weekend is the annual FOSDEM conference in Brussels. I really enjoy FOSDEM but, for reasons I don&apos;t really understand, this will be the first time I&apos;ve been since 2005. It will also be one of the rare occasions where...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="conferences" label="conferences" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="fosdem" label="fosdem" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="linux" label="linux" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="padre" label="padre" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[This weekend is the annual <a href="http://fosdem.org/">FOSDEM</a> conference in Brussels. I really enjoy FOSDEM but, for reasons I don't really understand, this will be the first time I've been since 2005. It will also be one of the rare occasions where I attend a conference without giving a talk - the organisers turned down my proposed talk on Modern Perl.<br /><br />I like FOSDEM because it's not just a Perl conference. It's about the wider open source movement. In fact Perl is a really small part of of the conference. In many years it has been completely unrepresented. One of the things I mentioned in my "<a href="http://www.slideshare.net/davorg/the-m-word">M Word</a>" talk at the London Perl Workshop was that Perl needed to be better represented at non-Perl conferences. With that in mind, the Perl Foundation has booked <a href="http://fosdem.org/2010/stands">a stand at the conference</a> and various volunteers (including me) will be there telling people about how wonderful Perl is.<br /><br />The main driver behind this push to get Perl represented at other conferences has been <a href="http://szabgab.com/">Gabor Szabo</a> and he'll also be at FOSDEM giving a couple of talks. One is a lightning talk introducing people to <a href="http://fosdem.org/2010/schedule/events/padre_the_perl_ide">Padre</a>. The other is about <a href="http://fosdem.org/2010/schedule/events/dist_perl_cpan">packaging CPAN modules for Linux distributions</a>. Those of you with long memories might remember me <a href="http://www.slideshare.net/davorg/perl-in-rpmland-presentation">talking about this</a> at YAPC in Copenhagen. I'm hoping that attending Gabor's talk will galvanise me into having another go at my project to automatically build RPMs of many more CPAN modules than are currently available.<br /><br />So, as you can see, there are plenty of good reasons to be at FOSDEM this weekend. And that's even before considering that it takes place in one of my favourite European cities. I might even treat myself to a <a href="http://en.wikipedia.org/wiki/Pauwel_Kwak">Kwak</a> in one of the bars on the Grand Place.<br /><br />If you're at FOSDEM next weekend, please stop by the Perl stand and say hello.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Perl Web Server</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/01/perl-web-server.php" />
        <id>tag:perlhacks.com,2010://1.44</id>
        <published>2010-01-22T09:10:32Z</published>
        <updated>2010-01-22T09:17:03Z</updated>
        <summary>Coming a little late to this game, but I understand there are some concerns in the Perl community that the phrase &quot;Perl Web Server&quot; doesn&apos;t find the best site when you search for it in Google. I&apos;m happy to add...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="perlwebserver" label="perl web server" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="plack" label="plack" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="seo" label="seo" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[Coming a little late to this game, but I understand there are some concerns in the Perl community that the phrase "<a href="http://plackperl.org/">Perl Web Server</a>" doesn't find the best site when you search for it in Google. I'm happy to add my vote that "<a href="http://plackperl.org/">Perl Web Server</a>" should point at the <a href="http://plackperl.org/">Plack web site</a>.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Market Research</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/01/market-research.php" />
        <id>tag:perlhacks.com,2010://1.43</id>
        <published>2010-01-12T15:18:13Z</published>
        <updated>2010-01-12T15:25:20Z</updated>
        <summary>I hope no-one minds if I use this post to do a quick bit of market research.I&apos;m planning to run some more public Perl training courses in April. Until now when I&apos;ve run these courses, they have been pretty generic...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Training" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[I hope no-one minds if I use this post to do a quick bit of market research.<br /><br />I'm planning to run some more <a href="http://mag-sol.com/train/public/">public Perl training courses</a> in April. Until now when I've run these courses, they have been pretty generic beginners, intermediate and advanced courses. But now I'm thinking that it might be interesting to run more focussed courses.<br /><br />I'm planning to keep the intermediate course (as that seems to be pretty popular). So that leaves me looking for two more courses to run. Current ideas include:<br /><br /><ul><li>Testing</li><li>OO Perl (largely covering Moose)</li><li>Databases (largely covering DBIx::Class)</li><li>Web programming (touching on basic CGI but moving on swiftly to things like Catalyst and PSGI)</li></ul>Does anyone have any opinions? What Perl courses would you like to see in London? What courses would you attend? Or, perhaps more importantly, what courses would your employers pay for you to attend?<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Important SpamAssassin Update</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2010/01/import-spamassassin-up.php" />
        <id>tag:perlhacks.com,2010://1.42</id>
        <published>2010-01-02T14:23:55Z</published>
        <updated>2010-01-02T14:40:55Z</updated>
        <summary>Do you run SpamAssassin to remove spam from your mailbox? Have you noticed a fall in the amount of mail you&apos;ve received in the last couple of days? I mean all mail, not just spam.You might well be falling foul...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="email" label="email" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="spamassassin" label="spamassassin" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[<p>Do you run <a href="http://search.cpan.org/dist/Mail-SpamAssassin/">SpamAssassin</a> to remove spam from your mailbox? Have you noticed a fall in the amount of mail you've received in the last couple of days? I mean all mail, not just spam.<br /><br />You might well be falling foul of <a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269">this problem</a>. The rules in the latest version of SpamAssassin available from CPAN include this rule.</p>

<pre>##{ FH_DATE_PAST_20XX<br />header&nbsp;&nbsp; FH_DATE_PAST_20XX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date =~ /20[1-9][0-9]/ [if-unset: 2006]
describe FH_DATE_PAST_20XX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The date is grossly in the future.
##} FH_DATE_PAST_20XX</pre>

<p><br />And here are the scores for that rule:</p>

<pre>score FH_DATE_PAST_20XX 2.075 3.384 3.554 3.188 # n=2</pre>

<p><br />Basically, any mail with a date header greater than 2009 is given a score of about 3. Depending on your local configuration and other rules that the mail might trigger, that might well increase the chance of legitimate mail being marked as spam.</p>
<p>So have a look in your spam folder. You might find some good stuff in there.</p>
<p>Of course, I might be the only person who has been caught by this. It's possible that you all knew of the existence of <a href="http://wiki.apache.org/spamassassin/RuleUpdates">sa-update</a> and you've all got it running in a cronjob so you're using the latest rules and not the eighteen month old set that I have. I'll be setting that up today.</p>
<p>This has been a public service announcement for people who are as stupid as me.</p>]]>
            
        </content>
    </entry>

    <entry>
        <title>The &quot;Without Whom&quot;s</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2009/12/the-without-whoms.php" />
        <id>tag:perlhacks.com,2009://1.41</id>
        <published>2009-12-24T08:32:13Z</published>
        <updated>2009-12-24T09:07:24Z</updated>
        <summary>In The &quot;M&quot; Word, I listed many of the things that have happened in the Perl marketing world over the last year. I wanted to end the year by mentioning a few people without whom this project would not have...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Community" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="community" label="community" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="marketing" label="marketing" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="thanks" label="thanks" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[In <a href="http://perlhacks.com/2009/12/the-m-word.php">The "M" Word</a>, I listed many of the things that have happened in the Perl marketing world over the last year. I wanted to end the year by mentioning a few people without whom this project would not have got off the ground at all.<br /><br /><ul><li>Curtis "Ovid" Poe started writing about Perl's image issues on his <a href="http://use.perl.org/%7EOvid/journal/">use.perl journal</a> back in July. But he didn't just write about it. He chaired the <a href="http://use.perl.org/%7EOvid/journal/39409">Marketing BOF</a> that we held in Lisbon and he was the driving force behind setting up the <a href="http://news.perlfoundation.org/2009/10/the_perl_foundation_marketing.html">TPF marketing committee</a>. He has also been instrumental in getting the <a href="http://blogs.perl.org/">blogs.perl.org</a> site up and runnimg.</li><li><a href="http://szabgab.com/">Gábor Szabó</a> wasn't very far behind Ovid in starting to <a href="http://szabgab.com/blog/tags/marketing.html">blog about marketing</a>. He has also been vociferous in TPF marketing committee discussions. He always has another idea for projects we can take on and often does those projects himself before anyone else has a chance to volunteer. I particularly want to draw attention to the clean-up he did on <a href="http://pm.org/">pm.org</a> (a site full of links to dead Perl Monger groups isn't great advertising) and his work trying to <a href="http://news.perlfoundation.org/2009/12/events_mailing_list.html">increase Perl's visibility at non-Perl conferences</a>.</li><li><a href="http://www.shadowcat.co.uk/blog/matt-s-trout/">Matt Trout</a> and <a href="http://www.shadowcat.co.uk/blog/mark-keating/">Mark Keating</a> set up the <a href="http://www.enlightenedperl.org/ironman.html">Iron Man Blogging competition</a>. To my mind this has been the single biggest success in marketing Perl this year. I'm still astonished daily by the number of people out there who are blogging about Perl. They have somewhere around two hundred blogs in the competition.</li><li>Leo Lapworth has done some amazing work dragging Perl's web sites into the 21st century. Not many weeks go by without Leo announcing that he has redesigned another web site. I'm sure I've forgotten some of his announcements, but for a sample of his work see <a href="http://perl.org/">www.perl.org</a>, <a href="http://learn.perl.org/">learn.perl.org</a>, <a href="http://dbi.perl.org/">dbi.perl.org</a> and <a href="http://dbi.perl.org/">lists.perl.org</a>. Thanks should also go to his employers, <a href="http://www.foxtons.co.uk/">Foxtons</a>, who donated some of his time (and some time from a web designer too).</li></ul>Of course it's true that the recent resurgence of Perl is due to the new and improved modules that you can find on CPAN. <a href="http://search.cpan.org/dist/Moose/">Moose</a>, <a href="http://search.cpan.org/dist/DBIx-Class/">DBIx::Class</a>, <a href="http://search.cpan.org/dist/Catalyst-Runtime/">Catalyst</a> and <a href="http://search.cpan.org/dist/Plack/">Plack</a> (to name only four) are what enables Perl to retain its place in the forefront of modern programming languages. But it's the people listed above (and dozens of other who also work on marketing projects) who enable Perl news to break out of the echo chamber.<br /><br />We owe these people our thanks. And, on a more practical level, we owe them beer. If you see them at a Perl Mongers meeting, at a conference or even just on the street, it is your duty to stop them and say the magic words:<br /><br />"Hi. Thanks for your work. Can I buy you a beer?"<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>Perlanet Improvements</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2009/12/perlanet-improvements.php" />
        <id>tag:perlhacks.com,2009://1.40</id>
        <published>2009-12-15T08:40:16Z</published>
        <updated>2009-12-15T09:13:27Z</updated>
        <summary>I can be a bit of a lazy open source author at times. I love it when someone improves my code and then just emails me patches. I love it even more now that I&apos;m using Github so that people...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="bleedingedge" label="bleeding edge" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="github" label="github" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="modules" label="modules" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="nwepm" label="nwe.pm" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="perlanet" label="perlanet" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[I can be a bit of a lazy open source author at times. I love it when someone improves my code and then just emails me patches. I love it even more now that I'm using <a href="http://github.com/">Github</a> so that people can just fork <a href="http://github.com/davorg/">my code</a> and send me pull requests.<br /><br />That happened over the weekend. I got a pull request from <a href="http://github.com/cycles">cycles</a> saying that he'd been refactoring <a href="http://github.com/davorg/perlanet">Perlanet</a> and asking if I'd be interested in merging his changes. These refactorings had come out of a <a href="http://northwestengland.pm.org/meetings/012.html">mini-hackathon</a> that had been run by the <a href="http://northwestengland.pm.org/">North West England Perl Mongers</a>. I knew that they had been interested in using Perlanet to power the <a href="http://ironman.enlightenedperl.org/">Iron Man aggregator</a>, but that the monolithic nature of&nbsp; the code made it hard for them to subclass the bits that they needed to change.<br /><br />So what cycles has done is to take my code and break it down into a number of smaller functions (and a couple more classes) so that people can subclass it and override methods where they want different behaviour to the defaults that I use. I can see this leading to a little ecosystem of Perlanet subclasses where people release their favourite tweaks to CPAN. I see this as a good thing.<br /><br />I liked cycles' changes so I merged them into my repository. They're <a href="http://github.com/davorg/perlanet">available there</a> now if you want to look. I haven't yet released a new version to CPAN as there are a few things I want to check out first.<br /><br />Firstly, this new update seems to have increased the version of <a href="http://search.cpan.org/dist/Moose/">Moose</a> required. With the version of Moose that I was running on my system (0.88), a lot of the tests were failing. Updating to 0.93 solved that problem. I need to work out exactly what the problem was and update the "requires" line in Build.PL appropriately.<br /><br />Secondly, the newer version of Moose gave a deprecation warning when used with <a href="http://search.cpan.org/dist/CHI/">CHI</a>. Updating to the latest version of CHI fixed that (but that, in turn, meant upgrading a few modules in the <a href="http://search.cpan.org/dist/Log-Any/">Log::Any</a> family). This is all starting to get a bit too close to the bleeding edge of CPAN for a module that I want as many people as possible to use.<br /><br />Finally, cycles had started to use <a href="http://search.cpan.org/dist/TryCatch/">TryCatch</a> in the module. Not, of course, that I object to high quality exception handling in my code, but this is another module that isn't yet in general use. It's something that you won't find in a "standard" (whatever that means) Perl installation.<br /><br />I'm in the process of building RPMs of all of the missing modules (or later versions for the modules where the Fedora/Centos build is just lagging CPAN a bit). They'll be available from <a href="http://rpm.mag-sol.com/">rpm.mag-sol.com</a> in the next few days.<br /><br />Currently I'm leaning towards just releasing the new version and hoping that the people who want to use it will have enough enthusiasm that they won't complain about the updated and new modules that are required. But I thought it would be interesting to ask for your opinions too.<br /><br />As a user of CPAN modules, how do you decide when a module is too cutting edge for you to use? Do you just install newer versions of modules automatically when an installation asks you too? Or are you a little more careful than that? Would the constraints in this latest version of Perlanet prevent you from using it?<br /><br />And as a writer of CPAN modules, how cutting edge do you allow yourself to be? Are you happy to release stuff that only works with the very latest versions of Moose or other fast-moving modules? Or do you like to ensure that your stuff is usable by people who might be a little behind the curve?<br /><br />I should make it clear that I'm very grateful for the work that cycles did and I'm not disparaging his efforts at all. I'm just dithering a bit about how cutting edge I want to be.<br />]]>
            
        </content>
    </entry>

    <entry>
        <title>The &quot;M&quot; Word</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2009/12/the-m-word.php" />
        <id>tag:perlhacks.com,2009://1.39</id>
        <published>2009-12-06T18:52:08Z</published>
        <updated>2009-12-06T18:57:16Z</updated>
        <summary>Yesterday was the London Perl Workshop. As always it was a fabulous day packed full of great talks about Perl. Thanks to the organisers for all the work they put in.I gave the keynote speech first thing in the morning....</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="conferences" label="conferences" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="keynote" label="keynote" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="london" label="london" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="lpw" label="lpw" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="lpw2009" label="lpw2009" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="marketing" label="marketing" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[Yesterday was the London Perl Workshop. As always it was a fabulous day packed full of great talks about Perl. Thanks to the organisers for all the work they put in.<br /><br />I gave the keynote speech first thing in the morning. The talk was called <i>The "M" Word</i> and it was an overview of how the Perl community has started to get to grips with the problem of marketing over the last year.<br /><br />Here are the slides:<br /><div style="width: 425px; text-align: left;" id="__ss_2659661"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;" href="http://www.slideshare.net/davorg/the-m-word" title="The &quot;M&quot; Word">The "M" Word</a><object style="margin: 0px;" height="355" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mword-091206073821-phpapp02&amp;stripped_title=the-m-word" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mword-091206073821-phpapp02&amp;stripped_title=the-m-word" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></object><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/davorg">Dave Cross</a>.</div></div>]]>
            
        </content>
    </entry>

    <entry>
        <title>Blogs.perl.org Problems</title>
        <link rel="alternate" type="text/html" href="http://perlhacks.com/2009/11/blogsperlorg-problems.php" />
        <id>tag:perlhacks.com,2009://1.38</id>
        <published>2009-11-30T08:27:08Z</published>
        <updated>2009-11-30T09:14:45Z</updated>
        <summary>It&apos;s ten days since we announced blogs.perl.org and it still doesn&apos;t work properly.Our mistake was to launch it on a really underpowered server. It worked fine when there were half a dozen of us testing it out, but when the...</summary>
        <author>
            <name>Dave Cross</name>
            
        </author>
    
        <category term="Community" scheme="http://www.sixapart.com/ns/types#category" />
    
    
        <category term="blogsperlorg" label="blogs.perl.org" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="community" label="community" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <category term="problems" label="problems" scheme="http://www.sixapart.com/ns/types#tag" />
    
        <content type="html" xml:lang="en" xml:base="http://perlhacks.com/">
            <![CDATA[It's ten days since we announced <a href="http://blogs.perl.org/">blogs.perl.org</a> and it still doesn't work properly.<br /><br />Our mistake was to launch it on a really underpowered server. It worked fine when there were half a dozen of us testing it out, but when the entire Perl community descended on it to take a look at the site (and to sign up for accounts) the server collapsed under the strain.<br /><br />All of the problems that I've been told about so far have been down to memory allocation issues. The server has 512 MB (corrected from KB - it's bad, but not <i>that</i> bad!) of RAM and it really needs four times that.<br /><br />Things have calmed down over the last few days though. I suspect that's largely because people have lost interest in the site and have given up trying to register. We've also switched all of the MT processes to using FCGI. I see that a few people have registered successfully and are posting entries on the site. I salute their persistence.<br /><br />We have a plan for fixing the situation, however, and that will be put in place over the next week or so. The site will be moving to a new server with a more appropriate hardware configuration. We hope to minimise the amount of downtime whilst this happens.<br /><br />I can only apologise, once more, for the problems. I hope that once the new server is up and running, you'll all consider giving blogs.perl.org another try.<br /><br />I hope it's obvious, but none of these problems should be taken as a reflection on the quality of <a href="http://movabletype.com/">Movable Type</a> or the work that <a href="http://sixapart.com/">Six Apart</a> have done for us on the site. The problems all come down to capacity planning on the part of the people running the project.<br /><br />Which reminds me - if you're ever looking for someone to do capacity planning on your web site, I'm not the right person for the job!<br />]]>
            
        </content>
    </entry>

</feed>
