ADD 2010: Отчет Титаренко Константина

Материал из CustisWiki
Перейти к: навигация, поиск


На конференцию захватил с собой фотоаппарат-мыльницу, за два дня кое-что нафоткал. Как говорит старая поговорка: лучше один раз увидеть, чем сто раз услышать. Прикрепляю к отчету фотографии мероприятия.

Организация конференции

Конференция проходила в Ярославле в Доме Культуры Железнодорожников, что напротив вокзала Ярославль-Главный. Расположения места проведения конференции удобное, добираться легко как автомобилем, так и поездом. А вот сочетание город-время_проведения были подобраны плохо, для удобства пришлось проделать «финт ушами» и остановиться на ночлег перед первым днем конференции в Ростове Великом, что в 60 км не доезжая Ярославля.

Д/К Железнодорожников
Вокзал Ярославль-Главный
Детская железная дорога 1
Детская железная дорога 2
Детское творчество

Дом Культуры советский, добротный, на офисы не распроданный. Во дворе-парке маленькая детская железная дорога, к сожалению, не функционирующая. В обычное время в здании шуршат детские кружки, подрастающее поколение получает знания по важным железнодорожным дисциплинам, истории железнодорожного транспорта, а также Северной железной дороги.

Лого в фойе
Фигвам в фойе
Бронзовый партнер

В ДК в течение двух дней исправно работал гардероб. Азимут на большой логотип конференции я взял сразу, регистрация для меня прошла быстро и безболезненно. В фойе присутствовал некий экспонат, видимо оставшийся от предыдущего мероприятия. Представитель бронзового партнера бесплатно раздавал тяжелые книжки про RUP и обменивал заполненные анкеты на забавные, но бесполезные гаджеты. В который раз удивляют меня подобные анкеты с вопросами: «какой годовой оборот компании», или «собираетесь ли вы закупать оборудование XXX» и т. п. Насочинял от души (скоро придут).

Речь председателя
Организаторы трудятся
Оператор
CNN

Открытие прошло довольно быстро, весело, без лишнего трепа непонятных людей из администрации района, города, спонсоров и т. п.

Стас Фомин 20:15, 5 октября 2010 (UTC): Непонятные люди из райкома ожидались (какие-то генералы из свиты губернатора). Но они проспали.

Организаторы конференции трудились непрерывно в течение двух дней: фарцевали майками, значками и прочей атрибутикой. Каждый доклад, представленный на конференции, был исправно зафиксирован профессиональным оператором на профессиональную камеру. Телевидение в перерывах между докладами спешило взять интервью у прогрессивно настроенных участников ADD.

Забегаловка
Чай в холле

Обеды проходили в забегаловке рядом с ДК, питание там было не супер. Но чай в холле с пирожками и приветливыми представителями организаторов с лихвой компенсировал недостаток калорий.

Гостиница 1
Гостиница 2

Гостиница обычная советская, без изысков, вполне подойдет, чтобы переночевать одну ночь.

Доклады

Что творится на рынке труда в сфере IT?

Что творится на рынке труда в сфере IT? (Ольга Кочкина на ADD-2010)

Директор ярославского филиала компании HeadHunter. Был очень заманчивый анонс доклада, на деле же он оказался обычной отпиской спонсора.

Стас Фомин 00:09, 3 ноября 2010 (MSK):Увы, они не были спонсорами. Разве что «информационными», и то, с нулевой эффективностью.

На таких данных можно было бы не напрягаясь подготовить что-нибудь поинтереснее. С одной стороны видно, что человек в теме и говорить привык, с другой перед каждым предложением звучало: «а-а-а..». Общий смысл доклада: товарищи, вы все жутко востребованы, рынок растет, не паникуйте. Приводила разную статистику в виде красивых временных диаграмм. В конце была совсем дурацкая шуточная викторина. Тезисы доклада, какие запомнил:

  • мы вернулись на докризисный уровень
  • 60 % рынка вакансий IT страны сосредоточены в Москве, потому что интернет в регионах еще довольно слаб
  • самый емкий сектор IT — разработчики, около 60 %
  • статистика популярных языков по версии TIOBE: Net, C, C++, PhP, VB, …
  • победитель 2009 года язык Go
