Pull to refresh
0
0
Денис @f1int

User

Send message

Как я данные с BLE-градусника от Xiaomi забирал

Reading time6 min
Views41K
Предыстория: в качестве одного из хобби у меня случился «Умный дом». Хочется красивых устройств, но при этом ещё хочется свободы и приватности. Поэтому занимаюсь скрещиванием ужика Xiaomi с ёжиком Home Assistant.

Для поддержания комфортных условий нам нужно знать, а что вообще у нас дома происходит. Короче говоря, нужны сенсоры. Их у Xiaomi есть много разных, но больше всего мне понравился квадратный градусник на электронных чернилах. Вот только он совсем не умный, в том смысле, что не предоставляет вообще никаких интерфейсов, кроме графического – ни тебе WiFi, ни BLE, ни ZigBee. Зато батарейки CR2032 хватает на несколько лет. Есть ещё версия с блютусом, но она чуть менее изящная – эдакий толстый блинчик.

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



В приложение MiHome датчик добавился без проблем (у меня англоязычный интерфейс везде, с русской версией MiHome, говорят, были трудности перевода). Показывает текущие значения и историю изменения показаний.

А вот с интеграцией в Home Assistant приключились сложности. Имеющийся компонент для датчика температуры ни в какую не хотел забирать данные с устройства и жаловался на неверный формат данных. Ну, делать нечего, достаём лопату и начинаем копать.

Первой мыслью было ознакомиться с устройством протокола BLE, но оценив размер документации, было принято решение переходить к методу народного тыка.
Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments42

Как стать датасайнтистом, если тебе за 40 и ты не программист

Reading time8 min
Views148K
Бытует мнение, что стать датасайентистом можно только имея соответствующее высшее образование, а лучше ученую степень.

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

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



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

Итак, обо всем по порядку.
Читать дальше →
Total votes 124: ↑118 and ↓6+112
Comments98

Как устроены каналы в Go

Reading time4 min
Views67K

Перевод познавательной статьи "Golang: channels implementation" о том, как устроены каналы в Go.


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


Устройство канала


Давайте начнём с разбора структуры канала:


Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments11

Запускаем новый онлайн-курс «Разработка веб-сервисов на Go»

Reading time2 min
Views19K


Привет! У нас для вас подарок к новогодним праздникам. Сегодня мы запускаем первую часть нашего нового курса по Go на платформе Coursera, посвященного разработке веб-сервисов. В этой части мы рассмотрим основы синтаксиса, асинхронную модель в Go, вопросы производительности и основу работы с HTTP в стандартной библиотеке.

Видя неослабевающий интерес к записям лекций из Техносферы, мы решили записать полноценный онлайн-курс, чтобы дать вам возможность не только ознакомиться с самим языком в теории, но и попробовать свои силы в решении практических задач. Ну и получить сертификат за это, показывающий, что вы с делом провели новогодние праздники. :)
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments35

Самодельная домашняя вентиляция

Reading time2 min
Views76K
Каждый, кто уже обзавёлся измерителем уровня углекислого газа (CO2), знает, насколько важно непрерывно подавать в жилые помещения свежий воздух. Самое простое решение этой проблемы — всегда держать открытой форточку, но у меня, как и во многих других городских домах, это не комфортно из-за уличного шума, к тому же при открытой форточке может быть очень холодно.

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

Именно поэтому, я сделал систему домашней вентиляции сам.

Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments309

Вышел перевод книги Нила Стивенсона «Семиевие»

Reading time4 min
Views23K
imageВ свободной продаже (как в бумаге, так и электронные версии), появилась новая научно-фантастическая книга популярного американского писателя Нила Стивенсона «Семиевие». Переводом и издательством книги занимались ребята из FanZon. Книга, как и сам автор, обласкана множественными восторженными отзывами критиков и прочими литературными премиями, которые даются современным фантастам.

