• Как я повышал конверсию машинным обучением

      В этой статье я попробую ответить на такие вопросы:
      • может ли один доклад умного человека сделать другого человека одержимым?
      • как окунуться в машинное обучение (почти) с нуля?
      • почему не стоит недооценивать многоруких бандитов?
      • существует ли серебряная пуля для a/b тестов?

      Ответ на первый вопрос будет самым лаконичным — «да». Услышав это выступление bobuk на YaC/M, я восхитился элегантностью подхода и задумался о том, как бы внедрить похожее решение. Я тогда работал продуктовым менеджером в компании Wargaming и как раз занимался т.н. user acquisition services – технологическими решениями для привлечения пользователей, в число которых входила и система для A/B тестирования лендингов. Так что зерна легли на благодатную почву.

      К сожалению, по всяким причинам я не мог плотно заняться этим проектом в обычном рабочем режиме. Зато когда я слегка перегорел на работе и решил устроить себе длинный творческий отпуск, одержимость превратилась в желание сделать такой сервис умной ротации лендингов самостоятельно.
      Читать дальше →
    • Ваш персональный курс по Big Data

        Привет, хабр!

        После публикации нескольких статей по Big Data и Машинному обучению, ко мне пришло немало писем от читателей с вопросами. За последние несколько месяцев мне удалось помочь многим людям сделать быстрый старт, некоторые из них — уже решают прикладные задачи и делают успехи. А кто-то уже устроился на работу и занимается решением реальных задач. Моя цель — чтобы вокруг меня были умные люди, с которыми в том числе и я смогу работать в дальнейшем. Поэтому я хочу помочь тем, кто действительно хочет научиться решать настоящие задачи на практике. В сети присутствует большое количество мануалов о том, как стать ученым по данным (Data Scientist). В свое время я прошел все, что там есть. Однако, на практике порой нужны совсем другие знания. О том, какие именно навыки нужны — я расскажу в сегодняшней статье и постараюсь ответить на все Ваши вопросы.
        Читать дальше →
      • Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

          Вступление


          Давно хотел написать статью про образование в 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, но пытаюсь предложить более-менее универсальную программу).
          Читать дальше →
        • Пишем расширения для PHP на C (Си)

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

            И раз уж Zend предоставил нам такие удобные инструменты, почему бы ими не воспользоваться? Например для оптимизации каких-то процессов, сокрытия своего когда в коммерческих приложениях и встраивания механизма лицензий, реализации многопоточности или для чего-то еще…

            Читать дальше →
          • [видео] Как поставить человека на место: 10 реальных вопросов про давление в переговорах

              Видео про 8 способов противостояния формуле нужды оказалось неожиданно популярным, набрав 8,000 просмотров за два дня. Мы решили продолжить тему.

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

              Мы отобрали 10 самых любопытных, на наш взгляд, вопросов в этой теме и снова заперли в студии Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП и нашего хорошего друга, чтобы он рассказал, что конкретно делать:



              10 реальных ситуаций, которые удалось осветить — под катом:

              Читать дальше →
            • 1000+ часов видео по Java на русском

              • Tutorial
              Добрый день.
              Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
              1. Java Core
              2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
              3. Multicore programming in Java.


              Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

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

              (GolovachCourses.com)


              Здесь собраны несколько вариантов записи моего курса Java Core.
              Модуль #1 (Procedural Java):
              Набор июль 2013: #1, #2, #3, #4
              Набор апрель 2013: #1, #2, #3, #4
              Набор февраль 2013: #1, #2, #3, #4
              Набор январь 2013: #1, #2, #3, #4
              Набор октябрь 2012: #1, #2, #3, #4.
              Читать дальше →
              • +102
              • 1130k
              • 38
            • Путь JavaScript модуля



                На момент написания этой статьи в JavaScript еще не существовало официальной модульной системы и все эмулировали модули как могли.

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

                Вот в JavaScript своя атмосфера — в языке нет официальных модулей, более того все файлы лежат удаленно, один поток приложения. Приходится постоянно решать какие-то странные проблемы с загрузкой, хитро паковать модули в один файлы, чтобы ускорить время загрузки. Бывает, что нужно воевать с двойными стандартами, адаптировать модули другого формата.

                Дело в том, что раньше не думали, что на JavaScript можно делать огромные проекты, а не просто «пропатчить DOM», поэтому о модулях не думали. Да и вообще не думали о будущем. И тут Внезапно будущее нагрянуло! Все вроде-бы уже есть, а модули в JavaScript, мягко говоря, запаздывают. Поэтому разработчикам приходится крутиться и выдумывать какие-то эмуляторы модульности.

                Думаю многие из вас читали прекрасную статью Addy Osmani Writing Modular JavaScript With AMD, CommonJS & ES Harmony, которая стала одной из глав его книги Learning JavaScript Design Patterns в этой статье рассказывается про «современные» JavaScript модули или же читали достаточно старую статью JavaScript Module Pattern: In-Depth 2010 года про «старые» модули.

                Я не буду переводить эти статьи и не буду делать из них солянку. В своей статья я хочу рассказать о моем модульном пути. О том как я проделал путь от «старых» модулей к «новым» и что использую сейчас и почему.
                Читать дальше →
              • Книги, видео и другие материалы по разработке под iOS

                  «Хочу программировать под iPhone — говори, что почитать...»
                  Любимая девушка


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

                  Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
                  Читать дальше →
                • Vim как IDE для веб-разработки, и не только.

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

                    Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

                    Кого-то VIM оттолкнет, показавшись поначалу слишком сложным или неудобным. Однако не стоит недооценивать его гибкость и возможность настройки себя, ведь из VIM можно буквально вылепить идеальный редактор/IDE, таким, каким вы представляете его себе.

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

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


                    Читать дальше →
                  • Поиск подстроки и смежные вопросы

                    Здравствуйте, уважаемое сообщество! Недавно на Хабре проскакивала неплохая обзорная статья о разных алгоритмах поиска подстроки в строке. К сожалению, там отсутствовали подробные описания каких либо из упомянутых алгоритмов. Я решил восполнить данный пробел и описать хотя бы парочку тех, которые потенциально можно запомнить. Те, кто еще помнит курс алгоритмов из института, не найдут, видимо, ничего нового для себя.
                    Читать дальше →
                  • Хабраиндекс для статей по программированию под Android

                      С чего начать?


                      Пишем своё первое приложение на Android
                      Пишем первое приложение для Android
                      Создаем файловый менеджер
                      Основы программирования под Android на примере игры Судоку
                      Создание приложения в стиле Android
                      Спокойной ночи!

                      Читать дальше →
                      • +188
                      • 92.8k
                      • 43
                    • Избранное Хабра в PDF

                        Всех с наступившими!

                        image

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

                        UPD:
                        — Исправлена ошибка «too large on page» (подробнее на github) Спасибо Bifidokk и StreetAngel
                        — Авторы топиков сделаны ссылкой
                        — Добавлена возможность сохранять избранное только из указанных блогов

                        Читать дальше →
                      • Удачная модель ветвления для Git

                        • Translation
                        Перевод статьи Vincent Driessen: A successful Git branching model

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



                        В качестве инструмента управления версиями всего исходного кода она использует Git.

                        Читать дальше →
                      • Основы Linux от основателя Gentoo. Часть 2 (3/5): Управление процессами

                        • Translation
                        В этом отрывке рассмотрены команды управления процессами. Вы научитесь замораживать процессы, размораживать, отправлять в фоновый режим, изменять приоритет, просматривать запущенные процессы и жестоко их убивать. Введено понятие сигналов. Рассмотрены такие команды, как bg, fg, jobs, kill, nohup, nice, renice, ps и top.



                        Навигация по основам Linux от основателя Gentoo:

                        Часть I
                        1. BASH: основы навигации (вступление)
                        2. Управление файлами и директориями
                        3. Ссылки, а также удаление файлов и директорий
                        4. Glob-подстановки (итоги и ссылки)

                        Часть II
                        1. Регулярные выражения (вступление)
                        2. Назначения папок, поиск файлов
                        3. Управление процессами
                        4. Обработка текста и перенаправления
                        5. Модули ядра (итоги и ссылки)


                        Читать дальше →
                      • Ubuntu — Фейс-контроль для входа в систему

                          На OMG! Ubuntu! привели простую инструкцию, как можно прикрутить изображение с камеры для входа в систему. Безопасность данной реализации ещё ожидает своего исследователя, тут же будет дан небольшой перевод заметки и комментарии.

                          Важно! Функция входа в систему пока что не работает в случае, если пользовательский каталог зашифрован.
                          Читать дальше →
                        • Сохраняем видео из Flash Player 10.2 или unlink нам не помеха

                            Я, как, вероятно, и многие другие пользователи Linux, привык сохранять видео с сайтов вроде YouTube, копируя временные файлы, создаваемые Adobe Flash. Примерно так:
                            $ cp /tmp/FlashIBmQCU video.flv

                            Поставив свежий пре-релиз флэш-плеера, который на днях обсуждали на хабре (у меня 64-битная система), я с удивлением обнаружил, что этот способ больше не работает, так как никакие файлы во временном каталоге не создаются. Рассудив, однако, что едва ли плеер хранит видео целиком в памяти, и куда-то он его всё-таки должен писать, я приступил к расследованию.
                            Читать дальше →
                          • Связываем домен и динамический IP

                              Что мы имеем:
                              1. компьютер с осью и установленными mysql, apache, php (тут ничего писать не буду, благо мануалов хватает)
                              2. интернет с присваиваемым динамическим IP, роутер.

                              Что мы хотим:
                              1. Что бы люди вбивая в адресную строку браузера доменное имя второго уровня (купленное нами или полученное на каком либо сервисе), попадали на наш сайт (в независимости от того на каком IP он сейчас находиться).
                              2. Хотим это бесплатно.

                              Итак, то как это было реализовано мной в виде краткой инструкции можно прочитать под катом, быть может кому-нибудь это пригодиться или просто-напросто будет интересно. Так же, буду рад объективной критике. Спасибо за внимание, и кому интересно добро пожаловать под хабракат.

                              Читать дальше →
                            • Shutter — почти идеальная программа для создания скриншотов

                                image

                                После моего тотального перехода на Ubuntu, однажды мне понадобилось сделать скриншот сайта целиком. Я, наивный, открыв FireFox, стал искать свой привычный плагин FireShot, и к глубокому своему разочарованию обнаружил что сие не работает под Linux. Самое удивительное, что я не нашел и достойного аналога этого плагина ни в FireFox, ни в Chromium. Несколькими днями позже я наткнулся на Shutter, программу для снятия скриншотов, и я приступил к изучению этого средства.
                                Осторожно - трафик!