<?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>netCUBED Blog &#187; catalyst</title>
	<atom:link href="http://blog.netcubed.de/tag/catalyst/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.netcubed.de</link>
	<description>Just another web developer's weblog</description>
	<lastBuildDate>Mon, 29 Jun 2009 20:58:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dispatch Catalyst log output to Growl</title>
		<link>http://blog.netcubed.de/2009/05/dispatch-catalyst-log-output-to-growl/</link>
		<comments>http://blog.netcubed.de/2009/05/dispatch-catalyst-log-output-to-growl/#comments</comments>
		<pubDate>Sun, 10 May 2009 17:02:15 +0000</pubDate>
		<dc:creator>Moritz Onken</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[notification]]></category>

		<guid isPermaLink="false">http://blog.netcubed.de/?p=74</guid>
		<description><![CDATA[Growl is a nice notification utility for Mac OS X. There are many applications or plugins avaiable which interact with Growl (e. g. Skype, Mail, VLC etc.).
I thought it would be nice if I could redirect the catalyst debug output to it as well. Log::Dispatch has a nice appender Log::Dispatch::MacGrowl. Load Log::Dispatch as plugin in [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-76" title="My App Growls" src="http://blog.netcubed.de/wp-content/uploads/2009/05/bild-5-300x126.png" alt="My App Growls" width="300" height="126" /><a href="http://growl.info/" target="_blank">Growl</a> is a nice notification utility for Mac OS X. There are many applications or plugins avaiable which interact with Growl (e. g. Skype, Mail, VLC etc.).</p>
<p>I thought it would be nice if I could redirect the catalyst debug output to it as well. Log::Dispatch has a nice appender <a href="http://search.cpan.org/perldoc?Log::Dispatch::MacGrowl" target="_blank">Log::Dispatch::MacGrowl</a>. Load Log::Dispatch as plugin in MyApp.pm (after ConfigLoader):</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> Catalyst <span style="color: #000066;">qw</span><span style="color: #339933;">/-</span>Debug
                ConfigLoader
                Log<span style="color: #339933;">::</span><span style="color: #006600;">Dispatch</span>
                Static<span style="color: #339933;">::</span><span style="color: #006600;">Simple</span><span style="color: #339933;">/;</span></pre></div></div>

<p>and configure your app accordingly:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Log::Dispatch<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	class     = MacGrowl
	name      = growl
	app_name  = MyAppGrowls
	title     = MyApp
	sticky    = 0
	min_level = notice
	format    = [%p] %m %n
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Log::Dispatch<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>I cannot recommend to set <code>min_level</code> to <code>info</code> or below because this will add all start up log statements to be rendered on your screen. Kind of annoying.</p>
<p>Put a log statement anywhere in your code and start up your dev server. A growl notification should appear when you hit the log statement.</p>
<p>You can get a sample application <code>MyAppGrowls</code> from <a href="http://github.com/monken/MyAppGrowls/tree/master" target="_blank">GitHub</a>.</p>
<p>Make sure you have the following modules installed (or run <code>perl Makefile.PL</code>):</p>
<ul>
<li>Catalyst::Plugin::Log::Dispatch</li>
<li>Log::Dispatch::Config</li>
<li>Log::Dispatch::MacGrowl</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.netcubed.de/2009/05/dispatch-catalyst-log-output-to-growl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pod::Browser, yet another pod viewer</title>
		<link>http://blog.netcubed.de/2009/05/podbrowser-yet-another-pod-viewer/</link>
		<comments>http://blog.netcubed.de/2009/05/podbrowser-yet-another-pod-viewer/#comments</comments>
		<pubDate>Mon, 04 May 2009 22:27:04 +0000</pubDate>
		<dc:creator>Moritz Onken</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[pod]]></category>
		<category><![CDATA[viewer]]></category>

		<guid isPermaLink="false">http://blog.netcubed.de/?p=44</guid>
		<description><![CDATA[Writing documentation is sometimes hard but inevitable. If you write code which is published on the CPAN you can always access the documentation through search.cpan.org. For those cases where you cannot publish your code on the CPAN it would be great if you had a web site like CPAN where you can access the documentation. For [...]]]></description>
			<content:encoded><![CDATA[<p>Writing documentation is sometimes hard but inevitable. If you write code which is published on the CPAN you can always access the documentation through search.cpan.org. For those cases where you cannot publish your code on the CPAN it would be great if you had a web site like CPAN where you can access the documentation. For this reason I wrote Pod::Browser a while back. <a href="http://search.cpan.org/perldoc?Pod::Browser" target="_blank">Pod::Browser</a> is a browser for all your local modules and all the modules from the CPAN. The interface is rendered by ExtJS, a powerful JavaScript framework.</p>
<div><a href="http://cpan.org/authors/id/P/PE/PERLER/pod-images/pod-encyclopedia-01.png" target="_blank"><img src="http://cpan.org/authors/id/P/PE/PERLER/pod-images/pod-encyclopedia-01.png" alt="Pod::Browser" width="400" /></a></div>
<p>After installing Pod::Browser and running the server (pod_browser_server.pl) you should be able to access the browser via http://localhost:3000. On the right hand side of the page is a tree which contains all the modules installed on your system. The main page contains a search box where you can search the CPAN via it&#8217;s XML interface. If you open a module which is also installed on your system, the local pod will be served. Otherwise the pod is read from the CPAN. Each module has its own ExtJS tab. This allows to have multiple documents open at the same time in a single browser window. The table of contents is shown in the upper left panel.</p>
<p>Since this browser has been implemented as a single Catalyst controller, you can simply create an empty controller in your application and use Catalyst::Controller::POD as base class:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000066;">package</span> MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Controller</span><span style="color: #339933;">::</span><span style="color: #006600;">Docs</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">use</span> warnings<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">use</span> base <span style="color: #ff0000;">'Catalyst::Controller::POD'</span><span style="color: #339933;">;</span>
  __PACKAGE__<span style="color: #339933;">-&gt;</span><span style="color: #006600;">config</span><span style="color: #009900;">&#40;</span>
    inc        <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
    namespaces <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span>Catalyst<span style="color: #339933;">::</span><span style="color: #006600;">Manual</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
    self       <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span></pre></div></div>

<p>This will make the documentation to your application avaiable from /docs. The pod tree will also contain all the modules which are listed in the namespaces config attribute (in this case Catalyst::Manual).</p>
<p>For more information on <a href="http://search.cpan.org/perldoc?Pod::Browser" target="_blank">Pod::Browser</a> and <a href="http://search.cpan.org/perldoc?Catalyst::Controller::POD" target="_blank">Catalyst::Controller::POD</a> please read the documentation on the CPAN.</p>
<p><strong>Warning:</strong></p>
<p>If you set inc to 1 and leave the namespaces parameter blank it can take a while until all modules are indexed and presented in your browser. Be either patient or restrict the namespace to a sane subset of your modules.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netcubed.de/2009/05/podbrowser-yet-another-pod-viewer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why not Angerwhale?</title>
		<link>http://blog.netcubed.de/2008/12/why-not-angerwhale/</link>
		<comments>http://blog.netcubed.de/2008/12/why-not-angerwhale/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 14:07:56 +0000</pubDate>
		<dc:creator>Moritz Onken</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[angerwhale]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.netcubed.de/?p=9</guid>
		<description><![CDATA[As a Perl programmer I prefer to do everything I want in that language. Since I decided to run a blog and was wondering what blog engine I should use. The easiest way would have been to sign up at blogger.com or similar services but I want to host my stuff on my own.
I searched [...]]]></description>
			<content:encoded><![CDATA[<p>As a Perl programmer I prefer to do everything I want in that language. Since I decided to run a blog and was wondering what blog engine I should use. The easiest way would have been to sign up at blogger.com or similar services but I want to host my stuff on my own.</p>
<p>I searched the net and of course CPAN for a blogging engine based on Perl. The only one I came up with was <a href="http://search.cpan.org/perldoc?Angerwhale" target="_blank">Angerwhale</a>. I read through the CPAN pods and looked at <a href="http://blog.jrock.us" target="_blank">blog.jrock.us</a> to see it in action. It seemed pretty nice and I decided to give it a try.</p>
<p>I read the README file, ran &#8220;perl Makefile.PL&#8221; and &#8220;make test&#8221; as I was supposed to do. There were some unmet dependencies, of course. Many of them failed to install unfortunately. After spending a lot of time installing all of them manually (most of them needed additional development packages from debian) I was almost there.</p>
<p>Three to go: Catalyst::View::Jemplate. That damn thing wouldn&#8217;t install because most of the tests failed. As it turned out it was the fault of the latest Jemplate upgrade which made some changes to its API. A dev release of Jemplate fixed that problem, but that&#8217;s not the way it is supposed to work.</p>
<p>Two to go: Test::WWW::Mechanize. Tests failed. Both on my system and most of the CPAN testers&#8217;. Seems like a libwww release breaks these tests.</p>
<p>One more to go: Kate. This is a syntax highlighting engine. Angerwhale uses it to format and color code passages. It failed to install as well. There is a <a href="http://rt.cpan.org/Public/Bug/Display.html?id=36328" target="_blank">fix</a> for that problem but this patch is 4 month old! Why didn&#8217;t the maintainer apply that patch and push a new release to cpan?</p>
<p>At that point I was pretty sick and tired of trying to force install or patch any more modules.</p>
<p>After rethinking this whole blog thing I visited wordpress.com.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>wordpress.org<span style="color: #000000; font-weight: bold;">/</span>latest.tar.gz
unp latest.tar.gz
<span style="color: #c20cb9; font-weight: bold;">lynx</span> http:<span style="color: #000000; font-weight: bold;">//</span>localhost<span style="color: #000000; font-weight: bold;">/</span>wordpress</pre></div></div>

<p>Well, and after entering db user / password etc. I had my blog up and running.</p>
<p>There might have been some coincidences and bad timing but after all I must say that installing wordpress took me about 5min. Not installing Angerwhale took me more than an hour.</p>
<p>Wordpress does a great job and it just works. It&#8217;s just sad that there is no such success story with a perl written blog engine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netcubed.de/2008/12/why-not-angerwhale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
