• End2End-подход к пониманию разговорной речи

      Существует несколько подходов к понимаю машиной разговорной речи: классический трехкомпонентный подход (включает компонент распознавания речи, компонент понимания естественного языка и компонент, отвечающий за некую бизнес-логику) и End2End-подход, который предполагает четыре модели реализации: прямую, совместную, многоступенчатую и многозадачную. Рассмотрим все плюсы и минусы этих подходов, в том числе на основе экспериментов компании Google, и подробно разберем, почему End2End-подход решает проблемы классического подхода.

      Читать дальше →
      • +7
      • 19,7k
      • 1
    • Пишем свой язык программирования, часть 2: промежуточное представление программ

      • Tutorial
      image

      Введение


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

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

      В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.
      В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.

      Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.

      Сайт
      Репозиторий
      Читать дальше →
      • +14
      • 12,2k
      • 1
    • Как найти компанию спонсора визы в США. Tips and Tricks

      image


      Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер.


      Сперва расскажу про рабочие визы, а потом как и где искать работодателя.

      Читать дальше →
    • Разум начался, когда боги прекратили разговаривать

      • Перевод

      Как знаменитая теория 1970-х Джулиана Джейнса чувствует себя в эпоху нейробиологии




      Весь набор вещей Джулиана Джейнса умещался в паре чемоданов, когда он жил в общежитии Принстонского университета в начале 1970-х. Он, наверное, очень странно смотрелся среди студентов, некоторые из которых знали его, как преподавателя философии, разговаривавшего глубоким баритоном. Ему было немного за 50, он довольно сильно пил, не имел работы на полную ставку, и она его, вероятно, не интересовала. Позиция его была шаткой. «Не думаю, что университет платил ему постоянную зарплату», — вспоминает Рой Баумейстер, бывший тогда студентом Принстона, а сегодня — профессор психологии в Флоридском университете. Но, находясь среди молодых обитателей общежития, Джейнс работал над своим шедевром, над которым до того трудился уже много лет.

      С шести лет Джейнса поражала уникальность сознания. Разглядывая жёлтые цветы форзиции, он думал о том, можно ли быть уверенным в том, что другие видят такой же жёлтый цвет, как и он. В молодости он провёл три года в пенсильванской тюрьме за отказ работать на поддержку войны. Как-то весной он, наблюдая за червяком во дворе тюрьмы, размышлял, что отличает неразумную землю от червя, а червя — от него самого. Подобные вопросы занимали его до конца жизни, а книга, над которой он работал, захватит целое поколение, начавшее задаваться похожими вопросами.
      Читать дальше →
    • Алгоритмический подход к лечению бессонницы

      • Перевод
      Автор материала рассказывает, как ему удалось побороть бессонницу с помощью математики.



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

      Обычно все начинается с активной работы ума вечером. Активность может быть связана с поиском решения непростой задачи на работе, или воспроизведением в голове живой беседы, произошедшей за ужином. Или я путешествую и потому пребываю в возбужденном состоянии. То есть это далеко не всегда напряженные мысли, скорее очень увлекательные. Я иду спать, но мой разум не успокаивается. Полчаса спустя я понимаю, что не сплю и начинаю думать, что мне пора бы уже уснуть, поскольку завтра много дел. И это только усугубляет ситуацию. Я начинаю становится недовольным собой и корить себя: «Что не так? Завтра буду ходить недовольный. Мне очень надо попробовать уснуть». И так повторяется до изнеможения. Часами на пролет я лежу без сна.

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

      • Tutorial
      A forwarding entity always forwards packets in per-flow order to
      zero, one or more of the forwarding entity’s own transmit interfaces
      and never forwards a packet to the packet’s own receive interface.
      Brian Petersen. Hardware Designed Network

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

      А через 10 минут он закажет такси через приложение на телефоне, и ему не придётся даже брать с собой в дорогу наличку.

      В аэропорту он купит кофе, расплатившись часами, сделает видеозвонок дочери в Берлин, а потом запустит кинцо онлайн, чтобы скоротать час до посадки.

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

      Это ли не электрическая магия?

      В своём вояже к QoS, теме обещанной многократно, мы сделаем ещё один съезд. На этот раз обратимся к жизни пакета в оборудовании связи. Вскроем этот синий ящик и распотрошим его.


      Кликабельно и увеличабельно.

      Сегодня:


      1. Коротко о судьбе и пути пакета
      2. Плоскости (они же плейны): Forwarding/Data, Control, Management
      3. Кто как и зачем обрабатывает трафик
      4. Типы чипов: от CPU до ASIC'ов
      5. Аппаратная архитектура сетевого устройства
      6. Путешествие длиною в жизнь

      Читать дальше →
    • Почему нельзя сравнивать усилители для наушников с позиции громкости по их мощности?



        Мы привыкли к тому, что обычно громче играет тот усилитель, у которого выходная мощность выше в одинаковых условиях (одинаковая нагрузка и сопоставимые искажения). Так почему это правило дает сбой с усилителями для наушников? Как же их сравнивать?
        Читать дальше →
      • Позвоночник гика, или Матрас, на котором мы спим, не менее важен, чем кресло, в котором мы работаем

          На Хабре тема правильного рабочего стола и кресла поднималась неоднократно. Так как нам, программистам, приходится много сидеть в течение рабочего дня, спина рано или поздно дает о себе знать, и с годами оказывается мало заботиться о ней только днем. Вы часто употребляете фразу "утром добрым не бывает?" Хватит это терпеть! Мой текст написан для вас. Матрас, на котором мы спим, не менее важен, чем кресло, в котором мы работаем.



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

          Читать дальше →
        • Заметки к самостоятельному изучению французского языка

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

            Первый подход к французскому у меня состоялся почти 8 лет назад. Воодушевленный успехами в английском, который я довольно неорганизованно учил со школы и который резко пошел в гору при поступлении в иностранную компанию, я решил взяться за французский. Как известно, в английском языке добрая половина слов имеет романское происхождение, поэтому мне захотелось укрепить свой английский познанием французского. Еще хотелось, например, иметь возможность прочитать «Войну и Мир», без необходимости обращаться к сноскам в французских цитатах. Звучание французского языка и французская культура меня не сильно интересовали, и каких-то романтических побуждений к изучению «языка любви» у меня не было.
            Читать дальше →
          • Блокчейн 101: книги, исследования и статьи по теме

              Мы подготовили дайджест из 30 полезных материалов о блокчейне: это книги, статьи, видео для тех, кто «что-то слышал, но хочет лучше разобраться в теме». Этот список мы формировали на основе собственных материалов и исследований, а также рекомендаций резидентов платформ Hacker News, Quora, Reddit.

              Как устроены смарт-контракты, как объяснить концепцию биткойна ребенку и (самое интересное) как сделать свой собственный блокчейн — обо всем под катом.

              Читать дальше →
              • +16
              • 32,6k
              • 4
            • Секреты React и Redux при разработке веб-приложений

              • Перевод
              image Здравствуйте, уважаемые читатели! Совсем скоро у нас выйдет новая книга о технологиях React и Redux, оригинал — O'Reilly, май 2017

              Чтобы обрисовать масштабы бедствия круг проблем, которые могут возникать при создании веб-приложений с использованием таких технологий, предлагаем сокращенный перевод статьи Сэмюэла Менденхолла (от 15 ноября), где рассмотрены тонкости работы с React, Redux, Typescript и рассказано, как устранить и упредить проблемы с производительностью в таких приложениях.
              Читать дальше →
            • Оптимизация фронтенда. Часть 2. Чиним tree-shaking в проекте на webpack


                Итак, если специально не чинить, tree-shaking в webpack не работает. Кто не верит, читайте мою предыдущую статью. Если починить очень хочется, то добро пожаловать под кат. Тут есть несколько вариантов, которые я смог подсмотреть, найти придумать.

                Читать дальше →
                • +18
                • 10,9k
                • 7
              • Введение в нейросети

                • Перевод
                image

                Искусственные нейронные сети сейчас находятся на пике популярности. Можно задаться вопросом, сыграло ли громкое название свою роль в маркетинге и применении этой модели. Я знаю некоторых бизнес-менеджеров, радостно упоминающих об использовании в их продуктах «искусственных нейронных сетей» и «глубокого обучения». Так ли рады были бы они, если бы их продукты использовали «модели с соединёнными кругами» или «машины „совершишь ошибку — будешь наказан“»? Но, вне всяких сомнений, искусственные нейросети — стоящая вещь, и это очевидно благодаря их успеху во множестве областей применения: распознавание изображений, обработка естественных языков, автоматизированный трейдинг и автономные автомобили. Я специалист по обработке и анализу данных, но раньше не понимал их, поэтому чувствовал себя мастером, не освоившим свой инструмент. Но наконец я выполнил своё «домашнее задание» и написал эту статью, чтобы помочь другим преодолеть те же самые препятствия, которые встретились мне в процессе моего (всё ещё продолжающегося) обучения.

                Код на R для примеров, представленных в этой статье, можно найти здесь в Библии задач машинного обучения. Кроме того, после прочтения этой статьи стоит изучить часть 2, Neural Networks – A Worked Example, в которой приведены подробности создания и программирования нейросети с нуля.
                Читать дальше →
              • Как следить за трендами на GitHub

                  Logo


                  В разделе trending на GitHub отображается список проектов, активно набирающих звезды в течение дня, недели или месяца. Все самое интересное, что появляется в open source для каждого языка программирования, всегда оказывается в этом списке. Сегодня хочу поделиться способом, как с помощью GitHub уведомлений подписаться на появление новых «звездных» проектов и не пропустить что-нибудь полезное для себя.
                  Читать дальше →
                • Must have книги для прокачки английского. Подборка от преподавателей

                  • Tutorial

                  Зона комфорта — это зло. Хоть и приятное, даже очень. Но зло. Особенно, если речь идет о саморазвитии и изучении языков. Если каждый день в работе использовать довольно простые лексику и грамматику с минимальными изменениями, есть большая вероятность, что вы начнете забывать всякие там Conditionals или Future Perfect. Конечно же, нужно поддерживать язык на должном уровне и развивать его, поэтому мы попросили наших преподавателей поделиться книгами, которые им в этом помогают. Так что готовьтесь к подборке для высоких уровней и не только!

                  Произношение


                  Ship or Sheep? An Intermediate Pronunciation Course

                  В этом пособии вы найдете неплохой тест, который покажет ваши слабые стороны (всякие там “сри” или “фри”). Даже если ничего подобного не обнаружится, учебник стоит пройти от начала до конца, и вот почему:
                  Читать дальше →
                • Тестирование React-Redux приложения

                  • Tutorial
                  image

                  Время чтения: 13 минут


                  Много ли вы видели react разработчиков, которые покрывают свой код тестами? А вы-то тестируете свои? Действительно, зачем, если мы можем предсказать состояние компонента и стора? Ответ довольно прост: чтобы избежать ошибок при изменениях в проекте.

                  Всех, кого заинтересовало, приглашаю под кат.
                  Читать дальше →
                • Мир, в котором IPv6 придуман хорошо

                  Перевод статьи Avery Pennarun, одного из сотрудников Google, о том, почему современный интернет такой, какой он есть, об истории и предпосылках создания IPv6, а также о том, как был бы устроен идеальный протокол IPv6, почему это не так и как можно к этому идеалу приблизиться.
                  Читать дальше →
                • Окружение для разработки веб-приложений на TypeScript и React: от 'hello world' до современного SPA. Часть 1

                  Цель данной статьи — вместе с читателем написать окружение для разработки современных веб-приложений, последовательно добавляя и настраивая необходимые инструменты и библиотеки. По аналогии с многочисленными starter-kit / boilerplate репозиториями, но наш, собственный.

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

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

                  image
                  Читать дальше →
                • Паттерны React

                  Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «React Patterns» Майкла Чана, с некоторыми моими примечаниями и дополнениями.

                  Прежде всего хотел бы поблагодарить автора оригинального текста. В переводе я использовал понятие «Простой компонент» как обозначение Stateless Component aka Dump Component aka Component vs Container
                  Конструктивная критика, а так же альтернативные паттерны и фичи React приветствуются в комментах.

                  Оглавление
                  • Простые компоненты — Stateless function
                  • JSX распределение атрибутов — JSX Spread Attributes
                  • Деструктуризация аргументов — Destructuring Arguments
                  • Условный рендеринг — Conditional Rendering
                  • Типы потомков — Children Types
                  • Массив как потомок — Array as children
                  • Функция как потомок — Function as children
                  • Функция в render — Render callback
                  • Проход по потомкам — Children pass-through
                  • Перенаправление компонента — Proxy component
                  • Стилизация компонентов — Style component
                  • Переключатель событий — Event switch
                  • Компонент-макет — Layout component
                  • Компонент-контейнер — Container component
                  • Компоненты высшего порядка — Higher-order component

                  Поехали!
                  Читать дальше →