Pull to refresh

Финал RussianCodeCup 2013: Фоторепортаж

Reading time 6 min
Views 8.5K
Друзья, если вы не попали на финал RussianCodeCup 2013, не отчаивайтесь, мы расскажем о всём самом интересном.
Если вы были с нами, у вас есть возможность освежить воспоминания и поделиться в комментариях впечатлениями.





3D-принтер, игра через дыню и бананы и боевой робот – обычные вещи для IT-компании

23 сентября в 27-этажной башне – новом офисе Mail.Ru Group – состоялся финал олимпиады программистов Russian Code Cup 2013.
Три с половиной тысячи программистов из городов России (и не только, в финал попали несколько русскоязычных представителей зарубежья) приняли участие в олимпиаде. 49 парней и одна девушка добрались до финала, где им предстояло решить шесть сложнейших задач.


Единственная девушка-финалист неминуемо привлекала внимание

Пока финалисты были полностью поглощены решением задач, перед гостями мероприятия один за другим выступали известные спикеры и digital-звезды.


Генеральный директор и основатель Mail.Ru Group Дмитрий Гришин и ведущий церемонии Антон Комолов

Выступления





Дмитрий Скляров разбил свое выступление на две части. В первой познакомил нас с реверсингом, «который очень прост» (практически – да). Во второй части («Reverse Engineering вслепую») рассказал, чем опасно «мышление как у программиста» на примере изучения алгоритма хеширования паролей в оборудовании компании Huawei. Метод Склярова основан на элементарных принципах:
  • Соберите всю доступную статистику из открытых источников;
  • Внимательно изучите документацию;
  • Полученные результаты смотрите в гугле, ищите совпадения;
  • Стройте простые догадки о том, что не удалось определить сразу (Самый часто используемый алгоритм шифрования с 8-байтовым блоком? – Пожалуй, DES…; Где искать ключ шифрования? – В файле прошивки!)

Мыслить как программист и успешно применять свои навыки на практике, безусловно, хорошо. Однако большинство программистов в первую очередь нацелены на эффективность. Они используют стандартные подходы, легко просчитываемые другими программистами, что может нести существенную угрозу безопасности.



От реверсивного анализа нас смог отвлечь digital-фокусник Саймон Пьеро с «айпадомагией». Оценить уровень его мастерства вы можете по любому ютуб-ролику: «Simon Pierro iPad Magic».



В мир серьезного вернула презентация на тему облачной робототехники от Кена Голдберга, изобретателя первого в мире робота с web-интерфейсом.
Проще всего понять, что такое облачная робототехника, можно по сцене из фильма «Матрица»: в сознание Тринити загружается программа обучения пилота вертолёта. Благодаря Интернету роботы, взаимодействуя с незнакомыми объектами, в реальном времени способны решать проблемы, загружая обновленные программы поведения. Облачные вычисления наделяют роботов поразительными возможностями: робот может чему-то научиться сам, не только используя «облака», но и обращаясь к базе данных другого робота.



Но свое выступление профессор начал издалека, с африканского континента, где он с коллегами занимался созданием доступного бюджетного робота. Можете ли вы представить робота, стоимость которого в промышленном производстве составит 10 долларов? Ведь только такие системы приблизят момент повсеместной доступности высоких технологий.



Был объявлен конкурс на самого бюджетного робота, победитель которого создал модель из контроллера для консоли Sony, колесиков и двух леденцов для баланса. Робота так и назвали: Lollybot. Это не единственная концепция дешёвого робота. Энтузиасты, даже не имеющие прямого отношения к робототехнике, создают свои модели буквального из всего – в дело идут конструктор Лего, детали детских радиоуправляемых игрушек, просто мусор.
Небольшой робот, вся начинка которого – это буквально одна микросхема, может эффективно обрабатывать данные только через «облако». Облачные вычисления помогают ему адаптироваться к незнакомой обстановке. В качестве аналогии Голдберг привёл систему распознавания объектов Google Goggles. Когда робот наткнется на нечто незнакомое, Google поможет ему распознать объект и на основе этого изменит модель взаимодействия с объектом.



Большинство современных роботов ничего не делают сами, бездушно выполняют приказы и допускают те же ошибки, что и оператор-человек. Уже сейчас технологии облачного обучения позволяют роботам выполнять действия на том же уровне качества, что у человека, но гораздо быстрее. Через несколько лет, обучившись сначала у человека, а затем у других роботов, машины в десятки раз повысят уровень качества.
Мы в буквальном смысле вступаем в эпоху «промышленного Интернета», в котором устройства начнут общаться друг с другом, минуя посредника – человека, для установления максимально эффективного обучающего процесса.



После роботов в зал вернулась магия. Марко Темпест рассказал, как сотни лет сосуществовали технология и магия («Любая достаточно развитая технология неотличима от магии» А.Кларк), и продемонстрировал digital-иллюзии.



Последним спикером был легендарный Эдвард Йордан, разработчик метода структурного системного анализа, член компьютерного Зала славы, автор бестселлера «Путь камикадзе». Своё неоднозначное выступление Йордан посвятил будущему программирования.
Что же ждет сегодняшних молодых программистов в следующие десять лет?
В первую очередь, разговор идет о «железе». Более сорока лет назад Гордон Мур изложил основанное на своих наблюдениях правило, согласно которому количество транзисторов в интегральных микросхемах будет удваиваться каждые два года. Первоначально Мур предсказывал, что его закон будет действовать ещё 10 лет – т. е. до 1975 года.
Закон всё еще действует. В 2008 году в Intel сделали предположение, что закон будет действовать до 2029 года. Компьютер будут в 100 раз быстрее, чем сегодня – это не абстракция, не теоретический вопрос, мы понимаем, что так оно и будет. Но что это даст?
Есть мнение, что прогресс в аппаратной части излечит все недостатки программ, однако внимательный наблюдатель может заметить, что программы становятся только медленнее. Как гласит закон Вирта, «программы становятся медленнее более стремительно, чем компьютеры становятся быстрее».
В недалеком прошлом мы видели, как программы прекрасно работали (и продолжают работать) на медленных компьютерах. Бортовой компьютер Вояджер-1, созданный в 1977 году, в 240 000 раз слабее iPhone, но успешно работает до сих пор. Чем ограниченнее возможности программиста, тем нужно быть точнее и иметь выверенную стратегию разработки. Пользовательские продукты, которые сейчас выходят на рынок, очень редко имеют ограничения в плане вычислительных мощностей.
От стократного увеличения мощности процессора мы ждем успехов в областях прогнозирования погоды, биомедицинских и генетических исследований, разработки ИИ и так далее. Но для многих других областей возрастание вычислительной мощности может привести к ухудшению программного обеспечения.



Компьютеры становятся мощнее и дешевле. Согласно прогнозам, к 2014–2015 гг. в мире будет 2 миллиарда персональных компьютеров, хотя более вероятно, что повсеместно используемым устройством через несколько лет будет смартфон, а не персональный компьютер. В будущем бесплатные или очень дешёвые компьютеры приведут к появлению концепции одноразовых компьютеров, самоуничтожающихся девайсов с очень коротким сроком службы, персонифицированных устройств.
В этих условиях улучшение софта не будет первостепенной задачей для программистов. Даже сейчас большая часть разработчиков продолжает писать плохой код, подавляющее число компаний не научилось нормально вести проекты, задействуется минимум ресурсов, большинство задач решаются «в лоб». Нас ждут ещё миллионы приложений, и лишь мизерная часть из них будет иметь успех. Новые взрывные решения в области софта могут появиться, но придумают их не программисты… а рядовые пользователи.

Олимпиада




Главным событием дня стала церемония награждения победителей конкурса. Но прежде чем назвали имена чемпионов, гостям рассказали о том, в каких условиях проходили последние четыре часа соревнования.
Участники, вооруженные лишь собственными ноутбуками, должны были решить 6 задач. В том случае, если решено было одинаковое количество задач, алгоритмы оценивались по скорости написания и количеству неудачных попыток. Неудачными считались попытки, в которых алгоритм не проходил хотя бы один из 100 заготовленных на каждую задачу тестов.



Задания для стороннего наблюдателя делятся на два типа. Когда непонятно, что от вас хотят, и когда задача вам понятна, но решение совершенно не очевидно. Пример второго типа – это задача, которая пришлась бы по вкусу Геннадию Онищенко. На слайде зарегистрирована процедура вакцинации. При каждой вакцинации у людей повышается иммунитет. Цель задачи – определить уровень иммунитета популяции людей в конкретные дни.
Подробный разбор всех задач финала вы увидите в этой теме.

Награждение




Церемонию награждения начал полёт квадрокоптеров. После них на сцену вышел Антон Комолов и поочередно объявил несколько номинаций.


Павел Кунявский взял приз «Краткость — сестра т.» за самый короткий код


Министр связи и массовых коммуникаций России Николай Никифоров рекламирует новый iPad. На самом деле – нет: он вручает Дмитрию Жукову приз за самое быстрое решение


Третье место среди лучших занял выпускник Харьковского политехнического университета Дмитрий Джулгаков. Его приз – 3 тысячи долларов


Второе место и пять тысяч долларов увёз домой студент НИУ ИТМО Геннадий Короткевич


Первое место, десять тысяч долларов и кубок, который не купишь ни за какие деньги, достались Петру Митричеву, выпускнику МГУ, победителю RCC 2011



На это всём, ещё раз поздравляем победителей и напоминаем:
Лучшая награда не попала на страницы наша фоторепортажа.

Лучшая награда – опыт, который они унесут в себе, чтобы накормить великого голодного зверя по имени рынок кадров.

P.S. Отдельное спасибо media_magnit за приглашение на это отличное мероприятие!
Tags:
Hubs:
+34
Comments 5
Comments Comments 5

Articles