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

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

  • Публикации
  • Комментарии

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

DIY или Сделай самЭлектроника для начинающих


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

Новости

Показать еще

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

КРОКIT-инфраструктураБеспроводные технологииСтандарты связи

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

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

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

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

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

ХабрHabrКонтент-маркетингСоциальные сети и сообщества
Вышел третий выпуск подкаста Habr Weekly. Обсуждаем победу Рунета над телевидением, новые процессоры от ARM, новость о создании в России единой системы управления госданными, опыт жизни без смартфона в 2019 году и советские мечты о будущем.


Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры2.2K
Комментарии 3

Can I haz? Рассматриваем ФП-паттерн Has

ПрограммированиеФункциональное программирование

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


Сегодня мы рассмотрим такой ФП-паттерн, как Has-класс. Это довольно любопытная штука по нескольким причинам: во-первых, мы лишний раз убедимся, что паттерны в ФП таки есть. Во-вторых, оказывается, что реализацию этого паттерна можно поручить машине, что вылилось в довольно любопытный трюк с тайпклассами (и библиотеку на Hackage), который лишний раз демонстрирует практическую полезность расширений системы типов вне Haskell 2010 и ИМХО куда интереснее самого этого паттерна. В-третьих, повод для котиков.


image


Однако начать, пожалуй, стоит всё же с описания того, что же такое Has-класс, тем более, что какого-то краткого (и, тем более, русскоязычного) описания сходу не нашлось.


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

Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры4.9K
Комментарии 3

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

Digital SecurityИнформационная безопасностьПлатежные системы


Автор: cuamckuu

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

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

PythonАлгоритмыМашинное обучениеЗвук
Перевод

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



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

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

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


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


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

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

Урбанизм
Перевод

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




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

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

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

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

Cloud4YНастройка Linux*nix
Однажды мой знакомый, который на тот момент администрировал некое веб-приложение на сервере под управлением GNU/Linux, пожаловался на одного вредного администратора сервера. Тот ни в какую не хотел устанавливать htop, несмотря на все просьбы.

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

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

Разработка игрРазработка под MacOSУправление продуктомКомпьютерное железо
Перевод

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

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

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

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

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

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

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

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

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

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

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

Разработка игр
image

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

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

Настройка LinuxПрограммированиеРазработка под LinuxПроизводство и разработка электроникиDIY или Сделай сам
Из песочницы
image

Введение


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

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

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

Python
Из песочницы
За последний год я сталкивалась с необходимостью рисования гистограмм и столбчатых диаграмм достаточно часто для того, чтобы появилось желание и возможность об этом написать. Кроме того, мне самой довольно сильно не хватало подобной информации. В этой статье приведен обзор 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
Просмотры55.9K
Комментарии 4

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

АлгоритмыМатематикаСтатистика в ITФизика


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

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

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

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


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

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

PythonПрограммированиеСовершенный кодАлгоритмы
Tutorial
Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами…

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

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

import numpy as np

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

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

Разработка игрАлгоритмыЗвук
Перевод

Введение


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
Просмотры5.6K
Комментарии 8

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

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

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

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

Информация

В рейтинге
1,309,007-й
Зарегистрирован
Активность