vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-11 08:58 am
Entry tags:

Про vimscript

Решил написать в vim макрос для вставки текущей даты в текст.

Первый вариант в стиле vim 3.0 в unix окружении получился такой

map ,d :r !date +'%d.%m.%Y' < CR>

Вполне работает, единственный недостаток - вставляет дату новой строкой. Но вообще ради такой ерунды как дата порождать целый новый процесс. Решил подумать, а как это сделать средствами vimscript. То что в vimscript есть функции strftime и localtime разобрался быстро. Но вот как вставить результат функции в текст... Получилось

 map ,d  :put =strftime('%d.%m.%Y',localtime())< CR>

То есть в vim есть псевдо-регистр =, который "содержит" результат вычисления указанного выражения.

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-09 06:49 am

Коммерческий парусник

Тут пишут что завершил свой первый вояж через Атлантику первый парусный ролкер.

Судно довольно таки странное. При длине 136 метров всего две мачты и вооружение бермудской шхуны.

Площадь парусности для таких размеров маловата. У того же Proissen или Great Republic при сравнимых размерах было раза в четыре больше. Даже у вдвое меньшей "Cutty Sark" было вдвое больше.

При этом очень мощный вспомогательный двигатель. Примерно 2/3 от широко распространенных пароходов типа "Либерти". Которым и пришлось воспользоваться в первом же рейсе, поскольку парусное вооружение, состоянщее из всего четырех парусов, но гигантских, было повреждено ветром и отремонтировать силами экипажа не получилось.

Хотя численность экипажа составляет 20 человек, что по-моему для современных ролкеров немножко много. А расходы на содержание экипажа составляют заметную часть эксплуатационных расходов.

Скорость 11 узлов (как у "Либерти" и сильно меньше чем у чайных клиперов и "Летающих П"), что удлиняет продолжительность рейса по сравнению с современными контейнеровозами и ролкерами делающими 18-20 узлов. Понятно что на трансатлантичесмом маршруте разница между двумя неделями и 10 днями для большинства грузов не принципиальна, но все же сильно сомнительно что это судно окажется коммерчески выгодно.

X-Post to LJ

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-07 11:27 am

Suse Linux Enterprise Server 16.0

Внезапно SUSE выпустила новую мажорную версию. Я уж как-то и надеяться перестал. Семь лет делали. Кстати заявили AI integration. А тэга suse у меня нет. И open source сюда как-то ставить не в тему.

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-05 09:35 pm

Про Compose

Нашел замечательное место для тех кто пользуется механизмом Compose в X11 или WinCompose в windows для ввода символов, отсутствующих на клавиатуре.

Коллекцию compose sequences для кирилилческих языков.

Там, правда в основном Балканы всякие. Но возможность ввести все украинские и белорусские буквы не переключаясь с русской раскладки - есть.

Я-то туда пришел за буквой Ѣ. В комментах у Гришина кто-то поинтересовался, а как её вводить.

X-Post to LJ

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-05 06:29 pm

Для тех, кто понимает

(то есть для одного [personal profile] nataraj).

Придумал название для дистрибутива Linux, администрируемого собственным ИИ, описанного в предыдущем посте — "Zero Administration Distribution". Люблю я аббревиатуры на грани непристойности. Помнится была у меня когда-то софтина под названием fubar.

Команда шелла для запуска чата с этим виртуальным администратором должна называться um (что для англоязычных расшифровывается как universal mind).

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

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-11-01 10:38 am

Новое в московском быте

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

рабочий момент

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

ути-ути

X-Post to LJ

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-10-31 04:11 pm
Entry tags:

Граф Толстой.

Задал поисковой машине вопрос "граф Толстой". Результат (в duckduckgo) меня крайне удивил. Почему-то первой ссылкой оказалась статья про Федора Толстого-Американца. Да, я нежно люблю этого персонажа, но всё же. То же самое выдал bing (что неудивительно, duckduckgo по умолчанию ищет в bing). Google и Yandex выдали все-таки более известного Льва Николаевича.

Хотя по-моему правильным ответом на запрос "граф Толстой" должен быть Петр Андреевич, поскольку именно ему и его потомкам графское достоинство было пожаловано. Но его не показал никто.

