This week in PSC (141) | 2024-03-21

This week, we:

  • Talked about some ideas for discussion at the upcoming PTS
  • Discussed the current blocked state of bleadperl following the 5.39.9 release and how to unblock it
  • Finished reviewing the release blocker bugs
  • Discussed how MetaCPAN should better handle perl releases and permissions

Perl & Raku Conference 2024 to Host a Science Track!

I am very pleased to announce that the 2024 Perl & Raku Conference Planning Committee (TPRC) is moving forward with the addition of a new track that targets academic, governmental, and industrial STEM applications. It will strive to be organized as a traditional science conference track; meaning the talks will be based on paper and poster submissions. (more on this in a future announcement!)

The decision by the TPRC Planning Committee is the result of an overwhelmingly positive response to the Science Track Survey that was held late in 2023. Everyone involved in organizing the survey deeply appreciates those who filled out the survey or shared it with others.

The track is being organized in tight cooperation with the TPRC, by the Science Perl Committee (SPC); a separately organized group of Perl and STEM enthusiasts that anyone of good will is welcome to join.

What to expect now: ...

Cosmoshop unterstützt den Deutschen 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.

Perl Weekly Challenge 273: Percentage of Character

These are some answers to the Week 273, 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 June 16, 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: Percentage of Character

You are given a string, $str and a character $char.

Write a script to return the percentage, nearest whole, of given character in the given string.

Example 1

Input: $str = "perl", $char = "e"
Output: 25

Example 2

Input: $str = "java", $char = "a"
Output: 50

Example 3

Input: $str = "python", $char = "m"
Output: 0

Example 4

This week in PSC (139) | 2024-03-07

Just Paul and Philippe this week:

  • Paul volunteers to do the 5.39.9 release. We still need people for .10 and 5.40. The .10 release will be timed around PTS - so maybe we could do something “live” at the summit?
  • Mailing list was otherwise quiet so there weren’t many issues to discuss.

In absence of many other pressing issues, we spent some time thinking ahead to large-scale development work that might take place in the 5.41 series. We talked about “hooks” as a potential long-term thought to making a more powerful Magic-like structure, for implementing new features, attributes, etc..

Step Counter (Advent of Code 2023/21)

The Task

We’re given a grid with obstacles, we’re supposed to count all the reachable plots in the grid in a given number of steps (we can only move one plot at a time horizontally or vertically).

The sample input looks like this:

...........
.....###.#.
.###.##..#.
..#.#...#..
....#.#....
.##..S####.
.##..#...#.
.......##..
.##.#.####.
.##..##.##.
...........

where S is the starting position.

Migrating from DBD::mysql to DBD::MariaDB

DBD::mysql has long provided the interface to connect to the MySQL database from Perl code. But as old as it is, it was implemented with some critical bugs that cannot simply be corrected without breaking mountains of existing code relying on those bugs. For this same reason, though DBD::MariaDB corrects these bugs, care must be taken when migrating existing code to avoid subtle breakage.

This blog post is far too short to explain Unicode and encodings like UTF-8; for anyone seeking a more solid grasp on the concepts, I recommend a read through The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky.

Perl Weekly Challenge 248: Shortest Distance

These are some answers to the Week 248, 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 December 24, 2023 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: Shortest Distance

You are given a string and a character in the given string.

Write a script to return an array of integers of size same as length of the given string such that:

distance[i] is the distance from index i to the closest occurrence of the given character in the given string.

The distance between two indices i and j is abs(i - j).

Example 1

This week in PSC (138) | 2024-02-28

Back to the usual three of us

  • Further chats on allowing a subsequent use VERSION of the same value as is already prevailing

  • We continued going through the bug list to tag release blockers

Brain Memory Management

My next dev article about the important concept of cognitive load of code and how to manage it.

It's the Twelve Days of Dancer, 2023 edition!

The 2023 Dancer Advent Calendar, the Twelve Days of Dancer is up and running! We hope you'll enjoy this year's version - there's a lot of fun and practical gifts to be found there.

