This week in PSC (179) | 2025-02-14

Back to the full roster, albeit with Philippe attending from on the road.

We mainly went over the list of PPCs, with an eye toward the fact that this release cycle is coming to a close.

  • PPC0033 (ampersand method calls) is approved.
  • PPC0030 (equ) does not have an implementation ready for this release cycle and PPC0031 (eq:u) is controversial.
  • PPC0027 (any/all) is basically accepted other than needing its feature flag naming figured out.

As an aside regarding PPC0027, we reiterated that we would like use feature ':all' to go away if possible. It was never a good idea anyway, but has become untenable with the introduction of feature flags like indirect and bareword_filehandles, which we expect to have many more of in the future. Since their purpose is to be disabled rather than enabled by default, a simple toggling of all features (on or off) is a nonsensical request.

[P5P posting of this summary]

Docker Compose

A quick introduction to Docker Compose. Please check out the post for more information.
https://theweeklychallenge.org/blog/docker-compose

Premium XS Integration, Pt 1

Intro

There are several competing philosophies for wrapping external C libraries. One is that the XS module should hide all the details of the library and provide a clean “Perlish interface”. The opposite extreme is that the external C functions should be exposed to Perl using an extremely minimal XS layer, or the Foreign Function Interface (FFI) and all the logic for working with the library should be written in Perl.

I advocate something in the middle. I think that a good interface should expose as much of the low-level as possible (to make the most usage of that library possible by other Perl modules) while “padding the sharp edges” so that it is difficult for Perl-side usage to crash the program. Higher level features can be provided in addition to the low level API via XS, Perl modules, or both.

Add a security policy to your distributions

Adding a SECURITY or SECURITY.md file to your Perl distributions will let people know:

  1. How to contact the maintainers if they find a security issue with your software
  2. What software will be supported for security issues

The contact point is very important for modules that have been around for a long time and have had several authors over the years. When there is a long list of maintainers, it's not clear who to contact.

You don't want people reporting security vulnerabilities in public on the RT or GitHub issues for your project, nor do you want a post on IRC, Reddit or social media about it.

If your software is on GitHub, you can set up private vulnerability reporting. GitLab has a similar system.

Otherwise, a single email address is acceptable. An alias that forwards to all of the maintainers or at the very least, a single maintainer who has agreed to that role will work.

This week in PSC (180) | 2025-02-20

All three of us were present:

  • We agreed on not terrible feature names for PPC0027: keyword_any and keyword_all. These can now be merged.
  • This led to a brief excursion on the fact that it would be good to have proper iterators as part of the language. But we quickly agreed that the PSC meeting is too small of a margin for that subject.
  • We talked about the failure of “experimental features”, and possible approaches to remediate that problem. It is going to be difficult to address technically. Philippe pushed for a PPC about the subject.
  • We took note of the upcoming freeze period and surveyed the changes we think should be merged beforehand. The only thing we weren’t already tracking is the coderef-in-stash optimization, which we decided should be reverted once again and re-attempted earlier in the cycle next time.

[P5P posting of this summary]

Good File Structure

I know, thinking about where to put what in a code file sounds lame to most artisan hero's that fly by intuition, but I find it actually helpful. Here my article about it on dev.to and you can tell its written with Perl in mind. I just wanted to publish outside to reach more people and maybe even bring some in.

Cool new Perl-based web apps

Having reached a certain level of proficiency with Mojolicious and Vue.js, I made the decision to dedicate some of my free time every week to develop "cool and somewhat useful" (according to some) open-source web apps in Perl.

The goal is to practice and learn, and maybe also help make Perl a bit more popular.

My first such project is Gandalf Links, a link-aggregator website (inspired by pinboard.in) that's pretty much complete and can be installed and run very easily with Docker.

At the front page's footer you can find a link to the source code. A full list of current and future features can be found here.

If interested to contribute in ANY way (ideas, know-how, coding) please do get in touch with me via e-mail, through the form that's on gandalf.gr, or maybe use the project's issue tracker. I've done almost all I can on this project, now I'm looking for other people's expertise.

I'd also be looking for ideas on what other self-hosted web app to work on next (with you if you're interested).

Regards,

- Gandalf (first cousin of the copyrighted one)

Updated Wikis: Debian V 1.05, Mojolicious V 1.02, Perl 1.21

Simplest is if you go to my homepage and follow the links to my Debian and Perl pages.

Note: The Debian and Mojolicious updates are minor, but a lot of changes are in the Perl wiki.

This week in PSC (178) | 2025-02-06

Only Philippe and Aristotle this time.

We spent most of our time on the PPC process, and started by merging Dave Cross’s PR for a static PPC web site. Many thanks to Dave once again.

We discussed revising the PPC process, and started by picking more specific names for the various statuses of a PPC, which we’ll soon apply to the existing PPCs.

[P5P posting of this summary]

Foswiki 2.1.9 is released

We are delighted to announce the new release, which includes 57 significant bug fixes compared to the previous 2.1.8 version. This update addresses a range of important issues and enhances the overall stability and performance.

FoswikisLatest_8.png

More details at https://blog.foswiki.org/Blog/Foswiki219IsReleased

PCC Winter '24 Follow-Up - Summer PCC Dates Announced!

