PTS 2023 in Lyon#
The Perl Toolchain Summit (PTS) is an annual event, held in Europe, where work on improving the Perl toolchain takes place.
After a long Covid19 break, I was fortunate to be able to attend PTS again this year. We gathered in the wonderful city of Lyon, France. This was my 3rd trip to Lyon for the PTS and my 9th PTS in total.
Photo Β© Salve J. Nilsen, 2023, CC-BY-NC-4.0
[Left to right Graham Knop, Mickey Nasriachi, Olaf Alders and Leo Lapworth (reclining)]
Getting There#
I took the trip to France as an opportunity to visit some family in Germany and also to bring along my 12 year old daughter, who had only met a couple of her German relatives up to this point. We flew in to Frankfurt on the Friday before PTS. As it happens there was a rail strike that day, so our plans for taking an ICE from Frankfurt to SaarbrΓΌcken didn’t work out. We got picked up by my cousin instead. We spent the weekend in Germany visiting, with some stops in France and Luxembourg (Schengen) along the way.
We also happened to make a brief stop in Perl. (When I mentioned this to my mother, she told me that early on in her career she actually lived in Perl.) Despite the name’s connection to the language, there were no camels, onions or velociraptors on display.
On a sort of related note, From Perl to Rust is well worth the read. I highly recommend it if you’re a Perl hacker thinking of dabbling in Rust.
The following Monday, we took a TGV from SaarbrΓΌcken to Paris. We were delayed by several hours in Germany when our train was cancelled due to a strike on the French section of the route.
After a couple of days of sightseeing in Paris, we took a train from Paris to Lyon. We arrived around 10 pm, so we missed the arrival dinner, but still saw a few familiar faces in the lobby.
On Thursday morning I was able to get reacquainted with many old friends in the hotel restaurant, and PTS was essentially underway.
Photo Β© Salve J. Nilsen, 2023, CC-BY-NC-4.0
The Sponsors#
This event wouldn’t take place without the financial backing of our wonderful sponsors. I’d like to thank the following donors for making this event a reality:
Booking.com, Deriv, Grant Street Group, Fastmail, cPanel, Perl Careers, MaxMind, Fastly Inc., Perl Maven, OpenCage, Perl Services, Oetiker+Partner, Procura
The Attendees#
As pictured below, this year we had Leo Lapworth, Graham Knop, Olaf Alders and Mickey Nasriachi in attendance to work on MetaCPAN. We missed Shawn Sorichetti very much, as he was unable to attend.
Photo Β© Salve J. Nilsen, 2023, CC-BY-NC-4.0
The Goals#
At our last meeting in 2019, we were working on moving our development
environment from Vagrant
to Docker
and moving the production environment
from Puppet
to Docker
+ Ansible
. In the intervening time we were
successful with the dev environment move and we had partially moved to Docker
deployments in production but not for the MetaCPAN API or web site. There has
been some work on MetaCPAN since 2019, but things tend to slow down without
these face to face meetings. Since 2019 Shawn Sorichetti has been working
on his own on deploying Docker containers to production using k3s. A lot of
that work was finished, but nobody else really understood enough about the new
system to be able to start deploying containers. Our hope for PTS was to get
the project into a position where we could begin deploying more applications
without relying on our old Puppet
configuration.
The Achievements#
Leo took it upon himself to test drive the k3s
documentation and figure out
how everything works. This was also the perfect opportunity to close down our
presence at Hivelocity and move to some cloud instances at Hetzner. After a
long 4 days of learning a lot of new technology, Leo was able to deploy
grep.metacpan.org to Hetzner. It is now up and
running in its new home. Hopefully this means we can begin moving more of our
core infrastructure to containers. There is also a long-term plan to bring some
3rd party applications (like cpancover.com) on board and begin hosting that as
well. This will raise our monthly costs, so having new sponsors come on board
will be key.
Welcome to Our New Sponsor#
On that note, Sonic recently joined us as a sponsor. I took a few minutes at PTS to add them to our sponsor page. If your company would like to help us continue to make finding Perl modules enjoyable, please do have a look at our sponsorship opportunities and reach out to us at noc@metacpan.org with any questions.
Updating Dependencies#
The metacpan-web
repo has an automated process which updates its
cpanfile.snapshot
once per week and auto merges the code if a human signs off
on it. We had wanted something similar for metacpan-api
, but for years now we
have not been able to update all of the dependencies at once. I had updated a
number of them by hand in the past, but always got testing errors which I tried
to upgrade them all at once. Graham had a look at this and found the culprit.
So, one module has now been pinned to an earlier version and we can once again
keep all of the other CPAN dependencies for the API up to date with a weekly,
automated process.
Goodbye Travis CI#
In 2019 we had begun the Dockerization of some of our sites and automated pushing images to Docker Hub via Travis. Since Travis is no longer a great option, I spent some time this year moving Travis-based logic to GitHub Actions. I also Dockerized the remaining sites, which I for some reason had just assumed were already done. π€·ββοΈ
Goodbye Unused Repositories#
Leo and I spent some time going over the massive list of repositories in the MetaCPAN GitHub org. He deleted or archived around 25 repositories, making it much easier to get an overview of our repositories.
Goodbye Inactive Org Members#
There were a number of people in our GitHub org who have not contributed over the last couple of years and some who have possibly never done so. I took a moment to remove clearly inactive members in order to have a better overview of whom we are dealing with.
Goodbye Twitter?#
On the first morning of PTS we got an email from Twitter saying that our app had been suspended. I think it has to do with changes to their API terms. I know that Graham followed the instructions to re-activate it, but I haven’t tested Twitter OAuth logins to see if they’re back. I don’t know how many people might rely on this. Twitter seems like such a dumpsterfire that I’m not interested in spending a lot of time on it, unless it’s strictly necessary. So, that probably needs someone to verify that it’s working.
On a related note, the MetaCPAN Twitter account is mostly dead. I think I’m the only one who ever tweeted from it. Every day I don’t spend on Twitter is a better day for me, so I don’t anticipate much happening with that account moving forward.
Hello Mastodon#
Some time ago, Graham set up a Mastodon account for us at https://fosstodon.org/@metacpan Since we’re done with Tweeting, hopefully we’ll have lots of time for Tooting.
Hello CVEs#
Mickey did some work to add an index of CVEs to the MetaCPAN API. Among other things, we’ll be able to use this in future to bring attention to code which may be affected by CVEs.
Other OSS#
libwww-perl#
Some of the libwww-perl org. Left to right Olaf Alders, Graham Knop, Karen Etheridge and Julien Fiegehenn.
Photo Β© Salve J. Nilsen, 2023, CC-BY-NC-4.0
I’ve been part of the libwww-perl org for quite some time now. I had managed to
rope Julien in a while back and he spent a good deal of his PTS dealing with
open issues, reworking open pull requests and generally helping to clear out
the backlog. I was able to do some code review on his work. He got a lot of
work done over the 4 days and even released updated versions of some
libwww-perl
modules.
Other Fun Stuff#
Hello Bouldering#
[Breno tackles a route as Julien looks on.]
I let myself get talked into going bouldering with Julien, Tux, Leo, Breno and my daughter on the Saturday morning of PTS. I’ve never gone bouldering before and last attempted some rock wall climbing over 20 years ago. I had a lot of fun and got some particularly good mentoring from the other climbers, who are all experienced in the sport. I was able to tackle much more than I thought, didn’t pick up an injury and was still able to move the next day, so it felt like a pretty big win.
Hello Body Mass Index#
Photo Β© Salve J. Nilsen, 2023, CC-BY-NC-4.0
The meals in Lyon were, as is to be expected, excellent. The Thursday and Friday evening restaurant visits, which were organized by the organizers, were fantastic. At the local bouchon I feel like I pushed the envelope on what my body could manage to pack away, but I emerged victorious. Having hopefully learned my lesson, I didn’t try to set any records at subsequent meals, but they were also very enjoyable.
π We Missed You, Neil#
Although Neil Bowers help to organize this event, he wasn’t able to make it down. We missed him very much. He’s a real diamond geezer.
Not an actual photo of Neil Bowers.
That’s a Wrap#
PTS was, as always, great. It was particularly nice to be back this year after such a long pause and see so many familiar faces again. As someone who was worked 100% remotely for the last 10+ years, I believe that you can do quality work without being in the same room as your colleagues. I also believe that for these kinds of volunteer projects, it’s hard to create the kind of momentum that an event like this brings, without getting everyone in the same room together.
Heading home, by way of Geneva.
An event like this doesn’t happen without sponsors, but it also doesn’t happen without organizers. I want to thank Neil, Philippe and Laurent for all of their work in organising this event. As per usual, they did a fantastic job. They were also very supportive of me bringing my daughter along and made her feel completely welcome, as did the other attendees. This allowed me to get some OSS work done, see my PTS friends, visit some family and spend some one on one time with my little one. All in all, it was an unforgettable time.