Asus C60M1-i и 24 ГБ памяти

Не отходя от кассы” протестировал и одну из своих mini ITX-материнок на APU AMD C60, для которой официально поддерживается только 8 ГБ.

Всю ночь гонял Мемтест, без ошибок. Когда докуплю еще планок – проверю и на 32 ГБ.

Скорость обмена небольшая – 2,386 GB/s. Но при достаточном объеме памяти вполне можно стараться компенсировать хилость процессора активным кэшированием всего чего только можно для каких-нибудь домашних применений – Home Assistant, сидбокс, ejabberd, веб-сервер с легкими сайтиками, etc.

AMD FX-8320 + DDR3 16 GB одной планкой

…а также поддержка >32 GB RAM.

Заказал себе такое счастье с Али – DDR3 1X16GB 1600 MHz. В свете возни с ИИ-хостом решил попробовать поискать и более емкие модули, чем имевшиеся 8 ГБ. Официально FX-8320 поддерживает максимум 32 ГБ (т.е., как раз только 8 ГБ модули). 16 я никогда в руках не держал и в хозяйстве таких не было. Решил провести эксперимент. Вышло около 32$ на распродажах.

И ведь таки работает. Прошел Мемтест как в соло-варианте, так и в паре с имевшимися Team’ами.

В отличие от Team с XMP на 9/9/9/24@1600, тут было только 11/11/11/27 для такой частоты. На 9/9/9/24 запускаться отказывались. НО. Что интересно, соло-модуль с Али давал чуть более высокую скорость (4,06 ГБ/с), чем соло-модуль с XMP (3,83 ГБ/с). Полный комплект Team в двухканальном режиме, конечно, давал ощутимый прирост – примерно 5,5 ГБ/с.

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

Экспорт переписки пользователя из MAM в ejabberd

В MySQL / MariaDB:

SELECT timestamp, created_at, peer, txt FROM archive WHERE username = 'USER' and txt != '' INTO OUTFILE '/tmp/USER.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"';

Далее режем на отдельные файлы:

awk 'BEGIN {FS="\",\"";RS="\"\n"} {peer=$3; gsub(/\/.*|\+/, "", peer); gsub(/"/, "", $1); gsub(/\\\n/, "\n", $4); print $1, $2, $4 >> peer}' /tmp/USER.csv

Прямая замена ESP01 на ESP32 C3

Попалось на глаза, закину в заметки:

GPIO не совсем соответствуют (а чего было не сделать 1 в 1?) и цена не особо гуманна – 3-4$ – при том, что сегодня покупал “чистый” ESP32 C3 по 1,7$. Но мало ли, в каких-то случаях может быть полезно.

Debian 13, Ollama + OpenwebUI и Fluux Agent: заводим персональный AI в Jabber

Первый раз щупаю эту тему.

В целом, не так давно на слуху появился jabber-клиент Fluux Messenger – примечателен тем, что от Process One, разработчиков одного из самых популярных jabber-серверов. Как минимум, находится среди их репозиториев.

А еще там появился Fluux Agent. Роадмап многообещающий: на сейчас он уже может выступать интерфейсом к Ollama или работать с “облачными” сервисами; может работать 1 на 1 или через конференцию; выступать в качестве бота или компонента сервера. А в будущем планируется возможность сделать общение между такими ботами – федеративную AI-сеть.

Идеей заинтересовался; возможностью попробовать запустить локального AI-агента и посмотреть, на что оно вообще годно – тоже. Подсобрал по разным уголкам дома железо и решил развернуть все на нем. В ход пошла старая основа от NAS’а – Athlon 740 и 32 ГБ оперативки с той же материнкой, на которой все было установлено. А в качестве GPU-основы для вычислений – пара видеокарт от майнинг-ригов. Самыми мощными у меня в хозяйстве были Nvidia 1080TI с 11 ГБ памяти, пару из них и задействовал.

Читать далее Debian 13, Ollama + OpenwebUI и Fluux Agent: заводим персональный AI в Jabber

Nextcloud и отправка почты