coffee2_e836892a-6431-40cf-aebf-d0b4eea57547-2852573895.png

Next PCC: July 3-4, 2025 in Austin, Texas USA

See entire the post to learn about our future plans, in perpetuity.

The very first Perl Community Conference was a tremendous success thanks to everyone of you authors and speakers. Many thanks to PCC Co-Organizer Will "The Chill" Braswell, our friends at the Diogenes Hackerspace (in Austin, Texas), and all the participants both online and in person! We'll be following up soon about posting the videos. The next stage will be editing and publishing Issue #2 of the Science Perl Journal. The schedule from the Winter'24 PCC should be a clue about some of its contents. We have discussed offering a "Letters to the Editor" section to address feedback from friends and foes alike. More on this will be announced in future posts.

Future Plans in Perpetuity

Objective Decisions

Prioritisation of Panic

Let me start off by asking the folk on this platform one question. Imagine a scenario that you had lost something important with multiple potential negative consequences. For instance losing a bunch of keys including your car keys, your house keys, your changing room locker keys and a USB stick. What would be the greatest cause for alarm? I suspect that while there may be many possible answers aligned with each individual’s life priorities, the real men in this group know that the most feared is the reaction following the revelation to the wife. For while any calamitous occurrence may be approached objectively, with rationality, reflection and hopefully recovery, this particularly troublesome phase involves heightened emotions, reactivating Mrs Saif’s indelible memories of my many past failings. Objectivity, while desirable in principle, has to deal with such a tainted history.

This week in PSC (177) | 2025-01-23

Back to the full roster.

  • We talked again about Perl 42. We think it may already be too late for it in this cycle, so we want to make a thorough case for it by releasing a side tarball for the end of this cycle, and if no technical blocker is found, actually do the jump to 44 in the next cycle.
  • We listed out next steps for the next point release.
  • Aristotle summarized the suggested simplification of our plan for TLS in core, but a fuller discussion next week is necessary.
  • PPC 0014 (English names) has no implementer.
  • There was a branch for PPC 0021 (Optional chaining) but the implementer hit a wall and got stuck.
  • Regarding the dual PPCs 0030 (equ) and 0031 (eq:u), we lean towards the former. Options would be cleaner if we had a big and regular set of them across operators, but neither is the case, and they constitute an extra concept.
  • Many thanks to Dave Cross for providing an initial implementation of a PPC index page. We decided to merge it as is, then iterate on the PPC process afterwards, instead of doing it the other way around.

[P5P posting of this summary]

London Perl & Raku Workshop 2025 + 2024 Feedback

Do you want LPW to happen again in 2025? Then you need to make it happen. You need to start thinking about this now. After Lee's closing talk, which detailed how organisation of the 2024 workshop worked and effectively put out a call for organisers for the future, a small number of attendees hinted they would be able to help out in one way or another. For that we are grateful.

However there is no core organising team yet for 2025. Someone, ideally two or three people, need to step up and explicitly say "we are going to organise LPW 2025". If you need help around any of this then we (the 2024 organisers) can guide you. The TPRF have also said they would like to explore how to support LPW 2025 and welcome potential organisers to join the monthly community meeting to discuss this.

Failing that LPW will be going on an indefinite hiatus again.

This Week! Perl Community Conference, Winter 2024 - Schedule Posted

pcc w24.png

Happy birthday Perl!

The Perl Community Conference is a hybrid in-person-and-online event held on December 18th from 10:30a-4:00p CST, Perl's 37th birthday, featuring talks from the world's top Perl programmers and community members. Topics include artificial intelligence, bioinformatics, web applications, chemometrics, genetics, data science, high performance computing, ethics, and much more!

Cosmoshop supports the German Perl/Raku-Workshop

We are happy to announce that CosmoShop supports the German Perl/Raku-Workshop.

CosmoShop is the largest pure Perl based shop system.

Since 1997, we have been implementing sophisticated and individual eCommerce projects in the B2B sector with our specially developed store software. We are the central point of contact for the entire spectrum.

This week in PSC (176) | 2025-01-16

Just Graham and Philippe this time.

  • We talked a bit about PPC 0025 (Perl version), but didn’t say anything new
  • Regarding PPC 0030 (new operators) vs PPC 0031 (flags on operators), we continue to think that flags on operators bring more confusion than value (PSC #168). Perl is an operator-rich language, so adding new operators when needed sounds right.
  • As for the discussion on implicit stringification of references, we think that adding more runtime effects to strict doesn’t really fit. The issue would likely be better addressed with a new warning (and is very similar to the uninitialized warning when dealing with undef).

[P5P posting of this summary]

How would you read a really large file?

A comparative analysis of different approaches discussed in the post below.
https://theweeklychallenge.org/blog/read-large-file

Wide character (U+XXXX) in substitution (s///)

There is a “use locale” somewhere in the code you are running.

**Update:** This is specifically in reference to warning about wide characters *“in substitution”*. See also [the follow-up entry](/users/aristotle/2025/03/once-more-subst-widechar-warning.html).

Live-streaming Perl 5.41.7 development release

I skipped 2023 but in 2024 I'm actually doing two dev releases of Perl again. This time it is version 5.41.7.
And again, you can watch it live on Friday 20th of December on Twitch.

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.