Issue #754 - 2026-01-05 - New Year Resolution

latest | archive | edited by Mohammad Sajid Anwar
This edition was made possible by the supporters of our cause.
Don't miss the next issue!

Hi there,

Happy New Year, everyone (albeit a belated one).

Any New Year's resolutions this time? For me, none. I'm too old for such customs. However, I always have a full plate, which is nice.

Normally, you expect the new year to bring new energy but that rarely happens. Instead you often already feel tired from a busy schedule, gift shopping, and attending parties. How was yours?

I luckily had an extended break this time, so I used it to work on my upcoming book on DBIx::Class. I have a habit of getting deep into the skin of a subject, and this time was no different. When I shared updates on social media, I received many positive reviews. One suggestion to add asynchronous operation support to DBIx::Class. I must admit that before this book, I had barely touched it, although my current work place uses it extensively. In the past, I mostly worked with an in-house ORM written in Perl.

While working on the book, I decided to share my initial draft for supporting async operations in DBIx::Class and released DBIx::Class::Async on the first day of 2026. It's still experimental, but I received a few suggestions from big shots, which led to another quick update to address their feedback. I wrote a blog post to introduce the new creation and am working on another post to discuss further improvements since the initial release. I had hoped to have it ready for this newsletter, but not everything goes according to plan. Never mind - in a couple of days - I will share it with you.

Two major blockers I encountered during my research were transactions and searches with prefetch. I will continue working on these until I find a satisfactory solution. I also come across another new distribution on the same subject, DBIx::Quick. I'm happy to see the sudden renewed interest in ORM in general.

Today is my first working day of 2026, so I'm very excited. Please share your experiences.

Enjoy rest of the newsletter.

Mohammad Sajid Anwar


Announcements

The Underbar, episode 8

by Philippe Bruhat (BOOK)

As preparations are underway for the Perl Toolchain Summit 2026, this short episode is the last excerpt recorded during PTS 2025 (as a tangent during the CPAN Testers interview, published as episode 6). BooK starts by explaining the selection process for the Perl Toolchain Summit and some of the history, and then Doug, Ruth, Breno and Ferki reminisce about what makes the event so special.


Articles

App::HTTPThis: the tiny web server I keep reaching for

by Dave Cross (DAVECROSS)

Dave shares his long-time favorite tool for static site work: App::HTTPThis. This Perl module is a friction-free command-line web server that instantly serves any directory over HTTP, perfect for testing links, assets, and real browser behavior without the overhead of Apache or nginx.

DBIx::Class::Async

by Mohammad Sajid Anwar (MANWAR)

A gentle tntroduction to DBIx::Class::Async. Please share your suggestions.

Episode 9: Perl, the Language That Refuses to Die (And Honestly, Good for It)

by Dave LumAI

A very interesting read, unfortunately it is behind Medium's paywall, marked as members only.

jq-lite: A jq Alternative for Legacy and Restricted Systems

by Shingo Kawamura

jq-lite is a jq-compatible JSON processor written in pure Perl. It is designed for legacy, restricted, and minimal environments where installing jq is not possible.


The Weekly Challenge

The Weekly Challenge by Mohammad Sajid Anwar will help you step out of your comfort-zone. You can even win prize money of $50 by participating in the weekly challenge. We pick one champion at the end of the month from among all of the contributors during the month, thanks to the sponsor Lance Wicks.

The Weekly Challenge - 355

by Mohammad Sajid Anwar (MANWAR)

Welcome to a new week with a couple of fun tasks "Thousand Separator" and "Mountain Array". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 354

by Mohammad Sajid Anwar (MANWAR)

Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Min Abs Diff" and "Shift Grid" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

MAD Shift

by Arne Sommer

The post showcases excellent problem-solving skills and clear pedagogical explanations. The implemented code for the first challenge and the conceptual solution for the second are both technically sound and well-justified.

Shifted Differences

by Jorg Sommrey

This is a competent Perl implementation that demonstrates strong algorithmic thinking, particularly for the grid rotation problem. Jorg shows good understanding of Perl's array manipulation capabilities and mathematical optimisation.

Perl Weekly Challenge 354

by W Luis Mochan

Expert-level PDL implementation that leverages specialized numerical libraries for concise, high-performance solutions. This approach is optimal for numerical computing contexts but requires deep PDL knowledge.

Min Abs Diff Shift Grid. What??

by Matthias Muth

Matthias demonstrates both theoretical knowledge (complexity analysis) and practical skill (performance optimisation), making this an exemplary technical solution.

Some Grids

by Packy Anderson (PACKY)

This is a well-written and highly educational post. Packy successfully demonstrates how to solve algorithmic problems using the distinct styles of different programming languages. The solutions are correct, clearly explained, and follow good practices.

Mad numbers and shifty grid

by Peter Campbell Smith

Peter demonstrates a pragmatic, straightforward approach to solving the weekly challenge #354. The code is clear, functional, and focuses on delivering correct results with minimal complexity.

The Weekly Challenge #354

by Robbie Hatley

This solution set takes a functional but brute-force approach to the problems. While correct, it prioritizes straightforward implementation over algorithmic optimisation.

Min Grid Diffs the Shift

by Roger Bell West (FIREDRAKE)

This is a sophisticated, well-optimized solution that correctly identifies and implements the most efficient algorithms for both challenges. Roger demonstrates strong understanding of algorithmic complexity and language-specific optimizations.

New Year, New Challenges

by Simon Green (SGREEN)

High-quality, production-ready solutions with excellent algorithm choices, clean implementations, and thoughtful language-specific optimizations. Simon demonstrates strong command of both algorithmic thinking and practical coding.


Rakudo

Weekly collections

The corner of Gabor

A couple of entries sneaked in by Gabor.

The new pull-request challenge (club)

by Gabor Szabo (SZABGAB)

Recently I saw that the PullRequest.Club closed on January 1st. It's a pity as it was a good idea. But don't worry, the new PRC is here. Less organized but here. The challenge is to send a PR to any CPAN module once a week and share the link to it on this issue. (see my first comments on that issue). If you have never contributed to an open source project or if you have never sent a PR, don't worry. I organize live online sessions where I demonstrate the whole process as I am working on a project. You can watch. You can ask question. You can learn. Then you can implement and send your own PRs. Check the events here!


Events

Boston.pm - online

January 13, 2025



You know, you could get the Perl Weekly right in your mailbox. Every Week.
Free of charge!

Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
Perl Weekly on Twitter RSS Feed of the Perl Weekly. Updated once a week