Как стать автором
Обновить
1
0

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

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

Декодирование сигналов мультиплексированного ЖКИ

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


В этой статье я расскажу о том, как работает жидкокристаллический индикатор (ЖКИ) с точки зрения сигналов, как эти сигналы декодировать и использовать для своих целей.
Всего голосов 82: ↑82 и ↓0 +82
Комментарии 28

Пара распространённых заблуждений про радиоканалы RFID и Wi-Fi (и RFID как точки Wi-Fi)

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

RFID-метка для пациентов, чтобы их было видно на карте больницы

— А можете каждому строителю чип в голову вшить?
— Теоретически да, но, может быть, объясните, зачем вам это нужно?
— Они у нас стройматериалы воруют. Прямо во время работ. А так каждого будет видно, куда он там зашёл, куда не надо.

Проект решился вшиванием в форменную одежду RFID-метки, разделением стройки на зоны и дальше тем, что делается в сети при построении периметра. То есть построением профиля «белого» трафика — кто, куда и когда ходит. А потом — как на файрволле — запретили строителям всё остальное. Кражи сразу сократились. Прораб получил потустороннюю силу и видел почти каждый косяк.

А дальше каждый чёртов раз, когда я рассказываю про RFID-решение, люди начинают махать руками и путать эти метки с Wi-Fi, Bluetooth и пассивными резонирующими контурами. Одна из причин — некоторые RFID-метки действительно работают по Wi-Fi 802.11. Давайте расскажу, как это используется на практике в разных странах.
Читать дальше →
Всего голосов 54: ↑53 и ↓1 +52
Комментарии 73

Habr Weekly #3 / Рунет vs ТВ, ARM vs Intel, унификация госданных, без смартфона в 2019, советские мечты о будущем

Время на прочтение 1 мин
Количество просмотров 2.4K
Всего голосов 28: ↑26 и ↓2 +24
Комментарии 3

Атаки на бесконтактные банковские карты

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


Автор: cuamckuu

Извлечение содержимого карты и работа с EMV-командами может быть интересна не только в исследовательских целях. Существует несколько видов атак на бесконтактные банковские карты, про реализацию которых будет рассказано под катом.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 73

Композитор с долгой кратковременной памятью

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

Автоматическое сочинение музыки



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

Я в течение нескольких лет предпринимал примитивные попытки автоматического сочинения музыки для Visions of Chaos. В основном при этом использовались простые математические формулы или генетические мутации случайных последовательностей нот. Добившись недавно скромного успеха в изучении и применении TensorFlow и нейронных сетей для поиска клеточных автоматов, я решил попробовать использовать нейронные сети для создания музыки.

Как это работает


Композитор обучает нейросеть с долгой кратковременной памятью (Long short-term memory, LSTM). LSTM-сети хорошо подходят для предсказания того, «что встретится дальше» в последовательностях данных. Подробнее о LSTM можно прочитать здесь.


LSTM-сеть получает различные последовательности нот (в данном случае это одноканальные файлы midi). После достаточного обучения она получает возможность создавать музыку, схожую с обучающими материалами.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 21

Ваш мобильный навигатор затрудняет управление дорожным движением

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

Распространение приложений вроде Waze, Apple Maps и Google Maps умножает хаос




Мигель-стрит – это извилистая узкая дорога, проходящая по району Глен-Парк города Сан-Франциско. Ещё несколько лет назад по ней ездили только жители окрестных домов, и они хорошо знали все её проблемы. Теперь она забита машинами, которые используют её как короткий путь от переполненной Мишн-стрит до популярной Маркет-стрит. Местные жители с трудом добираются до дома, а ДТП случаются ежедневно.

Эта проблема началась, когда приложения Waze, Apple Maps и Google Maps получили широкое распространение, и начали предлагать водителям объезды пробок в реальном времени. Во всём мире такими приложениями пользуется порядка миллиарда водителей.

