'International Obfuscated C Code Contest' Will Relaunch, Celebrating 40th Anniversary (fosstodon.org)
- Reference: 0175784731
- News link: https://developers.slashdot.org/story/24/12/29/1730224/international-obfuscated-c-code-contest-will-relaunch-celebrating-40th-anniversary
- Source link: https://fosstodon.org/@ioccc/113735481893798661
The contest enters its " [3]pending" state today at 2024-12-29 23:58 UTC — meaning an opening date for submissions has been officially scheduled (for January 31st) as well as a closing date roughly eight weeks later on April 1st, 2025. That's according to the newly-released (proposed and tentative) [4]rules and [5]guidelines , listing contest goals like "show the importance of programming style, in an ironic way" and "stress C compilers with unusual code." And [6]the contest's home page adds an additional goal: "to have fun with C!"
Excerpts from the official rules:
> Rule 0
> Just as C starts at 0, so the IOCCC starts at rule 0. :-)
>
> Rule 1
> Your submission must be a complete program....
>
> Rule 5
> Your submission MUST not modify the content or filename of any part of your original submission including, but not limited to prog.c, the Makefile (that we create from your how to build instructions), as well as any data files you submit....
>
> Rule 6
> I am not a rule, I am a free(void *human);
> while (!(ioccc(rule(you(are(number(6)))))) {
> ha_ha_ha();
> }
>
Rule 6 is clearly a reference to The Prisoner ... (Some other rules [7]are even sillier ...) And [8]the guidelines include their own jokes:
> You are in a maze of twisty guidelines, all different.
>
> There are at least zero [9]judges who think that [10]Fideism has little or nothing to do with the IOCCC judging process....
>
> We suggest that you avoid trying for the ' smallest self-replicating ' source. The smallest, a zero byte entry, won in [11]1994 .
And this weekend there was also a second announcement:
> After a 4 year effort by a [12]number of people , with over 6168+ commits, the Great Fork Merge has been completed and the [13]Official IOCCC web site has been updated! A significant number of improvements has been made to the [14]IOCCC winning entries . A number of fixes and improvements involve the ability of reasonable modern Unix/Linux systems to be able to [15]compile and even run them.
Thanks to long-time Slashdot reader — and C programmer — [16]achowe for sharing the news.
[1] http://www.ioccc.org/faq.html#ioccc_start
[2] https://fosstodon.org/@ioccc
[3] http://www.ioccc.org/status.html#pending
[4] http://www.ioccc.org/next/rules.html
[5] http://www.ioccc.org/next/guidelines.html
[6] https://www.ioccc.org/
[7] http://www.ioccc.org/next/rules.html#rule23
[8] http://www.ioccc.org/next/guidelines.html
[9] http://www.ioccc.org/judges.html
[10] https://en.wikipedia.org/wiki/Fideism
[11] http://www.ioccc.org/1994/smr/index.html
[12] http://www.ioccc.org/thanks-for-help.html
[13] http://www.ioccc.org/index.html
[14] http://www.ioccc.org/years.html
[15] http://www.ioccc.org/faq.html#compiling
[16] https://www.slashdot.org/~achowe
Winning the IOCCC (Score:5, Interesting)
almost a quater century ago is one of the greatest pride of my life, and it served me well throughout my professional career: job interviewers who knew what the IOCCC was knew I was proficient in C. Those who didn't know what the IOCCC was, I didn't really want to work for.
Obfuscated hiatus (Score:5, Funny)
Actually the contest was held, but nobody could find it for four years
Re: (Score:1)
was the contest held in its zeroeth year or first?
Ironic Pedantry? Rules 0 and 6 can be optimized... (Score:2)
Ironically for a content that prides itself on minimizing wasted space there are two rules that waste space. ;-)
[1]Rule 0 [ioccc.org] can be optimized out since it doesn't actually DO anything useful aside from just waste space as a placeholder.
Likewise while I'm a huge fan of [2]The Prison [amazon.com] [3]Rule 6 [ioccc.org] seems useless as well.
[1] https://www.ioccc.org/next/rules.html#rule0
[2] https://www.amazon.com/The-Prisoner/dp/B07F24RGLC
[3] https://www.ioccc.org/next/rules.html#rule6
Re: Ironic Pedantry? Rules 0 and 6 can be optimize (Score:3)
I have had C programs that did not compile if you changed the comments. Do not assume 0 and 6 are extraneous. They are probably critical infrastructure given their longevity.
Re: (Score:2)
For code, yes, definitely some fun shenanigans. i.e. Microsoft's MFC IIRC.
> Do not assume 0 and 6 are extraneous. They are probably critical infrastructure given their longevity.
That's incorrect. I was able to find ALL the old rules at the [1]ioccc-src/winner [github.com] repository.
* Rule 0 is NEW as it wasn't present in the previous [2]2020 rules [github.com]
* Rule 6 was added first in [3]1985 [github.com] with the following description ...
> 6) The program must be of original work.
... however the current rule 6 slowly evolved from the [4]2012 [github.com] rules. (I
[1] https://github.com/ioccc-src/winner
[2] https://github.com/ioccc-src/winner/blob/master/2020/rules.txt
[3] https://github.com/ioccc-src/winner/blob/master/1985/rules.txt
[4] https://github.com/ioccc-src/winner/blob/master/2012/rules.txt
Re: Ironic Pedantry? Rules 0 and 6 can be optimiz (Score:2)
Oh dear. It is worse than I thought: it is part of some table that has to be updated for every release using magical knowledge known only to the Trusted Few who would love to explain but the explanation takes longer than their remaining life expectancy!!!
Re: Ironic Pedantry? Rules 0 and 6 can be optimi (Score:2)
The addition of rule zero is probably a workaround for the dreaded Y2K+20 bug. :-)
Obfuscated, eh? (Score:2)
So, I can submit a common object orientated on templates built C++ program?
I can imagine more obfuscated C than that.
Re: (Score:2)
That should be "can't imagine".
All part of the obfuscated post contest.
Re: (Score:2)
That wouldn't be C any longer, would it?
The pause during the 2021-2023 period... (Score:2)
"The pause during the 2021-2023 period was due to the IOCCC judges developing tools to make it much more likely for the IOCCC to be held on a yearly basis later on."
In case you also wondered.
Re: The pause during the 2021-2023 period... (Score:2)
It was a y2k holdover bug.
Re: (Score:2)
> "The pause during the 2021-2023 period was due to the IOCCC judges developing tools to make it much more likely for the IOCCC to be held on a yearly basis later on." In case you also wondered.
Ya, but are these tools are easy to read and well documented?
(I'm hoping for something ironic and/or paradoxical ...)
Re: (Score:2)
> "The pause during the 2021-2023 period was due to the IOCCC judges developing tools to make it much more likely for the IOCCC to be held on a yearly basis later on."
Until a bug is found or they need to change something and then they need to dig through all that obfuscated C code to fix or update their tooling, that is. So it might pause again for a few years when that happens.