Многие поклонники жанра с нетерпением ждали перевод, а кто-то и вовсе читал в оригинале. Спойлерить сильно не буду, скажу одно: книга про космос. Кто хочет сформировать собственное представление о новом труде Стивенсона, который, конечно, знает, как надо писать книги — под кат не ходите. Все остальные могут ознакомиться с моей позицией, почему я осилил только половину бесплатного превью с месяц назад и книгу покупать не намерен. И не потому, что я жлоб или пират, а потому что местами все прямо вот очень плохо даже в начале.

Понимаю, тема токсичная, но давайте обсудим, что с ней, книгой, не так. Все что написано дальше — субъективизм чистой воды. Я предупреждал.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments65

Сервис Goodreads опубликовал рейтинг самых читаемых книг в жанрах научной фантастики и фэнтези

Reading time2 min
Views55K
image

Goodreads — социальная сеть любителей чтения. Создана в 2006 году Отисом Чендлером. Решает проблему выбора интересных и полезных книг на основе рекомендаций и отзывов других людей, так называемой «социальной каталогизации».

29 июля в блоге Goodreads был опубликован рейтинг лучших научно-фантастических и фэнтези книг на основе оценок и отзывов читателей (на сервисе размещено более 50 миллионов отзывов).
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments167

Intel NUC — история и современность. От Atom до Optane

Reading time3 min
Views23K
Компания Intel последовательно и активно развивает экосистему портативных компьютеров NUC. Регулярно появляются новые модели, получающие самые современные аппаратные разработки, включая процессоры последнего поколения, иногда выходит даже что-то эксклюзивное. Короче, жизнь кипит. Неудивительно поэтому, что только появившуюся на рынке память Intel Optane 3D XPoint сразу же предустановили именно в Intel NUC. О получившейся из этого новой линейке NUC, а также о NUC в целом, его истории и сегодняшнем дне — в этом посте.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments71

Компактный монитор домашнего воздуха (CO2, температура, влажность, давление) с Wi-Fi и мобильным интерфейсом

Reading time10 min
Views79K

image


Про измерение CO2 и его важность на Geektimes было уже немало публикаций (ссылки в конце статьи). Здесь же хочу описать проект компактного монитора уровня CO2, а также температуры, влажности и давления с Wi-Fi, обновлением прошивки по воздуху и интерфейсом в мобильном приложении. Сердца системы модуль на базе esp8266, сенсор CO2 MH-Z19 и фреймворк esp8266-arduino. И так, включим устройство в USB-розетку:

Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments144

Подборка русских и зарубежных фантастических книг за год

Reading time5 min
Views81K


Почти два года назад мы делали подборку любопытных фантастических книг, вышедших в 2014 году. И в начале этого года мы решили поддержать это начинание — предлагаем вам одни из самых интересных, по мнению читателей, фантастических произведений, вышедших в 2016-м (как на русском, так и на английском).
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments122

Совсем неоригинальный SSD в Macbook Air

Reading time2 min
Views90K
Так случилось, что через две недели после того как у моего, Macbook Air 13" закончился Apple Care, умер SSD. Идти к официальному представителю, а также в левые лаборатории не хотелось. В первом случае совсем не адекватная цена проверки, во втором я так и не смог добиться от лаборатории цены ремонта, если окажется, что действительно поломался только SSD. Проблема усугублялась тем, что я не был на 100% уверен, что это SSD, а не материнская плата например, поэтому не был заказан суррогат от известных и не очень брэндов, например, OWC. Другая сложность заключалась в том, что Apple специально делает свои устройства как можно сложнее в ремонте, даже чтобы просто открутить крышку пришлось просить у знакомого набор отверток, поэтому неудивительно, что нельзя было просто взять первый попавшийся SSD и проверить.
Бюджетный выход из данной ситуации, вы можете найти под катом
Total votes 49: ↑43 and ↓6+37
Comments71

How to ReactJS

Reading time6 min
Views85K
Для новичка, экосистема вокруг React (как и фронтэнда в целом) может показаться запутанной. Этому есть несколько причин.

  • Изначально, React был нацелен на экспертов и ранних последователей
  • Facebook открывает исходный код только тех продуктов, которые использует сам, т. е. не нацеленные на проекты-меньше-чем-Facebook
  • Огромное количество гайдов по React совершенно разной сложности


