Как стать автором
Обновить
-1
0
Вадим @Dele1

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

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

PCIe для электронщиков: анатомия канала передачи

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

В предыдущий раз мы разбирали дифпары, их основы, правила разводки и известные допуски PCIe в этом отношении. Сегодня же мы поговорим о конкретных сигналах, на которых работает PCIe, а также узнаем, какие разъёмы применимы к этому интерфейсу.
Читать дальше →

Что читать разработчику C++

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

В этой подборке — не только классические рекомендации книг для C++ программистов. Обычно советуют издания про паттерны, развитие стандарта или успехи большой компании. Но за всем этим изобилием «экспертных советов» и best practices теряется одна простая мысль: язык программирования — это средство выражения мысли от одного разработчика другому, а также средство описания пользовательского API в самом широком смысле.

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

Первые 5 книг этой подборки — в меньшей степени про технику, в большей степени об осознанности деятельности C++ программистов любого уровня. Остальные — «золотой фонд» классической литературы для C++ разработчиков.

Читать далее

Зачем нужно иногда вставать из-за компьютера? Часть вторая. Сила тренировки в восстановлении после тренировки?

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

Большинство смотрят на тренировку как на «пытку», «наказание» в отместку за съеденную еду. А все, что заставляет наш организм расставаться с так сложно добываемыми в предыдущие миллионы лет эволюции калориями воспринимается мозгом как угрожающий жизнедеятельности организма фактор. Но можно ли взглянуть на тренировку с другой стороны?

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

Мы не любим спорт потому, что тренировки сопровождаются процессом физического и психического утомления после физической нагрузки. Но, если задуматься, что происходит внутри клеток и тканей после тренировки? Я считаю, что тренировка полезна самим процессом восстановления после физических упражнений, которое случается после физкультуры, ведь восстанавливаются не только тренируемые мышечные группы, но "достается" полезных эффектов всему организму. Разберемся на простом не сильно заумно-медицинском языке, каких?

Читать далее

BMW и диагностика по Ethernet: протокол HSFZ

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

Начиная с F-серии диагностику автомобилей BMW можно производить по Ethernet. Для этого достаточно простого переходника "Ethernet - OBDII", собранного из пяти проводов и одного резистора.

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

Что за протокол?

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

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

Если вы являетесь регулярным читателем Хабра, то должно быть заметили что за последние несколько лет вышло немало статей о сборе персональных данных с мобильных устройств, и о попытках противодействия этому, было несколько отличных статей с детальными инструкциями по превращению своего смартфона на базе ОС Android в настоящую цитадель приватности и безопасности. 

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее

Анализ процесса загрузки ядра Linux

Время на прочтение11 мин
Количество просмотров26K
Всем привет!

Пока Леонид готовится к своему первому открытому уроку по нашему курсу «Администратор Linux», мы продолжаем рассказывать про загрузку ядра Linux-а.

Поехали!

Понимание работы системы, функционирующей без сбоев — подготовка к устранению неизбежных поломок

Древнейшая шутка в области ПО с открытым исходным кодом — заявление, что “код документирует сам себя”. Опыт показывает, что чтение исходного кода похоже на прослушивание прогнозов погоды: разумные люди все равно выйдут на улицу и посмотрят на небо. Ниже приводятся советы для проверки и изучения загрузки систем Linux с помощью знакомых инструментов отладки. Анализ процесса загрузки системы, которая работает хорошо, готовит пользователей и разработчиков к устранению неизбежных сбоев.

С одной стороны, процесс загрузки на удивление прост. Ядро операционной системы (kernel) запускается однопоточно и синхронно на одном ядре (core), что может показаться понятным даже жалкому человеческому уму. Но как запускается само ядро ОС? Какие функции выполняют initrd (диск в оперативной памяти для начальной инициализации) и загрузчики? И постойте, почему всегда горит светодиод в Ethernet-порте?

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

Мифы про метаболизм и почему люди не худеют на 1000 калорий?

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

В личные на vc.ru мне пришел такой фидбэк.

Читать далее

Всё про USB-C: паяльник Pinecil

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

Как многие правильно заметили, в случае с USB-C важен не просто сам стандарт, а то, как он реализован. В конце концов, мы имеем дело с реализациями, и именно на этой почве обычно возникает большинство проблем. Отчасти, конечно, вина лежит и на стандарте, например, в плане отсутствия маркировки кабелей. Хотя, на мой взгляд, он продуман намного лучше, чем некоторым кажется.

Я хочу познакомить вас с несколькими реализациями USB-C в некоторых интересных опенсорсных продуктах. Все они в том или ином смысле не идеальны – иначе и быть не может, поскольку им приходится иметь дело с беспорядочным реальным миром, где совершенство является редкостью.

Сегодня мы поговорим о Pinecil – недорогом и качественном паяльнике от Pine64, выпущенном пару лет назад. Для питания в нём предусмотрен и круглый разъём, и порт USB-C. Это стало долгожданным отступлением от стратегии компании Miniware, которая не применяла такое решение ни в оснащённой исключительно круглым разъёмом модели TS100, ни в маломощных паяльниках TS80. Кроме того, поскольку Pinecil разработан под использование жал T12 от модели TS100, он заслуженно завоевал популярность в мире электронщиков-любителей.
Читать дальше →

Превращаем DSLogic U2Basic (PANGO) в DSLogic Plus

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

В данной статье расскажу как модифицировать DSLogic U2Basic (PANGO) в DSLogic Plus.

Данная статья является обновлением статей - Превращаем DSLogic Basic в DSLogic Plus и Превращаем DSLogic U2Basic в DSLogic Plus

Читать далее

Call Stack Logger — инструментирование функций как способ отслеживания потока выполнения программы

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

Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и сил? Откуда и какие функции вызываются? Вам когда-нибудь поручали исправить баг в таком проекте, прилагая лишь логи, которые приближают вас к нахождению первопричины проблемы так же, как Моисей к земле обетованной? А попытки воспроизведения бага не дают вам никакой полезной информации? Если ваш ответ да – пожалуйста, присаживайтесь поудобнее.

Читать далее

Управляем модулем ядра Linux

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

Почему пользовательское приложение работает некорректно? Существует не так много способов, которые бы помогали выявить проблему. В большинстве случаев для поддержания высокой доступности требуется стороннее программное обеспечение. В статье рассказываем, как настроить мониторинг пользовательского приложения через модуль ядра Linux, а также разбираем, как установить связь с сокетом.

Читать далее

Пишем драйвер ядра Linux для неизвестного USB-устройства

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

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →

Адаптивная антенна на беспилотном летательном аппарате или как одновременно увеличить дальность связи и подавлять помехи

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

Можно ли одновременно увеличить дальность связи с беспилотным летательным аппаратом (БЛА) и подавлять помехи без увеличения габаритов, массы и энергопотребления бортового модема? В настоящей статье мы рассмотрим как это можно сделать с помощью адаптивной антенной системы. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей автора про связь с БЛА.

Читать далее

О работе ПК ч.3: От включения до полной загрузки Windows 10

Время на прочтение20 мин
Количество просмотров111K
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы


Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

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

Модификация прошивки роутера D-Link

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

Всех с наступившим Рождеством! В этой заметке я расскажу о том как я модифицировал прошивку роутера D-Link DWR-M921, вдруг кому эта информация пригодится.

Читать далее

Создаем свой загрузочный диск Linux

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

В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.

Читать далее

Как запустить Doom на УАЗ Буханке 2022

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

Прошедший 2022 год сильно повлиял на отечественных автопроизводителей. Появились антикризисные комплектации (а остальные исчезли). Произошли откаты на старые экологические нормы, вплоть до евро-2. Кто-то прогнозировал возврат к карбюраторным двигателям, чего, к счастью, не случилось. Люди в шапочках из фольги особенно рады, что из отечественных машин исчезла система ЭРА-Глонасс. Глупцы, она стала ненужной, потому что всех уже чипировали через вакцину.

Мы же продолжали пилить RusEFI - свой ЭБУ с преферансом, барышнями, открытым программным кодом и открытыми аппаратными реализациями.

Читать далее

Рецепт красивого бабаха. Три составляющих хорошего силового преобразователя. Часть 2

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

У вас есть симпатичная плата силового преобразователя? Тогда мы идём к вам! Давайте взорвём его! На картинке источник питания и «всё что осталось после нашей с ним работы». Приветствую. Это вторая часть статьи о трёх составляющих преобразователя. Сегодня доберёмся до некоторых хитростей, до пока ещё живых примеров и до салюта. Интересно? Тогда пристёгивайтесь и поехали!
Читать дальше →

Раскрываем секреты загрузочных ISO-образов

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


В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Читать дальше →

Неизвестный UART: теория

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

Можно с уверенностью сказать, что с момента публикации первой версии стандарта RS‑232 в мае 1960 года и по настоящее время, было написано приблизительно 109 независимых реализаций UART на всём, чём угодно. Однако, подобно «Hello world» в мире прикладного ПО, а также мигания светодиодом — «Hello world» в мире цифровой электроники (сигнализирующий об успешной настройке оборудования и среды разработки) — процесс написания UART способен проиллюстрировать особенности языка или платформы, демонстрируя применение тех или иных синтаксических конструкций для решения практических, насущных и понятных проблем.

В данном цикле статей будет рассказано про написание модуля UART на SystemVerilog, про синтез данного модуля на различных платформах и про некоторые другие аспекты применения UART в ПЛИС. Но прежде, чем писать код, поговорим про сам протокол и про особенности аппаратной части вне контекста ПЛИС.

СТАРТ_БИТ

Информация

В рейтинге
Не участвует
Откуда
Ромны, Амурская обл., Россия
Дата рождения
Зарегистрирован
Активность