Pull to refresh
36
0
Alexander Ratnikov @Fafnir

Software Development Manager

Complete Idiot's Guide: Как начать работать с Google Analytics

Reading time 6 min
Views 13K
image

Рассказываем, что освоить в Google Analytics, если вы новичок и делаете новостное издание, блог компании или другой контентный проект.

  • Как строятся отчеты в Google Analytics.
  • За какими метриками следить и какие специальные отчеты настроить.
  • Какие готовые отчеты Google Analytics подключить.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 5

Kaggle – наша экскурсия в царство оверфита

Reading time 19 min
Views 37K
Kaggle — это платформа для проведения конкурсов по машинному обучению. На Хабре частенько пишут про неё: 1, 2, 3, 4, и.т.д. Конкурсы на Kaggle интересные и практичные. Первые места обычно сопровождаются неплохими призовыми (топовые конкурсы — более 100к долларов). В последнее время на Kaggle предлагали распознавать:


И многое-многое другое.

Мне давно хотелось попробовать, но что-то всё время мешало. Я разрабатывал много систем, связанных с обработкой изображений: тематика близка. Навыки более лежат в практической части и классических Computer Vision (CV) алгоритмах, чем в современных Machine Learning техниках, так что было интересно оценить свои знания на мировом уровне плюс подтянуть понимание свёрточных сетей.

И вот внезапно всё сложилось. Выпало пару недель не очень напряжённого графика. На kaggle проходил интересный конкурс по близкой тематике.Я обновил себе комп. А самое главное — подбил vasyutka и Nikkolo на то, чтобы составить компанию.

Сразу скажу, что феерических результатов мы не достигли. Но 18 место из 1.5 тысяч участников я считаю неплохим. А учитывая, что это наш первый опыт участия в kaggle, что из 3х месяц конкурса мы участвовали лишь 2.5 недели, что все результаты получены на одной единственной видеокарте — мне кажется, что мы хорошо выступили.

О чём будет эта статья? Во-первых, про саму задачу и наш метод её решения. Во-вторых, про процесс решения CV задач. Я писал достаточно много статей на хабре о машинном зрении(1,2,3), но писанину и теорию всегда лучше подкреплять примером. А писать статьи по какой-то коммерческой задаче по очевидным причинам нельзя. Теперь наконец расскажу про процесс. Тем более что тут он самый обычный, хорошо иллюстрирующий как задачи решаются. В-третьих, статья про то, что идёт после решения идеализированной задаче в вакууме: что будет когда задача столкнётся с реальностью.


Читать дальше →
Total votes 66: ↑65 and ↓1 +64
Comments 33

Сигнальные и транспортные протоколы WebRTC: срываем покровы

Reading time 5 min
Views 11K
Наша платформа VoxImplant состоит из нескольких частей: облако, API, SDK для разных платформ. SDK для браузера подключается к облаку по WebSocket и позволяет звонить (и принимать звонки) как другим пользователям VoxImplant, так и на обычные телефоны. Раньше это работало с помощью flash, но в современных браузерах используется специально созданная для работы с голосом и видео технология WebRTC. Штука хорошая, но довольно сложная в использовании: возможность peer-to-peer коммуникаций, одна из ключевых «фишек» технологии, управляется полностью вручную. Чтобы два браузера могли организовать голосовой или видеочат друг с другом, разработчику нужно собрать информация об IP-адресах компьютеров, как-то передать эту информацию между браузерами, запустить NAT Traversal и скормить это все WebRTC. А если обойти NAT не получилось, то еще и предоставить Relay-сервер для передачи данных.

Недавно мы нашли на просторах интернета интересную статью, которая рассказывает технические подробности «передачи информации» между браузерами. Адаптированный для Хабра перевод – под катом.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 7

Яндекс.Алгоритм. Разбор прошлогоднего квалификационного раунда и последний шанс поучаствовать в чемпионате

Reading time 11 min
Views 15K
Как вам известно, вчера завершился очередной чемпионат ACM ICPC. Поздравляем студентов МФТИ, ИТМО, УрФУ и ННГУ с отличным выступлением, ребят из СПбГУ — с 1-м местом. Теперь мы приглашаем всех желающих принять участие в Яндекс.Алгоритме 2016. В этом году финал чемпионата пройдет в Минске.

image

В этом году впервые помимо традиционных призов победители получат возможность попасть на стажировку в Яндекс. 22 мая регистрация закроется и останется только следить за другими участниками в отборочных раундах. Квалификационный раунд продлится в этом году двое суток — с 21 по 22 мая. Раунды вновь будут оцениваться по системе TCM/Time. Для тех, кому интересно, какой сложности задачи их ждут, мы разобрали тур прошлогодней квалификации. Также у вас есть возможность потренироваться на нем.

UPDATE: Уже начался квалификационный раунд Яндекс.Алгоритма 2016, приходите порешать задачи, которые мы обязательно разберем в будущем. На наш взгляд, задачки не хуже, чем в прошлом году.

Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 4

