Tl;dr: I think my question on Huffman coding was wrongly closed as duplicate and should be re-opened.
Early this week, I had the idea of posting a challenge based on Huffman coding. I found a very old question that was based on Huffman coding at the core, but the execution was different: Huffman golfing. My idea of what the output should be was different, so I asked about it in chat:
Okay, so, there's a really old question on Huffman encoding, which asks for a Huffman tree. What I had in mind was that programs would compute the Huffman coding and then output each character along with its binary representation, sorted from shortest/most frequent to longest/least frequent. Are these different enough that they wouldn't be duplicates?
Only one person responded, Thomas Kwa, who said:
It would not be a duplicate, because you can't trivially modify answers to that question to answer your new question.
So I sandboxed it. The only response was a recommendation from feersum to add a time limit, which I did when I posted it, about 27 hours later.
Then, much to my irritation, Peter Taylor closed it as duplicate with this comment:
I disagree with your note: it's the same question which for the existing answers requires a simple transformation of output format, and moreover any answer to this question is automatically an answer to the previous question.
(The note being that the Huffman golfing question was not a duplicate because you can't trivially modify the existing answers to fit the new question.)
I vocally disagreed with this in chat starting here. I'll summarize what I think are the strongest points:
- There are no CJam or Pyth answers on the old question. (They were created well after it.)
- It is better written because it gives an example for demonstration and has several test cases.
- The spec is better, which Martin said in chat.
His comment that perhaps the old question could be closed as a duplicate of the newer one lead me to research this on this Meta. I found four Meta questions that seemed to be relevant.
- Closing old question as duplicate of new one
- Duplicate questions
- Are two questions duplicates if they have different scoring rules?
- Am I allowed to post a second, better edition of a challenge?
The first doesn't have a particularly clear community consensus, but the (at-the-moment) positive score answer has this:
- There may be users that would like to answer the new question that would not have wanted to answer the old question (because of the differences)
- There may be users that would like to answer the new question that missed the old question. i.e. perhaps they only joined the site within the last month, or were just not online often enough before the question got knocked off the "active/recent questions" list. Are these users expected to go and search for old/inactive questions to answer?
On the second, I'd like to say that I agree with xnor's answer. In particular:
But if the new question is much better than the old one, closing it is a needless loss in quality for the site. I'd like for the duplicate policy to be more flexible, and allow a repeat of a question if the new one is significantly better than the old.
Is this really serving the community interest? It's sad when someone posts a well thought-out, exactly-specified, test-cased question, and it's closed because the same challenge was posed in a question from 2011 with an ambiguous two-sentence spec and only a few mediocre answers.
I seriously believe that's the situation with the Huffman coding questions. Anyway, Martin's answer on the third sets forth a criteria that's repeated as community consensus on the fourth:
Can answers from one question be copied over to the other with little or no modification and still be competitive?
I honestly believe that the answer is no for the two Huffman coding questions. Only two of five users who posted on the old question have been around this year, and one of those two hasn't been seen for months. This particular challenge idea would really benefit from being re-posted these days and I think it's not a good idea to simply edit the old one. (For one, I spent an hour writing that "Code the Huffman!" question and the original poster of the old one shouldn't get the reputation for it.)
So yeah, that's my case for reopening the "Code the Huffman!" question.