Just Aristotle and Graham for our first meeting of the new year. Not much progress since the last one due to Christmas, New Year’s, sickness, and other personal circumstances. We discussed our framing of the version bump, the timeline for a decision, and the fact that constraints push us toward a dummy .0 third version component as the simplest way forward.
After hundreds of hours of work and support from lots of people, the long promised Journal is here. That link will take you to some more information, on there a link to purchase is available. All proceeds go to supporting future Issues and events of the SPC and Perl Community Organization. At this time, an electronic version is not available due to end-of-year time constraints.
It may seem silly, but we spent extra time making sure the book spine looks good on a bookshelf and will look even better as the Issues accrue. Get it while it's hot. ISBN-13: 9798218984748, 152 pages.
Some of us are currently preparing for a block of Science Perl Talks at the London Perl & Raku Workshop 2024. We appreciate the organizers of this event for the opportunity.
More will be posted after the LPW, but the SPC is hosting the Perl Community Conference, Winter 2024 on December 18th (Perl's 37th birthday! :-)). If you are interested in getting published in the next Issue of the SPJ (Winter 2024), we are still accepting extended abstracts, which is up to 1 full page in the Journal and a 5 minute lightning talk slot at the Winter Conference.
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 2: Poker Hand Rankings
A draw poker hand consists of 5 cards, drawn from a pack of 52: no jokers, no wild cards. An ace can rank either high or low.
Write a script to determine the following three things:
1. How many different 5-card hands can be dealt?
2. How many different hands of each of the 10 ranks can be dealt? See here for descriptions of the 10 ranks of Poker hands:https://en.wikipedia.org/wiki/List_of_poker_hands#Hand-ranking_categories
3. Check then the numbers you get in step 2 by adding them together and showing that they're equal to the number you get in step 1.
For the last meeting of the year we were all present again.
We have requested further input regarding our plan for TLS in core.
We picked the ball back up that we dropped regarding point releases. They should be coming soon.
We went over our findings so far regarding Perl 42. It looks like Perl versions will have to continue to be written with three components, so we will be stuck with a fixed .0 at the end. It’s slightly annoying, but we can live with it. We strategized about how to get more real-world data about feasibility, and discussed the possibility of releasing a perl-41.8 tarball alongside the regularly scheduled perl-5.41.8.
To the old Perl programmers out there looking for a new language to learn, I suggest giving Julia a serious look. I haven't had a language bring me this much joy since when I first discovered Perl a long time ago. If Perl is the grandpa, Julia is the granddaughter, and she's a really smart girl. She hangs out with scientists all day helping them make sense of their data, and she does it with a unique style.
To be continued...
(There's so much I want to say, but I don't want to commit the time to write it all down right now.)
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.
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:
We discussed the version 42 work on the psc/ppc0025 branch. We have an initial proof of concept that is almost good enough to test against CPAN in order to assess whether the plan is actually feasible and proceed from there. We discussed the timeline for this.
We reviewed our plan for TLS in core. Some questions came up based on the conversation on the p5p thread and we need specific next steps now that Craig has provided a patch for the first one. We hashed out next steps to keep this moving.
We briefly discussed the Random::Simple suggestion and decided we won’t address it at this time. (The inclusion of cryptography libraries in core will probably change the situation here in the foreseeable future.)
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.
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.
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.
This week felt like a PSC reunion meeting. We extended invitations to join us for a discussion of the version change to a number of core contributors, and ended up joined by ex-PSC members Ricardo and Paul (Neil would have joined, but couldn’t make it).
There is skepticism but no strong opposition. The benefits are in some doubt, and resources to implement this will not come from core contributors. So we want to experiment on a branch to get a handle on feasibility and viability, which we hope will give us better data to evaluate the proposal and, we hope, allay any worries.
We also briefly discussed our intentions for the PPC process with Paul. We are thinking about an automatically generated status page on GitHub Pages.
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.
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 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.
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.
We discussed the reactions to the Perl 42 proposal and how to reach consensus on it. We want to get a handle on the technical feasibility and also discuss more closely with the people who have doubts.
We reviewed Paul’s clarifications to PPC0027 (any and all) and replied on the PR.
We discussed the mismatch between the definition of the PPC process and how it has worked out in practice, and tried to come up with a refactoring. We want to request a review.
We looked at the release process and the release manager role. We are considering the idea of making the shepherding of the perldelta a separate ongoing responsibility.
We spent some time working on our own meeting structure in order to better perform our project management responsibilities.
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.
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.