The Lion and the Butterfly and the Camel
Tags: perl, perl6, freesoftware, workshop
Published: 2017-11-26 18:48:46

---
title: The Lion and the Butterfly and the Camel
published: true
description: On the London Perl (5|6) Workshop, or Meeting the Camel(ia) Community once again
tags: perl, perl6, free software, workshop
---
So I just came back from the [London Perl Workshop](http://act.yapc.eu/lpw2017/)

>This actually involved taking 6 trains from London to Heathrow because I am old and dumb. And also the Piccadilly line stopped right here for a little tiny while.
![Next station: The boondocks. Corresponddence with the Middle-Nowhere line](https://thepracticaldev.s3.amazonaws.com/i/f4nateammb11s7sz17s1.jpg)

The London Perl Workshop is about [Perl](https://www.perl.org/). 

>If you want to know more about Perl check out the upcoming [Perl 6 Advent Calendar](https://perl6advent.wordpress.com/) and the corresonding [Perl Advent Calendar](https://perladvent.com/). This morning the [BBC was mentioning some weird advent calendars such as the Pork Scratchings calendar](http://www.bbc.co.uk/news/uk-42107580) but somehow they forgot to mention that. Although we should definitely have something like that. The Perl Camel and Camelia Scratchings calendar, for instance. You can scratch anything, right?

Anyway. [Perl6](https://dev.to/search?q=perl6) seems to be a tiny thing right here, so I might as well talk about that for starters. It's a language that it's about inclusivity (which is the opposite of exclusivity) and diversity. Perl6 does not exclude any paradigm, it's got them all. It's concurrent *and* object oriented *and* *functional* and it does work with Unicode to an extent few languages do. Perl6 is still Perl, and both Perls are about [getting shit done now](http://blogs.perl.org/users/buddy_burden/2014/02/perl-and-me-part-9-thats-why-i-failed-recess.html). For instance, yhis [25 line program](https://github.com/JJ/perl6em/blob/master/utils/bq.perl6) makes a BigQuery request for pull requests on both versions of the language, for instance. Took me like a couple of hours get the query right, and understand it, and around 10 minutes to process it to extract only the mentions to Perls and their rank.

~~~
use JSON::Tiny;

my @months_numeral =  "0" «~« (1…9);
@months_numeral.append(<10 11 12>);
my @months = <2015 2016 2017> X~ @months_numeral;
@months.pop;

my $fh = open "new_repos.csv", :w;
my $fh2 = open "rank.csv", :w;
$fh.say("Perl, Perl6");
$fh2.say("Perl, Perl6");
for @months -> $m {
    # Taken from https://stackoverflow.com/questions/41475499/how-to-measure-language-popularity-via-github-archive-data
    say "Querying $m";
    my $output = qqx{bq query --format json "SELECT COUNT(*) c, JSON_EXTRACT_SCALAR(payload, '\$.pull_request.base.repo.language') lang FROM [githubarchive:month.$m] WHERE JSON_EXTRACT_SCALAR(payload, '\$.pull_request.base.repo.language') IS NOT NULL GROUP BY 2 ORDER BY 1 DESC LIMIT 100"};
    my @ranking = from-json( $output );
    my @perls = @ranking[0].pairs.grep( { $^þ.values[0]{'lang'} ~~ /Perl/ } );
    my $year = $m.substr(0,4);
    my $month = $m.substr(4);
    $fh.say( "$year/$month, ", (@perls.map: *.values.map( { $^þ{'c'} } )).flat.join( ", " ) );
    $fh2.say( "$year/$month, ", (@perls.map: *.keys ).flat.join(", ") );
    
}
$fh.close;
$fh2.close;
~~~
This is the result, BTW. 
![Pull request rankings](https://raw.githubusercontent.com/JJ/perl6em/master/data/perl-perl6-prs-rank.jpg). I used it right in the talk I gave at the conference.

You can easily see the place in the ranking sliding to the mid-20s, with Perl6 going up and down like crazy, but never leaving the lower part of the top 100. 

> I was also kind of sad that nobody mentioned [Perl in a recent question to The Practical Dev](https://dev.to/jj/what-would-you-like-your-first-programming-language-to-be-or-have-been-df0). It was not my first language, either, but it's the first language I learned a long time ago and have been using ever since.

You probably couldn't tell by attending this workshop. It was not as crowded as Oxford Street on a Saturday night
![Crowd on the sidewalk](https://farm5.staticflickr.com/4527/24777438008_20a174e76b_k_d.jpg)
but still pretty busy, with three separate tracks and close to 200 people registered. 
![Wendy with all the Perl 6 books](https://thepracticaldev.s3.amazonaws.com/i/dp30yo5pudo8yqile73v.jpg)
Perl 6 was the [(Rakudo) star](https://rakudo.org) of the conference, with many talks, including mine, devoted to it, and many books sold, including, yes, [my book that's for those that know little or no programming at all](http://amzn.to/2hSokDt).
![Pile by the end of the day. Low due to mine being the best, or probably the cheapest](https://thepracticaldev.s3.amazonaws.com/i/qbzu1idfx8kwukqo1jhu.jpg)

## But how did it go?

You can check it out in the [`#lpw2017`](https://twitter.com/search?q=%23lpw2017&src=typd) hashtag. It went well. Details don't matter too much, but the organizers did an excellent job of accommodating talks at all levels and including other languages such [as Go by Sue Spence](http://act.yapc.eu/lpw2017/talk/7238) or [Rust](http://act.yapc.eu/lpw2017/talk/7267) or [all of them](http://act.yapc.eu/lpw2017/talk/7221). Perl community is open to all communities, and also to people baking stuff
![The Great Perl Bake Off](https://thepracticaldev.s3.amazonaws.com/i/imcxm03ydzyyoz3550dz.jpg)

We were well provided with pastries by the community, and also some [sponsors](https://cogendo.com) which brought [piles of *pasteis de nata*](https://www.flickr.com/photos/atalaya/26860983299/in/dateposted/) in the afternoon coffee. The fact that this conference, devoted to [a widely disliked language](https://stackoverflow.blog/2017/10/31/disliked-programming-languages/), was so well attended, might or might not be a reaction to Brexit

![Bollocks to Brexit, sticker on the university entrance](https://thepracticaldev.s3.amazonaws.com/i/6ig3ov4cmrzzvkd5mdwi.jpg)

but the fact that talks were enthusiastic and knowledgeable and funny and amusing means that the future is probably brighter for Perl than we might have thought. The fact that there were four recruitment companies: [Eligo](http://eligo.co.uk/), [Perl Careers](https://perl.careers/jobs/), [CV Library](https://www.cv-library.co.uk/) and [WCN](https://www.wcn.uk/) too. 

## Why would you care

If you are curious, and want to get stuff done, you'd do well to check out any Perl. Perl 6 is probably better right now, but Perl 5 is in for major changes very soon that will make it faster and better. If you don't know where to start, just ask.