Skip to main content
Post Undeleted by caird coinheringaahin gMod
Post Deleted by caird coinheringaahin gMod
deleted 5753 characters in body
Source Link

The Programming Language Quiz, Mark II

A repost of this challenge. Meta discussion. Body of the question similar to the original

[Tacky introduction]

The Cops' Challenge

The Cops in this Cops and Robbers challenge have to do two things:

  1. Choose a programming language. A valid programming language is one which meets all three of these criteria:
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can output as decimal integers, as bytecode values (! to represent 33, for instance), or as unary digits (1111 for 4, e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as []). You must specify your output format in your answer.

You must not assume a REPL environment or existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 65,536 characters) - this shouldn't be an issue for any serious submission.

If your code contains bytes outside of printable ASCII + newline, please include a pastebin or hex dump to make sure your code is actually testable.

The program must terminate within 5 minutes on a typical desktop PC.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge)

Once 7 days have passed without anyone discovering any language where your program is a valid crack, you may reveal the language and mark it as safe. Please note, your submission can still be cracked until you reveal the language.

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robber's active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

The shortest submission in bytes wins!

1: If you wish to output in a different way, please ask in the comments

Formatting

(Feel free to skip this section and read The Robbers' Challenge if you're not planning to participate as a cop right now.)

At the bottom of this post, you'll find a Stack Snippet which generates leaderboards as well as a list of submissions which can still be cracked. For the snippet to work, it is important that you include a certain header in your answer:

  • New answers should include a header like

      # ???, [N] bytes
    

    where [N] is the size of your code in bytes and ??? should appear literally.

  • If the answer is not cracked for 7 days and you want to make your answer safe by revealing the language, simply replace the ???, e.g.

      # Ruby, [N] bytes
    

    Feel free to have the language name link to a relevant website like an esolangs page or a GitHub repository. The link will then be displayed in the leaderboard.

  • If another user successfully cracked your submission (see below), please also add the language, along with a notice like

      # Ruby, [N] bytes, cracked by [user]
    

    where [user] is the name of the user who submitted the first valid crack. If the language used in the crack is different from the one you intended, I'd recommend using the robbers' guess and mentioning in the answer that you intended it to be something else. Feel free to make the user name a link to their profile page.


The Robbers' Challenge

  1. Find a vulnerable answer. That is an answer, which hasn't been cracked yet and which isn't safe yet.
  2. Crack it by figuring out its language. That is, find any language in which the given program is a valid program (subject to the rules outlined in The Cops' Challenge above). It doesn't matter if this is the language the cop intended.

Once you have found a working language, post an answer to the Robbers' thread and comment below the Cop's answer. If you don't have enough reputation to comment, say this in your answer and someone will comment for you.

Every user only gets one guess per answer. You must not crack your own answer (obviously...).

The user who cracked the largest number of answers wins the robbers' challenge. Ties are broken by the sum of bytes of cracked answers (more is better).


MetaThe Programming Language Quiz, Mark II - Cops

Well? Any feedback? Should this be one challenge or have a separate challenge for Cops and for the Robbers?

The Programming Language Quiz, Mark II

A repost of this challenge. Meta discussion. Body of the question similar to the original

[Tacky introduction]

The Cops' Challenge

The Cops in this Cops and Robbers challenge have to do two things:

  1. Choose a programming language. A valid programming language is one which meets all three of these criteria:
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can output as decimal integers, as bytecode values (! to represent 33, for instance), or as unary digits (1111 for 4, e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as []). You must specify your output format in your answer.

You must not assume a REPL environment or existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 65,536 characters) - this shouldn't be an issue for any serious submission.

If your code contains bytes outside of printable ASCII + newline, please include a pastebin or hex dump to make sure your code is actually testable.

The program must terminate within 5 minutes on a typical desktop PC.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge)

Once 7 days have passed without anyone discovering any language where your program is a valid crack, you may reveal the language and mark it as safe. Please note, your submission can still be cracked until you reveal the language.

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robber's active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

