codewars / content-issues

Higher level issue tracker for the Codewars content.
15 stars 1 forks source link

Deduplicate - Count Digits of Factorial #67

Open hobovsky opened 2 years ago

hobovsky commented 2 years ago
  1. Factorial length

    • 6 kyu
    • No fixed tests for edge cases (zero, eventually 1)
    • Satisfaction 83%, 626 solutions
    • No pending issues
    • 6 languages + 3 pending translations
    • Published Oct 2017, authored by KenKamau (active)
  2. Simple Fun #206: Factorial Digits

    • 5 kyu
    • Satisfaction 90%, 318 solutions
    • No pending issues
    • 6 languages + 1 pending translation
    • Published Apr 2017, authored by myjinxin2015 (inactive)

Both kata allow for O(n) solutions (sum of logs), or even O(n log n) solutions (split all of 1...n into digits), at least in languages I checked. None of them seems to enforce a O(1) solution. None of them seems to allow for solutions based on naive multiplication.

hobovsky commented 2 years ago

My vote: I do not have a strong preference here, but I lean towards keeping 1. as ranked more accurately, having more languages, and being actively maintained. 2. would be retired.

krishsharma0413 commented 2 years ago

keep 1 retire 2

FArekkusu commented 2 years ago

I lean towards keeping 1. as... being actively maintained

That is until you raise an issue and KenKamau blocks you. (It's rather surprising to see that not only nobody cares how much of a headache dealing with him is, but people also consider this an "active maintenance".)

Anyway, all the existing versions and translations on the second kata are up-to-date in terms of using the test frameworks properly, they all have a good(?) set of fixed tests and random tests. I'd rather see that one survive, possibly unpublished and reranked as 6 kyu if the ranking is a problem, than the first one.

hobovsky commented 2 years ago

That is until you raise an issue and KenKamau blocks you. (It's rather surprising to see that not only nobody cares how much of a headache dealing with him is, but people also consider this an "active maintenance".)

It's not "people", it's specifically me. Many users share your opinion and many users did not hesitate to let me know about their concerns on this topic. So to explain myself a bit:

Please don't hijack this thread with concerns related to the author - I think they are not significant for this particular issue, and if anyone wants to discuss this specific matter, we can start a new discussion.

The problem with reranking is that until now, we have no really good means tor this. The kata needs to go through beta and needs to be reapproved with a new rank, and this is another can of worms to deal with (resolving issues, collecting votes, making sure it gets approved with a proper rank, getting admins involved more than necessary - it all takes time and effort). I see keeping properly ranked kata as just easier, because this is the most difficult part to fix. Until we get some better tools for reranking, we need to account for related difficulties.

If your opinion is "keep 2., retire 1." that's fine, thanks for sharing it. Let's just focus on the quality of the kata which is to be kept, and avoid the possibility that we go for worse option just because we think it will be easier to introduce.

FArekkusu commented 2 years ago

Please don't hijack this thread with concerns related to the author

Excuse me? Whether you want it or not, deduplicating katas is closely related to the topic of dealing with the surviving kata(s) and their author(s) in the future, and IMO the question of whether it's better to have a kata with an active but very counter-productive author or have a kata with no active author at all is a valid and relevant concern.

Since some time we (Codewars community) actually have means to deal with potentially problematic cases. Kata can be forked easily, and forks with fixes can be approved by mods.

If you're suggesting that we (Codewars community) can deal with any issues ourselves, without the author's involvement, and we should "just focus on the quality of the kata", then why do you bring up the author's status in the first place? To create a fake argument which doesn't really mean anything?

hobovsky commented 2 years ago

Please let me address your concerns in a separate thread, to keep this one on topic of the kata. I will try to answer your questions later today.

ejini6969 commented 2 years ago

I voted for keeping 1. since it has many languages and rank is appropriate and require less migration from the other one.

Only thing is to add edge cases for all languages, update them to latest framework and migrate Factor from myjinxin's one!

hobovsky commented 2 years ago

@FArekkusu please see this discussion for follow-up: https://github.com/codewars/content-issues/discussions/68

Kacarott commented 2 years ago

While I think the title and rank of the first one are better, if changing the rank of the second one is fairly simple then I think I would prefer to keep the second one and rerank. The second one is older, after all, and I think with everything else being close to equal, the older kata should have priority.

If reranking is undesirable, then the first one should be chosen. However if we are comparing levels of work/effort, I think that the effort spent reranking the second kata will still be less than the potential effort spent "working around" a troublesome author.

and migrate Factor from myjinxin's one!

Well, I would be unable to even post a migration of my translation to the other kata as a suggestion, due to being blocked. :)

EloiseRosen commented 2 years ago

I thought this was more 5kyu than 6kyu but everyone disagrees so maybe I'm just dumb

akar-0 commented 2 years ago

I thought this was more 5kyu than 6kyu but everyone disagrees so maybe I'm just dumb

If that reassures you, I also think it could be rather an (easy) 5 kyu rather than 6, but the solution is spoiled all over the internet... About KenKamau, for known reasons he should not be considered an active maintainer, but anyone can contribute to katas so it's not such a big problem. Eventually, keep 1 could be the best solution.

armeanco commented 1 year ago

My vote: 1.Factorial length

KayleighWasTaken commented 9 months ago
  1. no longer allows O(n) solutions to pass in Python, only O(1), 2. is unaffected by this.