Pull to refresh
12
0
Алексей Розман @alexyr

Python developer

Send message

Разговоры с кроватью, про Яндекс Алису и умный дом Home Assistant

Level of difficulty Easy
Reading time 7 min
Views 16K

В прошлой статье мы с вами добавляли голосовое управление кофеварке Jura. Но это была лишь тренировка в ожидании доставки по-настоящему космического устройства - умной кровати Ergomotion от Аскона.

Читать далее
Total votes 30: ↑30 and ↓0 +30
Comments 12

Хроники домашнего импортозамещения: замещаем e-mail (и узнаём, кто сливает почту на сторону)

Reading time 8 min
Views 29K

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

Встречайте: собственный домен для почты.

Read more
Total votes 58: ↑55 and ↓3 +52
Comments 99

А как настроен ваш умный дом? Homekit, Яндекс дом, голосовые сценарии, web интерфейс с управлением и аналитикой

Reading time 6 min
Views 10K

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

В качестве основной системы выбрал контроллер с ПО Z-Way на основе платы расширения RaZberry 7 Pro.

Плата позволяет мини-компьютеру Raspberry Pi управлять оборудованием умного дома Z-Wave. Есть встроенная интеграция с HomeKit, Яндекс Алисой, Google Home и понятный web интерфейс. Совместим с Raspberry Pi 1/2/3A/3B/3A+/3B+/4B и даже возможно подключить к Orange Pi.

Нужно только установить ПО Z-Way. Я использовался имеющийся у меня Raspbery Pi 3b+.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 15

Немного полезностей недавно отбывшим от искушенного кочевника

Reading time 3 min
Views 20K

Если вы недавно поспешно уехали за границу (или собираетесь в будущем), то вот несколько неочевидных лайфхаков на основе моего 10+ летнего опыта постоянных переездов (a.k.a. жизнь "диджитал номада").

Я работаю удаленно всю жизнь, сейчас являюсь сооснователем b2b YC-стартапа. Пожил в десятках мест по всему миру, от коротких зимовок на островах Юго-Восточной Азии до жизни по два года в 🇬🇧 Лондоне и 🇮🇱 Тель Авиве. Сейчас в 🇪🇸 Барселоне.

Читать далее
Total votes 60: ↑41 and ↓19 +22
Comments 7

Я всегда с собой беру…

Reading time 9 min
Views 57K

Некоторые сотовые провайдеры не разрешают раздавать их безлимитный интернет без дополнительной оплаты. Приобретать отдельное походное устройство по обеспечению широкополосного беспроводного доступа в глобальную сеть с абонентской оплатой более 1к рублей в месяц ради нескольких дней в году может совсем не хотеться. В связи с этими обстоятельствами в статье рассмотрено, как сотовые операторы узнают о раздаче доступа в интернет с мобильных устройств, а также какие возможности имеются на борту RouterOS по обеспечению приватности подобных действий.
Читать дальше →
Total votes 118: ↑115 and ↓3 +112
Comments 134

Как и зачем хранить домашние каталоги пользователей в Git-репозиториях

Reading time 5 min
Views 17K

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

У меня несколько устройств: лэптоп на работе, стационарный комп дома, Raspberry Pi, портативный компьютер Pocket CHIP, а также Chromebook с несколькими версиями Linux на борту. Давно хотел, чтобы на таких разных устройствах я мог выполнять примерно одинаковые действия для настройки окружений. Поначалу я просто не знал, как этого добиться. Например, команды Bash alias я чаще использовал на работе, а многие вспомогательные скрипты хорошо работали в моём домашнем окружении.

С годами грань между моими рабочими и домашними устройствами начала стираться. Задач стало больше, увеличился и объём разнородных неупорядоченных данных в домашних каталогах, с которыми надо было как-то разбираться.
Читать дальше →
Total votes 37: ↑32 and ↓5 +27
Comments 20

Освещение дома и «удалёнка»

Reading time 4 min
Views 21K

Много сейчас пишут статей о светодиодных лампах, еще больше о "умных" лампах - в которых можно менять цветовую температуру, яркость и цвет свечения. В некоторых встроена bluetooth колонка, новогодняя гирлянда и прочее, не особо нужное источнику света… Многие производители «носятся» сейчас с CRI, поговаривая что он больше 95 у них (странно что не больше 100), как и срок службы лампочки > 50 000 часов… Не об этом речь пойдет в данной статье, а о том что зима на пороге, удаленка и…

