-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deduplicate - Caesar cipher + ROT13 + Atbash #203
Comments
Quite a bunch of kata, maybe someone has an idea for a better organization or categorization. My pick is: From Caesar kata, keep 3. for a couple of reasons (oldest, just as many translations when compared to the rest, most solutions). From Atbash kata, I think one should be enough, I don't think we need more. I like the 10. the most due to the parametrized alphabet. I don't like 11., but if you think that such a combined task is fine, we can keep it. To summarize, I'd vote to keep 3., 7., 10., and maybe 11. and retire the rest. |
From
From
From
From |
"Ceasar Cipher": vote for keep 2, retire the others |
From the
The rest seems logical to keep in |
Most people seem to agree to keep 2. or 3., 7., and 10. No one voted for the other ones, so I think we can get rid of them. |
Moved CoffeeScript translation from 6. to 7. |
Hey - I'm the author of one of these kata. What's the issue with having multiple similar kata? A process of deduplication where all versions are not identical seems off to me. it suggests that in learning a skill repetition is not useful, why would that be the case? Also who choses which to keep and why? Move10 is mine. It has a high rate of satisfaction, 4,000+ completions and 13 translations. It isn't the "worst" variant in the list, so why is it to be dropped? |
10 is being kept... |
Mine is number 5... the questions stand regardless of whether mine is voted to stay or not. Codewars platform is built on user generated content like mine, generated to add to the platform and receive the rewards. They are approved kata that went through due process, why should they be removed? |
If anyone is interested, I just created a codewars community on X: https://x.com/i/communities/1845361584954089839 |
The goal of deduplication is to get rid of kata which are close to identical, or insignificantly different. Thorough the years, due to imperfect and undermanaged processes, Codewars library collected many tasks which are of questionable design, execution, or are very similar, and deduplication attempts to address one of these aspects of content quality. Calling the beta process a "due process", especially in the form it was performed long time ago, is quite a stretch. While repetition can be good for learning, it's not always the best way to implement repetition by having tasks which are identical, or close to identical. Repetition can be achieved by solving one task in multiple ways, and not necessarily by solving many tasks in the same way. For example kata 6. and 7. from the above list can be solved with identical code. Other kata can be solved by replacing a constant with a variable, or |
Thanks for the considered response. I'd make the point that the entire platform is "gamified" such that many users operate to collect points, it is incentivised through the leaderboard. As a result, learners aren't incentivised to repeat a kata with different methods by the platform, it actively encourages moving on to the next problem. I don't disagree with you that same problem with different solutions would be good for learning, I just think it would be an a-typical journey for many and so enabling learning through repetition may serve the community best (technique reps without a loss of platform progress). |
I think the "gamification" is another point in favor of deduplication. Users shouldn't be encouraged to see if there are any katas that are very close to what they already solved to easily farm honor. |
But is the point not to educate? Let people learn? The gamification is secondary to keep people interested. If they end up repeating exercises to gain kata its good for embedding the learning. |
From wiki list
Ceasar Cipher
step
which can be larger than alphabet size and needs to be modulo'd by users. Characters form outside of allowed alphabet should be passed through unmodified. Only encryption.step
which can be larger than alphabet size or less than 0 and needs to be modulo'd by users. Characters form outside of allowed alphabet should be passed through unmodified. Only encryption.[1, 26]
. Solution is a class with encryption and decryption ops.ROT13
Like Caesar, but shift is fixed to 13, and decryption is identical to encryption.
Atbash Cipher
Atbash is not exactly equivalent to Caesar cipher with a shift, but is often seen as equally dull as Caesar. Caesar and Atbash might, or might not, be seen as similar enough to keep only one, or both. It's one of the points to be discussed in this ticket.
Other
Conclusion
The text was updated successfully, but these errors were encountered: