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

Add important note about mkiocccentry execution #89

Merged
merged 8 commits into from
Feb 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions SECURITY.html
Original file line number Diff line number Diff line change
Expand Up @@ -450,8 +450,8 @@ <h2 id="reporting-a-vulnerability">Reporting a Vulnerability</h2>
instead.</p>
<h1 id="important-disclaimer">Important Disclaimer</h1>
<p>IOCCC code is for <strong>educational and entertainment purposes only</strong>. We do <strong>NOT</strong>
recommend installing any winning IOCCC entry code. Use code found the IOCCC repo
and in the IOCCC web site <strong>at your own risk!</strong></p>
recommend installing any winning IOCCC entry code. Use code found in the IOCCC repo
and in the IOCCC website <strong>at your own risk!</strong></p>
<p>The <a href="index.html">IOCCC</a> and the <a href="judges.html">IOCCC judges</a> DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL,
Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ instead.
# Important Disclaimer

IOCCC code is for **educational and entertainment purposes only**. We do **NOT**
recommend installing any winning IOCCC entry code. Use code found the IOCCC repo
and in the IOCCC web site **at your own risk!**
recommend installing any winning IOCCC entry code. Use code found in the IOCCC repo
and in the IOCCC website **at your own risk!**

The [IOCCC](index.html) and the [IOCCC judges](judges.html) DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
Expand Down
6 changes: 3 additions & 3 deletions contact.html
Original file line number Diff line number Diff line change
Expand Up @@ -444,11 +444,11 @@ <h1 id="wait---before-you-send-that-email">WAIT!!! - Before you send that email<
<p>If you are trying to:</p>
<ul>
<li><strong>Report a bug in an IOCCC winning entry</strong> - See our
FAQ on “<a href="faq.html#report_bug">report entry bug</a>”</li>
FAQ on “<a href="faq.html#report_bug">reporting an entry bug</a>”</li>
<li><strong>Report an IOCCC website problem</strong> - See our
FAQ on “<a href="faq.html#report_web_problem">report website problem</a>”</li>
FAQ on “<a href="faq.html#report_web_problem">reporting a website problem</a>”</li>
<li><strong>Report a broken or wrong web link</strong> - See our
FAQ on “<a href="faq.html#fix_link">report broken link</a>”</li>
FAQ on “<a href="faq.html#fix_link">reporting a broken link</a>”</li>
</ul>
<p>In general, unless you have a fix, if you want to report something, you should instead first look at the <a href="https://github.com/ioccc-src/winner/issues">IOCCC
issues</a> to see if the
Expand Down
6 changes: 3 additions & 3 deletions contact.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ FAQ on "[submitting a pull request](faq.html#pull_request)".
If you are trying to:

* **Report a bug in an IOCCC winning entry** - See our
FAQ on "[report entry bug](faq.html#report_bug)"
FAQ on "[reporting an entry bug](faq.html#report_bug)"
* **Report an IOCCC website problem** - See our
FAQ on "[report website problem](faq.html#report_web_problem)"
FAQ on "[reporting a website problem](faq.html#report_web_problem)"
* **Report a broken or wrong web link** - See our
FAQ on "[report broken link](faq.html#fix_link)"
FAQ on "[reporting a broken link](faq.html#fix_link)"

