Как стать автором
Обновить
0
Карма
0
Рейтинг

Пользователь

  • Подписчики
  • Подписки 24
  • Публикации
  • Комментарии

Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC

Разработка под Android *Беспроводные технологии *Звук
Перед прочтением этой статьи рекомендуется ознакомиться с предыдущей статьёй: Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах / in English

Некоторые пользователи беспроводных наушников отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все аудиоустройства. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.

Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах, путём программных изменений смартфона или компьютера.
Читать дальше →
Всего голосов 100: ↑98 и ↓2 +96
Просмотры 96K
Комментарии 53

Туннели и VPN, устойчивые к DPI

Информационная безопасность *Сетевые технологии *
Мы живем в интересное время. Я бы даже сказал, в удивительное. По одну сторону мы видим неких лиц, которые очень хотят знать, о чем между собой разговаривают другие люди, и очень хотят указывать им, что можно читать, а что нельзя. С другой стороны граждане, которые хотят отстоять свои права тайны личной переписки и свободного получения информации, и не хотят, чтобы факты этой самой переписки и получения этой самой информации были использованы против них. Бонусом страдает огромное количество сторонних сайтов, сервисов и бизнесов, которых задевает «ковровыми блокировками».

Но нет, эта статья не об обществе, а о технологиях.

image
Читать дальше →
Всего голосов 104: ↑100 и ↓4 +96
Просмотры 114K
Комментарии 172

Прерывания от внешних устройств в системе x86. Часть 3. Настройка роутинга прерываний в чипсете на примере coreboot

Open source *Системное программирование *C *
Tutorial
Продолжаем рассматривать настройку прерываний от внешних устройств в системе x86.
В части 1 (Эволюция контроллеров прерываний) мы рассмотрели теоретические основы контроллеров прерываний и общие термины, в части 2 (Опции загрузки ядра Linux) посмотрели как на практике ОС осуществляет выбор между контроллерами. В этой части мы рассмотрим как BIOS настраивает роутинг IRQ на контроллеры прерываний в чипсете.

Никакие современные компании по разработке BIOS (AwardBIOS/AMIBIOS/Insyde) не раскрывают исходники своих программ. Но к счастью есть Coreboot — проект по замене проприетарного BIOS на свободное программное обеспечение. В его коде мы и посмотрим, как настраивается роутинг прерываний в чипсете.



Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 5.4K
Комментарии 5

Симметричные НЧ-ВЧ фильтры: новое слово в цифровой обработке сигналов

Блог компании RUVDS.com Алгоритмы *Математика *Звук
Tutorial
В задачах обработки сигналов часто возникает необходимость фильтрации сигналов, когда сигнал разбивается на узкополосные диапазоны. В бытовом плане мы с этим сталкиваемся при воспроизведении музыки через акустические системы, в которых каждый громкоговоритель (динамик) воспроизводит свою полосу частот, которых обычно три — низкие (НЧ), средние (СЧ) и высокие (ВЧ); для воспроизведения сверхнизких частот иногда выделяют отдельную акустическую систему под названием «сабвуфер». Конкретные границы частот зависят от реализации и ориентировочно находятся на границах 100 Гц, 1 кГц и 5 кГц. Для того, чтобы не было резких скачков громкости между динамиками, используют частичное перекрытие — когда амплитуда воспроизводимой полосы частот плавно спадает на одном, одновременно нарастая на другом.

Наиболее популярными фильтрами для такого разбиения являются фильтры Линквитца-Рейли 4-го порядка, представляющих из себя два последовательно соединённых фильтра Баттерворта, изображение АЧХ которых многим хорошо знакомо:

Читать дальше →
Всего голосов 73: ↑73 и ↓0 +73
Просмотры 8.6K
Комментарии 18

Реальный тест 6 отечественных автомобильных аккумуляторов 2021. Часть 2: фактическая ёмкость

Блог компании RUVDS.com Научно-популярное Энергия и элементы питания Автомобильные гаджеты Транспорт

Зачем вообще нужны тесты стартерных аккумуляторных батарей (АКБ)? — Наверное, затем, чтобы помочь с выбором оптимальной для своего транспортного средства. Автомобилисты об аккумуляторе обычно не задумываются, (пока не подведёт), но без него, как минимум, не завести двигатель, и не будет работать сигнализация.

Продолжаем испытания шести отечественных АКБ премиум-сегмента в корпусе L2:

  • Тюмень Premium 6СТ-60LA
  • Tubor Titan Arctic 62.1VL
  • Space 6СТ-60VLA
  • АкТех Зверь ЗВ-60-3-L 6СТ-60L3У
  • Decus Hard 6СТ-60AH VL
  • АКОМ Reactor 6СТ-62VL