Сегодня транспортные пробки появляются неожиданно, в местах, ранее бывших спокойными, во всех городах и странах мира. В Бостоне, в районе Дорчестер жители Адамс-стрит жалуются на быстро движущиеся в час пик машины, водители многих из которых уставились вниз, на свои телефоны, планируя следующий манёвр. Лондонские объездные пути, ранее бывшие секретным достоянием таксистов, теперь заполнены пользователями приложений. Одним из первых от этой напасти пострадал Израиль, поскольку именно там основали Waze; там быстро развился такой хаос, что один из жителей Герцлия-бет даже засудил компанию.
Читать дальше →
Всего голосов 51: ↑41 и ↓10 +31
Комментарии 253

Настраиваем top в GNU/Linux

Время на прочтение 3 мин
Количество просмотров 44K
Однажды мой знакомый, который на тот момент администрировал некое веб-приложение на сервере под управлением GNU/Linux, пожаловался на одного вредного администратора сервера. Тот ни в какую не хотел устанавливать htop, несмотря на все просьбы.

Я немного удивился и поинтересовался, в чём причина такого странного поведения. Если упростить, то дальнейший наш диалог получился вот таким:
Читать дальше →
Всего голосов 84: ↑81 и ↓3 +78
Комментарии 69

Простите, пользователи macOS, но Apple зашла слишком далеко

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

Несколько лет назад, когда был выпущен первый релиз Cogmind, я без предрассудков относился к выпуску официальной версии под Mac. В конце концов, Cogmind — моя первая коммерческая игра, раньше я выпускал только хобби-проекты в статусе freeware и только под Windows, поэтому не был уверен, какие результаты даст поддержка дополнительных платформ. Поэтому я решил подождать и посмотреть стоит ли в каком-то виде реализовывать официальную поддержку на Mac.

Тем временем я убедился, что Cogmind (и другое моё ПО) идеально работает через Wine и подобные ему пакеты. Разумеется, в Steam я никогда не говорил о поддержке Mac, потому что это не был отдельный скачиваемый файл, работающий сам по себе. Я готовился к выпуску версии 1.0, и откладывал решение о том, стоит ли принимать меры для реализации полной поддержки платформы, на будущее.

На текущий момент я уже достаточно прождал и увидел, чтобы прийти к осмысленному решению: официальная поддержка macOS просто недостижима для меня.

Почему такое решение было принято именно сейчас: если вы следите за разработчиками инди-игр, сообществами или новостями, то должны были слышать о шумихе, связанной с Apple. К сожалению, мой голос тоже присоединится к этому хору.
Читать дальше →
Всего голосов 156: ↑141 и ↓15 +126
Комментарии 563

Чем опасны отслеживающие cookies если вам и вправду нечего скрывать

Время на прочтение 2 мин
Количество просмотров 20K
В последнем подкасте Habr Weekly #21 обсуждалась тема отслеживающих cookies и вопрос их нежелательности. Бытуют мнения о сомнительности вреда таких куков если скрывать и вправду нечего. Такая позиция определенно не выдерживает критики.

Читать дальше →
Всего голосов 20: ↑14 и ↓6 +8
Комментарии 24

Security Week 41: больше уязвимостей в SIM-картах, дешифрование PDF

Время на прочтение 3 мин
Количество просмотров 6K
На прошлой неделе получила развитие история про атаки на уязвимый софт в SIM-картах. Обнаруженная ранее активно эксплуатируемая атака SimJacker оказалась не единственной. Исследователи из компании Ginno Security сообщили о похожей проблеме в компоненте Wireless Internet Browser (новость, пост в блоге компании). Хотя уязвимость в WIB сложнее в эксплуатации, чем проблема в S@T Browser, метод похож: присылаем подготовленную SMS, которая без ведома владельца позволяет совершить звонок, отправить сообщение или получить IMEI телефона.

