В середине 90-х и начале 2000-х у многих из нас дома стояли пузатые ЭЛТ-мониторы с Windows 95/98 или голым MS-DOS. И среди сотен игр были те самые особенные шедевры, музыка из которых въедалась в память навсегда:
Xixit (1995) — медитативная головоломка, чей глубокий, меланхоличный и невероятно атмосферный саундтрек затягивал так, что игру не хотелось выключать часами.
Mine Bombers 3.1 (1995) — финский хит, за которым мы с друзьями устраивали ожесточенные баталии на одной клавиатуре. Взрывы динамита в темных шахтах гремели под бешеный, зажигательный драйв трекерных мелодий.
А чуть позже — музыка из кейгенов и кряктро от культовых демогрупп (Razor 1911, Fairlight, Paradox), где авторы умудрялись упаковывать полноценные симфонии в файлы размером 20–50 килобайт!
Это была трекерная музыка (MOD, XM, IT, S3M). В ней не было записанного аудио: файл содержал крошечные кусочки сэмплов и таблицу шестнадцатеричных нот, которые компьютер синтезировал в реальном времени.
Я сам с юности увлекался написанием таких треков в FastTracker II и долгие годы мечтал о пет-проекте: сделать настоящий веб-плеер трекерной музыки, который играл бы эти хиты прямо в браузере с живым звуком и аутентичной атмосферой демосцены.
То что описано в этой статье — за гранью понимания обычного разработчика и тем более обычного человека, далекого от ИТ. Честно и при всем желании не смогу объяснить даже подготовленным «молодым специалистам» от разработки, протирающим штаны в опенспейсе за шлепаньем форм для очередного корпоративного маркетплейса насколько круто то что описано ниже.
Если программирование для вас не более чем «работа за деньги» — пожалуйста закройте эту статью и забудьте автора как страшный сон, потому что описанное ниже вам точно не надо.
The goal of the Binary Golf Grand Prix is to challenge programmers to make the smallest possible binary that fits within certain constraints.
Cуть развлечения заключается в том чтобы создать минимально возможный запускаемый бинарник (нативное приложение), который делает хоть что‑то интересное.
Но этого показалось мало, поэтому помимо основной задачи, джентельмены каждый год придумывают себе дополнительные:
The binary you will craft will be the same executable when flipped backwards.
Да, вы все правильно поняли, а некоторые наверное даже сильно удивились с такой постановки вопроса, поскольку задача заключается в создании приложения, которое бы продолжило запускаться даже его бинарное содержимое перевернуть:
Критериев оценки в столь замечательном конкурсе два длина и толщина:
размер запускаемого бинарника и «процент реиспользования» байт при запуске в обратном порядке.
В оригинале:
Scores will be calculated based on both the size of the executable, as well asthe percentage of bytes executed when it is run.
Так что у джентельменов все серьезно.
Исходный код всех работ с описанием выложен на Github, также тут можно посмотреть разбор победителей этого замечательного конкурса за 2020й год и дальше не читать. Но если вы все же решили продолжить, то ниже будет описан реальный запуск каждой работы этого удивительного конкурса.
This was tested and built on Ubuntu 20.04 with kernel 5.4.0-42-generic.
Из-за последних изменений в ядре, бинарник более не работает на последних ядрах, по крайней мере мне не удалось запустить ни на одной из подконтрольных систем, увы.
Я разобрал один только первый год этой замечательной олимпиады, в следующих было уже заметно больше участников и куча интересных и сложных примеров, точно достойных внимания истинного джентельмена.
Отдельно доставляет блог создателя конкурса BGGP, некоторые материалы оттуда точно будут переведены в ближайшем будущем.
Omega Hackers Group, OHG - группа из Ростова-на-Дону. Образована в 1994 году. Входила в объединения Mafia Private Corporation, Partyzans, XXL Association.