…и недостаток света на рабочем месте, в данном случае квартире. Раньше, во времена «теплого лампового» света лампочки на 100Вт было достаточно на кухне, но там только готовили и ели… А потом дети бежали на улицу… Сейчас все сидят по домам, пытаются работать, учить уроки, сидеть за монитором/ноутбуком/планшетом. Тема «мерцающих» экранов раскрыта довольно подробно в интернете, скажу лишь одно – что при помощи калибратора можно настроить монитор приемлемо и (почти)убрать ШИМ. Ставить яркость на максимум и уменьшить ее с помощью цветового профиля. Тогда не будет вылезать ШИМ подсветки некачественного монитора. Теперь к освещению, проблема офиса в квартире – это свет, а точнее его недостаток. Ведь многие используют 1-3 лампочки на всю комнату… А это очень и очень мало. Вспомните офисы, там сборки ламп 18х4 и довольно часто на потолке.

Все красивые слова о светодиодах разбиваются о три проблемы –

Ниже приведу спектры МГЛ и светодиода (с официальных даташитов ламп philips), он будет полезен для сравнения.

Спектры ламп (масштаб чуть отличается, но на проблему это не влияет) МГЛ 3000k Philips CDM-T(TC), 4200k Philips CDM-T(TC), 4000k Philips LED tube+

на пороге, удаленка и…
Total votes 32: ↑30 and ↓2 +28
Comments 65

Кунг-фу стиля Linux: устранение неполадок в работе incron

Reading time 11 min
Views 7.6K
Возможно, вам знакома утилита cron, которая позволяет планировать запуск различных задач в заданное время. Мы, кроме того, уже говорили о программе incron, которая реагирует не на события, связанные со временем, а на изменения в файловой системе. Возможно, вам когда-нибудь надо было написать программу, которая, например, обнаруживает изменения в файле и автоматически прошивает какой-нибудь контроллер, или делает резервную копию файла, или отправляет файл по электронной почте. Для решения подобных задач вполне можно воспользоваться incron. Мы обсуждали основы incron, но надо сказать, что в работе этой утилиты есть некоторые особенности, которые сильно усложняют поиск и устранение неполадок, возникающих при её применении. Здесь я хочу рассказать о некоторых приёмах, которыми я пользовался для того чтобы привести в рабочее состояние проекты, основанные на incron.

В моём случае речь идёт о разработке простой системы для работы с документами, хранящимися в директории, находящейся под контролем git. А именно, при изменении Markdown-файла с расширением .md, находящегося в этой директории, генерируются эквивалентные ему .docx- и .pdf-документы. Аналогично — при измерении .docx-документа воссоздаются .md- и .pdf-файлы.



Работать с документами можно с помощью pandoc. Эта программа поддерживает множество форматов документов. Главная сложность тут — запуск процедуры сразу после изменения файлов и обработка только тех файлов, которые были изменены. Это — не такая уж и сложная, хотя и нетривиальная задача. Поэтому у меня ушло некоторое время на то, чтобы заставить мою систему правильно работать.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 3

Приседания по программе Пола Уэйда

Reading time 22 min
Views 48K

image


Техника / как выполнять


Правило первое: правильная постановка ног


Перед началом приседаний надо посмотреть на позицию ног. Также как ладони продолжают руки, так и от положения ступней зависит позиция ног. Начинайте, расположив ступни симметрично с носками развёрнутыми наружу под углом 30-40 градусов. Однако, продолжайте экспериментировать, чтобы добиться удобного положения под себя. Колени смотрят в ту же сторону, что и носки. Они не должны быть параллельны друг другу.


image


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


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

Читать дальше →
Total votes 44: ↑32 and ↓12 +20
Comments 32

Особенности работы Postfix

Reading time 10 min
Views 52K
image

Добрый день, сообщество. В этой статье хочу поговорить о Postfix – о том, каковы принципы его работы, и о возможностях диагностики проблем. В силу специфики работы приходится с ним сталкиваться — либо для решения своих задач, либо для понимания того, как работает чужая инфраструктура. В интернете о Postfix много информации, однако в основной массе это готовые конфиги для развертывания почтового сервера с нуля. Здесь же я постараюсь охватить основные аспекты администрирования Postfix.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 9

DLL & Python

Reading time 11 min
Views 60K

DLL & Python


image


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


Под катом вас ожидает статья с различными примерами, исходниками и пояснениями к ним.

Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 13

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2

Reading time 3 min
Views 31K

Введение


Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств мне сразу показалось решение от Xiaomi. Сразу отказавшись от управления своим домом через китайские сервера (возможные задержки, безопасность и привязка к устройствам одного производителя), я принялся изучать всевозможные системы управления умным домом и подбирать для них совместимое оборудование.

После часов поисков я решил, что мне подходит Home Assistant. Строить всё на начальном этапе я решил с использованием Raspberry Pi 4 Model B (2GB) и датчиков от Xiaomi. Купив шлюз (нужна версия с артикулом DGNWG02LM) и включив протокол связи локальной сети, я столкнулся с тем, что порты 4321 и 9898, необходимые для интеграции в Home Assistant, по-прежнему остались закрытыми.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 33

Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly

Reading time 4 min
Views 19K

Доброго времени суток, Хабр!


Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя.


Введение


Такая аббревиатура как DevOps уже давно не является чем-то новым для IT сообщества. У многих людей фраза «сделать DevOps» ассоциируется с какой-то волшебной кнопкой, при нажатии на которую код приложения автоматически превращается в развернутое и протестированное приложение (все на самом деле сложнее, но мы абстрагируемся от всех процессов).


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


В нашем случае мы будем использовать Jenkins.

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 15

Маджонг с детьми: для чего, когда и как

Reading time 18 min
Views 26K


Когда мы готовим ребенка к поступлению в школу и помогаем ему адаптироваться к школе, поддерживая его интеллектуальное развитие, то одно из классических игровых средств – это обыкновенные игральные карты. Обучая ребенка карточным играм, мы можем давать нагрузку на все когнитивные функции. Зрительное восприятие понадобится, чтобы различать символы мастей (не путать пики и червы, в частности). Память – чтобы следить за тем, какие карты уже сыграны. Мышление – чтобы составлять комбинации и просчитывать выгодные ходы. Внимание – чтобы не проморгать в своей руке те карты, которые позволят эти выигрышные ходы сделать. Играя по разным правилам одной и той же колодой, мы совершенствуем произвольную регуляцию деятельности и учим гибкому, нелинейному поведению. В общем, игральные карты – это замечательная вещь. Но у них есть существенный недостаток: в нашей культуре они плотно ассоциированы с азартной игрой на деньги и воспринимаются поэтому как нечто порицаемое. Это означает, что специалист, играя в карты с ребенком, будет провоцировать реакции вида «чему вы тут его учите?» со стороны семьи, а ребенок не сможет принести игральные карты в школу, чтобы поиграть на перемене, не провоцируя аналогичных реакций со стороны педагогов. Причем понятно, что этот культурный стереотип к жизни давно уже имеет весьма опосредованное отношение, и какая-нибудь браузерная многопользовательская игра с куда большим успехом приобщит ребенка к игре на деньги, чем колода карт на перемене. Но перед нами все же встает проблема того, что ребенок может начать ощущать, будто делает что-то аморальное и неприличное. Это его либо отвратит от игры (и потеряется смысл игры как самоподдерживающейся развивающей деятельности), либо негативно скажется на самовосприятии – а у нас нет цели заставить ребенка ощущать себя хулиганом и правонарушителем.

Вариант решения этой проблемы – играть с ребенком не в карты, а в маджонг.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 40

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Reading time 15 min
Views 30K
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!
Total votes 60: ↑58 and ↓2 +56
Comments 74

Графический интерфейс на Python за 5 минут

Reading time 4 min
Views 289K
image

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

Однако иногда ваша целевая аудитория не сильно подкована технически. Люди не против использовать ваши скрипты на Python до тех пор пока им не нужно смотреть на одну строку кода. В таком случае скриптов командной строки будет недостаточно. В идеале вам нужен графический интерфейс. Цель этого поста использовать только Python.

Библиотеки Python, которые можно использовать для графического интерфейса


По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Comments 9

MicroPyServer простой HTTP сервер для ESP8266 и ESP32

Reading time 3 min
Views 45K

Промо


Всем привет!


Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера.


Что такое MicroPyServer?


MicroPyServer это простой HTTP сервер предназначенный для проектов написанных на Micropython.


Основная концепция работы с библиотекой — это перехватывание запросов к устройству при помощи создания роутов (route) и функций обработчиков (handler).

Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 19

Во что поиграть от топографического кретинизма: игры на зрительно-пространственную функцию

Reading time 27 min
Views 25K


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

У некоторых детей освоение ориентировки на плоскости, а потом и в пространстве вызывает больше затруднений, чем у других. Например, она труднее дается левшам и девочкам, причем по одной и той же причине – из-за особенностей межполушарного взаимодействия. Когда женщина говорит, что надо повернуть налево, имея в виду, что надо повернуть направо, то это как раз про то, что у нее есть небольшой дефицит зрительно-пространственной функции. Многим женщинам из-за этого трудно читать карты, и чтобы понять, в какую сторону идти, им вначале нужно сориентировать карту так, чтобы она совпадала с местностью.
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 29

Скрипт настройки Windows 10

Reading time 2 min
Views 168K

image
Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать под кат.

Читать дальше →
Total votes 88: ↑77 and ↓11 +66
Comments 297

Information

Rating
4,329-th
Location
Иерусалим, Иерусалим, Израиль
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer
Senior
Python
C#
Docker
Git
Linux