Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине

в 11:46, , рубрики: WebGL, Веб-разработка, помогитя, Программирование

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 1

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

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

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

Охотники за продуктами

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 2

Первым делом мы нарвались на достаточно апофеозное событие, а именно хакатон организованный командой Product Hunt (PH). Я думаю, что многие знают, что это за сайт и насколько обширно и популярно его сообщество. Здесь все просто с ума сходят по PH. Для ребят это был первый опыт учреждения хакатона и справились они с задачей, признаться, вполне успешно. Тематикой они выбрали удобную для себя тему, а именно предложили разработчикам пофантазировать на тему использования API своего сайта, ну и просто на свободную тему попрограммировать.

Место проведения мероприятия было устроено в штаб-квартире отца-прародителя Dropbox и Airbnb Y Combinator, что только добавило ажиотажа. Ко всему прочему, призы представляли собой «пакет мечты» для любого стартапера, а именно: организация встречи с ведущими инвест фондами долины, интервью и бесплатные часы коворкинга в Y Combinator. Уточню, что сам факт того, что ты попал в список стартапов Y Combinator практически обеспечивает тебе гарантию прекрасных инвест раундов, при условии, что ты не уйдешь взапой по факту вступления туда.

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 3

Немного поразмыслив, мы пришли к мнению, что самые очевидные и наиболее вероятные проекты лежат в плоскостях статистики по постам, определения царя горы по некоторым псевдометрикам и прочие писькомеры. В голову ничего толкового не приходило, пока я не залез в ящик своего стола и не увидел под слоем пыли уже давно забытые очки от Google. Жаба внутри меня оживилась и предложила все-таки вдохнуть чуточку смысла в те самые $1500 долларов (много рублей), которые я потратил в тайне от жены. Так и появилась идея веб-сервиса клиента Google Glass для сайта Product Hunt. Вы скажете, что это не оригинально и совсем не интересно, и я соглашусь, но тогда мы уверовали, что это будет полезно сообществу (тем самым 3 людям, которые пользуются очками) и внесет некоторую ясность в логотип PH (это я про кошку в очках). Я потом весь вечер там бегал и восклицал «Now it makes sense! Make sense!».

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 4

Отбарабанив условные 48 часов и толком не поспав, я дождался своей очереди и представил (отпитчил) проект, с гордостью продемонстрировав его основателям PH. Те приятно улыбнулись, слегка кивнули и сказали, чтобы я им написал письмо насчет доступа на запись в их базу (для реализации функционала голосования; доступ так и не дали по причине неготовности) и ушли дослушивать оставшиеся проекты и принимать судьбоносное решение. В итоге мы попали в топ-20 список проектов из 300 представленных по всему миру, что, в общем-то, было неплохо для первого раза. А первым на деревне стал проект одного энтузиаста, который пришел под конец первого дня со своим монитором подмышкой, как на работу. Парень явно настраивался очень серьезно и в итоге сломал мои представления о возможностях одного человека и 12 часов времени (при условии, что он не сжульничал и не сделал 90% проекта еще до хакатона). Остальные проекты нам показались достаточно слабыми, впрочем, это все на вкус и цвет.

Немного постояв и поболтав с кем попало, я перекинулся парой фраз с основателем PH Райном, сказав, что они классные, на что получил ответ, что я, «наверное», тоже классный. На этих крыльях я взял пару больших кексов, чтобы как-то объяснить жене мое 2х дневное отсутствие дома (ходил за кексом), и полетел домой отсыпаться.

Яблочные часы

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 5

Наступила осень. Тим Кук признался, что он горд быть Тим Куком, никого впрочем этим не удивив. Немногим ранее он анонсировал чудо дорогие часы и платформу для разработки приложений под них, пообещав первый релиз SDK на закате ноября. Умные люди быстро сообразили как на этом можно попиариться и срубить немножко франклинов и организовали Первый В Мире Хакатон для Apple Watch. А мы успешно эту наживку проглотили.