Стас Фомин 20:15, 5 октября 2010 (UTC): Собственно в телефонном разговоре с хедхантером я и поставил условие, чтобы было побольше интерактива, игр с публикой и т.п., а не унылые выступления эйчарщиков (как на SECR). Ну и они все-таки старались — это ведь местная хедхантерша
.

Сравнительный анализ хранилищ данных

Сравнительный анализ хранилищ данных (Олег Царев и Кирилл Коринский на ADD-2010)

Выступали вдвоем, друг друга перебивали, спорили, порой казалось, что сейчас подерутся. Слайды были без картинок, без уточнения определений, и вообще слабо понятны сходу. (Кстати, подобными слайдами грешили и другие докладчики на этой конференции. Порой возникало ощущение, что люди просто не пожелали хорошо подготовиться.)

Стас Фомин 20:15, 5 октября 2010 (UTC): Мы неоднократно рассылкали и публиковали памятки-обращения к докладчикам. См. например, [1]. Просто мало из потенциальных докладчиков в курсе, «что такое хорошо». В основном только профессиональные евангелисты.

Олег и Кирилл рассказывали об организации данных для соц-сетей на примере организации взаимодействия между участниками сети, рассматривали матрицу смежности и пытались подсчитать стоимость проекта, который эту задачу решит. Получалось, что при любом подходе нужно искать компромисс по трем осям:

  • memory, CPU
  • latency
  • сложность кода

Возникают производные оси:

  • бюджет проекта
  • сроки
  • лимит разработчиков
  • аппаратура
  • инструменты

Выводы:

  • универсальных решений нет
  • цель менеджера проекта — найти компромисс, локальный оптимум
  • иногда задача неразрешима в заданных условиях
  • обычно в итоге приходят к кластеру

Рассматривали партицирование данных:

  • горизонтальное-вертикальное
  • ручное
  • автоматическое

Далее был рассказ про CAP-теорему, на середине которого я сбежал на другой доклад.

На пороге дополненной реальности: к чему готовиться разработчикам

На пороге дополненной реальности: к чему готовиться разработчикам (Андрей Бибичев на ADD-2010)


Андрей Бибичев
Подготовка

Андрей, как всегда, рассказывал увлекательно: без лишнего загруза, с хорошими примерами и качественной презентацией. Приволок с собой реальные железки, которые тоже демонстрировал. Начал с определений, что такое дополненная реальность. Если виртуальная реальность — это то, что находится на выходе компьютера в виде output-девайсов, то дополненная — на входе в виде input-девайсов. Тема эта довольно новая и интересная, были показаны примеры применения дополненной реальности в настоящей и будущей жизни. Далее прошлись по input-девайсам, в качестве которых выступают специальные сенсоры и видеокамеры.

Сенсоры:

  • гироскоп
  • акселерометр
  • магнитный компас

Видеокамеры:

  • Специальные с маркерами: Vicon, OptiTrack
  • Структурированный свет: Мелкософтовский стол
  • Z-sensor: Natal project, kinect project
  • True optical: Organic motion, iPiSoft

Итог

  • «Будущее не определено» (C), прогнозируется рост интереса и капитала в отрасли, но до сих пор сомнительна полезность

Дополненная реальность через веб-камеру

Дополненная реальность через веб-камеру (Михаил Кокорев на ADD-2010)
Михаил Кокорев

У парня были реально прикольные примеры, но подача материала просто никакая. Презентация: текст и веб-ссылки (нерабочие), постоянно переключался в браузер и другие проги, демонстрировал, но мелькание это как-то няпрягало отсутствием гладкости изложения. Рассматривался софт:

  • ARToolkit — библиотека Kato для обнаружения квадратных маркеров
  • FLARToolkit — дальнейшее развитие, забавный пример на флеше
  • SLARToolkit — silverlight

Вывод: квадратные маркеры некрасивы, надо искать что-нибудь другое. На финише демонстрировал интересную распознавалку на основе выделения особых точек — в которых максимальный градиент изменения яркости, называется SURF (Speeded Up Rubust Features). В камеру показывал разные предметы, распознавалка их запоминала и потом могла различать, что ей показывают.

Разработка видеохостинга на Erlang

Разработка видеохостинга на Erlang (Максим Лапшин на ADD-2010)

