http://habrahabr.ru/post/245783/
Все началось минувшим летом, когда нам с товарищем «по оружию» немного взгрустнулось, и мы решили, что примем участие в значимых и интересных нам «развлекательно развивающих соревнованиях с элементами программирования», или, как их называют треклятые буржуи, хакатонах. Не долго думая, мы остановили наш взор на Долине из Кремния, так как событий подобной тематики тут много и есть высокий шанс найти интересные нам. С тех пор мы поучавствовали в ни много ни мало 3 хакатонах, тем самым лишившись порядка 40 часов сна. Сей сказ повествует о наших впечатлениях, сделанных нами проектах и атмосфере вокруг описываемых событий.
К слово будет сказано, что ныне автор этой заметки проживает в славном городе Сан-Хосе северной Калифорнии, а его товарищ в не менее славном городе Нижний Новгород, откуда и сам автор родом. Ваш покорный слуга обивал пороги мест событий лично, а товарищ успешно учавствовал всюду удаленно, за что ему почет и уважение.
Для тех, кто принимал участие в более-менее серьезных хакатонах, не секрет, что данные мероприятия крайне энергозатратны по причине ограниченного времени и высокой динамики. Основная идея хакатона заключается в формировании команды, нахождении оригинальной и интересной идеи, и ее частичной или полной реализации в короткий промежуток времени без всякой предварительной на то подготовки.
Охотники за продуктами
Первым делом мы нарвались на достаточно апофеозное событие, а именно хакатон организованный командой
Product Hunt (PH). Я думаю, что многие знают, что это за сайт и насколько обширно и популярно его сообщество. Здесь все просто с ума сходят по PH. Для ребят это был первый опыт учреждения хакатона и справились они с задачей, признаться, вполне успешно. Тематикой они выбрали удобную для себя тему, а именно предложили разработчикам пофантазировать на тему использования API своего сайта, ну и просто на свободную тему попрограммировать.
Место проведения мероприятия было устроено в штаб-квартире отца-прародителя Dropbox и Airbnb Y Combinator, что только добавило ажиотажа. Ко всему прочему, призы представляли собой «пакет мечты» для любого стартапера, а именно: организация встречи с ведущими инвест фондами долины, интервью и бесплатные часы коворкинга в Y Combinator. Уточню, что сам факт того, что ты попал в список стартапов Y Combinator практически обеспечивает тебе гарантию прекрасных инвест раундов, при условии, что ты не уйдешь взапой по факту вступления туда.
Немного поразмыслив, мы пришли к мнению, что самые очевидные и наиболее вероятные проекты лежат в плоскостях статистики по постам, определения царя горы по некоторым псевдометрикам и прочие писькомеры. В голову ничего толкового не приходило, пока я не залез в ящик своего стола и не увидел под слоем пыли уже давно забытые очки от Google. Жаба внутри меня оживилась и предложила все-таки вдохнуть чуточку смысла в те самые $1500 долларов (много рублей), которые я потратил в тайне от жены. Так и появилась идея веб-сервиса клиента Google Glass для сайта Product Hunt. Вы скажете, что это не оригинально и совсем не интересно, и я соглашусь, но тогда мы уверовали, что это будет полезно сообществу (тем самым 3 людям, которые пользуются очками) и внесет некоторую ясность в логотип PH (это я про кошку в очках). Я потом весь вечер там бегал и восклицал «Now it makes sense! Make sense!».
Отбарабанив условные 48 часов и толком не поспав, я дождался своей очереди и представил (отпитчил)
проект, с гордостью продемонстрировав его основателям PH. Те приятно улыбнулись, слегка кивнули и сказали, чтобы я им написал письмо насчет доступа на запись в их базу (для реализации функционала голосования; доступ так и не дали по причине неготовности) и ушли дослушивать оставшиеся проекты и принимать судьбоносное решение. В итоге мы попали в
топ-20 список проектов из 300 представленных по всему миру, что, в общем-то, было неплохо для первого раза. А первым на деревне стал
проект одного энтузиаста, который пришел под конец первого дня со своим монитором подмышкой, как на работу. Парень явно настраивался очень серьезно и в итоге сломал мои представления о возможностях одного человека и 12 часов времени (при условии, что он не сжульничал и не сделал 90% проекта еще до хакатона). Остальные проекты нам показались достаточно слабыми, впрочем, это все на вкус и цвет.
Немного постояв и поболтав с кем попало, я перекинулся парой фраз с основателем PH Райном, сказав, что они классные, на что получил ответ, что я, «наверное», тоже классный. На этих крыльях я взял пару больших кексов, чтобы как-то объяснить жене мое 2х дневное отсутствие дома (ходил за кексом), и полетел домой отсыпаться.
Яблочные часы
Наступила осень. Тим Кук признался, что он горд быть Тим Куком, никого впрочем этим не удивив. Немногим ранее он анонсировал чудо дорогие часы и платформу для разработки приложений под них, пообещав первый релиз SDK на закате ноября. Умные люди быстро сообразили как на этом можно попиариться и срубить немножко франклинов и организовали
Первый В Мире Хакатон для Apple Watch. А мы успешно эту наживку проглотили.
Было очевидно, что часы, сами по себе, на многое не годятся и наилучшим способом приспособлены для отображения нотификаций и данных в реальном времени. А где же брать данные? Правильно, теперь уже где угодно. Интернет просто разрывает от источников данных, но я отправился прямиком на
DataSF.org, чтобы разобраться какие данные по городу Сан-Франциско доступны, в каком виде, и представляют ли они интерес для владельца часов. Наиболее интересными нам показались данные по отчетам полиции, которые содержали информацию о преступлениях с деталями о типе преступления и его географических координатах в рамках города.
Так родилась идея о приложении, которое отображает некоторый уровень криминогенной обстановки в текущем местоположении пользователя. Город разделили на районы, нашли данные по численности населения в каждом из районов и определили простейшую метрику криминогенности, как отношение количества преступлений к популяции населения района с возможность фильтрации по типам преступлений. То есть, если вы вдруг опасаетесь оставить свою машину в текущем районе, вы всегда можете проверить уровень криминогенности отфильтровав только преступления типа вскрытия, грабежа и угона машин. Очень удобно, как для законопослушных владельцев часов, так и для преступников. Одним словом, ситуация Win — Win.
Одно из самых важных условий — это сделать все по красоте. Поэтому я накидал несколько набросков и отправил их своему
другу в город Саров. Спустя 12 часов я получил красивую покадровую анимацию для отображения трех типов состояний: все спокойно, немного волнительно и «настало твое время, Валера».
Далее, изрядно намучавшись с дебагом часов на симуляторе, у нас появилось некоторое глючное, но все-же демо на симуляторе. Всего мы написали веб-сервис на python tornado, который считал метрики криминогенности согласно фильтрам и гео точкам и выдавал наружу REST API. Было реализовано простое приложения на айфоне, которое общалось с нашим сервисом, далее с часами, а также позволяло настроить фильтрацию по преступлениям. На часах крутилось Glance, показывающее всю красоту анимации и приложение отображающее таблицу тип — количество преступлений при нажатии на Glance. Все это в итоге нам не понадобилось, так как судьи удовлетворились очень малым: картинками, да анимацией в симуляторе.
Затем настала пора
питчить за каждый проект. Я довольно
бодро отбарабанил и в итоге судьи нам отдали победу в категории «инновации». Судьям понравилось, что мы использовали «скучные» правительственные данные и обернули их в реальный жизненный кейс.
Довольный собой, я выслушал приятные слова о качестве нашего проекта и выступления от некоторых людей, и уехал домой отсыпаться. Позже нам прислали по одной iTunes карте номиналом в $100, хотя на сайте было обещано Apple Store карты (и я даже планировал отжать карту у своего компаньона, чтобы купить себе новый iPhone, но судьба распорядилась иначе).
Ну, вроде как, в победителях. Уже хорошо. Подбираемся к первому месту.
Кодирование в облаках
Настал момент для глобального хакатона от компании
Koding. Стартап предоставляет что-то типа virtual machine с поддержкой редактора и терминала прямо в браузере. Чтобы заявить о себе на весь мир и привлечь побольше пользователей ребята устроили
глобальный хакатон с отличными призами и спонсорами. И мы тут как тут. Кроме нас на огонек заглянули
2000 команд из всех уголков мира. Русские там тоже были представлены.
Вооружившись темой о проблемах мира и визуалиции мы начали думать и рыскать в поисках подходящих данных. Ничего лучше и структурирование, чем информация о катаклизмах (природные и болезни) в мире мы не нашли, поэтому решили красиво визуализировать все это дело используя стек Web GL. Как нельзя кстати, недолго до этого, я наткнулся на
chrome experiments и на этот вот
симпатичный шарик. У нас получился такой:
Кроме того, мы сделали нарезку клипа Beyonce и положили этот ролик на музыку из этого же клипа. Из всего этого мы сделали стартовую страничку. И, как мне кажется, получилось довольно трогательно. По-крайней мере, моя жена, посмотрев финальный вариант, пустила слезу (или она краем глаза увидела мой код?).
Это был довольно сложный для нас хакатон, так как мы не имели опыта работы с библиотекой Three.js и нам пришлось потратить уйму времени на изучение существующих примеров. Кроме того, мы очень хотели сделать хорошо и качественно, что сыграло с нами злую шутку заставляя задерживаться и полировать совсем незначительные детали.
За 5 минут до конца мы сделали последний коммит, быстро заполнили форму и отправили на суд. Не судите строго, но
вот оно наше творение — http://dserkin.koding.io.
Сначала результаты обещали спустя четыре дня, то есть в четверг, затем их перенесли на понедельник, и вот вчера их окончательно (?) перенесли на четыре дня вперед опять. При этом они организовали
публичное голосование, которое, во-первых, требует наличия фейсбук аккаунтов у голосующих и, во-вторых, явно не способствует распространению справедливости во всем мире.
Наконец-то, мы подошли к тому, ради чего я это все писал и так старался! Я против накруток не в мою пользу, и я призываю вас, хабровчане, оставить свой след в этом межгалактическом хакатоне. Посмотрите
полный список проектов и оцените их по справедливости. Но, так как их там сотня, то я просто скажу, что наша команда называется Red Alert и наша любимая цифра 10. Устройте им хабраэффект! Голосование заканчивается в понедельник с утра по Москве.
Спасибо за внимание и всем привет из солнечной Калифорнии!