1 час назад
Представлены победители IOCCC 29 (международного конкурса обфускации кода на языке C)

Состоялся 29-й Международный конкурс обфускации кода на языке C (International Obfuscated C Code Contest, IOCCC, для экспертов и разработчиков Obscure/Obfuscated C program). Организаторы объявили 9 проектов победителей-разработчиков. Это мероприятие проводится с 1984 года (и частично вдохновлено ошибкой в классическом Bourne shell). Считается, что это «старейший конкурс в Интернете» для разработчиков с девизом, что программисты должны получать удовольствие от C. Цель конкурса — «показать важность стиля программирования ироничным образом» и «нагрузить компиляторы C необычным кодом».
Выдержки из официальных правил и требований конкурса:
правило 0, аналогично, как C начинается с 0, так и IOCCC начинается с правила 0. :-)
правило 1, ваша заявка должна быть полной программой на C....
правило 5, Ваша заявка НЕ ДОЛЖНА изменять содержимое или имя файла любой части вашей исходной заявки, в том числе, в дополнение к прочего, prog.c, Makefile (который мы создаем на основе ваших инструкций по сборке), а также любые файлы данных, которые вы отправляете....
правило 6, I am not a rule, I am a free(void *human);
while (!(ioccc(rule(you(are(number(6)))))) {
ha_ha_ha();
}
Правило 6 явно отсылает к The Prisoner (некоторые другие правила еще глупее). И в правилах есть свои шутки типа «вы находитесь в лабиринте извилистых правил, все разные», есть по крайней мере ноль судей, которые считают, что Fideism имеет мало или вообще ничего общего с процессом судейства IOCCC, мы предлагаем вам не пытаться получить «самый маленький самовоспроизводящийся» ресурс (самый маленький, запись с нулевым байтом, победил в 1994 году).
В контексте IOCCC 29 разрешалось применять кодировку UTF-8 в коде. Код каждого участника должен быть интересен и чем-то примечателен. Работы могли быть необычно оформлены или выделять неожиданные стороны языка C. Размер исходного кода программы не должен превышать 4993 байта, а приложение должна собираться и выполнять осмысленное действие.
Среди победителей соревнования — эмулятор GameBoy, оптимизированный для «Тетриса», с исходным кодом, который выглядит как GameBoy, а равным образом квази-Roguelike игра, признанная «наиболее вероятной для телепортации». Также были вручены награды за лучший воображаемый эмулятор (виртуальная машина в 366 байтах C) и лучший эмулятор дробных чисел (генератор лабиринтов для Commodore 64).
«В этом году мы добавили забавные задания в конкурс работ‑победителей…», — отмечается на сайте. «После того, как вы разберётесь, что делает та или иная работа‑победитель, мы предлагаем вам попробовать выполнить это забавное задание!», — пояснили организаторы конкурса.
Список победителей IOCCC 29 и их проекты (на GitHub):
2025/cable - Subleq computer;
2025/cesmoak - Black hole punchcard Fortran. Инициатива имитирует мэйнфрейм IBM 7040, сначала преобразуя программу (закодированную в пробелах) в ASCII-символьные изображения перфокарт для программы на языке FORTRAN, а затем выполняя эту программу для вычисления света, видимого наблюдателю, смотрящему на черную дыру, и в конечном итоге создавая изображение. Все это воссоздаёт то, что пришлось сделать астрофизику Жан-Пьеру Люмине в 1978 году, чтобы создать первую в истории смоделированную фотографию чёрной дыры (на мэйнфрейме IBM 7040). «В этой работе равным образом можно запускать другие программы на FORTRAN — но они должны быть предоставлены в виде колоды перфокарт… Предоставлены инструменты для преобразования в/из колод и для интерпретации…»;

2025/endoh3 - patch/diff quine;
2025/jhshrvdp - Quasi-rogue-like game;
2025/jingp49 - Dr. WHO sequence. Победитель из Тайваня оформил свой исходный код в форме Тардиса из сериала «Доктор Кто» — исходник, отображающий сложную ASCII-анимацию вступительной заставки сериала «Доктор Кто» 1963 года;
2025/ncw1 - GameBoy emulator;
2025/tompng - Ocean sound generator;
2025/uellenberg - Quine pong. «Запуск программы генерирует исходный код для создания следующего кадра, отформатированного для отображения текущего кадра. Многократно компилируя и запуская каждый последующий кадр, вы можете играть в игру. Для перемещения передайте в качестве аргумента либо «w» (вверх), либо «e» (вниз)…»;
2025/yang2 - Zoltraak encoding.
«Мы планируем открыть IOCCC 30 ближе к концу 2026 года и провести конкурс в течение аналогичного периода времени, завершив его где‑то в конце первого квартала 2027 года», — пояснили организаторы мероприятия.
Читают сейчас

22 минуты назад
Людям предстоит решить, давать ли AGI сознание: Хассабис о «втором Рубиконе»
На встрече со студентами Stanford Graduate School of Business глава Google DeepMind и нобелевский лауреат Демис Хассабис получил неожиданный вопрос: чего искусственный интеллект не должен касаться вов

25 минут назад
Пожарные в США получили систему для бурения аккумуляторов и тушения электромобилей
Пожарная служба штата Пенсильвания первой в США получила специализированное девайс, разработанное для борьбы с возгораниями аккумуляторов электромобилей. Ознакомиться далее

34 минуты назад
Порядок в версиях через libs.versions.toml и Bill of Materials
Продолжаем цикл вебинаров, посвященных современному Gradle для Java-разработчика. Когда версии разбросаны по модулям, один апгрейд библиотеки превращается в ручную правку в десяти местах с риском расс

1 час назад
Dasung представила внешний E-Ink монитор для смартфона Link 2
Китайская Dasung (Dashang Technology) выпустила внешний монитор для смартфона под названием Link 2. Девайс оснащён 6,7-дюймовым монохромным дисплеем на основе электронных чернил с частотой обновления

2 часа назад
AWS внедряет в своих ЦОД квазислучайную архитектуру на базе отказоустойчивых сетевых графов
В AWS описали новое техническое девайс веб архитектуры ЦОД, которую внедряют с конца 2024 года. Она базируется на отказоустойчивых сетевых графах (Resilient Network Graphs, RNG) и уже стала стандартом