Презентуха слабая, мелкий текст на белом фоне, но парень в теме, на вопросы из зала отвечал бойко и обстоятельно. Обсуждаемая проблема — веб-сервис видео, ломятся тысячи клиентов, сервак распухает, течет память и т. д. То есть задачи потокового видео сильно отличаются от классического веба. Утверждалось, что решение всех проблем — Erlang. Разделяемая память, перечислимые процессы, удачная инфраструктура для плагинов. В случае ошибки в одном из процессов, тот тихо прибивается следящим процессом, и всем, кому надо, рассылается отчет об убийстве. Обработка ошибок не нужна, так как процессы независимы. По ядрам процессора они хорошо шарятся. Применимость Erlang:

  • потоковое видео
  • jabber (пример — Yandex)
  • банковские сервисы
  • online игры

3D-графика на трех пальцах

3D-графика на трех пальцах (Андрей Аксенов на ADD-2010)

Рассказывал основы 3D-графики. В презентации в большом количестве присутствовали красивые картинки, но они были совершенно не видны на экране (вывод — для конференций красивую графику в презентуху вставлять бессмысленно). Начальный тезис — весь виртуальный мир состоит из треугольничков. Показывал рисование: задаем сцену, камеру, плоскость камеры, проецируем — получаем изображение. Треугольнички, из которых состоит 3D-модель маленькие, их много, долго обсчитывать. К нашей радости современные видеокарты это умеют делать эффективно. Если поверхность модели гладкая, это плохо, возникает ощущение, что нарисованный объект состоит из пластика. Для реалистичности картинки очень важна неровность поверхностей и освещение. Далее рассматривались алгоритмы освещения:

  • ambient/fifuse/specular
  • непрямое (отраженное) освещение — в реальном времени считать невозможно
  • карта освещения — предварительный обсчет
  • PRT — метод динамического освещения

В конце большой пошаговый пример создания реалистичного изображения из HalfLife 2

Как прекратить писать

Как прекратить писать (Андрей Аксенов на ADD-2010)

Второй доклад Андрея был последним для меня на конференции, ничего серьезного я слушать уже не мог, поэтому пошел к Андрею. Доклад был ни о чем — стеб на свободную тему. Автор ввел классификацию программистов:

  • задушевник
  • теоретик кайфа
  • честный тормоз
  • эмо-писатель
  • непогрешимый
  • twisted mind
  • вумная вутка
  • примадонна-истеричка
  • системоид
  • полпинка

Расписал всех, чистых типов не бывает — в каждом из нас есть что-то от каждого типа. Дальше была продемонстрирована классификация с udaff.com, и вообще, окончание доклада изобиловало ненормативной лексикой. Видимо, к концу второго дня устали уже все…

Андрей Аксенов

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)
Алексей Алексеев, Николай Гребнев
Докладывались наши парни, по сути ничего не буду писать, можно их здесь опросить в любое время. По форме. Материал, на котором базировался доклад был очень достойный, чувствовалась реальная работа за плечами. В конце вопросов народ назадавал, как ни у кого другого. Но доклад был не самый зажигательный, чувствовался недостаток опыта у выступающих. Подслушал случайно одного из посетителей конференции на следующий день, про этот доклад он говорил так: «много кода, маленькие буквы, ничего не понятно».

Искусственный интеллект в играх

Искусственный интеллект в играх (Елена Сагалаева на ADD-2010)
АленаC++

У Елены есть свой блог в сети, я его иногда почитываю. В жизни она оказалась выше, стройнее и симпатичнее :) В самом начале доклада у нее что-то не заладилось с презентацией, один из организаторов конференции тут же поспешил ей на помощь. В принципе, каждый из нас когда-нибудь в детстве писал игры, поэтому ничего особо нового она в своем докладе не открыла, но рассказывала интересно. Основная цель игры — проиграть пользователю, но проиграть надо красиво, иначе ему будет неинтересно. Откуда вывод: все эти нейронные сети, нечеткая логика, генетические алгоритмы хороши в науке и в теории, но мало применимы в реальной жизни. Цена их высока, пользы мало. Рассмотрели приемы красивого проигрыша.

  • «Генератор случайных чисел с состояниями» — это генератор не совсем случайных чисел, так как люди очень плохо интуитивно оценивают вероятность. Пример Сида Мейера о дизайне игры Цивилизация.
  • Проблема «одинокого гонщика» в гонках. В честной игре человек всегда будет ехать один, это неинтересно, должны быть догоняющие и догоняемые. Для решения применяется rubber banding.
  • Телепорт (но только когда пользователь отвернулся).

