This week in PSC (167) | 2024-11-07

The three of us attended another long meeting:

  • We continued refining our plan for TLS in core. We will collect feedback on its feasibility from the maintainers of the relevant modules.
  • We reviewed the status of putting the apostrophe package separator behind a feature and approved the PR.
  • We confirmed that we want to deprecate smartmatch with a feature. This effectively means that we don’t plan for a “better smartmatch” at this time (but it can still be pursued in future, by way of the air gap strategy, if there is appetite). We will file an issue for this.
  • We agreed that “negative” features (rather than outright removal) is our preferred way to deprecate historical Perl quirks as the language continues to evolve.
  • We discussed our ongoing inadequacy at dealing with maintenance releases. We wrote down next steps to get back on track, and also started looking into capturing a checklist to document the process.

[P5P posting of this summary]

Understanding the Financials of The Perl and Raku Foundation (TPRF)

In my previous articles (#1 and #2), I covered the key activities of The Perl and Raku Foundation (TPRF), such as organizing conferences, providing grants, and other smaller initiatives. In this final article, I will explore TPRF's financials using publicly available data. As a U.S. 501(c)(3) nonprofit organization, TPRF is required to disclose their financial information to the IRS. As always, my opinions are my own and do not represent the views of the TPRF Board.

Revenue and Expenses: Year-to-Year Overview

Let's start by reviewing TPRF's revenue and expenses over the years.

finance1.png
Until 2019, both revenue and expenses fluctuated. However, in 2020, the financial landscape changed significantly, with both revenue and expenses dropping sharply. This trend continued into 2021, largely because TPRF held its conferences virtually, reducing costs but also potentially limiting revenue opportunities.

In 2023, TPRF experienced another sharp decline in revenue while expenses surged, leading to a large deficit of $140,213.

Here's a comparison of key financial figures over three years:

Revenue

Perl Weekly Challenge 291: Middle Index

These are some answers to the Week 291, 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 20, 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: Middle Index

You are given an array of integers, @ints.

Write a script to find the leftmost middle index (MI) i.e. the smallest amongst all the possible ones.

A middle index is an index where ints[0] + ints[1] + … + ints[MI-1] == ints[MI+1] + ints[MI+2] + … + ints[ints.length-1].

If MI == 0, the left side sum is considered to be 0. Similarly, if MI == ints.length - 1, the right side sum is considered to be 0.

Return the leftmost MI that satisfies the condition, or -1 if there is no such index.

Example 1

London Perl & Raku Workshop 2024: 10 Days To Go

It's a little over a week until this year's London Perl and Raku Workshop. Here's a couple of things to note about the day.

The schedule is relatively fixed at this point, however if you haven't already starred the talks you plan to attend then please do so as this will inform any tweaks. The venue has a large room (150 people) and a smaller room (35 people) therefore it is helpful to know which talks might be heavily attended in advance so we can make sure those talks have enough space.

The venue, The Trampery in Old Street, is located a two minute walk from the Northern Line's Old Street tube station in central London. The Northern Line has stops at most of the major train stations in London, or trivial links to others, so we recommend taking the tube to get to the venue.

This week in PSC (164) | 2024-10-17

This week, we talked about some recent (and less recent) p5p threads:

  • We discussed the sort thread briefly. We are waiting to see where it goes.
  • We talked again about TLS in core, and reviewed a document from the CPAN Security Group. We want to talk about this more in depth next week.
  • Discussion of the evalordie thread led us to talk about some form of in-core autodie pragma. We didn’t reach any conclusion.
  • We noted that a maint release is overdue.

[P5P posting of this summary]

Weather::OWM released on CPAN

I am in the process of adding OpenWeatherMap support to Xasteria Weather for iOS and the proxy I built is in Perl. Since there was only an old module on CPAN which did not support the current API and was not easily updatable, I released Weather::OWM. It's a very simple module, similar to two other Weather modules I've released in the past (Weather::WeatherKit and Weather::Astro7Timer).
The OpenWeather API has a Free tier with both current weather and forecast, which makes the module useful to anyone interested in fetching weather for any location. E.g.

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: CV-Library

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.

cvl.png

Since its founding in 2000, CV-Library has relied on Perl as the backbone of its core operations. Today, as the UK’s leading independent job board, we host over 150,000 job postings and maintain a database of more than 20 million CVs.

For nearly 25 years, CV-Library has been a committed supporter of LPW and the Perl community. We're proud to reaffirm this dedication at the 2024 conference.

Our platform now integrates modern Perl with Go, leveraging Kubernetes for scalable deployments, alongside other cutting-edge technologies to ensure stability and reliability.

Our development team consistently delivers high-quality features through code reviews, automated tests, and continuous deployment. Additionally, we regularly contribute to free and open-source projects, including CPAN.

CV-Library offers remote opportunities for developers and testers at all levels. We encourage participation in community meetups and collaboration days. Feel free to introduce yourself to Mark or any member of our team at the event, or explore our current job openings here.

This week in PSC (162) | 2024-10-03

Everyone was present this week.

  • We devised a strategy to deal with smartmatch, starting with reverting its removal. A separate email with details will follow.
  • We spent too much time talking about putting the apostrophe package separator behind a feature. That too will be outlined in a separate email. A github issue will follow.
  • We want to revert the open undef patch, for a variety of reasons, such as breaking autodie. We decided the steps to handle this.

[P5P posting of this summary]

Board Reflections: Continued Experiences with The Perl Foundation

Read volume 1 here.

In my last post, I talked about some of the big things TPF (The Perl Foundation) does. This time, I'll discuss some of the smaller stuff I've handled at TPF, often with help from others, and my misses along the way. My opinions are my own.

White Camel Awards

The White Camel Awards, started by brian d foy in 1999, were created to honor Perl community contributors, who, like ninjas, do all the hard work but never seem to get noticed. brian personally picked the winners each year until he stepped down in 2018. While many people contribute to the Perl community, their efforts often fly under the radar. I mean, organize a Perl event every year and your name still wouldn't make it outside the venue. Tough, right?

In 2022, I took over the award with TPF, with brian's blessing, to keep this tradition alive.

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.

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

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.

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.

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 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)

Perl Weekly Challenge 287: Valid Number

These are some answers to the Week 287, 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 22, 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: Valid Number

You are given a string, $str.

Write a script to find if it is a valid number.

Conditions for a valid number:

- An integer number followed by an optional exponent.
- A decimal number followed by an optional exponent.
- An integer number is defined with an optional sign '-' or '+' followed by digits.

Decimal Number:

A decimal number is defined with an optional sign '-' or '+' followed by one of the following definitions: - Digits followed by a dot '.'. - Digits followed by a dot '.' followed by digits. - A dot '.' followed by digits.

Exponent:

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.

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.