April 2009 Archives

If you are a Catalyst developer and hang out in the #catalyst IRC channel a lot, you might already have heard of Reaction. But even then, you might not be sure what it actually is. In this post I try to give an easy explanation for people already developing in Catalyst or for the web in general.

Today's post will focus on what CPAN is conceptually, to give an understanding of how it works, what it provides, and how to get the most from it. Watch this space for more practical posts once I've finished yammering about what CPAN is.

Just what the heck is CPAN, anyway? From its site, it's the "Comprehensive Perl Archive Network". Well, that's not very helpful. What's a Perl archive network, and why would people want a comprehensive one, at that?

We here at Catalyzed.org know that Perl is alive and well, but it can be hard to tell that if you don't know where to look. 

Recognizing this fact, the Enlightened Perl Organization is sponsoring a new blogging initiative.  The purpose is to raise awareness of Perl by promoting Perl on sites that are outside the old guard of Perl forums and sites. 

The folks at Catalyzed are very excited about this initiative and want to help in any way we can.  As such, we are offering an author account to anyone who wants to take part in the Ironman challenge.  Contact us at ideas at catalyzed.org or on #catalyzed on irc.perl.org if you want to take advantage.

Also we will soon be adding a Perl community page. If you have your own Blog site and you cover Perl topics, drop us a line to be added.

 

Perl's Object system has always been flexible, but it also has had a clear DIY (Do It Yourself) feel to it.  Many CPAN modules have been released to make the DIY portion a bit easier, but none have gone so far or indeed provided as much as Moose does. Moose is one of the most exciting developments in recent history.  It revolutionizes Perl's object system and provides a solid base for all object oriented development.  In today's article, we get an introduction to Moose and a view into what makes this module so important.

 

 

Over the past weekend, a new version of the Catalyst web framework was released.  Catalyst 5.8 is a significant step in the development of Catalyst and while it changes a significant portion of Catalyst's internals, it retains backward compatibility with applications built on previous versions of Catalyst.  With a framework as complex as Catalyst, this is no small feat.  Tomas Doran, a major contributor to the 5.8 update, is with us today to tell us more about this major milestone in Catalyst's development.

 

A few days ago my Linode VPS ran out of its 360MB of memory during a CPAN installation. CPAN does indeed eat up a lot of RAM, and this is in large part due to the process of building its in-memory database of modules. Fortunately, there is a CPAN module that provides a solution to this problem: CPAN::SQLite.

CPAN::SQLite is a drop-in add-on for CPAN.pm, which can make CPAN store its data in a SQLite database. After installing it, I noticed a reduction from 75MB to 21MB of the amount of RAM used by CPAN while installing a sample module.

Getting CPAN to use CPAN::SQLite is simple:

$ cpan CPAN::SQLite
$ perl -MCPAN -e shell
cpan> o conf use_sqlite 1
cpan> o conf commit

Once you have done this, you can use the cpan command normally to install modules, only now it will use significantly less memory while doing so.

Be aware that CPAN::SQLite only works with the most recent releases of CPAN modules. Make sure to read the caveat about this if you think it might affect you. Then enjoy the extra RAM!

Perl might have been born on UNIX, but it's also renowned to be one of the most portable programming languages. In spite of this, people generally don't think of Windows as a Perl development platform.

You might be surprised to discover that Windows is quite a suitable environment for developing with Perl. In fact, you can do almost everything you do on *nix Perl on Windows, and if you're proficient with Windows, you can keep using it and code Perl efficiently.

Today, we will show you to set up your Windows machine for Perl development, and a few of the options you have available in the way of integrated development environments.

MojoMojo is probably the most powerful and flexible open-source wiki application available today. Based on Catalyst and Perl, MojoMojo is gaining momentum and notoriety for it's flexibility and modern web-application features. Today we get the opportunity to speak with Marcus Ramberg, the creator of MojoMojo.

 

Thanks for talking with us today.  Let's start at the beginning, When did you first start working on MojoMojo?

I first started working on mojomojo as a project to learn the new MVC framework Maypole. This was back in 2005, and as it became apparent that the Maypole project wasn't going anywhere, I ported MojoMojo over to Catalyst. I remember the transition as being fairly easy. Back then we were also using the Class-DBI ORM. MojoMojo has long since been ported over to DBIx-Class. This happened at the Hackathon connected to YAPC::NA in Chicago.

 

Welcome to Catalyzed.org.  A site dedicated to sharing with the world what modern Perl looks like, and providing a peek into what's going on in the Perl community.  

As you are no-doubt aware, Perl does not have a flattering reputation. People have called it everything from 'ugly line noise' and 'unmaintainable' to the big favorite: simply 'dead.'   Perl is alive and well, but to those not in the Perl community it can be hard to see that.   

So the question is... If Perl is so lively, how do you reconcile that with it's reputation? How did we get here? And more importantly, how do we make Perl's reputation reflect what we who use it know, namely:

Perl is one of the most powerful and fun languages available with a lively and active community.

Today, we'll take a short stroll down memory lane, to see where this reputation comes from, and catch a glimpse of what modern Perl looks like.

Sponsored By


Ionzero: Rescue your dev project.

Following

Not following anyone

Note to spammers: all comments are moderated. Don't waste your time