Некоторые картинки не загружаются из РФ и РК, используйте VPN.

среда, 17 сентября 2025 г.

Story #2

 Second story.


That I said early - I wanted to become a veterinarian. But I think that this wish was imposed upon me. A little later I wanted to become a pediatrician, I think it was a result of my interest in one girl, her mother was a doctor. But, this moment is also interesting, because I didn't pay attention to her until my sister said something like: "she is pretty, you should marry her".

Sometimes I feel like I wasn't kind to our dogs, because I used walk  time for myself, and would kick dog. This is one of the reason why I decided to get a dog in my adult life, as atonement for my sins.

Rabinovich liked to sleep on the fridge, that was his place. He loved to purr while lying on lap. Sometimes he would suck the skin on arm like he was sucking his mother's breast. Sometimes he was shitting behind kitchen stove. The distance from the wall to stove was 10-15 cm, so cleaning up after him was quite difficult. But one day he didn't wake up.

So, they left us one by one. Unfortunately, I can't remember anything  else interesting about dogs and cat.

But I remeber one funny happening. As I said, we lived on the 7th floor, and one of our favorite activities was playing with toys on the windowsill, such as car or animals ... and one day me or my sisters dropped a toy and I went down. While I was looking for a toy, I found an anthill. It was like in a film - a big hill and ants. There were a lot of little red ants around me and they were climbing all over me. After this I don't like lying on the ground/grass.

четверг, 11 сентября 2025 г.

Story #1

 This is my English homework.

I will try to write some stories on English. These stories could be truth or imagine.


First story.


When I was born, I want to become a veterinarian. I didn't know why, but it is was a big wish. When I was small our family has dog. Unfortunaly I don't remeber anything about him, I only have some photos with him. After his death a puppy appear under our door, not right away, but soon... It was a girl, she was a little smaller than average dog. She had a white medium length wool. So there was wool everywhere. We called her Berta.

A little later, a family friend moved to the USA and left his dog (Rafael) with us, because he couldn't take his dog with him. I don't remember exactly when, but at that moment a kitten comes to our home. He stayed with us and we called him Rabinovich. We lived as big family in a small appartment (only one room). 

I remember that I was hiding from Berta in summer vacation under blanket, because I want to read book (Robinson Kruzo), but if Berta noticed that I don't sleep, she started run and asks to go outside. So, I hid under the blanket and read a book. At that time I often dreamed about a similar situation in my life, what would I do if I found myself alone on a lost island. In general, I often dreamed different things and it was fun.

But I left my theme...

I can't remeber when I started walking with dogs, but it was in childhood, maybe in second school grade. We lived in seventh floor of nine-floor-build. And because I was very young and had little weight I climbed up to the seventh floor by stairs twice a day. I knew almost all the neighbors on each floor, there were 28 apartments in total, each with its own story. Unfortunately, I remember little now.

Sometimes, I have a dream where I'm climbing up this stair and it collapsed, but I still carefully continue on my way... In the end, on 9th floor I understand that the stairs are destroyed and my dream breaks off ...

среда, 31 июля 2024 г.

Zabbix server 2 IP

Имеется VPS (debian 12) с интерефейсом к сети Интернет (ens3) и во внутреннюю сеть организации (ens4). Основная адресация во внутренней сети 10.110.1.0/24, но в VLAN есть куча других сетей в пределах 10.110.0.0/16.

На VPS поднят zabbix сервер со своим доменом (zabbix.domain.ru), для внутренних подключений на роутере создана CNAME запись для домена на внутреннее имя zabbix.domain.ru=>zabbixOS.name.loc. В изначальной настройке /etc/network/interfaces все работало как то криво. Сервер отвечал на ping по внутреннему адресу, но порт 10051 для заббикса не отвечал. При этом снаружи все работало. Также пакеты не шли в дополнительные сети с самого сервера, только в основную. В итоге родился вот такой конфиг:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens3
iface ens3 inet static
        address 91.1.1.2/25
        gateway 91.1.1.1
        dns-nameservers 91.1.0.1 91.1.2.1

auto ens4
iface ens4 inet static
        address 10.110.1.7
        netmask 255.255.255.0
        dns-nameservers 10.110.1.1
        dns-search name.loc 

        post-up ip route add 10.110.1.0/24 dev ens4 src 10.110.1.7 table rt2
        post-up ip route add default via 10.110.1.1 dev ens4 table rt2
        post-up ip rule add from 10.110.0.0/16 table rt2
        post-up ip rule add to 10.110.0.0/16 table rt2