In general, unless you have a fix, if you want to report something, you should instead first look at the [IOCCC
issues](https://github.com/ioccc-src/winner/issues) to see if the
Expand Down
74 changes: 57 additions & 17 deletions faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ <h2>Frequently Asked Questions</h2>

<!-- BEFORE: 1st line of markdown file: faq.md -->
<h1 id="ioccc-faq-table-of-contents">IOCCC FAQ Table of Contents</h1>
<p>This is FAQ version <strong>28.2.2 2025-01-30</strong>.</p>
<p>This is FAQ version <strong>28.2.4 2025-02-03</strong>.</p>
<h2 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">0. <a href="#enter_questions">Entering the IOCCC: the bare minimum you need to know</a></h2>
<ul>
<li><strong>Q 0.0</strong>: <a class="normal" href="#enter">How can I enter the IOCCC?</a></li>
Expand All @@ -440,6 +440,7 @@ <h2 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">0. <a href="#enter
<li><strong>Q 0.3</strong>: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a></li>
<li><strong>Q 0.4</strong>: <a class="normal" href="#remarks">What should I put in the remarks.md file of my submission?</a></li>
<li><strong>Q 0.5</strong>: <a class="normal" href="#try_scripts">What should I do with the <code>try.sh</code> and <code>try.alt.sh</code> scripts?</a></li>
<li><strong>Q 0.6</strong>: <a class="normal" href="#file_perms">What permissions may my files be and what if I need different permissions?</a></li>
</ul>
<h2 id="entering-the-ioccc-more-help-and-details">1. <a href="#submitting_help">Entering the IOCCC: more help and details</a></h2>
<ul>
Expand Down Expand Up @@ -628,10 +629,12 @@ <h4 id="q-0.1.1-what-is-mkiocccentry-in-simple-terms">Q 0.1.1: What is <code>mki
to a maximum, including the mandatory files, defined in
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h">limit_ioccc.h</a>
as <code>MAX_FILE_COUNT</code>) and other information about your submission,
information about the author (or authors), and then it runs a lot of tests before (if
all is OK) forming your tarball. After this is done it will additionally run the
<code>txzchk(1)</code> tool (which runs the <code>fnamchk(1)</code> tool) on the submission tarball.
The tool <code>chkentry(1)</code> will also be run, before creating the tarball. See the
information about the author (or authors), and then it runs a lot of tests.</p>
<p>If everything is OK, it will write the required <code>.auth.json</code> and <code>.info.json</code>
files, checking each with <code>chkentry(1)</code> and then, if all is OK, it will create
the tarball. After the tarball is formed, it will run <code>txzchk(1)</code> on it, which
runs <code>fnamchk(1)</code>. If all is OK, your submission tarball should be good to go.</p>
<p>Please see
FAQ on “<a href="#txzchk">txzchk</a>”,
the
FAQ on “<a href="#fnamchk">fnamchk</a>”
Expand Down Expand Up @@ -694,6 +697,16 @@ <h4 id="q-0.1.4-how-do-i-use-mkiocccentry">Q 0.1.4: How do I use mkiocccentry?</
username, which is <strong>in the form of a UUID</strong>, and submission number; see the
<a href="next/rules.html">rules</a> for more details on this, and in particular <a href="next/rules.html#rule17">Rule
17</a>.</p>
<p><strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
(specifying the absolute or relative path to the tool) and you have not
installed the tools then you will have to specify the options for the tools that
are required like <code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. But even if you
have installed them but some tools are out of date (in the install path) it will
cause problems. Additionally, if you do not have the most recent version when
submitting a tarball it will be rejected for not having the right versions of
the tools. This is why you <strong>MUST</strong> make sure you have the most recent version
of all the tools and you either run it from the repo directory itself OR you
install them (<code>make install</code> as via <code>sudo</code> or as root).</p>
<p>If the <strong><em>subdirectory</em> in the <em>work directory</em></strong> (based on your submit ID and
slot number) already exists, you will have to
move it, remove it or otherwise specify a different work directory (<strong>NOT</strong> the
Expand Down Expand Up @@ -797,27 +810,36 @@ <h3 id="q-0.4-what-should-i-put-in-the-remarks.md-file-of-my-submission">Q 0.4:
</div>
</div>
</div>
<p>First, <strong>PLEASE</strong> read the <a href="markdown.html">IOCCC markdown guidelines</a>.</p>
<p><strong>PLEASE</strong> look at the template remarks.md to give you a better idea of how
it should be formed, as it has some instructions you should follow:</p>
<ul>
<li><a href="https://github.com/ioccc-src/winner/blob/master/next/remarks.example.md">view template remarks.md</a></li>
<li><a href="next/remarks.example.md">remarks.md template</a></li>
</ul>
<p><strong>PLEASE</strong> pay especial attention to the instructions, including the <a href="markdown.html">IOCCC
markdown guidelines</a>. You will observe that it links back to this
FAQ as to what you should or should not say.</p>
<p>Next, while you may put in as much or as little as you wish into your entry’s
<code>remarks.md</code> file, we do have few important suggestions:</p>
<p>We recommend that you explain how to use your entry. Explain the
<p>We recommend that you explain how to use your submission. Explain the
command line (if any command line options and arguments are used)
and any input or actions if applicable.</p>
<p>We highly recommend that you explain why you think your entry is
<p>We highly recommend that you explain why you think your submission is
well obfuscated.</p>
<p>For those submissions that win the IOCCC, we often use much of text from the
<code>remarks.md</code> file in the <em>Author’s remarks</em> section of the <code>index.html</code> file.
For this reason, a well written <code>remarks.md</code> file is considered a plus.</p>
<p>While not required, consider adding bit of humor to your <code>remarks.md</code>
as most people who are not humor impaired, as well as the IOCCC judges
appreciate the opportunity for a fun read as well as a chuckle or two.</p>
as most people who are not humor impaired, as well as the IOCCC judges (who
might or might not be humour impaired :-) ), appreciate the opportunity for a
fun read as well as a chuckle or two.</p>
<h4 id="what-helps">What helps:</h4>
<ul>
<li>explaining what your entry does</li>
<li>how to entice it to do what it is supposed to do</li>
<li>what obfuscations are used</li>
<li>what are the limitations of your entry in respect of portability and/or input data</li>
<li>how it works (if you are really condescending)</li>
<li>explaining what your entry does.</li>
<li>how to entice it to do what it is supposed to do.</li>
<li>what obfuscations are used.</li>
<li>what are the limitations of your entry in respect of portability and/or input data.</li>
<li>how it works (if you are really condescending).</li>
</ul>
<h4 id="what-does-not-help">What does not help:</h4>
<ul>
Expand All @@ -829,11 +851,13 @@ <h4 id="what-does-not-help">What does not help:</h4>
in the C code for that matter) - we like to be unbiased during the judging
rounds; we look at the author name only if an entry wins. See the
<a href="next/guidelines.html">guidelines</a> <strong>AND</strong> <a href="next/rules.html">rules</a> if this is not clear!</li>
<li>leaving the remark section empty.</li>
<li>leaving the remark section empty (which would also indicate that you did not
use <code>mkiocccentry(1)</code>, as it requires it to not be of size 0, though if you only
include whitespace you would still be violating <a href="next/rules.html#rule17">Rule 17</a>).</li>
</ul>
<p>Jump to: <a href="#">top</a></p>
<div id="try_scripts">
<h3 id="q-0.5-what-should-i-do-with-the-try.sh-and-try.alt.sh-scripts">Q 0.5 What should I do with the <code>try.sh</code> and <code>try.alt.sh</code> scripts?</h3>
<h3 id="q-0.5-what-should-i-do-with-the-try.sh-and-try.alt.sh-scripts">Q 0.5: What should I do with the <code>try.sh</code> and <code>try.alt.sh</code> scripts?</h3>
</div>
<p>If your submission has more than one use, or if you have interesting ways to
invoke your program, perhaps using other commonly installed tools (or tools
Expand All @@ -858,6 +882,22 @@ <h3 id="q-0.5-what-should-i-do-with-the-try.sh-and-try.alt.sh-scripts">Q 0.5 Wha
example Makefile that you modify for your submission. See the
FAQ on “<a href="#makefile">submission Makefiles</a>.</p>
<p>Jump to: <a href="#">top</a></p>
<div id="file_perms">
<h3 id="q-0.6-what-permissions-may-my-files-be-and-what-if-i-need-different-permissions">Q 0.6: What permissions may my files be and what if I need different permissions?</h3>
</div>
<p>As <a href="#rule17">Rule 17</a> states, files in your submission tarball <strong>MUST</strong> be
specific permissions. In particular: directories <strong>MUST</strong> be <code>drwxr-xr-x</code> (i.e.
<code>0755</code>), the optional files, <code>try.sh</code> or <code>try.alt.sh</code>, if provided, <strong>MUST</strong> be
<code>-r-xr-xr-x</code> (i.e. <code>0555</code>) and all other files <strong>MUST</strong> be <code>-r--r--r--</code> (i.e.
<code>0444</code>).</p>
<p>If you need a file to be executable, say a script, then make sure you do so in
the appropriate place in your Makefile. See the
FAQ on “<a href="#makefile">submission Makefile</a>”
for more details.</p>
<p>Do remember that if your submission requires different filenames, then you
<strong>MUST</strong> make a <strong>COPY</strong> of them in your <code>Makefile</code>. See also <a href="next/rules.html#rule11">Rule
11</a>.</p>
Jump to: <a href="#">top</a>
<hr style="width:50%;text-align:left;margin-left:0">
<hr style="width:50%;text-align:left;margin-left:0">
<div id="submitting_help">
Expand Down
85 changes: 68 additions & 17 deletions faq.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# IOCCC FAQ Table of Contents

This is FAQ version **28.2.2 2025-01-30**.
This is FAQ version **28.2.4 2025-02-03**.


## 0. [Entering the IOCCC: the bare minimum you need to know](#enter_questions)
Expand All @@ -14,6 +14,7 @@ This is FAQ version **28.2.2 2025-01-30**.
- **Q 0.3**: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a>
- **Q 0.4**: <a class="normal" href="#remarks">What should I put in the remarks.md file of my submission?</a>
- **Q 0.5**: <a class="normal" href="#try_scripts">What should I do with the `try.sh` and `try.alt.sh` scripts?</a>
- **Q 0.6**: <a class="normal" href="#file_perms">What permissions may my files be and what if I need different permissions?</a>


## 1. [Entering the IOCCC: more help and details](#submitting_help)
Expand Down Expand Up @@ -217,10 +218,14 @@ code, your Makefile, your remarks, any other data files you wish to provide (up
to a maximum, including the mandatory files, defined in
[limit_ioccc.h](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h)
as `MAX_FILE_COUNT`) and other information about your submission,
information about the author (or authors), and then it runs a lot of tests before (if
all is OK) forming your tarball. After this is done it will additionally run the
`txzchk(1)` tool (which runs the `fnamchk(1)` tool) on the submission tarball.
The tool `chkentry(1)` will also be run, before creating the tarball. See the
information about the author (or authors), and then it runs a lot of tests.

If everything is OK, it will write the required `.auth.json` and `.info.json`
files, checking each with `chkentry(1)` and then, if all is OK, it will create
the tarball. After the tarball is formed, it will run `txzchk(1)` on it, which
runs `fnamchk(1)`. If all is OK, your submission tarball should be good to go.

Please see
FAQ on "[txzchk](#txzchk)",
the
FAQ on "[fnamchk](#fnamchk)"
Expand Down Expand Up @@ -314,6 +319,17 @@ username, which is **in the form of a UUID**, and submission number; see the
[rules](next/rules.html) for more details on this, and in particular [Rule
17](next/rules.html#rule17).

**IMPORTANT NOTE**: if you run the program outside the repo directory
(specifying the absolute or relative path to the tool) and you have not
installed the tools then you will have to specify the options for the tools that
are required like `chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. But even if you
have installed them but some tools are out of date (in the install path) it will
cause problems. Additionally, if you do not have the most recent version when
submitting a tarball it will be rejected for not having the right versions of
the tools. This is why you **MUST** make sure you have the most recent version
of all the tools and you either run it from the repo directory itself OR you
install them (`make install` as via `sudo` or as root).

If the **_subdirectory_ in the _work directory_** (based on your submit ID and
slot number) already exists, you will have to
move it, remove it or otherwise specify a different work directory (**NOT** the
Expand Down Expand Up @@ -431,34 +447,43 @@ Jump to: [top](#)
</div>
</div>

First, **PLEASE** read the [IOCCC markdown guidelines](markdown.html).
**PLEASE** look at the template remarks.md to give you a better idea of how
it should be formed, as it has some instructions you should follow:

- [view template remarks.md](%%REPO_URL%%/next/remarks.example.md)
- [remarks.md template](next/remarks.example.md)

**PLEASE** pay especial attention to the instructions, including the [IOCCC
markdown guidelines](markdown.html). You will observe that it links back to this
FAQ as to what you should or should not say.

Next, while you may put in as much or as little as you wish into your entry's
`remarks.md` file, we do have few important suggestions:

We recommend that you explain how to use your entry. Explain the
We recommend that you explain how to use your submission. Explain the
command line (if any command line options and arguments are used)
and any input or actions if applicable.

We highly recommend that you explain why you think your entry is
We highly recommend that you explain why you think your submission is
well obfuscated.

For those submissions that win the IOCCC, we often use much of text from the
`remarks.md` file in the _Author's remarks_ section of the `index.html` file.
For this reason, a well written `remarks.md` file is considered a plus.

While not required, consider adding bit of humor to your `remarks.md`
as most people who are not humor impaired, as well as the IOCCC judges
appreciate the opportunity for a fun read as well as a chuckle or two.
as most people who are not humor impaired, as well as the IOCCC judges (who
might or might not be humour impaired :-) ), appreciate the opportunity for a
fun read as well as a chuckle or two.


#### What helps:

- explaining what your entry does
- how to entice it to do what it is supposed to do
- what obfuscations are used
- what are the limitations of your entry in respect of portability and/or input data
- how it works (if you are really condescending)
- explaining what your entry does.
- how to entice it to do what it is supposed to do.
- what obfuscations are used.
- what are the limitations of your entry in respect of portability and/or input data.
- how it works (if you are really condescending).


#### What does not help:
Expand All @@ -471,13 +496,15 @@ it, not very obfuscated entries have a minuscule chance to win (although
in the C code for that matter) - we like to be unbiased during the judging
rounds; we look at the author name only if an entry wins. See the
[guidelines](next/guidelines.html) **AND** [rules](next/rules.html) if this is not clear!
- leaving the remark section empty.
- leaving the remark section empty (which would also indicate that you did not
use `mkiocccentry(1)`, as it requires it to not be of size 0, though if you only
include whitespace you would still be violating [Rule 17](next/rules.html#rule17)).

Jump to: [top](#)


<div id="try_scripts">
### Q 0.5 What should I do with the `try.sh` and `try.alt.sh` scripts?
### Q 0.5: What should I do with the `try.sh` and `try.alt.sh` scripts?
</div>

If your submission has more than one use, or if you have interesting ways to
Expand Down Expand Up @@ -510,6 +537,30 @@ FAQ on "[submission Makefiles](#makefile).

Jump to: [top](#)



<div id="file_perms">
### Q 0.6: What permissions may my files be and what if I need different permissions?
</div>

As [Rule 17](#rule17) states, files in your submission tarball **MUST** be
specific permissions. In particular: directories **MUST** be `drwxr-xr-x` (i.e.
`0755`), the optional files, `try.sh` or `try.alt.sh`, if provided, **MUST** be
`-r-xr-xr-x` (i.e. `0555`) and all other files **MUST** be `-r--r--r--` (i.e.
`0444`).

If you need a file to be executable, say a script, then make sure you do so in
the appropriate place in your Makefile. See the
FAQ on "[submission Makefile](#makefile)"
for more details.

Do remember that if your submission requires different filenames, then you
**MUST** make a **COPY** of them in your `Makefile`. See also [Rule
11](next/rules.html#rule11).



Jump to: [top](#)
<hr style="width:50%;text-align:left;margin-left:0">
<hr style="width:50%;text-align:left;margin-left:0">

Expand Down
Loading