London Perl & Raku Workshop 2024 Silver Sponsors

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.

geekuni.png

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.

To find out more, go here: https://geekuni.com/corporate-perl-training or email andrew@geekuni.com

geizhals.png

Geizhals Preisvergleich is one of the largest product and price comparison platforms in the German-speaking area.

This week in PSC (163) | 2024-10-10

We had a guest this week: Olaf Alders.

  • 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.

[P5P posting of this summary]

Perl Weekly Challenge 290: Double Exist

These are some answers to the Week 290, Task 1, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

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:

1) $i != $j
2) 0 <= ($i, $j) < scalar @ints
3) $ints[$i] == 2 * $ints[$j]

Example 1

Cloud VM performance / price comparison 2024

I gave the talk Maximizing Performance and Cost Efficiency in the Cloud at the Perl and Raku conference this year. Among others, it used data from a benchmarking comparison I did among dozens of VMs on various cloud providers, and I had promised I'd post the full report.

It took me quite a bit longer than expected due to both technical complications and some new releases I wanted to include that enlarged the scope, but here it is now. Should be useful if you want to get the best bang for buck on the cloud.

Things I've Learned Serving on the Board of The Perl Foundation

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.

Strong Password

The Weekly Challenge 287, Task 1

You are given a string, $str.
Write a program to return the minimum number of steps required to make the given string very strong password. If it is already strong then return 0.
Criteria:
  • It must have at least 6 characters.
  • It must contains at least one lowercase letter, at least one upper case letter and at least one digit.
  • It shouldn’t contain 3 repeating characters in a row.
Following can be considered as one step:
  • Insert one character;
  • Delete one character;
  • Replace one character with another.

A Simplification

To make the algorithm simpler, let’s ignore deletion. Instead of deleting a character, we can always replace it with a character different to the original one and its neighbours (you can easily verify that it can’t break any of the three criteria: it doesn’t shorten the password, it doesn’t remove more characters than the deletion would have deleted, and it never creates repeating characters).

The Algorithm

Let’s keep a set of strings we need to check, we’ll call them the agenda. At the start of the program, the agenda contains the input string.

Perl Weekly Challenge 290: Luhn's Algorithm

These are some answers to the Week 290, Task 2, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

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 2: Luhn’s Algorithm

You are given a string $str containing digits (and possibly other characters which can be ignored). The last digit is the payload; consider it separately. Counting from the right, double the value of the first, third, etc. of the remaining digits.

For each value now greater than 9, sum its digits.

The correct check digit is that which, added to the sum of all values, would bring the total mod 10 to zero.

Return true if and only if the payload is equal to the correct check digit.

It was originally posted on reddit.

Example 1

London Perl & Raku Workshop 2024 Gold Sponsor: Oleeo

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.

oleeo.png

Oleeo is an award-winning provider of innovative talent acquisition technology. Built using intelligent automation and machine learning, Oleeo’s platform helps companies discover unlimited sourcing potential to attract, engage and hire amazing, diverse teams that change the world for the better. Our mission is to help recruiters do that faster and more efficiently than ever before.

Utilise our intelligent automation to help secure exceptional talent with rapid time-to-hire. Enjoy the massive rewards experienced by our customers, including Marks & Spencer, Morgan Stanley, Metropolitan Police, Civil Service Resourcing, John Lewis Partnership. Benefit from our bespoke, prescriptive intelligence and pinpoint perfect candidates who can steer your business forwards at every level. We offer one complete talent acquisition system end-to-end: Attract, engage, monitor, interview, hire & onboard without any compromise on candidate quality.

Perl Community Conference / Science Perl Journal, Winter 2024 CALL FOR PAPERS NOW OPEN! (Deadline 9/30)

NAME

Perl Community Conference / Science Perl Journal, Winter 2024

SYNOPSIS

This virtual Conference on December 18th, 2024 is being called in conjunction with the creation of the Science Perl Journal, Winter 2024 Issue.

We have 6 author committments from some very exciting topics, but we want more! The Summer Issue has 8 authors and is nearly 150 pages. We are looking to double the number of authors, doubling the number of pages is going to be a stretch :-).

DESCRIPTION

Christos Argyropoulos, MD, PhD. is our moderator for this virtual event, which is December 18th, 2024 - Perl's 37th birthday! At this event we will be announcing our Summer 2025 plans, which will include a 3rd Issue of the SPJ.

The following lengths will be accepted for publication and presentation:

  • Extended Abstract (1 page, 5 minute lightning talk slot)
  • Short paper (2-9 pages, 20 minute speaker slot)
  • Full length paper (10-36 pages, 50 minute speaker slot)

This week in PSC (159) | 2024-09-05

