Чистота воды в доме

По случаю тут попался в руки измеритель качества воды, поделал замеры:

  • Осмос: 25 ppm / 46 μS/cm
  • Осмос после минерализатора: 56 ppm / 112 μS/cm
  • Кран в доме после фильтров: 440 ppm / 882 μS/cm
  • Кран на улице до фильтров: 400 ppm / 812 μS/cm

Фильтры в осмосе не менялись никогда (т.е., им около 8 лет).

Acer a315, заметки по supervisor password

Дали как-то «посмотреть» ноут; чуть подлатал. Уже толком ничего не помню, просто разгребал вкладки в браузере. Одной из задач было снять пароль в BIOS’е, который никто не знал.

В указанной модели есть возможность снятия пароля через сервисный код. При вводе неправильных паролей выдается код, дальше идем на https://bios-pw.org и вводим код там. В ответ дается пароль, с которым и заходим в BIOS; тот же пароль потом используем и для полного снятия всех паролей.

Ссылки по теме:

Stanza IM: 25 дней спустя

То, что еще месяц назад казалось дикой идеей — было реализовано. На волне увлечения OpenCode — сделал свой jabber-клиент.

Да, базовые вещи были сделаны намного раньше, но у меня не было времени на заметки в блог для «неделю спустя», потом пилил более-менее крупные фичи и снова не было времени на блог, а сейчас ждать еще 3 дня для отсылки к одноименному фильму — нет желания 🙂

Так или иначе, теперь есть Stanza IM. Целиком и полностью написан в OpenCode под моим чутким руководством. Название — легкая модификация одного из вариантов, предложенного гуглоИИ. Кстати, как оказалось, «станза» — вполне популярное слово и не в контексте jabber’а. А еще существует полурабочий сайт-визитка https://stanza.im какого-то француза (и там даже есть какой-то старенький Prosody) — ну да пофиг.

Читать далее Stanza IM: 25 дней спустя →

Волшебный мир OpenCode

Примерно 3 недели назад меня познакомили с OpenCode. В итоге все эти 3 недели я практически нон-стоп переделывал все те jabber-проекты, что вел раньше, а также взялся за некоторые новые.

Основная проблема везде — проекты в основном старые, зачастую еще со времен активного использования джаббера массами. Основная масса написана на Python2 под какие-то старые библиотеки, которые либо python2-only, либо сильно поменялись и прямую замену py2->py3 сделать не выйдет. Разве что JabRSS мог похвастаться хоть какой-то работой с Python3. Незадолго до знакомства с OpenCode я даже подготовил docker-образ на базе Debian 11, где еще можно было поставить Python2 и сделать окружение для запуска старого софта.

Теперь все поменялось.

Читать далее Волшебный мир OpenCode →

Небольшой тест 21700 Samsung с разборки с Nkon

По случаю тут попали в руки «Samsung INR21700-58E (CC5493F101) 5330mAh — 10.7A — Reclaimed» с Nkon — заявляется, что состояние близко к новому и взяты с разобранной батареи, которая по какой-то там причине не пущена в эксплуатацию. Закинул несколько ячеек в купленную ранее Liitokala Lii-600. Уже после завершения теста случайно открыл для себя, что повторное нажатие на кнопку выбора ячейки переключает отображение между залитым и полученным током, так что в итоге можно высчитать КПД элемента:

Разряд, mAh Заряд, mAh КПД, % Rвн., мОм
5422 5839 92,86 10.65
5541 5685 97,47 10.55
5439 5617 96,83 10.55
5571 5739 97,07 10.44
5403 5634 95,9 10.57
5511 5588 98,62 10.61
5470 5628 97,19 10.46
5521 5688 97,06 10.65
5424 5676 95,56 10.55
5553 5659 98,13 10.61
5458 5625 97,03 10.66
5508 5740 95,96 10.55
5416 5656 95,76 10.57
5455 5548 98,32 10.55
5447 5571 97,77 10.62
5536 5766 96,01 10.42

Емкость соответствует, КПД ожидал даже ниже.

Mediawiki, закрываемся от ботов

В последнее время на фоне ИИ-бума прямо нашествие ботов на всех сайтах. Robots.txt стал не особо актуален; отсеивание по User Agent’у — тоже. Паразитный трафик вырос в десятки, а то и сотни раз. Буквально вчера добавлял правила у fail2ban для находящегося на публике RSS Bridge — через него повадились сканировать самые разные ТГ-каналы.

Так что достаточно вовремя я сделал кэширование и отдачу статики на своих вики-проектах, однако на сейчас уже и этого мало. Боты залазят на такие URL, куда живой человек вряд ли догадался бы зайти. Например, за 18 лет JabberWorld’а я практически никогда не пользовался разделом «Информация о странице», сейчас же в логах — тонны запросов с «action=info«. В итоге — да, для «живых людей» отдача статики, конечно, помогает, страничка будет отдаваться моментально, однако из-за хождения ботов по «особым» страницам все равно будет постоянно дергаться PHP, база и все, что с этим связано. Лишние затраты оперативной памяти, которую можно было выделить на что-то более полезное.

Пришлось принимать меры: порезать доступ на ряд страниц для незалогиненных пользователей — в чем-то не особо значимо, а в чем-то пришлось ущемить в возможностях.

Читать далее Mediawiki, закрываемся от ботов →

Обновил ESP Home, новые имена сенсоров

«Не было печали — апдейтов накачали» (с).

В последние дни занимался апдейтами ESP Home, Home Assistant и того, что с этим связано. В целом, увлекся docker’ом, поэтому в последнее время вышло пообновлять ряд домашнего софта — и развернуть новый. Если раньше версия Home Assistant у меня «замерла» на 2024-какой-то-там, которую последнюю можно было установить на pyhon-3.11 из Debian 12 (а обновлять систему я немного опасался даже после выхода Debian 13 — как оказалось, зря), а ESP Home из-за него — на 2025.9.3, то сейчас могу свободно переключаться между версиями без привязки к системе. Попутно, кстати, на какой-то комбинации версий получил в логах девайса (впервые!) сообщение «‘Home Assistant 2025.12.5′ using outdated API 1.13, update to 1.14+» (хотя при этом и все работало) — тут хотя бы ясно было, что / с чем / из-за чего не стыкуется, а не молчаливое пропадание сенсоров, как это было в прошлый раз.

Так или иначе, на сейчас у меня последние версии как ESP Home, так и Home Assistant. На части девайсов пообновлял прошивки — и в итоге поотваливались скрипты, которые забирали с них данные через REST API. Как оказалось, сменилось именование сенсоров — если раньше все приводилось в нижний регистр и пробелы заменялись на подчеркивание, то сейчас обращаться надо именно по тому имени, которое указано. Если раньше был URL вида ip/sensor/l2_voltage, то сейчас — ip/sensor/L2%20Voltage. Альтернативно — можно не кодировать пробел, но взять URL в кавычки — "ip/sensor/L2 Voltage".

Заметки обо всем