Также надо не забыть добавить таблицу в /etc/iproute2/rt_tables

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
1 rt2

Для проверки:

ip route list table rt2
ip rule show

понедельник, 3 июня 2024 г.

CMD Объем носителей и свободное пространство

На просторах можно найти полный красивый скрипт, но мне достаточно вот этой строки для оценки

WMIC LogicalDisk WHERE "DriveType='3'" GET FreeSpace^, Name^, Size

суббота, 11 мая 2024 г.

RPi подключаем модем для обработки USSD и SMS

Ниже описан полный путь. В какой то момент я купил новый модем, но у него оказался API без поддержки USSD и я вернулся к старому. Поэтому не взыщите за столь длинный эпос

yser@rpi02:~ $ lsusb
Bus 001 Device 007: ID 12d1:1001 Huawei Technologies Co., Ltd. E161/E169/E620/E800 HSDPA Modem
Bus 001 Device 004: ID 0d9f:00a7 Powercom Co., Ltd   UPS  KIN-2200AP       FW3.A7
Bus 001 Device 005: ID 0d9f:0002 Powercom Co., Ltd Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)
Bus 001 Device 006: ID 0424:7800 Microchip Technology, Inc. (formerly SMSC)
Bus 001 Device 003: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
user@rpi02:~ $ cat lsusb_ext.sh
#!/bin/bash

for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
    (
        syspath="${sysdevpath%/dev}"
        devname="$(udevadm info -q name -p $syspath)"
        [[ "$devname" == "bus/"* ]] && exit
        eval "$(udevadm info -q property --export -p $syspath)"
        [[ -z "$ID_SERIAL" ]] && exit
        echo "/dev/$devname - $ID_SERIAL"
    )
done

user@rpi02:~ $ ./lsusb_ext.sh
/dev/ttyUSB2 - HUAWEI_Technology_HUAWEI_Mobile
/dev/ttyUSB3 - HUAWEI_Technology_HUAWEI_Mobile
/dev/ttyUSB1 - HUAWEI_Technology_HUAWEI_Mobile
/dev/ttyUSB0 - POWERCOM_CO.__LTD._USB_to_Serial

Исполнить правила devrul без перезапуска/перевыдергивания

sudo udevadm control --reload-rules && sudo udevadm trigger

Чего то с тем модемом не взлетело. Купил E3372h-153, вроде как с ним должно быть проще, но нет

среда, 8 мая 2024 г.

Sendmail двоеточие

При использовании sendmail и eocat может возникнуть проблема  с обработкой двоеточий в теле. Для обхода используйте пустую строку перед телом. Например сохранять тело письмо не так

echo "My text: this text" | tee file.txt

а в от так

echo -e "\nMy text: this text" | tee file.txt

или sed c cat

from=lte@domain.ru
to=it@domain.ru
( cat <<EOCAT
MIME-Version: 1.0
From: $from
To: $to
Subject: [ROOM][LTE][SMS]
Content-Type: text/plain
EOCAT
cat file.txt |sed -E '1 s/^(.*)$/\n\1/g' ) | /usr/sbin/sendmail -t

пятница, 3 мая 2024 г.

Dissalow all robots.txt nginx

Тестируем вот такой вариант блокировки индексации поисковыми роботами при помощи nginx

location /robots.txt {
                return 200 "User-agent: *\nDisallow: /";
        }

Также можно исползовать X-Robots-Tag, но говорят, что не все роботы поддерживают их

location / {
                add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
        }

