13 Days to Christmas, and 6 Months to YAPC

Now would be a great time to remind your family that what you really want for Christmas is an all expenses paid trip to YAPC::NA 2012!

The dates are June 13-15 in Madison, Wisconsin. And while they’re at it, they should also send your spouse with you to enjoy the Spouses Program.

CPAN Testers Server - Update 14/09/2011

Initial checks on the database highlighted some discrepancies, which have now been fixed. The databases have now been archived and are now rebuilding. It is hoped that this will be completed within the next few days.

Once the database are all rebuilt and sync'ed, the websites will slowly be switched back on. The first sites that will appear will be the Statistics and Devel sites, with the Reports website coming back online once the bulk of the support files (JSON, JS & HTML) have been recreated.

given/when and lexical $_ ...

... or happy debugging!

TL;DR Upd: Use for instead of given, as Aristotle suggests.

Here are some code snippets to show what's wrong with given/when.

use 5.010;
use strict;
use List::MoreUtils qw/any/;

given ('test') {
    when ('test') {
        say "any" if any {$_ == 2} (2, 3);
    }   
}   

The above code prints nothing. Ok, let's change any to grep to see if it works:

Twin City Perl Workshop 2011

Twin City Perl Workshop 2011 in Vienna and Bratislava is now open for registration. The event will take place on Friday, 4th November, in Vienna (@ Metalab), and on Saturday, 5th November, in Bratislava (@ Hotel Barónka).

If you want to present anything Perl-related in English, Slovak and/or German, please submit a talk!

Train transfer between Vienna and Bratislava is sponsored by Booking.com - thanks a lot! If you or your company / organization would like to sponsor, too, do not hesitate to contact us!

See you in Vienna & Bratislava!

(Crossposted from domm.plix.at)

I’m not sure if you’ve ever stayed in a hostel...



I’m not sure if you’ve ever stayed in a hostel before, but the hostel in Madison is pretty amazing. If you’re looking for the cheapest possible accommodations for YAPC::NA, then look no further. They can take up to 33 guests at a time, and charge only $22 per night. The hostel is about 10 blocks from the YAPC conference facilities. 

Find the exploit…

Two of these can permanently drop the UID to 1000. The other two however results in a state where a previous privileged state can be restored. Can you spot which ones are right and which ones not? And most importantly: why?

$< = 1000;
$> = 1000;

$> = 1000;
$< = 1000;

$< = $> = 1000

$> = $< = 1000

I'm making a note here: HUGE SUCCESS

Thanks to the Philadelphia Perl Mongers for hosting my DB Critic talk last night. I got over my public-speaking jitters and it went really well, with great questions and ideas from the whole group.

Mojocast #3: Authentication, Helpers, and Plugins

The response for Mojocast #2 was even more overwhelming than the first episode.

How overwhelming?

mojocast e2 #1 on hackernews.png

That's right, your upvotes matter. Within 6 minutes of posting, it was secured on the front page. Within 20 minutes, it was #1.

Consider the reality here: the most watched site on the internet by hackers/developers had a Perl-related post in the top spot. It remained on the front page for 6 hours, which is pretty good for a screencast with no article attached. That's a solid group of folks with a lot of potential aha moments in Perl's favor.

Bottom line: If you care about the marketing of Perl and its exposure among the masses, consider upvoting the Mojocast, leave a comment, and spread the word!

Hooray Perl!

Speaking of which,

Mojocast #3: Authentication, Helpers, and Plugins

Hackernews post

Best Practical has a Perl Hacker job opening that I thought many...



Best Practical has a Perl Hacker job opening that I thought many of you might be interested in. Here are the details:

Perl Hacker

We’re Best Practical Solutions, a small software company located in Somerville, MA. We build software and sell support, training, consulting, and custom development. Our main product, RT (Request Tracker), is the premiere open source issue tracking system. We’ve been around for a decade, and things just keep getting busier.

About the job

Announcing Marpa::XS 0.010000

Some time ago I released Marpa::XS 0.010000. The core Marpa algorithm had already been converted to C, speeding it up considerably. Marpa::XS 0.010000 cleans up a lot of code left over from development, further speeding things up.

What is Marpa?

Marpa is an advance over recursive descent and yacc. I hope the Marpa algorithm will become the standard parser for problems too big for regular expressions.

Padre blog revisited