Было очевидно, что часы, сами по себе, на многое не годятся и наилучшим способом приспособлены для отображения нотификаций и данных в реальном времени. А где же брать данные? Правильно, теперь уже где угодно. Интернет просто разрывает от источников данных, но я отправился прямиком на DataSF.org, чтобы разобраться какие данные по городу Сан-Франциско доступны, в каком виде, и представляют ли они интерес для владельца часов. Наиболее интересными нам показались данные по отчетам полиции, которые содержали информацию о преступлениях с деталями о типе преступления и его географических координатах в рамках города.

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

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

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 6

Далее, изрядно намучавшись с дебагом часов на симуляторе, у нас появилось некоторое глючное, но все-же демо на симуляторе. Всего мы написали веб-сервис на python tornado, который считал метрики креминагенности согласно фильтрам и гео точкам и выдавал наружу REST API. Было реализовано простое приложения на айфоне, которое общалось с нашим сервисом, далее с часами, а также позволяло настроить фильтрацию по преступлениям. На часах крутилось Glance, показывающее всю красоту анимации и приложение отображающее таблицу тип — количество преступлений при нажатии на Glance. Все это в итоге нам не понадобилось, так как судьи удовлетворились очень малым: картинками, да анимацией в симуляторе.

Затем настала пора питчить за каждый проект. Я довольно бодро отбарабанил и в итоге судьи нам отдали победу в категории «инновации». Судьям понравилось, что мы использовали «скучные» правительственные данные и обернули их в реальный жизненный кейс.

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 7

Довольный собой, я выслушал приятные слова о качестве нашего проекта и выступления от некоторых людей, и уехал домой отсыпаться. Позже нам прислали по одной iTunes карте номиналом в $100, хотя на сайте было обещано Apple Store карты (и я даже планировал отжать карту у своего компаньона, чтобы купить себе новый iPhone, но судьба распорядилась иначе).

Ну, вроде как, в победителях. Уже хорошо. Подбираемся к первому месту.

Кодирование в облаках

Настал момент для глобального хакатона от компании Koding. Стартап предоставляет что-то типа virtual machine с поддержкой редактора и терминала прямо в браузере. Чтобы заявить о себе на весь мир и привлечь побольше пользователей ребята устроили глобальный хакатон с отличными призами и спонсорами. И мы тут как тут. Кроме нас на огонек заглянули 2000 команд из всех уголков мира. Русские там тоже были представлены.

Вооружившись темой о проблемах мира и визуалиции мы начали думать и рыскать в поисках подходящих данных. Ничего лучше и структурирование, чем информация о катаклизмах (природные и болезни) в мире мы не нашли, поэтому решили красиво визуализировать все это дело используя стек Web GL. Как нельзя кстати, недолго до этого, я наткнулся на chrome experiments и на этот вот симпатичный шарик. У нас получился такой:

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 8

Кроме того, мы сделали нарезку клипа Beyonce и положили этот ролик на музыку из этого же клипа. Из всего этого мы сделали стартовую страничку. И, как мне кажется, получилось довольно трогательно. По-крайней мере, моя жена, посмотрев финальный вариант, пустила слезу (или она краем глаза увидела мой код?).

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 9

Это был довольно сложный для нас хакатон, так как мы не имели опыта работы с библиотекой Three.js и нам пришлось потратить уйму времени на изучение существующих примеров. Кроме того, мы очень хотели сделать хорошо и качественно, что сыграло с нами злую шутку заставляя задерживаться и полировать совсем незначительные детали.

За 5 минут до конца мы сделали последний коммит, быстро заполнили форму и отправили на суд. Не судите строго, но вот оно наше творение — http://dserkin.koding.io.

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

Наконец-то, мы подошли к тому, ради чего я это все писал и так старался! Я против накруток не в мою пользу, и я призываю вас, оставить свой след в этом межгалактическом хакатоне. Посмотрите полный список проектов и оцените их по справедливости. Но, так как их там сотня, то я просто скажу, что наша команда называется Red Alert и наша любимая цифра 10. Устройте им хабраэффект! Голосование заканчивается в понедельник с утра по Москве.

Спасибо за внимание и всем привет из солнечной Калифорнии!

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине - 10

Автор: diserkin

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js