Skip to content
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

Open
1 of 17 tasks
hobovsky opened this issue Jul 30, 2023 · 6 comments
Open
1 of 17 tasks

Deduplicate - Caesar cipher + ROT13 + Atbash #203

hobovsky opened this issue Jul 30, 2023 · 6 comments
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata

Comments

@hobovsky
Copy link
Contributor

hobovsky commented Jul 30, 2023

From wiki list

Ceasar Cipher

  1. Caeser Encryption
  • 7 kyu
  • Input is lowercase and some special chars. Encoded chars are lowercase letters. Variable 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.
  • Satisfaction 81% with ~390 completions
  • 1 pending issue
  • 3 languages, no pending translations
  • Published Mar 2016, author inactive
  1. Dbftbs Djqifs
  • 6 kyu
  • Input is lowercase, uppercase, digits, and some special chars. Encoded chars are lowercase and uppercase letters. Variable 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.
  • Satisfaction 91% with ~2300 completions.
  • 1 pending issue
  • 5 languages, no pending translations.
  • Published Nov 2014, author inactive.
  1. Caesar Cipher Helper
  • 5 kyu
  • Input is lowercase and uppercase letters, no characters out of alphabet. Shift is variable in range [1, 26]. Solution is a class with encryption and decryption ops.
  • Satisfaction 91% with 3600 completions.
  • 4 pending issues.
  • 5 languages, no pending translations.
  • Published Oct 2013, author inactive.
  1. Weird words
  • 7 kyu
  • Input is lowercase and uppercase letters, spaces, and some punctuation. Encodable chars are only letters. Shift is fixed to be 1. Only encryption.
  • Satisfaction 89% with ~1300 completions.
  • 2 pending issues.
  • 5 languages, no pending translations.
  • Published Aug 2016, author inactive.
  1. Move 10
  • 7 kyu
  • Input is only lowercase letters. Shift is fixed at 10. Encryption only.
  • Satisfaction 92% with 4000+ completions.
  • No pending issues.
  • 13 languages, no pending translations.
  • Published Sep 2016, author active.

ROT13

Like Caesar, but shift is fixed to 13, and decryption is identical to encryption.

  1. ROT13
  • 5 kyu
  • Input is lowercase, uppercase letters, digits, and punctuation. Only letters to be encoded.
  • Satisfaction 89% with 18k+ completions.
  • No pending issues.
  • 14 languages + 7 pending translations.
  • Published Aug 2013, author inactive.
  1. Rot13
  • 5 kyu
  • Input is lowercase, uppercase letters, digits, and punctuation. Only letters to be encoded.
  • Satisfaction 89% with 76k+ completions.
  • 4 pending issues.
  • 16 languages + 7 pending translations.
  • Published Feb 2014, author inactive.

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.

  1. Decoding a message
  • 7 kyu
  • Input is lowercase letters and spaces
  • Satisfaction 94% with ~2k completions
  • 1 pending issue
  • 5 languages + 1 pending translation
  • Published Nov 2015, author active.
  1. Emily's Eccentric Encoding
  • 7 kyu
  • Input is uppercase and lowercase letters, spaces, punctuation. Only lowercase letters are to be encoded.
  • Satisfaction 92% with 371 completions.
  • No pending issues.
  • 2 languages + 1 pending translation.
  • Published Dec 2016, author inactive.
  1. Atbash Cipher Helper
  • 6 kyu
  • Requested operations are encryption and decryption (even though they are identical). Alphabet is given as a parameter.
  • Satisfaction 91% with 600 completions.
  • 3 pending issues.
  • 4 languages + 1 pending translation
  • Published Feb 2014, author active

Other

  1. ROT13 variant cipher
  • 6 kyu
  • Combo of ROT13 followed by Atbash
  • Satisfaction 93% with 560 completions.
  • 1 pending issue
  • 3 languages
  • Published Mar 2016, author deleted.

Conclusion

@hobovsky
Copy link
Contributor Author

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).
Get rid of remaining Caesar kata (including "Move 10"). In their place, keep one of ROT13 kata - I do not know which one, but 7. seems to have a better selection of languages.

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.

@hobovsky hobovsky added the discussion/deduplicate Discussion and vote what to do with duplicate kata label Jul 30, 2023
@hobovsky hobovsky changed the title Deduplicate - Caesar cipher Deduplicate - Caesar cipher + Atbash Jul 30, 2023
@hobovsky hobovsky changed the title Deduplicate - Caesar cipher + Atbash Deduplicate - Caesar cipher + ROT13 + Atbash Jul 30, 2023
@ejini6969
Copy link

From Ceasar cipher's group, I prefer to keep 2 and retire

  • 1 (most similar to 2, least languages and completions)
  • 3 (Overranked, old kata syndrome)
  • 4 (A subset of 2)
  • 5 (A subset of 2)

From Rot 13's group, I prefer to keep 7 and retire

  • 6 (less completion and language)

From Atbash Cipher's group, I prefer to keep 10 and retire

  • 8 (A subset of 10)
  • 9 (A subset of 10 + few completions and languages)

From Other's group, retire the kata because it is a combination of 7 and 10

@EloiseRosen
Copy link

"Ceasar Cipher": vote for keep 2, retire the others
"ROT13": vote for keep 7, retire 6
Atbash Cipher": vote for keep 10, retire the others
"Other": vote to retire 11

@carafelix
Copy link

carafelix commented Sep 6, 2023

From the Ceasar Cipher group, I would keep

  • 2 since is the one that is the most o the point
  • 3 in essences it just like 2 but adds the extra step to get OOP into it. And for someone like me who is just learning, it's a super intuitive way of progress from 2 to 3.

The rest seems logical to keep in ROT13: 7; and in Atbash Cipher: 10;

@hobovsky
Copy link
Contributor Author

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.

@KayleighWasTaken
Copy link

Moved CoffeeScript translation from 6. to 7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion/deduplicate Discussion and vote what to do with duplicate kata
Projects
Status: Filling gaps
Development

No branches or pull requests

5 participants