2014 Swiss Perl Workshop redux

The Swiss Perl Workshop did not disappoint, although as a featured speaker there was plenty to worry about. One of the organizers, Matthias Bloch, was well trained to take care of the chaotic situation of herding cats and programmers. He was a trained primary school instructor, in which he explained the getting a group of first graders to do anything is much harder. I'm dubious, having been to many workshops, but everything went well. The trick is to embrace the fear.

Matthias Bloch

How does <email>@cpan.org work?

In the recent year I notice more and more instances that mail to ribasushi@cpan.org is silently swallowed. I know this because I communicate with the senders through other channels, and I've even received forwards of copies of emails which as far as the sender is concerned are delivered. I am also increasingly hearing the same story from my PAUSE-peers. Bottom line: it seems that the SMTPD cpan.mx.develooper.com is configured to do rather aggressive *silent* spam filtering.

I am writing this for 2 reasons:
  • I want to gauge whether the problem is indeed pervasive, or it is just bad luck on my part.
  • I want to solicit opinions on how to properly fix this if it is indeed a large-scale problem.

I personally would prefer to get all my mail forwarded my way directly, unfiltered and I would deal with it however I deem appropriate. Of course there are bound to be differing opinions on this.

Anyhow - please share your experience, both positive and negative!

Cheers

Some new MetaCPAN features

Perlybook integration: Each pod page and each release page now have two additional links to download MOBI and EPUB version of the current pod or the combined pod of the whole distribution.

The CPAN Author dashboard (can be reached from the 'Lab') now lists all of the distributions of the currently logged in CPAN author providing some overview of all the distributions.

The right panel can be now hidden (and then shown again) giving more real-estate for the documentation. Especially useful for smaller screens. This is persistent in the browser, but currently only works on the POD pages. This feature is also, still under discussion. Your feedback would be valuable!

You can now change the number of items shown on each result page. See the buttons
at the bottom of the search result pages. This choice is persistent in the browser.

Special Meta searches This is not new, but I only found out about these recently after writing how to
Find all Plack Middleware or Perl::Critic Policies.

Oh and something totally unrelated. I started to write an explanation about CPAN for users, contributors, and module authors.

If your core perl documentation uses =encoding, please test the new perldoc release

I'm here today to talk about the venerable perl documentation tool perldoc. Working with Koichi KUBO, I think I have a perldoc which works effectively with encodings in files like perlop, perlfunc and perlvar.

Preliminary results with the Japanese docs have been pretty successful, but it would be nice to get some positive results with other encodings/languages. So if you use a Perl with core documentation that isn't "plain old ASCII", would you please give Pod-Perldoc 3.24_01 a spin in your environment?

If you accept this task, please email results to bug-pod-perldoc at rt.cpan.org, open a github issue, or comment here.

Thanks!

Invite Me (Virtually) To Your Next Perl Meetup

Earlier this week I gave a presentation to the Boston Perl Mongers via Google Hangouts. This was the first time that I've done a presentation remotely, but everything worked flawlessly[1].

I would love to do more of these. If your local PM group or team at $work would like to learn more about static analysis with Perl::Critic, or dependency management with Pinto please get in touch with me. I am thaljef@cpan.org.

I'm looking forward to hearing from you!


[1] Big thanks to Tom Metro for extending the invitation, and Rick ... for handling the technical setup.

Padre is now on Github

Perhaps you remember Padre, The Perl IDE. It was started around 5 years ago, had a lot of development, and ended up being a quite decent programmer's editor.

Alas it's been suffering from lack of care for a couple of years now. Not because of lack of need or interest, but because nobody seems to have the time. And perhaps somebody needs to step up and grab the torch. Perhaps it's you?

Learning Perl 6 - Find in a Large File

Currently I feel it is good to prepare for Christmas.

To read in a larger file, /usr/share/dict/words in my case, I do
my @dictionary = split /\n/ , slurp '/usr/share/dict/words';
That is a cool piece of short code for the task. But - this is slow because I run a regex across a large file, I am told. Also, it is unnecessarily lots of code for the task. Look at that:
my @dictionary := '/usr/share/dict/words'.IO.lines;
Wow. But also, that was slow a few hours ago. It has become much faster since. (Don't tell anybody, the trick was going to a Perl Workshop and talking to some people. Nice people, and very, very helpful. I am tempted to some day try and run a hackathon for them..) Next task was searching for lines containing a $search_string:
for @dictionary -> $line {
      if $line ~~ m/$search_string/ {
          say "match: $line";
      }
}
Looks pretty straightforward but is programming Perl 5 in Perl 6. Brrr. ;-)
say @dictionary.grep({m/$search_string/});
!!!

Platform as a Service Shootout

Tonight we are having a Platform as a Service shootout at MadMongers. The contenders are Docker, Heroku, Stakato, dotCloud, and OpenShift. Hope to see you there.

[From my blog.]

Parsing: a timeline

[Cross-posted by invitation from its home on the Ocean of Awareness blog.]

