<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>anielsen</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/anielsen/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.perl.org/users/anielsen/atom.xml" />
    <id>tag:blogs.perl.org,2009-11-03:/users/anielsen//468</id>
    <updated>2010-10-11T17:59:40Z</updated>
    <subtitle>A blog about the Perl programming language</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.38</generator>

<entry>
    <title>RHEL and perl</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/anielsen/2010/10/rhel-and-perl.html" />
    <id>tag:blogs.perl.org,2010:/users/anielsen//468.1104</id>

    <published>2010-10-11T17:52:01Z</published>
    <updated>2010-10-11T17:59:40Z</updated>

    <summary>At Jobindex we use Red Hat Enterprise Linux. The OS is very stable and we feel that Red Hat is doing a lot of good stuff for Linux and OSS in general. When it comes to perl the current version...</summary>
    <author>
        <name>anielsen</name>
        
    </author>
    
    <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="git" label="git" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rhel" label="rhel" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yapc" label="yapc" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yapceu" label="yapceu" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/anielsen/">
        <![CDATA[<p>At Jobindex we use Red Hat Enterprise Linux. The OS is very stable and we feel that Red Hat is doing a lot of good stuff for Linux and OSS in general.</p>

<p>When it comes to perl the current version RHEL ships with version 5.8.8 which causes a bit frustration however. Some CPAN modules won't install and it seems like the people who writes modules for CPAN don't really care about our (good) old perl verison.</p>

<p>At YAPC::EU several of the speakers recommended installing perl ourselves instead relying on the OS version.</p>

<p>We have now decided to follow this recommendation. At the same time we will also start using git to manage perl and the installed modules to keep the versions in testing and production in sync. This way we wil also avoid messing with RPM packages.</p>

<p>So now I am looking forward to getting my hands on perl 5.12.2 :)</p>]]>
        
    </content>
</entry>

<entry>
    <title>I hate the param method from CGI</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/anielsen/2010/08/i-hate-cgi-param.html" />
    <id>tag:blogs.perl.org,2010:/users/anielsen//468.918</id>

    <published>2010-08-18T13:34:43Z</published>
    <updated>2010-08-18T13:51:26Z</updated>

    <summary>Scalar and list content is a nice and advanced feature of perl. Sometimes I think it&apos;s a bit too smart for us who use perl. In our code we have a lot of method calls like this $obj-&gt;foo( name1 =&gt;...</summary>
    <author>
        <name>anielsen</name>
        
    </author>
    
    <category term="cgi" label="cgi" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="security" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/anielsen/">
        <![CDATA[<p>Scalar and list content is a nice and advanced feature of perl. Sometimes I think it's a bit too smart for us who use perl.</p>

<p>In our code we have a lot of method calls like this <blockquote>$obj->foo( name1 => $value, name2 => bar() );</blockquote></p>

<p>We do a lot of web stuff and often we like to pass the user input to a method like this:<br />
<blockquote>$obj->foo( name1 => $value, name2 => $cgi->param("inputkey") );</blockquote></p>

<p>This code is bad! It should be <br />
<blockquote>$obj->foo( name1 => $value, name2 => scalar($cgi->param("inputkey")) );</blockquote></p>

<p>This is because the call to param is in list content. The bug is nasty because it often has security implications. The user can give multiple parameters to the web-script and then overwrite the parameters to the foo method.</p>

<p>This is an example:<br />
<blockquote>$obj->foo( is_superuser =>0, name => $query->param("name") );</blockquote></p>

<p>The user is able to call foo in superuser mode if he calls the script with the querystring<br />
<blockquote>?name=Anders&name=is_superuser&name=1</blockquote></p>

<p>So who is too blame for this mess? The programmer? Well we have some very bright people and they made this mistake many times in the past. When many people make the same mistake many times it could be argued that it isn't only their fault. Should we blame perl? Maybe the context feature is just too advanced. We could however also blame the CGI module for having a crappy interface. Or blame the perl community for allowing CGI to be such an important module.</p>]]>
        
    </content>
</entry>

<entry>
    <title>What I learned at YAPC::EU 2010</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/anielsen/2010/08/what-i-learned-at-yapceu-2010.html" />
    <id>tag:blogs.perl.org,2010:/users/anielsen//468.860</id>

    <published>2010-08-09T08:04:15Z</published>
    <updated>2010-08-11T10:30:29Z</updated>

    <summary>This is a small list of stuff I learned at YAPC::EU 2010 in Pisa. I can blog here at blogs.perl.org I need to look at Try::Tiny. It&apos;s supposed to be (exceptionally) good at handling exceptions The WWW::Mechanize::Firefox talk by Max...</summary>
    <author>
        <name>anielsen</name>
        
    </author>
    
    <category term="fastcgi" label="fastcgi" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pisa" label="pisa" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yapc" label="yapc" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yapceu" label="yapceu" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/anielsen/">
        <![CDATA[<p>This is a small list of stuff I learned at YAPC::EU 2010 in Pisa.</p>

<ul>
	<li>I can blog here at blogs.perl.org</li>
	<li>I need to look at Try::Tiny. It's supposed to be (exceptionally) good at handling exceptions</li>
	<li>The WWW::Mechanize::Firefox talk by Max Maischein should have been a bit longer. Max said he used RT for support questions and bug reports</li>
	<li> The bars in Pisa close early and without any warning</li>
	<li> People compile and install their own perl instead of using the version that comes with the OS</li>
	<li> A lot of people use FastCGI instead of mod_perl. FastCGI has a X-Sendfile feature</li>
	<li> I need to take a look at AnyEvent <a href="http://search.cpan.org/dist/AnyEvent/">http://search.cpan.org/dist/AnyEvent/</a></li>
	<li> I need to take a look at CPAN Minus (cpanm) </li>
	<li> I need to take a look at Varnish <a href="http://varnish-cache.org/">http://varnish-cache.org/</a> for ESI and caching</li>
	<li> I need to take a look at Splunk <a href="http://www.splunk.com/">http://www.splunk.com/</a> for log handling</li>
	<li> I need to take a look at MogileFS <a href="http://code.google.com/p/mogilefs/">http://code.google.com/p/mogilefs/</a></li>
<li> Task::Kensho <a href="http://search.cpan.org/~apeiron/Task-Kensho/">http://search.cpan.org/~apeiron/Task-Kensho/ </a>contains a number of modules which are recommended by mst and other CPAN/perl celebs</li> 
<li>Norweigan has a direct connection from Copenhagen to Pisa</li>
<li>Gitalist is a better web front end to git <a href="http://www.gitalist.com/">http://www.gitalist.com/</a></li>
<li>The food in Pisa is excellent</li>
<li>Perlbrew sounds like an interesting project</li>
</ul>]]>
        
    </content>
</entry>

</feed>
