Thank you Barry Kerchival, My C programming teacher for sharing obfuscated code, and showing us utter abuse of the C pre-processor. "This does not do what you think it does."
The entry rules are great. Highly specific in that way you know exactly how they were abused in the past.
Rule 2
Rule 2 requires that your submission satisfy BOTH Rule 2a AND Rule 2b.
You may check your code with respect to Rule 2a and Rule 2b prior to
submitting your code by giving the filename as a command like
argument to the iocccsize(1) tool. For example:
iocccsize prog.c
The source to iocccsize(1) may be found in the mkiocccentry repo.
See also the FAQ on “how to further test your submission” for more more thorough testing, including Rule 2.
See also Rule 2a, Rule 2b, and Rule 17.
Rule 2a
The size of your program source should NOT exceed 4993 bytes.
Rule 2b
When the filename of your program source is given as a
command line argument to the latest version of the official
IOCCC size tool (hereby referred to as iocccsize(1)),
the value printed should NOT exceed 2503.
See also Rule 17.
It would appear that someone forget to add something before putting the page up... part way down the page is 'XXX-add-show-URL-here-XXX' referring to a youtube livestream vod for the announcement of the winners
Edit: Before posting this, I looked to see if there was a repository I could contribute to to fix it, but I can't find one
Ah yes, brings to mind a new engineer we hired in the early 90's with with an excellent academic record from a fine school introducing himself to the team by emailing everyone an obfuscated one-liner C program that did something cute. Several members of the team responded to him with lists of ways in which his program violated our recently create style guide. We were a fun group.
my plan to rick-roll every major coding competition continues apace. muahahaha
I actually had another entry that I felt had much more clever coding that did some nice sixel animations but from what I understand there were many entries also doing that this year
Unfortunate that the redesign broke all links to the old entries (which, since they've been around for decades are on quite a few sites - wikipedia for example) without redirects, and now requires using a javascript capable browser to view the entries on github (github having removed non-JS access last year).
Indeed. Even when you see the hidden unicode it's still not obvious what's going on.
The "salmon" string is mostly unicode TAG characters[1] which contains the printed string followed by 2 En Quad[2], which not so obviously has the effect that `putchar` returns 0 when given as it's argument. Then the defines aren't what they seem, and the body of main is never executed because it's surrounded by a while loop where the condition is 0 (due to putchar() with en quad).
30 comments
[ 161 ms ] story [ 1474 ms ] threadSo everybody just LLM'd this, right?
Reading last years entries, this image decompression oneliner outputs its own logo when passed the hash of its source code?! Pretty neat.
"Recalcitrant code."
From : https://github.com/ioccc-src/winner/blob/master/2024/kurdyuk...
This code draws the current moon phase to the console. So if you’re a lycanthrope, you can monitor the phase of the moon.
#include <time.h> #include <stdio.h>
Edit: Before posting this, I looked to see if there was a repository I could contribute to to fix it, but I can't find one
https://github.com/ioccc-src/winner/blob/master/2005/persano...
I actually had another entry that I felt had much more clever coding that did some nice sixel animations but from what I understand there were many entries also doing that this year
The "salmon" string is mostly unicode TAG characters[1] which contains the printed string followed by 2 En Quad[2], which not so obviously has the effect that `putchar` returns 0 when given as it's argument. Then the defines aren't what they seem, and the body of main is never executed because it's surrounded by a while loop where the condition is 0 (due to putchar() with en quad).
[1]:https://unicodeplus.com/block/E0000
[2]:https://unicodeplus.com/U+2000
What is K&C
Is this a typo
> This is an emulator capable of running a full modern Linux system with a minimal set of features.