Конечно "Красный граф", Алексей Николаевич заслуживал бы на мой взгляд второго места по этому запросу. Именно потому что графский титул как-то выделял его из прочих советских писателей. В отличие от Льва Николаевича и Алексея Константиновича, современникам котороых было в общем непринципиально, какой конкретно титул носит древний и достойный род Толстых - графский, княжеский или герцогский. Важно то что они выходцы из некоего знатного титулованного рода. Одного из.

vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2025-10-29 01:21 pm
Entry tags:

Сеть, ноутбук и systemd

Решил тут попробовать перейти на одном из ноутбуков с конфигурации сети с помощью пакета ifupdown на использование systemd-networkd. А то мне как-то начинает казаться что ifupdown постепенно перестает развиваться и поддерживаться.

А systemd в системе все равно держать приходится. Потому что без него половина нынешнего десктопного софта работает как-то странно.

На серверах и сборочных контейнерах я уже как-то давно использую systemd-networkd там где дистрибутивный способ конфигурирования сети не срабатывает без вмешательства человека. В смысле. если сеть завелась сама, то пусть работает. А если надо разбираться в какой-нибудь очередной etcnet, то лучше ее оторвать и делать через systemd, он везде одинаковый.

Требования к конфигурации сети на ноутбуке у меня следующие:

  1. Есть три интерфейса - wifi, ethernet и внутренний бридж для контейнеров и виртуальных машин.
  2. По умолчанию работает wifi, но если в enhernet воткнули кабель, то он лучше.
  3. Есть кэширующий DNS-сервер, он же резолвит имена виртуалок и контейнеров, поэтому единственным сервером в /etc/resolv.conf должен быть он.
  4. Виртуалки маскарадятся.
  5. Надо использовать DNS-сервера выданные по DHCP, потому как мало ли в какой сети ноутбук окажется. Т.е. инструмент конфигурировани сети должен уметь подсунуть dnsmasq-у правильный resolv-файл, и этот файл не должен называться /etc/resolv.conf.

Для этой цели потребовалась следующая конфигурация

1) enable-м сервис wpa_supplican@имя-интерфейса (вот пусть тому уроду, который придумал интерфейсы переименовывать, икнется). Конфиг к нему вполне подошел тот же самый, какой использовался для ifupdown. Пришлось только переименовать из просто wpa_supplicant.conf в wpa_wsupplicant-имя-интерфейса.conf.

Для тех, кто раньше wpa_supplicant-ом не пользовался - советую обратить внимание на опции сtrl_interface и update_config. Если у вас в ctrl_interface написана группа, в которую консольный пользователь входит, например netdev, то это позволит коннектиться всякими инструментами конфигурирования, например wpa_gui. Ну и update_config нужен для того чтобы сохранить то, что с их помощью конфигурировали. И то, и другое жизненно необходимо если вы периодически подключаетесь к ранее незнакомым сетям, например во всяких кафе.

2) то же самое проделываем с сервисами systemd-resolved и systemd-networkd (казалось бы зачем нам resolved? Он только мешает, пытаясь прибиндиться к 53 порту localhost, где у нас должен быть dnsmasq). Но нет, нам нужно чтобы systemd-networkd передал ему по d-bus адреса dns-серверов, а тот прописал их в /run/systemd/resolve/resolv.conf. А чтобы отучить его занимать порт, пропишем в /etc/systemd/resolved.conf DNSStubListener=no.

3) Прописываем /run/systemd/resolve/resolv.conf в как resolv-file в /etc/dnsmasq.conf

4) пишем файлы конфигурации интерфейсов. У Wi-Fi он совсем простой

[Match] Name=wlp* [Network] DHCP=yes А вот эзернету надо еще указать

[Link] RequiredForOnline=no

Что касается бриджа, там конфиг наиболее сложный. Потому что если раньше в /etc/network/interfaces были post-up команды с помощью которых можно было включить в ядре форвардинг, или там маскарад для этого интерфейса. то теперь у systemd-networkd отдельные ключевые слова на каждый такой случай. Ну это общее правило systemd. Ничего не делается обычными командами, для всего предусмотрены специальные опции в конфиге. а если не предусмотрены, то вам не повезло.

Впрочем зачем вообще держать форвардинг выключенным не понимаю, поэтому его можно включить глобально, добавив соотвествующее правило в /etc/sysctl.d. А для настройки маскарда воспользоваться nftables. Хотя вот тут, похоже сервис, предоставленный systemd-networkd будет не лишним.