Как стать автором
Обновить
0
Александр @89p13read⁠-⁠only

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

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

TOTP без смартфона, послесловие

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

После публикации статьи «TOTP без смартфона» она получила много интересных и полезных комментариев. Я решил подождать, пока обсуждение затихнет и провести работу над замечаниями и высказанными мыслями.

Поскольку объём работы оказался достаточно большой, то оформил её в виде отдельной публикации-послесловия.

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

Как собрать LTE-модем на базе SDR

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров18K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →
Всего голосов 96: ↑96 и ↓0+108
Комментарии22

NumPy для самых маленьких

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

Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. 

Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. 

Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

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

Оценка экономики применения БПЛА в доставке посылок

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

Тема беспилотной авиации сейчас сильно на слуху. Безусловно, толчком для этого стало использование беспилотных технологий в современных военных конфликтах. Но как же гражданская сфера применения? Видео мониторинг, сельхозные работы, частные задачи – это понятно. Но можно ли беспилотники использовать в реальных транспортно- логистических задачах? В этой статье я попытаюсь разобраться в перспективах использования беспилотных систем в транспорте с чисто практической и экономической точки зрения, благо багаж моих личных данных позволяет это сделать.

И так, для начала определим тип БПЛА на котором будет осуществляться типовая логистическая операция, которую мы так же постараемся обобщить.

В качестве транспорта я предлагаю использовать аппарат вертикального взлета-посадки типа Mugin 2 или 3 Pro. Для снижения эксплуатационных издержек и повышения надежности примем, что вся силовая установка аппарата электрическая. Основная интересующая нас характеристика - это вес полезной нагрузки. При взлетном весе до 30 кг (дабы не сталкиваться с вопросами сертификации, что сильно повысит стоимость проекта в конечном итоге) при электрической силовой установке можно рассчитывать на полезную нагрузку порядка 10 кг.

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

Разбираемся в MAVLink. Часть 1

Время на прочтение8 мин
Количество просмотров57K
Для обмена данными многие современные дроны, собираемые энтузиастами, коммерческие или даже промышленные, используют протокол MAVLink. Я бы хотел поделиться своим опытом работы с этим протоколом в этой, а может и в последующих статьях.

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

Переделка трансформатора для двухполярного питания

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

При сборке блока питания на 5 выходов был использован тороидальный трансформатор на 40VA, который был в наличии. Номинальное напряжение его вторичной обмотки 16.8V (напряжение холостого хода 18V). В результате выпрямления получалось около 25V на холостом ходу или около 20V при токе нагрузки 1A. В случае двухполярного питания +12V/-12V на стабилизаторах блока рассеивается около 16W тепла. Это не проблема для системы охлаждения, которая может рассеивать до 75W тепла, но вентилятор включается чаще чем хотелось бы.

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

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

Настройка Wi-Fi «из коробки»

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

Поводом написания статьи были частые вопросы новичков в чате Zyxel: "Как настроить Wi-Fi с нуля на новом автономном оборудовании Zyxel, состоящего из межсетевого экрана Zyxel ATP или USG Flex со встроенным Wi-Fi контроллером и точек доступа?
Мануала и примеров в данный момент нет, поэтому исправлю этот недочёт в нынешней статье с пояснением некоторых технических нюансов, которые могут подвести неосведомлённого технаря.

Настройка "из коробки" двух SSID производилась на оборудовании:

межсетевой экран Zyxel USG Flex 100W (автономный режим);

PoE коммутатор Zyxel GS1200-5HP v2 (автономный режим);

две точки доступа Zyxel WAC500 (управляемый режим).

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

Решение cryptopals. Часть 3

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

Завершаем решение cryptopals. В этой части рассмотрим блоки заданий 5 и 6, которые посвящены криптографии с открытым ключом.

Первая часть
Вторая часть

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

Реверс-инжиниринг сигнала автомобильного брелка

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

Я уже пару лет как изучаю протоколы радиосвязи. Началось это с момента, когда я из любопытства решил поэкспериментировать с USB-донглом RTL-SDR. Мне всегда хотелось понять, как передаются данные в пультах дистанционного управления (в частности, автомобильных брелках), попробовать перехватить их сигнал и выяснить, какие ещё в этом случае есть векторы атаки.

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

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

Ещё одной целью, пожалуй, будет доказательство, что большинство машин не так уж просто угнать посредством перехвата сигнала (разве что Honda, хах), несмотря на то, что недавно в Канаде запретили якобы опасный Flipper Zero, который можно собрать из дешёвых модулей беспроводной связи.
Читать дальше →
Всего голосов 78: ↑78 и ↓0+78
Комментарии21

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложностиСложный
Время на прочтение48 мин
Количество просмотров137K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

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

DIY автономный дрон с управлением через интернет. Часть 2 про ПО

Время на прочтение10 мин
Количество просмотров41K
Это продолжение повествования об автономном дроне. В первой части говорилось про hardware, в этой речь пойдет про software. Для начала небольшой ликбез про взаимодействие оператора с коптером. Вот типичная схема у большинства самосборных дронов:

image

А вот схема у продвинутых дронов:

image
Всего голосов 25: ↑24 и ↓1+23
Комментарии18

Как хранить токены и пароли в программах на Python

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

Уже на первом этапе изучения языка python я думаю все, как и я, озадачиваются вопросом – как быть с секретными данными – логины, пароли, токены и т.п. Как и где их хранить? Ну не прописывать же их явно в тексте программы, а потом еще и на Гитхабе размещать. Особенно эта тема актуальна в сфере алготрейдинга, здесь думать о доступах и секретности паролей надо в первую очередь.

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

Читать далее
Всего голосов 17: ↑4 и ↓13-8
Комментарии17

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

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

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

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

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

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Всего голосов 25: ↑23 и ↓2+27
Комментарии36

Что делает ChatGPT… и почему это работает?

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

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

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

Free2FA: Телеграм-бот для двухфакторной аутентификации

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

Free2FA - это бесплатное, Open Source решение для двухфакторной аутентификации с пуш-уведомлениями, основанное на FreeRADIUS, Telegram-боте и административной веб панели управления. Применялось с Cisco AnyConnect, подходит для любых систем авторизации с пользователями из Active Directory .

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

СВЧ аттенюатор на PIN-диодах

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

Основным свойством PIN-диода является переменное сопротивление на СВЧ в зависимости от протекающего через него постоянного тока.

Это свойство можно применить для создания переменного аттенюатора. Можно конечно использовать просто один последовательно установленный PIN-диод и изменять ток, протекающий через него, как показано в схеме ниже.

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

Очистка текста с помощью Python. Часть 02

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

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

Читать далее
Всего голосов 11: ↑1 и ↓10-8
Комментарии7

Разработка и применение систем разграничения доступа на базе атрибутов

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

Привет! Меня зовут Михаил, в Positive Technologies я руковожу бэкенд-разработкой метапродукта MaxPatrol O2. В этой статье я расскажу, зачем нам в компании понадобилось разграничение доступа на основе атрибутов. Его еще называют ABAC (attribute-based access control). Рассмотрим, чем ABAC отличается от других способов разграничения доступа, как это реализуется и что мы в итоге сделали у себя.

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

Метод конечных элементов своими руками

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

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

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

Устанавливаем владельцев сайтов методами OSINT

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

Всем привет! В этой обзорной статье мы расскажем как установить владельца сайта с помощью OSINT. Материал рассчитан на неспециалистов. Так что начнeм с самых элементарных вещей, а затем пройдeмся и по неочевидным методам, которые позволят нам узнать, кто владеет тем или иным веб-ресурсом. За подробностями добро пожаловать под кат!

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

Информация

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