First post - moving to blogs.perl.org from use.perl.org

Heads up: LLVM (e.g. C/C++)-to-JavaScript compiler

Hi Folks

Yep, head on over to emscripten.

We’re pleased to announce OHPA Software as our latest...



We’re pleased to announce OHPA Software as our latest amazing sponsor for YAPC::NA 2012.

Ohio-Pennsylvania Software is a web application development firm dedicated to providing secure, reliable Internet applications and an exceptional level of customer service. We employ friendly, talented staff whose number one priority is the satisfaction of the customer. Our primary services include:

  • Rental property management software
  • Event registration software
  • Custom software development
  • Web design and hosting

Based in Pittsburgh, Pennsylvania, we provide quality software to clients in a variety of industries, from legal services to real estate, tourism, information services, publishing, photography, and nonprofit organizations.

poor man's cfv/cksfv (CRC checksum)

Lately I wanted to compute CRC-32 checksums for some videos. At first, I took a look at Digest::CRC and wrote this one-liner:

perl -MDigest::CRC=crc32_hex -E 'say crc32_hex <>' file.mkv

But of course that didn't work, since I was only reading a line off the first file in @ARGV. Realizing I need to read in the file, I added IO::All in the mix:

perl -MDigest::CRC=crc32_hex -MIO::All -E 'say crc32_hex io($ARGV[0])->all' file.mkv

That worked, but it was too slow since it read files into a string, and I was dealing with large (~1GB) file sizes. After a bit of looking around, I found the Digest::file module, so my one-liner finally becomes:

perl -MDigest::file=digest_file_hex -E 'say "$_ cksum: \U@{[digest_file_hex $_, q|CRC-32|]}\E" for @ARGV' file1.mkv file2.mkv files*.avi

Of course, I could have gotten something like cfv or cksfv from my Ubuntu repository, but curiosity got the better of me ;)

(edited: make use of perl's -E switch to implicitly enable features.)

Presenting DB Critic at Philadelphia Perl Mongers tomorrow night

Just a quick FYI that I'll be presenting DB Critic (née DBIx::Class::Schema::Critic) tomorrow night at the monthly Philadelphia Perl Mongers meeting. We're in Room 307 of Levine Hall on the University of Pennsylvania starting at 7:00 PM.

Try::Tiny

Never, ever, forget a semicolon after the catch block when using Try::Tiny. I just got stuck debugging a little script for more than two hours...

Idea Collector Buttons Updated

Lot’s of people have been contributing to the growing list of ideas in the YAPC::NA 2012 idea collector. However, many said that the labels on the buttons weren’t specific enough. To that end I’ve changed the labels to read “Interested”, “Don’t Care”, and “Not Interested”.  Using these labels it should give us a clearer idea of personal interest level rather than just whether the idea has merit.

Given these new labels, feel free to go back and re-rate any items that you think have changed. 

Mo Moo Moose


Finally I found the way I like to program OO in Perl !

http://perl-node-interface.blogspot.com/2011/09/mo-moo-moose-not-really-stuttering.html

About Frankfurt...

Frankfurt am Main - better known as simply Frankfurt - is the largest city in the German state of Hesse and the fifth largest city in Germany. In 2009 over 600,000 peopled lived there and the Rhein-Main-Area (which is the second largest metropolitan area in Germany) has a population of about 5,600,000.

Frankfurt is the financial and transportation center of Germany: It is the seat of the European Central Bank, the German Federal Bank, the German Stock Exchange and the Frankfurt Trade Fair.

But Frankfurt was an important city in the history, too. The very first democratic elected German parliament had its seat in Frankfurt.

Sightseeing

DotCloud::Environment

I'm in the process of releasing DotCloud::Environment, a module that should ease the developer's life with providing a unified entry point to get dotCloud's configurations for an application.

A typical case I had while playing with dotCloud was that I could easily deploy an application, but I had no simple way to setup a basic test environment in my development machine. This is unfortunate because it shifts all testing on the deployed infrastructure.

When you create an application on dotCloud, you're probably going to have some services that resolve to code you have to write, other ones that resolve to data you're going to populate or use. The link that allows a code service to access a data service is the file /home/dotcloud/environment.json (or its equivalent YAML representation /home/dotcloud/environment.yml), so you know where to look for when you are in the deployed environment.

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.