I will (probably) be attending the French Perl Workshop!

At school we had the opportunity to decide on a third language to learn, either Arabic or French. I opted for French (though my mother speaks Arabic as a second language) because it seemed interesting. School, as usual, makes you hate learning. I was kicked out of the class more than I actually attended it.

A few years ago I decided to take another shot at it. This was after I had already started working on Dancer with Alexis Sukrieh (sukria), Franck Cuny, Damien Krotkine (dams) and Philippe Bruhat (BooK). I took French classes, and started reading, writing and speaking. Going to Belgium gave me an opportunity to immerse myself more in the language. I stayed with Franck, Dams and Sukria, and a bunch of fun people from Linkfluence! It was a lot of fun, and I enjoyed it very much. It was then that I decided I'd love to attend the French Perl Workshop sometime.

Look away Now: Java questions (Debian/Perl)

Hi Folks

I'm going to use The State Machine Compiler (SMC to generate some Perl modules.

The docs say I need the "javac", "java" and "jar" executables.

My machine runs Debian stable 6.0.1. java is in the path. The question is:
What do I need to install to get javac and jar?

TIA.

Yet Another Perl Podcast #5: Интервью с Peter Rabbitson

В гостях у YAPP и/о “бензопильщика” самоего популярного ORM в perl - DBIx::Class - Peter Rabbitson.

В комментариях к этому посту вы можете задавать свои вопросы, на которые Peter постарается ответить.

Cсылки: RSS и лента на rpod.ru
Следите за анонсами в twitter

Bovicide 6: The Final Requirement

half_yak.jpg This post in one of a series inspired by a web discussion about what it would take to replace yacc and its cousins as the industry standard for parser generators. My interest in the question grows out of Marpa, my project to take the many improvements made over the decades to Earley's algorithm, and turn them into a practical parser generator.

Requirement 6: Available as a Library

To be an adequate yacc replacement, an algorithm should be available as a library. In the Perl context, this means available as a module. I interpret this requirement loosely enough to regard the traditional implementations of LALR parsers, such as the yacc parser generator, as meeting this test. True, they usually generate the code for a custom parser, which then must be compiled as a separate step. But an LALR parser generator could be implemented as a library.

Lingering tragedies

Often times when we're mad, or get hurt, we keep it in. Unfortunately anything that isn't dealt with will soon surface to the ground, usually in the wrong time (since we fail to allocate an appropriate time), and in the wrong way.

When something hurts us - really hurts us - whatever bad experience it is, it changes our lives. It changes the way we interact with others: those that have done us wrong, those we've done wrong, those who stay behind while others leave, those who remind us of others gone, and mainly... ourselves. We ourselves change to accommodate a place for all of this pain, these lingering tragedies. Our lives become the sum of our calamities.

Take the time to deal with whatever ails you, for it, uncured, will cripple your life.

PGXN vs MetaCPAN

David E. Wheeler has done some great work with PGXN. It's an excellent example of how you can build something CPAN-like without being weighed down with design decisions from long ago. There's JSON all over the place and there are mashups just waiting to happen.

In his latest post, he has challenged MetaCPAN to duplicate some of the shiny, new PGXN functionality. Turns out we can do shiny things too. This solution uses a combination of our current (older) API and our (newer) beta front end.

To see the JS and HTML output in action, check out this fiddle, this even cleaner fiddle or this jQuery solution. Take that, PGXN! :)

edit_file and edit_file_lines


Have you ever wanted to use perl -pi inside perl? Did you have the guts
to localize $^I and @ARGV to do that? Now you can do that with a simple
call to edit_file or edit_file_lines in the new .018 release of
File::Slurp. Now you can modify a file in place with a simple call.

edit_file reads a whole file into $_, calls its code block argument and
writes $_ back out the file. These groups are equivalent operations:

perl -0777 -pi -e 's/foo/bar/g' filename

use File::Slurp qw( edit_file ) ;

edit_file { s/foo/bar/g } 'filename' ;

edit_file sub { s/foo/bar/g }, 'filename' ;

edit_file \&replace_foo, 'filename' ;
sub replace_foo { s/foo/bar/g }

edit_file_lines reads a whole file and puts each line into $_, calls its
code block argument and writes each $_ back out the file. These groups are
equivalent operations:

perl -pi -e '$_ = "" if /foo/' filename

use File::Slurp qw( edit_file_lines ) ;

edit_file_lines { $_ = '' if /foo/ } 'filename' ;

edit_file_lines sub { $_ = '' if /foo/ }, 'filename' ;

edit_file \&delete_foo, 'filename' ;
sub delete_foo { $_ = '' if /foo/ }

So now when someone asks for a simple way to modify a file from inside
Perl, you have an easy answer to give them.

Seeking: Module to plot Perl class hierarchy

Hi Folks

The Subject says it all. I tried a number of CPAN searches, but couldn't see anything.

Cheers
Ron

Tel Aviv Perl Mongers meeting on May 25th (next Wednesday!)

Hey everyone,

We're having another Tel Aviv Perl Mongers (TA.pm) meeting next week.
As usual, we're gonna have some people, some snacks, lots of laugh and fun. Come along!

Date: May 25th
Address: Shenkar College, Anna Franck 12, Ramat Gan. Room 323.
Hour: 18:30 - meeting, 19:00 - talks start

Scheduled talks:
* ABC Path solver, live demo -- Shlomi Fish
A short talk of Shlomi's ABC Path Solver, including a demo

* Unicode considerations in Perl -- Meir Guttman
Meir will help us understand how to work with Unicode better

* Moose!! -- Sawyer X
If you don't use Moose, come see why you should! If you do, come help convince others!