Хотел решить задачу именно nginx`ом, так как он выступает в качестве reverse proxy, а конечный сервер часто пересобирается, можно и забыть о такой маленькой настройке

Ошибка установки Element

Инструкция с сайта по установке element

sudo apt install -y wget apt-transport-https‍
sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg‍
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list
sudo apt update
sudo apt install element-desktop

Ошибка NO_PUBKEY C2850B265AC085BD


Вот так ошибки нет

sudo apt install -y wget apt-transport-https
echo "deb https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list
wget -qO- https://packages.element.io/debian/element-io-archive-keyring.asc | sudo tee /etc/apt/trusted.gpg.d/element.asc
chmod 644 /etc/apt/trusted.gpg.d/element.asc
apt-get update
sudo apt install element-desktop

В следующий раз проверю права на /usr/share/keyrings/element-io-archive-keyring.gpg, может достаточно их поправить.

Для запуска двух element с разными аккаунтами нужно создать и поправить ярлык.

/opt/Element/element-desktop --profile default1
/opt/Element/element-desktop --profile default2

вторник, 30 апреля 2024 г.

Что можно сказать о классике? Завоеванный статус принадлежит ей по праву. Мы видим и представляем одну Америку - сегрегация населения, но она не одна. Нет, не хочу сказать, что данная ситуация была только в Америке, на фоне промышленной революции, но не много стран, которые могли бы потягаться в схожих ситуациях. Лишь хотелось бы, чтобы история не повторилась, а она повторится....

"Гроздья гнева", Джон Стейнбек

воскресенье, 21 апреля 2024 г.

Docker Nextcloud изменить BaseURL

Казалось бы, что может проще как изменить базовый URL?

А что такое базовый url? Классический базовый URL раньше выглядел так http://mydomen.ru/nextcloud
При этом nextcloud установлен по пути /var/www/html/nextcloud, а DocumentRoot в настройках веб-сервера  /var/www/html
Потом появился параметр RewriteBase, который позволял убрать из url nextcloud, тем самым сократив его и сделав красивым.

суббота, 20 апреля 2024 г.

Keepass клик по URL - открытие SCP соединения с автоматической авторизацией в WinSCP

В 4ый раз делать скрин мне лень, логика та же

Отталкиваясь от описания можно заставить KeePass открывать SCP соединение с автоматической авторизацией в WinSCP. Cтрочка "URL override":

cmd://%systemdrive%\progra~2\WinSCP\WinSCP.exe {BASE:RMVSCM} /newinstance /username={USERNAME} /password={PASSWORD} 

У WinScp отдельного параметра для порта нет, поэтому без извращений

вторник, 9 апреля 2024 г.

Трилогия "Воспоминания о прошлом Земли". Лю Цысинь. Первая часть - "Задача трех тел" очень понравилась, от остальных ожидал чего то большего, но тоже не плохо. Конец правда несколько разочаровал, так как он, как и бесконечность, никак не укладывается в рамки. Перед прочтением я смотрел обе части "Блуждающая земля", поэтому некоторые вещи ярко вставали перед внутренним взором. Только потом я узнал, что автор у произведений один. После всей трилогии новости о космических достижениях воспринимаются по другому ))


"Не говорите мне где она находится. Если вы мне скажете где она находится, то мир сразу сужается до размеров одной карты"

"Но здесь уже есть всё что я могу себе вообразить зачем тогда живопись"

"Если бог есть, то верить в него правильно, а если нет, то я ничего не теряю"

воскресенье, 7 апреля 2024 г.

Excel VBA Создать Word документы по списку из excel

Прилетела задача:

Имеем таблицу с колонками (допустим ФИО, контакты, кой какие данные)
Нужно для каждой строки создать отдельный Word документ по шаблону и заполнить данными из строки. Шаблоны могут быть разными.

В общем задача в голове разворачивается, я понимаю как ее сделать теми методами, что чаще использую - 1С. Но задачу надо решить силами Excel. Так как план работы "программы" есть, остается дело за малым - выразить его в VBA. Да, занимает чуть дольше, так как я практически не использую данный язык и приходится спрашивать у гугла - "как описывается цикл" и прочее, но результатом заказчик доволен.

К чему мы пришли:

  • В первой строке у колонок с нужными данными должны быть уникальные названия латиницей.
  • Обязательно должен быть столбец KeyWord, в нем содержится ключевой слово для определения текущего шаблона (Template_%KeyWord%.docx)
  • Также должен быть столбец FIO, и должен быть заполнен, иначе строка будет пропущена 
  • Шаблон должен находится в папке с файлом excel с макросом
  • В шаблоне используем "элемент управления содержимым". Название его соответствует названию колонки в excel документе


Если при работе программы элемент не будет найден, то он будет пропущен.

Все, дальше добавляем кнопку в excel документ и связываем его с этим макросом, все должно работать. Будут созданы файлы "Act %KeyWord%.docx" с необходимым заполнением. 

понедельник, 1 апреля 2024 г.

RPi 3B+ DHT11/22 Monitoring

На данный момент в "серверной" мы проверяем температуру при помощи камеры направленной на термометр от Xiaomi. Работу кондиционера оцениваем по веревочкам, т.е. если они колышатся, то кондиционер работает. Также на самой камере настроено оповещение на почту при наличии движения от этих веревочек два раза в сутки. Логика простая: есть движение - отправить письмо, нет движения - нет письма. Нет письма - реагируем. У меня есть RaspberryPi и датчик температуры/влажности DTH11. Малинка стоит в серверной, так почему бы мне не научить малину считывать температуру? Почему бы не мониторить температуру заббиксом, чтобы оповещать при критической ситуации?

Сначала подключим к малине датчик


Для работы сенсора буду использовать Adafruit, надо установить (предполагается что pip3 и python уже стоят на малине, моя ОС на базе Debian 12):

user@rpi02:~$ sudo pip3 install Adafruit_Python_DHT --break-system-packages

пятница, 29 марта 2024 г.

1С:Заготовка Поиск по GTIN номенклатуры при загрузке из ТабДокумента

Менеджер получил новые GTIN для продукции, которая уже заведена в 1С УТ и имеет собственный GTIN, при этом наименование товара также заменили в соответствии с новыми правилами ЧЗ. Плюс к списку прилагались 2000 марок к остаткам. Все было выполнено в специальной конфигурации Хамелеон. Бухгалтер попросила помочь с загрузкой марок в 1С УТ, так как  в УТ остаток есть, а приход размазан на год.

Самый простой вариант для разового варианта - ЗагрузкаДанныхИзТабличногоДокумента_УФ_v2.epf, но он не умеет находить по GTIN из коробки. А мне нужно:

  • Добавить GTIN к существующей карточке номенклатуры
  • Заменить наименования в карточке
  • Загрузить марки в базу
Поэтому я воспользовался возможностью Вычислить


Вот такой код:

М = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
М.Отбор.Штрихкод.Установить(?(СтрДлина(ТекстЯчейки)=13,ТекстЯчейки,строка("0"+ТекстЯчейки)));
М.Прочитать();
Результат=М[0].Номенклатура;
Сообщить(М[0].Номенклатура);

Да, код не оптимален, но для разовой загрузки подойдет, ибо на загрузку в таком варианте ушло не больше 20 минут (вспомнить как писать на 1С тоже занимает время X-D), а на разработку полноценного решения ушло бы часа 2 О_О

Один момент, для исправления наименования GTIN помещаем в поле Код, для поля код ставим галку поле поиска, а алгоритм вычисления кода правим вот так:

М = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
М.Отбор.Штрихкод.Установить(?(СтрДлина(ТекстЯчейки)=13,ТекстЯчейки,строка("0"+ТекстЯчейки)));
М.Прочитать();
Результат=М[0].Номенклатура.Код;
Сообщить(М[0].Номенклатура);

вторник, 26 марта 2024 г.

RPi 3B+ NUT UPS Monitoring


Имеем два ИБП Powercom KING PRO KIN-2200AP RM и Powercom KING PRO KIN-3000AP RM и RaspberryPi на собственном ИБП на базе 18650



Хочу мониторить и управлять ИБП с малины. К малине подключены при помощи USB кабеля (2 метра)

Дальше идет описание моих изысканий со всеми ошибками.

Ищем наши ИБП

user@rpi02:~ $ lsusb
Bus 001 Device 004: ID 0d9f:00a7 Powercom Co., Ltd   UPS  KIN-2200AP       FW3.A7
Bus 001 Device 005: ID 0d9f:0002 Powercom Co., Ltd Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)

В /etc/nut/nut.conf указываем режим работы сервер

MODE=server

В /etc/nut/ups.conf я их записал так (согласно документации данная модель

[KIN_2200AP]
driver = usbhid-ups
desc = "KIN-2200AP"
port = auto
vendorid = 0d9f
productid = 00a7

[KIN_3000AP]
driver = usbhid-ups
desc = "KIN-3000AP"
port = auto
vendorid = 0d9f
productid = 0002

Попытка запуска завершилась ошибкой

could not detach kernel driver from interface 0: Operation not permitted