Сегодня речь пойдёт о реальной ёмкости 20-часового разряда по ГОСТ.
Посмотрим, насколько КТЦ поможет устранить последствия саморазряда при хранении
Всего голосов 42: ↑42 и ↓0 +42
Просмотры 6.6K
Комментарии 5

Создаем новое ключевое слово в C++

C++ *Компиляторы *
Tutorial

C++ - один из языков, который можно назвать "легендарным". Его история насчитывает несколько десятилетий, принципы программирования на нем революционным образом менялись не раз, а черновик стандарта уже разросся до 1800+ страниц мелкого шрифта.

На C++ есть много хороших библиотек. Но нередко изменения в самом языке делали неактуальными большие куски кода, потому что они становились менее надёжными и быстрыми по сравнению с функционалом в самом языке. Правки в стандарт имеют несоизмеримо более сильное влияние, чем любая библиотека.

В этой статье мы в учебных целях напишем для C++ поддержку нового ключевого слова defer, которое будет работать во многом аналогично такому в языках Go и Swift. Это будет сделано через правку исходного кода Clang.

Создать!
Всего голосов 91: ↑89 и ↓2 +87
Просмотры 17K
Комментарии 43

Решение цветных японских кроссвордов со скоростью света

Программирование *Алгоритмы *

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


Размер кроссвордов может доходить до 150x150. Игрок с помощью специальных логических приемов вычисляет цвет каждой клетки. Решение может занять как пару минут на кроссвордах для начинающих, так и десятки часов на сложных головоломках.


Хороший алгоритм может решить задачу намного быстрее. В тексте описано, как с помощью наиболее подходящих алгоритмов (которые вообще приводят к решению), а также их оптимизаций и использования особенностей C++ (которые уменьшают время работы в несколько десятков раз) написать решение, работающее почти мгновенно.


Читать дальше →
Всего голосов 92: ↑90 и ↓2 +88
Просмотры 48K
Комментарии 20

Выявляем процессы с дисковой активностью в Linux

Настройка Linux *Системное администрирование *
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Всего голосов 119: ↑117 и ↓2 +115
Просмотры 45K
Комментарии 85

Мелкая доработка прошивки кнопочного телефона на платформе RDA8826 (SC6533, MIPS): отключаем Funbox, взламываем игры

Реверс-инжиниринг *Гаджеты Сотовая связь

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

Купил я телефон Inoi 101: дешевый, но функционально достойный даже на фоне более дорогих моделей. Всё бы хорошо, если бы не нежелательная функциональность, присущая большинству недорогих звонилок:
    * Пробные игры с покупкой полной версии через СМС, причём состояние покупки сбрасывается при полном сбросе устройства;
    * Встроенное меню СМС-подписок "Funbox": гороскопы, анекдоты, новости, прочая платная ерунда.

Попробуем устранить недостатки путём анализа и модификации прошивки.

Читать далее
Всего голосов 113: ↑113 и ↓0 +113
Просмотры 22K
Комментарии 68

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

Информационная безопасность *Реверс-инжиниринг *Сотовая связь

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

Читать далее
Всего голосов 574: ↑573 и ↓1 +572
Просмотры 154K
Комментарии 357

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA

Программирование *Анализ и проектирование систем *Промышленное программирование *FPGA *Производство и разработка электроники *

На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA.

Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называющий себя инженером. А вот что такое TDC, и почему у нас дома их нет, зачастую можно узнать только после свадьбы.

TDC — это time-to-digital converter. По-русски говоря: времяизмерительная система.

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

В этой хабрастатье приводится детальное описание простенькой времяизмерительной системы на FPGA Cyclone IV. Статья будет полезна не только для расширения кругозора, но и с методической точки зрения, поскольку реализация системы нетривиальная.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 9.8K
Комментарии 10

На пути к вершине: Магма и Кузнечик на Эльбрусе

Высокая производительность *Криптография *Процессоры
Из песочницы

В последнее время всё чаще появляются статьи о производительности российских процессоров Эльбрус на различных задачах. Тема криптографии пока что остаётся за кадром, хотя в разное время были упоминания то о высоких возможностях Эльбруса (некий ГОСТ лучше в 9 раз на Эльбрус-4С, чем на Intel Core i7-2600), то о плохой оптимизации компилятора и, соответственно, крайне низкой скорости реализованных алгоритмов (Кузнечик в 100 раз медленнее, чем на Intel?). Предлагаю наконец разобраться, что может Эльбрус, на примере двух ГОСТ алгоритмов симметричного шифрования.