Наконец-то спустя долгое время наткнулся на решение проблемы отправки почты через простенький локальный почтовик. Что-то “сломали” или переделали несколько версий назад, с тех пор попытка отправки тестового письма в веб-интерфейсе выдавала ошибку. Полез в логи – при настройке None/StartTLS NC таки ломится на почтовик со StartTLS, после чего обламывается.

Закидываем в config/config.php такое:

  'mail_smtpstreamoptions' =>
  array (
    'ssl' =>
    array (
      'allow_self_signed' => true,
      'verify_peer' => false,
      'verify_peer_name' => false,
    ),
  ),

Прокачиваем “реле всего”. ESP32-мод.

Как уже писал раньше, ресурсов у BL7231 в TOMZN TOB9-VAP для реализации всех фич откровенно не хватало, а в новых еще и неподдерживаемый пока BL7238… В общем, решил поискать, есть ли ESP32-замена для модуля CBU, как это было для какого-то другого умного модуля и ESP02. Гугло-ИИ выдал, что надо смотреть в сторону ESP8685-WROOM-06. Таки да, есть, продаются – правда, цена сопоставима уже со стоимостью модуля целиком. Даже если взять много таких сразу – все равно это порядка 4$, что уже немного “кусается”. Решил примерять обычный ESP32 C3:

Вполне влазит. Можно попробовать переделать один из лежащих разобранным модулей на BL7238.

Читать далее Прокачиваем “реле всего”. ESP32-мод.

+1 батарейка

Фотозаметка.

По мотивам расчетов автономки для знакомого – захотелось и себе собрать что-то этакое из аккумуляторов – а в идеале – не сильно отличающееся по размерам от “малого” инвертора. На NKON за весьма скромные деньги продавали ячейки 21700, заказал коробку. Формат непривычный, но цена…

Попутно заказал BMS на Али – все тот же JK, но нашел на 150А и взял с током балансировки 1А, вышло ощутимо дешевле. По ошибке заказал на 24 линии вместо 20 (а для сборки требуется всего 14), вышло примерно на 1$ дороже, но все равно меньше 50$. И там же на Али взял кассету от Turmera для сборки батареи 14S6P на 52В.

Читать далее +1 батарейка

ejabberd и инвайты

Тема Easy Onboarding вполне активно развивается и в последних версиях ejabberd (26.01/26.02) появилось создание учетных записей по приглашениям: добавлен mod_invites, а в штатной поставке сделана landing-страница, с помощью которой новички могут выбрать себе клиент и перейти к регистрации.

Общий смысл в том, что более опытный – имеющий учетную запись – пользователь берет на себя придумывание Jabber ID и разрешает регистрироваться другу на том сервере, которым пользуется сам. Пароль обычно в опробованных клиентах генерируется. Т.е., вся регистрация у новичка сводится к паре кликов “далее”.

У себя поделал красивости в стиле субдоменов “Join ${DOMAIN}” (например, https://join.jabber.name), куда идут ссылки приглашений – а также туда смотрит и штатная веб-форма регистрации, которую на сейчас не использую.

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

Debian 13, lighttpd и симлинки

Просто заметка. После обновления Debian с 12 до 13 на одном из хостов отвалилась работа lighttpd – индексы отдает, а картинок нет. Картинки в подкаталогах, сделанных симлинками. server.follow-symlink = "enable" должно быть и дефолтно включено, и руками добавлял. Не помогает. Сервер просто перестал ходить по симлинкам, отдавая 404. Откат версии веб-сервера (при том же конфиге) решил проблему. Где-то по пути поломалось:

lighttpd:
  Установлен: 1.4.69-1
  Кандидат: 1.4.79-2

Update 2026-04-08: добил проблему. Не “поломалось”, а в свежих версиях используются более строгие ограничения. В моем случае используется размещение генерируемых картинок и HTML-файлов в /tmp (не страшно, так как собирать скриптами данные и отдавать контент через веб-сервер – единственная активная функция сервера). /tmp – за пределами дефолтного каталога контента и на другой ФС (tmpfs). В общем, открываем systemctl edit lighttpd и добавляем:

[Service]
PrivateTmp=no
ReadOnlyPaths=/tmp

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