Завершился 29-й IOCCC — Международный конкурс обфусцированного кода на C. Судьи выложили все победившие работы 2025 года на сайте. Каждый entry — это отдельная страница с index.html, кодом, инструкциями по сборке и пояснениями авторов. Все исходники лежат в одном сжатом tarball.
Количество и качество заявок на IOCCC29 оказались на околоисторическом максимуме. Год назад, на IOCCC28, рекордный наплыв объясняли четырёхлетним перерывом — авторы успели отшлифовать работы. Теперь же, когда конкурс проводили второй год подряд без паузы, число заявок не упало, а качество осталось высоким. Судьи гадают, сыграло ли роль улучшение сайта, активность в соцсетях или то, что авторы опирались на идеи прошлых победителей.
После закрытия IOCCC28 судьи тщательно документировали все процедуры: от прекращения приёма заявок до организации шоу на канале Our Favorite Universe. Это заняло много времени, но сделало работу упорядоченнее. Презентация победителей уже выложена на YouTube, запись основного шоу скоро разделят на отдельные сегменты. Каждая страница index.html получит ссылку на свой кусочек эфира.
В этом году в раздел «Judges’ remarks» добавили забавные челленджи. Нужно разобраться, что делает программа, а затем выполнить задание — например, переписать prog.c или написать объяснение. Если челлендж ещё открыт (проверять в разделе «A fun challenge»), можно прислать решение через GitHub pull request. Судьи его рассмотрят и, если ответ окажется лучше, примут.
Правила IOCCC29 серьёзно переписали по сравнению с предыдущими версиями — помогли волонтёры.
Следующий конкурс, IOCCC30, планируют открыть в конце 2026 года и закрыть примерно в первом квартале 2027-го. После публикации победителей IOCCC29 и обработки первых пулл-реквестов судьи наконец уйдут в долгожданный отпуск (в прошлый раз не вышло из-за правок в mkiocccentry repo). Теперь они будут ждать окончания отпуска, прежде чем браться за новые PR.
Среди финалистов этого года судьи отметили автора jingp49 из Тайваня — его локация оказалась новой для IOCCC. Ещё один занятный факт: конкурс зафиксировал «hat trick of Hat-tricks» (смотрите, кто именно, лучше в источниках).
Если ваша работа не прошла — не отчаивайтесь. Несколько победителей IOCCC29 — это улучшенные версии заявок, которые проиграли на предыдущих конкурсах. Можно доработать код и попробовать снова для IOCCC30. Если не хотите переделывать — просто опубликуйте код.
Сборка победителей: если ваш компилятор глючит, попробуйте свежий clang или gcc. Проблемы и баги можно фиксить через GitHub pull request.