The shortest submission in bytes wins!

1: If you wish to output in a different way, please ask in the comments

Formatting

(Feel free to skip this section and read The Robbers' Challenge if you're not planning to participate as a cop right now.)

At the bottom of this post, you'll find a Stack Snippet which generates leaderboards as well as a list of submissions which can still be cracked. For the snippet to work, it is important that you include a certain header in your answer:

  • New answers should include a header like

      # ???, [N] bytes
    

    where [N] is the size of your code in bytes and ??? should appear literally.

  • If the answer is not cracked for 7 days and you want to make your answer safe by revealing the language, simply replace the ???, e.g.

      # Ruby, [N] bytes
    

    Feel free to have the language name link to a relevant website like an esolangs page or a GitHub repository. The link will then be displayed in the leaderboard.

  • If another user successfully cracked your submission (see below), please also add the language, along with a notice like

      # Ruby, [N] bytes, cracked by [user]
    

    where [user] is the name of the user who submitted the first valid crack. If the language used in the crack is different from the one you intended, I'd recommend using the robbers' guess and mentioning in the answer that you intended it to be something else. Feel free to make the user name a link to their profile page.


The Robbers' Challenge

  1. Find a vulnerable answer. That is an answer, which hasn't been cracked yet and which isn't safe yet.
  2. Crack it by figuring out its language. That is, find any language in which the given program is a valid program (subject to the rules outlined in The Cops' Challenge above). It doesn't matter if this is the language the cop intended.

Once you have found a working language, post an answer to the Robbers' thread and comment below the Cop's answer. If you don't have enough reputation to comment, say this in your answer and someone will comment for you.

Every user only gets one guess per answer. You must not crack your own answer (obviously...).

The user who cracked the largest number of answers wins the robbers' challenge. Ties are broken by the sum of bytes of cracked answers (more is better).


Meta

Well? Any feedback? Should this be one challenge or have a separate challenge for Cops and for the Robbers?

Made a couple edits based on recent comments; cleaned up wording and punctuation a bit
Source Link
DLosc
  • 39.2k
  • 33
  • 49
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers, as bytecode values (! to represent 33, for instance), or as unary digits (1111 for 4, e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as []). You must specify your output format in your answer.

You must not assume a REPL environment, or existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 3065,000536 characters) - this shouldn't be an issue for any serious submission.

If your code contains bytes outside theof printable ASCII range+ newline, please include a pastebin or hex dump to make sure your code is actually testable.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the FooFoo cracks in the original challenge)

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robbers'robber's active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers, bytecode values (! to represent 33 for instance) or as unary digits (1111 for 4 e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as [])

You must not assume a REPL environment, existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 30,000 characters) - this shouldn't be an issue for any serious submission.

If your code contains bytes outside the printable ASCII range, please include a pastebin or hex dump to make sure your code is actually testable.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge)

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robbers' active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can output as decimal integers, as bytecode values (! to represent 33, for instance), or as unary digits (1111 for 4, e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as []). You must specify your output format in your answer.

You must not assume a REPL environment or existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 65,536 characters) - this shouldn't be an issue for any serious submission.

If your code contains bytes outside of printable ASCII + newline, please include a pastebin or hex dump to make sure your code is actually testable.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge)

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robber's active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

added 65 characters in body
Source Link
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers, bytecode values (! to represent 33 for instance) or as unary digits (1111 for 4 e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as [])
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers, bytecode values (! to represent 33 for instance) or as unary digits (1111 for 4 e.g)1. If using unary, you should use any consistent character. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as [])
  1. Write a full program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers, bytecode values (! to represent 33 for instance) or as unary digits (1111 for 4 e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with a leading and trailing character (such as [])
added 203 characters in body
Source Link
Loading
deleted 12 characters in body
Source Link
Loading
Source Link
Loading