From eda967ff604c99bcec57808ae687eaf01b54c724 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:57:03 -0800 Subject: [PATCH] Clarification and additions in guidelines Reworded some things. Brought up how the IOCCC has moved away from spoilers. As part of the section on the Makefile I have additionally added to the Makefile.example a 'try.alt' rule in the case of someone having alternate code. It is not required, of course. --- next/Makefile.example | 41 +++++++++++++++++++++------------- next/guidelines.html | 50 ++++++++++++++++++++++++++--------------- next/guidelines.md | 52 ++++++++++++++++++++++++++++--------------- 3 files changed, 92 insertions(+), 51 deletions(-) diff --git a/next/Makefile.example b/next/Makefile.example index dd099ed34..4e5438327 100644 --- a/next/Makefile.example +++ b/next/Makefile.example @@ -167,21 +167,6 @@ all: data ${TARGET} ${PROG}: ${PROG}.c ${CC} ${CFLAGS} ${PROG}.c -o $@ ${LDFLAGS} -# alternative executable -# -alt: data ${ALT_TARGET} - -${PROG}.alt: ${PROG}.alt.c - ${CC} ${CFLAGS} ${PROG}.alt.c -o $@ ${LDFLAGS} - -# data files -# -data: ${DATA} - -# both all and alt -# -everything: all alt - # suggested way(s) to run the program # try: ${PROG} ${DATA} @@ -192,6 +177,32 @@ try: ${PROG} ${DATA} ./${PROG} some arguments +# alternative executable +# +alt: data ${ALT_TARGET} + +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} ${PROG}.alt.c -o $@ ${LDFLAGS} + +# suggested way(s) to run alt code, if you include one +# +try.alt: ${PROG}.alt ${DATA} + @# remove these comments + @# notice how we do not assume that . is a component of the $PATH environment variable + @# you may use the try.alt.sh script if you have one + @# change this next line as needed + ./${PROG}.alt some arguments + + +# data files +# +data: ${DATA} + +# both all and alt +# +everything: all alt + + ############### # utility rules ############### diff --git a/next/guidelines.html b/next/guidelines.html index b8361024d..1993a487b 100644 --- a/next/guidelines.html +++ b/next/guidelines.html @@ -461,7 +461,7 @@ writing by contacting the judges.

-These IOCCC guidelines are version 28.31 2025-01-18. +These IOCCC guidelines are version 28.32 2025-01-22.

The markdown form of these guidelines @@ -529,7 +529,7 @@ considered provisional BETA versions and may be adjuste before the contest status becomes open.

-You must register in order to submit your entry to the IOCCC. +You MUST register in order to submit your entry to the IOCCC. You may register while the contest is either pending or open.

@@ -559,7 +559,7 @@ If you do not change your Initial password in time, you will ha Because it takes time (maybe even a few days) for an IOCCC judge to process your registration and email you your initial login and password, you should MAKE SURE you give yourself enough time before the contest closes. -In other words, DO NOT WAIT UNTIL THE FINAL DAYS of the contest to register! +In other words, DO NOT WAIT TO REGISTER UNTIL THE FINAL DAYS! The IOCCC judges are NOT responsible for delayed or lost email, or for those who wait until the last minute to try to register!

@@ -587,7 +587,7 @@ for more information about the mkiocccentry(1) tool.

While the contest is open, you may modify your previously uploaded submission by rebuilding your submission with the mkiocccentry(1) tool -and then re-uploading it to the same slot no the submit server. +and then re-uploading it to the same slot number on the submit server.

To help you with this, so that you do not have to repeatedly answer all the @@ -614,11 +614,11 @@ bytes.

The new default way to compile submissions: -std=gnu17 -O3 -g3 -Wall -Wextra -pedantic. -You are encouraged to use the example Makefile here, rather than the -mkiocccentry repo. For details and help, see below in the Makefile section. +You are encouraged to use the example Makefile here. For more details and help, +see below in the Makefile section.

-Submissions are in the form of a single xz compressed tarball. +Submissions are uploaded as a single xz compressed tarball.

To assist in the formation of the xz compressed tarball for submission, use the @@ -1350,6 +1350,14 @@ to test your submission. And if your submissions wins, it makes it easier to int the Official IOCCC winner website.

+We LIKE submissions that have some educational value. This does NOT mean +that your submission should not be obfuscated but the IOCCC has moved away from +the idea of spoilers. In other words, unless your submission does some kind of +encryption (or something with encryption), you should not encrypt your remarks, +say with rot13 or anything else, and it is also appreciated if your remarks have +some education value, though these are not required. +

+

We LIKE submissions that use an edited version of the try.sh example script (and if you have alternate code, the same applies with the try.alt.sh script): @@ -1779,18 +1787,24 @@ unless you are Cody Boone Ferguson run the risk of violating Rule 7.

-Neither the chkentry tool source -nor the JSON parser and library -nor jstrencode -nor jstrdecode +Neither the chkentry tool +source nor +the JSON parser and +library +nor +jstrencode +nor +jstrdecode nor any of the other jparse tools -are original works (see the jparse repo for -the original), unless you are Cody -Boone Ferguson or Landon Curt -Noll, in which case they are original! -:-) Submitting source that uses the code of these tools or library, unless you -are Cody Boone Ferguson or Landon Curt +(see the jparse repo), nor the fnamchk tool +source +are original works, +unless you are Cody Boone Ferguson or +Landon Curt Noll, in which case they +are original! :-) Submitting source that uses the code of these tools or +library, unless you are Cody Boone +Ferguson or Landon Curt Noll, might run the risk of violating Rule 7.

