Search
Write a publication
Pull to refresh
13
0

Android & C++

Send message

Смерть Кощея в списке рекомендаций (можно ли сделать уютным и безопасным Ютюб?)

Reading time7 min
Views4.9K

Вступление коротко: хочу рассказать про онлайн плеер Ютюб для Андроида с локальными плейлистами, каналами и рекомендациями.



Вступление развернутое


Некоторое время назад я столкнулся ровно с такой проблемой, как и автор замечательного приложения Channel Whitelist, и определил для себя к ней ровно такое же отношение: я хочу иметь возможность время от времени давать ребенку планшет или смартфон с мультиками, но меня совершенно не устраивает, куда через 2-3 клика заводит ребенка список рекомендаций в стандартных приложениях — клиентах Ютюб.


К сожалению, после установки приложения Channel Whitelist уже у него был обнаружен другой более прозаичный, но всё равно фатальный недостаток — NIH мне (и, главное, сыну) показался не очень удобным его интерфейс, особенно после привычки использовать плеер YouTube Kids.


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


Основные возможности:


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

Исходники открыты, лицензия GPLv3: https://github.com/sadr0b0t/yashlang/


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

Читать дальше →

Терминальные забавы: 10 классических консольных приколов

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



Текстовые оболочки в UNIX-подобных ОС пригодны не только для выполнения внутренних команд, запуска различных утилит и написания скриптов. Результаты работы некоторых программ могут позабавить забредших на огонек гостей. Редакция блога RUVDS поздравляет читателей с Рождеством и предлагает вспомнить классические консольные шутки, радующие уже многие поколения системных администраторов.
Читать дальше →

На моей визитке работает Linux

Reading time6 min
Views110K
Перевод статьи из блога инженера Джорджа Хиллиарда


Кликабельно

Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов.

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

Я подумал: «Эти процессоры настолько дешёвые, что их практически можно раздавать даром». И через некоторое время ко мне пришла идея сделать голую карточку для Linux в форм-факторе визитной карточки.
Читать дальше →

Flipper Zero — пацанский мультитул-тамагочи для пентестера

Reading time10 min
Views293K
Flipper Zero — Multi-tool Device for Hackers

Warning

Информация в статье устарела, Flipper Zero был полностью пеработан на другой платформе. Актуальная информация в нашем блоге blog.flipperzero.one


Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
Читать дальше →

Как работает оптимизирующий компилятор

Reading time23 min
Views19K

Оптимизирующие компиляторы — основа современного ПО: они позволяют программистам писать код на понятном для них языке, затем преобразуя его в код, который сможет эффективно исполняться оборудованием. Задача оптимизирующих компиляторов заключается в том, чтобы понять, что делает написанная вами входная программа, и создать выходную программу, которая делает всё то же самое, только быстрее.

В этой статье мы рассмотрим некоторые из основных методик приведения (inference techniques) в оптимизирующих компиляторах: как спроектировать программу, с которой компилятору будет легко работать; какие приведения можно сделать в вашей программе и как использовать их для её уменьшения и ускорения.
Читать дальше →

Локализация звуков: как мозг распознает источники звуков

Reading time8 min
Views9.2K


Мир, окружающий нас, наполнен всевозможной информацией, которую наш мозг непрерывно обрабатывает. Получает он эту информацию посредством органов чувств, каждый из которых отвечает за свою долю сигналов: глаза (зрение), язык (вкус), нос (обоняние), кожа (осязание), вестибулярный аппарат (равновесие, положение в пространстве и чувство веса) и уши (звук). Собрав воедино сигналы от всех этих органов, наш мозг может построить точную картину окружающей среды. Но далеко не все аспекты обработки внешних сигналом нам известны. Одной из таких тайн является механизм локализации источника звуков.

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

Что разработчикам надо знать про бизнес

Reading time11 min
Views15K
Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менеджмента), но с точки зрения бизнеса неоптимален. Моя позиция: разработчики должны иметь возможность узнавать всё то, что происходит в компании и на рынке, но без давления. Захотел — копнул и разобрался, не захотел — не надо.

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

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

Aimybox в поиске: фреймворку для создания голосовых ассистентов нужен мастер iOS

Reading time3 min
Views3.8K
Все вокруг говорят про голосовых помощников, Алису, Google Assistant, что они умеют, чего не умеют… А мы взяли и написали фреймворк для создания мобильных голосовых ассистентов. Да еще и с открытым исходным кодом! Пока мы это сделали только для Android, и теперь ищем крутого iOS-разработчика, кто с легкостью портирует Kotlin код на Swift.

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


Будущего нет

Reading time13 min
Views12K
image

Не так давно я закончил и опубликовал в интернете роман «#Даша_на_Луне» — и если вы еще его не читали, то я предлагаю, перед чтением этого текста скачать его и прочитать.

Твёрдая научная фантастика, ближнее будущее, космос, геополитика и всё такое — как вы любите! (Роман задумывался для публикации на Хабре, но не срослось.)

Вот он на Флибусте и на Самиздате

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

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

Но потом со мной случилась Хельга.
Читать дальше →

Решение задачи числа 42 с помощью планетарного суперкомпьютера

Reading time2 min
Views62K
image

Математикам наконец-то удалось найти три куба чисел, сумма которых равна 42. Так была решена задача, над которой ломали голову целых 65 лет: можно ли каждое из натуральных чисел от 1 до 100 выразить как сумму трёх кубов?

