Скоро ICFPC 2015

Нас было 7 человек. У нас было 20 модулей на хаскеле, приватный репозиторий на гитхабе, 6 веток в этом репозитории, ImplicitParams, MagicHash и UndecidableInstances в коде и одна highmem нода на амазоне, а также hangouts для общения, юнит-тесты, просто тесты, google docs для заметок и куча статей про SMT-солверы. Не то что бы мы это все использовали, но на ICFPC ты ищешь в инете всякую дурь и бывает трудно остановиться. Единственное что вызывало у меня опасение — это SMT-солверы. Нет ничего более беспомощного, безответственного и испорченного, чем человек, читающий статьи в ходе контеста. Но я знал, что рано или поздно мы подсядем и на эту дрянь.
(Дмитрий Астапов)


Посвящается хабровчанам, которым иногда хочется отдохнуть от промышленного кодинга и найти чего-то такого безумно[ круто]го для души. Ежегодный ICFP Contest начнётся меньше чем через неделю!
8f70a03a64888814300d28cd66d80ef8.png

Что это


Есть такая International Conference on Functional Programming, раз в год проходящая в разных местах земного шара. К ней приурочен трёхдневный командный контест-хакафон, призёры которого помимо уважухи и денежных призов получают бесплатные билеты. И вот тут начинается самое интересное.
Несмотря на название и тематику конференции, задачи не заточены под какие-то языки и технологии, и писать можно совершенно на чём угодно;, а в призовых местах, например, стабильно оказывается C++. Как правило, эталонного решения у них нет, и подходить можно с полной свободой творчества. Сроку отводится трое суток (пятница по понедельник в зависимости от часового пояса участников), в течение которых можно отсылать всякие промежуточные результаты и получать за это очки, и ещё есть lightning division с отдельной таблицей победителей по итогам первых суток. То есть демократия полная — работать можно где угодно, как угодно, каким угодно составом без регистрации и SMS. Ну и наконец, главная фича — задания в контесте упоительно креативные и очень проработанные, и полны тонкого юмора, пасхалок и отсылок. Из наиболее ярких примеров:

  • раскодировать двухмегабайтную виртуальную машину, в которой упихана тонна паззлов вроде юникс-консольки, математических головоломок и текстового квеста (2006);
  • помочь пришельцу адаптироваться к нашей планете, распотрошив и дополнив его самомодифицирующуюся ДНК, которая умеет рисовать упоротые картинки (2007);
  • научиться играть и выигрывать у других участников в гибрид Magic: the Gathering и лямбда-исчисления (2011);
  • написать ботов для альтернативного пакмана, крутящегося на аркадном автомате из лисп-машины и восьмибитного микроконтроллера (2014).


Отличный способ приобщиться и вдохновиться — глянуть отчёты вышеупомянутого Дмитрия Астапова, отчёты которого можно читать как технотриллер. Рекомендую начать с 2006 года, который ни один конкурс пока не переплюнул.
Для участия необходимы навыки командной разработки и возможность хотя бы частично выпать из жизни в уикенд. Очень желателен кругозор в области computer science. Особо приветствуются знатоки и умельцы ИИ, виртуальных машин и компиляторов, эти темы проскакивают почти в каждом году. Хотя, конечно, самое важное — общая соображалка.

Анонс


Теперь немного о том, что же будет в этом году.
Конференция проводится с 31 августа по 2 сентября в Ванкувере, а контест уже совсем скоро — с 7 по 10 августа. Судя по традиционно немногословному анонсу, нас ждёт что-то на криптографическую тематику с аллюзиями на национальную безопасность и творчество Лавкрафта. Имеющиеся крупицы инфы проанализировал постоянный участник ICFPC Turtle//Bazon.
До встречи в турнирной таблице!

© Habrahabr.ru