Победители 22-го конкурса IOCCC

в 9:56, , рубрики: IOCCC, ocr, Демосцена, ненормальное программирование, метки: ,

Победители 22 го конкурса IOCCC

Опубликован исходный код программ-победителей 22-го конкурса программ с обфусцированным кодом на C. Участвовать в конкурсе могут готовые программы размером меньше 4096 байт, при этом количество значимых символов, без учёта пробелов, знаков табуляции и знаков; ( ), не должно превышать 2048. Впрочем, в этом году многие участники воспользовались эксплоитом для бага в модуле вычисления размера программы, так что в 2013 году на конкурс были представлены, пожалуй, самые продвинутые программы за все годы проведения соревнований.

Например, вызывает искреннее восхищение эмулятор 8086-компьютера размером 4043 байта (исходный код) с полным набором инструкций 8086/186, который поддерживает флоппи-диски и HDD и PC-спикер.

Победители 22 го конкурса IOCCC

В эмуляторе можно запускать почти любое программное обеспечение. Автор проверял его с операционными системами (MS-DOS 6.22, FreeDOS 0.82pl3, Windows 3.0, DESQview 2.8, профессиональным ПО (Lotus 1-2-3 2.4 and AsEasyAs 5.7 for DOS, Excel 2.1 for Windows, AutoCAD 2.5, WordStar 4), языками программирования (QBASIC, GWBASIC, Turbo C++), играми (Carrier Command, Police Quest, бесплатные игры Windows) и бенчмарками (Manifest, Microsoft MSD, InfoSpot, CheckIt). Всё вышеперечисленное работало нормально.

После установки эмулятора автор Адриан Кейбл (Adrian Cable) предлагает скачать образ HDD (40 МБ) с набором софта для 8086.

Скриншоты
Победители 22 го конкурса IOCCC

Победители 22 го конкурса IOCCC

Победители 22 го конкурса IOCCC

Победители 22 го конкурса IOCCC

Победители 22 го конкурса IOCCC

Правда, автор немного схитрил, перенеся часть кода в BIOS, но подобный креативный «обход правил» конкурса даже поощряется на IOCCC.

Ещё одна выдающаяся программа среди 15 победителей конкурса — работа Кристофера Миллса, который выигрывал на конкурсе IOCCC ещё в 1993 году, то есть 20 лет назад. После компиляции и запуска программа создаёт веб-сервер на порту http://localhost:8224. Туда можно зайти браузером и увидеть 3D-часы, которые динамически рендерятся и отображают текущее время.

Исходный код веб-сервера/часов/PNG-кодера/трассировщика выглядит так.

Победители 22 го конкурса IOCCC

Ну, а абсолютным победителем соревнования стала ещё одна работа Адриана Кейбла — программа распознавания символов в BMP-картинках. С размером 4096 байт, похоже, это самая маленькая в мире OCR-программа.

Автор: alizar

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js