Hope to see you there! :)

12 Million Test Reports

Another milestone in CPAN Testers history was reached today, 11th May 2011, with over 12 million reports now stored within the database, as can be seen via the Interesting Stats page. Incredibly, as David Golden recently noted, we have submitted over 6 million via the HTTP API over the last year alone. At the current rate, I expect us to be close to 16 million reports by the end of the year.

Congratulations to Chris Williams for posting the 12 millionth report. It was a PASS for Weather-TW-0.33.

Cross-posted from the CPAN Testers Blog

Fun at the Dojo Rio

I went to Rio after the São Paulo Perl Workshop. Doesn't it look like fun? Don't you want to come to YAPC::Brazil to have as much fun?

Last night Breno took me to Dojo Rio. I had never been to a Dojo before, and it was a very cool way to socialize and learn about other languages. I don't think this meeting was typical because I gave a short TDD presentation first where I started with a new Perl module then slowly added some features to it. I should have screencasted it, but I forgot to set that up.

Some of the people weren't strong in Perl, but most of them knew the ideas. After they watched me make several mistakes, we eventually got through adding tests and implementing a new method. Part of the Dojo idea is that you have to let the person working in front of the group puzzle out the problem on their own.

POD to the left of me, POD to the right of me...

Hi Folks

I've finally added POD to the 21 modules of Business::Cart::Generic which were missing it.

Cheers
Ron

Running your unit tests on DotCloud

As part of my deployments to DotCloud I want to run my test suite. Having found my code directory (which I didn't find documented anywhere) this was straight-forward:

dotcloud run namespace.name -- 'cd /home/dotcloud/code/ && prove t/*.t'

The Summer of MetaCPAN

Lots of exciting things have happened with MetaCPAN since I posted the last update. The most important development was the announcement that Moritz Onken's Google Summer of Code proposal for MetaCPAN was accepted. Moritz had already made a huge impact on MetaCPAN before his proposal was accepted and this gives him even more time to devote to improving both the front and back end of MetaCPAN.

I've always thought of this project as a marathon rather than a sprint, but with the rate things have been happening lately, I may be forced to re-evaluate. I'd like to see us get the maximum benefit for the Summer of Code grant. In order to do this, we still need some volunteers to dig into our big list of open issues. The more issues we can clear up, the more of his time Moritz can devote to some of the meatier parts of his proposal, like module tagging, comments etc.

Job Hunting

They say you should write what you know. Lately I've spent some time exploring the job market. I've been doing this to some extent for years as I worked to recruit new employees to Rentrak. In the past year, I've seen the volume of open positions explode as the economy starts to recover. This has created something of a low pressure zone "outside". Plenty of companies are seeing turnover in the past year as employees get sucked out by one of the very many external opportunities.

This is good for developers. Even if you're not actively looking for work, your employer will feel market pressure to improve your working conditions. They want to be sure that you're not sucked out the door. If you are actively looking for work, then there's a veritable smorgasbord of options out there. If you don't see something you like today, just keep your eyes open. If you'd like to be actively looking but are not sure where to start, then the rest of this blog post is for you.

Heads Up: Functions in CSS

Hi Folks

At the very least, this is worth reading up on: Less CSS.

The less refers to factoring out common logic.

Cheers
Ron

An addition to the Dancer core team: ambs!

As David Precious has written recently, ambs (Alberto Simões) has joined the core Dancer development team!

Ambs has been working closely with us for a while now and it just made sense for someone this motivated and responsible to be a part of the core.

Welcome ambs, and congratulations! :)

Perl QA Hackathon 2011 in Amsterdam

Finally I've uploaded pictures from the Perl QA Hackathon 2011, which took place in Amsterdam from 16th-18th of April.

Photos

It was a very enjoyable event - good company, good code, good beer. Thanks to Philippe Bruhat (BooK) for organizing it; to Booking.com for their offices and sponsorship; and to Vienna.pm for their sponsorship, which also helped to cover my travel and accommodation costs.

Old Job

Perhaps "old job" isn't entirely accurate as I'm still working there for another week and change. I guess "current job" is more appropriate.

Ron Savage asked what that job was. Well, I'm happy to share that. I'm working at Rentrak. Yes, they're hiring. I've been there going on eight years now. If you're in the market for a perl job in Portland, Oregon USA, then look them up.

Perks: tons of smart coworkers, serious about test-driven development, huge repos of code in much better shape than is typical out there (from what I've seen and from what I've heard from others), various degrees of XP and agile influence (which practices are in play depend on which team you land on... and may change over time), etc. There's more behind the link above.

If that strikes your fancy, submit your resume!

Note: that "huge repos of code" bit also means that much of the learning curve is learning your way around perl_lib/RTK. Rentrak has hired plenty of non-perl programmers who do great and contribute novel perspectives. Picking up perl is nothing compared to picking up the existing code. So, if you're a great hacker of some other stripe don't let a lack of perl experience stop you from applying.

Conference Surveys 2011

I mentioned in my last post that I was working on a Survey Plugin for Labyrinth. The plugin is used within the YAPC Conference Survey system, which has now been running for several YAPC events over the last 5 years. I had promised to try and release the complete survey site last year, but with it being a Labyrinth based site setup, I didn't want to release it without releasing Labyrinth first. Now that's done I can concentrate on getting the Survey Plugin and the complete survey system on CPAN.

This year I will be running the YAPC::NA and YAPC::Europe surveys as per usual. However, this year I am delighted to say I have also been asked to handle the survey for the Pittsburgh Perl Workshop too. Hopefully if all goes to plan, this will provide the test bed for many other workshops to provide surveys.

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.