Здесь и далее, я предполагаю, что вы уже знакомы с HTML, CSS и JavaScript.

Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments24

Фантастика сейчас

Reading time2 min
Views48K
Список свежей фантастики возрастом меньше 5 лет. А то все рекомендации и списки наполнены классикой без единого проблеска.

Произведения, претендующие на статус классических


1. Роберт Ибатуллин «Роза и Червь»

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

Аннотация от Алексея Анпилогова. Книга выйдет к новому году. К сожалению, автор удалил опубликованные части из странички на Самлибе.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments42

Вперед за новыми впечатлениями: 10 научно-фантастических романов

Reading time4 min
Views33K
image

Мы надеемся, что эти книги очаруют вас. Они имеют одну общую особенность — эти романы стоят того, чтобы их прочесть. Любители фантастики, запасайтесь кофе и печеньками — и вперед за новыми впечатлениями в неизведанные галактики!
Читать дальше →
Total votes 35: ↑24 and ↓11+13
Comments50

Краткий обзор видео по Go c FOSDEM 2015

Reading time4 min
Views8.6K
Одна из самых популярных конференций по open-source проектам, FOSDEM, прошла 31 января — 1 февраля, и, помимо многих dev-румов, был dev-room, целиком посвященный Go. Видео с этой конференции уже выложены в паблик, доклады по 30-40 минут каждый, и, надо сказать, доклады очень достойные — привычного и надоевшего интро для новичков в стиле «Что мне нравится в Go?» или «Как тестировать в Go» тут не было.

По себе знаю, что пересмотреть 7+ часов технических выступлений далеко не всегда реально, особенно если не знаешь толком, стоит ли вообще смотреть, поэтому я подготовил краткие ремарки по каждому докладу, которые могут помочь выбрать — что стоит посмотреть, а что пропустить. Ремарки, разумеется, сугубо субъективные.



Всего было 8 докладов по 30-40 минут, и полтора часа так называемых Lightning talks — коротких докладов, идущих один за другим.

Сразу привожу ссылки на плейлисты:

Youtube: www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb
FOSDEM http: video.fosdem.org/2015/devroom-go

Итак, в порядке выступлений.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments1

Горизонтальное масштабирование websocket-ов на Ruby

Reading time6 min
Views8.6K
Не так давно вышла статья, в которой автор описывал свой framework для написания приложений с использованием Ruby, Sinatra и websoсket. Но в том решении не был затронут вопрос горизонтального масштабирования. Так при подключении к одному из узлов, пользователи могут получать уведомления/данные только о событиях/изменениях, вызванных пользователями этого же узла, а при изменениях, внесенных через другой, они не узнают. Для решения данной задачи необходимо организовать общую шину данных. Рассматривать данную задачу буду в контексте обмена сообщениями клиент-клиент.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments11

Разработка web API

Reading time9 min
Views287K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

TOP 7 – за 7 дней. Маркетинг iPad приложений на Apple Store

Reading time3 min
Views9.4K
Начну не с самих методов раскрутки, а с подготовки, что является не менее важным, чем сама раскрутка и продвижение приложения. Сразу оговорюсь, что привожу в пример только платные приложения и российский Apple Store.

image
Читать дальше →
Total votes 71: ↑53 and ↓18+35
Comments62

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Reading time4 min
Views39K

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

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

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

В злых целях знания использовать не буду!
Total votes 189: ↑174 and ↓15+159
Comments43

Как я поступил на бакалавриат в Канаде

Reading time5 min
Views183K


0. Вступление


Здравствуйте, дорогие читатели Хабра!
В этом топике я расскажу Вам о том, как осуществилась моя главная цель и, по совместительству, мечта: поступить после российской средней школы в университет Канады. Данная тема будет полезна как ученикам 10-11 классов, так и их родителям, которые хотят отправить своего ребенка на учёбу заграницу. Я постараюсь полностью описать все затраты, подводные и надводные камни, тонкости процесса поступления, получения канадской визы, перелета и проживания на собственном примере.
Топик для удобства делю на части. Приятного чтения!
Читать дальше →
Total votes 130: ↑115 and ↓15+100
Comments186
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity