Suggestions on improving the Perl Weekly Challenge

My thoughts regarding the PWC, and how to make it better


The Weekly Challenge - Perl & Raku, or PWC for short, is an ongoing event where anyone can participate by solving a set of challenges for a given week. It certainly helps the Perl and Raku communities to stay engaged and increase the visibility online. I understand and appreciate the hard work needed to keep the challenge going for 115 weeks back to back. That being said, there are some aspects of it which could use some improvements.

The criticism

There are some voices of discontentment with the current state of PWC. I can add my own criticism to that, and will try to summarize what I currently understand.

The Perl Weekly Newsletter is overrun with PWC content

This is something I've noticed myself quite some time ago. While there isn't as much Perl content to share weekly, flooding the newsletter with PWC blogs is not very helpful (and possibly even annoying) to people who have no interest in PWC. Which brings us to the second point...

PWC blog posts are only interesting to people who participate

Most of the blogs seem to just be named Perl Weekly Challenge solution, week #NNN (yes, I'm guilty of that as well). You don't know what to expect, unless you already know what is the current challenge of the week.

each week of PWC consists of two puzzles, which most often have nothing in common

This is connected with the last point, as there's no theme to each week of the challenge. It makes it rather hard to title a blog post anything but Perl Weekly Challenge solution, week #NNN, unless you want to make a separate blog for each task, or only blog about one of the tasks.

PWC becomes a showcase of clever solutions

While many people are slowly working to dispel the myth of Perl looking the same before and after the encryption, PWC solutions seem to often reinforce that image, with solutions seemingly becoming more and more condensed and clever.

The solutions

I will try to present my idea of how to fix some of that, but I am just one guy who solves PWC from time to time, so I might hit the wrong note here.

One puzzle per week

Since each week consists of two puzzles, and both tasks aren't connected to each other, each week have no theme to it, and it is hard (but not impossible) to come up with one. For example, you can set up a goal for yourself, like getting better at functional programming, and solving the tasks using this style. Then you could name your blog post FP in Perl, PWC#NNN, and I've done that myself just to test out my own CPAN module (but without the appealing title). But again, the PWC itself does not encourage you or help you to do that, and almost noone does that. Because of this, I'd say PWC values creating noise about Perl and Raku, but it ends up being white noise, as noone will ever click one of a dozen seemingly identical posts just know what you're trying to show them. This kind of defeats the purpose of blogging, does it?

I see no valid reason for PWC to stick to the current model. One such reason might be that if one of the tasks is hard, then the easy one may still be solved by someone who wouldn't be able to participate due to difficulty level. I understand that, but unless we have data to back this claim, it's equally possible that people don't solve any task at all if they can't solve them both.

One reason to change the quantity is the quality of puzzles. I can only imagine it's time consuming to find a good puzzle once per week for over two years, but how about two per week? It's only a matter of time before the pool of good ideas is depleted. Additionally, it makes it hard to blog about some part of your solution and not the challenge itself, unless you split your blog in two (one for each puzzle), or blog about just one of them. How awesome would it be to have blog posts that are like «I like this cool module / language feature, let me show you on this week's PWC» instead of just «I solved this week's PWC»? I feel like currently the focus is just not where it's supposed to be.

That can of course create a situation where the tasks are too hard or too easy. There's an easy fix to that: find one task that is challenging enough, and then split it into two tasks, where the second one is an extension of the first one. An example of that would be a pathfinding algorithm we had on week #64. If a theme for the next week would be to code a pathfinder, we could have first task where you get just a path from point A to point B, and the second task where you also get obstacles and possibility of no available path.

Guideline for blog titles

Secondly, it would be beneficial for the blog posts to also be appealing to people who do not care about PWC. It shouldn't be that hard, just choose one part of your solution that you want to showcase and include it in the blog post title and content. I think the Perl Weekly Challenge part should generally be avoided, just like you would avoid the word Problem when trying to get some help. It is too vague and tells people nothing about what to expect.

Of course people can name their own blogs whatever they want, but the Perl Weekly Newsletter editors would prefer including posts which follow the guideline, as they are more likely to be useful to newsletter readers. If you really just want to test your skills, have some fun, then that's great, carry on. But if you'd like to also promote Perl in the process, I don't think creating a blog article with an unappealing title will help with that. It will likely not get to many people outside of PWC echo chamber, let alone the Perl Community.

Keep in mind I'm not talking about creating clickbaits here, but rather more descriptive titles than the ones we have now.

Is this enough?

Changes and guidelines, even if fully implemented, can only do as much. The man who makes the challenge happen, Mohammad, was already presented with my ideas during one of online discussions. But without the PWC Team (which is what the people participating in the challenge are often called) willing to get more out of their commitment, nothing will change. That's why I'm reaching out to you, so that we can discuss the best way to move forward.


Comments? Suggestions? Send to feedback@brtastic.xyz
Published on 2021-06-02