Friday, 24 April 2009

YAPC::SA 2009

Perl is a very popular language all around the world. But how come all the nice Perl conferences happen only in Europe or the US? YAPC::Europe, YAPC::NA, PPW, NPW, FPW, LPW, ... the only (minor) exceptions to this rule are YAPC::Asia and YAPC::Russia - even so, all in the northern hemisphere.

South America has an astounding number of Perl developers. Right now there are nine active Perl Mongers groups in Brazil only, not to mention Argentina, Venezuela and other countries. 2007's Perl Survey data shows our stats compared to the rest of the Perl community, corroborating with what Dave Cross already saw back in 2005. So, where are the Perl conferences down in SA?

To my knowledge, South American Perl hackers are not used to huge Perl conferences. Maybe it's not in our culture, as there are a lot of us who just don't participate in the community at all: some claim they are too busy with their lives/jobs to engage or even attend to a meeting or conference (specially one that's not sponsored by a big company), others say they just never heard of the community in the first place (!). Imho this isn't actually a Perl problem: I've seen similar complaints from people on a lot of different languages. It's hard enough to get people in Free Software conferences, imagine a Perl-only one.

So, moved by a "if you build it they'll come" spirit, some people (including myself) arranged for YAPC::SA 2009 to happen!

YAPC::SA 2009
24 ~ 27 june - Porto Alegre - RS - Brazil

The event will take place inside FISL - the International Free Software Forum - a major FLOSS event which this year will have the participation of FSF's Richard Stallman and The Pirate Bay's Peter Sunde, among several others.

We're still learning the ropes and have a long way to go before getting even close to the major Perl events mentioned above. But nevertheless we're planning a great Perl conference for you, including hackathons, lightning talks, mini-courses, and the distribution of gifts - not to mention daily social meetings after the event.

Everyone's invited!

Tuesday, 14 April 2009

Padre + Catalyst

For a while now, I've been contributing (or at least trying) to Padre - The Perl IDE. Although it still lacks some nice IDE features, it's really amazing to see how much has already been done in so little time. In fact, Padre releases are almost weekly, with Changelogs filled with active development and bug tracking. Szabgab++ managed to create an active and exciting community around the project, and I'm really glad to be a part of it.

One of Padre's cool features is plugins. Jq++, Alias++ and everyone else did an amazing job with the plugin API, so it's getting easier and easier to extend Padre's functionality. In fact, there are already over 20 plugins available on CPAN and many more to come. Recently, I created one myself, hoping it would improve the Padre experience and help developers of web applications, specially beginners: Padre::Plugin::Catalyst.

Installing the plugin should be fairly simple on the cpan shell

cpan> install Padre::Plugin::Catalyst

Of course, it has both Padre and Catalyst::Devel as dependencies. After installation, fire up Padre and go to the Plugins->Plugin Manager menu option.

The Catalyst plugin should show up. Select it and click on the "Enable" button so its status turns green (enabled), as shown in the image above.

That's it! The plugin and all its features can be accessed through its own menu at Plugins->Catalyst:

Let's browse through some of the options:

New Catalyst Application

This option will create a new Catalyst application on the specified folder. You can mark the "short names" checkbox to use "M", "V" and "C" folder names instead of the recommended "Model", "View" and "Controller" names. After clicking on the "OK" button, the plugin will create a skeleton program for you and ask if you want to open the created "" controller so you can start programming right away.

Create New -> Model

This option lets you create a new model for your application. Here, you can specify your Model's name, type, and any additional parameters needed. "Type" is a list with all helper models available on your system, for you to choose from. It defaults to mst++'s DBIC::Schema (if available), as it's considered the ORM technology of choice for Catalyst.

Create New -> View

Similarly, this option will let you create a new View component for your application. "Type" defaults to the highly popular Template Toolkit helper, whenever available.

Create New -> Controller

With this option, you are able to quickly create a skeleton for any controllers your application may have. The default "Type" is no type at all, but, if you do use Controller helpers, you can also specify any additional parameters for it.

Start/Stop Web Server

At any point, should you want to test-drive your web application, you can click on this option to call the script (where "yourapp" is the name of your Catalyst application, of course), a stand-alone development web server. All the output produced by the server will be displayed right on Padre's Output window (very useful for debugging), and it will ask if you want to open your web browser to actually view your application running.

Catalyst Online References

This option has quick shortcuts to some handy developer's information links available on the Internet:

That's about it :)

Future plans include letting the developer choose its favorite types, script updating features, and much more. If you want to help, you can checkout the current code from Padre's svn repository, or give me some feedback on any bugs or feature requests via Padre's Tickets or CPAN's RT.

Let me know what you think!