News: 0175784731

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

'International Obfuscated C Code Contest' Will Relaunch, Celebrating 40th Anniversary (fosstodon.org)

(Sunday December 29, 2024 @04:59PM (EditorDavid) from the make-files dept.)


After a four-year hiatus, 2025 will see the return of the International Obfuscated C Code Contest. Started [1]in 1984 (and inspired partly by a bug in the classic Bourne shell), it's "the Internet's oldest contest," acording to their [2]official social media account on Mastodon .

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



The pause during the 2021-2023 period... (Score:2)

by greytree ( 7124971 )

"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)

by commodore73 ( 967172 )

It was a y2k holdover bug.

Re: (Score:2)

by fahrbot-bot ( 874524 )

> "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)

by tlhIngan ( 30335 )

> "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.

Winning the IOCCC (Score:5, Interesting)

by Rosco P. Coltrane ( 209368 )

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)

by flyingfsck ( 986395 )

Actually the contest was held, but nobody could find it for four years

Re: (Score:1)

by iggymanz ( 596061 )

was the contest held in its zeroeth year or first?

Ironic Pedantry? Rules 0 and 6 can be optimized... (Score:2)

by UnknownSoldier ( 67820 )

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)

by Aristos Mazer ( 181252 )

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)

by UnknownSoldier ( 67820 )

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)

by Aristos Mazer ( 181252 )

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)

by Aristos Mazer ( 181252 )

The addition of rule zero is probably a workaround for the dreaded Y2K+20 bug. :-)

Obfuscated, eh? (Score:2)

by JamesTRexx ( 675890 )

So, I can submit a common object orientated on templates built C++ program?

I can imagine more obfuscated C than that.

Re: (Score:2)

by JamesTRexx ( 675890 )

That should be "can't imagine".

All part of the obfuscated post contest.

Re: (Score:2)

by menkhaura ( 103150 )

That wouldn't be C any longer, would it?

Humorix Holiday Gift Idea #3

iTux Penguin Computer
Price: $999.95 for base model
Producer: Orange Computer, Co.; 1-800-GET-ITUX

Based on the Slashdot comments, response to the Apple iMac from the Linux
community was lukewarm at best. Orange Computer, Co., has picked up where
Apple left behind and produced the iTux computer specifically for Linux users
who want to "Think a lot different".

The self-contained iTux computer system is built in the shape of Tux the
Penguin. Its 15 inch monitor (17 inch available next year) is located at
Tux's large belly. The penguin's two feet make up the split ergonomic
keyboard (without those annoying Windows keys, of course). A 36X CD-ROM
drive fits into Tux's mouth. Tux's left eye is actually the reboot button
(can be reconfigured for other purposes since it is rarely used) and his
right eye is the power button. The iTux case opens up from the back,
allowing easy access for screwdriver-wielding nerds into Tux's guts.

The US$995.95 model contains an Alpha CPU and all the usual stuff found in a
Linux-class machine. More expensive models, to be debuted next year, will
feature dual or quad Alpha CPUs and a larger size.