Как стать автором
Обновить
4
0
Dmitry Key @dmitryrf

embedded

Отправить сообщение

Поколение, затерянное на базаре

Время на прочтение 9 мин
Количество просмотров 75K
«Качество появляется только тогда, когда кто-нибудь несёт ответственность лично».
— Фредерик Ф. Брукс



Привет, хабр!

Предлагаю вашему вниманию вольный перевод эссе "A Generation Lost in the Bazaar" Пола-Хеннинга Кампа, повествующего нам о печальной судьбе поколения IT-профессионалов, выросших в период бума доткомов, а также о фундаментальных проблемах в UNIX, напрямую влияющих на качество и портабельность ПО. Обо всём по порядку.
Читать дальше →
Всего голосов 187: ↑174 и ↓13 +161
Комментарии 74

Краткое введение в GNU autoconf

Время на прочтение 5 мин
Количество просмотров 48K
I saw a book entitled «Die GNU Autotools» and I thought «My feelings exactly». Turns out the book was in German1. ©

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

Так же следует понимать, что именно autoconf системой сборки не является вообще, это система конфигурации перед сборкой. autoconf почему-то многие считают неким монстром, «проверяющим 15 давно несуществующих версий компилятора Fortran, а потом поддержку ключей этими компиляторами», что не совсем верно, ибо оно делает ровно то, что ему скажут. Другое дело, что многие просто копипастят его конфиг из проекта в проект, в итоге результат получается ужасающим.

В данной статье (планируется всё же осилить цикл) я хотел бы рассказать про autoconf, зачем он нужен и как его использовать.
Читать дальше →
Всего голосов 66: ↑62 и ↓4 +58
Комментарии 25

Всё про USB-C: ответ через протокол PD

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 7.6K

В последней статье мы настроили FUSB302 на получение сообщений USB PD и успешно получили «оповещение о возможностях» от БП с USB-C. В этой же статье мы обратимся к спецификации PD, спарсим сообщение, после чего создадим ответ, который заставит БП подать максимально возможное напряжение.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Комментарии 4

Инструкция для налаживания сна

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 8K