Распознаем лица на фото с помощью Python и OpenCV

Reading time 6 min
Views 159K

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

Что нам понадобится:
• Установленный Python 2.7 с библиотеками NumPy и PIL
• OpenCV 2-й версии

Здесь ссылка на материал по установке всех необходимых компонентов. Установка всего необходимого не составит труда.
Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 11

Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)

Reading time 16 min
Views 90K
То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

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

Итак, магия:


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

Читать дальше →
Total votes 83: ↑82 and ↓1 +81
Comments 64

Consul.io Часть 1

Reading time 7 min
Views 115K
При разработке приложений необходимо уделять особое внимание архитектуре. Если изначально этого не сделать, проблемы масштабирования могут появиться внезапно (а иногда могут не иметь решения). Масштабирование приложения и эффективное использование ресурсов на начальном этапе — это сэкономленные месяцы работы в дальнейшем.
Для предотвращения подобных проблем часто используют распределенную архитектуру, то есть архитектуру с возможностью горизонтального масштабирования всех компонентов. Но к сожалению, при реализации SOA возникают новые проблемы, а именно: связность и сложность конфигурации сервисов.



В данной статье мы расскажем об одном из discovery-сервисов под названием Consul, с помощью которого можно решить вышеизложенные проблемы и сделать архитектуру более прозрачной и понятной.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 8

Как компьютер играет в шахматы?

Reading time 14 min
Views 95K

Хикару Накамура, недавно бросивший вызов компьютеру

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

Если вам интересно, как же устроены шахматные движки — добро пожаловать под кат.
Читать дальше →
Total votes 40: ↑39 and ↓1 +38
Comments 56

Распознавание образов. Начала теории

Reading time 9 min
Views 25K

Введение


В этой статье я задался целью осветить некоторые фундаментальные результаты теории машинного обучения таким образом, чтобы концепции были понятны читателям, немного знакомыми с задачами классификации и регрессии. Идея написать такую статью все четче проявлялась в моем сознании с каждой прочитанной книгой, в которой идеи обучения машин распознаванию рассказывались как бы с середины и совершенно не понятно, на что авторы того или иного метода опирались при его разработке. С другой стороны существует ряд книг, посвященных основным концепциям в машинном обучении, но изложение материала в них может показаться слишком сложным для первого прочтения.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 1

Глубокое обучение в гараже — Братство данных

Reading time 10 min
Views 26K
Пример работы системы
Вы тоже находите смайлы презабавнейшим феноменом?
В доисторические времена, когда я еще был школьником и только начинал постигать прелести интернета, с первых же добавленных в ICQ контактов смайлы ежедневно меня веселили: ну действительно, представьте, что ваш собеседник корчит рожу, которую шлет вам смайлом!

С тех пор утекло много воды, а я так и не повзрослел: все продолжаю иногда улыбаться присланным мне смайлам, представляя отправителя с глазами разного размера или дурацкой улыбкой на все лицо. Но не все так плохо, ведь с другой стороны я стал разработчиком и специалистом в анализе данных и машинном обучении! И вот, в прошлом году, мое внимание привлекла относительно новая, но интересная и будоражащая воображение технология глубокого обучения. Сотни умнейших ученых и крутейших инженеров планеты годами работали над его проблемами, и вот, наконец, обучать глубокие нейронные сети стало не сложнее "классических" методов, вроде обычных регрессий и деревянных ансамблей. И тут я вспомнил про смайлы!

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

Глубокое обучение в гараже — Братство данных
Глубокое обучение в гараже — Две сети
Глубокое обучение в гараже — Возвращение смайлов
Хочу картинок!
Total votes 40: ↑32 and ↓8 +24
Comments 12

52 вопроса, которые вы должны задать на собеседовании

Reading time 4 min
Views 73K
Вы, наверное, уже знаете, что интервью — это не просто очередной этап при устройстве на работу, это также ваша возможность разобраться, подходит ли вам эта работа. Для этого важно задать некоторые вопросы. Что вы хотите знать об этой должности? О компании? О подразделении? О команде? О корпоративной культуре?



Задавать вопросы бывает сложно. Мы это знаем. Для того, чтобы упростить вам это задание, мы приводим список ключевых вопросов для интервью. Мы определённо не рекомендуем задавать их все. Пожалейте рекрутера!
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 13

Звериные Сёги

Reading time 4 min
Views 13K
Не стану скрывать, что я неравнодушен к японской культуре. В детстве я увлекался оригами, став постарше, пошёл на карате. Я взахлёб читал Вурдова, пытаясь уловить смысл заложенный в кандзи и хотя бы немного понять японский язык. С годами, мои увлечения стали менее экстремальными (хотя айкидо я продолжаю заниматься до сих пор). В настоящее время, меня более всего интересуют настольные игры, и это та область, в которой японцам тоже есть чем порадовать. Я уже писал здесь про Го (и возможно продолжу писать), но сегодня я хочу рассказать о другой замечательной игре. Эта игра была придумана для детей (от 2 лет), но её нельзя назвать простой. Как в капле воды, в ней причудливо отразились все особенности её более взрослой сестры. Небольшой размер делает её похожей на головоломку, а возможность продолжительной игры (более 70 ходов, при идеальной игре) внушает уважение. 
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 16