Далее рассматривались честны алгоритмы:

  • поиск пути
  • сглаживание пути
  • следование пути

В конце был показан steering behaviours — стайное поведение.

 Елена Сагалаева (она же АленаC++)

C++0x

C++0x (Елена Сагалаева на ADD-2010)

Второй доклад Елены был о нелегкой доле в современном мире мощнейшего языка C++. Стандарт давно морально устарел и требует доработок, есть большая проблема — обучение и обучаемость языку. Выпуск нового стандарта постоянно откладываются, так как процесс его проработки очень демократичен и занимает много времени. Последний анонс — 2011 год. Сейчас уже ясно, что в нем отказались от сборки мусора и от концепций, урезали потоки. Но разработчикам компиляторов надо как-то жить, они вынуждены реализовывать полезные фичи, не дожидаясь официального выпуска стандарта. Далее рассмотрели несколько фич в разрезе трех компиляторов: GCC 4.5.1, VC++2010, IntelC++ 11, кто и как эти фичи реализовал:

  • auto
  • списки инициализации
  • лямбда-функции
  • лямбда-capture
  • замыкания
  • nullptr
  • атрибуты (никем не реализованы)
  • long long int
Елена Сагалаева

Разработка для Windows Phone 7

Разработка для Windows Phone 7 (Михаил Черномордиков на ADD-2010)
Черномордиков Михаил (справа)
Обычный рекламный доклад в стиле Microsoft. Парень подготовлен хорошо и слайды были качественные. Рассказывал про новую мобильную платформу, чего в ней будет и как. Понятно, что M$ пытается догнать Apple с ее айпихоном, приходится пыжиться всем. Для разработчиков все с одной стороны хорошо, все новое, поле непаханое, быстро бежим занимать ниши. С другой как-то грустно все, централизованная продажа софта с бесконечными отстегиваниями процентов за каждый пук и т. д. и т. п. Вообще, мне этот доклад сильно напомнил рекламу МММ, а парень Леню Голубкова с указкой у стабильно растущего графика.


Тестовая лаборатория для web-приложений

Дмитрий Лобасев

Дмитрий Лобасев

Довольно интересный, но узкоспецифичный доклад о построении конкретного решения для тестирования web-приложений. Можно покупать решения для тестирования, но выходит очень дорого, поэтому нужно максимально использовать возможности бесплатного софта (как везде). Какие используем технологии:

  • WM Ware Player
  • PSTools + bat-файлы
  • Apache James
  • .Net Framework + NUnit
  • Watin + C#
  • QA Liber

В итоге с минимальными затратами труда получаем среду автотестирования. Рассказ о том, как все это вместе связать, должен быть немаленький, поэтому пробежались по верхам. Вопросов никто не задавал, так как особой конкретики не было.

SQL vs. NOSQL

Круглый стол
Круглый стол
Чтобы проснуться окончательно, пошел на круглый стол. Занятие это довольно бесполезное, но бодрящее, парни порой серьезно распалялись. Вводная мысль: в России имеется забавный тренд — тянуть руки ко всему, что плохо лежит, или что интересно (имеется в виду NOSQL). Привели пример чувака, которого уволили за то, что он целый год вел контору не туда — переводил продукт с MySQL на Кассандру. Масштабирование и перегруппировка данных — основная задача в процессе роста любого проекта, автоматический это сделать очень дорого, так как важна структура данных, должен делать человек.

Удобная кросс-доменная авторизация

Удобная кросс-доменная авторизация (Илья Кантор на ADD-2010)
Илья Кантор, основатель сайта javascript.ru
Илья Кантор

Илья — товарищ увлеченный, а увлеченных товарищей всегда интересно слушать. Тем более, что докладов вместо одного было целых три:

  • DDOS-атаки
  • Мультидоменный сайт (заявленная тема)
  • Анонимность в Интеренет — «секретный доклад»

Пришлось пожертвовать обедом, чтобы дослушать все до конца.

DDOS-атаки 