Первый репорт об уязвимости в S@T Browser вообще выглядел довольно странно: о проблеме сообщает единственная компания, потенциальный ущерб оценить сложно, а оценка количества подверженных устройств выглядит преувеличенной: сотни миллионов. Поэтому в исследовании Ginno Security важна даже не сама уязвимость, а подтверждение актуальности проблемы из второго источника. Впрочем, еще один эксперт по безопасности мобильной связи, Карстен Нол, считает, что атаки такого плана слишком сложны для массовой эксплуатации: проще клонировать SIM-карту методами социальной инженерии или воспользоваться уязвимостями протокола SS7, по которому взаимодействуют между собой операторы.
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 1

Через тернии к игре мечты — прогресс и эволюция существ

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

Всем привет! Мы продолжаем работать над игрой “мечты” Another Way. Это уже третий пост на эту тему, с предыдущим вы можете ознакомиться по ссылке — Через тернии к игре мечты — месяц спустя. Я не писал о прогрессе чуть более месяца, скопилось много много информации, поэтому будет минимум текста, но много картинок. Всем тем кто не боится трафика — добро пожаловать под кат.
Читать дальше →
Всего голосов 40: ↑40 и ↓0 +40
Комментарии 11

Опыт создания сборок Linux под одноплатники с поддержкой обновлений

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

Введение


На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене.

Как правило, различные сборки от производителей, предназначены для оценки платформы и являются отправной точкой нового проекта, поэтому не всегда подходят под конкретные задачи. В задачах где требуется высокая надежность, перед разработчиком встает вопрос, как доработать дистрибутив и потом не поплатиться за это полной переработкой образа и системы обновления.
Читать дальше →
Всего голосов 82: ↑82 и ↓0 +82
Комментарии 65

Способы создания гистограмм с помощью Python

Время на прочтение 2 мин
Количество просмотров 165K
За последний год я сталкивалась с необходимостью рисования гистограмм и столбчатых диаграмм достаточно часто для того, чтобы появилось желание и возможность об этом написать. Кроме того, мне самой довольно сильно не хватало подобной информации. В этой статье приведен обзор 3 методов создания таких графиков на языке Python.

Начнем с того, чего я сама по своей неопытности не знала очень долго: столбчатые диаграммы и гистограммы — разные вещи. Основное отличие состоит в том, что гистограмма показывает частотное распределение — мы задаем набор значений оси Ox, а по Oy всегда откладывается частота. В столбчатой диаграмме (которую в англоязычной литературе уместно было бы назвать barplot) мы задаем и значения оси абсцисс, и значения оси ординат.

Для демонстрации я буду использовать избитый набор данных библиотеки scikit learn Iris. Начнем c импортов:

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn import datasets
iris = datasets.load_iris()

Преобразуем набор данных iris в dataframe — так нам удобнее будет с ним работать в будущем.

data = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'])

Из интересующих нас параметров data содержит информацию о длине чашелистиков и лепестков и ширине чашелистиков и лепестков.

Используем Matplotlib
Построение гистограммы
Cтроим обычную гистограмму, показывающую частотное распределение длин лепестков и чашелистиков:

fig, axs = plt.subplots(1, 2)
n_bins = len(data)
axs[0].hist(data['sepal length (cm)'], bins=n_bins)
axs[0].set_title('sepal length')
axs[1].hist(data['petal length (cm)'], bins=n_bins)
axs[1].set_title('petal length')

image
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 4

Интеграл Эйлера — Пуассона. Подробно о способах вычисления

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


В статье подробно, вплоть до самых мелочей, рассмотрены три способа взятия интеграла Эйлера-Пуассона. В одном из способов выводится вспомогательная формула редукции. Для нахождения некоторых сложных интегралов можно использовать формулы редукции, которые позволяют понизить степень подынтегрального выражения и вычислить соответствующие интегралы за конечное число шагов.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 8

Шпаргалка по аббревиатурам C++ и не только. Часть 2: «и не только»

Время на прочтение 17 мин
Количество просмотров 12K
Это вторая и последняя часть моей шпаргалки по аббревиатурам, которые стоит знать C++ разработчику. С++ здесь упомянут только потому, что шпаргалку я составил в первую очередь для себя, а я как раз-таки C++ разработчик.

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


Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 3

Нескучный туториал по NumPy

