23 января 2026

Замена корпусного вентилятора в домашнем сервере

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

Оказалось что вентилятор, который стоит на выдув, стал сильно вибрировать и эти вибрации резонировали с корпусом (старый InWin).

Почивший вентилятор это 92 мм Xilence XPF92.R. У меня не сохранились записи когда он был куплен, но думаю несколько лет он отработал. В нём установлен гидродинамический подшипник, и наверное, это один из первых вентиляторов которые я покупал с таким типом подшипников. До этого были либо шариковые, либо подшипники скольжения.

22 января 2026

Оснастка для установки вплавляемых втулок

Очередное пополнение инструмента в домашней мастерской - оснастка для установки вплавляемых втулок с резьбами М2, М2.5, М3, М4, М5, М6 и М8. Это набор предназначен для 900-х паяльников от станций вроде моей Lukey 936A. Это полностью аналоговая, но надёжная паяльная станция пылится с момента покупки новой станции на C245 жалах, хотя недавно пришлось её доставать для ремонта новой станции.

Аналогичный набор есть и для C245 жал, но он стоит дороже. Если позже решу перейти на вариант с C245-м жалом, то достаточно будет докупить отдельно нагреватель.

Сами вплавляемые втулки выглядят так (у меня вариант для резьбы М3)

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

20 января 2026

Poetry всегда использует системный python

 Всё началось с жалобы разработчика в рабочем чате что после публикации приложения на GitHub тесты стали валиться с ошибкой.

poetry env use python3.13
Recreating virtualenv app in /home/runner/work/app/app/.venv
Using virtualenv: /home/runner/work/app/app/.venv
poetry install --with dev

Current Python version (3.12.3) is not allowed by the project (>=3.13,<3.14).
Please change python executable via the "env use" command.

Проект использует poetry 2.1.1 которая не самая свежая (последняя это 2.2.1), но и не слишком древняя. При этом выше по логу видна установка python 3.13.11 и он вызывается без проблем если выполнить python3.13 --version.

18 января 2026

Выключение индикаторов TP-Link RE365 V1 по расписанию

В родной прошивке TP-Link RE365 V1 есть функция установки расписания выключения индикаторов. Это удобно, т.к. они синего цвета и довольно яркие. Если проснуться ночью, то они неплохо освещают стену где установлена точка доступа. В какой-то момент производители электроники влюбились в синие индикаторы, но не все из них дают возможность отключить их на ночь.

В OpenWrt расписание делается несложно - сначала зашёл через SSH и посмотрел что есть в /sys/class/leds

$ ls /sys/class/leds/
blue:indicator  blue:lan        blue:power      blue:wlan-2     blue:wlan-5     mt76-phy0       mt76-phy1       red:indicator

Соответствие индикаторов на корпусе внутренним именам в Linux:

  • Ethernet (blue:lan)
  • 2.4GHz (blue-wlan2)
  • 5GHz (blue:wlan-5)
  • Power (blue:power)

Написал скрипт /root/wifi-leds, который умеет включать и выключать все индикаторы

16 января 2026

Проверка радиодеталей осциллографом

Давно хотел собрать упрощённую схему проверки радиодеталей с помощью осциллографа. Полная версия есть в книге "Осциллограф - ваш помощник (приставки к осциллографу)", Иванов, 1991 г. 

Проверяемый компонент подключается к клеммам "+" и "-". Трансформатор выдаёт переменное напряжение около 12 В. Сопротивление R1 ограничивает максимальный ток через проверяемый компонент в районе 1,7 мА, но нужно иметь ввиду что несмотря на ограничение тока, некоторые компоненты может пробить обратным напряжением (в моём случае оно изменяется от -17 В до 17 В).

13 января 2026

Сделать дамп кучи и потоков для Java приложения

Сделать дамп кучи и потоков для Java приложения в Kubernetes

$ JVM_PID=1
$ JVM_POD=some-pod

$ kubectl exec $JVM_POD -- /bin/sh -c "jmap -dump:live,format=b,file=/tmp/heap-dump.hprof $JVM_PID; gzip /tmp/heap-dump.hprof"

$ kubectl cp $JVM_POD:/tmp/heap-dump.hprof.gz $PWD/heap-dump.hprof.gz

$ gunzip $PWD/heap-dump.hprof.gz

$ kubectl exec $JVM_POD -- rm /tmp/heap-dump.hprof.gz

Посмотреть состояние можно через VisualVM.


Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

12 января 2026

Калибровочные эталоны для BNC

Сделал себе набор калибровочных эталонов (разомкнутая цепь, короткое замыкание и нагрузка) для разъёмов BNC чтобы калибровать NanoVNA когда к нему подключены переходники SMA-BNC.

До их появления использовал дополнительный переходник с BNC на SMA чтобы калибровать эталонами из комплекта NanoVNA.

Из-за дополнительного переходника точность такой калибровки была хуже, чем если использовать стандарты для разъёмов BNC.

Эталон разомкнутой цепи сделать легко - достаточно откусить выступающую часть центрального контакта чтобы он был на одном уровне с корпусом разъёма.