Эта инструкция собрана из рекомендаций Эндрю Хьюбермана и бота Слипи (его можно найти в телеграмме по ссылке: https://t.me/sleepyrobot).

Для начала, определимся с нормой. Нормальный здоровый сон — это когда вы засыпаете за 15-20 минут (если вы отрубаетесь сразу, то у вас может быть переутомление), спите не просыпаясь 7-10 часов (или не помните, что просыпались), просыпаетесь более-менее быстро (минут за 5-7), но главное — на утро вы чувствуете себя хорошо. Не «нормально, жить буду, щас только два литра кофе в себя волью», не так, как будто вас переехал камаз, а на сдачу раскатало асфальтоукладчиком, а хорошо. Все, что мимо — уже не норма.

Читать далее
Всего голосов 27: ↑23 и ↓4 +19
Комментарии 27

Когнитивные искажения, о которых стоит помнить

Время на прочтение 15 мин
Количество просмотров 76K

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

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

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

Читать далее
Всего голосов 95: ↑87 и ↓8 +79
Комментарии 36

Кошелек Дурова, или Telegram, который становится первым мировым супераппом

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 84K

О том, как Павел Дуров и Илон Маск взяли курс на борьбу за власть над всем миром: WeChat, глобальные платежные системы и провал Цукерберга.

Читать далее
Всего голосов 66: ↑49 и ↓17 +32
Комментарии 130

Обзор ноутбука Ninkear A15 Plus: AMD Ryzen7, 32ГБ/1ТБ, приличная автономность и алюминиевый корпус

Время на прочтение 18 мин
Количество просмотров 5.1K

Ninkear A15 Plus это тонкий металлический ноутбук с диагональю экрана 15,6″ на базе мощного процессора AMD Ryzen 7 5700U. Ноутбук оснащен 32 GB оперативной памяти и NVMe SSD-накопителем на 1 TB. Звучит неплохо, но это далеко не все преимущества: сканер отпечатков пальцев, поддержка зарядки от USB-C, полноразмерная клавиатура с подсветкой, огромный тачскрин с поддержкой жестов, бесшумная система охлаждения и конечно же современные интерфейсы. Кроме этого ноутбук получил внушительный аккумулятор, который позволяет работать ему от одного заряда целый рабочий день.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 18

GHIDRA vs. IDA Pro

Время на прочтение 12 мин
Количество просмотров 47K


Приветствую,


Думаю, пришла пора. Наболело/накипело/есть мнение. С выходом Гидры ситуация с инструментарием для реверс-инженеров достаточно сильно изменилась. Если раньше выбора чем пользоваться особо не было (здесь не будут упоминаться Binary Ninja, Hopper, JEB или Radare2, потому как в известных мне ИБ-компаниях и комьюнити ими пользуется очень малое количество человек, либо же порог вхождения в некоторые (привет, Радар) очень высок, либо же покрытие архитектур ограничено лишь x86/x64/ARM/ARM64/MIPS), то теперь мы имеем очень мощного конкурента Hex-Rays в лице АНБ с их GHIDRA.

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

Бесплатные курсы для изучения C++ в 2024 году

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 37K


В 2024 году в сети доступно множество бесплатных ресурсов для изучения C++, которые предлагают высокое качество обучения. Поэтому нет необходимости платить за курсы, если вы можете получить все необходимые знания бесплатно.

Учить C++ в 2024 году по бесплатным курсам имеет несколько преимуществ. Вот несколько причин, почему это стоит делать:

1. Популярность языка: C++ является одним из самых популярных языков программирования, который широко используется в различных областях, включая разработку игр, системное программирование и мобильные приложения. Изучение C++ может открыть перед вами множество возможностей в карьере.

2. Высокая производительность: C++ известен своей высокой производительностью и эффективностью. Он позволяет разрабатывать быстрые и оптимизированные приложения, особенно в сферах, где требуется работа с большими объемами данных или высокая скорость выполнения.

3. Множество полезных библиотек: C++ предоставляет широкий набор инструментов и библиотек для разработки приложений.

4. Доступно множество полезных ресурсов: Язык C++ очень популярный, существует множество различных онлайн-ресурсов, форумов и сообществ, где можно получить помощь и поддержку от опытных разработчиков.

Читать
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 18

Лазерный DIY или как с помощью дешевого гравера делать качественные платы

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 30K


Привет, Хабр!

В этой статье хочу поделиться своей историей, как спонтанная покупка на местном маркетплейсе упростила процесс изготовления прототипов печатных плат в домашних условиях, сэкономив время, при этом повысив качество. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 93: ↑92 и ↓1 +91
Комментарии 94

Загрузка драйверов в ядре Linux

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 7K

Почти все знают, как написать простой драйвер под Linux. На эту тему много материалов в сети. Очень мало информации о том, что находится "под капотом" у процедуры загрузки драйверов.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 4

Восстановление данных с M.2 NVMe SSD. Скрипт ddrescue-loop v0.2

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 16K

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

Представляю доработанную версию скрипта ddrescue-loop с поддержкой управления USB реле и uhubctl.

Для прерывания питания SSD задействовал простое и дешевое решение USB Relay Module LCUS-1 CH340 которые доступны на Aliexpress. И подключение через док станцию AgeStar 31CBNV1C на основе USB-NVMe моста JMicron JMS583.

Рассмотрим процесс восстановления на примере случая с неисправными M.2 NVMe SSD производства Kimtigo на контроллере Maxio MAP1202.

Погнали!
Всего голосов 42: ↑42 и ↓0 +42
Комментарии 11

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 80K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Всего голосов 370: ↑369 и ↓1 +368
Комментарии 156

Разработка для Sailfish OS: Работа с Bluetooth

Время на прочтение 16 мин
Количество просмотров 4K
Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке для мобильной платформы Sailfish OS. На этот раз речь пойдёт об использовании Bluetooth для установки соединения между двумя устройствами и передачи данных.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Пример исследовательского реверс-инжиниринга приложения Zone Launcher

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 6.1K

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

Читать далее
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 12

Pet-проект «Наручные часы на светодиодах»

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 15K

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

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

Про наручные часы со светодиодами
Всего голосов 155: ↑155 и ↓0 +155
Комментарии 83

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio)

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 2K

Обзор технологии беспроводной передачи данных BLE 5.3.
Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 2

IMSProg — программатор для CH341a в Linux

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 13K

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

Читать далее
Всего голосов 67: ↑67 и ↓0 +67
Комментарии 43

Фантастический OpenRISC и где он обитает, или недетский разбор детской камеры

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 16K

После запуска Doom на кнопочном телефоне, я искал устройства на которых можно это повторить. К ним есть требования: цветной экран и несколько мегабайт памяти (идеально 4, но можно запустить и на двух). Видел счётчик электричества и USB тестер, то и другое есть с цветными экранами. Но покупать не стал, потому что скорее всего такие устройства имеют лишь десятки килобайт памяти, как и мощный чип им не нужен. Наконец на распродаже на известном китайском маркетплейсе увидел детский фотоаппарат, его и заказал для своего извращённого развлечения реверс-инжинирингом.

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

Да простят меня подписчики хаба фототехники.

Читать далее
Всего голосов 151: ↑151 и ↓0 +151
Комментарии 26

Стек протоколов BLE 5 -физический уровень

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 4.4K

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

Рабочая частота BLE составляет 2,4 ГГц. Он использует частотную модуляцию GFSK и использует механизм скачкообразной смены частоты для решения проблемы перегрузки канала.

Существует три схемы реализации для физического уровня BLE 5, а именно некодированный физический уровень со скоростью 1 Мb/s, некодированный физический уровень со скоростью 2 Мb/с и кодированный физический уровень со скоростью 1 Мb/s. Среди них некодированный физический уровень со скоростью 1 Mb/s совместим с физическим уровнем протокола серии BLE v4, в то время как два других физических уровня увеличивают скорость связи и расстояние связи соответственно.

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 12

Информация

В рейтинге
3 917-й
Зарегистрирован
Активность