Sergey Matveev [Thu, 24 Aug 2023 05:13:20 +0000 (08:13 +0300)]
Железный повод уйти с первого свидания
https://lenta.ru/news/2023/08/24/away/
Эксперты пишут, что "если у мужчины нет соцсетей и мессенджеров, стоит
уйти со свидания". О как всё просто то оказалось почему у меня с женщинами
не ладилось. Дожили...
Sergey Matveev [Wed, 23 Aug 2023 06:06:18 +0000 (09:06 +0300)]
Впечатления от нового сервера
Переставить жёсткие диски из прошлого сервера и загрузиться с них, как и
ожидалось, не вышло. Legacy/CSM по идее есть, но что-то с ним не вышло,
видео вывода никакого не увидел. Хотя и не сказать что я потратил много
времени на это. Так как в начале загрузочных дисков у меня находился
swap и freebsd-boot раздел, то я просто создал EFI и уменьшил swap. Пару
минут и с UEFI всё пошло прекрасно загружаться.
Материнка мне понравилась (9412c8cdb0c01875e9bfca8d3efde9695e4d9211). А
вот в корпусе первым делом что стало не хватать: отдельных лампочек для
каждого HDD. Да и в целом оно не рассчитано на hotswap, ибо нужно же
вскрывать его крышку для доступа к дискам. Этом плане оно конечно отнюдь
не серверный. С охлаждением жёстких дисков проблем никаких, 36±2 градуса.
Ошибся что можно было бы вставить две 5.25" корзины для HDD. Одна такая
корзина у меня занимает не два отсека, а три. Но не проблема. А вот
проблемой оказалось вставить её: она не имеет пазов для полозьев между
каждым из 5.25" отсеком в корпусе. В прошлом корпусе, неизвестно откуда
у меня притащенным, дешёвым и с жестяным металлом -- я просто
пассатижами загнул эти полозья чтобы не мешались. А в текущем корпусе
метал достаточно жёсткий. Так что пока не вставлял корзину -- пока
не подключённая лежит, как и прежде большую часть времени жизни.
А так никаких неожиданностей. Со вчерашнего дня сервер заменил. Из-за
смены MAC-адресов только IPv6 link-local в паре мест пришлось поменять
на других компьютерах. Если бы не треск HDD, то его вообще не слышно.
Поехал в НИКС и приобрёл новый сервер. Удивительно, но почти все
компоненты были сразу же в наличии, так что я его даже уже успел собрать
и проверить работоспособность под FreeBSD. В теории мне достаточно
только переставить диски из старого сервера, хотя я уже запамятовал как
там установлена система и UEFI (289a1c8a9aa5e98936203d48c6079903aaf3550b).
* Нормальный такой тяжёлый здоровый корпус Inwin. Место под пять 3.5"
дисков. Плюс 4 5.25" слота. Плюс ещё какое-то место под 2.5". Прелесть
5.25" в том, что у меня же есть корзина, занимающая два 5.25" слота,
на пять 3.5" дисков, в которой сейчас 4x SAS диска. То есть, если ещё
такую корзину вставить, то вообще в сервере 15 дисков может уместиться
* Power Man-овский 750W блок питания, который в корпусе шёл комплектом.
Никаких модульных кабелей, просто килограммовая Ниагара кабелей. Ну я
по идее и половину мощности не буду использовать -- так что вроде сойдёт
* Материнскую плату взял ASUS P12R-E. Всякие SuperMicro уж больно
дорогие. Но это типа вся из себя серверная, с точки зрения НИКС и
ASUS. По поведению действительно такая: никаких desktop свистоперделок
не заметил, BIOS даже без GUI, классический текстовый. Hex-индикатор,
всякие там джамперы, LED-ы. В комплекте даже планка с COM-портом идёт.
Если вставить BMC, то будет VGA, но я его не приобретал и не хочу. А
так как мой CPU с GPU, то видеовыход на HDMI идёт -- первый сервер
который не поддерживает VGA. 4x порта SATA, плюс mini-SAS порт на ещё
четыре. 2x 1Gbps LAN (igb драйвер, всё как полагается. В общем очень
мне она понравилась всем
* Xeon E2356G процессор. 6 ядер, 3.2GHz. Очень такой современный. Среди
инструкций впервые увидел что есть SHA -- SHA256 ускорение. Есть куча
всяких AVX512, которые тоже впервые у меня дома появились
* Пока только одна планка 32GB DDR4 ECC памяти, но заказал ещё три,
чтобы суммарно были все 128. Это единственное что не было в
достаточном количестве сегодня на складе
* Ну и какой-то башенный ID-Cooler вентилятор с радиатором для CPU.
Подозрительно дешёвый, но по характеристикам вроде всё более чем с
запасом. Ориентировался на то, что НИКС свои сервера с ним собирает
(в таком же корпусе и такими же Xeon-ами)
Пока я его пощупал только минут десять, убедился что FreeBSD загружается
и видит всё железо что нужно. Но чувствую что всё тип-топ. Ни одного
косяка при сборке не допустил, ни одного кабеля вроде бы не подключил не
правильно. В него же пойдёт и SAS HBA и корзина, COM-порт подключить надо.
memtest86+ прошёл, хотя пока у меня только 1 из 4 планок памяти.
Максимальная температура была 46 градусов.
Единственное что меня не очень обрадовало по сути -- отсутствие VGA.
Сколько раз писал о том, что с HDMI регулярно проблемы. Вот и сегодня: с
одним HDMI кабелем он даёт картинку, а с другим нет. Тогда как NUC
работает с обоими. Но в целом то ладно -- это сервер, ему и COM-порта бы
было достаточно.
Sergey Matveev [Mon, 21 Aug 2023 10:27:55 +0000 (13:27 +0300)]
Чайник и приватность
Во время мыться чайника, неудачно надавил на его стекло и оно лопнуло.
Поехал в Глобус за новым. Вторая чисто бытовая покупка с момента переезда
в свою квартиру -- прежде только микроволновка ломалась. На кассе спросили
чего ж у меня нету их карточки персональной, мол вон какая скидка бы была!
Объяснял что косвенно плачу за приватность и анонимность -- не хочу чтобы
где либо бы была история моих покупок. Ничего не ответили на это, ибо чем
тут парировать можно?
Sergey Matveev [Mon, 21 Aug 2023 07:06:49 +0000 (10:06 +0300)]
Чего все так ненавидят Астру?
https://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%82%D1%80%D0%B0_%D0%9B%D0%B8%D0%BD%D1%83%D0%BA%D1%81
Тьма наших компаний переходит на этот дистрибутив. Повозился с его
сертифицированной версией. Прежде как-то трогал и common edition. Вот
вряд ли преувеличу, если скажу что за последние два года это наверное
был самый беспроблемный и вменяемый дистрибутив GNU/Linux. Под Ubuntu
даже терминал может на запускаться (70593bcac3eb3323307ddbe158fc829438bacd08),
В Fedora (df37da70db7620b53e79b2492c154bc713da78ad) нет документации по
настройке сети. В Debian уже не помню, но тоже от былого качества давно
и след простыл (ведь за ним я когда-то сидел лет семь).
В Астре же даже банальное именование "eth0" NIC-а остаётся.
/etc/network/interfaces правишь и никакой NetworkManager,
systemd-network или прочая дрянь не мешает и не сбивает настройки. В
сертифицированной версии почти никаких заголовочных файлов не прилагают.
Даже OpenSSL или curses не будет. Собирай сам руками их в системе, ну
или собирай софт под common edition, а дальше уже копируй собранные
версии на special edition. Что, в общем-то, адекватно. Никаких
неожиданностей и внезапных поломок/багов не обнаружил, хотя два дня
возился с сетевыми/административными задачами. Даже логи по умолчанию
пишутся в /var/log, всякие "service" команды работают. Ни одной systemd
утилиты не пришлось трогать.
Но не без косяков. Например при установке мне не дают выбрать MBR или
GPT мне нужен. При установке предлагают XFS ФС выбрать, но в режиме
восстановления системы -- xfs-utils (или как их там) отсутствуют. То
есть, предлагают то, для чего не нет в их базовой системе средств
починки. Прописывают какие-то UUID-ы в загрузчики/fstab-ы, из-за которых
после переноса образа не запустится ничего на другом компьютере (хотя
это возможно и специально сделано). Но это всё даже сильного негодования
у меня не вызывало всё, на фоне mainstream дистрибутивов современных.
Не понятно почему нет tmux-а например. Астры не предполагают удалённое
взаимодействие? Пришлось собирать руками.
Создаётся впечатление, что Астра не люба тем, кто привык быстренько
делать apt install pkg и довольствоваться результатом. А она намекает на
то, чтобы включалась голова и критическое мышление. Собирать руками это
больший геморрой? Да, безусловно. Но зато это дисциплинирует и
заставляет вдумчиво ставить софт, а не слепо доверять непойми как, кем и
когда собранным бинарникам. Я же ведь в FreeBSD своей точно также делаю.
Поэтому, видимо, отторжения она и не вызывает.
В любом случае, это не отменяет того, что она проприетарна и закрыта --
поэтому рекомендовать её с точки зрения этики и морали конечно же
нельзя. Менять одну проприетарную ОС (Windows) на другую (Astra) -- так
себе радость должно вызывать. К тому же основанную на systemd.
ALT Linux я ведь в 2000-х трогал много. Мой первый начальник был
выходцем из этой конторы. И на тот момент это вполне себе качественный
серьёзный дистрибутив был. С тех времён ни разу не трогал. Помню что
были какие-то мутные истории про то, что он не свободным вроде бы стал: 785a2400264beaf24fe7fa4e4c7d285bdb9b0ad1. Но что-то с ходу так и не
понял вернулось ли там в норму.
Sergey Matveev [Mon, 21 Aug 2023 06:38:30 +0000 (09:38 +0300)]
Битый GPT не вывести
Нужно было ужать образ жёсткого диска. Сделал resize раздела, поменял
его размер. В конце остаётся много пустого места. Если скопировать такой
образ простой dd, то FreeBSD не хочет показывать и загружать таблицу
разделов, выводя в dmesg что GPT вообще плох плох и никакой recovery вам
не поможет.
Если переносить образ на диск большего размера -- то в dmesg будет
предупреждение что второй GPT не находится в конце диска, но это чинится
одной командой. А тут первый GPT указывает на LBA выходящего за пределы
диска. Всякие kern.geom.part.check_integrity не помогают. Хотя я ведь
точно знаю что первый GPT исправен и просто нужно сделать его копию и
поправить её адрес.
Имея на руках оригинальный диск, можно сделать gpart backup, который
выведет в простом текстовом формате разметку, а дальше gpart recover-ом
записать её на уменьшенный диск. Но вот backup берёт информацию из
GEOM-а, который на маленьком диске отказывается подгружать информацию о
разделах и поэтому backup не сработает.
И вот не нашёл вообще никаких средств в самой ОС чтобы заставить
показать хоть в каком-нибудь виде информацию о GPT разделах, чтобы хотя
бы вручную восстановить этот backup файлик и с него уже валидный GPT
записать. То есть мне просто нужно нечто, что могло бы прочитать 32
сектора диска в начале, интерпретировало
Sergey Matveev [Fri, 18 Aug 2023 09:11:51 +0000 (12:11 +0300)]
Необычные животные под водой
https://habr.com/ru/companies/leroy_merlin/articles/755276/
Жуть берёт даже от фотографий половины таких тварей.
На какие только выдумки природа способна!
Sergey Matveev [Thu, 17 Aug 2023 19:30:48 +0000 (22:30 +0300)]
Конвойный член
https://lenta.ru/news/2023/08/17/accident/
В статье про "худшие места для внезапной эрекции" упоминают сабж:
Когда уставшие люди едут в армейском грузовике сзади по бездорожью,
их трясет, и вибрация вызывает эрекцию
Не забуду как в Гриффинах была сценка менее чем на 10сек: двое на
трахтящем мотороллере стоят на светофоре; водитель прищурив глаза
оборачивается к пассажиру (Питеру Гриффину); тот отвечает "это от
вибрации". Ничего не показывают явно, тема больше не поднимается.
Так я вот у разных девушек и женщин (на протяжении, так сказать,
жизни), с которыми мог такие темы обсуждать, спрашивал поняли ли
они о чём тут вообще в этой сценке речь. Никто не понял. Хотя я
то эту серию увидел ещё будучи школьником.
Sergey Matveev [Thu, 17 Aug 2023 11:24:32 +0000 (14:24 +0300)]
Человек вручную настраивает ESP между хостами
https://www.sobyte.net/post/2022-10/ipsec-ip-xfrm/
ip xfrm командой устанавливает AES-GCM IPsec шифрование. Скрипт при
запуске каждый раз с нуля создаёт ключ шифрования, копирует по ssh на
другую машину: неплохо то, что хотя бы создаётся новый ключ на каждый
перезапуск. Но он в обе стороны использует один и тот же ключ: то есть
буквально дважды переиспользует AES-GCM ключ. *Полностью* нивелируя
безопасность.
Sergey Matveev [Wed, 16 Aug 2023 17:18:53 +0000 (20:18 +0300)]
udpobfs
http://www.git.cypherpunks.ru/?p=udpobfs.git;a=blob;f=README
Постоянно стали возникать новости о блокировках VPN-ов в РФ. Хотя у меня
только один раз возникала она (55eac8d1c25b49bafcc4ed1ece2f4f7763e0230f)
на несколько часов.
Многие предлагают бороться обфускацией трафика, маскированием его под
что-то другое. Я на всё это смотрю проще, со времён разработки GoVPN:
если сеть не позволяет случайные данные (сплошной рандом) отправлять, то
значит это whitelist блокировка: разрешено отправлять только явно
заданные вещи. По этой сети нельзя произвольными данными обмениваться.
Извращаться и страдать хернёй с попытками то так, то сяк, то таким или
другим образом запрятать данные, а то и вообще со стеганографией -- я не
собираюсь. Нет сети обмена произвольными данными -- значит нет. Мне не
интересно играть в игры, прятки и притворяться по всякому. Это же всё
равно продолжение игры по правилам не совсем дружных с головой людей,
и потакание их тупостям. А с их точки зрения они будут продолжать видеть
то, что люди, не смотря на whitelisting, всё равно продолжают
использовать эти каналы связи.
Blacklist блокировки уже давно стали нормой абсолютно везде в мире,
задолго до РФ -- да и в целом то я не сталкивался с ними на практике
особо.
Так вот для меня лакмусовой бумажкой является возможность отправки чисто
шума, не содержащего ни структуры, ни заголовков явных каких-то, ни чего
то подобного. Это у меня умел GoVPN, но не охота снова смотреть на него,
ибо это мой первый проект на Go, где по идее надо бы вообще всё
переписать с нуля. Сам протокол то там нормальный, а вот код так себе.
Да и я уже говорил, что если бы WireGuard появился раньше, то я бы и не
начинал писать GoVPN, ведь всякие DPI-resistant фишки я уже добавлял
после того как мне просто нужен был какой-то простой препростой VPN, а
не IPsec или OpenVPN.
Нельзя ли просто сделать какой-нибудь простой UDP прокси, который бы
симметрично как-то шифровал пакетики, исключительно для того, чтобы они
выглядели как сплошной шум? Проще написать, чем читать документацию
какого-нибудь shadowsocks, obfsproxy и подобных проектов, где я так и не
смог за пару минут найти как именно они работают и могут ли просто "шум"
слать. Всякие имитации HTTPS/whatever мне не интересны.
Вот и написал его. (Пока?) Даже handshake нету. Предполагаю что в любом
случае уж OpenSSH то будет работать априори (а если нет, то можно
выдернуть Ethernet -- всё равно это не работающая сеть). А значит по
нему (аутентифицированному, с PFS) можно просто отправлять ключи для
udpobfs какими-нибудь скриптами. Вариантов масса. Почему не делать VPN
прямо поверх OpenSSH, который вполне себе из коробки умеет даже TUN
интерфейс создавать? Плохая производительность, как минимум потому что
это поверх TCP будет.
Каждая сторона имеет 64-бит счётчики, являющиеся nonce-ом. В начале
пакета добавляются только 24-бит счётчика, остальная часть в памяти на
каждой стороне. Если значение счётчика пакета пришло меньше чем было
прежде, то значит было переполнение и в памяти увеличивается оставшаяся
часть. Аналогично как это с ESN в IPsec ESP делается. Над полным 64-бит
счётчиком и шифротекстом (ChaCha20) вычисляется Poly1305 (ключ, как это
принято в ChaCha20-Poly1305, берётся из первых 256-бит выхлопа ChaCha20)
вычисляется MAC, но только 40-бит от него используется. 24-бит часть
счётчика и 40-бит MAC добавляются перед шифротекстом, всего восемь байт
overhead. И эти 8 байт шифруются Blowfish-ем. Почему Blowfish? Потому
что у него 64-бит блок, а почти у всех остальных шифров (хоть сколько то
серьёзных) -- 128-бит. "Заголовок" 8 байт. UDP пакет может быть пустым,
а значит для 128-бит шифров понадобится дополнение, с которым не хочется
возиться. Ключи для всего этого (пара ChaCha20+Blowfish для каждой
стороны) вырабатываются из выхлопа SHA3 SHAKE128, на входе которого
общий ключ приходящий из вне.
Демон берёт ключи из stdin -- можно прямо на лету их подавать всё новые
и новые. Конечно же будет какой-то промежуток времени когда ключи будут
разсинхронизованы и поэтому часть трафика потеряется, но да и фиг с
этим. Это всё равно заточено под обфускацию VPN, внутри которого всякие
TCP не сильно пострадают.
Сейчас вспомнил что в коде нет обнуления буферов с nonce-ами после
обновления ключей -- надо будет поправить. Да и всё же хоть какой-то
handshake, пускай даже без DH, но добавить, ибо сейчас при любом выходе
демона ему по хорошему стоит менять ключи. Откладываю это, ибо боюсь что
это вырастит в полноценный транспортный протокол, чего не хотелось бы.
Sergey Matveev [Wed, 16 Aug 2023 06:20:20 +0000 (09:20 +0300)]
МФУ и IPv6
https://en.wikipedia.org/wiki/WS-Discovery
У коллеги есть GNU/Linux, в виртуальной машине которого запускается
Windows (а как ещё с Office OpenXML работать? 8d9138fe39d78b56fa27a0e851dda729d58b8573). Ему стало нужно подключить
принтер+сканер (МФУ) ко всему этому.
Пробросить USB в виртуалку -- проще считать что не вариант, не работает.
Пробовали другие коллеги -- не вышло. Я точно знал что даже не стал бы
пытаться. Поэтому подключить по IP его надо.
Админы сказали что принтер не умеет IPv6, а сеть между хостом и
виртуалкой IPv6-only. Ради интереса я всё же полазил по меню принтера и
нашёл там уже включённый IPv6, но для него ни настроек, ни какой-либо
информации об адресах. ping ff02::1 показал что принтер по IPv6
отвечает.
Решил поднять radvd, чтобы посмотреть примет ли он RA пакет и настроит
ли глобальный адрес? Да, ping -S 2001:db8:... ff02::1 показал что адрес
появился. В Windows, который через мост был соединён с Ethernet-ом --
принтер просто автоматически обнаружился, без каких-либо ручных действий
типа ввода адреса.
Не проверял, но наверное radvd был излишен и можно было ВООБЩЕ ничего не
делать и не предпринимать, а принтер бы всё равно нашёлся и работал, так
как, видимо, обнаружение происходит по WS-Discovery протоколу, по ff02::c.
А люди продолжают упорно верить что IPv6 это всё сложнее. Вот даже
принтер: ничего не надо делать, кроме как тыкнуть на "ipv6 enable". А
Windows IPv6 умеет уже очень давно и вот прекрасно с этим работает на
практике.
Sergey Matveev [Wed, 16 Aug 2023 05:57:15 +0000 (08:57 +0300)]
Site-local адреса IPv6
https://blog.apnic.net/2020/05/20/getting-ipv6-private-addressing-right/
Я читал, ещё до знакомства с IPv6, что fec0::/10 адреса, site-local, не
должны более использоваться, ибо deprecated. Встречал их только в старой
литературе.
Сейчас же актуальной заменой для них стали unique local адреса, ULA,
fc00::/7. Я всё равно продолжал называть их site-local, что не верно. И
когда я делаю сети где не выходит или нельзя использовать link-local
адреса, где нет выданных глобальных префиксов, то я просто беру что
попадается из fc00::/64 сети. А это неправильно, ибо ULA (RFC 4193):
| 7 bits |1| 40 bits | 16 bits | 64 bits |
+--------+-+------------+-----------+----------------------------+
| Prefix |L| Global ID | Subnet ID | Interface ID |
+--------+-+------------+-----------+----------------------------+
где L=1 бит означает что адрес сгенерирован локально. Глобально
сгенерированных пока не бывает. Поэтому L=0 сейчас не валиден.
Корректные ULA адреса могут быть только fd00::/8.
Sergey Matveev [Tue, 15 Aug 2023 07:19:59 +0000 (10:19 +0300)]
film-grain в AV1
Перекодировал тут один старый фильм 1980-х в AV1. В нём сплошное зерно.
Применил впервые film-grain=8 (другие уровни не пробовал, а 8 взял из
документации) опцию при кодировании. Действительно, существенно (десятки
процентов) ускорило кодирование и раза в полтора снизило bitrate, при
оставшемся превосходном качестве.
Sergey Matveev [Mon, 14 Aug 2023 15:17:01 +0000 (18:17 +0300)]
prepro утилиты
http://www.git.cypherpunks.ru/?p=prepro.git;a=blob;f=README
Не даёт мне покой (01b506180ad27c841d2fefed28cc3cffde06f3a7)
невозможность использовать из коробки SHA256 Git репозитории
в Go. Ну точнее получать модули из них.
Я понимаю что SHA256 формат в Git это экспериментальная штука, но во
всяких GitLab и других системах есть задачи и работа по возможности его
использования. Во всяких github.com/go-git/go-git библиотеках это тоже
поддерживается. Ну и, собственно, никто ничего не будет развивать пока
кто-то не будет неким первопроходцем и популяризатором. А избавляться от
SHA1 не может не быть неправильным, хоть в контексте Git это и не горит.
Удручало то меня в Go то, что нет готовых простых инструментов чтобы
сделать GOPROXY-совместимые директории для раздачи HTTP сервером. Так то
они создаются прозрачно на лету когда я устанавливаю зависимость. Но
чтобы установить её: у меня должен быть HTTP-сервер который бы отвечал
go-import-ом и перенаправлял на VCS. Но когда у меня GOPROXY-совместимый
кэш уже создан, то HTTP-сервер уже должен перенаправлять не на VCS, а на
GOPROXY сервер.
Думал как бы форсировать обращение при вызове go-get (для создания
GOPROXY кэша) не на настоящий go.{stargrave.org|cypherpunks.ru} сервер,
где не должно оставаться go-import-ов с VCS-ом, на какой-то временно
поднятый второй сервер, отдающий URL-ы до VCS-ом. Вызывая go-get-ы у
меня бы заполнилась директория которую бы я отдал для раздачи на GOPROXY
домене. Геморрой, короче.
Ещё пару дней назад я нашёл golang.org/x/mod/zip библиотеку, которая
может сделать ZIP-архив с нужной версией модуля прямо из VCS. Но она не
делает .info/.mod/list файлы. То есть, тоже не законченное решение.
Сегодня вспомнил про это, снова посмотрел на GOPROXY протокол и уже вижу
что "доделать" недостающие файлы -- тривиально. Вот и написал prepro
утилиты, которыми сделал себе GOPROXY/go-import-дружелюбные директории
для раздачи на HTTP-сервере. Несколько zsh скриптов. mk-mod делает
.zip/.info.mod файлы для заданного VCS URL/path, модуля и версии.
mk-list генерирует list-файлы во всей иерархии. mk-goget генерирует HTML
файл с go-import для заданного VCS-Web-URL и модуля (прежде я просто
руками создавал эти файлы, что тоже не было проблемой).
Теперь установить модуль разрабатываемый в SHA256 Git репозитории -- не
проблема, если я конечно не забуду вызвать mk-mod/mk-list для новой
версии в Git. go.* сайты перенаправят на proxy.go.* версии, следующие
GOPROXY протоколу.
Ещё один внезапный profit от этого: так как Git у меня находился только
на моей домашней машине, то вся раздача Go модулей шла с одного места. С
GOPROXY решением, так как теперь это просто несколько статичных файлов
-- я могу безболезненно их ещё и на VPS разместить, о чём прежде я и не
задумывался и вообще забыл что была только одна точка отказа.
Sergey Matveev [Sun, 13 Aug 2023 18:32:59 +0000 (21:32 +0300)]
Нападение на мечеть
https://lenta.ru/news/2023/08/13/mechet/
Я вот удивлялся когда-то людям путающим две совершенно разных страны:
Ирак и Иран. Чуть ли не большинство считает, что в Иране арабы живут.
Но новости то что за дебилы необразованные публикуют? В заголовке Ирак,
а на деле беда случилась в иранском Ширазе. В этой мечети я кстати был.
Sergey Matveev [Sat, 12 Aug 2023 12:30:05 +0000 (15:30 +0300)]
Начинаю подписывать Git тэги SSH-ключами
Плавно и неспешно начинаю двигаться в сторону использования OpenSSH
ключей для подписи, вместо OpenPGP. Не раз писал в блоге что не горю
поддержкой всяких наездов на OpenPGP, но простота minisign/signify и
OpenSSH ключей подкупает, особенно когда достаточно OpenPGP использовать
например только для установки доверия, а дальше уже context-specific
per-application дешёвые простые подписи более простыми ключами.
Почти во все свои проекты добавил OpenSSH публичные ключи в документацию
по установке, предоставляю .sig файлы для подписи, включаю их внутрь
Metalink файлов. Подписываю параллельно с OpenPGP.
Теперь вот и в tofuproxy появился Git тэг подписанный. Делается это
действительно легко (d6e5458329cc1eb3a61082b64115bfdecea8a90a), прямо в
директории tofuproxy проекта:
signify/minisign я считаю не имеет смысла использовать, если только на
какой-то совершенно минималистичной standalone системе, так как OpenSSH
из коробки вроде бы есть в любом дистрибутиве -- значит поддержка его
ключей шире. В Git оно уже интегрировано. Плюс сам по себе формат его
ключей вполне себе минималистичный, чай не попытка просто распарить
OpenPGP пакеты.
Кстати, по умолчанию генерируемые OpenSSH ключи шифруются aes256-ctr.
Можно форсировать "-Z chacha20-poly1305@openssh.com", тоже доступный в
OpenSSH сборке без OpenSSL.
Sergey Matveev [Sat, 12 Aug 2023 11:45:12 +0000 (14:45 +0300)]
Go и SHA256 Git репозитории
Мне казалось, что вроде бы Go без проблем работал с Git репозиториями в
которых используется SHA256 (73555bc7b599082947d066015b3010be9a3e9c5f, 7a48b1fda8f0429e5d0e1c61d961891b83d97ffb). Сделал тут один модуль, тоже
в подобном репозитории, но Go не в состоянии его был склонировать.
Проблема в том, что Go делает "git init", а затем внутри этой директории
"git fetch". Если просто выполнять "git clone", то проблем нет. А
git-init уже фиксирует формат репозитория и поэтому с сервером клиент
уже не может договориться.
Смотрел как бы сделать отдачу модулей не через ссылку на Git репозиторий,
а через отдачу модуля в виде tarball-а. github.com/goproxy/goproxy может
помочь в создании GOPROXY сервера, который на файловой системе и нужные
@v-like файлы наплодит, которые уже раздавать как готовые модули. Но
геморройно как-то это всё пока.
На данный момент решаю проблему так: при попытке go get он падает и
выдаёт путь на экране до директории с репозиторием в который не удалось
ничего склонировать. Перехожу туда, руками делаю:
git config core.repositoryformatversion 1
git config extensions.objectformat sha256
и снова вызываю go get, который уже сможет выполнить fetch, а дальше уже
будет использоваться закэшированная версия модуля. Менять тут формат
репозитория можно безопасно, так как абсолютно ни одного объекта ещё не
было скачано и ломаться нечему.
Что-то предлагать или отправлять патчи разработчикам Go бесполезно. В
рассылке патчи они игнорируют. А официально их можно отправить только
через платформы которые недопускают россиян (типа GitHub).
Sergey Matveev [Sat, 12 Aug 2023 10:42:36 +0000 (13:42 +0300)]
Гусь-матершинник
https://habr.com/ru/companies/ruvds/articles/753324/
https://www.youtube.com/watch?v=KGFDZq8IhMQ
Не знал что в Atomic Heart есть такой гусь. В YouTube есть записи всех
его фраз. Ну мата прилично конечно. Но порадовало то, что я бОльшую
часть отсылок знаю и понимаю типа "братишки"
(ea6c177863ad872d8d65364622a0a8bce002f29d, 3019ebaf3054e1fd922f6e192f9c0398320d3594).
Sergey Matveev [Fri, 11 Aug 2023 20:47:26 +0000 (23:47 +0300)]
Six Feet Under хороши для работы
https://en.wikipedia.org/wiki/Six_Feet_Under_(band)
В b1131e9ec315c349c3d299b9cdd4fbbca598dda6 писал что Cannibal Corpse
никогда не нравился мне в целом. Зато вот Six Feet Under -- группа
которую организовал бывший вокалист Каннибалов, более чем заходит.
Простая, незатейливая, ритмичная, приятная для уха -- отлично работа
под неё идёт. Примерно как и Debauchery, только не такая стёбная.
Sergey Matveev [Fri, 11 Aug 2023 18:16:00 +0000 (21:16 +0300)]
PQC для инженеров
https://datatracker.ietf.org/doc/html/draft-ar-pquip-pqc-engineers
https://blog.cloudflare.com/nist-post-quantum-surprise/
https://www.schneier.com/blog/archives/2023/08/you-cant-rush-post-quantum-computing-standards.html
Скоро будет опубликован RFC про постквантовую криптографию для
инженеров. Чисто с прикладной точки зрения. Какие алгоритмы есть, их
базовые свойства прикладные (размеры ключей/подписей, предполагаемая
"сила" и тому подобное).
Я не сильно беспокоюсь по поводу PQC, хотя мой OpenSSH уже по умолчанию
между всеми компьютерами использует SNTRUP+25519. Более того, в
последнем проекте на работе я вообще впервые собственноручно кое что для
PQ добавил в протокол, опциональную дополнительную защиту. Про Kyber,
видел, до сих пор всякие речи ходят о патентах на него, из-за чего
OpenSSH его и не выбрал. Но возможно слухи, возможно я его напутал.
Толком я не много чего читал про конкретику всех этих алгоритмов, ибо не
думаю что чего-либо буду понимать, однако вот SPHINCS, а точнее то, на
чём он был основан, уходящее ещё корнями в одноразовые подписи, для
которых и деревье Меркле сделали -- это понимаю. И не смотря на то, что
он на порядки медленнее чем ed25519, имеет на порядки большие размеры
подписей и ключей, но зато он понятен и не требует хранения состояния
как другие алгоритмы.
Sergey Matveev [Fri, 11 Aug 2023 16:30:08 +0000 (19:30 +0300)]
Как МТС IPv6 внедряли
https://www.youtube.com/watch?v=jBpubiE9r_w
В общем и целом ничего интересного или нового: железо толком всё давно
уже поддерживает IPv6, причём и для 2G/3G. МТС уже пять лет назад
полностью запустила для мобильных устройств IPv6, доля трафика 60%
(где-то видел эту статистику, но ссылку уже потерял).
Sergey Matveev [Fri, 11 Aug 2023 07:56:33 +0000 (10:56 +0300)]
Email провайдеры в РФ
Вчера перестал отвечать rambler.ru POP3/IMAP4 сервер
(238c6b55fb46cf0546f72ccd0f351d3ba4a3cb64). Только где-то полчаса назад
ожил снова. Больше полусоток не работал! Мне то ладно, чисто на пожарный,
но а если бы это был основной мой email?
Ради интереса посмотрел что ещё у нас "официально" есть. Ну только
mail.ru и Yandex. На mail.ru, как и следовало ожидать, привязка к
сотовому, 1234567890 не введёшь (ну точнее подтверждения не получишь). А
Яндекс это просто какая-то лютая жесть. Зашёл под JavaScript-capable
броузером на yandex.ru и не вижу ссылок на почту. Только если начать
что-то вводить в строке поиска, то там покажется ссылка на почту.
Перехожу, попадаю на mail.yandex.ru, с минуту рассматриваю/читаю
страницу и не вижу чтобы был хоть какой-то намёк на возможность завести
бесплатную почту -- только платная предлагается. Ладно, ввёл как идиот
прям в поиске Яндекса "как завести бесплатную почту на яндексе". Благо,
первая ссылка показала что для доступа к почте надо завести Яндекс.ID. Я
до сих пор не уверен, но видимо они как синонимы используются. Почему
это явно нигде не сказано? Или я отупел совсем или уже полностью не
понимаю как мыслят современные пользователи. Без предоставления
сотового, конечно же тоже ничего там не выйдет. Но больше меня поразило
обилие CAPTCHA! На каждый второй переход/клик (и это под JS-enabled
browser, иначе бы вообще ничего не показывалось!) мне в морду тычут
очередным ребусом, причём отнюдь не тривиальным, на который бы я минуту
наверное потратил реального времени. Ничего не решал конечно же, время
дороже, но по какой-то причине эти CAPTCHA пропадали при очередных
переходах. Я к Яндексу просто несколько раз возвращался.
Если ничего не путаю, то раньше вроде бы по закону каждый Интернет
провайдер обязан был предоставлять почту каждому клиенту. В 2000-х точно
помню что каждый ISP имел, пускай на пару десятков мегабайт, но почтовый
ящик для тебя на его домене.
Sergey Matveev [Thu, 10 Aug 2023 16:46:38 +0000 (19:46 +0300)]
Milk Sad
https://www.schneier.com/blog/archives/2023/08/cryptographic-flaw-in-libbitcoin-explorer-cryptocurrency-wallet.html
https://milksad.info/disclosure.html
Эх, позорнейшее программирование Libbitcoin Explorer (bx), где вместо
криптографических PRNG, использовали Mersenne Twister, и в качестве
зерна -- 32-бит текущее время. В итоге куча денег была спёрта с разных
кошельков.
Sergey Matveev [Thu, 10 Aug 2023 16:17:53 +0000 (19:17 +0300)]
Доступность почтового сервера rambler.ru
Вообще для резерва у меня долгое время уже есть ящик на riseup.net.
За всю жизнь он понадобился только один раз: когда Gandi "отрубил"
все мои домены (c31f6098d68cde8ca765e916fb58e4cb7ce93a69) и,
соответственно, через почту (на этих доменах) я уже связаться не мог.
Web-сайт riseup.net в РФ, насколько вижу, недоступен, хотя почтовый
сервер работает. Но видя что riseup.net даже на IPv6 не слушает нигде,
то в их компетентности у меня сомнения и явно они скоро пропадут
запросто. А ящик на всякий пожарный стоит иметь.
Я был уверен что на более менее известных почтовых провайдерах не
зарегистрироваться без предоставления номера сотового телефона, а то и
ещё небось каких документов, особенно в РФ. Моя первая почта была на
rambler.ru, поэтому туда и пошёл сразу же. Он ни черта не работает даже
под surf-ом с включённым JavaScript, но раз это потребуется один раз при
регистрации, то достал ноутбук старый, загрузил на нём KNOPPIX (просто
известный мне дистрибутив который на LiveCD имеет Chrome), прошёл
регистрацию. Включил POP3, настроил fdm, проверил прохождение между моим
почтовым сервером -- всё ok.
Любят многие говорить что большие почтовые провайдеры надёжны и всегда
доступны. На gmail я постоянно видел downtime-ы. А сегодня уже не один
час на rambler.ru недоступны ни SMTP, ни POP3. Проверил с разных мест:
буквально на всех серверах не отвечают TCP сокеты, connection refused.
Я то без претензий, это никогда не будет использоваться ни для чего,
кроме как каких-то ахтунгов (которых возможно и не будет), но даже мои
домашние сервера не часто бывают в таком долгом down-е.
Sergey Matveev [Thu, 10 Aug 2023 15:28:16 +0000 (18:28 +0300)]
tofuproxy как gemini-клиент и tilde.pink
В 9dab9cd83096a2832d0665835d35f60696e5bb98 (как время то летит!) я писал
что добавлял поддержку gemini:// протокола. SGBlog движок блога тоже
обзавёлся его поддержкой в c9626e34dc5995df0e8d8332bd8f99f7fffab9e2. За
последние месяцы разные люди не раз писали и упоминали/намекали что
читали именно gemini-версию блога, которого я даже в мониторинг не
добавлял и поэтому недавно его сертификат протухал.
Такое отношение связано с тем, что мне как не нравилась идея gemini, так
и не нравится (559781a8756ad1b6362a8228970cec7f5ac901a2). Протокол не
решает ни одной реальной проблемы. Небольшой subset HTTP более чем
достаточен.
Формат его .gmi файлов тоже не нравится, который явно пишут что
вдохновлён был Markdown. Я косо смотрю на всех людей, кто упоминает этот
формат, ибо его нет -- есть только десятки малосовместимых между собой
диалектов, с крайне узким общим подмножеством совместимости,
малопригодном почти для любых задач форматирования.
Но .gmi особенно бесит тем, что его во вменяемом нормальном удобном
текстовом редакторе не набрать, так как он хочет длинные строки иметь,
чтобы они по ширине пользовательского экрана сама выравнивались по
ширине. Нет уж, с чем бы я не работал: исходный код программ, скрипты
shell/whatever, LaTeX/Texinfo/reST документы, HTML -- везде в них я
удобную для человека ширину в ±80 колонок сохраняю. А дальше уже не моя
забота как оно будет на экране отображаться.
В текстовом редакторе работать с длинными строками не может быть удобно.
Поэтому для .gmi нужно по идее придумывать ещё какой-нибудь формат
документа, в котором можно бы было использовать удобные для человека по
ширине строки, а затем это преобразовывать в .gmi с длиннющими. А вот
сразу нельзя было что-то тривиальное придумать, чтобы формат .gmi
являлся пригодным для удобного редактирования человеком файлом с
исходным текстом?
Но да ладно, снова я отвлёкся на ненависть к инструменту, который ничего
не решает (да уж, а я его поддержку уже в две своих программы ведь
добавил). Полазил я в русскоязычном "gemspace" (я даже не знаю какой
термин надо применять корректно, но помню "gopherspace"), в котором прям
десятки вполне себе живых гемлогов обитают.
Обнаружил, что многие используют "=>" для ссылок, а не "=> " который
ожидает мой tofuproxy. Оказалось, что, действительно, спецификация это
явно разрешает. Сделал патчик. В итоге вроде бы проблем с броузингом
gemini ресурсов больше нету: tofuproxy более чем годен оказался.
Увидел запись gemini://topotun.dynu.com/blog/2022-05-17.gmi где
видно, что администраторы tilde.pink (видимо, как и всех tilde ресурсов)
оказались конкретными пособниками нациков, даже их лозунг запихнули на
своём ресурсе. Уже второй раз я что-то сегодня упоминаю их, но так
совпало.
Перечитал кстати свою прошлую запись о gemini и вижу что критиковал там
советы о выборе AES/SHA/ECDSA и подобных алгоритмов. А у меня TLS 1.3 в
gemini сервере поддерживает и все ГОСТовые алгоритмы -- чем это хуже?
Вот нафига давать бесполезные/глупые best practices?
Sergey Matveev [Thu, 10 Aug 2023 15:15:23 +0000 (18:15 +0300)]
Puffin Cafe приближается к концу
В c2ca5b3c80288aaa1a12d1a6d6ff3e2600657c0d я нашёл сборник аудиокниг
Puffin Cafe, где хорошо читают и подборку фантастики имеют схожу с
Моделью Для Сборки (3144d39f1903349286e1e81e3d4ca114bf420349). Да вот
засада: я уже на 472-ой книге из 498. То есть вот-вот уже с недели на
неделю всё прослушаю. Надо будет снова искать сборники.
Мне как-то порекомендовали книги из серии "Механики", которые в виде
аудиокниг уже тоже скачаны -- следующими пойдут они, но ведь могут и не
понравится.
Sergey Matveev [Thu, 10 Aug 2023 08:13:25 +0000 (11:13 +0300)]
Попытки пропаганды украинских нацистских террористов
https://club.hugeping.ru/blog/Tvq6MCSCEZFXXvlpBNom#Tvq6MCSCEZFXXvlpBNom
Автор одного небольшого ресурса пишет, что его спамом заваливали
недавно, но при этом использовали свой родной язык. Он верно пишет, что
врагу вообще-то пишут на его родном языке, дабы донести какую бы то ни
было информацию. Но у последователей нацистского террористического
режима настолько всё отбито в голове, что они даже этого не понимают. У
них явно даже нет цели попытаться донести что-то. От коллег, которые
больше обитают в соцсетях, слышал что нацики считают, что их язык якобы
все славяне обязаны знать.
А так полностью солидарен с автором этого блога по теме СВО. Точно также
наслышан про тьму ИТшников (0c8266d3ec0e7676deb9da3d4e3d85fb94748e1a)
либералов (для меня это собирательное слово уже давно, отличная
лакмусовая бумажка). И точно так же думал: зачем освящать громко и
публично свою позицию? Но и было чувство некоего предательства, ибо как
будто стыдишься поддерживать свою Родину и своих солдат товарищей,
которым и сам станешь в любой момент.
Хотели меня тут познакомить с одной девочкой молодой (ещё не окончившей
институт) в этом году на одном мероприятии. Во время разговоров слышал
уверенные безапелляционные фразы от неё типа "ну а кто сейчас не боится
мобилизации?". Вот как-то сразу прям неприятна она стала, нейтрально уже
не выйдет относиться.
Говорила, что боится куда то там идти работать, потому что очень опасно.
Я про себя думаю: что ж такого опасного то может быть на какой работе?
Мысли, честно говоря, только про то, чтобы заниматься чем-то незаконным,
типа наркоторговли. Ну или работать в зоне боевых действий. Оказалось,
речь про то, что работа может оказаться под санкциями. Насколько же у
нас кардинально разное восприятие, что даже не смешно уже, противно.
С моей точки зрения, оказаться под санкциями, равносильно признанию
того, что ты всё верно и правильно делаешь для своей страны и для
спасения жизни миллионов людей. Это признание заслуг, чем вообще-то
стоит гордиться. Как автор блога на club.hugeping.ru видит, что его
статья запускает некую цепную реакцию у нацистов: "Значит, всё-правильно
сделал".
А в знакомствах то я и так не был заинтересован: тема отношений с
женщинами для меня закрыта, ибо со мной невозможно провести и полдня не
разосравшись. Да и в прошлом году уверенную фразу услышал в свою сторону,
от девушки много лет общающейся со мной, что в мужья я точно не гожусь.
Sergey Matveev [Thu, 10 Aug 2023 07:30:05 +0000 (10:30 +0300)]
Посмотрел "Лучше не бывает"
https://ru.wikipedia.org/wiki/%D0%9B%D1%83%D1%87%D1%88%D0%B5_%D0%BD%D0%B5_%D0%B1%D1%8B%D0%B2%D0%B0%D0%B5%D1%82
Какие-то отрывки из фильма я видел ещё в детстве по ТВ. Почему-то в
памяти запомнился Джек за рулём в перчатках и что ему не нравится когда
его трогают. Джек Николсон вообще крутейший актёр когда надо играть на
голову больных и страшных людей (Отступники, Пролетая над гнездом
кукушки, Сияние, и т.д.). Фильм очень понравился. Как человека может
поменять пёсик и пробудить в нём хорошую сторону! Ах да, ну кроме пёсика
ещё женщина. Вот только в конце Николсон чуть ли не перестаёт быть
собой, превращаясь в какого-то обычного романтичного влюблённого,
потеряв свою изюминку.
Sergey Matveev [Thu, 10 Aug 2023 07:28:44 +0000 (10:28 +0300)]
Untitled Goose Game
https://en.wikipedia.org/wiki/Untitled_Goose_Game
Увидел упоминание компьютерной игры, где играешь за гуся, который должен
сеять хаос и панику среди людей в деревушке. Собственно, и наград всяких
у неё не мало. Чего только не придумают!
Sergey Matveev [Wed, 9 Aug 2023 08:06:51 +0000 (11:06 +0300)]
Downfall, Inception
https://www.opennet.ru/opennews/art.shtml?num=59571
https://www.opennet.ru/opennews/art.shtml?num=59574
Очередные (каждые несколько месяцев же ведь находят всё новые и новые!)
возможности постороннему процессу получить данные другого. Пишут, что
даже и через JavaScript в броузере можно.
Sergey Matveev [Wed, 9 Aug 2023 06:53:39 +0000 (09:53 +0300)]
Брэма нет -- репозиторий начал уродоваться
Подтянул обновления из git-репозитория Vim. Вот прям вся история до
этого была в нём линейна, и вот сейчас появился уже уродливый "merge
pull request":
* 84bc00e9b (tag: v9.0.1679, origin/master, origin/HEAD) patch 9.0.1679: Cleanup Tests from leftover files
* 9fcde9417 (tag: v9.0.1678) Merge pull request #12740 from k-takata/import-9.0.1678
|\
| * ad34abee2 patch 9.0.1678: blade files are not recognized
|/
* 4c0089d69 (tag: v9.0.1677) patch 9.0.1677: typo in syntax test input file
* 16abd997c (tag: v9.0.1676) patch 9.0.1676: warning for buffer in use when exiting early
[тысячи линейно идущих друг за другом]
Я вот удивляюсь тем кто это делает: они вообще что ли никогда не смотрят
в историю и просто вслепую нашлёпывают коммиты в репоизтории? Сложно
перед merge сделать rebase?
Sergey Matveev [Tue, 8 Aug 2023 18:05:12 +0000 (21:05 +0300)]
Володарского больше нет
https://lenta.ru/news/2023/08/08/potok/
https://lenta.ru/news/2023/08/08/volodarskirip/
Изначально я увидел новость о перепалки какой-то блогерши с Собчак, на
тему переводов Володарского. Блогерша написала и привела пример фильма
с его переводом. Собчак же заметила что это Гаврилов был. Собчак мразь
конечно та ещё, но тут оказалась права. Удивительно, но все эти ссылки
на Telegram вполне себе позволили в Links показать посты этого канала
и выдать ссылку на YouTube, которую обсуждали. Конечно же это Гаврилов.
Что я на самом деле узнал сам только три года назад: 2e94b72b12b80b04d00e6b983f193a9ce652a4e9.
В новости на Ленте пишут что у каждого типа если и были кассеты VHS,
то не без Володарского. У нас видеомагнитофон появился под конец 90-х,
и кассет с фильмами у нас наверное несколько штук за всё время и было.
Использовался он для записи по будильнику передач с ТВ. Но зато кассет
у знакомых много видел. Так вот Володарского я с ходу даже и не вспомню
где у кого слышал, в отличии от Гаврилова. С ним, действительно, прям
всё детство прошло, ибо в, тогда ещё, Калининграде по местному
кабельному крутили с видеокассет фильмы с переводом именно Гаврилова.
И вот у меня сомнения: точно ли авторы новости не путают Гаврилова и
Володарского? Или это нам в Королёве так повезло, что нас пичкали именно
Гавриловым, в переводе которого я даже современные фильмы стараюсь
скачивать. А Володарского... честно говоря, и слушать сложно и перевод,
я бы сказал -- отвратительный, никакой, теряющий большую часть информации,
даже суть не передающий.
Пример перевода из "Кровь и бетон", где масса народу пишет, что это
Володарский, что неверно: https://www.youtube.com/watch?v=ak0VILEdYDw
Sergey Matveev [Tue, 8 Aug 2023 09:53:02 +0000 (12:53 +0300)]
Не стоит недооценивать пропускную способность HDD-over-email
https://textfiles.libsyn.com/the-computer-shopper-aesthetics-episode
Jason Scott упомянул в своём подкасте, что, при сканировании книг на
больших разрешениях, у него файлы по 70 гигабайт выходят. Поэтому он
задумывается об отправке жёстких дисков курьерской почтой.
Таненбаум в "Архитектуре компьютера", если не ошибаюсь, писал что не
стоит недооценивать пропускную способность грузовика гружённого лентами.
Sergey Matveev [Mon, 7 Aug 2023 06:58:55 +0000 (09:58 +0300)]
lftp и WebDAV
lftp с WebDAV-ом реализованном через golang.org/x/net/webdav я считал
что не работает. Попытался разобраться. Всё оказалось до банального
просто. lftp и не пытается честно следовать WebDAV протоколу по
умолчанию для получения списка элементов коллекции. Просто навсего нужно
выставить http:use-propfind в нём и всё заработает.
Sergey Matveev [Sun, 6 Aug 2023 13:05:43 +0000 (16:05 +0300)]
Полтора дня шашлыков и DJing
В последний раз с друзьями на нашей дачи собирались 13+ лет назад. Где
сама дача с тех времён уже успела даже сгореть дотла. Была отвратная
холодная погода и дождь целый день. Сейчас же, наоборот лютая жара и
солнце. Встретились все вместе аж в девять утра уже. Наелись шашлыками и
кучей другим, поиграли в настольные игры. И даже часть народа осталась
ночевать, уложившись в три ночи.
Принесли настоящий профессиональный DJ-пульт. Впервые я, собственно,
понял чем занимаются DJ, в чём заключается их работа. Интересно конечно.
Было приятно, что мои познания в музыке были достаточны для понимания
многого без лишних пояснений, как и предложения как бы я сделал и как
решить ту или иную задачу/проблему.
Sergey Matveev [Sun, 6 Aug 2023 11:18:40 +0000 (14:18 +0300)]
Bram Moolenaar больше нет
https://www.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/thread/LQ7RTVZ5ITQ7IJBLCKTSA3YJVGS6SEW5/
https://en.wikipedia.org/wiki/Bram_Moolenaar
https://www.opennet.ru/opennews/art.shtml?num=59557
https://habr.com/ru/news/752706/
http://blog.sesse.net/blog/tech/2023-08-05-17-36_rip_bram_moolenaar.html
Умер автор Vim, главный разработчик онного.
Sergey Matveev [Wed, 2 Aug 2023 12:37:26 +0000 (15:37 +0300)]
Пароли здорового человека
https://habr.com/ru/articles/751414/
Статью сразу можно считать говном, ибо пароль предлагают генерировать
старым добрым идиотским способом с кучей спецсимволов. Реально это уже
всё выглядит как заговор, навязыванием небезопасных решений, с целью
проталкивать 2FA.
Sergey Matveev [Wed, 2 Aug 2023 10:21:15 +0000 (13:21 +0300)]
Подпись без OpenPGP, signify/minisign, ssh-keygen
http://www.ca.cypherpunks.ru/
Недавно подписал, просто ради интереса попользоваться утилитами, X.509
CA сертификат не только OpenPGP, но и minisign-ом и OpenSSH-ем.
minisign приятен тем, кроме минималистичности, что его подпись
совместима и с signify утилитой, входящей в состав OpenBSD. Просто тупо
подпись, без ада структур и сложностей OpenPGP. Даже вариативности
работы то толком никакой нет у утилиты, что хорошо. Как минимум, в
OpenBSD, ничего дополнительно из софта ставить не надо будет для
проверки этих подписей (ну кроме копирования 1-2 строчных публичных
ключей).
ssh-keygen (e6184094fc1f16c6d0648dfb62b02e95c15b4136) из OpenSSH может
подписывать произвольные данные. Публичный ключ занимает, аналогично как
в authorized_keys, одну строчку. В подписи необходимо указывать
namespace, что вообще очень здорово и правильно: современные хэши из
коробки в своём API позволяют задавать application-context. Я тоже во
всех проектируемых форматах/алгоритмах/протоколах всегда добавляю
контекст (хотя бы просто добавляя строчку при хэшировании). Формат
подписи чуть сложнее: содержит ещё и идентификатор хэша, namespace и
публичный ключ. Приятно решение тем, что OpenSSH из коробки и в BSD и в
GNU/Linux-ах, как правило, имеется.
Sergey Matveev [Wed, 2 Aug 2023 10:00:04 +0000 (13:00 +0300)]
OpenSSH против SSH
https://habr.com/ru/companies/ruvds/articles/751756/
Действительно, вечная проблема "реализация vs стандарт (типа независимый)".
Не знал что DJB выгоняли из DNS IETF-а. BIND кстати всегда прям не любил,
не нравился он мне даже форматом конфигов. У себя на практике вроде бы
его никогда и не использовал.
А вот OpenSSH мне нравится. Конечно, отнюдь не минималистичное решение,
но ребятам из OpenBSD доверие имеется. Да и как может не нравится софт,
в котором явно есть переключатель "не использовать (ненавистный) OpenSSL"
(ac8333dcf2a8d2e40a00b4a551355760aa0e28b7)?
Dropbear SSH я вроде в 2000-х как-то трогал в составе OpenWRT. Мало что
из воспоминаний о нём осталось. Если не ошибаюсь, то вроде были проблемы
с тем, что он современных алгоритмов каких-то не поддерживал.
https://habr.com/ru/companies/mvideo/articles/751506/
https://articles.59.ca/doku.php?id=em:20482030
Конечно же нет, если коротко. Статья прикидывает почему именно. Я
поэтому и не видел и не вижу проблем с RSA 2k и создавал его для многих
ключей OpenPGP подписи. Сейчас, конечно же, использую ed25519, особенно
когда он вообще стал алгоритмом по-умолчанию в GnuPG.
Собака Муха (63f7f86c5e15507ca960e0b7d861176c48a4655c) обожает дачу и
любит её охранять: может и тяпнуть, говорят. А как-то сам увидел как
если рядом нет взрослых, то Муха бежит, думая что её никто не видит, за
маленькими детьми чтобы загнать их с лаем на лавку и не позволять
спускаться. Причём прям явно видно как совершенно иначе она относится к
маленьким и взрослым.
Целых два дня я дома особо не присутствовал: то на одном дне рождения,
где жарил шашлыки, то на другом, где их уже только ел. В субботу здорово
что погода разошлась во второй половине дня. В воскресенье то целый день
были отличная.
https://shkspr.mobi/blog/2023/07/the-future-of-the-web-is-vnc/
О, точно такая же мысль пришла одному человеку как и мне
(a3b6b4ff11f962f8810c12fb331311a3655adda3): просто использовать аналог
VNC для Web-а, чтобы никаких сложностей и пользователь не мог делать
того, что не хотят корпорации (ab5d66334f36ab22a7b8547357829bcd24925ea6).
https://blog.plover.com/Unix/whitespace.html
https://drewdevault.com/2023/07/31/The-rc-shell-and-whitespace.html
Хорошая статья о том, что в POSIX shell всё вообще очень ужасно если
есть пробелы в именах файлах. Да и где бы то ни было ещё. И ещё статья
ответ, в которой говорится об rc shell (но не тот что в Plan 9), а также
упоминающая что в zsh и fish, в которых нет упомянутых проблем с
экранированием. Обе хороши. И в bash проблем ничуть не меньше.
Во время написания 8b084f928564cd3b23edc8bfd8dcf5d6c1d1892e я захотел
поделиться фотографией того, что раньше выглядело как аккуратненький
сервер. Но это надо куда-то выкладывать фотографию, желательно чтобы не
просто файло-помойка была, ссылаться на неё. Иногда ведь были позывы
поделиться снимком экрана. В общем, добавил в свой движок для блока
показывать картинки.
Для добавления дополнительной информации к коммиту (который является
постом в блоге) в Git можно в отдельной ветке в файле с названием равном
хэшу коммита разместить произвольную информацию. Собственно это
git-notes. Комментарии у меня хранятся именно как git-note, в который
дописываются recfile-отформатированные записи. Но картинки это бинарные
файлы, к тому же к которым надо бы название/alt добавлять и намекать на
формат изображения. Была идея превратить файл в notes-like ветке в
директорию, в которой названия файлов это alt-текст плюс расширение
указывающее тип.
Но хранить изображения хотелось бы в отдельном репозитории, ибо это уже
опциональная информация, жутко тяжёлая по определению. Начал думать о
подключении в движке ещё одного репозитория, в котором выбирать нужную
ветку и искать директорию с файлами. Легко делать сложно. И только после
этого дошло: а зачем Git то? Не нашёл ответа. В итоге для хранения
картинок просто указываю путь к директории с картинками. Поддиректориями
являются хэши записей в блоге. Внутри них -- просто обычные файлы. И
раздавать директорию можно обычным HTTP-сервером, ничего не надо
просасывать через движок блога. По сути он теперь просто проверяет есть
ли директория с именем коммита и список файлов превращает в список <img>
элементов, а в Atom ленте это превращается в enclosure.
Делаю сертификаты для нового домена img.blog.stargrave.org через
zeasypki (47b11bfd222d9f3f03664035e4fb4ca32cfa75de). Среди них ECDSA
(для всякого старья), EdDSA и ГОСТ, который на уровне TLS 1.3
поддерживается моей сборкой Go (http://www.gostls13.cypherpunks.ru/).
Делаю записи в DNS через zdns (d4eadab571bf5e8ea00d19598f129a708a322d15)
(сертификаты надо сделать заранее, чтобы DANE записи появились в зоне).
Добавляю знание о нём в свой HTTP-сервер godlighty
(http://www.godlighty.stargrave.org/). Пишу скрипт для rsync-а ~blog/img
директории на сервер. Правлю код sgblog. Добавляю пару строчек в
конфигурационный файл на сервере: ImgPath:
/home/www/www/img.blog.stargrave.org, ImgDomain: img.blog.stargrave.org.
Добавляю первую картинку, загружаю, перезапускаю sgblog, радуюсь.
В Atom ленте для enclosure стоит указывать MIME-тип. Поэтому sgblog по
расширению должен уметь определять его. Пока просто сделал hard-code
словарика со всеми поддерживаемыми форматами которые я мог бы раздавать.
То бишь, JPEG XL и WebP (так как много чего у меня в нём есть, без
оригинального файла из которого он был сделан).
Так как я люблю, чтобы серверы были дружелюбны к зеркалированию полному,
то директория раздающая картинки должна читаться через WebDAV. godlighty
его поддерживает частично: например lftp не работает с ним. Но cadaver и
rclone вполне.
Установил тут на работе недавно FreeBSD на компьютеры. Вот вообще ничего
не настраивал для консоли, только moused_enable=YES добавил. UTF-8
кириллический текст показывается, ScrollLock-ом мотать историю экрана
можно (хотя я всё равно tmux установил), мышкой выделять двойным щелчком
слова и вставлять третьей кнопкой тоже можно. А из-за UEFI, можно при
загрузке выбрать нужное разрешение framebuffer и по человечески работать.
Раньше (2000-е), помню, надо было явно выставлять особый шрифт, а
кириллица была через KOI8-R в терминале. Хотя мне этого хватало и для
работы полностью (я реально на запускал X-ы вообще) и для FidoNet вполне.
Регулярно ставлю альбом Krahnholm-а (2d440a96b081b1740db1c2d1183ab04c3ecec2e0).
Порыскал в Encyclopaedia Metallum о том, с какими ещё группами связаны
участники, особенно понравившийся вокалист Gapsanger Draugsvelg. Kroda,
Reusmarkt, Emptynest, Colotyphus, Ezkaton, Atra Mors Kvlt, Torqverem,
Zgard, Kruk, Mørkt Tre, KZOHH, Ulvegr, Djur. Ничего не понятно, но
нравится как это всё пишется и звучит.
https://www.opennet.ru/opennews/art.shtml?num=59495
https://kevincox.ca/2023/07/26/web-environment-integrity-api/
https://habr.com/ru/news/750368/
https://www.neelc.org/posts/google-webauth-palladium/
https://stackdiary.com/web-environment-integrity/
Хорошо и коротко в блоге Kevin Cox написано что это такое: это API для
удостоверения что третье лицо полностью контролирует ваше устройство.
Удостоверение что вы не контролируете никоим образом.
В общем-то просто уже проторённая дорожка всей сущности современного
Web-а. Зашёл на сайт: тебе загружают программу берущую под контроль твой
компьютер. Теперь хотят убеждаться точно ли ты ничего не поменял там,
чтобы корпорации могли убедиться в том, что они твоё устройство
корректно могут использовать для своих нужд.
https://fsfe.org/activities/msooxml/msooxml.en.html
https://fsfe.org/activities/msooxml/msooxml-interoperability.en.html
https://www.fsf.org/campaigns/opendocument/copy_of_index_html
На фоне кучи Word-овых документов на сайте Госдумы
(2312210dcbc3da3381b5e07f811aeef7a5fb1a36), вспомнилось что как-то меня
попросило начальство один документ, написанный в Texinfo для
генерирования набора HTML-ек с картинками, отправить в .docx формате. Не
просто описать все мысли и эмоции по этому поводу, ибо, считаю, что нет
ничего более отсталого и, я бы сказал, унизительного чем использовать
подобный формат и софт.
* Ну не может образованный технарь в здравом уме делать осознанный
техничный выбор в сторону WYSIWYG решения. Вот выбирать Microsoft
Windows технарь может: эта платформа для всяких домохозяек и на софте
для неё можно зарабатывать уйму денег, поэтому это выбор платформы для
profit, как минимум. Но к Word то, конечной программе, этот аргумент
(про profit) не применим
* Решение, в котором невозможно использование текстового редактора
(уж извините, но пока не придумано ничего лучше Vim или Emacs, даже
хоть как-то на милю к ним приближённого) и систем контроля версий?
* Я считаю что выбрать Word осознанно может только тот, кто не ушёл в
своём развитии и знаний о прикладном ПО дальше чем 1990-е, где тьма
нелегальных ("пиратских") копий Windows+Office распространялась, с
целью подсаживания стран на vendor-lockin решение от Microsoft. Да, в
нашей стране ПК то и появились в это время, как и люди с ними
работающие, то прошло уже почти 30 лет с тех времён!
* Это абсолютно сродни тому, что человек бы использовал печатную
машинку: на ней же тоже можно сделать документ? Сродни тому, что
человек писал бы код без какой-либо системы контроля версий, даже хотя
бы RCS. Знаю что таких людей много, но это говорит *только* об их, так
сказать, необразованности, либо о необразованном дебилизме (ибо только
всем в округе вредит) руководителей которые форсируют не применять VCS
* Все эти люди могут быть умнейшими человеками, крутейшими специалистами
в своей области, но это не отменяет что они могут продолжать
использовать печатные машинки или чертить от руки. Но вот только зачем
от окружающих то этого требовать? CAD системы имеют далеко не нулевой
порог входа и если надо быстренько раз в полгода небольшой чертёжик
нарисовать, то запросто это проще сделать от руки безусловно. Но
человек который целыми днями только и делает чертежи -- будет
использовать куда более навороченный (CAD) инструмент
* Вот и Word создавался для домохозяек и секретарш, чтобы они могли, как
я это называю, служебные заметки печатать. Для их задач это более чем
достаточно с минимальным порогом входа. Вот только не бывает
инструментов одинаково пригодных для использования профессионалами и
для полных любителей. Не бывает такого в принципе, ни в одной области.
И если я умею CAD или roff/TeX, то зачем мне любительские инструменты?
* Всё вышеописанное я на самом деле применяю не только к Word-у, но и к
любом другому WYSIWYG, такому как Open/LibreOffice. Домашним
пользователям достаточен был бы BASIC на их компьютере (как в ZX
Spectrum), но зачем профессионального программиста то заставлять его
использовать?
Но чаще у меня возникает другой вопрос, на который никто так и не дал
мне вменяемого ответа: конечному человеку который будет читать документ,
какая разница в каком формате он будет? Хорошо, я понимаю почему не
HTML, ибо он не очень красиво и просто может быть распечатан, а читать
A4 страницы распечатанные, действительно, может быть куда удобнее. Но
для печати итогового документа вообще то придуманы форматы типа
PostScript (ok, про него можно забыть) и PDF. PDF, грамотно сделанный
(PDF/A), откроется везде и распечатается as-is везде. И его можно
сделать десятками инструментов, кому какой нравится.
.docx же, даже на самих Word-ах открывается по разному. Более того, я
даже видел что на одной и той же версии Word он может выглядеть по
разному (версия ОС, настройки ОС?)! Не говоря о том, что он заведомо
наверняка не будет одним и тем же в LibreOffice и Microsoft Office. Так
зачем же хотеть этот формат (ну кроме 90-х в голове и "я так делал 30
лет назад и мне нормально")? HTML/whatever точно везде по разному будет
выглядеть, но зато точно откроется, потерь информации не будет, богатый
выбор инструментария. PDF/A точно везде одинаково будет выглядеть и
везде откроется, не малый выбор инструментария. .docx часто будет
выглядеть по разному, ограничен по сути только одной программой и
зачастую определённой (не более старой) её версией, как и инструментарий
для создания.
Единственный аргумент который вспоминаю: а если противоположная сторона
захочет внести правки? А для этого есть исходный код. Вы программу тоже
предоставляете всегда на интерпретируемом языке, чтобы принимающая
сторона могла поправить? Давайте в PostScript документы делать: их тоже
люди руками правили. А говорить о серьёзной кооперативной правке
документа/кода без возможности использования системы контроля версий,
это опять же возврат к тому как некоторые люди разрабатывали софт
прежде: обменивались готовыми tarball и вручную делали merge. Без
комментариев, так как сейчас 2023-ий год.
И я ещё пока молчал о том, что .docx это только про одну программу. Сам
я лично это не проверял, но много источников говорят о том, что в OOXML
есть возможность проприетарных расширений и вставки бинарных данных
(implementation-specific). И MS конечно же активно их использует. Именно
поэтому документы сделанные в MS не могут быть гарантированно открыты
где бы то ни было ещё, ибо это закрытые implementation-specific
proprietary блобы. Есть несколько стандартов для OOXML: Transitional и
Strict версии, как минимум. И Strict MS Office не использует по
умолчанию вовсе.
Более того, в РФ OOXML не является стандартом, тогда как для Open
Document Format (ODF) есть ГОСТ. То есть, .odt это по ГОСТ и очень
странно видеть от людей госучреждение желание видеть .docx (компьютеры с
1995-го не обновлялись, где нет PDF просмотрщика из коробки даже?). Но
MS Office ODF не умеет писать, не знаю насколько точно умеет их для
просмотра открывать. Но если для записи MS Office всё равно с ГОСТовым
.odt нельзя использовать, то, опять же, почему не PDF использовать?
То есть, .docx это только про ровно одно семейство программ (OOXML
де-юре может и имеет ISO стандарт, но де-факто он не используется
никем), которое проприетарное и закрытое. Более того, написанное
вражескими странами и это ни при каких обстоятельствах нельзя поэтому
подключать к Интернету. Заставлять гражданина РФ использовать .docx, а
значит и Word, а значит и Windows -- призывать к использованию
шпионского закрытого проприетарного ПО вражеского государства, которое
уже долго и упорно делает многое, чтобы нас физически истреблять. Не
хорошо, недопустимо.
Нарушение ГОСТ, нарушение политики госбезопасности, противостояние
свободному ПО и свободным/открытым форматам, частая невозможность видеть
документ одинаково на разных компьютерах. Ну и плюс это просто класс ПО
для создания служебных записок. Что-то серьёзнее в нём делать? Я видел
как Word тормозит на компьютерах с i7/64GB RAM на документах всего в
пару сотен страниц. Я у себя на компьютере отключал даже "git status"
вызываемый при отображении строки приглашения командной оболочки, ибо
пара сотен миллисекунд это ОЧЕНЬ заметно и ДИКО раздражает. А Word на
секунды может задумываться при промотке страниц. Это просто, опять же,
намекает на то, что он не предназначен для документов даже такого
размера, только для небольших служебных заметок или объявлений по
домохозяйству.
И вот какого мне было реагировать на просьбу сделать .docx? Texinfo
может выдать Docbook. Начался поиск инструментов которые бы Docbook
могли бы в OOXML перевести. Тут уж пофиг как это будет выглядеть, лишь
бы как-нибудь. С полдюжины программ перепробовал, но или теряют массу
*важного* форматирования, или кириллицу не могут, или картинки не
вставляют (из внешних PNG файлов). В общем, только Pandoc смог ничего не
потерять. Но с ним конечно большая засада: он на Haskell, который штатно
не предоставляет никакой документации как его bootstrap-нуть. Видел в
GNU Guix что они умеют делать для него bootstrap, но это наверное неделю
у меня заняло бы повторить на основе их файлов сборки. Так что на
отдельном физическом компьютере, в виртуальной машине я установил Devuan
и бинарь pandoc поставил.
Но меня больше смущало другое: я (уже) почти всю жизнь Unix-оид.
Программист, который хоть сколько-то современным инструментарием умеет
пользоваться (без VCS жить не могу). Я окончил технический институт,
поэтому, как минимум, знаю (La)TeX. Да, Texinfo в LaTeX тоже не
тривиальная задача перевести, насколько помню -- проще руками .tex
сделать с нуля, копируя текст, но это хотя бы отличную PDF может
сделать. А меня просят опуститься до уровня печатной машинки. Верю что
разочаровались во мне как в программисте, ибо мой КПД в этом году ниже
плинтуса, но TeX же я мог вспомнить то.
Учётные записи только по ЕСИА, ЕБС или "российской" электронной почты
https://habr.com/ru/news/750116/
Как понять кто считается российской электронной почтой? Чётко заданный
список? Или обязательно в домене .ru (.su, .рф)? А будет ли учитываться
хостинг где находится, иначе какой смысл какой домен? Текста законопроекта
не знаю как достать: на сайте Госдумы только Word документы вижу.
https://www.imperialviolet.org/2023/07/23/u2f-to-passkeys.html
Отличная статья рассказывающая про всё это нормальным языком, не
marketing bullshit-ом, а про конкретику что конкретно и как примерно
делается. А в целом просто ужасаюсь passkeys: это же буквально просто
помещаемые в облака приватные ключи. С одной стороны сколько людей
трындят о том, что отдельные аппаратные токены это хорошо, ведь, мол,
отдельное устройство, ключ не покидает его, а тут вот такое делают. Не,
ясно что для разных задач всё это, но от web-а я не перестаю офигевать.
https://flak.tedunangst.com/post/dodging-the-go-loop-trap
Прекрасно знаю ведь про переменные в циклах, всё ясно и понятно, но на
днях потратил несколько часов на поиск ошибки которая была именно такой
как описано в статье. Не уследил по неаккуратности.
https://marc.info/?l=openbsd-tech&m=169021508718971&w=2
https://lock.cmpxchg8b.com/zenbleed.html
Очередная атака на процессоры, о которой я вообще узнал из письма от Тео
в OpenBSD. При использовании AVX, данные из регистра могут утечь другой
программе. glibc, как пишет Тео, AVX использует даже для простых
(частых) операций работы со строками (копирование, нахождение длины). А
достать данные тривиально при этом.
С момента обновления FreeBSD, появилась проблема: go1.4 не собирается
под ней:
[...]
cmd/6c
/tmp/go/src/cmd/6c/../cc/pswt.c:36:2: error: use of undeclared identifier 'C1'
/tmp/go/src/cmd/6c/../cc/pgen.c:35:14: error: unknown type name 'Type'
[...]
Решить проблему не смог с ходу. Первый раз когда это возникло:
пересобрал под виртуальной машиной С FreeBSD 12.
Сегодня снова посмотрел на эту проблему. В общем пока выходит так:
* разворачиваю chroot FreeBSD 12:
zstd -d < FreeBSD-12.4-RELEASE-amd64-dvd1.iso.zst > fbsd12.iso
mdconfig -a fbsd12.iso
mount -t cd9660 /dev/md0 /cdrom
mkdir /tmp/fbsd12-chroot
tar xfC /cdrom/usr/freebsd-dist/base.txz /tmp/fbsd12-chroot
* сую туда Go, делаю debash (утилита из
http://www.gostls13.cypherpunks.ru/, которая убирает зависимость от
мерзкого bash, которого нет из коробки в нормальных ОС), пытаюсь собрать:
tar xfC go1.4.3.src.tar.gz /tmp/fbsd12-chroot/root
cd /tmp/fbsd12-chroot/root/go
debash
chroot /tmp/fbsd12-chroot /bin/sh
cd go/src
export CGO_ENABLED=0
./make.bash
получаю:
[...]
cmd/go
runtime: address space conflict: map(0xc208000000) = 0xc2081bf000
fatal error: runtime: address space conflict
* выключаю ASLR, который по умолчанию в FreeBSD теперь включён:
sysctl kern.elf64.aslr.enable=0
теперь сборка не падает, а просто на cmd/go зависает, не делая ничего
на CPU. Но, ведь всякие "6c" программы же уже собраны, которые падали
на FreeBSD 13
* уже вне chroot, под FreeBSD 13, продолжаю сборку без очистки:
./make.bash --no-clean
* после этого можно собрать уже Go 1.17, но, с ним тоже будут проблемы с
ASLR. Зато после него, 1.20 уже собирается без проблем
Так как второй сервер у меня стоит открытый без крышки
(fb54d5d2412830bcd3bf867828b85fd2d3c46a0d), так как стандартных размеров
блок питания в него не влезет, то обдув жёстких дисков никакой. Только
сейчас задумался что надо бы это поправить хоть как-то. Нашёл какой-то
здоровый вентилятор, питающийся от 4-pin маленького разъёма на
материнской плате. Оказалось, что на материнке есть свободный. Подвесил
на верёвочках от тортов "От Палыча". Почти на 14 градусов температура
спала. Почему раньше об этом не подумал?
В Texinfo @image ищет файлы по расширению в зависимости от выходного
формата. Для Info он вставляет .txt, что здорово, так как PlantUML и его
и растр может генерировать.
https://en.wikipedia.org/wiki/LTE_(telecommunication)
https://habr.com/ru/companies/yota/articles/119319/
https://habr.com/ru/articles/129101/
https://en.wikipedia.org/wiki/Telebit#PEP_and_the_TrailBlazer
В комментарии
http://blog.stargrave.org/russian/9efbcf62bc71043d22408ff66087b62dd5bac00f#comment1
я сказал что нравятся 3G и 4G из-за CDMA. Почему-то я был уверен что и
4G тоже является развитием этой технологии. Хотя ведь сотню раз читал по
нему бегло статьи и нигде этого не упоминалось. А слона то и не заметил!
LTE использует OFDM в своей основе.
Когда-то я удивлялся заявлениям о модемах Telebit TrailBlazer
(857a760118e644a1399fffa053c26d60eca490a6), о том, что они даже на
отвратительных междугородних линиях могли показывать >18Kbps скорости
при стабильной связи, тогда как другие модемы на 9600 то еле
соединяются. Как так то? А всё из-за OFDM. Правда из-за этого же они
были и жутко дорогими, ибо внутри них стоял m68k и ещё отдельный TI DSP
процессор. Но, пишут, что для UUCP соединений, они были популярны, так
как экономия на стоимости связи между городами быстро компенсировала
стоимость модемов. Более того, их использование для UUCP было так
распространено, что модем научился делать hijack "g"-протокола UUCP и
делать вид что противоположная сторона отвечает ACK-ом на приём, ведь
TrailBlazer был (почти) полудуплексным и "разворот" стороны
приёма-передачи был долгой по времени операцией.
Пару месяцев назад сдох блок питания (fb54d5d2412830bcd3bf867828b85fd2d3c46a0d).
Сегодня проснулся и вижу что сервер снова выключен. Отключил от сети,
снова подключил -- завёлся. Но при этом что-то в нём ярко полыхнуло. На
самом деле я умолчал, что при включении два месяца назад, я тоже услышал
что что-то сгорело, даже палёным запахло. Сейчас я в отражении корпуса
ещё одного компьютера увидел яркое сгорание чего-то. Я с фонариком
проглядел что там могло вспыхнуть так ярко. По идее только SAS
контроллер, но на нём всё идеально, ничего подгоревшего. В общем, сервер
работает, контроллер этот тоже, все диски тоже, так и не понял что же
уже пару раз сгорело.
https://habr.com/ru/companies/first/articles/748856/
Многие не знают, но тюбиками уже давным давно не питаются космонавты.
Зато на ВДНХ можно их купить без проблем -- просто как развлечение такое.
https://www.diera.ru/blog/nsdi-dns/
https://habr.com/ru/articles/562722/
https://habr.com/ru/articles/545366/
https://labs.ripe.net/media/documents/Утвержденная_инструкция_по_НСДИ_1.pdf
https://habr.com/ru/articles/667162/
Вот чёрт его знает как начать использовать НСДИ. Искал официальные сайты
с информацией про неё -- нема. Во время поиска и просмотра статей с
Хабра, нашёл статью с ссылкой на labs.ripe.net (ага, на совершенно
зарубежном сервере), где есть отсканированная распечатка информации о
подключении.
На сайте КонсультантПлюс пытался получить один документ. Написали:
Этот документ в некоммерческой версии КонсультантПлюс доступен по расписанию:
* по рабочим дням с 20-00 до 24-00 (время московское)
* в выходные и праздничные дни в любое время
Ещё не встречал чтобы сайт работал по расписанию. Хотя понимаю, что всё
сделано для неудобства и вынуждения приобретать коммерческую версию их
программы.
А вообще все эти расписания и перерывы на обед у меня только с СССР
ассоциируются. Хотя я по сути то в нём ещё только в детском саду жил, но
в 1990-е всё равно видел что магазины на обед закрываются, и допоздна не
работают. Сейчас представить такое сложно. За последние 15 лет я
сталкивался разве что с санитарными днями в музеях.
https://lists.freebsd.org/archives/freebsd-announce/2023-July/000076.html
Из-за автомобильной аварии в Норвегии, погиб Hans Petter William Sirevåg Selasky,
разработчик FreeBSD. Эту фамилию я много раз видел в документации.
virtual_oss например недавно настраивал -- написан им. USB стэк, CUSE,
webcam, mce (Mellanox >=200GbE NIC), TLS ядерный.
https://man.freebsd.org/cgi/man.cgi?query=ifmcstat
Не знал про эту утилиту, которая показывает, по аналогии с ifconfig,
информацию о multicast группах на каждом интерфейсе.
https://tavianator.com/2023/bfs_3.0.html
Автор bfs заморочился с нитями и асинхронной обработкой результатов
поиска в bfs, делая его, судя по статье, ещё более быстрым. Я bfs
использую постоянно при интерактивной работе (команды "f", "cf" и в
качестве ввода для fzf), но только для выдачи полного списка файлов.
Если нужно что-то отфильтровывать или в скриптах, то родные возможности zsh.
https://www.austingroupbugs.net/view.php?id=789
https://unix.stackexchange.com/questions/654885/who-is-responsible-for-providing-set-o-pipefail/654932
В будущую версию POSIX shell включат pipefail опцию. Думаю что это
единственная опция которой точно явно однозначно недоставало там.
Узнал про это во время обновления исходного кода fzf, который я вынужден
был патчить, ибо он имел hardcoded bash (уроды!), который принципиально
не держу, не признаю. А сейчас заменили на перебор shell-ов которые
должны поддерживать pipefail опцию (молодцы!).
И сейчас она поддерживается во всех shell-ах по сути: Free/Net/OpenBSD,
busybox, mksh, yash, bash, zsh. А появилась она в ksh93g. ksh вообще
дико много чего наизобретал в мире shell-ом.
Гром гремит, дождь стеной... strlcat в glibc появился
https://zine.dev/2023/07/strlcpy-and-strlcat-added-to-glibc/
https://sourceware.org/legacy-ml/libc-alpha/2000-08/msg00053.html
Давно я не видел такой лютой погоды как сейчас: каждые пять секунд
гремит гром, прорываясь сквозь музыку наушников (открытых потому что),
а плотность дождя такая, что на расстоянии 50м ничего не видно. Появился
Интернет (24f68b770490f51f643a75767d7f10ed8b52abd3), обновил RSS, понял
почему так всё ненаствует: в glibc, спустя 20+ лет, завезли strlcat и
strlcpy из BSD систем.
Утром мигнул свет. У меня то ИБП, а вот текущему провайдеру я сегодня
первый раз позвонил, чтобы узнать в курсе ли он что Интернет так и не
появляется. С электричеством проблемы у Мособлэнерго.
Запасного провайдера у меня нет. Точнее в доме то есть ещё Ростелеком,
но принципиально не хочу с ними больше связываться
(a320b40270176d2cd9d3825bba9a16078b0482ae). Да и так редко происходят
сбои, и не так критичны они, что жалко денег.
Сотового Интернета у меня тоже нет. 10+ лет назад я как-то пользовался
USB-модемом от Мегафона под Debian-ом. Но наслышан что со всеми ними
сейчас дикие проблемы в плане совместимости. Поэтому чую, что может быть
тот ещё геморрой найти рабочие мобильные решения. Хотя вроде бы бывают
домашние точки доступа, куда можно SIM вставить и он по Ethernet сможет
(конечно же, бл@дь, не без NAT-а наверняка) что-то раздать. Но, если бы
мне сегодня критично было бы иметь доступ в Интернет (чисто
пользовательский), то проще доехать до родительской квартиры.
http://ratfactor.com/forth/the_programming_language_that_writes_itself.html
https://www.youtube.com/watch?v=_DTpQ4Kk2wA
Читается залпом на одном дыхании! Безумно интересная, с отсутствием
скуки, как-будто завораживающий научно-фантастический рассказ читаешь.
В ней ещё есть ссылка на YouTube ролик с демонстрацией работы языка APL,
для которого я видел что сейчас DIY клавиатуры делают. Тоже интересно
понаблюдать за столь необычным относительно современных general purpose
языков.
Кроме Tcl я именно Forth ещё хотел было потрогать. Но пока руки ещё не
дошли.
Git SHA256 репозитории в разных платформах хостинга
https://stackoverflow.com/questions/65870508/git-and-sha-256
https://gitlab.com/groups/gitlab-org/-/epics/794
https://github.com/libgit2/libgit2/discussions/5840
https://github.com/go-gitea/gitea/issues/13794
https://medium.com/@v3ai/how-to-use-sha-2-git-repositories-6c2a6ed5d580
Обсуждение задачи в Gitlab я не вижу (показывается только с JS-ом), но
где-то видел "TL;DR" о том что нифига не поддерживается. У меня уже не
один репозиторий в sha256 формате (7a48b1fda8f0429e5d0e1c61d961891b83d97ffb)
есть, но на рабочий Gitlab (блин, как будто в какой-то хипстерской конторе
работаю!) push сделать не могу. От GitHub, как и IPv6, видимо этого вообще
не стоит ожидать. В итоге только из-за этого, даже при возможности
использовать хоть как-то вменяемые криптографические хэши в Git-е, их не
будут из-за этих платформ.
https://www.comedypetphoto.com/gallery/finalists/2023_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2022_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2021_finalists.php
https://www.comedypetphoto.com/gallery/finalists/2020_finalists.php
Куча забавных фотографий домашних животных.
https://blog.aurel32.net/goodbye-kfreebsd.html
https://www.opennet.ru/opennews/art.shtml?num=59441
https://lists.debian.org/debian-devel/2023/07/msg00176.html
В Debian окончательно забили на разработку дистрибутива GNU с ядром от
FreeBSD. Как пишет автор, она была куда более продвинутой: jail-ы, ZFS,
stateful IPv6 firewall (не знал что и тут Linux отставал), superpages.
https://habr.com/ru/companies/first/articles/747272/
Статья о небезопасности Эль-Гамаля. Так... а OpenPGP то тут причём?
Потому что это один из давно не используемых и почти не встречаемых
на практике алгоритмов в нём?
https://www.youtube.com/watch?v=CR2oruCacRE
https://www.youtube.com/watch?v=Oos1WfpquYw
https://www.metal-archives.com/bands/Cryptopsy/17
https://en.wikipedia.org/wiki/Cryptopsy
С Cryptopsy группой знаком давно, ибо вечно её пихают как пример
техничного death metal. Но мне не нравились они, особенно вокалист.
Сегодня решил вспомнить что это такое. И мне зашли почти все альбомы!
Блин, как же вкусы меняются. Но я прям жуткое удовольствие начал
получать от их гитарных проигрышей. Всегда уважал барабанщика, но один
он не компенсирует нелюбовь к остальным. Сейчас вся неприязнь куда-то
ушла. Офигенные мужики, которые не боятся экспериментировать стилями.
А вообще перед этим я прослушал кучу альбомов Cannibal Corpse и Morbid
Angel один. А вот они ну совсем мне не захотят никак. Не, несколько
хитов у Cannibal Corpse есть конечно, но не более для меня.
https://isbgpsafeyet.com/
https://habr.com/ru/articles/535100/
https://www.opennet.ru/opennews/art.shtml?num=52680
https://blog.cloudflare.com/rpki/
https://blog.cloudflare.com/rpki-details/
https://www.msk-ix.ru/en/news/479/
https://www.comnews.ru/sites/default/files2019/vision-files/mapmagistr2020-2.pdf
https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%BE%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B0#Магистральные_операторы_связи_в_России
RPKI по сути просто подписывает и так уже имеющуюся административную
(юридическую) информацию о том, какая автономная система какими сетями
"владеет", к кому какая часть адресного пространства присвоена. Должно
помогать отсеивать анонсы по BGP которые явно не могут быть легитимными.
Статья на Хабре говорит о том, что эти типа полностью рушит всю природу
децентрализованного Интернета, ибо теперь это дерево, управляемое на
Западе, препятствующее пирингу. Я подумал, что может быть я чего то не
понимаю, хотя уж я то первый кто не согласится чтобы точка доверия была
у Запада. Но нет, в комментариях точно сказали что автор вообще ничерта
ничего не понял и всякий пиринг, сетевая связанность и выдача адресного
пространства вообще как-бы не связаны. Что с RPKI, что без него, RIR-ы
были и остаются.
Кстати, напоролся на старые новости об отключении Ростелекома от Lumen
и Cogent. Это даже забавно было смотреть на заголовки в выдаче
поисковика, которые изначально шли от "cogent отключил ростелеком", а
далее доходившие до "cogent отключил россию от интернета", "cogent
отключил .ru", "россия отключена от интернета cogent-ом". Ох уж эти
журналисты, лютая дичь.
Человек ушёл с Debian из-за того, что он уже не 100% free
https://blog.josefsson.org/2023/07/11/coping-with-non-free-debian/
Человек, который с первых релизов Slackware использовал GNU/Linux,
уверовал в свободное ПО с переходом на Debian. Но в последних релизах он
стал явно включать в себя несвободные программы, хотя прежде было чёткое
разграничение между non-free репозиторием и всем остальным. Автор статьи
из-за этого ушёл с него.
https://klarasystems.com/articles/freebsd-3-advantages-to-running-freebsd-as-your-server-operating-system/
Чисто случайно из статьи узнал про systat -zarc недавно появившуюся
команду. Где-то в release notes, видимо, упустил. Прежде для просмотра
информации по ARC-у надо было дополнительную утилиту использовать.
Total MFU MRU Anon Hdr L2Hdr Other
ZFS ARC 10717M 9430M 681M 400K 60361K 0 545M
git сжимает zlib-ом как blob-ы, так и pack-и. Если отключить сжатие, то
на ZFS dataset с zstd сжатием по умолчанию всё это будет занимать меньше
места (и в теории быстрее производить чтения). Возможно зависит от
репозитория, ведь сжатие в ZFS применяется только на блок, но на паре
больших git репозиториях у меня есть небольшой выигрыш.
https://wiki.gentoo.org/wiki/ZFS#Caveats
https://github.com/openzfs/zfs/issues/6793
https://github.com/openzfs/zfs/issues/11688
https://github.com/openzfs/zfs/issues/12014
https://github.com/openzfs/zfs/issues/12732
https://github.com/openzfs/zfs/issues/13445
https://github.com/openzfs/zfs/issues/13709
https://github.com/openzfs/zfs/issues/14166
https://github.com/openzfs/zfs/issues/14245
На Gentoo не рекомендуют родное шифрование в ZFS, ибо, мол глюкавое вовсю.
Насколько помню, разработчик этого шифрования для ZFS делал всё для Solaris.
В багах только Linux системы упоминаются, ни одной BSD.
https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/
https://en.wikipedia.org/wiki/SUSE
Меня больше поразило то, что SUSE ещё существует. Очень давно я про неё
не слышал и думал что она канула в небытие уже давно, нигде не используясь.
Между прочим, ведь вообще первая компания в мире кто занялся коммерческим
GNU/Linux, когда сам Linux был по сути полубесполезной поделкой ещё.
Сталкивался и работал с SLED и SLES на первой работе, где мы были вроде
бы каким-то там партнёром SUSE. Вообще чего-то негативного не могу
вспомнить из этого опыта. Дистрибутив был точно куда более качественным,
стабильным и безпроблемным чем любой RHEL, как мне запомнилось. И
единственным кто без проблем из коробки умел к ActiveDirectory домену
Windows подключаться. Вроде бы большей части сотрудникам Windows
поменяли на SLED.
В коде OpenBGPD, при невозможности выполнить prefix_cmp(), вылетает ошибка:
fatalx("Uh, oh a politician in the decision process");
Её ловлю когда поднял по WireGuard на каждом Ethernet-е и при этом их
автоматически сконфигурированные link-local адреса совпали. По идее в
этом ничего страшного, всё штатно, но scope функа OpenBGPD не учитывает.
https://frrouting.org/
http://www.openbgpd.org/
https://reviews.freebsd.org/D26449?id=77807
Видя что BIRD не умеет ECMP на FreeBSD
(3eeb6b3ec3b4abdd3a25f78402f02f3cf821305e) решил посмотреть какие
альтернативы на этот счёт есть. Насколько понял, решений то вообще
толком мало.
OpenOSPFD, насколько понял, интегрирован в OpenBSD и как отдельный
проект не существует уже. В любом случае, судя по Wikipedia, он только
OSPFv2 умел, а мне только OSPFv3 нужен. В OpenBSD есть ospf6d, но
portable его версии нету. Порт net/openospfd в FreeBSD is expired, ибо
requires old CARP implementation.
Может попробовать BGP? Установил OpenBGPD. Сразу полез в исходники
смотреть что там с поддержкой multipath-а. Вроде бы поддерживается для
FreeBSD. Пошёл настраивать. Жутко понравилось в нём всё! Минимализм,
синтаксис и формат конфига, качество документации (всего один man
вменяемых размеров (не man zsh)), формат и как происходит взаимодействие
с bgpctl утилитой. Прям эстетическое удовольствие получал. Но, хоть в
коде всякий multipath и имеется (возможно он про что-то другое), но в
FIB ядра несколько маршрутов не устанавливаются всё равно, облом.
FRRouting, судя по BSDRP и отчёту в коммите в дерево FreeBSD, с ECMP
работает. Смог в нём настроить OSPFv3, но только на одном интерфейсе. На
второй уже терпения не хватило и поэтому проверить ECMP не вышло. Точно
также как OpenBGPD мне понравился во всём, FRRouting мне жутко не
понравился во всём. Размер, понятность документации, интерфейс
взаимодействия, да и вообще понимание как его в простейшем случае надо
заводить то. Неприятно прям всё всё всё в нём. Хотя, похоже, он более
чем всякие BIRD и другие демоны умеет делать. Но люто бесит его
"!"-строчки в конфиге, особенно после bgpd.conf, где прям переменные
можно заводить с ходу удобочитаемые. Хочется сказать что FRR сделан в
лучших традициях enterprise: громоздко, монструозно, сложно. Хотя многие
бы сказали (да я впрочем соглашусь), что это же GNU, чему тут
удивляться? GNU Zebra -> Quagga -> FRR. Короче я даже до конца до ECMP
не дошёл и снёс к чёрту.
https://sourceforge.net/p/bsdrp/mailman/message/37225679/
https://www.mail-archive.com/bird-users@network.cz/msg05882.html
https://bsdrp.net/documentation/examples/ecmp
Нашёлся серьёзный недостаток BIRD2 на FreeBSD: пока поддержки ECMP в нём
нету. Сделал ECMP руками -- работает вроде бы как надо. В примере BSDRP
для ECMP поэтому используется FRR.
https://datatracker.ietf.org/doc/html/rfc1990
https://mpd.sourceforge.net/doc5/mpd46.html
Увидел тут, что PPP умеет multilink режим, при котором он агрегирует
пропускную способность. При этом MTU на входе (PDU входящих пакетов) и
на link-ах могут отличаться -- пакет будет фрагментирован для отправки
по раздельным соединениями. Сразу же идея: поднять MLPPP на двух разных
Ethernet адаптерах чтобы получить увеличенный bandwidth даже для
единственного TCP соединения! Но фиг: документация в MPD5 для UDP явно
говорит что из-за переупорядочивания ни multilink, ни шифрование, ни
компрессия работать не будут.
Решил постараться переезжать на Perl в качестве интерактивного
интерпретатора вместо Python. Один калькулятор
(d65882c3c5decb9e2216d7a8de98c1d422c2c42d) всё равно мне не заменял
время от времени запускаемый python, где и что-то в/из hex надо перевести,
UTF-8 (де)кодировать, части строчек как-то потасовать, и т.д., и т.д..
А почему я это делаю в столь мне ненавистном Python? Непорядок. Уж что
что, но для строчек Perl идеально должен подходить.
Для удобного интерактивного REPL-а многие предлагают запускать с -de1
(debug и выполнение программы "1"). В нём есть "x" команда для показа
всяких сложных структур. Но надо делать "p" чтобы вывести значение
переменной. А хочется, как в Python, чтобы последнее значение выводилось.
Нашёл рецепт с "say eval"-ом. Обернул в rlwrap, автоматически импортирую
Encode и Data::Dumper с добавлением алиаса "x":
https://www.schneier.com/blog/archives/2023/07/belgian-tax-hack.html
На границе Бельгии и Голландии устроили музыкальный концерт. Сцена была
в Голландии, а толпа в Бельгии. Аудиенция в другой стране, всё чисто.
https://www.youtube.com/watch?v=O3-aI98RpDw
https://en.wikipedia.org/wiki/Carmageddon
https://www.mobygames.com/game/1371/carmageddon-2-carpocalypse-now/
В первый Carmageddon я так и не играл, но зато тащился от второго.
Сравнить с первым не могу, но говорят что в целом не много изменений
негативных, разве что лицо водителя исчезло. Как сказали в ролике: надо
просто начать играть, чтобы понять отчего так люто эта игра всем нравилась.
Полностью согласен: засасывает! Вот подобные "гонки" я люблю. Хотя к
гонкам это посредственное отношение имеет.
https://fantlab.ru/work908
Очень понравился этот рассказ Азимова, где (якобы) нумеролог предложил
одному физику в написании его фамилии изменить "з" на "с", что привело
аж к предотвращению ядерной войны.
В f8e2e4dfc6870c4dad7e62be9bb02ae9dd73d180 говорил о том, что firewall
совершенно некорректно настраивал прежде, что создавало нагрузку на CPU
и приводило при скачивании (но не раздаче) торрентов иногда даже к
невозможности ssh сделать до серверов в локальной сети. В общем и целом
всё стало на порядок лучше, но... не совсем полностью. Всё равно иногда
бывают затыки.
Но с переездом на WireGuard туннели вместо IPsec, я IPv4 трафик
отправлял минуя их, в открытом виде в локальной сети. Чуйка подсказала
что надо бы, как это и всегда прежде было, завернуть вместе со всем
остальным в общий туннель. Но для этого я уже никаких OSPF не применял и
просто статические адреса навесил. И вот это -- уже полностью всё
привело в норму. Как-будто где-то как-то какие-то приоритеты во всей это
обработке пакетов в ядре и то, что приходит не через туннели -- может
ущемлять остальной трафик (весь IPv6). Но сейчас (точнее до
окончательного решения то я недели назад ещё пришёл, просто не
отписывался об этом в блоге) эпопее с плохо работающей сетью уже точно
пришёл конец.
Работы так много, что уже больше месяца на работу не езжу -- работаю
удалённо. Закупаюсь едой в Глобусе (от моего дома до него бесплатная
маршрутка), ну и не вылажу никуда особо. А сегодня психанул в середине
дня и решил прогуляться, аж невтерпёж. Два года назад у нас Коммитетский
лес, как и тьма других улиц во всём городе -- очень здорово благоустроили
(149af571aa89dbc5517a10dc117883ed0583b4ee). Там у меня уже проторённая
дорожка.
Наметил себе две цели (одна из них мелочь например -- кварплата банке),
которые в разных концах города, да ещё и далеко от дома. 3.5ч я был на
ногах, с редкими остановками на переходах у дорог. А хожу я не медленно.
Думаю что десятки километров отходил, в один из самых жарких дней то.
Плюс ещё не мало впечатлений незабываемых от многочисленных девушек в
спортивной обтягивающей одежде, зачастую с голыми ногами, бегающих и
разъезжающих на велосипедах -- ведь большая часть пути пролегает вдалеке
от дорог, среди природы, по чисто пешеходным зонам.
Мой КПД просто жутко понизился за последние месяцы, а сроки сдачи уже
пройдены. Я помню своё состояние когда выгорел во время COVID. Так вот
сейчас что-то похожее. Но возможно просто потому что давно по настоящему
не отдыхал, ну чтобы хотя бы дней десять вообще не подходить к компьютеру,
не думать о работе или чём-то подобном. Дилемма: или уходить в отпуск, а
после него возможно с полноценной производительностью навёрстывать
просраное, либо всё же пытаться дотянуть до хоть какого-то вменяемого
состояния проекта и только после этого задуматься об отдыхе.
Я уже давно понял, что не понимаю когда надо форсированно уходить в
отпуск. В ivi, благо, это отлично начал понимать директор и он меня
насильно выгонял. К концу работы там, я уже начал понимать, что когда я
в режиме "так посрусь с людьми, что только увольняй", когда взрываюсь от
недоделок других людей -- то надо идти в отпуск.
Но сейчас на работе я уже давно по больше части один занимаюсь
проектами. Ну точнее какие-то части полностью на мне, и только время от
времени надо пересекаться с коллегами для их состыковки. Поэтому
лакмусовая бумажка о том как бы с кем посраться поэтому не работает.
И что очень обидно от моего состояния: проект сверх интересен для меня,
о подобных задачах прежде бы только мог мечтать, да и писать можно на
чём хочешь (я то на Go), и он для реально полезного дела -- а КПД как
непойми у кого. Это при том, что я прям с точностью до каждой строчки
знаю что надо в коде написать, надиктовывать бы мог, а сосредоточиться
могу на очень непродолжительное время.
После обновления FreeBSD, заметил что rlwrap эхо повторяет. Для
калькулятора (d65882c3c5decb9e2216d7a8de98c1d422c2c42d) ещё терпел, а
вот для некоторых других команд уже совершенно неудобно. Оказалось, что
это проблемы между самим rlwrap и readline-8.2. В последней версии
rlwrap это исправлено:
0.46.1 when compiled with readline-8.2, correctly handle echo'ed user
input when accepting a line. This will disable
bracketed-paste when compiled with readline-8.1 or earlier.
https://github.com/openzfs/zfs/pull/13392
https://news.ycombinator.com/item?id=36588240
В OpenZFS вмержили возможность создания на прикладном уровне (через
syscall-ы) клонов блоков. Никакого мнения у меня на этот счёт нет.
Но зато в этом pull request отмечают что поддержки Linux нема, ибо
нет для этого людей. А в комментариях на HackerNews говорят о сложности
всего в Linux и поэтому такой проблематичной интеграции и разработке под
него. (Видимо) сотрудник Netflix говорит что ZFS у них везде, кроме
серверов раздачи контента (это то тоже ясно).
https://lists.suckless.org/dev/2307/35298.html
https://lists.suckless.org/dev/2307/35299.html
Я последний раз запускал хоть какой-то редактор уже не помню сколько лет
назад. Чтобы что-то вырезать, я использовал или возможности display
команды из ImageMagick или pngcut. И не знаю что вообще есть кроме
Inkscape (и то не растровый), GIMP и XPaint (просто название помню). И
вот для простых задач не ставить же GIMP? А тут целый большой список
подогнали в рассылке:
https://mtpaint.en.softonic.com/
http://azsky2.html.xdomain.jp/soft/azpainter.html
http://pulkomandy.tk/projects/GrafX2
https://sourceforge.net/projects/lodepaint/
https://tuxpaint.org/
https://mtpaint.sourceforge.net/rgbpaint.html
https://sourceforge.net/projects/sf-xpaint/
Упомянули layout scripting engine: https://glx.sourceforge.io/
Кстати рисовать то я рисовал не раз, не считая PlantUML и Graphviz, но в
LaTeX используя PGF/TikZ библиотеку: https://tikz.dev/