Задача, сформулированная в 1954 году, заключается именно в этом: x3+y3+z3=k. K — это каждое из чисел от 1 до 100; вопрос в том, каковы x, y и z?

За прошедшие десятилетия были найдены решения для самых лёгких чисел. В 2000 году математик Ноам Элкис из Гарвардского университета опубликовал алгоритм, упрощающий поиск решений для более сложных чисел.

На текущий год оставались только два самых сложных числа: 33 и 42.

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

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

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →

Что каждому разработчику следует знать с самого начала

Reading time6 min
Views11K
Как разработчик, вы услышите много сумасшедших, невероятных теорий о значении «строк кода». Не верьте ни одной. Строки кода — нелепая метрика. В очень редких случаях она что-то говорит, обычно — ничего. Использование строк кода для принятия решений похоже на оценку качества книги по количеству страниц.

Некоторые могут сказать, что чем меньше строк кода в приложении, тем легче его читать. Это только частично верно. Вот мои метрики для читаемого кода:

  • Код должен быть последовательным
  • Код должен быть информативным
  • Код должен быть хорошо документирован
  • Код должен использовать стабильные современные функции
  • Код не должен быть излишне сложным
  • Код не должен быть неэффективным (не пишите намеренно медленный код)

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

STM32 и USB-HID — это просто

Reading time14 min
Views384K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

«Гори, гори ясно, пока не погасло», или Чем чревато эмоциональное выгорание ваших сотрудников

Reading time10 min
Views58K
Как я хотела прикинуть, что дешевле – уволить выгоревшего сотрудника, «вылечить» или вовсе стараться не допускать выгорания, и что из этого получилось.

Сейчас небольшое вступление, откуда родилась эта тема.

Я почти что разучилась писать. Сначала нет времени; потом кажется, что все, о чем ты можешь/хочешь написать – это очевидно, а потом ты слышишь историю от коллеги из одной известной компании, который рассказывает, что в пятницу в 10 часов вечера их генеральный на полном серьезе уточняет: «Я тут побывал в департаменте разработки 5 минут назад. Почему еще только 10 вечера, а в офисе уже никого нет?»

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

image
Читать дальше →

Автоматическое определение эмоций в текстовых беседах с использованием нейронных сетей

Reading time10 min
Views16K

Одна из основных задач диалоговых систем состоит не только в предоставлении нужной пользователю информации, но и в генерации как можно более человеческих ответов. А распознание эмоций собеседника — уже не просто крутая фича, это жизненная необходимость. В этой статье мы рассмотрим архитектуру рекуррентной нейросети для определения эмоций в текстовых беседах, которая принимала участие в SemEval-2019 Task 3 “EmoContext”, ежегодном соревновании по компьютерной лингвистике. Задача состояла в классификации эмоций (“happy”, “sad”, “angry” и “others”) в беседе из трех реплик, в которой участвовали чат-бот и человек.

В первой части статьи мы рассмотрим поставленную в EmoContext задачу и предоставленные организаторами данные. Во второй и третьей частях разберём предварительную обработку текста и способы векторного представления слов. В четвёртой части мы опишем архитектуру LSTM, которую мы использовали в соревновании. Код написан на языке Python с использованием библиотеки Keras.
Читать дальше →

Беспроводная настройка Raspberry PI 3 B+

Reading time2 min
Views34K

image


Привет,


несколько месяцев назад, приобрел себе малинку, с целью попрактиковатся в embedded-типа разработке. Я уверен, много людей знакомых из Raspberry полагают, что для первоначального запуска микрокомпьютера нужен как минимум RJ45 или монитор, клавиатура и мышь (что лучше). Сегодня будем развенчивать этот миф поисковым запросом raspberry pi headless setup. Для этого будем использовать Wi-Fi сеть и SSH протокол.


Если у Вас уже есть плата и sd-карта, но нет дополнительного монитора и тем более шнура для ethernet, то нужно проделать дополнительные движения, для успешной установки ОС на вашу плату и возможности её использования.


  1. Выбираем желанную ОС (список доступных есть на сайте), скачиваем архив из сайта (я использовал Raspbian)
Читать дальше →

Что такое ассертивность и зачем она нужна

Reading time8 min
Views126K
Ассертивность – это целый комплекс «мягких навыков», которые здорово помогают в личной и рабочей жизни. В широком смысле это умение чувствовать себя уверенно вне зависимости от мнения окружающих и при этом быть в гармонии с другими людьми.

Что такое навыки ассертивности, как их развивать и зачем это нужно? Как отставивать личные границы, не нарушая границ других? Почему ассертивные сотрудники ценны для компаний? Разбираемся вместе с психологом Марией Берлин.


Читать дальше →

10 причин сделать свой скилл для голосового помощника

Reading time3 min
Views5.5K

Количество голосовых приложений для Алисы, Google Ассистента, Маруси и иже с ними стремительно растёт. Кто и зачем разрабатывает навыки, скилы, экшены? Кто-то делает это на заказ, кто-то — в надежде на донат пользователей или премию Алисы. На чём держится энтузиазм остальных авторов? На примере навыков собственного изготовления делюсь мотивами и предлагаю подискутировать на эту тему.
Читать дальше →

О столе для работы стоя, здоровье позвоночника и личной эффективности

Reading time5 min
Views104K

С недавних пор я снова перешёл на 100% работу из дома и стал использовать стол для работы стоя. Хочу поделиться дампом своего опыта на тему здоровья, призвать закончить прокрастинировать и начать работать стоя.



Сначала, о том, почему стол для работы стоя — не панацея...

Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Registered
Activity