Несколько лет назад я увлекся проектированием системы умного дома и создал для себя удобное пространство, в котором не нужно открывать дверь курьеру или включать настольную лампу для работы. Покажу, что подключил и как работает система. Сразу спойлер: умный дом не зависит от наличия интернета или облачных сервисов.
Пользователь
Ирина — опенсорс русский голосовой помощник. Offline-ready
- Ирина, таймер...
- Ставлю таймер на пять минут.
Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.
TL;DR> Ирина вполне неплохо работает дома 24x7.
Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).
Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".
Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.
Собственный голосовой помощник off-line
Microphone вектор создан(а) storyset - ru.freepik.com
Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.
Но после прочтения статьи и, главное, обсуждений после нее я пришел к выводу, что есть варианты, когда это правда удобно. Собственно, самым ярким мне показался пример с кухонным таймером - не хочется грязными руками что-то трогать - голосовой интерфейс тут идеален. А попробовав приложение и почитав код коллеги @janvarev я понял, что современные средства распознавания уже вышли на очень приличный уровень и легко подключаются в проекты с открытым кодом. Дальше стало интересно сделать что-то более удобное и более стабильно работающее (без обид, но проект "Ирина" у меня не весь заработал при вменяемых затратах времени и настроек там меньше, чем мне хотелось бы).
Особенности консольной инди-разработки в российской провинции
В этой статье я хочу поделиться интересной и возможно кому-то полезной информацией о том, с чем мы столкнулись пока готовили к релизу нашу игру на консоли Xbox One и Steam. А для этого я попробую раскрыть следующие темы:
- Сколько может стоить разработка консольного проекта
- Где мы взяли такие деньги
- Как все подсчитать и иметь представление на что рассчитывать
- Почему мы решили работать без издателя и внешних инвестиций
- Как мы попали в Steam и на Xbox One
- Почему нужно платить и получать возрастные рейтинги
- В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
Как продавать приложения для Mac за пределами App Store
Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже при запуске на новой архитектуре.
Для программистов это значит, что при разработке для платформы Mac у нас есть выбор: мы можем распространять приложения независимо, за пределами Mac App Store, только через Mac App Store или сочетать оба варианта.
Данная статья стала результатом моих размышлений на эту тему. Она задумывалась как руководство по аспектам, которые нужно знать при распространении приложений для Mac за пределами App Store, а не как подробное описание конкретных действий. Надеюсь, что представленная здесь информация поможет новичкам снять завесу тайны с этого процесса, а описание моего собственного процесса будет полезно в качестве опорной точки.
App Store и прямое распространение: плюсы и минусы
Все эти варианты имеют свои достоинства и недостатки. Начнём с того, что некоторые приложения для Mac просто невозможно будет распространять через Mac App Store. Примером этого может послужить моё приложение AirBuddy, которому для обеспечения глубокой интеграции с беспроводными устройствами Apple необходимо запускать системный агент и использовать приватные API, что в App Store запрещено. То же самое относится и ко многим другим видам приложений, которые просто не смогут работать в условиях ограничений «песочницы» Mac.
Для тех же, у кого выбор есть, я составил список плюсов и минусов выпуска в Mac App Store или независимого распространения.
Android Bluetooth Low Energy (BLE) — готовим правильно, часть #2 (connecting/disconnecting)
Подключение, отключение и обнаружение BLE сервисов.
Исследуем энергопотребление Bluetooth LE модуля MLT-BT05
Понадобилось мне один свой проект по-быстрому дополнить возможностью доступа к прибору через Bluetooth. Взгляд мой упал на давно валявшийся в столе модуль MLT-BT05 (такой же, как на КДПВ), с которым когда-то поигрался, убедился в том, что байтики туда-сюда бегают и AT-команды отрабатываются, да и отложил за ненадобностью. На плате прибора был разведен и выведен на разъем свободный UART и оставалось только припаять модуль к его ответной части и дописать соответствующий код в прошивку. Возникал только один вопрос: питание у прибора батарейное, так что лишнее потребление нам ни к чему. Особенно когда модуль не используется. Bluetooth в нем, конечно, Low Energy, но возник вопрос, насколько low эта energy. Поиск не дал результатов -- единственная найденная цифра была "до 50 мА". Значит, придется измерять самостоятельно.
Android Bluetooth Low Energy (BLE) — готовим правильно, часть #1 (scanning)
Scanning.
Разработка NFC приложений для Android
NFC (near field communication) – стандартизированная технология обмена данными на короткие расстояния, позволяющая осуществлять взаимодействия между двумя электронными устройствами простым и интуитивно понятным способом. Например, с помощью оснащенного NFC смартфона вы можете делать покупки, раздавать визитные карты, скачивать купоны на скидки и так далее. Множество новых применений для NFC будет найдено в ближайшее время.
Эта статья описывает технологии, использующие NFC и способы их применения на сегодняшний день. Также показано, как использовать NFC в Android приложениях и, наконец, приведены два примера NFC приложений с исходными кодами.
Способы применения и искажения меткости в играх. Наглядные графики для сравнения
- сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]);
- сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел;
- сравнивая среднее из двух и более случайных чисел (среднее тоже можно считать по разному).
Бонусы к меткости тоже можно реализовать по разному, вызывая тем самым у игроков раздражение по разными причинам.
Точно также по разному можно рассчитывать наносимый урон, особенно на основе дайсов (кубиков).
Все эти разные подходы влияют на игровой процесс: его сложность и предсказуемость. Каждый из них может оказаться удачным решением в зависимости от преследуемых целей, поэтому выгоднее всего делать выбор осознанно.
В статье будут представлены наглядные графики изменения реальных вероятностей в разных подходах, что позволит быстрее в них сориентироваться и принять лучшее решение.
Деревовидный список RecyclerView (без сторонних библиотек и дочерних массивов)
В своей статье я хочу поделиться реализацией деревовидного списка с помощью RecyclerView. Без использования каких-либо дополнительных библиотек и без использования дочернего массива.
Кому интересно, прошу под кат. Постараюсь описать как можно подробнее что да как.
Как перетасовать песни?
Так кто же был прав — мы или пользователи? Как оказалось — и мы, и они. Ну и вообще дело обстояло значительно серьёзнее, чем казалось на первый взгляд.
Наш точка зрения
Ещё в самом первом релизе нашего плеера в нём была функция случайного перемешивания плейлиста. Мы использовали для этого алгоритм Фишера-Йетса — и он давал идеально случайное перемешивание. Но что такое «идеально случайное»? Это значит, например, что мы можем получить один из двух нижеуказанных порядков песен с одинаковой вероятностью (разные цвета означают треки разных исполнителей):
Как получить D-U-N-S number бесплатно
D-U-N-S number — международный идентификатор юридических лиц. В России добровольно его добывают в одном случае: когда в AppStore нужно зарегистрировать компанию-разработчика.
Расскажем, как добыть этот номер бесплатно и сэкономить 12 240.
Умная розетка REDMOND Smart plug SkyPlug RSP-100S (Часть 2). Главный недостаток розетки и его устранение
Как я рассказал в первой части – статье «Умная розетка Redmond SkyPlug RSP-100S. Анализ конструкции и схемы электрической принципиальной. Выявление недостатков», я вынужден был нарисовать схему этой розетки, для того чтобы её доработать. Уж очень меня не устраивал ещё один, на мой взгляд, главный недостаток этой умной розетки, о котором в первой части я не стал говорить. Вообще, я люблю что-нибудь дорабатывать, мне коллеги на работе даже шутят, что если что-то не будет мной доработано, то это что-то – не моё. :)
Cicerone — простая навигация в Андроид приложении
На этой схеме не скелет древнего обитателя водных глубин и не схема метро какого-то мегаполиса, это карта переходов по экранам вполне реального Андроид приложения! Но, несмотря на сложность, нам удалось её удачно реализовать, а решение оформить в виде небольшой библиотеки, о которой и пойдет речь в статье.
Оптическое распознавание символов на микроконтроллере
На сегодняшний день оптическое распознавание символов является частью решения таких прикладных задач, как распознавание и оцифровка текстов, распознавание документов, распознавание автомобильных номеров, определение номеров банковских карточек, чтение показаний счетчиков учета, определения номеров домов для создания карт (Google Street View) и т.д.
Распознавание символа означает анализ его изображения с целью получения некоторого набора признаков для сравнения их с признаками класса [ 1 ]. Выбор такого набора и способы его определения отличают разные методы распознавания, но для большинства из них необходима одномоментная информация обо всех пикселях изображения.
Последнее обстоятельство и достаточно большой объем вычислений делают невозможным использования маломощных вычислительных устройств (микроконтроллеров) для оптического распознавания символов. «Да и зачем?» — воскликнет информированный читатель, «мощности вычислительных устройств постоянно растут, а их цена падает!»[2, 3]. Допустим, что ответ будет такой: просто интересно, возможно ли упростить метод распознавания до такой степени, чтобы можно было бы использовать микроконтроллер?
Новая архитектура Android-приложений — пробуем на практике
Всем привет. На прошедшем Google I/O нам наконец представили официальное видение компании Google на архитектуру Android-приложений, а также библиотеки для его реализации. Не прошло и десяти лет. Конечно мне сразу захотелось попробовать, что же там предлагается.
Рецепты под Android: Scroll-To-Dismiss Activity
Привет! Сегодня мы расскажем, как за минимальное количество времени добавить в свою Activity поведение Scroll-To-Dismiss. Scroll-To-Dismiss – это популярный в современном мире жест, позволяющий закрыть текущий экран и вернуться в предыдущую Activity.
В один прекрасный день нам поступил реквест на добавление такой функциональности в одно из наших новостных приложений. Если вам интересно, как легко добавить такую функциональность в уже существующую Activity и избежать возможных проблем – добро пожаловать под кат.
Настройка Nginx с Let's Encrypt на CentOS 7
Делаем экран загрузки Android приложения правильно
Я должен смотреть на какое-то изображение в течении нескольких секунд, и до тех пор я не могу использовать приложение. И я должен это делать каждый раз после запуска приложения. Я знаю какое приложение я запустил. Я знаю что оно делает. Просто позвольте мне использовать его!
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity