Как стать автором
Обновить
0
0
Святослав Панкратов @AquaXP

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

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

Как генерировать Flame Graph из выходных данных perf и pt-pmp

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

Человеческий мозг обычно лучше воспринимает информацию из изображений, чем из текстов. И в инструментах, подобных Flame Graph, этот принцип блестяще реализован. Поэтому в Percona его используют в рамках работы группы поддержки. Чаще всего в тех случаях, когда нужно получить всестороннее представление о том, что и как долго проделывает MySQL. Так можно лучше понять, какие операции стоят за конкретной рабочей нагрузкой и каким образом лучше исправлять возникающие проблемы. И это можно использовать и для оптимизации, и для устранения неполадок.

Давайте воспользуемся их опытом и разберемся, откуда брать и как подготавливать образцы для визуализации данных. А после этого — как из них генерировать Flame Graph и как с этим работать.

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

Турель из Portal своими руками

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

А вы играли в Portal? Даже если нет, сборка личной автоматической турели с детекцией движения и оригинальным голосовым сопровождением наверняка окажется как минимум любопытной, ведь такая диковина может не просто украсить интерьер, но и стать, к примеру, отличным подарком для детей.
Читать дальше →
Всего голосов 89: ↑88 и ↓1+87
Комментарии21

Как работает видеокодек. Часть 2. Что, для чего, как

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

Первая часть: Основы работы с видео и изображениями




Kodek's History

Что? Видеокодек — это часть программного/аппаратного обеспечения, сжимающая и/или распаковывающая цифровое видео.

Для чего? Невзирая на определённые ограничения как по пропускной способности так
и по количеству места для хранения данных, рынок требует всё более качественного видео. Припоминаете, как в прошлом посте мы подсчитали необходимый минимум для 30 кадров в секунду, 24 бита на пиксель, с разрешение 480x240? Получили 82,944 Мбит/с без сжатия. Сжатие — это пока единственный способ вообще передавать HD/FullHD/4K на телевизионные экраны и в Интернет. Как это достигается? Сейчас кратко рассмотрим основные методы.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии15

Практическое руководство по анонимности в онлайне

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

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии125

Как стать модным Android-разработчиком в 2022 году

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

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

С другой — перечисленные технологии становятся новой реальностью. И теперь просто знать о мультипоточности, ViewModels и LiveData становится недостаточно.

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии29

Анализ теней: 5 примеров использования SunCalc для OSINT расследований

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

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

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

Есть два проекта: SunCalc.org и SunCalc.net. Последний на досуге разработал хабраюзер Mourner в 2010 году и написал пост на Хабре, а через год выложил библиотеку в открытый доступ (а какой-то ушлый немец без упоминания автора её форкнул).

Под катом несколько примеров, как по теням на кадрах видео и фото можно вычислить недостающую информацию: местоположение или время.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии5

О реализации индикатора батареи в устройствах на МК

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

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

В статье описывается простая реализация индикатора разряда, лишенного этого недостатка.

Читать далее
Всего голосов 45: ↑44 и ↓1+43
Комментарии22

Использование пейджера в XXI веке

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

Пейджеры были очень популярны в 90-е годы. В то время я был студентом, и пейджер для меня был чем-то вроде коммуникатора из Star Trek, частью передовых технологий. Забавно вспоминать об этом, потому что теперь я знаю, что технологически протокол пейджинга очень прост. С точки зрения кодирования, пейджер не так уж отличается от беспроводных дверных звонков, которые сейчас продаются за 5 долларов на Aliexpress.

Несмотря на то, что повсеместно пейджеры уже не используются, они всё ещё есть в доме у некоторых людей. Можно ли протестировать пейджер сейчас? Безусловно, и я покажу вам, как это сделать. Давайте начнём.

Приятного чтения
Всего голосов 37: ↑36 и ↓1+35
Комментарии24

Чини свою Теслу сам, тыжпрограммист

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

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

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

Читать далее
Всего голосов 113: ↑82 и ↓31+51
Комментарии45

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

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

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

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

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

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

Читать далее
Всего голосов 127: ↑123 и ↓4+119
Комментарии210

DimDrone20: как я сделал летающую платформу для computer vision исследований

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

С 2017 года я делаю разный computer vision: начиная от понятных детекций и классификаций, заканчивая чтением по губам.

И вот после череды случайностей, я оказываюсь единственным Computer Vision инженером в стартапе, который делает беспилотные вертолеты. По это причине я решаю ворваться со своей computer vision ноги и сделать какой-нибудь pet project связанный с дронами.

План такой...
Всего голосов 14: ↑14 и ↓0+14
Комментарии18

Ещё один поиск Вк по фото

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

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

Вдохновиться
Всего голосов 29: ↑28 и ↓1+27
Комментарии20

Sourcetrail: инструмент, чтобы разобраться в чужом коде и не выстрелить себе в голову

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


I regret to report that I've just recently looked again at my programs for prime factors and tic-tac-toe, and they are entirely free of any sort of comments or documentation.
— Donald E. Knuth

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

Такое случается даже со своими программами и скриптами, написанными на write-only ЯП.

Разработчики, имеющие дар работать с таким кодом высоко ценятся в коллективе.

Такое чудо-лабиринты из кода бывают, когда исходный код имеет:

  • Непоследовательный стиль разработки
  • Чересчур сложную и запутанную структуру программы
  • Очевидные логические ошибки или упущения
  • Запущенность

Надо понимать, что существует большое отличие между живым рабочим кодом и неким учебно образовательным. В первом случае на процесс разработки может влиять целый ряд технических, коммерческих и даже бытовых причин. Под их воздействием даже самый строгий и элегантный дизайн ПО может превратиться в спагетти. Основные причины таких метаморфозов знакомы многим программистам.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии7

Реверс-инжиниринг GPU Apple M1

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

Новая линейка компьютеров Apple Mac содержит в себе разработанную самой компанией SOC (систему на чипе) под названием M1, имеющую специализированный GPU. Это создаёт проблему для тех, кто участвует в проекте Asahi Linux и хочет запускать на своих машинах Linux: у собственного GPU Apple нет ни открытой документации, ни драйверов в open source. Кто-то предполагает, что он может быть потомком GPU PowerVR, которые использовались в старых iPhone, другие думают, что GPU полностью создан с нуля. Но слухи и домыслы неинтересны, если мы можем сами заглянуть за кулисы!

Несколько недель назад я купила Mac Mini с GPU M1, чтобы изучить набор инструкций и поток команд, а также разобраться в архитектуре GPU на том уровне, который ранее не был публично доступен. В конечном итоге я хотела ускорить разработку драйвера Mesa для этого оборудования. Сегодня я достигла своего первого важного этапа: теперь я достаточно понимаю набор команд, чтобы можно было дизассемблировать простые шейдеры при помощи свободного и open-source тулчейна, выложенного на GitHub.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии2

Поговорим с мышами? Или Soft USB HOST на Esp32

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

Esp32 весьма мощный контроллер, подходящий для эмуляции различных ретро систем, таких как Spectrum, Commodore, NES, IBM PC-XT и т.д. Есть возможность сгенегировать VGA или AV - TV композитный сигнал, подключить различные компактные LCD дисплеи. Он умеет разговаривать с SD картами по SPI & SD протоколу. Вот только с USB клавиатурами, мышами и джойстиками - не умеет. Попробуем научить его говорить с ними. Есть конечно новый вариант ESP32-S3 с одним USB host контроллером, а мне нужно подключить хотя бы 3 девайса и без хаба...

Нам понадобится:
Всего голосов 33: ↑33 и ↓0+33
Комментарии6

Ветрогенератор на заднем дворе

Время на прочтение7 мин
Количество просмотров143K
Настоящий ветрогенератор — это слишком дорого в том случае, если его планируется использовать для решения простых домашних задач, не требующих большой мощности. Если всё, что нужно — это немного энергии для LED-освещения или для проекта, основанного на Raspberry Pi Zero, это как-то несоразмерно довольно серьёзным деньгам, которые придётся заплатить даже за небольшой ветряк. То же касается и школьных экспериментов, время и деньги, уходящие на организацию которых, обычно стараются свести к минимуму. Школы часто стеснены в средствах.

В этом материале мы расскажем о том, как создать собственный маленький ветрогенератор. Делать мы его будем из велосипедных запчастей и из того, что можно купить в строительном магазине. Стоимость проекта находится где-то в районе $80-150. На создание генератора уйдёт 8-16 часов. При ветре, который чуть сильнее «слабого ветра» по шкале Бофорта, наш генератор способен дать около 1 ватта мощности. Этого достаточно для того чтобы зарядить небольшую батарею, а значит, энергия у нас будет и в безветренную погоду.


Домашний ветрогенератор

Описываемая здесь маленькая ветряная турбина — это, по сути, экспериментальный проект, в ходе работы над которым можно освоить основы ветроэнергетики. Эту турбину нельзя назвать абсолютно надёжным источником энергии. Не стоит ждать от неё чудес! Кроме того, учитывайте, что сильный ветер опасен для нашей турбины. Эта машина не рассчитана на нормальную работу при таком ветре. Он её, скорее всего, разрушит. Поэтому турбину стоит убирать в плохую погоду. В частности, нужно учитывать то, что её обломки, носимые ветром, могут кого-нибудь поранить.
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии105

Шпаргалка полезных команд GDB

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

Для кого она нужна?


1) начинающих реверсеров, знающих особенности обратного проектирования, и желающих изучить такой отладчик как GDB


2) как подсказка тем кто постоянно работает с IDA, Ghidra или любым другим мощным и надежным инструментом, но в силу тех или иных обстоятельств решить задачу проще и быстрее с помощью GDB, и не очень хочется залезать в официальную документацию и снова все вспоминать

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

Radxa sata hat для raspberry pi 4: домашний сервер с НАС, облаком и торрентокачалкой через впн в докере

Время на прочтение12 мин
Количество просмотров22K
Подходил к концу календарный год, к праздникам правительство ужесточило локдаун и ввело комендантский час. Впереди было дней 10 выходных, и я решил, что наступает самое то время, чтобы занять себя настройкой домашнего сервера, идею которого я вынашивал уже некоторое время.

Часть 1. Выбор ЭВМ и компонентов


Основные требования к домашнему серверу были компактность и низкое энергопотребление. В качестве ЭВМ я рассматривал разные одноплатники, даже раздумывал насчёт одноплатников на х64 архитектуре. Основными критериями поиска были избыточное ОЗУ от 8 Гб, современные порты: усб3.0 и гигабитный лан. Идея была заколхозить всё это на болтах в какой-нибудь коробке типа миниАТХ, используя усб-сата интерфейсы для жёстких дисков. Мне такая реализация совершенно не импонировала эстетически, и я не торопился её воплощать. Как вдруг я наткнулся на НАС кит для 4ой малины от китайцев из Радха.
Всего голосов 9: ↑9 и ↓0+9
Комментарии34

Генерация дефолтных Github аватарок

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

В данной статье я покажу и расскажу, как можно сгенерировать аватарки как на Github.

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии14

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

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

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

Например, для всех кардиомониторов, систем вентиляции легких и прочих жизненно важных штук есть стандарт по звукам. На странице ISO/IEC 60601-1-8 можно послушать сигналы (но вы, наверное, и так примерно их представляете, если смотрели хоть один медицинский сериал). 

Анестезиолог Доктор Блок, входивший в комитет, принявший этот стандарт, потом сказал: «Мы сделали все, что могли, но звуки в основном были ужасными». Оказалось, что мелодии не тестировались перед применением. 

Читать дальше
Всего голосов 41: ↑41 и ↓0+41
Комментарии39
1
23 ...

Информация

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