Задачи на собеседованиях в Яндексе

Reading time 15 min
Views 357K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

image
Читать дальше →
Total votes 221: ↑178 and ↓43 +135
Comments 329

Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

Reading time 12 min
Views 160K

Вступление


Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
Читать дальше →
Total votes 86: ↑81 and ↓5 +76
Comments 65

Как Elasticsearch может помочь в поиске подозрительной активности на сайте

Reading time 6 min
Views 12K
Предлагаю читателям «Хабрахабра» перевод статьи «Spotting bad actors: what your logs can tell you about protecting your business» из официального блога Elasticsearch. Статья рассказывает о том, как можно использовать возможности Elasticsearch для анализа логов веб-сервера с целью обнаружения подозрительной активности на сайте.

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

Но на сколько бы изменилась ситуация, если бы мы могли заблаговременно получать развернутую информацию обо всех IP-адресах и подсетях, которые проявляют подозрительную активность и блокировать именно их? Звучит здорово, не правда ли?

Мы можем легко сделать это вместе с Elasticsearch.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 12

Deep learning и Caffe на новогодних праздниках

Reading time 9 min
Views 55K

Мотивация


В данной статье вы познакомитесь c применением deep learning на практике. Будет использован фреймворк Caffe на датасете SVHN.

Deep Learning. Этот buzz word уже давно звенит в ушах, но попробовать его на практике никак не удавалось. Подвернулся удобный случай это исправить! На новогодние праздники был назначен контест на kaggle по распознаванию номеров домов в рамках курса по анализу изображений.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 13

Что нужно знать, чтобы хорошо рисовать?

Reading time 5 min
Views 254K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Total votes 134: ↑128 and ↓6 +122
Comments 113

Pivot: подводные камни и выводы на примере стартапа MoneyHero

Reading time 12 min
Views 26K


Как показывает практика, бизнес-идея в большинстве случаев доходит до своего реального воплощения как минимум после значительных переработок, а зачастую – только после pivot’а – полного перезапуска стартапа, сопровождающегося радикальной сменой бизнес-модели. Связано это, в первую очередь, с тем, что на этапе формирования бизнес-модели основатель еще не знает точно, как она будет реализована в определенном бизнес-сегменте. Другими словами, если вы не работали в данной области раньше, не «погружены» в тонкости ведения бизнеса в конкретной сфере, эта самая сфера вашу бизнес-модель наверняка (и достаточно серьезно) скорректирует или вообще поставит перед фактом невозможности ведения бизнеса в такой форме, в которой он изначально задумывался.

Один из показательных примеров успешных pivot’ов: Groupon, который первоначально задумывался как альтернатива Kickstarter для некоммерческих проектов (в таком виде он не понравился инвесторам, которые не были уверены в возможности монетизации бизнеса). В качестве еще одного показательного примера часто приводят историю Twitter: прежде чем прийти к идее микроблогов его основатели разрабатывали платформу для подкастов Odeo, которая в итоге не выдержала конкуренции с iTunes.

В программе акселерации ФРИИ также принимали участие компании, которые столкнулись с подобными проблемами и с достоинством вышли из сложившейся ситуации, одна из них – стартап MoneyHero. На примере его истории мы попытаемся разобраться в том, как (на примере чужих проб и ошибок) выработать подходы, которые помогут вам оценить выбранную область бизнеса на предмет жизнеспособности вашей идеи, как можно быстрее проверить идею в деле и не совершать распространенных ошибок, сопутствующих стартапам на этом этапе.
Читать дальше →
Total votes 42: ↑31 and ↓11 +20
Comments 11

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time 8 min
Views 174K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →
Total votes 360: ↑338 and ↓22 +316
Comments 85

Итоги Russian Code Cup 2014 и разбор задач

Reading time 15 min
Views 21K

4 октября прошел финальный раунд крупнейшей в России ежегодной олимпиады по спортивному программированию Russian Code Cup. Победителем Russian Code Cup 2014 и обладателем главного приза — $10000 — стал Геннадий Короткевич. Второе место занял Петр Митричев — он получил $5000. Третьим финишировал Егор Куликов, его денежный приз составил $3000. Также в этом году впервые были награждены все участники, вошедшие в первую десятку: обладатели 4-10 мест получили по $1000.
Читать дальше →
Total votes 44: ↑38 and ↓6 +32
Comments 4
1

Information

Rating
Does not participate
Location
Vancouver, British Columbia, Канада
Date of birth
Registered
Activity