Not a designer? Get involved with the MetaCPAN logo contest anyway!

The MetaCPAN logo contest is now in full swing, thanks in no small part to FLORA for his blood, sweat and tears in organizing it and also to the Enlightened Perl Organization, which fully funded this contest with astonishing speed.

Just to recap, the contest rules are posted at contest.metacpan.org and the entries are being posted at entries.contest.metacpan.org.

Now, you don't need to be a designer to get involved. Here are a couple of ways you can help out:

1) Get the word out. Let your designer friends know there is $400 up for grabs (not to mention eternal glory). If you're active on Twitter, please tweet about it as well. Send an email to your local PerlMongers group etc.

2) Comment on the entries. Because there is no limit on the number of entries per contestant, the logo submission process is allowed to be iterative. Constructive criticism can lead to authors resubmitting tweaked versions of their logos, which can only be good for the contest.

Go Lamers Bus Lines To YAPC

We’ve covered a number of other bus services to get you to YAPC, but Lamers Bus Line offers something a bit different. All the other bus services will get you here if you’re traveling from a major hub like Chicago, Milwaukee, or Minneapolis. Lamers has daily service from smaller cities all over Wisconsin. So if you’re from Wisconsin, but you’re from one of those less serviced regions, then check this out. They have daily service from the North:

  • Wausau
  • Mosinee
  • Stevens Point
  • Westfield
  • Portage

From the North East:

  • Green Bay
  • Appleton
  • Oshkosh
  • Fond du Lac
  • Waupun
  • Bever Dam
  • Columbus

From the South West:

  • Dubuque
  • Platteville
  • Dodgeville
  • Mount Horeb
  • Verona

All of these locations drop off at the UW Madison campus (where YAPC is being held). And perhaps best of all, they do this for less than $40. So if you live in Wisconsin, but don’t want to drive or can’t, then this is a great short range travel option for you.

GitHub is an amazing service that much of the Perl community has...



GitHub is an amazing service that much of the Perl community has adopted, but there are still a few holdouts using their own git repos, Subversion, and even CVS. I’m here to tell you that other than writing tests, there’s very little you could do to improve your software development process more than moving your applications and modules to GitHub. It’s not just a hosted git repository. They back up your repos, provide collaboration and documentation tools. They even provide plugins for other repositories so that if you prefer to use Mercurial locally, you can still use GitHub. And if your app is open source, you host it with them for free! Make a new years resolution and switch to GitHub.

Here’s how they describe themselves:

GitHub is version control for software development and so much more. Whether it’s a weekend side project, your favorite open source library, a startup destined for glory, or your company’s app, GitHub helps everyone work together with tools for easier collaboration and more visibility. Check it out — open source is free! 

I’m pleased to announce that GitHub has decided to sponsor YAPC::NA 2012.

Tie::Array::CSV is now more efficient on row ops

Not nearly so exciting as my announcement of Zoidberg, but today I announce the release of Tie::Array::CSV version 0.04.

Tie::Array::CSV leverages Tie::File and Text::CSV to allow access to a CSV file as a native Perl 2D array (i.e. array of array references), without having to read the (entire) file into memory.

The major improvement in 0.04 was inspired by a conversation with David Mertens at the WindyCity.pm imformal meeting a couple weeks back. As I was explaining T::A::CSV to the group over a couple beers, David asked if the file is updated at every change. I said proudly that it was, however he noted that this has some drawbacks.

MongoDBI - has documentation, isa => 'starting point'

Over the past few days I've hacked together some documentation for MongoDBI to serve as a starting point. Its not extensive or complete but it enough for you to get your feet wet.

-Enjoy

Alternative Dancer Templating Engines

Dancer uses a simple model of interfacing with templating engines (based on Dancer::Template::Abstract) and makes it very easy to add support for new engines. Thanks to this, if you're not happy with the default simple engine or with Template Toolkit, there is now a dozen different alternatives to choose from. Let's take a look at some of them.

The bad news is that the Pyle Center did not have a room large...



The bad news is that the Pyle Center did not have a room large enough for our main lecture hall at YAPC::NA 2012. The good news is that 100 meters down the street is the Lowell Center. We’ll be taking over the Lowell Center’s large dining room and setting it up to handle all of you. 

This is where we’ll do our keynote, plenary sessions, Getting The Most Out Of YAPC talk, the lightening talks, etc. 

Introducing here

I've just published the first release of the here module, a mechanism for safely inserting generated code into a compiling program. this can be used to write macros, cut down on boiler plate, and to implement new declarations, all without ever having to parse any perl source code.

you operate on code as data, as you normally would when metaprogramming. then a call to use here $generated_code; injects that code into the compiling source

sub my_0 {map "my \$$_ = 0", @_} # a simple macro

use here my_0 qw(x y z);

results in perl compiling

my $x = 0; my $y = 0; my $z = 0;

and all of those variables are of course in scope after the use here line.

here on metacpan

an example module using here is here::declare, which provides compile time assignment to lexical variables as well as a shortcut for defining constants.

use here::declare;

use my '@foo' => [1, 2, 3];

results in perl compiling

my @foo; BEGIN {@foo = (1, 2, 3)}

or to define a constant:

use const2 DEBUG => 1;

which results in:

sub DEBUG () {1} our $DEBUG; BEGIN {*DEBUG = \DEBUG}

giving you both the $DEBUG constant scalar, and the DEBUG constant subroutine with one simple declaration.

feedback welcome.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.