• Pocketsphinx. Распознавание речи и голосовое управление в Linux

    • Tutorial
    — Всё в порядке, Лёня?
    Динамики отрегулированы на максимум, я морщусь, отвечаю:
    — Да. Тише звук.
    — Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
    — Хватит, Вика
    С.Лукьяненко, «Лабиринт отражений»

    Введение


    В 1997-ом году Лукьяненко пророчил для десктопа сочетание CLI и голосового управления. Однако сейчас голосовое управление — достаточно узкая ниша.
    Голосовое управление — взаимодействие с устройством при помощи звуковых команд. Не путайте это понятие с распознаванием речи. Для голосового управления достаточно, чтобы устройство реагировало на единственную нужную команду (ведь ваша собака не может работать машинисткой?). Распознавание речи — гораздо более глобальная проблема: в этом случае устройство должно преобразовывать в текстовый формат все слова, произнесенные вами. Как легко догадаться, распознавание речи на данный момент реализовано поверхностно относительно человеческих возможностей.
    Функционал, рассмотренный в статье, может быть применен, к примеру, для организации модного сейчас «умного дома» или просто управления компьютером. Честно говоря, для описания управления компьютером хватило бы пары абзацев, но я попытаюсь показать вам основы работы с CMU Sphinx.
    Кстати, процентов 70 описанного здесь подойдет и пользователям Windows.
    Научим Linux слушаться?
  • Разбираем магнитно-резонансный томограф


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

      • Перевод


      Как создать чистый интерфейс, используя всего лишь один цвет? Вы узнаете из этой статьи. Перевод «Я люблю ИП».


      Будучи по большому счёту дизайнером-самоучкой, мне всегда было интересно, почему так много статей и сайтов говорят о теории цвета и цветовых палитрах. По моему опыту, вероятность сделать красивый дизайн, использую «сплит-комплиментарную палитру», стремится к нулю.


      У меня есть другое мнение на этот счёт: теория цвета бесполезна.


      Но если теория цвета не является прочной основой для выбора цвета в дизайне интерфейсов, то что тогда является?


      Вот вам мой ответ: модификация цвета. Всё дело в небольших изменениях цвета, а не в их выборе из цветового круга.


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


      Я знаю, что это звучит немного странно. Но послушайте меня, я дам вам практическую инструкцию для адаптации цвета в вашем дизайне.


      Вы готовы? Тогда поехали.

      Читать дальше →
    • Искусственный рассвет

      Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



      — А, что ж так темно-то, Господи? © День радио.

      Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
      Что же делать?
    • Комфортное освещение для работы и отдыха

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

      Эта заметка содержит описание общих принципов создания комфортного освещения и фактическую реализацию бюджетного освещения жилой мастерской.



      Читать дальше →
    • Yet Another Rating System

        Итак, тема рейтинговых систем продолжает будоражить умы хабрапользователей. Появляются всё новые и новые схемы, формулы, тесты. И каждый раз всё сводится к одному и тому же вопросу: как совместить среднюю оценку пользователей с нашей уверенностью в этой оценке. Например, если один фильм получил 80 положительных и 20 отрицательных голосов, а другой — 9 положительных и 1 отрицательный, то какой из фильмов лучше? Не претендуя на создание новой универсальной рейтинговой системы, я всё же предложу один из возможных подходов к решению именно этого вопроса.
        Читать дальше →
      • Некапча Mail.Ru – капча, которая не показывается

          Привет, Хабр! Сегодня я хочу рассказать вам про наш относительно недавно созданный сервис капчи. Этот сервис отличается от аналогичных тем, что нашу капчу никогда чаще всего вообще не требуется разгадывать. Как известно, капча негативно влияет на конверсию — не все могут быстро ее разгадать, особенно если она неоправданно сложная, а часть пользователей уходят с ресурса. И я не знаю таких людей, которые любят ломать глаза и получают удовольствие от процесса разгадывания. Поэтому если избавить пользователя от необходимости вводить еще одно дополнительное поле, то это сделает его немножечко лояльнее.


          Вряд ли кто-то сможет разгадать эту капчу :)

          Если в двух словах, то Некапча — это сервис интеллектуальной капчи, не требующий от человека прохождения проверки. Естественно, без дополнительной информации сервис не может ничего сказать о пользователе. Откуда же ее взять? Дело в том, что у Mail.Ru более 100 млн пользователей, причем большая часть из них авторизована. А это значит, что с запросом на наши домены передаются сессионные куки, по которым мы определяем пользователя, а затем достаем его профиль, статистику, спам-рейтинг и т.д. Вся эта информация подается на вход алгоритма-классификатора, и на выходе мы получаем предположение о том, кем является пользователь — человеком или спам-ботом.
          Читать дальше →
        • Я тебя по блеску в глазах взломаю



            Ян Крисслер (Jan Krissler), тот же биометрический хакер, который красноречиво демонстрирует «уязвимость большого пальца» и который хакнул по фотографии министра обороны Германии, по блеску глаз может узнать ваш пароль/PIN.

            Как показала практика, глаза это не только зеркало души, но и просто зеркало, а значит в него можно подсмотреть, что же творится у вас на экране.

            О том, как распознают напечатанные символы по отражению от глаз и от солнцезащитных очков, читайте под катом
            Читать дальше →
          • Вы неправильно пишете животных

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


              Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

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



                Мы включили в данный список проекты пяти наборов Акселератора ФРИИ. Помимо простого знакомства с нашим портфелем проектов вы сможете оценить наиболее востребованные направления для развития вашего стартапа или карьеры.
                Читать дальше →
              • Black Swift: зачем мы его сделали

                  Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

                  Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



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

                  Читать дальше →
                • Как я покупал 3D-принтер


                    Данный пост является своеобразным предостережением тем, кто задумал купить 3D-принтер. Этот, казалось бы, простой процесс для цивилизованных стран, может вдребезги разлететься о суровые Российские реалии. Я, сам того не ожидая, сумел пройтись по всем возможным граблям, и на собственной шкуре убедился, как же в действительности обстоят дела по «ту сторону экрана». Итак, приглашаю Вас поучиться на чужих ошибках.
                    Читать дальше →
                  • OAuth: описание протокола простым и понятным языком

                      OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

                      Пример кросс-авторизации


                      Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
                      Под катом - повествование с примерами
                    • Продвинутое использование Google Latitude

                        Где я? Или как окончательно уничтожить приватность и показать всем где меня искать!

                        Все кто пользовался версией google maps для мобильных телефонов наверняка уже знают о замечательной функции — Google Latitude. Имея gps приемник и активировав ее в мобильном приложении Вы получаете возможность передавать своим друзьям текущее местоположение, а так же, в свою очередь, видеть их координаты.

                        Замечательная идея, но мне хочется большего!

                        Во первых — я хочу иметь api.
                        Во вторых — хочу получать текущие GPS координаты и записывать их в трек.
                        Ну и главное — хочу показывать свое положение и трек на карте в своем блоге

                        Как это сделать?
                        Читать дальше →
                      • Редакторы кода с помощью javascript

                          Очень часто в web-проектах надо использовать визуальный редактор кода (richtext code editor), похожий на существующие IDE, с номерами строк и подсветкой кода. Наиболее часто он используется в редактировании исходного кода статьи или шаблонов в админке. В этой статье я перечислю существующие скрипты по аналогии со списком WYSIWYG-редакторов.
                          Практически все существующие визуальные редакторы создают iframe и генерируют внутри страницу в соответсвии с данными javascript-объекта, занимающимся всеми задачами по генерации кода и обработке клавиш.
                          Основанные на iframe:
                          • EditArea — наиболее популярный редактор благодаря табуляции, gzip, совместимость пространства имён с другими библиотеками
                          • CodePress — парсит SQL, Perl, C#, XSL, ASP, VBscript. Отдельные движки для разных браузеров (gecko=firefox, ie, opera). Создаётся iframe со внутренним CodePress'объектом с обращением через contentWindow. Сразу внутри скрипта идёт поиск textarea-элементов по классу, так что с динамическими ajax-редакторами прийдётся изменять скрипт. Кроме того нумерация (до 1500) строк сделана при помощи одной картинки
                          • CodeMirror — парсит JS, HTML, CSS

                          Напомню что iframe не соответсвует XHTML спецификации, а с использовать
                          предложенный тэг object с не сильно получится, из-за ограничения на
                          доступ внутренних dom-элементов (поправьте если я неправ).
                          Основанные на div'ах
                          • MDK-editor — самый нормальный редактор, есть контекстное меню. В минусы можно отнести некрасивый скин, небольшую тормознутость и неизвестную лицензию на использование.
                          • Helene — вместо iframe используется фоновый div и динамически позиционируемая textarea поверх. Поскольку изменяется только один ряд, то невозможно выделить нескольких строк сразу
                          • 9ne — похож на консоль, но нет возможности выделения всей строки Shift+End. Эмулирует каретку мигающим div'ом.

                          PS. Аннонсирую что в скором времени выйдет блог-движок моего производства…

                          Оригинал
                        • Мылопикч — изящная защита от спамботов.

                            Месяца два назад занимаясь вечерним сёрфингом совершенно случайно набрёл на блог одного интересного пользователя ЖЖ, некоего sheller888. Собственно блог его интересен был тем, что содержал достаточно большое количество идей разнообразных web-сервисов. Там я и наткнулся на идею создания аналога зарубежного сервиса E-Mail Icon Generator. Проведя небольшой опрос среди своих контактов о востребованности данной идеи, я приступил к её реализации. Таким образом спустя полтора месяца на свет появился проект с незадачливым названием «Мылопикч».
                            Изначально концепция состояла в том, что бы дать возможность посетителям самостоятельно вписывать провайдера e-mail услуг. У данного варианта было достаточно как «+» так и «-».
                            Читать дальше →
                          • Фильтрация контента

                              Я тут задумался об эффективном механизме фильтрации интересующего контента: премодерирование, карма, etc…

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

                              Не знаю, может идея бредовая… я её толком обдумать ещё не успел. :)