NoCode Программирование
В романе Сергея Лукьяненко «Рыцари сорока островов» героям запрещалось смотреть на небо на закате и на восходе, чтобы дети не увидели, как имитация неба на космической станции переключается с ночного режима на дневной и обратно.
У меня в ванной комнате свет тоже имеет два режима работы - ночной и дневной. Мне хочется, чтобы ночью свет в ванной был приглушённым, а не слепил, как днём. Для этого там стоят умные лампочки из ИКЕА, которые имеют управляемые яркость и цветовую температуру. Управляются они при помощи самодельного Zigbee-хаба на базе Zigbee2MQTT. Zigbee2MQTT легко интегрируется с любыми системами умного дома, у меня сейчас ничего умного не стоит, зато есть NodeRed который умеет автоматизировать простые сценарии, а также в нем есть расширение для работы с Zigbee2MQTT, что очень кстати. Всего ламп в ванной четыре: две над зеркалом и две на потолке. Ночью две лампочки над зеркалом выключаются, а лампы на потолке горят с половинной яркостью. Поскольку схема проводки под такую конфигурацию стандартная, включение и выключение света происходит обычным выключателем, к которому дополнительно подключён Zigbee-выключатель без нейтрали. Это маленькое устройство установлено за выключателем в подрозетнике и на использовании выключателя никак не сказывается. Зато оно позволяет включать свет на 30 секунд, чтобы перепрограммировать лампочки на ночной или дневной режим.
Вчера я немного улучшил логику переключения света. Первая реализация алгоритма иногда не срабатывала, так как после подачи напряжения на лампы Zigbee-сети требовалось больше времени для обновления конфигурации. В результате могла возникнуть ситуация, при которой одна из ламп либо не включалась, либо не выключалась, либо переключение вообще не срабатывало. Если переключение не сработало ночью, то худшее, что может случиться, — это то, что вы окончательно проснетесь от яркого света, когда пойдете ночью в туалет. Но если переключение не сработает утром, то чистить зубы придется перед полутемным зеркалом. Чтобы это исправить, я сохранил нужные параметры яркости в глобальных переменных, и если лампе не хватило времени, она скорректирует свою яркость при следующем включении. Вот так выглядит моя текущая конфигурация. Дополнительно потолком можно управлять через панель управления NodeRed и через Telegram-бота.
Что тут скажешь, во-первых, это красиво...
Красиво, да и только... На JavaScript этот алгоритм занял бы полстраницы. Классическое программирование вряд ли когда-либо будет вытеснено no-code решениями. Однако визуальные программы, безусловно, выглядят привлекательно по своей природе.
Соло на клавиатуре
Нет, речь не идет об одноименной программе Шахиджаняна, а именно о том, что для исполнения музыки можно пользоваться обычной колавиатурой! Тут чувак исполняет "Турецкий марш". По-моему здорово!
Спок и ящерица
Оказывается, не все могут сделать вулканское приветствие из «Звёздного пути», оно же «Спок» в игре «Камень-Ножницы-Бумага-Ящерица-Спок», в которую играли Леонард и Шелдон в «Теории большого взрыва». Не совсем понятно, почему не все могут развести указательный и средний пальцы независимо от безымянного и мизинца: то ли не у всех есть нужные сухожилия в кисти, то ли это просто неразвитый моторный навык. Впрочем, если у вас получается сделать «Спока», значит, эта игра вам доступна.
Правил довольно просты:
- Ножницы режут Бумагу
- Бумага покрывает Камень
- Камень давит Ящерицу
- Ящерица отравляет Спока
- Спок разбивает Ножницы
- Ножницы обезглавливают Ящерицу
- Ящерица ест Бумагу
- Бумага опровергает Спока
- Спок испаряет Камень
- Камень давит Ножницы
Нужно будет пересмотреть Теорию Большого Взрыва...
Множество email адресов на одном ящике
У Gmail есть одна классная особенность — в имени аккаунта электронной почты после значка плюс можно указывать всё что угодно. Адреса myaddress@gmail.com, myaddress+something@gmail.com, myaddress+hello@gmail.com и т.д. для системы выглядят одинаково. Таким образом, вы можете создавать сколько угодно виртуальных адресов. Эту возможность я часто использую, когда нужно что-либо протестировать или создать несколько аккаунтов на один электронный адрес.
Однако это еще не все! Точки в имени аккаунта являются незначимыми символами, а значит, адреса вида myaddress@gmail.com, my.address@gmail.com, my.addr.ess@gmail.com будут для Gmail одними и теми же адресами! Это означает, что если мы где-либо оставляем наш электронный адрес, мы можем контролировать, какой именно адрес мы кому даем, и видеть, от кого пришло письмо. Например, друзьям давать my.address@gmail.com, а на сторонних сайтах оставлять myaddres.s@gmail.com, и мы сразу будем видеть, кто нам пишет!
И почему я до сих пор этим не пользовался?