@@ -1822,7 +1836,7 @@ obfuscated, but unless you have some really clever way to compact and obfuscate a JSON parser more than flex and bison you will likely not win, either because of the source code size limit or because it is not -as obfuscated as the lexer/parser part of +as obfuscated as the lexer/parser of jparse.

While programs that only run in a specific word size are OK, if you have diff --git a/next/guidelines.md b/next/guidelines.md index c2ab9b8f1..950424a23 100644 --- a/next/guidelines.md +++ b/next/guidelines.md @@ -49,7 +49,7 @@ Jump to: [top](#)

-These [IOCCC guidelines](guidelines.html) are version **28.31 2025-01-18**. +These [IOCCC guidelines](guidelines.html) are version **28.32 2025-01-22**.

@@ -137,7 +137,7 @@ before the contest status becomes **[open](../status.html#open)**.

-You must [register](register.html) in order to submit your entry to the IOCCC. +You **MUST** [register](register.html) in order to submit your entry to the IOCCC. You may [register](register.html) while the contest is either **[pending](../status.html#pending)** or **[open](../status.html#open)**.

@@ -172,7 +172,7 @@ If you do not change your **Initial password** in time, you will have to [re-reg Because it takes time (maybe even a few days) for an [IOCCC judge](../judges.html) to process your registration and email you your initial login and password, you should **MAKE SURE** you give yourself enough time before the contest closes. -In other words, **DO NOT WAIT UNTIL THE FINAL DAYS** of the contest to register! +In other words, **DO NOT WAIT TO REGISTER UNTIL THE FINAL DAYS**! The [IOCCC judges](../judges.html) are **NOT** responsible for delayed or lost email, or for those who wait until the last minute to try to register!

@@ -205,7 +205,7 @@ for more information about the `mkiocccentry(1)` tool.

While the contest is **[open](../status.html#open)**, you may modify your previously uploaded submission by rebuilding your submission with the `mkiocccentry(1)` tool -and then re-uploading it to the same slot no the [submit server](https://submit.ioccc.org). +and then re-uploading it to the same slot number on the [submit server](https://submit.ioccc.org).

@@ -238,12 +238,12 @@ bytes.

The new default way to compile submissions: `-std=gnu17 -O3 -g3 -Wall -Wextra -pedantic`. -You **are encouraged** to use the example Makefile here, rather than the -`mkiocccentry` repo. For details and help, see below in the [Makefile section](#makefile). +You **are encouraged** to use the example Makefile here. For more details and help, +see below in the [Makefile section](#makefile).

-Submissions are in the form of a single xz compressed tarball. +Submissions are uploaded as a single xz compressed tarball.

@@ -1177,6 +1177,16 @@ to test your submission. And if your submissions wins, it makes it easier to int the [Official IOCCC winner website](https://www.ioccc.org/index.html).

+

+We **LIKE** submissions that have some educational value. This does **NOT** mean +that your submission should not be obfuscated but the IOCCC has moved away from +the idea of spoilers. In other words, unless your submission does some kind of +encryption (or something with encryption), you should not encrypt your remarks, +say with rot13 or anything else, and it is also appreciated if your remarks have +some education value, though these are not required. +

+ +

We **LIKE** submissions that use an edited version of the `try.sh` example script (and if you have alternate code, @@ -1682,18 +1692,24 @@ unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson), might run the risk of violating [Rule 7](rules.html#rule7).

-Neither the [chkentry tool source](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c) -nor the [JSON parser and library](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md) -nor [jstrencode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c) -nor [jstrdecode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c) +Neither the [chkentry tool +source](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c) nor +the [JSON parser and +library](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md) +nor +[jstrencode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c) +nor +[jstrdecode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c) nor any of the other [jparse tools](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse) -are original works (see the [jparse repo](https://github.com/xexyl/jparse/) for -the original), unless you are [Cody -Boone Ferguson](../authors.html#Cody_Boone_Ferguson) or [Landon Curt -Noll](http://www.isthe.com/chongo/index.html), in which case they are original! -:-) Submitting source that uses the code of these tools or library, unless you -are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) or [Landon Curt +(see the [jparse repo](https://github.com/xexyl/jparse/)), nor the [fnamchk tool +source](https://github.com/ioccc-src/mkiocccentry/blob/master/test_ioccc/fnamchk.c) +are original works, +unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) or +[Landon Curt Noll](http://www.isthe.com/chongo/index.html), in which case they +are original! :-) Submitting source that uses the code of these tools or +library, unless you are [Cody Boone +Ferguson](../authors.html#Cody_Boone_Ferguson) or [Landon Curt Noll](http://www.isthe.com/chongo/index.html), might run the risk of violating [Rule 7](rules.html#rule7).

@@ -1727,7 +1743,7 @@ obfuscated, but unless you have some really clever way to compact and obfuscate a JSON parser more than [flex](https://github.com/westes/flex) and [bison](https://www.gnu.org/software/bison/) you will likely not win, either because of the [source code size limit](rules.html#rule2) or because it is not -as obfuscated as the lexer/parser part of +as obfuscated as the lexer/parser of [jparse](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse).