Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

New Section: Challenges?

by strider corinth (Friar)
on Nov 18, 2002 at 19:07 UTC ( #213851=monkdiscuss: print w/replies, xml ) Need Help??

This was brought up briefly before, but I'd like to flesh the idea out a bit. I think it would be helpful to have a "Challenges" section here at PM. In my mind, it should be a bit larger in scope than just Golf. The guideline would be to post questions that have specific qualifications, or rules, as to what kind of answer is being asked for. The best place PM currently sports for this is SoPW, and there are a few reasons I feel like SoPW isn't a totally natural place to post questions like this.

The first reason is that SoPW is a section where very 'real world' questions are asked. While that's helpful in a lot of cases, when I want to post a more theoretical question, the usual response is largely, "What are you actually trying to do? There's probably an easier way." I think PM would benefit from a better place to post more theoretical questions.

The second is that there seem to be a fair number of posts related to challenges. Golf is one that we see fairly often, but other kinds of challenges come up from time to time, too. It seems to me that putting them in their own category might foster more attention for posting challenges, which I, at least, would like to see encouraged. In my experience, solving difficult problems has been one of the most effective ways of learning.

The third is the most mundane of the three: grouping. We have sections on PM for different kinds of answers (Snippets, Code, Craft, Meditations), even to specific challenges (Obfuscation). It seems to me like the community would benefit equally from the separation of Perl questions into categories.
Love justice; desire mercy.

Replies are listed 'Best First'.
Re: New Section: Challenges
by Ovid (Cardinal) on Nov 18, 2002 at 22:59 UTC

    This is an interesting idea for a couple of reasons:

    1. Golf sucks.
    2. Golf sucks.

    While I'm kidding about golf, I don't think that this is a terribly inappropriate thing to say. Golf is kind of like playing speed chess: it can lead to bad habits. Admittedly, golf can teach one about interesting features of Perl that otherwise may remain unknown, but often those unknown features are unknown for a darned good reason.

    Dominus has created the Quiz of the Week which pretty much covers what I think you're trying to do, but I see a couple of pitfalls that he's avoided through a mailing list that we might have trouble avoiding.

    One pitfall would be controlling the quality of the questions. Who would post the challenges? Someone might post a challenge of "sorting a file by date", but not clarify exactly what they are referring to. What's the file format? How do we handle bad data? What are the file size limits? What's to be done with the output? Coming up with good specifications is hard, so this could be a problem.

    The other problem is that "first post" often leads to "worst post". On the quiz I tried with the Quiz of the Week (finding anagrams), as an experiment I deliberately coded my first try with a "first post" mentality and then sat down and planned out how I would really write the program. My "first post" attempt was so ridiculously slow as to be useless. My "planned out" program was more efficient and, if I saw all of the responses, was the second fastest program in the "beginner" category.

    Taking the above into consideration, who sets up the challenges and who judges? How do you prevent the "first post" problem? Perhaps more importantly, who's going to add the new section? None of this is insurmountable, but plan it out. Specifications are hard :)


    New address of my CGI Course.
    Silence is Evil

      In response to your first two (similar =) points, I think that a section like this would be valuable in fighting the Golf problem you mention. With other kinds of challenges around, competetive spirit could be used to foster better code writing. Challenges needn't be limited to writing short (bad) code. Writing readable or portable code is often more difficult. Different things are learned from each.

      I can see the advantages of a list like Quiz Of The Week, but not just anyone can post to it. That's very key to the goals I have in mind. An important one to me is that theoretical questions somebody actually needs answered could be dealt with, but in an enviroment which lays emphasis on the fun of the challenge. Anybody ought to be able to post, and like every other section, I think posts should be approved and moderated by people who have those abilities based on their level. The standards of what is acceptable would by necessity be different from the others. Standards should be more strict than SoPW, in my opinion, but since judging wouldn't be a terribly formal procedure (see below) it's not something I'm extremely concerned with. Heck... a challenge to write a good challenge (with guidelines as to what that means) would make a good first post to the section.

      (Just as a side note, I could accept an argument that posting challenges should be limited to a certain level, like in Q&A, and for many of the same reasons.)

      As for the quality of responses, those who use and test them would respond based on all the criteria they find important. Encouraging people to take speed, readability, and other qualities into account is something I hope would be encouraged, but everybody has their own idea of what's important, and not all of them match mine. Partly for that reason, the judging system I was envisioning is PM's own voting system. Those who think a particular answer is a good one for the question vote it up. Those who think otherwise abstain or vote down. The "first post" problem is one which probably won't be solved, but which would hopefully at least take a hit from the fact that answers are expected to match the question's criteria, and thus will be more carefully scrutinized. If speed isn't important to the poster, it needn't necessarily be important in the response. If it is, it should be. And for well defined challenges, the first post problem disappears.

      As for adding the new section, I'm not in pmdev, but I'd really like to see this happen. If the idea has general approval, I'm willing to do what's needed to make it happen, as much as is within my ability. If profuse help is going to be necessary (I have very little idea what's involved), perhaps somebody capable will be willing to help me.

      Update: PS: I forgot to mention, but I do intend to put down a specification for this if it seems like it might happen. I already have one in my head (actually two or three possibilities) and they've changed a little as I read your response. Maybe in a day or two I'll post them, when I've heard more people's opinion and had time to think more.
      Love justice; desire mercy.
Re: New Section: Challenges?
by tmiklas (Hermit) on Nov 20, 2002 at 00:44 UTC
    Well - maybe i'm wrong, but as i understand, 'more teorethical questions' are some kind proof of concept type. As far as for now i can't see a place to ask such questions and discuss possible solutions - although i think that many of us would learn a lot reading such sections.
    ++ for an idea and + for the name (for some 'challenge' might be just to understand what Perl is all about ;-P).
    I think that 'Proof of concept' would be more suitable (even if it's much longer).

    Greetz, Tom.
    Sorry form my english - it's not my native language

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: monkdiscuss [id://213851]
Approved by Mr. Muskrat
Front-paged by jarich
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2020-02-29 11:04 GMT
Find Nodes?
    Voting Booth?
    What numbers are you going to focus on primarily in 2020?

    Results (128 votes). Check out past polls.