Время на прочтение 19 мин
Количество просмотров 218K
Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами…

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

Не забываем про

import numpy as np

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

Дробное броуновское движение

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

Введение


fBM расшифровывается как Fractional Brownian Motion (дробное броуновское движение). Но прежде чем начать говорить о природе, фракталах и процедурных рельефах, давайте на минуту углубимся в теорию.

Броуновское движение (Brownian Motion, BM), просто, без «дробности» — это движение, при котором положение объекта с течением времени меняется со случайными инкрементами (представьте последовательность position+=white_noise();). С формальной точки зрения BM является интегралом белого шума. Эти движения задают пути, которые являются случайными, но (статистически) самоподобными, т.е. приближенное изображение пути напоминает весь путь. Fractional Brownian Motion — это схожий процесс, в котором инкременты не полностью независимы друг от друга, а в этом процессе существует некая память. Если память имеет положительную корреляцию, то изменения в заданном направлении будут иметь тенденцию к будущим изменениям в том же направлении, и путь при этом будет плавнее, чем при обычном BM. Если память имеет отрицательную корреляцию, то за изменением в положительную сторону с большой вероятностью последует изменение в отрицательную, и путь окажется гораздо более случайным. Параметр, управляющий поведением памяти или интегрированием, а значит и самоподобием, её размерностью фрактала и спектром мощности, называется показателем Хёрста и обычно сокращается до H. С математической точки зрения H позволяет нам интегрировать белый шум только частично (допустим, выполнить только 1/3 интегрирования, отсюда и «дробность» в названии) для создания fBM под любые нужные нам характеристики памяти и внешний вид. H принимает значения в интервале от 0 до 1, которые описывают, соответственно, грубое и плавное fBM, а обычное BM получается при H=1/2.


Здесь функция fBM() использована для генерации рельефа, облаков, распределения деревьев, вариаций их цветов и деталей крон. «Rainforest», 2016: https://www.shadertoy.com/view/4ttSWf
Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 8

Внедряем Sign in with Apple в свое iOS приложение

Время на прочтение 2 мин
Количество просмотров 11K
На WWDC 2019 Apple в очередной раз нарушила покой iOS разработчиков — представила новую систему авторизации пользователей Sign in with Apple. Теперь все iOS приложения, которые используют сторонние системы авторизации (Facebook, Twitter, etc.), должны в обязательном порядке реализовать Sign in with Apple, иначе выгонят из AppStore. Мы решили не испытывать судьбу и побежали внедрять эту фичу. Как именно мы это сделали — узнаете под катом.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 15

Шоу дронов: взгляд изнутри

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


Сколько еще будет найдено применений дронов? Все привыкли, что квадрокоптер должен быть обязательно с камерой и что-нибудь снимать, но разработчики из Intel показали нам новые области применения. Речь идет о световых шоу, построенных с помощью большого количества дронов, когда каждый дрон — это светящаяся точка и вместе эти точки образуют трехмерные фигуры в ночном небе. Компании, предоставляющие такие услуги, появляются с удивительной скоростью. Спроса на рынке больше, чем предложения. Так что же нужно, чтобы запустить в воздух сотни дронов? Задача нетривиальная и очень интересная, поэтому, как участник зарождающегося направления, хочу поделиться впечатлениями от того, что есть на текущий момент и раскрыть тонкости этой индустрии.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 19

Квазиньютоновские методы, или когда вторых производных для Атоса слишком много

Время на прочтение 10 мин
Количество просмотров 7.5K
При первом знакомстве с квазиньютоновскими методами можно удивиться дважды. Во-первых, после беглого взгляда на формулы охватывают сомнения, что это вообще может работать. Однако же они работают. Дальше кажется сомнительным, что они будут работать хорошо. И тем удивительнее видеть то, насколько они превосходят по скорости разнообразные вариации градиентного спуска, причем не на специально построенных задачах, а на самых настоящих, взятых из практики. И если после этого еще остаются сомнения вперемешку с интересом — то нужно разбираться в том, почему вообще работает это нечто.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 3

Информация

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