2 files changed
+225
-181
No files matched your search
@@ -1125,7 +1125,9 @@ of the same theme.</p>
|
|||||||
previous IOCCC entries make it more challenging to be successful.</p>
|
previous IOCCC entries make it more challenging to be successful.</p>
|
||||||
<p>It is also important to note that the <a href="next/guidelines.html">guidelines</a> often
|
<p>It is also important to note that the <a href="next/guidelines.html">guidelines</a> often
|
||||||
state something along the lines of:</p>
|
state something along the lines of:</p>
|
||||||
<pre><code> We tend to dislike programs that: are similar to previous winning entries.</code></pre>
|
<blockquote>
|
||||||
|
<p>We tend to dislike programs that: are similar to previous winning entries.</p>
|
||||||
|
</blockquote>
|
||||||
<p><strong>FAIR WARNING</strong>: Be sure to <strong>clearly explain</strong> near the beginning
|
<p><strong>FAIR WARNING</strong>: Be sure to <strong>clearly explain</strong> near the beginning
|
||||||
of your <code>remarks.md</code> file, see the
|
of your <code>remarks.md</code> file, see the
|
||||||
FAQ on “<a href="#remarks_md">remarks.md</a>”,
|
FAQ on “<a href="#remarks_md">remarks.md</a>”,
|
||||||
@@ -2151,8 +2153,8 @@ FAQ on “<a href="#validating_json">validating JSON documents</a>”.</p>
|
|||||||
</div>
|
</div>
|
||||||
<p>An <code>author_handle</code> is string that refers to a given author and is unique to the
|
<p>An <code>author_handle</code> is string that refers to a given author and is unique to the
|
||||||
IOCCC. Each author has exactly one <code>author_handle</code>.</p>
|
IOCCC. Each author has exactly one <code>author_handle</code>.</p>
|
||||||
<p>For each <code>author_handle</code>, there will be a JSON file of the form:</p>
|
<p>For each <code>author_handle</code>, there will be a JSON file of the form:
|
||||||
<pre><code> author/author_handle.json</code></pre>
|
<code>author/author_handle.json</code>.</p>
|
||||||
<p>See the
|
<p>See the
|
||||||
FAQ on “<a href="#fix_author">fixing author information</a>”
|
FAQ on “<a href="#fix_author">fixing author information</a>”
|
||||||
for information about how to update
|
for information about how to update
|
||||||
@@ -2183,10 +2185,8 @@ desire.</p>
|
|||||||
<p>An <code>author</code> who has won a previous IOCCC is encouraged to reuse their
|
<p>An <code>author</code> who has won a previous IOCCC is encouraged to reuse their
|
||||||
<code>author_handle</code> so that new winning entries can be associated with the same
|
<code>author_handle</code> so that new winning entries can be associated with the same
|
||||||
author.</p>
|
author.</p>
|
||||||
<p>For an anonymous <code>author</code>, their handle is one of these forms:</p>
|
<p>For an anonymous <code>author</code>, their handle is one of the form of <code>Anonymous_year</code>
|
||||||
<pre><code> Anonymous_year</code></pre>
|
or <code>Anonymous_year.digits</code>.</p>
|
||||||
<p>or:</p>
|
|
||||||
<pre><code> Anonymous_year.digits</code></pre>
|
|
||||||
<p>The latter form is in case there are more than one anonymous author in a given
|
<p>The latter form is in case there are more than one anonymous author in a given
|
||||||
year.</p>
|
year.</p>
|
||||||
<p><strong>NOTE</strong>: even if the directory name is not <code>anonymous</code> the above rules apply as in
|
<p><strong>NOTE</strong>: even if the directory name is not <code>anonymous</code> the above rules apply as in
|
||||||
@@ -2217,8 +2217,7 @@ IOCCC winning entry.</p>
|
|||||||
contact an authors of an IOCCC entry, they will consult the contents
|
contact an authors of an IOCCC entry, they will consult the contents
|
||||||
of the author’s JSON file for ways to contact them.</p>
|
of the author’s JSON file for ways to contact them.</p>
|
||||||
<p>Each author of an IOCCC winning entry has their own <code>author_handle.json</code> file
|
<p>Each author of an IOCCC winning entry has their own <code>author_handle.json</code> file
|
||||||
of the form:</p>
|
of the form <code>author/author_handle.json</code>.</p>
|
||||||
<pre><code> author/author_handle.json</code></pre>
|
|
||||||
<p>where <em>author_handle</em> is an author handle. See
|
<p>where <em>author_handle</em> is an author handle. See
|
||||||
FAQ on “<a href="#author_handle_faq">author handle</a>”
|
FAQ on “<a href="#author_handle_faq">author handle</a>”
|
||||||
for more information about an author handles.</p>
|
for more information about an author handles.</p>
|
||||||
@@ -2227,9 +2226,9 @@ for more information about an author handles.</p>
|
|||||||
See <a href="https://www.json.org/json-en.html" class="uri">https://www.json.org/json-en.html</a> for information on the <em>So-called JSON
|
See <a href="https://www.json.org/json-en.html" class="uri">https://www.json.org/json-en.html</a> for information on the <em>So-called JSON
|
||||||
spec</em>.</p>
|
spec</em>.</p>
|
||||||
<p>A good way to understand the JSON file contents of a <code>author_handle.json</code> file
|
<p>A good way to understand the JSON file contents of a <code>author_handle.json</code> file
|
||||||
is to look at an example, the <code>author_handle.json</code> file for Yusuke Endoh:</p>
|
is to look at an example, for instance the <code>author_handle.json</code> file for Yusuke
|
||||||
<pre><code> author/Yusuke_Endoh.json</code></pre>
|
Endoh, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/author/Yusuke_Endoh.json">author/Yusuke_Endoh.json</a>.</p>
|
||||||
<p>As of <em>Thu Nov 30 23:51:12 UTC 2023</em>, the contents was as follows:</p>
|
<p>As of <em>Thu Nov 30 23:51:12 UTC 2023</em>, it was:</p>
|
||||||
<pre><code> {
|
<pre><code> {
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
||||||
"author_JSON_format_version" : "1.0 2023-06-10",
|
"author_JSON_format_version" : "1.0 2023-06-10",
|
||||||
@@ -2269,7 +2268,7 @@ is to look at an example, the <code>author_handle.json</code> file for Yusuke En
|
|||||||
<p><strong>NOTE</strong>: if you need to just check the validity of a JSON document then see the
|
<p><strong>NOTE</strong>: if you need to just check the validity of a JSON document then see the
|
||||||
FAQ on “<a href="#validating_json">validating JSON documents</a>”. Taking that FAQ in mind,
|
FAQ on “<a href="#validating_json">validating JSON documents</a>”. Taking that FAQ in mind,
|
||||||
if you wish to validate every JSON file in <code>author/</code> then you could do so like:</p>
|
if you wish to validate every JSON file in <code>author/</code> then you could do so like:</p>
|
||||||
<pre class="<!--sh-->"><code> for auth in *.json; do jparse -q "$auth" || echo "$auth is invalid JSON" ; done</code></pre>
|
<pre class="<!--sh-->"><code> for auth in *.json; do jparse -q "$auth" || echo "$auth is invalid JSON" ; done</code></pre>
|
||||||
<p>If you see any output then it will say which file or files are invalid JSON
|
<p>If you see any output then it will say which file or files are invalid JSON
|
||||||
(this should not actually happen, however).</p>
|
(this should not actually happen, however).</p>
|
||||||
<p>See the
|
<p>See the
|
||||||
@@ -2280,14 +2279,14 @@ for now to location and/or install the <code>jparse(1)</code> command.</p>
|
|||||||
</div>
|
</div>
|
||||||
<p>We now will walk thru the above JSON document looking at various JSON members:</p>
|
<p>We now will walk thru the above JSON document looking at various JSON members:</p>
|
||||||
<h5 id="no_comment">no_comment</h5>
|
<h5 id="no_comment">no_comment</h5>
|
||||||
<pre><code> "no_comment" : "mandatory comment: because comments were removed from the original JSON spec",</code></pre>
|
<pre><code> "no_comment" : "mandatory comment: because comments were removed from the original JSON spec"</code></pre>
|
||||||
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||||
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
||||||
be present in all IOCCC related JSON files.</p>
|
be present in all IOCCC related JSON files.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be the exact <em>JSON string</em> as shown above.</p>
|
be the exact <em>JSON string</em> as shown above.</p>
|
||||||
<h5 id="author_json_format_version">author_JSON_format_version</h5>
|
<h5 id="author_json_format_version">author_JSON_format_version</h5>
|
||||||
<pre><code> "author_JSON_format_version" : "1.0 2023-06-10",</code></pre>
|
<pre><code> "author_JSON_format_version" : "1.0 2023-06-10"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the format version of the <code>author_handle.json</code> JSON file.</p>
|
<p>This <em>JSON member</em> holds the format version of the <code>author_handle.json</code> JSON file.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>author_JSON_format_version</code>
|
<p>There <strong>MUST</strong> be one and only one <code>author_JSON_format_version</code>
|
||||||
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||||
@@ -2299,7 +2298,7 @@ of the these files is modified: and then only those who maintain the
|
|||||||
<a href="https://www.ioccc.org">official IOCCC website</a> would be the one to do this
|
<a href="https://www.ioccc.org">official IOCCC website</a> would be the one to do this
|
||||||
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
||||||
<h5 id="author_handle">author_handle</h5>
|
<h5 id="author_handle">author_handle</h5>
|
||||||
<pre><code> "author_handle" : "Yusuke_Endoh",</code></pre>
|
<pre><code> "author_handle" : "Yusuke_Endoh"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the author handle of the author.</p>
|
<p>This <em>JSON member</em> holds the author handle of the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>author_handle</code> <em>JSON member</em>
|
<p>There <strong>MUST</strong> be one and only one <code>author_handle</code> <em>JSON member</em>
|
||||||
and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em> that is also a value author handle.</p>
|
and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em> that is also a value author handle.</p>
|
||||||
@@ -2315,14 +2314,14 @@ without the trailing <code>.json</code>) of the <code>author_handle.json</code>
|
|||||||
a change of <em>author_handle</em> <em>JSON value</em> would also require the
|
a change of <em>author_handle</em> <em>JSON value</em> would also require the
|
||||||
<code>author_handle.json</code> file to also be renamed.</p>
|
<code>author_handle.json</code> file to also be renamed.</p>
|
||||||
<h5 id="full_name">full_name</h5>
|
<h5 id="full_name">full_name</h5>
|
||||||
<pre><code> "full_name" : "Yusuke Endoh",</code></pre>
|
<pre><code> "full_name" : "Yusuke Endoh"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the full name of the author.</p>
|
<p>This <em>JSON member</em> holds the full name of the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>full_name</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>full_name</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em>.</p>
|
be a <em>JSON string</em>.</p>
|
||||||
<p>The full name of an author may use non-ASCII characters so long as the
|
<p>The full name of an author may use non-ASCII characters so long as the
|
||||||
full name is properly encoded as a <em>JSON string</em>.</p>
|
full name is properly encoded as a <em>JSON string</em>.</p>
|
||||||
<h5 id="sort_word">sort_word</h5>
|
<h5 id="sort_word">sort_word</h5>
|
||||||
<pre><code> "sort_word" : "endoh",</code></pre>
|
<pre><code> "sort_word" : "endoh"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the string that will be used to sort the author.</p>
|
<p>This <em>JSON member</em> holds the string that will be used to sort the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>sort_word</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>sort_word</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em>. Moreover the string <strong>MUST</strong> be a lower case ASCII
|
be a <em>JSON string</em>. Moreover the string <strong>MUST</strong> be a lower case ASCII
|
||||||
@@ -2336,7 +2335,7 @@ wishes to be found in the <code>/authors.html</code> file under a different
|
|||||||
string, such as if they wish to be listed under their first name
|
string, such as if they wish to be listed under their first name
|
||||||
or their username, then they may change this accordingly.</p>
|
or their username, then they may change this accordingly.</p>
|
||||||
<h5 id="location_code">location_code</h5>
|
<h5 id="location_code">location_code</h5>
|
||||||
<pre><code> "location_code" : "JP",</code></pre>
|
<pre><code> "location_code" : "JP"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the string that is the
|
<p>This <em>JSON member</em> holds the string that is the
|
||||||
<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table">ISO 3166-1 alpha-2 code</a>
|
<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table">ISO 3166-1 alpha-2 code</a>
|
||||||
of the author’s location or country.</p>
|
of the author’s location or country.</p>
|
||||||
@@ -2353,38 +2352,38 @@ ISO 3166-1 alpha-2 codes belong to locations that are not technically
|
|||||||
a country, such as “Antarctica” or a User-assigned code.</p>
|
a country, such as “Antarctica” or a User-assigned code.</p>
|
||||||
<p>If the author wishes to not specify a location, they should select <strong>XX</strong>.</p>
|
<p>If the author wishes to not specify a location, they should select <strong>XX</strong>.</p>
|
||||||
<h5 id="email">email</h5>
|
<h5 id="email">email</h5>
|
||||||
<pre><code> "email" : "mame@ruby-lang.org",</code></pre>
|
<pre><code> "email" : "mame@ruby-lang.org"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the email address of the author, or is the value null.</p>
|
<p>This <em>JSON member</em> holds the email address of the author, or is the value null.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>email</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>email</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||||
<p>If the author wishes to not specify an email address, or if the email address is
|
<p>If the author wishes to not specify an email address, or if the email address is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "email" : null,</code></pre>
|
<pre><code> "email" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="url">url</h5>
|
<h5 id="url">url</h5>
|
||||||
<pre><code> "url" : "https://mametter.hatenablog.com",</code></pre>
|
<pre><code> "url" : "https://mametter.hatenablog.com"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the URL of the author’s home page.</p>
|
<p>This <em>JSON member</em> holds the URL of the author’s home page.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||||
<p>If the author wishes to not specify a URL or if the URL is
|
<p>If the author wishes to not specify a URL or if the URL is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON
|
||||||
member</em>. For example:</p>
|
member</em>. For example:</p>
|
||||||
<pre><code> "url" : null,</code></pre>
|
<pre><code> "url" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="alt_url">alt_url</h5>
|
<h5 id="alt_url">alt_url</h5>
|
||||||
<pre><code> "alt_url" : null,</code></pre>
|
<pre><code> "alt_url" : null</code></pre>
|
||||||
<p>This <em>JSON member</em> holds an alternate or 2nd URL a home page for the author.</p>
|
<p>This <em>JSON member</em> holds an alternate or 2nd URL a home page for the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>alt_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>alt_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||||
<p>In some cases the author may wish to record a special URL for their IOCCC entry,
|
<p>In some cases the author may wish to record a special URL for their IOCCC entry,
|
||||||
or a 2nd URL such as a work or school or personal home page. For example,
|
or a 2nd URL such as a work or school or personal home page. For example,
|
||||||
Cody as of <em>Thu Nov 30 23:51:12 UTC 2023</em> used:</p>
|
Cody as of <em>Thu Nov 30 23:51:12 UTC 2023</em> used:</p>
|
||||||
<pre><code> "alt_url" : "https://ioccc.xexyl.net",</code></pre>
|
<pre><code> "alt_url" : "https://ioccc.xexyl.net"</code></pre>
|
||||||
<p>If the author wishes to not specify an alternate URL, or if the alternate URL is
|
<p>If the author wishes to not specify an alternate URL, or if the alternate URL is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON
|
||||||
member</em>. For example:</p>
|
member</em>. For example:</p>
|
||||||
<pre><code> "alt_url" : null,</code></pre>
|
<pre><code> "alt_url" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="deprecated_twitter_handle">deprecated_twitter_handle</h5>
|
<h5 id="deprecated_twitter_handle">deprecated_twitter_handle</h5>
|
||||||
<p>This <em>JSON member</em> used to hold the twitter handle of the author.</p>
|
<p>This <em>JSON member</em> used to hold the twitter handle of the author.</p>
|
||||||
@@ -2394,17 +2393,17 @@ be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</
|
|||||||
and so the <code>deprecated_twitter_handle</code> is <strong>no longer used</strong>. A <em>JSON value</em> that is
|
and so the <code>deprecated_twitter_handle</code> is <strong>no longer used</strong>. A <em>JSON value</em> that is
|
||||||
not a <em>JSON null</em> is kept for only historic reasons. For example, Anthony C. Howe
|
not a <em>JSON null</em> is kept for only historic reasons. For example, Anthony C. Howe
|
||||||
once used:</p>
|
once used:</p>
|
||||||
<pre><code> "deprecated_twitter_handle" : "@SirWumpus",</code></pre>
|
<pre><code> "deprecated_twitter_handle" : "@SirWumpus"</code></pre>
|
||||||
<p>If the author wishes to not specify a twitter handle, or if the twitter handle is
|
<p>If the author wishes to not specify a twitter handle, or if the twitter handle is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "deprecated_twitter_handle" : null,</code></pre>
|
<pre><code> "deprecated_twitter_handle" : null</code></pre>
|
||||||
<p>Of course in the future we will not be asking for twitter handles so this means
|
<p>Of course in the future we will not be asking for twitter handles so this means
|
||||||
that unless the winner is a previous winner (before we moved to mastodon) this
|
that unless the winner is a previous winner (before we moved to mastodon) this
|
||||||
will always be <code>null</code> anyway.</p>
|
will always be <code>null</code> anyway.</p>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="mastodon">mastodon</h5>
|
<h5 id="mastodon">mastodon</h5>
|
||||||
<pre><code> "mastodon" : "@mame@ruby.social",</code></pre>
|
<pre><code> "mastodon" : "@mame@ruby.social"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the
|
<p>This <em>JSON member</em> holds the
|
||||||
<a href="https://en.wikipedia.org/wiki/Mastodon_(social_network)">Mastodon social network</a>
|
<a href="https://en.wikipedia.org/wiki/Mastodon_(social_network)">Mastodon social network</a>
|
||||||
handle of the author.</p>
|
handle of the author.</p>
|
||||||
@@ -2424,68 +2423,113 @@ are selected. We recommend you follow us on Mastodon.</p>
|
|||||||
<p>If the author wishes to not specify an Mastodon handle, or if the Mastodon handle is
|
<p>If the author wishes to not specify an Mastodon handle, or if the Mastodon handle is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "mastodon" : null,</code></pre>
|
<pre><code> "mastodon" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="mastodon_url">mastodon_url</h5>
|
<h5 id="mastodon_url">mastodon_url</h5>
|
||||||
<pre><code> "mastodon_url" : "https://ruby.social/@mame",</code></pre>
|
<pre><code> "mastodon_url" : "https://ruby.social/@mame"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the URL of the author’s Mastodon page.</p>
|
<p>This <em>JSON member</em> holds the URL of the author’s Mastodon page.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>mastodon_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>mastodon_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <em>JSON string</em> just be a valid URL.
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <em>JSON string</em> just be a valid URL.
|
||||||
If the <code>mastodon</code> handle is a <em>JSON null</em>, them the <code>mastodon_url</code> <strong>MUST</strong> be a <em>JSON null</em>.
|
If the <code>mastodon</code> handle is a <em>JSON null</em>, them the <code>mastodon_url</code> <strong>MUST</strong> be a <em>JSON null</em>.
|
||||||
If the <code>mastodon</code> handle is a <em>JSON string</em>, then the <code>mastodon_url</code> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
If the <code>mastodon</code> handle is a <em>JSON string</em>, then the <code>mastodon_url</code> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||||
<p>The <code>mastodon_url</code> is just a translation of the above mentioned Mastodon handle.
|
<p>The <code>mastodon_url</code> is just a translation of the above mentioned Mastodon handle.
|
||||||
For example, if the Mastodon handle is:</p>
|
For example, if the Mastodon handle is <code>@user@server.domain</code>, then the
|
||||||
<pre><code> @user@server.domain</code></pre>
|
<code>mastodon_url</code> would be <code>https://server.domain/@user</code>.</p>
|
||||||
<p>Then the <code>mastodon_url</code> would be:</p>
|
|
||||||
<pre><code> https://server.domain/@user</code></pre>
|
|
||||||
<p>If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
<p>If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "mastodon_url" : null,</code></pre>
|
<pre><code> "mastodon_url" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<p>See
|
<p>See
|
||||||
FAQ on “<a href="#try_mastodon">Mastodon</a>”
|
FAQ on “<a href="#try_mastodon">Mastodon</a>”
|
||||||
for more information on Mastodon.</p>
|
for more information on Mastodon.</p>
|
||||||
<h5 id="github">github</h5>
|
<h5 id="github">github</h5>
|
||||||
<pre><code> "github" : "@mame",</code></pre>
|
<pre><code> "github" : "@mame"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the <a href="https://github.com">GitHub</a> handle of the author.</p>
|
<p>This <em>JSON member</em> holds the <a href="https://github.com">GitHub</a> handle of the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>github</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>github</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <code>github</code> <em>JSON string</em> <strong>MUST</strong>
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <code>github</code> <em>JSON string</em> <strong>MUST</strong>
|
||||||
start with an at sign (_<span class="citation" data-cites="_">@_</span>) and <strong>MUST</strong> be a valid GitHub username.</p>
|
start with an at sign (_<span class="citation" data-cites="_">@_</span>) and <strong>MUST</strong> be a valid GitHub username.</p>
|
||||||
<p>The IOCCC uses GitHub to hold the <a href="https://github.com/ioccc-src/winner">official winner repo of the IOCCC</a>,
|
<p>The IOCCC uses GitHub to hold the <a href="https://github.com/ioccc-src/winner">official winner repo of the IOCCC</a>,
|
||||||
and hosts <a href="https://www.ioccc.org">official IOCCC website</a> on GitHub pages.</p>
|
and hosts <a href="https://www.ioccc.org">official IOCCC website</a> on GitHub pages.</p>
|
||||||
<p>The IOCCC GitHub handle is:</p>
|
<p>The IOCCC GitHub handle is <a href="https://github.com/ioccc-src/"><span class="citation" data-cites="ioccc-src">@ioccc-src</span></a>.</p>
|
||||||
<pre><code> @ioccc-src</code></pre>
|
|
||||||
<p>If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
<p>If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "github" : null,</code></pre>
|
<pre><code> "github" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="affiliation">affiliation</h5>
|
<h5 id="affiliation">affiliation</h5>
|
||||||
<pre><code> "affiliation" : null,</code></pre>
|
<pre><code> "affiliation" : null</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the affiliation of the author.</p>
|
<p>This <em>JSON member</em> holds the affiliation of the author.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>affiliation</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>affiliation</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||||
<p>An affiliation might be the name of a school, university, company, or organization.
|
<p>An affiliation might be the name of a school, university, company, or organization.
|
||||||
It is recommended that the affiliation <em>JSON string</em> be the formal affiliation name.
|
It is recommended that the affiliation <em>JSON string</em> be the formal affiliation name.
|
||||||
For example, the affiliation for the IOCCC would be:</p>
|
For example, the affiliation for the IOCCC would be:</p>
|
||||||
<pre><code> The International Obfuscared C Code Contest</code></pre>
|
<pre><code> "affiliation": "The International Obfuscated C Code Contest"</code></pre>
|
||||||
<p>If the author wishes to not specify an affiliation, or if the affiliation is
|
<p>If the author wishes to not specify an affiliation, or if the affiliation is
|
||||||
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
unknown, it should be the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||||
For example:</p>
|
For example:</p>
|
||||||
<pre><code> "affiliation" : null,</code></pre>
|
<pre><code> "affiliation" : null</code></pre>
|
||||||
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
<p><strong>NOTE</strong>: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||||
<h5 id="winning_entry_set">winning_entry_set</h5>
|
<h5 id="winning_entry_set">winning_entry_set</h5>
|
||||||
<h5 id="entry_id">entry_id</h5>
|
<h5 id="entry_id">entry_id</h5>
|
||||||
<pre><code> "winning_entry_set" : [
|
<pre><code> "winning_entry_set" : [
|
||||||
{ "entry_id" : "2012_endoh1" },
|
{
|
||||||
{ "entry_id" : "2012_endoh2" },
|
"entry_id" : "2012_endoh1"
|
||||||
{ "entry_id" : "2013_endoh1" },
|
},
|
||||||
...
|
{
|
||||||
{ "entry_id" : "2020_endoh1" },
|
"entry_id" : "2012_endoh2"
|
||||||
{ "entry_id" : "2020_endoh2" },
|
},
|
||||||
{ "entry_id" : "2020_endoh3" }
|
{
|
||||||
|
"entry_id" : "2013_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2014_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2014_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2018_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2018_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2019_endoh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh3"
|
||||||
|
}
|
||||||
]</code></pre>
|
]</code></pre>
|
||||||
|
<p>(… as of Wed 23 Oct 2024 17:20:26 UTC.)</p>
|
||||||
<p>The <code>winning_entry_set</code> <em>JSON member</em> holds <em>JSON array</em> containing one or more <code>entry_id</code> _JSON member_s.</p>
|
<p>The <code>winning_entry_set</code> <em>JSON member</em> holds <em>JSON array</em> containing one or more <code>entry_id</code> _JSON member_s.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>winning_entry_set</code> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>winning_entry_set</code> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be a non-empty <em>JSON array</em>. Each value in that <em>JSON array</em> <strong>MUST</strong> must contain
|
be a non-empty <em>JSON array</em>. Each value in that <em>JSON array</em> <strong>MUST</strong> must contain
|
||||||
@@ -2541,10 +2585,9 @@ for more information on terms such as <em>author</em>, <em>entry</em>, and <em>s
|
|||||||
<p>An <code>entry_id</code> is a string that identifies a winning entry of the IOCCC.</p>
|
<p>An <code>entry_id</code> is a string that identifies a winning entry of the IOCCC.</p>
|
||||||
<p>An <code>entry_id</code> is a 4-digit year, followed by an underscore, followed by a directory name.</p>
|
<p>An <code>entry_id</code> is a 4-digit year, followed by an underscore, followed by a directory name.</p>
|
||||||
<p>For example, the <code>entry_id</code> associated with Cody Boone Ferguson’s 2nd winning IOCCC entry
|
<p>For example, the <code>entry_id</code> associated with Cody Boone Ferguson’s 2nd winning IOCCC entry
|
||||||
of 2020 is found under the following directory:</p>
|
of 2020 is found under the directory
|
||||||
<pre><code> 2020/ferguson2</code></pre>
|
<a href="2020/ferguson2/index.html">2020/ferguson2</a>.</p>
|
||||||
<p>The <code>entry_id</code> for that winning entry is:</p>
|
<p>The <code>entry_id</code> for that winning entry is <code>2020_ferguson2</code>.</p>
|
||||||
<pre><code> 2020_ferguson2</code></pre>
|
|
||||||
<p>Jump to: <a href="#">top</a></p>
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
<div id="entry_json">
|
<div id="entry_json">
|
||||||
<h3 id="q-3.10-what-is-a-.entry.json-file-and-how-is-it-used">Q 3.10: What is a <code>.entry.json</code> file and how is it used?</h3>
|
<h3 id="q-3.10-what-is-a-.entry.json-file-and-how-is-it-used">Q 3.10: What is a <code>.entry.json</code> file and how is it used?</h3>
|
||||||
@@ -2556,9 +2599,9 @@ about the entry. We describe the fields below in order to help you understand
|
|||||||
its contents.</p>
|
its contents.</p>
|
||||||
<p>This file is created by the <a href="bin/index.html#cvt-submission">cvt-submission.sh</a>
|
<p>This file is created by the <a href="bin/index.html#cvt-submission">cvt-submission.sh</a>
|
||||||
tool as part of the final steps to announce a new set of winning IOCCC entries.</p>
|
tool as part of the final steps to announce a new set of winning IOCCC entries.</p>
|
||||||
<p>Each winning entry has its own <code>.entry.json</code> filename of the form:</p>
|
<p>Each winning entry has its own <code>.entry.json</code> filename of the form:
|
||||||
<pre><code> YYYY/winner/.entry.json</code></pre>
|
<code>YYYY/winner/.entry.json</code></p>
|
||||||
<p>where <em>winner</em> is the entry directory name, usually the name of the author.</p>
|
<p>.. where <em>winner</em> is the entry directory name, usually the name of the author.</p>
|
||||||
<p><strong>IMPORTANT NOTE</strong>: this file should <strong>NOT</strong> be manually modified! It is created
|
<p><strong>IMPORTANT NOTE</strong>: this file should <strong>NOT</strong> be manually modified! It is created
|
||||||
by the <a href="bin/index.html#csv2entry">csv2entry</a> tool when updating the manifest.</p>
|
by the <a href="bin/index.html#csv2entry">csv2entry</a> tool when updating the manifest.</p>
|
||||||
<h4 id="entry.json-json-file-contents"><code>.entry.json</code> JSON file contents</h4>
|
<h4 id="entry.json-json-file-contents"><code>.entry.json</code> JSON file contents</h4>
|
||||||
@@ -2672,14 +2715,14 @@ it is shorter than some of the others.</p>
|
|||||||
<p>We now will walk through the above JSON document looking at all the JSON
|
<p>We now will walk through the above JSON document looking at all the JSON
|
||||||
members:</p>
|
members:</p>
|
||||||
<h5 id="no_comment-1"><code>no_comment</code></h5>
|
<h5 id="no_comment-1"><code>no_comment</code></h5>
|
||||||
<pre><code> "no_comment" : "mandatory comment: because comments were removed from the original JSON spec",</code></pre>
|
<pre><code> "no_comment" : "mandatory comment: because comments were removed from the original JSON spec"</code></pre>
|
||||||
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||||
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
||||||
be present in all IOCCC related JSON files.</p>
|
be present in all IOCCC related JSON files.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||||
be the exact <em>JSON string</em> as shown above.</p>
|
be the exact <em>JSON string</em> as shown above.</p>
|
||||||
<h5 id="entry_json_format_version"><code>entry_JSON_format_version</code></h5>
|
<h5 id="entry_json_format_version"><code>entry_JSON_format_version</code></h5>
|
||||||
<pre><code> "entry_JSON_format_version" : "1.2 2024-09-25",</code></pre>
|
<pre><code> "entry_JSON_format_version" : "1.2 2024-09-25"</code></pre>
|
||||||
<p>This <em>JSON member</em> holds the format version of the <code>.entry.json</code> JSON file.</p>
|
<p>This <em>JSON member</em> holds the format version of the <code>.entry.json</code> JSON file.</p>
|
||||||
<p>There <strong>MUST</strong> be one and only one <code>entry_JSON_format_version</code>
|
<p>There <strong>MUST</strong> be one and only one <code>entry_JSON_format_version</code>
|
||||||
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||||
@@ -2689,20 +2732,20 @@ of the these files is modified: and then only those who maintain the
|
|||||||
<a href="https://www.ioccc.org">official IOCCC website</a> would be the one to do this
|
<a href="https://www.ioccc.org">official IOCCC website</a> would be the one to do this
|
||||||
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
||||||
<h5 id="award"><code>award</code></h5>
|
<h5 id="award"><code>award</code></h5>
|
||||||
<pre><code> "award" : "Third Place",</code></pre>
|
<pre><code> "award" : "Third Place"</code></pre>
|
||||||
<p>This JSON string is the award title of the entry which the <a href="judges.html">Judges</a>
|
<p>This JSON string is the award title of the entry which the <a href="judges.html">Judges</a>
|
||||||
decide/decided when it becomes/became a winning entry.</p>
|
decide/decided when it becomes/became a winning entry.</p>
|
||||||
<h5 id="year"><code>year</code></h5>
|
<h5 id="year"><code>year</code></h5>
|
||||||
<pre><code> "year" : 1984,</code></pre>
|
<pre><code> "year" : 1984</code></pre>
|
||||||
<p>This JSON number is the year the contest ran, ended or was announced in.</p>
|
<p>This JSON number is the year the contest ran, ended or was announced in.</p>
|
||||||
<h5 id="dir"><code>dir</code></h5>
|
<h5 id="dir"><code>dir</code></h5>
|
||||||
<pre><code> "dir" : "laman",</code></pre>
|
<pre><code> "dir" : "laman"</code></pre>
|
||||||
<p>This JSON string is the subdirectory of the entry, <strong>under</strong> the year directory,
|
<p>This JSON string is the subdirectory of the entry, <strong>under</strong> the year directory,
|
||||||
in this case <a href="1984/index.html">1984</a>. With the above member, <code>year</code>, and this
|
in this case <a href="1984/index.html">1984</a>. With the above member, <code>year</code>, and this
|
||||||
one, one can determine the directory of the entry, here being
|
one, one can determine the directory of the entry, here being
|
||||||
<a href="1984/laman/index.html">1984/laman</a>.</p>
|
<a href="1984/laman/index.html">1984/laman</a>.</p>
|
||||||
<h5 id="entry_id-1"><code>entry_id</code></h5>
|
<h5 id="entry_id-1"><code>entry_id</code></h5>
|
||||||
<pre><code> "entry_id" : "1984_laman",</code></pre>
|
<pre><code> "entry_id" : "1984_laman"</code></pre>
|
||||||
<p>This is the ID of the entry in question and corresponds to the <code>entry_id</code> in the
|
<p>This is the ID of the entry in question and corresponds to the <code>entry_id</code> in the
|
||||||
<code>author/author_handle.json</code> file.</p>
|
<code>author/author_handle.json</code> file.</p>
|
||||||
<p>See
|
<p>See
|
||||||
@@ -2731,7 +2774,7 @@ for more information on <code>.info.json</code> files.</p>
|
|||||||
<h5 id="author_set"><code>author_set</code></h5>
|
<h5 id="author_set"><code>author_set</code></h5>
|
||||||
<pre><code> "author_set" : [
|
<pre><code> "author_set" : [
|
||||||
{ "author_handle" : "Mike_Laman" }
|
{ "author_handle" : "Mike_Laman" }
|
||||||
],</code></pre>
|
]</code></pre>
|
||||||
<p>This JSON <strong>array</strong> has a list of <code>author_handle</code>s that indicate who won this
|
<p>This JSON <strong>array</strong> has a list of <code>author_handle</code>s that indicate who won this
|
||||||
entry.</p>
|
entry.</p>
|
||||||
<p>That <em>JSON member</em> holds the author handle of the author.</p>
|
<p>That <em>JSON member</em> holds the author handle of the author.</p>
|
||||||
@@ -3483,8 +3526,8 @@ for downloading, installing and using ImageMagick.</p>
|
|||||||
FAQ on “<a href="#X11">X11</a>”
|
FAQ on “<a href="#X11">X11</a>”
|
||||||
for general information about X11.</p>
|
for general information about X11.</p>
|
||||||
<p>Once X11 is install and the X Window Server is running, one needs to compile
|
<p>Once X11 is install and the X Window Server is running, one needs to compile
|
||||||
and link with the two libraries, <em>GL</em> and <em>GLU</em>:</p>
|
and link with the two libraries, <em>GL</em> and <em>GLU</em>, which the Makefile should do if
|
||||||
<pre><code> cc ... -lGL -lGLU -L _location-where-X11-libs-are-installed_ -lX11</code></pre>
|
you just run <code>make</code>.</p>
|
||||||
<p><strong>NOTE</strong>: The OpenGL development effort is being managed by <a href="https://vulkan.org">vulkan.org</a>.
|
<p><strong>NOTE</strong>: The OpenGL development effort is being managed by <a href="https://vulkan.org">vulkan.org</a>.
|
||||||
We suggest you check out their resource for further information on OpenGL.</p>
|
We suggest you check out their resource for further information on OpenGL.</p>
|
||||||
<h4 id="red-hat-based-linux-7">Red Hat based Linux</h4>
|
<h4 id="red-hat-based-linux-7">Red Hat based Linux</h4>
|
||||||
@@ -4540,11 +4583,11 @@ cake recipe</a>.</p>
|
|||||||
<p>You may correct or update IOCCC author information by submitting a
|
<p>You may correct or update IOCCC author information by submitting a
|
||||||
GitHub pull request that modifies an author’s <code>author_handle.json</code> file.</p>
|
GitHub pull request that modifies an author’s <code>author_handle.json</code> file.</p>
|
||||||
<p>For example, if a given <code>author_handle.json</code> file contained:</p>
|
<p>For example, if a given <code>author_handle.json</code> file contained:</p>
|
||||||
<pre><code> "url" : "https://www.example.com/employee/username",</code></pre>
|
<pre><code> "url" : "https://www.example.com/employee/username"</code></pre>
|
||||||
<p>and you knew that the author has long ago left the <code>www.example.com</code> company,
|
<p>and you knew that the author has long ago left the <code>www.example.com</code> company,
|
||||||
and that they have a new faculty web page at <code>www.example.edu</code>, then you should
|
and that they have a new faculty web page at <code>www.example.edu</code>, then you should
|
||||||
submit a GitHub pull request to change the above line to:</p>
|
submit a GitHub pull request to change the above line to:</p>
|
||||||
<pre><code> "url" : "https://www.example.edu/faculty/deartment/user.name",</code></pre>
|
<pre><code> "url" : "https://www.example.edu/faculty/deartment/user.name"</code></pre>
|
||||||
<p>Authors of IOCCC winning entries are kept in JSON files of the form:</p>
|
<p>Authors of IOCCC winning entries are kept in JSON files of the form:</p>
|
||||||
<pre><code> author/author_handle.json</code></pre>
|
<pre><code> author/author_handle.json</code></pre>
|
||||||
<p>where <code>author_handle</code> is an author handle.</p>
|
<p>where <code>author_handle</code> is an author handle.</p>
|
||||||
@@ -4606,11 +4649,11 @@ about authors of IOCCC entries. See
|
|||||||
FAQ on “<a href="#author_json">author_handle.json</a>”
|
FAQ on “<a href="#author_json">author_handle.json</a>”
|
||||||
for information about the contents of these JSON files and how they are used.</p>
|
for information about the contents of these JSON files and how they are used.</p>
|
||||||
<p>For example, if a given <code>author_handle.json</code> file contained:</p>
|
<p>For example, if a given <code>author_handle.json</code> file contained:</p>
|
||||||
<pre><code> "location_code" : "ZZ",</code></pre>
|
<pre><code> "location_code" : "ZZ"</code></pre>
|
||||||
<p>and you knew that the author was located in <a href="location.html#AU">Australia</a>
|
<p>and you knew that the author was located in <a href="location.html#AU">Australia</a>
|
||||||
(location code <strong>AU</strong>), we encourage you to submit a <strong>GitHub pull
|
(location code <strong>AU</strong>), we encourage you to submit a <strong>GitHub pull
|
||||||
request</strong> to change that line to:</p>
|
request</strong> to change that line to:</p>
|
||||||
<pre><code> "location_code" : "AU",</code></pre>
|
<pre><code> "location_code" : "AU"</code></pre>
|
||||||
<p>See the
|
<p>See the
|
||||||
FAQ on “<a href="#fix_author">fixing author information</a>”
|
FAQ on “<a href="#fix_author">fixing author information</a>”
|
||||||
for information about how to change author location codes.</p>
|
for information about how to change author location codes.</p>
|
||||||
|
|||||||
@@ -939,9 +939,7 @@ previous IOCCC entries make it more challenging to be successful.
|
|||||||
It is also important to note that the [guidelines](next/guidelines.html) often
|
It is also important to note that the [guidelines](next/guidelines.html) often
|
||||||
state something along the lines of:
|
state something along the lines of:
|
||||||
|
|
||||||
```
|
> We tend to dislike programs that: are similar to previous winning entries.
|
||||||
We tend to dislike programs that: are similar to previous winning entries.
|
|
||||||
```
|
|
||||||
|
|
||||||
**FAIR WARNING**: Be sure to **clearly explain** near the beginning
|
**FAIR WARNING**: Be sure to **clearly explain** near the beginning
|
||||||
of your `remarks.md` file, see the
|
of your `remarks.md` file, see the
|
||||||
@@ -2062,10 +2060,7 @@ An `author_handle` is string that refers to a given author and is unique to the
|
|||||||
IOCCC. Each author has exactly one `author_handle`.
|
IOCCC. Each author has exactly one `author_handle`.
|
||||||
|
|
||||||
For each `author_handle`, there will be a JSON file of the form:
|
For each `author_handle`, there will be a JSON file of the form:
|
||||||
|
`author/author_handle.json`.
|
||||||
```
|
|
||||||
author/author_handle.json
|
|
||||||
```
|
|
||||||
|
|
||||||
See the
|
See the
|
||||||
FAQ on "[fixing author information](#fix_author)"
|
FAQ on "[fixing author information](#fix_author)"
|
||||||
@@ -2107,18 +2102,8 @@ An `author` who has won a previous IOCCC is encouraged to reuse their
|
|||||||
`author_handle` so that new winning entries can be associated with the same
|
`author_handle` so that new winning entries can be associated with the same
|
||||||
author.
|
author.
|
||||||
|
|
||||||
For an anonymous `author`, their handle is one of these forms:
|
For an anonymous `author`, their handle is one of the form of `Anonymous_year`
|
||||||
|
or `Anonymous_year.digits`.
|
||||||
```
|
|
||||||
Anonymous_year
|
|
||||||
```
|
|
||||||
|
|
||||||
or:
|
|
||||||
|
|
||||||
```
|
|
||||||
Anonymous_year.digits
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
The latter form is in case there are more than one anonymous author in a given
|
The latter form is in case there are more than one anonymous author in a given
|
||||||
year.
|
year.
|
||||||
@@ -2164,11 +2149,7 @@ contact an authors of an IOCCC entry, they will consult the contents
|
|||||||
of the author's JSON file for ways to contact them.
|
of the author's JSON file for ways to contact them.
|
||||||
|
|
||||||
Each author of an IOCCC winning entry has their own `author_handle.json` file
|
Each author of an IOCCC winning entry has their own `author_handle.json` file
|
||||||
of the form:
|
of the form `author/author_handle.json`.
|
||||||
|
|
||||||
```
|
|
||||||
author/author_handle.json
|
|
||||||
```
|
|
||||||
|
|
||||||
where _author_handle_ is an author handle. See
|
where _author_handle_ is an author handle. See
|
||||||
FAQ on "[author handle](#author_handle_faq)"
|
FAQ on "[author handle](#author_handle_faq)"
|
||||||
@@ -2181,13 +2162,10 @@ See <https://www.json.org/json-en.html> for information on the _So-called JSON
|
|||||||
spec_.
|
spec_.
|
||||||
|
|
||||||
A good way to understand the JSON file contents of a `author_handle.json` file
|
A good way to understand the JSON file contents of a `author_handle.json` file
|
||||||
is to look at an example, the `author_handle.json` file for Yusuke Endoh:
|
is to look at an example, for instance the `author_handle.json` file for Yusuke
|
||||||
|
Endoh, [author/Yusuke_Endoh.json](%%REPO_URL%%/author/Yusuke_Endoh.json).
|
||||||
|
|
||||||
```
|
As of _Thu Nov 30 23:51:12 UTC 2023_, it was:
|
||||||
author/Yusuke_Endoh.json
|
|
||||||
```
|
|
||||||
|
|
||||||
As of _Thu Nov 30 23:51:12 UTC 2023_, the contents was as follows:
|
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
{
|
{
|
||||||
@@ -2233,7 +2211,7 @@ FAQ on "[validating JSON documents](#validating_json)". Taking that FAQ in mind,
|
|||||||
if you wish to validate every JSON file in `author/` then you could do so like:
|
if you wish to validate every JSON file in `author/` then you could do so like:
|
||||||
|
|
||||||
``` <!--sh-->
|
``` <!--sh-->
|
||||||
for auth in *.json; do jparse -q "$auth" || echo "$auth is invalid JSON" ; done
|
for auth in *.json; do jparse -q "$auth" || echo "$auth is invalid JSON" ; done
|
||||||
```
|
```
|
||||||
|
|
||||||
If you see any output then it will say which file or files are invalid JSON
|
If you see any output then it will say which file or files are invalid JSON
|
||||||
@@ -2254,7 +2232,7 @@ We now will walk thru the above JSON document looking at various JSON members:
|
|||||||
##### no_comment
|
##### no_comment
|
||||||
|
|
||||||
``` <!--- json-->
|
``` <!--- json-->
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec"
|
||||||
```
|
```
|
||||||
|
|
||||||
Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||||
@@ -2268,7 +2246,7 @@ be the exact _JSON string_ as shown above.
|
|||||||
##### author_JSON_format_version
|
##### author_JSON_format_version
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"author_JSON_format_version" : "1.0 2023-06-10",
|
"author_JSON_format_version" : "1.0 2023-06-10"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the format version of the `author_handle.json` JSON file.
|
This _JSON member_ holds the format version of the `author_handle.json` JSON file.
|
||||||
@@ -2289,7 +2267,7 @@ in conjunction with changes to [bin directory tools](bin/index.html).
|
|||||||
##### author_handle
|
##### author_handle
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"author_handle" : "Yusuke_Endoh",
|
"author_handle" : "Yusuke_Endoh"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the author handle of the author.
|
This _JSON member_ holds the author handle of the author.
|
||||||
@@ -2314,7 +2292,7 @@ a change of _author_handle_ _JSON value_ would also require the
|
|||||||
##### full_name
|
##### full_name
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"full_name" : "Yusuke Endoh",
|
"full_name" : "Yusuke Endoh"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the full name of the author.
|
This _JSON member_ holds the full name of the author.
|
||||||
@@ -2329,7 +2307,7 @@ full name is properly encoded as a _JSON string_.
|
|||||||
##### sort_word
|
##### sort_word
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"sort_word" : "endoh",
|
"sort_word" : "endoh"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the string that will be used to sort the author.
|
This _JSON member_ holds the string that will be used to sort the author.
|
||||||
@@ -2352,7 +2330,7 @@ or their username, then they may change this accordingly.
|
|||||||
##### location_code
|
##### location_code
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"location_code" : "JP",
|
"location_code" : "JP"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the string that is the
|
This _JSON member_ holds the string that is the
|
||||||
@@ -2379,7 +2357,7 @@ If the author wishes to not specify a location, they should select **XX**.
|
|||||||
##### email
|
##### email
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"email" : "mame@ruby-lang.org",
|
"email" : "mame@ruby-lang.org"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the email address of the author, or is the value null.
|
This _JSON member_ holds the email address of the author, or is the value null.
|
||||||
@@ -2392,7 +2370,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
|||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"email" : null,
|
"email" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2401,7 +2379,7 @@ For example:
|
|||||||
##### url
|
##### url
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"url" : "https://mametter.hatenablog.com",
|
"url" : "https://mametter.hatenablog.com"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the URL of the author's home page.
|
This _JSON member_ holds the URL of the author's home page.
|
||||||
@@ -2414,7 +2392,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON
|
|||||||
member_. For example:
|
member_. For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"url" : null,
|
"url" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2423,7 +2401,7 @@ member_. For example:
|
|||||||
##### alt_url
|
##### alt_url
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"alt_url" : null,
|
"alt_url" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds an alternate or 2nd URL a home page for the author.
|
This _JSON member_ holds an alternate or 2nd URL a home page for the author.
|
||||||
@@ -2436,7 +2414,7 @@ or a 2nd URL such as a work or school or personal home page. For example,
|
|||||||
Cody as of _Thu Nov 30 23:51:12 UTC 2023_ used:
|
Cody as of _Thu Nov 30 23:51:12 UTC 2023_ used:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"alt_url" : "https://ioccc.xexyl.net",
|
"alt_url" : "https://ioccc.xexyl.net"
|
||||||
```
|
```
|
||||||
|
|
||||||
If the author wishes to not specify an alternate URL, or if the alternate URL is
|
If the author wishes to not specify an alternate URL, or if the alternate URL is
|
||||||
@@ -2444,7 +2422,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON
|
|||||||
member_. For example:
|
member_. For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"alt_url" : null,
|
"alt_url" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2463,7 +2441,7 @@ not a _JSON null_ is kept for only historic reasons. For example, Anthony C. Ho
|
|||||||
once used:
|
once used:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"deprecated_twitter_handle" : "@SirWumpus",
|
"deprecated_twitter_handle" : "@SirWumpus"
|
||||||
```
|
```
|
||||||
|
|
||||||
If the author wishes to not specify a twitter handle, or if the twitter handle is
|
If the author wishes to not specify a twitter handle, or if the twitter handle is
|
||||||
@@ -2471,7 +2449,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
|||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"deprecated_twitter_handle" : null,
|
"deprecated_twitter_handle" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
Of course in the future we will not be asking for twitter handles so this means
|
Of course in the future we will not be asking for twitter handles so this means
|
||||||
@@ -2484,7 +2462,7 @@ will always be `null` anyway.
|
|||||||
##### mastodon
|
##### mastodon
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"mastodon" : "@mame@ruby.social",
|
"mastodon" : "@mame@ruby.social"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the
|
This _JSON member_ holds the
|
||||||
@@ -2516,7 +2494,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
|||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"mastodon" : null,
|
"mastodon" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2525,7 +2503,7 @@ For example:
|
|||||||
##### mastodon_url
|
##### mastodon_url
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"mastodon_url" : "https://ruby.social/@mame",
|
"mastodon_url" : "https://ruby.social/@mame"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the URL of the author's Mastodon page.
|
This _JSON member_ holds the URL of the author's Mastodon page.
|
||||||
@@ -2536,24 +2514,15 @@ If the `mastodon` handle is a _JSON null_, them the `mastodon_url` **MUST** be a
|
|||||||
If the `mastodon` handle is a _JSON string_, then the `mastodon_url` **MUST** be a _JSON string_.
|
If the `mastodon` handle is a _JSON string_, then the `mastodon_url` **MUST** be a _JSON string_.
|
||||||
|
|
||||||
The `mastodon_url` is just a translation of the above mentioned Mastodon handle.
|
The `mastodon_url` is just a translation of the above mentioned Mastodon handle.
|
||||||
For example, if the Mastodon handle is:
|
For example, if the Mastodon handle is `@user@server.domain`, then the
|
||||||
|
`mastodon_url` would be `https://server.domain/@user`.
|
||||||
```
|
|
||||||
@user@server.domain
|
|
||||||
```
|
|
||||||
|
|
||||||
Then the `mastodon_url` would be:
|
|
||||||
|
|
||||||
```
|
|
||||||
https://server.domain/@user
|
|
||||||
```
|
|
||||||
|
|
||||||
If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
||||||
unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"mastodon_url" : null,
|
"mastodon_url" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2566,7 +2535,7 @@ for more information on Mastodon.
|
|||||||
##### github
|
##### github
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"github" : "@mame",
|
"github" : "@mame"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the [GitHub](https://github.com) handle of the author.
|
This _JSON member_ holds the [GitHub](https://github.com) handle of the author.
|
||||||
@@ -2578,18 +2547,14 @@ start with an at sign (_@_) and **MUST** be a valid GitHub username.
|
|||||||
The IOCCC uses GitHub to hold the [official winner repo of the IOCCC](https://github.com/ioccc-src/winner),
|
The IOCCC uses GitHub to hold the [official winner repo of the IOCCC](https://github.com/ioccc-src/winner),
|
||||||
and hosts [official IOCCC website](https://www.ioccc.org) on GitHub pages.
|
and hosts [official IOCCC website](https://www.ioccc.org) on GitHub pages.
|
||||||
|
|
||||||
The IOCCC GitHub handle is:
|
The IOCCC GitHub handle is [@ioccc-src](https://github.com/ioccc-src/).
|
||||||
|
|
||||||
```
|
|
||||||
@ioccc-src
|
|
||||||
```
|
|
||||||
|
|
||||||
If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
||||||
unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"github" : null,
|
"github" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2598,7 +2563,7 @@ For example:
|
|||||||
##### affiliation
|
##### affiliation
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"affiliation" : null,
|
"affiliation" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the affiliation of the author.
|
This _JSON member_ holds the affiliation of the author.
|
||||||
@@ -2610,8 +2575,8 @@ An affiliation might be the name of a school, university, company, or organizati
|
|||||||
It is recommended that the affiliation _JSON string_ be the formal affiliation name.
|
It is recommended that the affiliation _JSON string_ be the formal affiliation name.
|
||||||
For example, the affiliation for the IOCCC would be:
|
For example, the affiliation for the IOCCC would be:
|
||||||
|
|
||||||
```
|
``` <!---json-->
|
||||||
The International Obfuscared C Code Contest
|
"affiliation": "The International Obfuscated C Code Contest"
|
||||||
```
|
```
|
||||||
|
|
||||||
If the author wishes to not specify an affiliation, or if the affiliation is
|
If the author wishes to not specify an affiliation, or if the affiliation is
|
||||||
@@ -2619,7 +2584,7 @@ unknown, it should be the _JSON null_ as the _JSON value_ of this _JSON member_.
|
|||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"affiliation" : null,
|
"affiliation" : null
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
**NOTE**: The _JSON null_ is **NOT** enclosed in quotes!
|
||||||
@@ -2630,16 +2595,65 @@ For example:
|
|||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"winning_entry_set" : [
|
"winning_entry_set" : [
|
||||||
{ "entry_id" : "2012_endoh1" },
|
{
|
||||||
{ "entry_id" : "2012_endoh2" },
|
"entry_id" : "2012_endoh1"
|
||||||
{ "entry_id" : "2013_endoh1" },
|
},
|
||||||
...
|
{
|
||||||
{ "entry_id" : "2020_endoh1" },
|
"entry_id" : "2012_endoh2"
|
||||||
{ "entry_id" : "2020_endoh2" },
|
},
|
||||||
{ "entry_id" : "2020_endoh3" }
|
{
|
||||||
|
"entry_id" : "2013_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2013_endoh4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2014_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2014_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2015_endoh4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2018_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2018_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2019_endoh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id" : "2020_endoh3"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
(... as of Wed 23 Oct 2024 17:20:26 UTC.)
|
||||||
|
|
||||||
The `winning_entry_set` _JSON member_ holds _JSON array_ containing one or more `entry_id` _JSON member_s.
|
The `winning_entry_set` _JSON member_ holds _JSON array_ containing one or more `entry_id` _JSON member_s.
|
||||||
|
|
||||||
There **MUST** be one and only one `winning_entry_set` and the _JSON value_ **MUST**
|
There **MUST** be one and only one `winning_entry_set` and the _JSON value_ **MUST**
|
||||||
@@ -2717,17 +2731,10 @@ An `entry_id` is a string that identifies a winning entry of the IOCCC.
|
|||||||
An `entry_id` is a 4-digit year, followed by an underscore, followed by a directory name.
|
An `entry_id` is a 4-digit year, followed by an underscore, followed by a directory name.
|
||||||
|
|
||||||
For example, the `entry_id` associated with Cody Boone Ferguson's 2nd winning IOCCC entry
|
For example, the `entry_id` associated with Cody Boone Ferguson's 2nd winning IOCCC entry
|
||||||
of 2020 is found under the following directory:
|
of 2020 is found under the directory
|
||||||
|
[2020/ferguson2](2020/ferguson2/index.html).
|
||||||
|
|
||||||
```
|
The `entry_id` for that winning entry is `2020_ferguson2`.
|
||||||
2020/ferguson2
|
|
||||||
```
|
|
||||||
|
|
||||||
The `entry_id` for that winning entry is:
|
|
||||||
|
|
||||||
```
|
|
||||||
2020_ferguson2
|
|
||||||
```
|
|
||||||
|
|
||||||
Jump to: [top](#)
|
Jump to: [top](#)
|
||||||
|
|
||||||
@@ -2747,12 +2754,9 @@ This file is created by the [cvt-submission.sh](bin/index.html#cvt-submission)
|
|||||||
tool as part of the final steps to announce a new set of winning IOCCC entries.
|
tool as part of the final steps to announce a new set of winning IOCCC entries.
|
||||||
|
|
||||||
Each winning entry has its own `.entry.json` filename of the form:
|
Each winning entry has its own `.entry.json` filename of the form:
|
||||||
|
`YYYY/winner/.entry.json`
|
||||||
|
|
||||||
```
|
.. where _winner_ is the entry directory name, usually the name of the author.
|
||||||
YYYY/winner/.entry.json
|
|
||||||
```
|
|
||||||
|
|
||||||
where _winner_ is the entry directory name, usually the name of the author.
|
|
||||||
|
|
||||||
**IMPORTANT NOTE**: this file should **NOT** be manually modified! It is created
|
**IMPORTANT NOTE**: this file should **NOT** be manually modified! It is created
|
||||||
by the [csv2entry](bin/index.html#csv2entry) tool when updating the manifest.
|
by the [csv2entry](bin/index.html#csv2entry) tool when updating the manifest.
|
||||||
@@ -2879,7 +2883,7 @@ members:
|
|||||||
##### `no_comment`
|
##### `no_comment`
|
||||||
|
|
||||||
``` <!--- json-->
|
``` <!--- json-->
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec"
|
||||||
```
|
```
|
||||||
|
|
||||||
Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||||
@@ -2892,7 +2896,7 @@ be the exact _JSON string_ as shown above.
|
|||||||
##### `entry_JSON_format_version`
|
##### `entry_JSON_format_version`
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"entry_JSON_format_version" : "1.2 2024-09-25",
|
"entry_JSON_format_version" : "1.2 2024-09-25"
|
||||||
```
|
```
|
||||||
|
|
||||||
This _JSON member_ holds the format version of the `.entry.json` JSON file.
|
This _JSON member_ holds the format version of the `.entry.json` JSON file.
|
||||||
@@ -2910,7 +2914,7 @@ in conjunction with changes to [bin directory tools](bin/index.html).
|
|||||||
##### `award`
|
##### `award`
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"award" : "Third Place",
|
"award" : "Third Place"
|
||||||
```
|
```
|
||||||
|
|
||||||
This JSON string is the award title of the entry which the [Judges](judges.html)
|
This JSON string is the award title of the entry which the [Judges](judges.html)
|
||||||
@@ -2919,7 +2923,7 @@ decide/decided when it becomes/became a winning entry.
|
|||||||
##### `year`
|
##### `year`
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"year" : 1984,
|
"year" : 1984
|
||||||
```
|
```
|
||||||
|
|
||||||
This JSON number is the year the contest ran, ended or was announced in.
|
This JSON number is the year the contest ran, ended or was announced in.
|
||||||
@@ -2927,7 +2931,7 @@ This JSON number is the year the contest ran, ended or was announced in.
|
|||||||
##### `dir`
|
##### `dir`
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"dir" : "laman",
|
"dir" : "laman"
|
||||||
```
|
```
|
||||||
|
|
||||||
This JSON string is the subdirectory of the entry, **under** the year directory,
|
This JSON string is the subdirectory of the entry, **under** the year directory,
|
||||||
@@ -2938,7 +2942,7 @@ one, one can determine the directory of the entry, here being
|
|||||||
##### `entry_id`
|
##### `entry_id`
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"entry_id" : "1984_laman",
|
"entry_id" : "1984_laman"
|
||||||
```
|
```
|
||||||
|
|
||||||
This is the ID of the entry in question and corresponds to the `entry_id` in the
|
This is the ID of the entry in question and corresponds to the `entry_id` in the
|
||||||
@@ -2986,7 +2990,7 @@ for more information on `.info.json` files.
|
|||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"author_set" : [
|
"author_set" : [
|
||||||
{ "author_handle" : "Mike_Laman" }
|
{ "author_handle" : "Mike_Laman" }
|
||||||
],
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
This JSON **array** has a list of `author_handle`s that indicate who won this
|
This JSON **array** has a list of `author_handle`s that indicate who won this
|
||||||
@@ -3326,7 +3330,7 @@ versions. Every Makefile has an `alt` rule but it will only do something if an
|
|||||||
alternate version exists. To build all the entries along with any alternate code
|
alternate version exists. To build all the entries along with any alternate code
|
||||||
you can do from the top level directory:
|
you can do from the top level directory:
|
||||||
|
|
||||||
```
|
``` <!---sh-->
|
||||||
make clobber everything
|
make clobber everything
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -4175,11 +4179,8 @@ FAQ on "[X11](#X11)"
|
|||||||
for general information about X11.
|
for general information about X11.
|
||||||
|
|
||||||
Once X11 is install and the X Window Server is running, one needs to compile
|
Once X11 is install and the X Window Server is running, one needs to compile
|
||||||
and link with the two libraries, _GL_ and _GLU_:
|
and link with the two libraries, _GL_ and _GLU_, which the Makefile should do if
|
||||||
|
you just run `make`.
|
||||||
``` <!---sh-->
|
|
||||||
cc ... -lGL -lGLU -L _location-where-X11-libs-are-installed_ -lX11
|
|
||||||
```
|
|
||||||
|
|
||||||
**NOTE**: The OpenGL development effort is being managed by [vulkan.org](https://vulkan.org).
|
**NOTE**: The OpenGL development effort is being managed by [vulkan.org](https://vulkan.org).
|
||||||
We suggest you check out their resource for further information on OpenGL.
|
We suggest you check out their resource for further information on OpenGL.
|
||||||
@@ -5702,7 +5703,7 @@ GitHub pull request that modifies an author's `author_handle.json` file.
|
|||||||
For example, if a given `author_handle.json` file contained:
|
For example, if a given `author_handle.json` file contained:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"url" : "https://www.example.com/employee/username",
|
"url" : "https://www.example.com/employee/username"
|
||||||
```
|
```
|
||||||
|
|
||||||
and you knew that the author has long ago left the `www.example.com` company,
|
and you knew that the author has long ago left the `www.example.com` company,
|
||||||
@@ -5710,7 +5711,7 @@ and that they have a new faculty web page at `www.example.edu`, then you should
|
|||||||
submit a GitHub pull request to change the above line to:
|
submit a GitHub pull request to change the above line to:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"url" : "https://www.example.edu/faculty/deartment/user.name",
|
"url" : "https://www.example.edu/faculty/deartment/user.name"
|
||||||
```
|
```
|
||||||
|
|
||||||
Authors of IOCCC winning entries are kept in JSON files of the form:
|
Authors of IOCCC winning entries are kept in JSON files of the form:
|
||||||
@@ -5801,7 +5802,7 @@ for information about the contents of these JSON files and how they are used.
|
|||||||
For example, if a given `author_handle.json` file contained:
|
For example, if a given `author_handle.json` file contained:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"location_code" : "ZZ",
|
"location_code" : "ZZ"
|
||||||
```
|
```
|
||||||
|
|
||||||
and you knew that the author was located in [Australia](location.html#AU)
|
and you knew that the author was located in [Australia](location.html#AU)
|
||||||
@@ -5809,7 +5810,7 @@ and you knew that the author was located in [Australia](location.html#AU)
|
|||||||
request** to change that line to:
|
request** to change that line to:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"location_code" : "AU",
|
"location_code" : "AU"
|
||||||
```
|
```
|
||||||
|
|
||||||
See the
|
See the
|
||||||
|
|||||||
Reference in new issue
Block a user