Call for Venue for YAPC::Europe::2014

Although YAPC::Europe::2013 preparations are well underway in Kiev, it is time for the venue committee of the YAPC::Europe Foundation (YEF) to think about the location of the 2014 conference. YAPC::Europe wouldn't exist without dedicated teams of volunteers, and we are always excited to see the enthusiasm and learn about the new ideas the community has to offer.

Further information about preparing a complete application can be found at http://www.yapceurope.org/organizers/index.html . Proposals submitted to the venue committee will be added to this public repository (you may provide private information separately) to benefit future organizers.

The deadlines which apply to this portion of the procedure are:

  • Saturday, 13 April: Deadline for sending a letter of intent. This letter simply expresses interest in hosting the conference and provides contact information (both email and telephone) for at least two organizers. This is an optional step but it can be to your advantage to alert the venue committee of your proposal.
  • Thursday, 27 June: Deadline for sending proposals to host YAPC::Europe 2014.

If you do not receive a confirmation for your letter of intent or proposal within a couple of days, please personally contact a member of the venue committee.

Please send your questions, letters of intent, and proposals to venue@yapceurope.org.

Thames Valley Perl Mongers are Meeting!

A couple of weeks ago I asked for a show of hands to gather interest in restarting the Thames Valley Perl Mongers. The positive response we received is an encouraging sign that TVPMs are still out there (at least 30 of you) and interested in meeting up!

The meeting will be held on Wednesday 20th March at 7pm, and for this first occasion we hope to have two talks with a short break.

The venue is Reading Enterprise Centre on the University of Reading main campus. Refreshments and light snacks will kindly be provided on the evening by our hosts, Opsview:

http://www.readingenterprisecentre.com/#/location
http://www.opsview.com/

Please confirm your interest in attending by dropping a note to peter.finnan@opsview.com, including your full name (required for access to the building). If you wish to volunteer a talk of up to 25 minutes, please also provide a summary and the title.

I also urge you to join our mailing list to keep up to date with this and future plans:

http://mail.pm.org/mailman/listinfo/thamesvalley-pm

Looking forward to seeing you on the 20th!

using DBIx::Class::DeploymentHandler

I used to work with DBIx::Class::Schema::Versioned to upgrade my DBIC Schema but soon I needed more then it offered.

Starting with DBIx::Class::DeploymentHandler was a bit troublesome because I had a hard-ish time understanding the extensive documentation.

Now that I moved past that phase I want to present my way of using DeploymentHandler and hopefully spare you some of the burden.

Note: I write my DBIC schema resultclasses by hand and deploy to whatever database system I need.

Feature list * each schema version should be installable to a clean/empty database * single step upgrades of schema versions * create pl scripts that do something on the schema before and/or after upgrade

It will be sensible to use Perl 6 to build real-world apps in ...

Let's try to predict when we will be able to {conveniently,realistically,sensibly} use Perl 6 to build real-world applications. Note: this post is just the result of its author's pondering and is not meant to be negative towards Perl 6.

jenkins plugin for building perl applications

Jenkins - is well known continues integration server. One of it's great features - one may extend it by writing custom plug-ins. Recently I have create one plug-in to build and make distributive of perl applications.

It implements standard build scheme:
  1. look up source directory
  2. install dependencies into local directory
  3. create distributive

Other features are:
  1. find 'tagged' directory with maximum version number ( implementing install from subversion tags )
  2. applying different patches (install other cpan modules)
  3. color output
  4. ... and some others

For now it's only Module::Build compatible.
    Links:
  1. perl-plugin on github
  2. link to install

CPAN modules that (can) load other modules

I've published a review of CPAN modules that (can) load other modules. I started making this list of modules when looking at modules for getting dependency information: one class of such modules parse code looking for things that signify a dependency, either implicitly or explicitly.

New York Perl Hackathon a success!

New York Perlmongers held a successful hackathon this past weekend at an event hosted by Rubenstein Tech in lower Manhattan. By our count, at least 24 people participated, coming from as far away as Harrisburg PA and eastern Connecticut.. Participants ranged from people making their first contributions to Perl-related open source software projects to current and former Perl 5 release managers and pumpkings. Every participant contributed, in part or in whole, to at least one patch to an open source project. When all patches are applied, at least six people will have made their first contributions to the Perl 5 core distribution. Other projects receiving contributions included HTTP::Tiny, Term::Readline::Perl, Module::Metadata and Catalyst, along with more streamlined procedures for creation of .rpm files for CPAN distributions and improvements in PAUSE, the Perl Authors Upload Server.

Special thanks go to Jaron Rubenstein of Rubenstein Tech — they’re hiring! — and the five other Rubenstein staffers who participated in the hackathon.

Not using that any more...

OK, so sometimes you decide you're going to stop using some module X, maybe because something better has come along. Let's say I want to track down all my CPAN modules that use Any::Moose because my goal is to port each of them to either Moose or Moo.

MetaCPAN has all the dependency information, but I don't want to click through each of my distributions. Enter the MetaCPAN API...

A call to Salt Lake City prospective Perl Mongers

I have enjoyed actively participating in the Los Angeles Perl Mongers and Thousand Oaks Perl Mongers groups, but recently relocated to Salt Lake City, UT. So, what stands between Salt Lake City and a Perl Mongers group? You (you know who you are). Anyone interested in participating in a Perl Mongers group in Salt Lake City, please follow-up here or get in touch with me via email.

A request has been submitted to the folks at pm.org for a mailing list, a pm.org hosted site, and a link to the main pm.org map page. Since those nuts and bolts are fastened by volunteers it takes awhile. But we don't have to wait. The time to start organizing something is now.