Так что он может?
Всего голосов 46: ↑46 и ↓0 +46
Просмотры 14K
Комментарии 35

Все полезные материалы по Wi-Fi в одном месте

Блог компании CompTek Сетевые технологии *Беспроводные технологии *
Tutorial

image


Никак не можете найти ту самую ссылку на цветовые профили для Wireshark? Забыли, на каком сайте видели удобную стойку для Site Survey? Какой адаптер подходит для Packet Capture на Windows? Закладка с таблицей модуляций осталась в другом браузере?


Мы тоже от этого устали.


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

Пусть всё будет в одном месте
Всего голосов 32: ↑32 и ↓0 +32
Просмотры 35K
Комментарии 25

Как Unix-way убивает десктопный Linux

Блог компании RUVDS.com Open source *Управление проектами *Монетизация IT-систем *Финансы в IT

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

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил
Всего голосов 297: ↑253 и ↓44 +209
Просмотры 76K
Комментарии 1850

Почему в iPhone до сих пор стоят 12 Мп камеры?

Блог компании Droider.Ru Работа с видео *Смартфоны Фототехника Физика
Заметили, что мегапикселей стало как-то очень много? В Samsung готовят матрицы разрешением 600 Мп, уже есть — 108 Мп, а вот в iPhone, по-прежнему, 12 Мп. Почему так?

Вы наверное думаете, что всё дело в Deep Fusion и других волшебных алгоритмах. Отчасти, да. Но дело не только в них.


А что если я вам скажу, что в iPhone гораздо больше мегапикселей, чем мы думаем. А в Samsung, наоборот, гораздо меньше. Смотря как посчитать эти мегапиксели. Что это еще за заговор такой? Давайте разберемся!
Всего голосов 114: ↑112 и ↓2 +110
Просмотры 56K
Комментарии 146

Как я нашел в публичном доступе исходники нескольких сервисов ФНС

Информационная безопасность *Ненормальное программирование *Исследования и прогнозы в IT

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

Читать далее
Всего голосов 294: ↑286 и ↓8 +278
Просмотры 94K
Комментарии 183

Rutracker включил eSNI. Конец эпохи DPI и конец блокировок

Сетевые технологии *
Из песочницы


Несмотря на желтый заголовок, дальше будет не желтая статья. Всех нас (я надеюсь именно здесь я наконец-таки смогу сказать от всего сообщества) уже достали действия Роскомнадзора. А также его постоянное появление в рекомендованном на хабре. Поэтому эта новость вам понравится. Хоть что-то важное. Новость кстати еще от декабря 2018.
Читать дальше →
Всего голосов 205: ↑196 и ↓9 +187
Просмотры 183K
Комментарии 361

VPN на роутере Билайн для обхода блокировок

Сетевые технологии *
Из песочницы

Билайн активно вводит в своих домашних сетях технологию IPoE. Данный подход позволяет авторизовать клиента по MAC-адресу его оборудования без применения VPN. При переводе сети на IPoE VPN-клиент роутера становится незадействованным и продолжает настойчиво стучаться в отключенный провайдерский VPN-сервер. Нам остается только перенастроить VPN-клиент роутера на VPN-сервер в стране, где не практикуются блокировки интернета, и вся домашняя сеть автоматически получает доступ к google.com (на момент написания статьи этот сайт был заблокирован).

Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 27K
Комментарии 13

Домашний DPI, или как бороться с провайдером его же методами

Настройка Linux *Nginx *Lua *

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1 +244
Просмотры 192K
Комментарии 180

Тернистый путь Hello World

C++ *Assembler *C *Разработка под Linux *
Tutorial

Вдохновение на написание данной статьи было получено после прочтения похожей публикации для архитектуры x86 [1].


Данный материал поможет тем, кто хочет понять, как устроены программы изнутри, что происходит до входа в main и для чего всё это делается. Также я покажу как можно использовать некоторые особенности библиотеки glibc. И в конце, как и в оригинальной статье [1] будет визуально представлен пройденный путь. В большинстве своём статья представляет собой разбор библиотеки glibc.


Итак, начнём наш поход. Будем использовать Linux x86-64, а в качестве инструмента отладки — lldb. Также иногда будем дизассемблировать программу при помощи objdump.


Исходным текстом будет обычный Hello, world (hello.cpp):


#include <iostream>
int main()
{
        std::cout << "Hello, world!" << std::endl;
}
Читать дальше →
Всего голосов 76: ↑75 и ↓1 +74
Просмотры 28K
Комментарии 4

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность