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 prevailingWe continued going through the bug list to tag release blockers
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
These are some answers to the Week 273, 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 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.
You are given a string, $str
.
Write a script to return true if there is at least one b, and no a appears after the first b.
Example 1
Input: $str = "aabb"
Output: true
Example 2
Input: $str = "abab"
Output: false
Example 3
Input: $str = "aaa"
Output: false
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: ...
2023 was a rather productive year for me on CPAN. Aided by taking some time off I managed to release a whopping 18 new modules.
Half of my new modules were related to my password framework Crypt::Passphrase
. To be honest most of them are either small (± 100 LOC) glue two or three other pieces of code together. And then there was Crypt::HSM
, a PKCS11 interface (to use cryptographic hardware without exposing cryptographic keys) that was probably more work (2600 LOC of XS) than the others combined.
Most of this was with the aim to add peppering support to Crypt::Passphrase
, a subject extensive enough that I should probably dedicate a separate blogpost to it.
Paul was away this week.
These are some answers to the Week 253, 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 January 28, 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.
You are given an array of strings and a character separator.
Write a script to return all words separated by the given character excluding empty string.
Example 1
Input: @words = ("one.two.three","four.five","six")
$separator = "."
Output: "one","two","three","four","five","six"
Example 2
Input: @words = ("$perl$$", "$$raku$")
$separator = "$"
Output: "perl","raku"
I missed last year but in 2024 I'm doing a dev release of Perl again. This time it is version 5.39.7.
And again, you can watch it live on Saturday 20th of January on Twitch.
Well, not actually wrong, just slow. But the exaggeration makes a punchier headline, you’ll admit.
This comes up when an interface takes a pattern to match things against. Sometimes you have some reason to want this match to always fail, so you want to pass a pattern which will never match. The customary way of doing this is to pass qr/(?!)/
. There is a problem with that, though.
I’m not talking here about the fact that if possible, you really don’t want to pass an actual qr
object. We’ve already covered that. It was a surprising enough discovery that I’ll take this opportunity to signal-boost that while we’re here, but this article is not about that.
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.
These are some answers to the Week 248, 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 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.
You are given a NxM
matrix A
of integers.
Write a script to construct a (N-1)x(M-1)
matrix B
having elements that are the sum over the 2x2
submatrices of A
,
b[i,k] = a[i,k] + a[i,k+1] + a[i+1,k] + a[i+1,k+1]
Example 1
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.
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.
My next dev article about the important concept of cognitive load of code and how to manage it.
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.
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
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
This week we:
method
non-public
by default. This probably won’t work but we could open a PPC
discussion on my method
+ $obj->&method
syntax.qt
Strings
— (Paul) now has TPF Core Development Grant so can start writing
this Any Day Now(TM)->&
pod/security_disclosure_process.pod
(not in
December), and also offered to coordinate the next incidentI 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.
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.
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
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.
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.