Hot on the heels of our earlier gift (Dancer2 1.1.0) come two more plugin releases, Dancer2::Plugin::Cache::CHI and Dancer2::Plugin::Syntax::GetPost.

Enjoy! Let us know what you think. Happy holidays to all! (and now it is time for this Dancer to enjoy a long winter's nap)

Jason/CromeDome

Perl Weekly Challenge 247: Most Frequent Letter Pair

These are some answers to the Week 247, 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 December 17, 2023, 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: Most Frequent Letter Pair

You are given a string S of lower case letters 'a'..'z'.

Write a script that finds the pair of consecutive letters in S that appears most frequently. If there is more than one such pair, chose the one that is the lexicographically first.

Example 1

Input: $s = 'abcdbca'
Output: 'bc'

'bc' appears twice in `$s`

Example 2

This week in PSC (136) | 2024-02-15

  • working out a timeline of what should go in to 5.39.8, 5.39.9, and what to defer to 5.41
  • draft tests+docs received from Martijn Lievaart (“M4”) for a logical xor (^^) operator
  • the responses saying no to adding Data::Printer in core that it doesn’t seem like it would be popular
  • some potential new sprintf format templates:
    • a float template that produces the shortest string that represents the exact float (similar to what Math::Ryu does),
    • a %q to access B::perlstring/quotemeta or something similar
  • the realisation that, some months ago, Mark Gardner had volunteered to work on the SSL-in-core project, and we haven’t heard from them since.

System Thinking

I started to also post on dev.to and will post there mostly about topics larger than Perl : psychology of programming, software engineering and alike.

Is Perl a write only language?

I am sick and tired of hearing this, so let's put it this to the test. Assume you know little of Perl, or any programming language for that matter. Can you parse the code?

https://chrisarg.github.io/Killing-It-with-PERL/2023/12/06/Is-Perl-a-write-only-language.html

I hope the piece above is the first in a series to convince people to consider the reality before passing judgement. It was inspired by one of our research analysts discovering Perl and awk to simplify their lives when cleaning data.

Perl Weekly Challenge 246: Linear Recurrence of Second Order

These are some answers to the Week 246, 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 December 10, 2023 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: Linear Recurrence of Second Order

You are given an array @a of five integers.

Write a script to decide whether the given integers form a linear recurrence of second order with integer factors.

A linear recurrence of second order has the form

a[n] = p * a[n-2] + q * a[n-1] with n > 1

where p and q must be integers.

Example 1

This week in PSC (134) | 2024-02-01

All three of us returned.

We only had one issue to discuss, the pressing matter of how to handle lexical unimports, builtin version bundles, the integration with use VERSION, and various related topics.

It’s complicated. We’ve been putting together a longer mail on the subject and that will come out as its own thread soon.

The YAMLScript Advent Blog

Season's Greetings, Perl!

I've spent almost all of my time since my [last post here]( https://blogs.perl.org/users/ingy_dot_net/2023/05/perl-toolchain-synergy.html) working on a new programming language, YAMLScript.

It's working now and I've decided a do a [2023 Advent YAMLScript Blog]( https://yamlscript.org/posts/advent-2023/index/) for it. The blog started last Friday and will continue (at least) until December 24th.

I encourage you to follow along. At some point this month YAMLScript modules will become available for CPAN and Raku and many other languages. I also encourage you to try writing an [Advent of Code 2023]( https://adventofcode.com/) solution in YAMLScript, if you are playing along with AoC this year.

All the Best, Ingy döt Net

Curated list of Perl modules

See Perl.html
It's an example of the fabulous TiddlyWiki (tiddlywiki.com), so it's about 230,000 bytes.

Perl Weekly Challenge 272: String Score

These are some answers to the Week 272, 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 June 9, 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: String Score

You are given a string, $str.

Write a script to return the score of the given string.

The score of a string is defined as the sum of the absolute difference between the ASCII values of adjacent characters.

Example 1

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.