1960: The ALGOL 60 spec comes out. It specifies, for the first time, a block structured language. The ALGOL committee is well aware that nobody knows how to parse such a language. But they believe that, if they specify a block-structured language, a parser for it will be invented. Risky as this approach is, it pays off ...

Install Net::SSLeay without root

Want to install Net::SSLeay on a Debian or Ubuntu system that you don't have root on, and doesn't have `libssl-dev` installed? Let me see if I can save you some time...

You are going to need to keep a compiled version of libssl around, and so you need to decide where that will live: I went for: `~/perl5/alien`...

mkdir ~/perl5/alien-src mkdir ~/perl5/alien

cd ~/perl5/alien-src

apt-get source lib64z1-dev # Or the 32 bit version
apt-get source libssl-dev

cd zlib-1.2.3.4.dfsg/ # Or whatever it is
./configure --prefix=~/perl5/alien
make
make install

cd ..

cd openssl-1.0.1/ # Or whatever it is
# These options took me approximately 15 years to figure out
./config shared -fPIC --prefix=~/perl5/alien
make

Alpine Perl Stint, Part 1 of 2

The Alps, Western region. Northern Switzerland. Halfway between Zurich and Basel. Here you can find Olten, a nice little city which these last few days had an unusually high concentration of Perl aficionados roaming its streets. I'm talking about this year's Swiss Perl Workshop, the second incantation ever, and a very successful one.

My YAPC::Asia photo gallery

"There is more than one way to enjoy it" is a slogan of YAPC::ASIA 2014. This is also another way that you can enjoy my story from photo on My Photo Gallery

YAPC::EU 2015 from 2nd to 4th September

The YAPC::EU 2015 conference in Granada will officially begin on Wednesday Septermber 2nd and will end on Friday 4th.

We also encourage you to be in Granada by Tuesday September 1st: we will be having other interesting events to warm up before the conference. For instance, if you'd like to use the venue to organize a meeting, a hackathon or a workshop just drop us a line.

In any case, make sure you don't miss the pre-conference meeting on Tuesday evening.

Mojolicious: Do It For The Candy!

Most of my recent blog posts about Mojolicious have revolved around its non-blocking capabilities. I like to write about those because I think that it is those capabilities that can bring new eyes to Perl from other languages, much like Node.js brought eyes to server-side javascript (for the same reason). That said, lately I have had excuses to show off Mojolicious and when I have done so, it has been some of the other cool features that have garnered the “Ooooh”s and “Aaaah”s from onlookers.

In this article I will show you some of those extras, like accessing your generated pages and even app itself direcly from the command line. I will also show how testing can be easy, powerful, expressive and yet still readably beautiful.

Second Swiss Perl Workshop - Perfect Location

This year, the Swiss Perl Workshop was held at the Flörli Olten, an old Town Villa turned into a meeting house. The atmosphere at this place was just incredible. The beautifully renovated rooms and an on site catering team gave the whole event the feel of a big happy family gathering. A big thank you to Matthias and Roman and Daniela and her kitchen team. I am already looking forward to next years edition.

10636147_529071630560281_4585180694202937456_n.jpg

A Newbie is Sent in YAPC::ASIA

As I'm an awardee from the Sand-A-Newbie program to attend YAPC::ASIA in Tokyo, Japan. This is my blog about what I have got so far and would like to share:

A Newbie is Sent in YAPC::ASIA

Hope you enjoy it ! :)

Day Two At the Swiss PErl Workshop

Well another pleasant day here in Olten and we started off with a talk by Laurent Dami about a project he has been working on for the Swiss courts system that allows admins access to CRUD a database that should not really ever be changed. ‎The key tto with was a mod called App::AutoCRUD‎ that allows the admins to see and manipulate data via a simple web interface that allows the specialized grouping and sorting required by the data and allows single and bulk operations. I(f you want to see a simple and elegant design that uses Plack and an ORM that isn't DBIx::Class it is well worth the look.

I hate unpacking sub calls with shift

Perl community has moved away from using special predefined Perl variables such as $(, $), $:, $!, $^H, $/ or many others without explicitly commenting their purpose. But why are we still using shift for sub params? i.e.:

sub foo {
    my $bar = shift;
}

Why is it still fine within the community to skip the @_ ? If we promote shift, then lets use pop as well? Why not? it looks nice:

sub foo {
    return pop, shift;
}

Web Development

My focus is Perl used in web development. I am creating a "Perl Kata" (curriculum) for the CoderDojo project in an attempt to teach Perl the right way to younger programmers.

USPS::RateRequest

I’m pleased to announce the release of USPS::RateRequest 0.0100. We’ve been developing this module in-house at The Game Crafter for a couple years now. It’s much faster than Business::Shipping, because it submits multiple simultaneous requests to USPS rather than doing them in series. And it’s more accurate than your typical request because it uses the result of Box::Calc to determine the exact dimensions and weight of each parcel. I hope by releasing this to the greater Perl community, you can enjoy on your online shops some of the benefits we have enjoyed by using this module. 

[From my blog.]

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.