• Основы Docker за Х часов и Y дней

    0. Вступление


    Цель данной статьи собрать в небольшую кучку основную информацию, минимально достаточную для того, чтобы начать работать с докер на ежедневной основе и удалить с рабочей машины локально установленные apache, mysql, virtualenv, python3, mongodb, memchaced, redis, php5, php7 и весь остальной зоопарк, который мы используем при разработке, и который зачастую еще и конфликтует между собой от версии к версии.
    Читать дальше →
  • Как правильно «фармить» Kaggle

      image
      *фарм — (от англ. farming) — долгое и занудное повторение определенных игровых действий с определенной целью (получение опыта, добыча ресурсов и др.).


      Введение


      Недавно (1 октября) стартовала новая сессия прекрасного курса по DS/ML (очень рекомендую в качестве начального курса всем, кто хочет, как это теперь называется, "войти" в DS). И, как обычно, после окончания любого курса у выпускников возникает вопрос — а где теперь получить практический опыт, чтобы закрепить пока еще сырые теоретические знания. Если вы зададите этот вопрос на любом профильном форуме, то ответ, скорее всего, будет один — иди решай Kaggle. Kaggle — это да, но с чего начать и как наиболее эффективно использовать эту платформу для прокачки практических навыков? В данной статье автор постарается на своем опыте дать ответы на эти вопросы, а также описать расположение основных грабель на поле соревновательного DS, чтобы ускорить процесс прокачки и получать от этого фан.

      проверить глубину этой кроличьей норы
    • Как понять, что происходит на сервере



        Александр Крижановский ( krizhanovsky, NatSys Lab.)


        По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


        Читать дальше →
      • Обзор курсов по Deep Learning

          Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

          image
          Читать дальше →
        • 5 необычных способов исполнить обещания

          image

          Периодически большинство из нас планирует улучшить свое здоровье, поставить крупные цели и наконец выполнить те дела, которые постоянно откладывались на неопределенное время.
          Но если взглянуть на статистику, то почти 80% из нас потерпит неудачу уже через пару-тройку месяцев, а спустя год заниматься достижением своих целей будут совсем немногие.
          Вот как можно оказаться в той крошечной доле людей, которые дойдут до конца намеченного пути.
          Читать дальше →
          • +8
          • 18.6k
          • 4
        • 10 уроков о том, как повысить продуктивность, которые я усвоил, работая по 90 часов в неделю целый месяц

          • Translation
          image

          Сколько часов в неделю вы тратите на работу? Около 40, не так ли? А как вы думаете, что будет, если работать 90 часов в неделю?

          Автор сайта a Year of Productivity Chris Bailey решил провести такой эксперимент. К чему это привело? Читайте о 10 уроках, которые он извлек, в нашем переводе его статьи.
          Читать дальше →
        • Подборка бесплатных инструментов для разработчиков

          • Translation
          Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

          Читать дальше →
        • Сделайте ваши QR-коды более красивыми

          • Translation
          imageГамильтон Чан является генеральным директором и основателем Paperlinks.
          Используя свободное приложение для iPhone от Paperlinks, рекомендованное Apple как одно из самых нужных и важных приложений, пользователи могут сканировать и просматривать содержимое QR-кодов. Paperlinks также обеспечивает мощную платформу для создания QR-кодов, хранения и отслеживания их посещаемости.

          Читать дальше →
        • Обзор игры Savage для Linux

            «Когда не находилось врагов внешних,
            мы воевали между собой...»


            Вышел из крепости. Спереди — холмы, сзади — холмы, налево и направо простирается дорога. Вокруг привычно суетятся рабочие, возводя стены Арсенала. «Build here!» — раздается сзади голос. Подпрыгнув от неожиданности, бегу помогать рабочим. Краем глаза отметил, как толпа моих сотоварищей гурьбой унеслась куда-то на юго-восток, огибая холмы. Возле крепости остались рабочие и мы с еще одним бедолагой. Вскоре Арсенал был построен, за ним пришла очередь гарнизона, после — башен. Не успели мы возвести первую, как с юго-запада пришли враги. Монстры. Beasts. «Attack this unit!» — голос Командующего, как всегда, раздался из-за спины. В тщетной попытке отбить нападение, мы с моим сотоварищем рванули навстречу. Их было слишком много, к тому же рядом с рядовыми Scavenger'ми, к нам приближалось несколько Stalker'ов. Получив от одного из них когтями в лицо, вырубился, чувствуя, как по венам разливается яд…

            Читать дальше →
          • Мы проанализировали 20 лэндингов крутых стартапов и вот чему мы научились

            • Translation
            main

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

            Это как собрать идеальную девушку из топ моделей или любимых актрис. Только про лэндинги.
            Итак, запаситесь чашкой кофе, понеслась.
            Читать дальше →
          • Рентабельный код

            • Tutorial


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

            Разработка ПО – область, подверженная рискам. В нашей сфере при наступлении одного или нескольких рисков, срок поставки рабочей версии может сдвинуться не на привычные и комфортные 10-20%, а на все 150-300%. И надо признаться, что это далеко не предел.

            Мы можем либо скрестить пальцы и надеяться, что удача будет сопутствовать проекту во всем, либо признать, что по статистике большая часть проектов по разработке ПО «проваливается» и предпринять дополнительные усилия по ослаблению возможных рисков.
            Моя практика показывает, что клиенты крайне неохотно работают по схеме T&M и чаще предпочитают Fixed Price. В условиях зафиксированной стоимости наступление рискового случая означает автоматическое снижение рентабельности проекта: сотрудники получают зарплату ежемесячно, а не за сданные проекты.

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

            Почему об этом следует думать разработчику, если есть менеджер?
            1. Не секрет, что если факап случится, менеджмент примет единственное «супер-умное» решение: «давайте поработаем сверхурочно и в выходные»
            2. Премии сотрудники получают тоже обычно за в срок сданные, а не за проваленные проекты
            3. Чувство сделанного дела, в конце концов. Гораздо приятнее сдать проект во время и видеть улыбку клиента, чем с опозданием в полгода отвязаться от «трудного ребенка»

            С моей точки зрения спокойная рабочая обстановка вместо авралов и бонусы – неплохая мотивация, чтобы начать заботиться об этом.
            Читать дальше →
          • Кроссворд из RegEx

              Crossword Наткнулся в интернете на очередную игру для программистов.
              На этот раз объектом издевательств стали регулярные выражения — авторы сделали Regex Crossword, где вместо вопросов — набор регулярных выражений.
              Описание и правила под катом
            • Пара старых задачек по-массачусетски

              Для некоторых мне известны возможные решения. Некоторые изредка встречаются на собеседованиях, реже чем об обедающих философах. Интересно было ознакомиться, как развлекаются в МассТехе.
              Читать дальше →
            • Java на каждый день и не только. Рекомендации по использованию

              • Translation
              Всем привет!

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



              image
              Java — это язык с мощными стандартными возможностями, но «Большая сила налагает большую ответственность». Я видел много java-кода, в котором чрезмерно (и зачастую — неправильно) использовались «редкие» свойства языка, в то время как основы основ были почти полностью проигнорированы. Эти наблюдения и послужили стимулом к написанию статьи.

              Это не список обязательных к использованию каждым программистом особенностей языка. Скорее наоборот. Я разделил их на 3 группы: "для каждодневного использования", "для периодического использования" и "только для фреймворков и библиотек!". Правило простое: если вы понимаете, что используете указанные свойства чаще, чем рекомендуется, то, скорее всего, ваш код развивается по неправильному пути. Если же наоборот — вы редко используете какие-то свойства, чем я рекомендую, значит вы упускаете какие-то интересные и важные возможности языка.

              Обратите внимание, что я говорю о разработке типичных серверных бизнес-приложений (JVM, JDK, вот это все) и не даю рекомендаций относительно каких бы то ни было фреймворков.
              Читать дальше →
            • Настройка маршрутизатора Asus RT-N56U для доступа к Pandora, Hulu и др. ресурсам

                Введение


                Как известно, для доступа к подобным ресурсам необходимо обладать американским IP-адресом. Всем остальным «счастливчикам» приходилось прибегать к различным ухищрениям, например используя VPN-соединения, плагины к браузерам (например Media Hint для Firefox и Chrome) и тд. Этот плагин действительно дал мне возможность слушать радио на Pandora.com, но вот смотреть Hulu.com так и не удалось.
                Увидев на хабре эту публикацию, решил проверить решение на маршрутизаторе Asus RT-N56U с альтернативной прошивкой от Padavan 3.0.3.0-02.
                Читать дальше →
                • +4
                • 22.5k
                • 9
              • JavaOne/Oracle Develop 2012: общие впечатления. Рассказ с картинками

                  17-18 апреля 2012 года в Москве, в здании Российской Академии Наук прошла, уже вторая по счёту, конференция JavaOne/Oracle Develop. В прошлом году я посещал сие мероприятие и мне очень понравилось, поэтому приобрёл входной билет как только они появились в продаже. К слову, их минимальная стоимость выросла вдвое относительно прошлого года, но осталась вполне адекватной — 1 000 рублей.

                  image
                  Автор фото — Trukhin Yuri

                  На входе встречал известный Java-персонаж Дюк.
                  Читать дальше →
                • Высказывания, выражения и поговорки айтишников

                    Все мы время от времени употребляем устоявшиеся выражения / высказывания в нашей среде. И мне стало интересно, а какие же выражения / высказывания популярны в IT сфере. С этим вопросом я обратился к моей аудитории портала МойКруг. И вот какую обратную связь я получил (предлагаю на этом не останавливаться и активно дополнять этот список):

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

                      Сколько слов в английском языке? Oxford English Dictionary содержит около 500 000 словарных статей, не учитывая специфические научные слова и выражения (которых насчитывается еще порядка 500 000). А как вы думаете, какой средний словарный запас иностранного языка дает вам средняя школа за время обучения? Правильный ответ – около 2500 слов. Мало ли этого набора? Тут уже надо исходить из ваших целей. Для общения с иностранцами на деловые темы – однозначно мало. Для чтения несложных текстов в интернете – более чем достаточно. Если быть точнее:

                      400–500 слов – активный словарный запас для владения языком на базовом (пороговом) уровне.
                      800–1000 слов – активный словарный запас для того, чтобы объясниться; или пассивный словарный запас для чтения на базовом уровне.
                      1500–2000 слов – активный словарный запас, которого вполне хватит для того, чтобы обеспечить повседневное общение в течение всего дня: или пассивный словарный запас, достаточный для уверенного чтения.
                      3000–4000 слов – в общем, достаточно для практически свободного чтения газет или литературы по специальности.
                      Около 8000 слов – обеспечивают полноценное общение для среднего европейца. Практически не нужно знать больше слов для того, чтобы свободно общаться как устно, так и письменно, а также читать литературу любого рода.

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

                      Интересно, а какой средний уровень словарного запаса у рядового пользователя сети и у вас лично? Об этом расскажу дальше.
                      image

                      Читать дальше →
                    • Аппаратное декодирование видео на AMD Radeon в Ubuntu (mplayer)

                        Введение


                        Когда у меня была карточка от Nvidia, вопросов с воспроизведением видео на ней не было: Скачиваешь последний snapshot с сайта mplayer, устанавливаешь проприетарные драйвера, собираешь с поддержкой vdpau, добавляешь соответствующие кодеки и устройство вывода, и всё работает (стоит заметить, что в некоторых дистрибутивах поддержка vdpau уже есть в mplayer).
                        Не давно у меня появился AMD Radeon, при выборе видеокарты мысленные преграды существовали для использования Radeon'a, в том числе касающиеся настройки аппаратного декодирования. Но они были успешно сломлены финансовой стороной вопроса, так и появился у меня AMD Radeon HD с UVD3.
                        Данная статья появилась как результат поиска на тему: как заставить видеокарту декодировать видео + сохранить в качестве заметки на будущее. Итак приступим.
                        Примечание: В комментариях было указано, что это устаревший способ, новый способ описан по ссылке, а готовый скрипт лежит тут.
                        Читать дальше →