Perl Mongers groups provide excellent opportunities to get to know others in the local Perl community, to introduce newcomers to Perl's many ways to do it, to learn, to share, and to socialize.

Galileo 0.023 has a pretty web setup page!

Just a little note to announce the release of Galileo version 0.023. Galileo is my CMS that aims to be 100% CPAN installable, all you have to do is this:

$ cpanm Galileo
$ galileo setup
$ galileo daemon

This release makes installing even better, because now when you run galileo setup you get a web interface to configure your CMS and then install the database!

Galileo configure page

Ok that image is just slightly ahead of what is now on CPAN, but its close :-)

Swiss Perl Workshop - Schedule

We are proud to announce the full schedule of talks at Swiss Perl Workshop 1. As you'll see,
there is a very interesting range of speakers and topics through the day.

:m)

Thanks to our sponsors:
www.perl-magazin.de | www.oetiker.ch | www.leanux.ch | www.booking.com | www.oreilly.de

YAPC::Europe 2013 in Kiev, week minus 23. A brief update

There are a few small and big things that we did last week for the conference. Let us tell you about them.

First of all, we signed a contract with the river cruise boat and are thinking now of the best possible route so that we can both see the incredible Kiev landscape from water and have enough time for the social part on board. Also, we are working on the buffet menu. All in all, the cruise is going to be an amazing conference experience. Just take a look at their official video.

Let us also remind that less than a month is left until the Early Bird price expires. If you buy a ticket today, you can save 18% of its price. This is only possible before 1 April.

The only bad thing about Mason

At the moment, I'm writing a presentation about Mason2. The goal is to somehow convince my colleagues to consider using Mason. Instead of Template Toolkit.
As part of it, I thought I'd do a bit of performance benchmarking against Template Toolkit. So I put together a reasonably complex mini set of templates using both systems. Well, as complex as TT can take in reality. Which is not very much.

But anyway, let's jump straight to the bad news.

Notes from a Newbie 10: Authentication/Authorization

Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a simple Perl Catalyst application.

Now that we've experimented a little and are confident in what we're doing, we'll start over from scratch, beginning with authentication and authorization as explained in the Catalyst tutorials.

Holy bloat, Batman!

Let's compare the latest constant.pm to a minimal equivalent:
    $ ./perl -Ilib -le 'print $^V'; /usr/bin/time -l ./perl -Ilib -le 'use constant X => 1..5; print X' 2>&1 | grep 'maximum resident'
    v5.17.10
       3829760  maximum resident set size
    $ /usr/bin/time -l ./perl -I/tmp -le 'use constant X => 1..5; print X' 2>&1 | grep 'maximum resident'
       1200128  maximum resident set size
That's 2.6MB bloat to define a constant. (The culprit turns out to be utf8, natch, to handle Unicode constants. (Why, God?!)). For reference, /tmp/constant.pm , which does most useful constant-type stuff, is here:

YAPC::Europe 2013 in Kiev, week minus 24. Booking a hotel and discounts

Hi,

A couple of days ago we launched an incredible service for the attendees of this year's YAPC::Europe in Kiev.

Book the hotel using our service and do two things at once:

  • You will get the room with the lowest available price.
  • You will support the conference by increasing the conference budget (at zero price for you!).

All the details about how it works are published in this week's conference newsletter.

Find your hotel now: act.yapc.eu/ye2013/accommodation/index.html.

Stay tuned. We've got more cool stuff.

Swiss Perl Workshop - Venue

If you are still undecided on joining us at Swiss Perl Workshop in Bern on March 22, it's probably because you are worried that the venue may be hard to reach. You can put your mind at rest. :-)

http://act.perl-workshop.ch/spw2013/venue.html

We are at the main building of the University of Bern, just 2 minutes from the main train station in Bern.

unibe-hauptbau.jpg

If you also require a beautiful view then take a chance and hope for good weather. ;-)

Thanks to our sponsors:
www.perl-magazin.de | www.oetiker.ch | www.leanux.ch | www.booking.com | www.oreilly.de

Pod to HTML

OK, so there were already a thousand solutions for converting pod to HTML, but I wasn't especially happy with any of them. Things I wanted were:

  • Clean-looking XHTML and/or HTML5 output.
  • Unicode support. ☻
  • Good syntax highlighting for Perl code samples within the pod.
  • Links to metacpan.org by default rather than search.cpan.org.

And so I've cobbled together a solution using Pod::Simple, PPI::HTML, HTML::HTML5::Parser, HTML::HTML5::Writer, XML::LibXML::PrettyPrint and Moo, and released it as TOBYINK::Pod::HTML.

no indirect considered harmful

Several p5p members argue that using indirect method call syntax is considered harmful.

I argue that using indirect method call syntax is the best and sometimes only way to extend the language without changing core or the parser rules.

method_name ClassName @args;
method_name $obj @args;

vs

ClassName->method_name(@args);
$obj->method_name(@args);

E.g. mst argues in "new Foo bad, 'no indirect' good" that the parser is too dynamic in deciding if something is a valid method call or not.

He gives three examples:

(1) Is a valid class name? If so, this is a method call.

use Foo::Bar;
new Foo::Bar @args; # calls Foo::Bar->new(@args)

(2) Is bareword a known subroutine name? If so, this is a sub call.

Better late than never - Perl School is awesome!

Three Saturdays ago I attended the fourth Perl School, which was about DBIx::Class.

Top line summary: it was brilliant!

This was the second course I've attended from Dave Cross, and the first one under the Perl School banner. Dave has been using Perl heavily for around two decades up to and including this year, which gives him a very deep knowledge that is also firmly up-to-date. He is also an excellent presenter and trainer, so all that knowledge I just mentioned comes pouring out freely in a way that is easy to understand.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.