<?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>marcus ramberg &#187; Perl</title>
	<atom:link href="http://marcus.nordaaker.com/tag/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcus.nordaaker.com</link>
	<description>nordaaker</description>
	<lastBuildDate>Fri, 05 Feb 2010 09:01:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Burning the candle at both ends.</title>
		<link>http://use.perl.org/~sjn/journal/39953</link>
		<comments>http://marcus.nordaaker.com/2009/11/burning-the-candle-at-both-ends/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 09:17:49 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[perl mongers]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=3162</guid>
		<description><![CDATA[In addition to recent fatherhood and doing my own startup, I am now the leader of the Oslo Perl Mongers. Look forward to tech talks from Oslo.pm in the months to come. :)
(permalink)]]></description>
			<content:encoded><![CDATA[<p>In addition to recent fatherhood and doing my own startup, I am now the leader of the Oslo Perl Mongers. Look forward to tech talks from Oslo.pm in the months to come. :)</p>
<p><a href="http://marcus.nordaaker.com/2009/11/burning-the-candle-at-both-ends/" title="Permalink to this post">(permalink)</a></p>]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/11/burning-the-candle-at-both-ends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing JavaScript from Perl</title>
		<link>http://marcus.nordaaker.com/2009/11/testing-javascript-from-perl/</link>
		<comments>http://marcus.nordaaker.com/2009/11/testing-javascript-from-perl/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:57:40 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=3142</guid>
		<description><![CDATA[If you want to write tests for your JavaScript code from Perl, Claes&#8217; module Test::JavaScript::More comes in handy. This module works by evaling everything from the use line as JavaScript. Of course, now you&#8217;re mixing two languages in one file, which is not going to make any of your syntax validators happy. However, loading it [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to write tests for your JavaScript code from Perl, Claes&#8217; module <a href="http://search.cpan.org/~claesjac/JavaScript-1.12/lib/Test/JavaScript/More.pm">Test::JavaScript::More</a> comes in handy. This module works by evaling everything from the use line as JavaScript. Of course, now you&#8217;re mixing two languages in one file, which is not going to make any of your syntax validators happy. However, loading it like this will please both perl and jslint:</p>
<pre>
m| /* |; # Comment out JavaScript
use Test::JavaScript::More;
__END__ = '';  // It's is all JS from here. */
ok(1,'Success!');
</pre>
<p>One final note. I had some problems building the cpan module of JavaScript on OSX with Spidermonkey from ports. If you have the same problem, get the <a href="http://github.com/claesjac/javascript">latest and greatest version</a> from GitHub, which fixes this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/11/testing-javascript-from-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating QR barcodes with perl.</title>
		<link>http://perltraining.com.au/tips/2009-10-08.html</link>
		<comments>http://marcus.nordaaker.com/2009/10/creating-qr-barcodes-with-perl/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 13:22:23 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[barcodes]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[qr]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=3092</guid>
		<description><![CDATA[A really simple tutorial for creating these 2d-barcodes that you see android use all the time.
(permalink)]]></description>
			<content:encoded><![CDATA[<p>A really simple tutorial for creating these 2d-barcodes that you see android use all the time.</p>
<p><a href="http://marcus.nordaaker.com/2009/10/creating-qr-barcodes-with-perl/" title="Permalink to this post">(permalink)</a></p>]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/10/creating-qr-barcodes-with-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing &#8230; Me</title>
		<link>http://marcus.nordaaker.com/2009/09/introducing-me/</link>
		<comments>http://marcus.nordaaker.com/2009/09/introducing-me/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 01:35:32 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[me]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=3052</guid>
		<description><![CDATA[Hey there, the internet is a turbulent place, and since I&#8217;ve moved around quite
a few times, I think I forgot to introduce myself the last time I made the
move. I am Marcus Ramberg, the writer of this blog, and director of
Nordaaker, a small British/Norwegian company currently run out of Oslo,
Norway. In addition to being my [...]]]></description>
			<content:encoded><![CDATA[<p>Hey there, the internet is a turbulent place, and since I&#8217;ve moved around quite<br />
a few times, I think I forgot to introduce myself the last time I made the<br />
move. I am Marcus Ramberg, the writer of this blog, and director of<br />
Nordaaker, a small British/Norwegian company currently run out of Oslo,<br />
Norway. In addition to being my personal blog, at the time being this blog<br />
acts as Nordaaker&#8217;s dynamic english presence. As the other director of<br />
Nordaaker, Arne Fismen runs our <a href="http://arne.nordaaker.com/">norwegian presence</a>.</p>
<p>In one form or another, I&#8217;ve been writing on the internet since around<br />
2002, when I set up my first own domain, <a href="http://web.archive.org/web/20021106102053/http://thefeed.no/">thefeed.no</a>.<br />
Back then I was running my own <a href="http://www.movabletype.com/">Movabletype</a> installation.<br />
Thanks to the glorious <a href="http://web.archive.org/web/">Internet Archive</a> you can see my<br />
<a href="http://web.archive.org/web/20030207101435/thefeed.no/marcus/">first blog</a> the way it looked about a year after it&#8217;s launch. It is<br />
very strange for me to go back and read the thoughts I had so many years<br />
ago.</p>
<p>I was also hosting other blogs on my movabletype installation, including<br />
<a href="http://web.archive.org/web/20030604224909/thefeed.no/slemmen/">slemmen</a>, who wrote about sysadmin stuff and some college friends like<br />
<a href="http://web.archive.org/web/20030514183347/thefeed.no/marlboro/archives/2002_12.html">marlboro</a> and <a href="http://web.archive.org/web/20030810191404/thefeed.no/gry/archives/000308.html">gry</a>.</p>
<p>On the <a href="http://web.archive.org/web/20030529184838/thefeed.no/">front page</a> we had a perl script that aggregated all the blogs,<br />
a simple planet if you will. </p>
<p>Back then, I wrote a lot less about tech than I do now. Looking at the<br />
categories, we see that the three biggest ones are Travel[44], Geek[36]<br />
and Opinion[26]. Still, even then I was  journaling things from the<br />
<a href="http://web.archive.org/web/20030512092014/thefeed.no/marcus/archives/cat_perl.html">Perl Community</a>. However, checking back around 2005, a few years<br />
later, Geek[108] was dominant, With Opinion[49] and Mac[34] as the next<br />
ones. Perl is trailing 4. with 27 posts. I also wrote <a href="http://web.archive.org/web/20041209060055/http://thefeed.no/marcus/archives/cat_books.html">18 book reviews</a></p>
<p>About that time I gave my first <a href="http://web.archive.org/web/20041212151353/thefeed.no/marcus/archives/cat_perl.html">talk about a MVC framework</a>.I was<br />
already active in the community, contributing a Mason view to Maypole,<br />
my third CPAN module. I had been using Mason at work for a couple of years<br />
by then. It was not until I started working for ABC Startsiden that I started<br />
using Template Toolkit.</p>
<p>About then, disaster struck. My server HDD died, losing a lot of images<br />
from our image galleries. After that, I lost a lot of the motivation for<br />
running thefeed, given the risks. Losing people&#8217;s personal data isn&#8217;t fun.<br />
At least I am glad that the blogs are preserved in  the internet archive.</p>
<p>It took a while for me to start writing again after that, but in the period 2006-2009<br />
I decided to use hosted solutions, keeping both a <a href="http://thefeed.vox.com/">vox blog</a> and a<br />
<a href="http://marcusramberg.livejournal.com/">livejournal</a>, before finally moving to this blog installation.<br />
I&#8217;m self-hosted again, and the software might vary, but I hope the addresses<br />
will last for a long time :)</p>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/09/introducing-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catalyst cares about your old code</title>
		<link>http://marcus.nordaaker.com/2009/09/catalyst-cares-about-your-old-code/</link>
		<comments>http://marcus.nordaaker.com/2009/09/catalyst-cares-about-your-old-code/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 08:21:31 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2962</guid>
		<description><![CDATA[
09:52 < @rafl> wow.. you can actually see how old that code is
10:00 < @rafl> but it still runs without a single modification. nice!
10:00 < @rafl> catalyst++
10:14 < @marcus> rafl: try that with rails :)
10:14 < @rafl> no, thanks

Code rot is everywhere, but some platforms suffer more than others. Even Simple C++ code suffers from [...]]]></description>
			<content:encoded><![CDATA[<pre>
09:52 < @rafl> wow.. you can actually see how old that code is
10:00 < @rafl> but it still runs without a single modification. nice!
10:00 < @rafl> catalyst++
10:14 < @marcus> rafl: try that with rails :)
10:14 < @rafl> no, thanks
</pre>
<p>Code rot is everywhere, but some platforms suffer more than others. Even <a href="http://wordaligned.org/articles/code-rot">Simple C++ code suffers from code rot</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/09/catalyst-cares-about-your-old-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catalyst::Plugin::AutoCRUD</title>
		<link>http://marcus.nordaaker.com/2009/09/catalystpluginautocrud/</link>
		<comments>http://marcus.nordaaker.com/2009/09/catalystpluginautocrud/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 23:17:14 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[crud]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2892</guid>
		<description><![CDATA[One major factor in Catalyst&#8217;s success has been extensibility. I plan to
do a series on extensions that I&#8217;ve found useful recently. To kick it off,
I&#8217;ll feature a model which gives me a simple and useful admin interface to
my DBIx::Class models.
When I first got involved with MVC Web Frameworks like Maypole and Ruby on
Rails, a big [...]]]></description>
			<content:encoded><![CDATA[<p><em>One major factor in Catalyst&#8217;s success has been extensibility. I plan to<br />
do a series on extensions that I&#8217;ve found useful recently. To kick it off,<br />
I&#8217;ll feature a model which gives me a simple and useful admin interface to<br />
my DBIx::Class models.</em></p>
<p>When I first got involved with MVC Web Frameworks like Maypole and Ruby on<br />
Rails, a big selling point was the ability to generate CRUD (Create/Read/<br />
Update/Delete) interfaces to your data model. Ruby on Rails does this through<br />
a mechanism called scaffolding, where it adds a set of actions to your<br />
controller. It soon became apparent that these CRUD frameworks did not live<br />
up to their promise as a base for creating your own custom actions. Usually,<br />
you spend more time customizing these controllers than you would just<br />
implementing the features you require.</p>
<p>However, there is still a good use for these for giving your admins a<br />
direct interface to your data model. There has been several iterations of<br />
these tools for the Catalyst framework, but with Catalyst::Plugin::AutoCRUD,<br />
I&#8217;ve finally found something easy to plug into your existing app, which<br />
integrates well with most setups.</p>
<p><img src="http://marcus.nordaaker.com/wp-content/uploads/2009/09/autocrud.png" alt="autocrud" title="autocrud" width="500" height="306" class="size-full wp-image-2942" /></p>
<p>For most apps, all you need to do is plug it into the main application class<br />
by adding AutoCRUD to your list of plugins. This will plug a complete CRUD<br />
application, including controllers and view and templates into your app.<br />
By default it will attach itself at &#8216;/autocrud&#8217;, but you can easily change<br />
that in config. Just add this to your config file:</p>
<pre>
<plugin ::AutoCRUD>
      basepath admin
</plugin></pre>
<p>and it will respond to /admin/* instead. Another common requirement is to<br />
add authentication for the admin interface. One way to accomplish that is<br />
by using Catalyst&#8217;s auto handler functionality. Add a method like this in<br />
your Root controller</p>
<pre>sub auto :Private {
    my ( $self, $c ) = @_;
    if ($c->action->reverse =~ /^autocrud\//) {
        $c->authenticate({},'users');
    }
    return 1;
}</pre>
<p>Note that my example is using HTTP Basic auth. The actual authenticate call<br />
needs to be customized for your realm.</p>
<p>AutoCRUD supports multiple DBIC Schemas, and if will automatically provide you<br />
with a list to let you pick which one to work with. After that, you choose<br />
a Result class, and you have access to an extensive AJAX-enhanched database<br />
admin tool. You can search and browse data, as well as edit it and add new<br />
rows easily. AutoCRUD also understands your DBIC relationships, so you can<br />
easily see data related to the current rows.</p>
<p>Like it&#8217;s predecessors, I do not recommend trying to make this tool<br />
into a generic &#8216;allweb&#8217;-application. However, if you use it for what it is,<br />
you can save countless of development hours making trivial admin tools. Since<br />
it works again your DBIC Schema, you&#8217;ll also get the advantage of keeping<br />
your business logic in the data model. Things like DBIC timestamps will<br />
Just Work.</p>
<p><em>There still might be some polishing left to do on AutoCRUD, but I already<br />
find it a hugely useful tool.   You can install it just like you would any other CPAN module using </p>
<p><code>$ cpan Catalyst::Plugin::AutoCRUD</code></em></p>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/09/catalystpluginautocrud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sebastian on  MS IIS&#8217; FastCGI support.</title>
		<link>http://marcus.nordaaker.com/2009/08/sebastian-on-ms-iis-fastcgi-support/</link>
		<comments>http://marcus.nordaaker.com/2009/08/sebastian-on-ms-iis-fastcgi-support/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 08:04:34 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Mojo]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2842</guid>
		<description><![CDATA[
09:30 < @sri_> there is absolutely no way to detect the server base as far
        as i can see
09:33 < @sri_> you really have to do horrible things with PATH_TRANSLATED...
09:34 < @sri_> seriously... was that thing developed by a bunch of monkeys?
10:00 < marcus> yeah, they were trying [...]]]></description>
			<content:encoded><![CDATA[<pre>
09:30 < @sri_> there is absolutely no way to detect the server base as far
        as i can see
09:33 < @sri_> you really have to do horrible things with PATH_TRANSLATED...
09:34 < @sri_> seriously... was that thing developed by a bunch of monkeys?
10:00 < marcus> yeah, they were trying to write shakespeare's collected works,
        and ended up with IIS instead
</pre>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/08/sebastian-on-ms-iis-fastcgi-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Model adaptors for Catalyst.</title>
		<link>http://marcus.nordaaker.com/2009/08/model-adaptors-for-catalyst/</link>
		<comments>http://marcus.nordaaker.com/2009/08/model-adaptors-for-catalyst/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 23:51:37 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[model dbix::class]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2767</guid>
		<description><![CDATA[In a recent post Dave Rolsky points out some of his own best practices for Catalyst. While I&#8217;ve come around to agree with his first point, that Catalyst should generate a reusable config class for the user, I&#8217;m not so sure with regards to his model viewpoints.
For me, the strength of Catalyst&#8217;s Model layer has [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://blog.urth.org/2009/08/how-i-use-catalyst.html">recent post</a> Dave Rolsky points out some of his own best practices for Catalyst. While I&#8217;ve come around to agree with his first point, that Catalyst should generate a reusable config class for the user, I&#8217;m not so sure with regards to his model viewpoints.</p>
<p>For me, the strength of Catalyst&#8217;s Model layer has always been the immense glue layer that allows me to configure any model in a predictable way. Much like DBI gives me a unified way to talk to databases, the Catalyst model-layer gives us a unified way of configuring models. In addition, we are able to provide helpers to create these models from the command line, reducing the work needed to set up a new model.</p>
<p>I will grant Dave that the API for the model adapters could be better. It is my hope that we will accomplish as Catalyst takes advantage of more of the new stack that Moose provides. In particular I am excited about the work Devin Austin is doing for GSOC on<a href="http://www.codedright.net/2009/06/a-technical-report-of-my-gsoc-statusprogress.html"> improving the -Devel package</a>. This is an area where we can significally improve without too much worry about backwards compability. For instance, the KiokuDB model already uses moose accessors for config.</p>
<p>Dave&#8217;s example only limits itself to talking to a SQL store via DBIx::Class. However, real world applications typically have several models. In some of my apps I talk to S3, or Queue servers, or LDAP stores for user management. This shows the true power of the Catalyst model layer.</p>
<p>I also hope that we can provide a different way to tie models to controllers. This should be part of the moosify branch of Catalyst-Runtime. I disagree that $schema->resultset(&#8217;Person&#8217;)  is a significant  improvement  on $c->model(&#8217;DBIC::Person&#8217;). Controller code is not meant to run without a context anyways. </p>
<p>I hope that by looking at Moose Extensions, we will be able to find a more suitable API for this functionality. Of course, we have a lot of work ahead of us, but I am really starting to like what Catalyst has turned into.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/08/model-adaptors-for-catalyst/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bootylicious &#8211; Single file Mojo based blog</title>
		<link>http://github.com/vti/bootylicious/blob/master/bootylicious.pl</link>
		<comments>http://marcus.nordaaker.com/2009/08/bootylicious-single-file-mojo-based-blog/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 10:42:57 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Mojo]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2707</guid>
		<description><![CDATA[As you might know, Sebastian recently added single-file support to his Mojolicious framework. Viacheslav Tikhanovskii has taken this functionality and run with it, producing bootylicious &#8211; a ~280 SLOC web log system. It sorts a directory of POD formatted blog posts, and even supports RSS. I think these single file apps is an excellent way [...]]]></description>
			<content:encoded><![CDATA[<p>As you might know, Sebastian recently <a href="http://labs.kraih.com/blog/2009/07/perl-is-awesome.html">added single-file support to his Mojolicious framework</a>. Viacheslav Tikhanovskii has taken this functionality and run with it, producing bootylicious &#8211; a ~280 SLOC web log system. It sorts a directory of POD formatted blog posts, and even supports RSS. I think these single file apps is an excellent way to demonstrate your framework. I actually remember this as being a selling point for Maypole back in the days :)</p>
<p><a href="http://marcus.nordaaker.com/2009/08/bootylicious-single-file-mojo-based-blog/" title="Permalink to this post">(permalink)</a></p>]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/08/bootylicious-single-file-mojo-based-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initial Impressions of Catalyst Book &#124; A Foolish Manifesto</title>
		<link>http://blog.afoolishmanifesto.com/archives/977</link>
		<comments>http://marcus.nordaaker.com/2009/07/initial-impressions-of-catalyst-book-a-foolish-manifesto/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 07:30:20 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://marcus.nordaaker.com/?p=2667</guid>
		<description><![CDATA[Frew Schmidt has read the first four chapter of the new Catalyst book and gives some first impressions:
So far though, I would say that the book is better than most programming books. Really, a lot of programming books need to be more like this, instead of focusing entirely on the arcana of one framework they [...]]]></description>
			<content:encoded><![CDATA[<p>Frew Schmidt has read the first four chapter of the <a href="http://www.apress.com/book/view/9781430223658">new Catalyst book</a> and gives some first impressions:</p>
<blockquote><p>So far though, I would say that the book is better than most programming books. Really, a lot of programming books need to be more like this, instead of focusing entirely on the arcana of one framework they should help you be a better programmer overall.</p></blockquote>
<p><a href="http://marcus.nordaaker.com/2009/07/initial-impressions-of-catalyst-book-a-foolish-manifesto/" title="Permalink to this post">(permalink)</a></p>]]></content:encoded>
			<wfw:commentRss>http://marcus.nordaaker.com/2009/07/initial-impressions-of-catalyst-book-a-foolish-manifesto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
