This year's London Perl and Raku Workshop will take place on 26th Oct 2024. Without our sponsors this event would not happen and we would like to thank them.
Perl developers are hard to get. As the leading language of the dotcom boom, Perl is one of the best-paid languages worldwide, yet Perl training seldom features on university curricula. But that doesn't have to cause a headache for employers trying to expand their Perl team.
Geekuni can give software developers with no previous Perl experience the training they need, as they need it. So, whether you’re looking to provide new recruits with online Perl training from day one of the onboarding process or upskill existing talent, Geekuni has the training package to empower your staff with Perl.
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on October 13, 2024, at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Task 1: Double Exist
You are given an array of integers, @ints.
Write a script to find if there exist two indices $i and $j such that:
This article on the Python Software Foundation inspired me to write this. Serving on the board of a foundation isn't all about glamorous meetings and fancy titles. Still, I'd like to share how I ended up here and what I've learned along the way. Opinions are my own.
What Exactly is TPF?
TPF stands for The Perl Foundation, a U.S.-based non-profit organization dedicated to advancing the Perl language through open discussion, collaboration, and, of course, code.
TPF got its start around 2001 when Perl was super popular. The organization was originally needed to run a conference; because apparently, you need an official entity to book conference venues. The foundation was also actively raising funds and spending money on Perl development grants at that time, and they've been doing it ever since.
This week’s meeting was delayed by scheduling conflicts because we chose consistency and availability over partition tolerance. We spent the entire meeting working on the document we wanted to put together a month ago with our thoughts on the Perl version number, which we intend to publish very soon.
This year's London Perl and Raku Workshop will take place on 26th Oct 2024. Without our sponsors this event would not happen and we would like to thank them, starting with our diamond sponsor:
Deriv, a leading online broker with 25 years in the industry, is proud to sponsor the London Perl & Raku Workshop 2024.
As a company with strong ties to the Open Source community, our connection to Perl is more than just practical—it's a passion. Over the years, we have actively used Modern Perl and contributed to shaping its future, including beta testing key developments like Object::Pad, which are crucial for advancing the language's capabilities.
Perl is the backbone of our back-end operations, proving to be a robust, reliable, and versatile language that meets our needs. Its community-driven growth, notably through CPAN, continually boosts its capabilities and reflects our values of collaboration and innovation.
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on October 6, 2024, at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Task 2: Jumbled Letters
An Internet legend dating back to at least 2001 goes something like this:
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.
We discussed the recently reported closure memory leak in 5.40, which existed in older perls and was fixed in a way that caused other breakage instead, and we agreed that if it isn’t fixable we need to address it by at least providing guidance on how to code around it
We discussed the removal of apostrophe as a package separator, and agreed that it should likely be feature-guarded, but the verdict on the fallout is not yet in
We continued the discussion on how to simultaneously encourage low ecosystem churn while helping users enjoy all the latest goodies
We agreed on writing a few position paper articles to explain our thinking and the attitude we think a PSC should take
Hi All! Given the number of talks submitted to this year's London Perl & Raku Workshop we have decided to reserve a third room in the venue. This will give us a bit more room on the schedule for talks, which is good as the other two rooms are now 90% full.
However, we would also like to use this third room for something else. Its capacity is relatively low, 15 people including the person presenting, so we feel it might be suitable for use as a breakout room / mini hackathon(s) / birds of a feather; and we will probably reserve two large slots for this. If you have an idea of something you'd like to use the room for then please get in touch with us.
Another way we can make more space for talks is to opt for lunch at the venue, this will free up space for three more talks. To do that we need a couple more sponsors so if you would like to help with that then please have a look at the options here: https://act.yapc.eu/lpw2024/sponsoring.html
The London Perl and Raku Workshop will take place on 26th Oct 2024. Thanks to this year's sponsors, without whom LPW would not happen:
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on October 6, 2024, at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Task 1: Third Maximum
You are given an array of integers, @ints.
Write a script to find the third distinct maximum in the given array. If third maximum doesn’t exist then return the maximum number.
Example 1
Input: @ints = (5, 6, 4, 1)
Output: 4
The first distinct maximum is 6.
The second distinct maximum is 5.
The third distinct maximum is 4.
The following script leaks memory in perl v5.40, and it did not in v5.38:
use Scalar::Util 'weaken';
my $z;
{
my $x;
my $y;
my sub my_sub {
$x = shift;
return sub { $y };
};
my $subscriber = {};
$subscriber->{foo} = my_sub($subscriber);
weaken($z = $subscriber);
}
say 'leak = ', int defined $z;
Just Aristotle and Philippe this time (Graham chipped in on IRC):
we discussed the apostrophe situation: we will watch 5.41.3 break CPAN, and then evaluate the actual fallout. We like the idea of guarding this with a feature (which might need to be split in two, for the string interpolation case)
we had a long discussion about backwards compatibility and use VERSION.
Should "did you use VERSION?" become the new "did you use strict and warnings?"
This year's London Perl and Raku Workshop is just 4 weeks away. We now have a pretty full schedule, so the call for presentations is now closed, however we might have room for one or two more talks depending circumstances on the day. If you really think you have talk you want to give then get in touch.
As part of the workshop we would like to ask attendees if any are willing to volunteer for helping out on the day. This will likely include:
Room monitoring and video equipment operation
Registration of attendees
General assistance of organisers and attendees
We are probably looking for three people to help out on the day. Please contact the organisers if you would like to help out.
The London Perl and Raku Workshop will take place on 26th Oct 2024. Thanks to this year's sponsors, without whom LPW would not happen:
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on August 25, 2024, at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Task 1: Unique Number
You are given an array of integers, @ints, where every element appears more than once except one element.
`
Write a script to find the one element that appears exactly one time.
It prompted me to take a serious look at the modules I have uploaded to CPAN and acknowledge that some of them are no longer valuable. Indeed as I reviewed one of them I was none too kind in my judgements against the author.
That made it quite easy for me to see how I can easily participate in CPAN day. I'm removing a couple of modules:
Business::Worldpay::Junior - I don't think this integration option even exists any more and I certainly haven't actively maintained this for years.
Net::UKDomain::Nominet::Automaton - Nominet withdrew the Automaton in 2015
Those are now scheduled for deletion on Monday next week.
I'll need to review some of the others and consider whether to open them up for anyone who is interested to take over as maintainer.
Sometimes the unexpected happens and must be shared with the world … this one is such a case.
Recently, I’ve started experimenting with Perl for workflow management and high-level supervision of low level code for data science applications. A role I’d reserve for Perl in this context is that of lifecycle management of memory buffers, using the Perl application to “allocate” memory buffers and shuttle it between computing components written in C, Assembly, Fortran and the best hidden gem of the Perl world, the Perl Data Language.
There at least 3 ways that Perl can be used to allocate memory buffers:
xe.com is a well known site for calculating the exchange value between the currencies of the world. However, there are times I’d prefer to query it from the command line. They have an API, but it’s not free, so I ended up writing a quick and dirty script that scrapes the web page and uses regexps to extract the data.
I know you’re not supposed to parse HTML with regexps, but sometimes, you can get away with it for a while. Also, this script is not that serious, so it can fail without hurting anything.
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on August 18, 2024, at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Task 2: Changing Keys
You are given an alphabetic string, $str, as typed by user.
Write a script to find the number of times user had to change the key to type the given string. Changing key is defined as using a key different from the last used key. The shift and caps lock keys won’t be counted.
We exchanged Perl (re)branding ideas with Olaf. We will be keeping in touch on that front.
We discussed the feedback on feature-guarding and unbundling apostrophe. We came up with a strategy to propose that we think should work, which will be posted on the relevant thread.
We discussed the fact that keeping the current smartmatch operator (as a feature) means we can’t have a meaningful air gap to prevent subtle bugs when moving to a future “good” smartmatch. This probably implies that we would be giving up on any future smart match operator, but there are usually better replacements.