All present, and this time the meeting actually ended on time.

  • We discussed the situation with the apostrophe package separator removal. We continue to keep an eye on things but it now feels close to inevitable that we will use a feature to disable it conditionally.
  • We briefly touched on the removal of smartmatch, where both the extent of the situation and our thoughts so far are much less clear.
  • Connected to all that, we discussed some general thoughts on how not to keep finding ourselves in the same situation with changes like this, but found we probably already have all the mechanisms we need.
  • We decided that the provisions of the PPC process are the right way for pre-PPC “Signature named parameters” to play out so it has now become PPC 0024 with status “Exploratory”.
  • We took another brief look at the closure memory leak which is now #22547 and resolved to prepare to put down a consensus next time we meet.

[P5P posting of this summary]

Perl Weekly Challenge 285: Making Change

These are some answers to the Week 285, Task 2, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 8, 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: Making Change

Compute the number of ways to make change for given amount in cents. By using the coins e.g. Penny, Nickel, Dime, Quarter and Half-dollar, in how many distinct ways can the total value equal to the given amount? Order of coin selection does not matter.

A penny (P) is equal to 1 cent.
A nickel (N) is equal to 5 cents.
A dime (D) is equal to 10 cents.
A quarter (Q) is equal to 25 cents.
A half-dollar (HD) is equal to 50 cents.

London Perl & Raku Workshop 2024 Diamond Sponsor: Deriv

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.png

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.

Perl wiki updated, 4 other wikis uploaded - Take 4

Hi All

Why aren't my links appearing....

Note: The first 3 links point to my personal page: http://savage.net.au

The Perl wiki has been renamed from Perl.html - which was too generic - to Perl.Wiki.html:
https://savage.net.au/misc/Perl.Wiki.html

The Mojolicious wiki is at:
https://savage.net.au/misc/Mojolicious.Wiki.html

The Debian wiki is at:
https://savage.net.au/misc/Debian.Wiki.html

Note: The next 2 links point to my new website: https://symboliciq.au

This will accompany my upcoming Youtube channel

The Symbolic Language wiki is at:
https://symboliciq.au/misc/Symbolic.Language.Wiki.html

The Personal Security wiki is at:
https://symboliciq.au/misc/Personal.Security.Wiki.html

This week in PSC (158) | 2024-08-29

Back from holidays all three of us were in.

  • 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

[P5P posting of this summary]

Perl Weekly Challenge 289: Third Maximum

These are some answers to the Week 289, Task 1, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

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.

Example 2

London Perl & Raku Workshop 2024: Call For Volunteers

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:

New class of memory leaks inaugurated by Perl v5.40 (and we are unprepared for that)

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;

This week in PSC (161) | 2024-09-27

We were all present this week:

  • We rehashed the Perl version number discussion from last meeting now that we are all present. We will put together a document with our thoughts on this.
  • We will create a GitHub issue to make apostrophe removal feature-guarded.
  • Smartmatch (not so surprisingly) turns out to be too big to fail. Given its unique history, we are considering options for how to proceed with it in a more gradual way without giving up on the deprecation.
  • Regarding open undef (GH #22490), we agreed that Perl should support undef as a value and not just as a literal for the filename (and warn for the useless modes)

[P5P posting of this summary]

Perl Weekly Challenge 284: Relative Sort

These are some answers to the Week 284, Task 2, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 1, 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: Relative Sort

You are given two list of integers, @list1 and @list2. The elements in the @list2 are distinct and also in the @list1.

Write a script to sort the elements in the @list1 such that the relative order of items in @list1 is same as in the @list2. Elements that is missing in @list2 should be placed at the end of @list1 in ascending order.

Example 1

Input: @list1 = (2, 3, 9, 3, 1, 4, 6, 7, 2, 8, 5)
       @list2 = (2, 1, 4, 3, 5, 6)
Ouput: (2, 2, 1, 4, 3, 3, 5, 6, 7, 8, 9)

Example 2

Second Batch of LPW 2024 Talks Accepted

Yep, that's right - the second half dozen talks have been accepted for this year's London Perl and Raku Workshop. This puts our schedule at approximately 80% full, so if you are thinking about talking at the workshop then submit your proposal now!

The CFP will be closed at the end of September to give speakers sufficient time to finish their presentations and to allow the schedule to be created. We encourage all attendees to mark talks they are interested in as that will inform some of the schedule choices.

If you aren't thinking about talking then have a think about what you've been doing in the Perl and/or Raku space the last five years, or even just the general IT and development space. Perhaps there's something interesting you can talk about? If you don't feel it's a full fat talk then submit a lightning talk instead.

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:

If you would like to sponsor LPW then please have a look at the options here: https://act.yapc.eu/lpw2024/sponsoring.html

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.