Это такая штука, когда с сайта запрашивают по 10000 страниц в секунду из разных мест одновременно. Если ваш сайт популярный, а бизнес успешный, то DDOS-атаки неизбежны. Далее рассматривалось несколько решений проблемы с их недостатками. Автор утверждал, что наилучшее решение — это комбинация:

  • Varnish — прокси, кэширующий страницы (начальную — самое главное) в памяти
  • Redis — NOSQL база данных для хранения авторизованных посетителей
Мультидоменный сайт

Такой сайт организуется в целях SEO, напр. продажа нескольких групп товаров. Как организовать общую авторизацию в таких условиях? Нужно, чтобы пользователь побывал на одном из сайтов, а все другие при этом о нем все узнали. Далее рассказ о том, как правильно ставить cookie, грузить их с сайта-мастера и обходить 3d-party cookie.

Анонимность в Интеренет

Доклад о том, что некоторые пользователи наивно полагают, что они анонимны. Привел целую россыпь технологических приемов отслеживания пользователей, рассказал как и которые из них работают при разных комбинациях сервисов у пользователя. Например, включен CSS, но выключен javascript, и т. п. Для чего все это нужно? Для того, чтобы следить за пользователем, собирать на него статистику и подсовывать ему правильную контекстную рекламу.

Как начать разрабатывать для iPhone

Как начать разрабатывать для iPhone (Никита Фролов на ADD-2010)
Никита Фролов
User vs developer

Терперь не могу Apple, сомневался, стоит ли идти на доклад, но в итоге не пожалел. Дело в том, что я за свою жизнь несколько раз довольно плотно сталкивался с различными продуктами от Apple в качестве пользователя и каждый раз неизменно приходил к мысли, что Apple делает не для людей. Успех данной конторы и ее красивых но бесполезных поделок — большая загадка для меня. Очень веселый доклад оказался, Никита вполне адекватно относится и к iPhone и к себе, и тем более к Apple. Основной тезис, который он регулярно повторял: Apple — корпорация зла, в ней всем правят дизайнеры, и жизни разработчикам там нет никакой (см. картинку справа). Показал образ типичного пользователя iPhone — Риз Уизерспун в фильме «Блондинка на юрфаке». (И попал не в бровь! Я ему напомнил, что как раз в этом фильме был кадр, где сидят студенты в аудитории, и у блондинки нашей, единственной на всем потоке, на столе стоит бук от Apple. Такой весь розовый и гламурный.) Рассмотрели кратко средства разработки для iPhone:

  • Web Apps — пользователь не отличает реальное приложение от сайта, открытого в браузере на своем телефоне
  • iPhone SDK — на Макинтоше от Apple
  • Jailbreak — сторонний продукт, сплошной хакинг с запаздывающими библиотеками по отношению к iPhone SDK

Вывод — пользуемся iPhone SDK. Далее прошлись по iPhone SDK подробнее, с примерами кодирования. У Apple свой объектный язык, похожий на C++, но сильно корявый и непривычный. Выход новой версии SDK — всегда большое событие, потому что (вспоминаем основной тезис) раз он новый, то все в нем должно быть по новому: ключевые слова, функции и пр. И так далее все в таком же духе, народ выл в голос. Понравилось его выражение «православный язык C++» и еще запомнился один диалог во время лайфкодинга. Вопрос: а интеллисенс есть? Ответ: есть, только я ему не доверяю.

Как стать героем

Как стать героем (Яков Сироткин на ADD-2010)
Яков Сироткин, участвовал в разработке Яндекс.Деньги
Яков Сироткин
Малополезный доклад. Яков, с видом умудреного жизнью старца, ходил по сцене и рассказывал всякую банальщину. Нет смысла разрабатывать ПО без своих мозгов. Глядя из Сан-Франциско, разница между Бобруйском и СПб ничтожно мала. Нельзя сделать проект, если в нем заинтересованы только вы, но не тот, кто реально выделяет ресурсы. Формулируйте, что вы делаете и для кого. И т.п. В конце рассмотрели 12 критериев Joel Test.

Картинки

Тому, кто досмотрел до конца, бонус — еще несколько картинок.

Бодрые, подтянутые
Утро, чай восстановительный
Подготовка к докладу
Отстрелялись
В перерыве
Рабочее место

Репликация: База Знаний «Заказных Информ Систем» → «ADD 2010: Отчет Титаренко Константина»

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».